From 184057a20e10a0e83c82d33bae0b770d9a586803 Mon Sep 17 00:00:00 2001 From: mmou Date: Sun, 16 Apr 2017 01:04:39 -0400 Subject: [PATCH 001/221] add lumen models, connect, controller, tests --- .../versions/9c8b30569bdf_add_lumen_tables.py | 112 + app/controller.py | 15 +- app/controllers/lumen_controller.py | 132 + app/models.py | 36 +- lumen_connect/__init__.py | 0 lumen_connect/connection.py | 38 + requirements.txt | 1 + tests/fixture_data/lumen_notices.json | 5316 +++++++++++++++++ tests/test_controllers.py | 85 +- tests/test_lumen.py | 72 + utils/common.py | 9 +- 11 files changed, 5806 insertions(+), 10 deletions(-) create mode 100644 alembic/versions/9c8b30569bdf_add_lumen_tables.py create mode 100644 app/controllers/lumen_controller.py create mode 100644 lumen_connect/__init__.py create mode 100644 lumen_connect/connection.py create mode 100644 tests/fixture_data/lumen_notices.json create mode 100644 tests/test_lumen.py diff --git a/alembic/versions/9c8b30569bdf_add_lumen_tables.py b/alembic/versions/9c8b30569bdf_add_lumen_tables.py new file mode 100644 index 0000000..515396e --- /dev/null +++ b/alembic/versions/9c8b30569bdf_add_lumen_tables.py @@ -0,0 +1,112 @@ +"""add lumen tables + +Revision ID: 9c8b30569bdf +Revises: 16dbded8a5cf +Create Date: 2017-04-16 00:00:36.296975 + +""" + +# revision identifiers, used by Alembic. +revision = '9c8b30569bdf' +down_revision = '16dbded8a5cf' +branch_labels = None +depends_on = None + +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import mysql + +def upgrade(engine_name): + globals()["upgrade_%s" % engine_name]() + + +def downgrade(engine_name): + globals()["downgrade_%s" % engine_name]() + + + + + +def upgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('lumen_notice_to_twitter_user', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('notice_id', sa.Integer(), nullable=True), + sa.Column('twitter_username', sa.String(length=64), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_table('lumen_notices', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('date_received', sa.DateTime(), nullable=True), + sa.Column('sender', sa.String(length=64), nullable=True), + sa.Column('principal', sa.String(length=64), nullable=True), + sa.Column('recipient', sa.String(length=64), nullable=True), + sa.Column('num_infringing_urls', sa.Integer(), nullable=True), + sa.Column('notice_data', mysql.MEDIUMTEXT(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + # ### end Alembic commands ### + + +def downgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_table('lumen_notices') + op.drop_table('lumen_notice_to_twitter_user') + # ### end Alembic commands ### + + +def upgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('lumen_notice_to_twitter_user', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('notice_id', sa.Integer(), nullable=True), + sa.Column('twitter_username', sa.String(length=64), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_table('lumen_notices', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('date_received', sa.DateTime(), nullable=True), + sa.Column('sender', sa.String(length=64), nullable=True), + sa.Column('principal', sa.String(length=64), nullable=True), + sa.Column('recipient', sa.String(length=64), nullable=True), + sa.Column('num_infringing_urls', sa.Integer(), nullable=True), + sa.Column('notice_data', mysql.MEDIUMTEXT(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + # ### end Alembic commands ### + + +def downgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_table('lumen_notices') + op.drop_table('lumen_notice_to_twitter_user') + # ### end Alembic commands ### + + +def upgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('lumen_notice_to_twitter_user', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('notice_id', sa.Integer(), nullable=True), + sa.Column('twitter_username', sa.String(length=64), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_table('lumen_notices', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('date_received', sa.DateTime(), nullable=True), + sa.Column('sender', sa.String(length=64), nullable=True), + sa.Column('principal', sa.String(length=64), nullable=True), + sa.Column('recipient', sa.String(length=64), nullable=True), + sa.Column('num_infringing_urls', sa.Integer(), nullable=True), + sa.Column('notice_data', mysql.MEDIUMTEXT(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + # ### end Alembic commands ### + + +def downgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_table('lumen_notices') + op.drop_table('lumen_notice_to_twitter_user') + # ### end Alembic commands ### + diff --git a/app/controller.py b/app/controller.py index acc1fd5..1c51599 100644 --- a/app/controller.py +++ b/app/controller.py @@ -1,15 +1,19 @@ import inspect, os, sys, yaml import simplejson as json import reddit.connection +import lumen_connect.connection +import twitter_connect.connection import app.controllers.front_page_controller import app.controllers.subreddit_controller import app.controllers.comment_controller import app.controllers.moderator_controller import app.controllers.sticky_comment_experiment_controller +import app.controllers.lumen_controller +import app.controllers.twitter_controller from utils.common import PageType, DbEngine import app.cs_logger from app.models import Base, SubredditPage, Subreddit, Post, ModAction, Experiment - +import datetime ### LOAD ENVIRONMENT VARIABLES BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), "..") @@ -22,6 +26,8 @@ log = app.cs_logger.get_logger(ENV, BASE_DIR) conn = reddit.connection.Connect() +lumen_conn = lumen_connect.connection.LumenConnect(log) +twitter_conn = twitter_connect.connection.TwitterConnect(log) def fetch_reddit_front(page_type=PageType.TOP): r = conn.connect(controller="FetchRedditFront") @@ -121,3 +127,10 @@ def archive_experiment_submission_metadata(experiment_name): ) sce.archive_experiment_submission_metadata() + +def archive_lumen_notices(): + l = app.controllers.lumen_controller.LumenController(db_session, lumen_conn, twitter_conn, log) + + topics = ["Copyright"] # "Government Requests", #["Defamation","Protest, Parody and Criticism Sites","Law Enforcement Requests","International","Government Requests","DMCA Subpoenas","Court Orders"] + date = datetime.datetime.utcnow() - datetime.timedelta(days=1) # now-1day + l.archive_lumen_notices(topics, date) \ No newline at end of file diff --git a/app/controllers/lumen_controller.py b/app/controllers/lumen_controller.py new file mode 100644 index 0000000..8e9b298 --- /dev/null +++ b/app/controllers/lumen_controller.py @@ -0,0 +1,132 @@ +import simplejson as json +import datetime +from app.models import Base, LumenNotice, LumenNoticeToTwitterUser +import utils.common +import requests +import app.controllers.twitter_controller +import sqlalchemy + +class LumenController(): + def __init__(self, db_session, l, t, log): + self.db_session = db_session + self.l = l + self.t = t + self.log = log + + # archives lumen notices since date til now(+1day) + # if parse_for_users True, calls self.parse_notices_archive_users + def archive_lumen_notices(self, topics, date, parse_for_users=True): + print("arhicivng") + nowish = datetime.datetime.utcnow() + datetime.timedelta(days=1) + for topic in topics: + next_page = 1 + while next_page is not None: + + payload = { + "topics": [topic], + "per_page": 50, + "page": next_page, + "sort_by": "date_received desc", + "recipient_name": "Twitter", + "date_received_facet": { + "from": utils.common.time_since_epoch_ms(date), + "to": utils.common.time_since_epoch_ms(nowish) + } + } + + data = self.l.get_search(payload) + notices_json = data["notices"] + next_page = data["meta"]["next_page"] + + added_notices = [] + for notice in notices_json: + queried_notice = self.db_session.query(LumenNotice).filter(LumenNotice.id == notice["id"]).first() + if not queried_notice: + sender = (notice["sender_name"].encode("utf-8", "replace") if notice["sender_name"] else "") + principal = (notice["principal_name"].encode("utf-8", "replace") if notice["principal_name"] else "") + recipient = (notice["recipient_name"].encode("utf-8", "replace") if notice["recipient_name"] else "") + num_infringing_urls = len(notice["works"][0]["infringing_urls"]) if len(notice["works"]) > 0 else 0 + notice_record = LumenNotice( + id = notice["id"], + date_received = datetime.datetime.strptime(notice["date_received"], '%Y-%m-%dT%H:%M:%S.000Z'), # expect string like "2017-04-15T22:28:26.000Z" + sender = sender, + principal = principal, + recipient = recipient, + num_infringing_urls = num_infringing_urls, + notice_data = json.dumps(notice).encode("utf-8", "replace") + ) + self.db_session.add(notice_record) + #added_notices.append(notice) + added_notices.append(notice) ##DELETE + try: + self.db_session.commit() + self.log.info("Saved {0} lumen notices.".format(len(added_notices))) + except: + self.log.error("Error while saving DB Session") + + if parse_for_users: # this boolean is for unit testing purposes + self.parse_notices_archive_users(added_notices) + + # expecting ~50 notices + # if archive_users true, also calls TwitterController (boolean exists for testing purposes) + def parse_notices_archive_users(self, notices, archive_users=True): + for notice in notices: + users = set([]) + for work in notice["works"]: + # infringing_urls is known to contain urls + for url_obj in work["infringing_urls"]: + url = url_obj["url"] + username = helper_parse_url_for_username(url) + if username: + users.add(username) + if notice["body"]: # I've only seen this null + self.log.error("method helper_parse_notices_archive_users: maybe missed something in notice['body']; notice id = {0}".format(notice["id"])) + if len(work["copyrighted_urls"]) > 0: # I've only seen this empty + self.log.error("method helper_parse_notices_archive_users: maybe missed something in notice['works']['copyrighted_urls']; notice id = {0}".format(notice["id"])) + if work["description"]: # I've only seen this null + self.log.error("method helper_parse_notices_archive_users: maybe missed something in notice['works']['description']; notice id = {0}".format(notice["id"])) + + for username in users: + notice_user_record = LumenNoticeToTwitterUser( + notice_id = notice["id"], + twitter_username = username) + self.db_session.add(notice_user_record) + try: + self.db_session.commit() + self.log.info("Saved {0} users.".format(len(users))) + except: + self.log.error("Error while saving DB Session") + + # calls the twitter controller + if archive_users: + self.t.archive_users(users_to_notices.keys()) + + +# assume url is of the form 'https://twitter.com/sooos243/status/852942353321140224' +# OR check if a t.co url extends to a twitter.com url +# interesting later study: see how many t.co links resolve to twitter links? +def helper_parse_url_for_username(url): + twitter_domain = "twitter.com" + tco_domain = "t.co" + username = None + url_split = url.split("/") + + if len(url_split) >= 3 and url_split[2] == tco_domain: + # try to get request and unshorten the url + try: + r = requests.get(url) + if r: + url = r.url + url_split = url.split("/") + else: + raise Exception + except: + return None + + if url == "https://twitter.com/account/suspended": + # TODO: then we have no information. what should we do about them? should we count these? + return None + + if len(url_split) >= 3 and url_split[2] == twitter_domain: + username = url_split[3] + return username \ No newline at end of file diff --git a/app/models.py b/app/models.py index b140540..aa1634c 100644 --- a/app/models.py +++ b/app/models.py @@ -173,6 +173,36 @@ class ExperimentAction(Base): metadata_json = Column(MEDIUMTEXT) - - - +class LumenNotice(Base): + __tablename__ = 'lumen_notices' + id = Column(Integer, primary_key = True) + date_received = Column(DateTime, default=datetime.datetime.utcnow) + sender = Column(String(64)) + principal = Column(String(64)) + recipient = Column(String(64)) + num_infringing_urls = Column(Integer) + notice_data = Column(MEDIUMTEXT) + + + +# TODO: don't do foreign keys?? +class LumenNoticeToTwitterUser(Base): + __tablename__ = 'lumen_notice_to_twitter_user' + id = Column(Integer, primary_key = True) + notice_id = Column(Integer) + twitter_username = Column(String(64)) + +""" +class TwitterUser(Base): + username + profile characteristics... + status - suspended, deleted + total number of Tweets + + +class TwitterStatus(Base): + id + date + user + tweet_data +""" \ No newline at end of file diff --git a/lumen_connect/__init__.py b/lumen_connect/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lumen_connect/connection.py b/lumen_connect/connection.py new file mode 100644 index 0000000..458a562 --- /dev/null +++ b/lumen_connect/connection.py @@ -0,0 +1,38 @@ +import requests +import simplejson as json +import os, inspect +#import pickle +#from app.models import Base +#from sqlalchemy import create_engine +#from sqlalchemy.orm import sessionmaker +#import sqlalchemy +#from utils.common import DbEngine + +ENV = os.environ['CS_ENV'] + +class LumenConnect(): + def __init__(self, log): + BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), "..") + lumen_config_path = os.path.join(BASE_DIR, "config") + "/lumen_auth_" + ENV + ".json" + + with open(lumen_config_path, 'r') as config: + LUMENCONFIG = json.loads(config.read()) + + self.headers = { + "Content-type": "application/json", + "Accept": "application/json", + "X-Authentication-Token": LUMENCONFIG["X-Authentication-Token"] + } + self.log = log + + def get(self, url, payload): + r = requests.get(url, + params=payload, + headers=self.headers) + if r.status_code == 200: + return json.loads(r.text) + else: + self.log.info("Error querying usernames with notes. Status code {0}".format(r.status_code)) + + def get_search(self, payload): + return self.get("https://Lumendatabase.org/notices/search", payload) \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index e6b897a..e424ff7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -14,3 +14,4 @@ airbrake pyyaml pytz numpy +python-twitter diff --git a/tests/fixture_data/lumen_notices.json b/tests/fixture_data/lumen_notices.json new file mode 100644 index 0000000..2a14111 --- /dev/null +++ b/tests/fixture_data/lumen_notices.json @@ -0,0 +1,5316 @@ +{ + + "notices": [ + { + "score": null, + "id": 14197431, + "tags": [ ], + "date_received": "2017-04-14T21:58:58.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/masrarabiasport/status/852988222137389058", + "url_original": null + }, + { + "url": "https://t.co/kGA6kEjVSr", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Kijamii for Internet Service", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197398, + "tags": [ ], + "date_received": "2017-04-14T19:53:04.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/afrosnugglz/status/725073537535479808", + "url_original": null + }, + { + "url": "https://t.co/RclrCP43tF", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Freelance", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197394, + "tags": [ ], + "date_received": "2017-04-14T19:52:19.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/escotsindubai/status/852877864512966656", + "url_original": null + }, + { + "url": "https://t.co/PLVakt0orP", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Lady Celebrity", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197397, + "tags": [ ], + "date_received": "2017-04-14T19:50:33.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/thetruevoicetv/status/852970600641384448", + "url_original": null + }, + { + "url": "https://twitter.com/dyoathletic/status/825817401832923137", + "url_original": null + }, + { + "url": "https://twitter.com/athleticfanspag/status/826038557026430976", + "url_original": null + }, + { + "url": "https://t.co/Spw7fmvYLc", + "url_original": null + }, + { + "url": "https://t.co/MPbS4ehu2N", + "url_original": null + }, + { + "url": "https://t.co/d790du2o7R", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Liga Nacional de Fútbol Profesional", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197346, + "tags": [ ], + "date_received": "2017-04-14T19:20:23.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/marceloroger435/status/852962549712773120", + "url_original": null + }, + { + "url": "https://twitter.com/arranobaltzaa/status/849386261567680512", + "url_original": null + }, + { + "url": "https://t.co/wpWJOm6y7x", + "url_original": null + }, + { + "url": "https://t.co/vGFavPfYW8", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Liga Nacional de Fútbol Profesional", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197408, + "tags": [ ], + "date_received": "2017-04-14T19:19:46.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/tailsdoll553/status/845623793057906690", + "url_original": null + }, + { + "url": "https://t.co/LzUYQNEOWc", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": " - ", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197406, + "tags": [ ], + "date_received": "2017-04-14T19:19:35.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/tailsdoll553/status/845945455729029120", + "url_original": null + }, + { + "url": "https://t.co/5edNziCjCH", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": " - ", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197272, + "tags": [ ], + "date_received": "2017-04-14T19:17:55.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/yasser7ob787/status/852961176258576387", + "url_original": null + }, + { + "url": "https://twitter.com/world_saudi2013/status/852957624026976256", + "url_original": null + }, + { + "url": "https://twitter.com/u54547/status/852960895189889024", + "url_original": null + }, + { + "url": "https://twitter.com/snd_ds/status/852961922161025025", + "url_original": null + }, + { + "url": "https://twitter.com/skdjhasjgdagshf/status/852956711535210499", + "url_original": null + }, + { + "url": "https://twitter.com/nayf1438/status/852962666503184384", + "url_original": null + }, + { + "url": "https://twitter.com/mzi71/status/852952965572952064", + "url_original": null + }, + { + "url": "https://twitter.com/dawrisaudi4k/status/852946469795618816", + "url_original": null + }, + { + "url": "https://twitter.com/calpsoslewpcp1h/status/852959043274637312", + "url_original": null + }, + { + "url": "https://twitter.com/alnah65484hy/status/852962783733977089", + "url_original": null + }, + { + "url": "https://twitter.com/aln5954hy/status/852962199022817280", + "url_original": null + }, + { + "url": "https://twitter.com/akhbarr24/status/852956792158113794", + "url_original": null + }, + { + "url": "https://t.co/vX4cB2cvf3", + "url_original": null + }, + { + "url": "https://t.co/UyXGvOY6zN", + "url_original": null + }, + { + "url": "https://t.co/P2bqfvSays", + "url_original": null + }, + { + "url": "https://t.co/nnFd2Ta5Jm", + "url_original": null + }, + { + "url": "https://t.co/lKqJAID0DE", + "url_original": null + }, + { + "url": "https://t.co/lFawVum8fU", + "url_original": null + }, + { + "url": "https://t.co/HtLXzLMs8d", + "url_original": null + }, + { + "url": "https://t.co/E00IRKzlXl", + "url_original": null + }, + { + "url": "https://t.co/DU5ibJujV1", + "url_original": null + }, + { + "url": "https://t.co/bMEndvb0tG", + "url_original": null + }, + { + "url": "https://t.co/aWSSZjUjga", + "url_original": null + }, + { + "url": "https://t.co/adkF9jbYcT", + "url_original": null + }, + { + "url": "https://t.co/9K36aSIWsJ", + "url_original": null + }, + { + "url": "https://t.co/4RTg08zxs1", + "url_original": null + }, + { + "url": "https://t.co/4jVxPwvt1l", + "url_original": null + }, + { + "url": "https://t.co/3bRGXiBIad", + "url_original": null + }, + { + "url": "https://t.co/ZauN6bCvui", + "url_original": null + }, + { + "url": "https://t.co/nqGu6WNIk3", + "url_original": null + }, + { + "url": "https://t.co/GQnkktwgpt", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Dawri Plus", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197389, + "tags": [ ], + "date_received": "2017-04-14T19:16:45.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "http://twitter.com/zaynoo55/status/698227988672937984", + "url_original": null + }, + { + "url": "http://twitter.com/wasifwah/status/702175324050690050", + "url_original": null + }, + { + "url": "http://twitter.com/wa5imm/status/702548651151912960", + "url_original": null + }, + { + "url": "http://twitter.com/vishalprash/status/704496060513660928", + "url_original": null + }, + { + "url": "http://twitter.com/thotas9999/status/849652757640355840", + "url_original": null + }, + { + "url": "http://twitter.com/thilangura/status/697081932304224256", + "url_original": null + }, + { + "url": "http://twitter.com/sureshrcs/status/703481506921054208", + "url_original": null + }, + { + "url": "http://twitter.com/sunil_k1/status/711141430727741440", + "url_original": null + }, + { + "url": "https://t.co/vFLag2DSPl", + "url_original": null + }, + { + "url": "https://t.co/uuGyZzvdAC.", + "url_original": null + }, + { + "url": "https://t.co/sSo70tyPfL", + "url_original": null + }, + { + "url": "https://t.co/qNCYyflMbN", + "url_original": null + }, + { + "url": "https://t.co/pM4R5hyo7x", + "url_original": null + }, + { + "url": "https://t.co/HfYtT0Qhm3", + "url_original": null + }, + { + "url": "https://t.co/czIaSu6pC8", + "url_original": null + }, + { + "url": "https://t.co/b2mRstHqty", + "url_original": null + }, + { + "url": "https://t.co/1Ftx5vUSfs", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Copyright Integrity International", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197371, + "tags": [ ], + "date_received": "2017-04-14T19:10:24.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/_goropa_/status/848253391914631168", + "url_original": null + }, + { + "url": "https://t.co/SCfefmTF1O", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Liga Nacional de Fútbol Profesional", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197288, + "tags": [ ], + "date_received": "2017-04-14T19:08:22.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/so6an_999/status/852957664493654018", + "url_original": null + }, + { + "url": "https://twitter.com/samiafox2/status/852957384020566017", + "url_original": null + }, + { + "url": "https://twitter.com/news_glo/status/852957156349546497", + "url_original": null + }, + { + "url": "https://twitter.com/mhamdalshrary/status/852955497561034752", + "url_original": null + }, + { + "url": "https://twitter.com/janaalshammry/status/852957848355053572", + "url_original": null + }, + { + "url": "https://twitter.com/bein720/status/852960552359997440", + "url_original": null + }, + { + "url": "https://t.co/ZJ7Ov2oqUg", + "url_original": null + }, + { + "url": "https://t.co/xn4xCD02oQ", + "url_original": null + }, + { + "url": "https://t.co/vNHxo9fgNG", + "url_original": null + }, + { + "url": "https://t.co/uc43oQ3q1K", + "url_original": null + }, + { + "url": "https://t.co/iNdKsStaBH", + "url_original": null + }, + { + "url": "https://t.co/igWHeUPJRO", + "url_original": null + }, + { + "url": "https://t.co/b4NBRg78vS", + "url_original": null + }, + { + "url": "https://twitter.com/world_saudi2013/status/852957624026976256", + "url_original": null + }, + { + "url": "https://t.co/ZauN6bCvui", + "url_original": null + }, + { + "url": "https://t.co/4RTg08zxs1", + "url_original": null + }, + { + "url": "https://t.co/1vIlhj68jX", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Dawri PLus", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197042, + "tags": [ ], + "date_received": "2017-04-14T19:07:44.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "http://twitter.com/snaqvi97/status/702192510219763712", + "url_original": null + }, + { + "url": "http://twitter.com/shukrytwitts/status/849631335971000320", + "url_original": null + }, + { + "url": "http://twitter.com/sachin_6600/status/703580540889337856", + "url_original": null + }, + { + "url": "http://twitter.com/rokkingrahman/status/852564755122466816", + "url_original": null + }, + { + "url": "http://twitter.com/rizwan_gillani/status/849617136754601984", + "url_original": null + }, + { + "url": "http://twitter.com/red_log_in/status/849992940587859968", + "url_original": null + }, + { + "url": "http://twitter.com/ranukad/status/833245598438526976", + "url_original": null + }, + { + "url": "http://twitter.com/nitindhanuka/status/702525706983469057", + "url_original": null + }, + { + "url": "http://twitter.com/mrplanner1/status/703299999275290624", + "url_original": null + }, + { + "url": "http://twitter.com/maria_h_k/status/697781471277408257", + "url_original": null + }, + { + "url": "http://twitter.com/kh_masood/status/702192728789164032", + "url_original": null + }, + { + "url": "http://twitter.com/kazztr_/status/850003359687901184", + "url_original": null + }, + { + "url": "http://twitter.com/kazztr_/status/849277634148270081", + "url_original": null + }, + { + "url": "http://twitter.com/imranali27/status/697755127189499904", + "url_original": null + }, + { + "url": "http://twitter.com/ghalibirfann/status/837730569010151424", + "url_original": null + }, + { + "url": "http://twitter.com/ghalibirfann/status/837698517829320704", + "url_original": null + }, + { + "url": "http://twitter.com/engr_naveed111/status/702192176554442752", + "url_original": null + }, + { + "url": "http://twitter.com/ari_franchi/status/852171617035800576", + "url_original": null + }, + { + "url": "http://twitter.com/alluswagg/status/850715240052477952", + "url_original": null + }, + { + "url": "http://twitter.com/abirbcse/status/849976337435578369", + "url_original": null + }, + { + "url": "https://t.co/zrPnQ61RmB", + "url_original": null + }, + { + "url": "https://t.co/ZOLR2kP8Zp", + "url_original": null + }, + { + "url": "https://t.co/yVtUkg9W9K", + "url_original": null + }, + { + "url": "https://t.co/Y7izWRt5TG", + "url_original": null + }, + { + "url": "https://t.co/vlLO3rFSyV", + "url_original": null + }, + { + "url": "https://t.co/V5QVKJMcnA", + "url_original": null + }, + { + "url": "https://t.co/u37GEyOvKb", + "url_original": null + }, + { + "url": "https://t.co/rdcWlb4cmZ", + "url_original": null + }, + { + "url": "https://t.co/P4eVWRHJDG", + "url_original": null + }, + { + "url": "https://t.co/o1SI0aj4y9", + "url_original": null + }, + { + "url": "https://t.co/M5x7kq76zn", + "url_original": null + }, + { + "url": "https://t.co/KVxmVrLD8X", + "url_original": null + }, + { + "url": "https://t.co/HyCqVPgWy1", + "url_original": null + }, + { + "url": "https://t.co/hVAV4BtVo3", + "url_original": null + }, + { + "url": "https://t.co/h3MdVa5YtS", + "url_original": null + }, + { + "url": "https://t.co/gqIcTcg2Yh", + "url_original": null + }, + { + "url": "https://t.co/G9OmxLaahT", + "url_original": null + }, + { + "url": "https://t.co/fPSUS0sdxy", + "url_original": null + }, + { + "url": "https://t.co/bvNx9wn27m", + "url_original": null + }, + { + "url": "https://t.co/8uAXceJvco", + "url_original": null + }, + { + "url": "https://t.co/11Ao0RTxfs", + "url_original": null + }, + { + "url": "https://t.co/xY7eGJX5Kn", + "url_original": null + }, + { + "url": "https://t.co/db4XwDZcYH", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Copyright Integrity International", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197405, + "tags": [ ], + "date_received": "2017-04-14T19:06:49.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/tailsdoll553/status/850195372647436289", + "url_original": null + }, + { + "url": "https://t.co/ezSc10QJGL", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": " - ", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197404, + "tags": [ ], + "date_received": "2017-04-14T19:06:29.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/tailsdoll553/status/851336503212949504", + "url_original": null + }, + { + "url": "https://t.co/bouPCStk9F", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": " - ", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197402, + "tags": [ ], + "date_received": "2017-04-14T19:06:22.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/tailsdoll553/status/852896025773658112", + "url_original": null + }, + { + "url": "https://t.co/phyeVlUlBZ", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": " - ", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197401, + "tags": [ ], + "date_received": "2017-04-14T19:06:18.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/tailsdoll553/status/852900106638512129", + "url_original": null + }, + { + "url": "https://t.co/h2WBzt6Ruk", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": " - ", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197395, + "tags": [ ], + "date_received": "2017-04-14T19:06:16.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/tailsdoll553/status/852901778479751170", + "url_original": null + }, + { + "url": "https://t.co/ESFZc9ktJr", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": " - ", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197205, + "tags": [ ], + "date_received": "2017-04-14T19:00:22.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/pericosafe/status/852268915505991680", + "url_original": null + }, + { + "url": "https://twitter.com/pericosafe/status/848255148434575360", + "url_original": null + }, + { + "url": "https://twitter.com/pericosafe/status/837417093935087616", + "url_original": null + }, + { + "url": "https://twitter.com/mdesantiago1/status/848254510032146433", + "url_original": null + }, + { + "url": "https://twitter.com/judahdavies/status/848928639920087046", + "url_original": null + }, + { + "url": "https://twitter.com/javimerino_93/status/848254104858234885", + "url_original": null + }, + { + "url": "https://twitter.com/hawkapuestas/status/848257619479453698", + "url_original": null + }, + { + "url": "https://twitter.com/elvidibu/status/848259115252162561", + "url_original": null + }, + { + "url": "https://twitter.com/breakingiines/status/840985732676120576", + "url_original": null + }, + { + "url": "https://t.co/z1MFzoKgTj", + "url_original": null + }, + { + "url": "https://t.co/uxIMPdjMRX", + "url_original": null + }, + { + "url": "https://t.co/OroBwRpmYO", + "url_original": null + }, + { + "url": "https://t.co/kGXUx8lQ2h", + "url_original": null + }, + { + "url": "https://t.co/hMinOVBuP6", + "url_original": null + }, + { + "url": "https://t.co/bBetRbcFgx", + "url_original": null + }, + { + "url": "https://t.co/9Q8uN6b5j4", + "url_original": null + }, + { + "url": "https://t.co/38oIxHupPb", + "url_original": null + }, + { + "url": "https://t.co/0C3vPq3CoZ", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Liga Nacional de Fútbol Profesional", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197049, + "tags": [ ], + "date_received": "2017-04-14T18:57:08.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/tailsdoll553/status/852906700294115328", + "url_original": null + }, + { + "url": "https://t.co/hR7M3aGH19", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": " - ", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197110, + "tags": [ ], + "date_received": "2017-04-14T18:54:00.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/v1buees7vktqybm/status/852956171891871746", + "url_original": null + }, + { + "url": "https://twitter.com/trf_00/status/852953572149006338", + "url_original": null + }, + { + "url": "https://twitter.com/tmukqvxardfu5yq/status/852956187003957248", + "url_original": null + }, + { + "url": "https://twitter.com/moollaooeeew/status/852956133652389888", + "url_original": null + }, + { + "url": "https://twitter.com/gizhhfqn3ahk4hd/status/852956370542440448", + "url_original": null + }, + { + "url": "https://twitter.com/fofo_5033/status/852954196982849538", + "url_original": null + }, + { + "url": "https://twitter.com/elhilallive/status/852956165533249536", + "url_original": null + }, + { + "url": "https://twitter.com/elhilallive/status/852950965565218816", + "url_original": null + }, + { + "url": "https://twitter.com/elhilallive/status/852948476036087808", + "url_original": null + }, + { + "url": "https://twitter.com/elhilallive/status/852946259396702208", + "url_original": null + }, + { + "url": "https://twitter.com/elhilallive/status/852943183998791680", + "url_original": null + }, + { + "url": "https://twitter.com/elhilallive/status/852940791433625600", + "url_original": null + }, + { + "url": "https://twitter.com/elhilallive/status/852936757574336512", + "url_original": null + }, + { + "url": "https://twitter.com/beinfull/status/852951241873395712", + "url_original": null + }, + { + "url": "https://twitter.com/bein720/status/852951277025845249", + "url_original": null + }, + { + "url": "https://twitter.com/bein720/status/852947802187608066", + "url_original": null + }, + { + "url": "https://t.co/zcRmmHDJYG", + "url_original": null + }, + { + "url": "https://t.co/XzazKotvHr", + "url_original": null + }, + { + "url": "https://t.co/SbdLaLmHEH", + "url_original": null + }, + { + "url": "https://t.co/QuW6eU52dY", + "url_original": null + }, + { + "url": "https://t.co/QUaV9duRQp", + "url_original": null + }, + { + "url": "https://t.co/MfzjMpiPXf", + "url_original": null + }, + { + "url": "https://t.co/KgY4zvHyxO", + "url_original": null + }, + { + "url": "https://t.co/IyCVY2isvA", + "url_original": null + }, + { + "url": "https://t.co/IQ2dqPHdjY", + "url_original": null + }, + { + "url": "https://t.co/9Ucewfrc36", + "url_original": null + }, + { + "url": "https://t.co/5MlunCQofA", + "url_original": null + }, + { + "url": "https://t.co/3MjUasu54K", + "url_original": null + }, + { + "url": "https://t.co/1Gc1T4xk7b", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Dawri Plus", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197412, + "tags": [ ], + "date_received": "2017-04-14T18:48:36.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/uzomediaonline/status/847706330383040512", + "url_original": null + }, + { + "url": "https://twitter.com/uzomedianews/status/847706353569157120", + "url_original": null + }, + { + "url": "https://twitter.com/temydee/status/847796427807969280", + "url_original": null + }, + { + "url": "https://twitter.com/temydee/status/847792373866409984", + "url_original": null + }, + { + "url": "https://twitter.com/muzomamichael/status/847706343255425029", + "url_original": null + }, + { + "url": "https://twitter.com/gorodova1985/status/848039765043576832", + "url_original": null + }, + { + "url": "https://twitter.com/choockor/status/850564012664381440", + "url_original": null + }, + { + "url": "https://t.co/ZPyw3LiDsi", + "url_original": null + }, + { + "url": "https://t.co/zlKb2mGeUD", + "url_original": null + }, + { + "url": "https://t.co/Yju0rHZZii", + "url_original": null + }, + { + "url": "https://t.co/UNDT59Tvu0", + "url_original": null + }, + { + "url": "https://t.co/syN6F6DFNJ", + "url_original": null + }, + { + "url": "https://t.co/K6VgI1cNFi", + "url_original": null + }, + { + "url": "https://t.co/iUPvIQpuPv", + "url_original": null + }, + { + "url": "https://t.co/IHWkQqa4sD", + "url_original": null + }, + { + "url": "https://t.co/iDa1PRhVAA", + "url_original": null + }, + { + "url": "https://t.co/D0MNsN1dUa", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": " - ", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197051, + "tags": [ ], + "date_received": "2017-04-14T18:45:58.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/amateursinhose/status/845775533606625280", + "url_original": null + }, + { + "url": "https://t.co/fW0Y1R7jF8", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Aucune", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196987, + "tags": [ ], + "date_received": "2017-04-14T18:36:02.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/yahala_news/status/852951820259528704", + "url_original": null + }, + { + "url": "https://twitter.com/world_saudi2013/status/852951780883353600", + "url_original": null + }, + { + "url": "https://twitter.com/maoaal1223/status/852952619475771392", + "url_original": null + }, + { + "url": "https://twitter.com/lna5hye/status/852951405707108352", + "url_original": null + }, + { + "url": "https://twitter.com/lna5hye/status/852951233442828288", + "url_original": null + }, + { + "url": "https://twitter.com/jojo5265/status/852951227252002816", + "url_original": null + }, + { + "url": "https://twitter.com/iunfm1/status/852951060297785344", + "url_original": null + }, + { + "url": "https://twitter.com/alna654564thy/status/852952015986733060", + "url_original": null + }, + { + "url": "https://twitter.com/aln547848454/status/852952587355795456", + "url_original": null + }, + { + "url": "https://twitter.com/a65489451thy/status/852952863928180736", + "url_original": null + }, + { + "url": "https://t.co/ZauN6bCvui", + "url_original": null + }, + { + "url": "https://t.co/RCFp8TMpAg", + "url_original": null + }, + { + "url": "https://t.co/Oqjr7678Mt", + "url_original": null + }, + { + "url": "https://t.co/ODs24Pr0WP", + "url_original": null + }, + { + "url": "https://t.co/NRaq8d2IB9", + "url_original": null + }, + { + "url": "https://t.co/IE3A7Z5WGb", + "url_original": null + }, + { + "url": "https://t.co/HYSn5Ujdfh", + "url_original": null + }, + { + "url": "https://t.co/GHfQZCcZHH", + "url_original": null + }, + { + "url": "https://t.co/ECm79GbpTl", + "url_original": null + }, + { + "url": "https://t.co/B4TQsEzoMN", + "url_original": null + }, + { + "url": "https://t.co/AxQNSdX7FY", + "url_original": null + }, + { + "url": "https://t.co/5ke4fB1YsS", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Dawri Plus", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196922, + "tags": [ ], + "date_received": "2017-04-14T18:27:28.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/skattt4/status/852949137507135493", + "url_original": null + }, + { + "url": "https://twitter.com/skattt4/status/852949079948742658", + "url_original": null + }, + { + "url": "https://twitter.com/skattt4/status/852948606730600449", + "url_original": null + }, + { + "url": "https://twitter.com/skattt4/status/852948293458034690", + "url_original": null + }, + { + "url": "https://twitter.com/skattt4/status/852948072946700288", + "url_original": null + }, + { + "url": "https://twitter.com/skattt4/status/852940722550566912", + "url_original": null + }, + { + "url": "https://twitter.com/skattt4/status/852937818489966592", + "url_original": null + }, + { + "url": "https://twitter.com/skattt4/status/852585427135598592", + "url_original": null + }, + { + "url": "https://twitter.com/mhamdalshrary/status/852947042108309505", + "url_original": null + }, + { + "url": "https://twitter.com/mhamdalshrary/status/852941534320353283", + "url_original": null + }, + { + "url": "https://twitter.com/mhamdalshrary/status/852937126249463808", + "url_original": null + }, + { + "url": "https://twitter.com/koraliv18715232/status/852948856711114752", + "url_original": null + }, + { + "url": "https://twitter.com/khaledalmoosa/status/852945650052366337", + "url_original": null + }, + { + "url": "https://twitter.com/footballf121/status/852943385019260928", + "url_original": null + }, + { + "url": "https://twitter.com/a654894y/status/852950461791469569", + "url_original": null + }, + { + "url": "https://t.co/zJgI6HoS4G", + "url_original": null + }, + { + "url": "https://t.co/Y82IFUMHUl", + "url_original": null + }, + { + "url": "https://t.co/XLK4j4e9qC", + "url_original": null + }, + { + "url": "https://t.co/wN4MZWqmSn", + "url_original": null + }, + { + "url": "https://t.co/TscOe4vpnT", + "url_original": null + }, + { + "url": "https://t.co/SH8MLz7yD7", + "url_original": null + }, + { + "url": "https://t.co/sFme7Co95h", + "url_original": null + }, + { + "url": "https://t.co/RxPEKtk9By", + "url_original": null + }, + { + "url": "https://t.co/r4SLkcTppi", + "url_original": null + }, + { + "url": "https://t.co/qlZOgyDaPc", + "url_original": null + }, + { + "url": "https://t.co/Qh4JAoOiSr", + "url_original": null + }, + { + "url": "https://t.co/MwYwjXe1qd", + "url_original": null + }, + { + "url": "https://t.co/iq2ptM8vuf", + "url_original": null + }, + { + "url": "https://t.co/ikVDDYRP8u", + "url_original": null + }, + { + "url": "https://t.co/AX7D2XV08B", + "url_original": null + }, + { + "url": "https://t.co/8gmF1G2tn2", + "url_original": null + }, + { + "url": "https://t.co/1vIlhj68jX", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Dawri Plus", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196891, + "tags": [ ], + "date_received": "2017-04-14T18:02:44.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/yalla_test/status/852941649504333825", + "url_original": null + }, + { + "url": "https://twitter.com/yalalalooooo/status/852939085551460352", + "url_original": null + }, + { + "url": "https://twitter.com/uof5to5zvhrxjtw/status/852942229589164032", + "url_original": null + }, + { + "url": "https://twitter.com/ubspa9wgqy5kqdd/status/852942464554020864", + "url_original": null + }, + { + "url": "https://twitter.com/tabiii3live433/status/852932528117862400", + "url_original": null + }, + { + "url": "https://twitter.com/sooos243/status/852942353321140224", + "url_original": null + }, + { + "url": "https://twitter.com/snd_ds/status/852941906044751872", + "url_original": null + }, + { + "url": "https://twitter.com/pa8bj5xkqoyvbnr/status/852943338454102016", + "url_original": null + }, + { + "url": "https://twitter.com/live720h/status/852942396270751746", + "url_original": null + }, + { + "url": "https://twitter.com/knjzw0iurxa3qky/status/852942439933411330", + "url_original": null + }, + { + "url": "https://twitter.com/kinghafimawesi/status/852940748551065600", + "url_original": null + }, + { + "url": "https://twitter.com/gmgq58j4hcb5hvb/status/852943322721259520", + "url_original": null + }, + { + "url": "https://twitter.com/fvpdn5nuufurout/status/852941899006709760", + "url_original": null + }, + { + "url": "https://twitter.com/footballf114/status/852942462213664768", + "url_original": null + }, + { + "url": "https://twitter.com/alshamsiksa/status/852941906422235136", + "url_original": null + }, + { + "url": "https://twitter.com/alna889489hy/status/852942174782189568", + "url_original": null + }, + { + "url": "https://twitter.com/actionha_live/status/852942294315659264", + "url_original": null + }, + { + "url": "https://twitter.com/887fyf054/status/852944493410230272", + "url_original": null + }, + { + "url": "https://twitter.com/5845hy/status/852943625201876994", + "url_original": null + }, + { + "url": "https://twitter.com/5454564hy/status/852944507209486337", + "url_original": null + }, + { + "url": "https://t.co/ZU1eisgVR1", + "url_original": null + }, + { + "url": "https://t.co/YW7EyBwTjk", + "url_original": null + }, + { + "url": "https://t.co/yoW1ru99IY", + "url_original": null + }, + { + "url": "https://t.co/Yb56MtCYPi", + "url_original": null + }, + { + "url": "https://t.co/XuuCpxZIxU", + "url_original": null + }, + { + "url": "https://t.co/x6J8ZWL0Gh", + "url_original": null + }, + { + "url": "https://t.co/VVKoJUpuds", + "url_original": null + }, + { + "url": "https://t.co/vd6IbNvLgC", + "url_original": null + }, + { + "url": "https://t.co/uMEXfRypt0", + "url_original": null + }, + { + "url": "https://t.co/tDbttrXJd7", + "url_original": null + }, + { + "url": "https://t.co/sqNW8ycU6t", + "url_original": null + }, + { + "url": "https://t.co/S0IqlxmAYR", + "url_original": null + }, + { + "url": "https://t.co/LZXIpoEPLa", + "url_original": null + }, + { + "url": "https://t.co/Kk3YMxIfAE", + "url_original": null + }, + { + "url": "https://t.co/JKPcTviS7w", + "url_original": null + }, + { + "url": "https://t.co/JB4y6CbgNl", + "url_original": null + }, + { + "url": "https://t.co/iE95Y9KGOL", + "url_original": null + }, + { + "url": "https://t.co/i5dkBildiD", + "url_original": null + }, + { + "url": "https://t.co/gMo3I4jXyM", + "url_original": null + }, + { + "url": "https://t.co/foeThUW6Bi", + "url_original": null + }, + { + "url": "https://t.co/FLlNdI768J", + "url_original": null + }, + { + "url": "https://t.co/F1mlDHnDRU", + "url_original": null + }, + { + "url": "https://t.co/DVz8dsznks", + "url_original": null + }, + { + "url": "https://t.co/dveSW5vxOv", + "url_original": null + }, + { + "url": "https://t.co/DqFkc6AJa5", + "url_original": null + }, + { + "url": "https://t.co/dMlZB5VWPr", + "url_original": null + }, + { + "url": "https://t.co/bWUDFwwD8l", + "url_original": null + }, + { + "url": "https://t.co/9Knl5Yiw7s", + "url_original": null + }, + { + "url": "https://t.co/4wV7wIvcbw", + "url_original": null + }, + { + "url": "https://t.co/1ZwquJMOvv", + "url_original": null + }, + { + "url": "https://t.co/XuTLIZ42s9", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Dawri Pkus", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196860, + "tags": [ ], + "date_received": "2017-04-14T18:00:01.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/thatsalafi/status/852941963649310720", + "url_original": null + }, + { + "url": "https://twitter.com/thatsalafi/status/852940200636542976", + "url_original": null + }, + { + "url": "https://twitter.com/kora2day/status/852943791816355842", + "url_original": null + }, + { + "url": "https://twitter.com/kora2day/status/852942322614640640", + "url_original": null + }, + { + "url": "https://twitter.com/itihad_vs/status/852937157866082307", + "url_original": null + }, + { + "url": "https://twitter.com/itihad_vs/status/852928625162809344", + "url_original": null + }, + { + "url": "https://twitter.com/aioood_303_rr/status/852943165124476932", + "url_original": null + }, + { + "url": "https://t.co/Zn21MjOjY2", + "url_original": null + }, + { + "url": "https://t.co/ylXiESplf2", + "url_original": null + }, + { + "url": "https://t.co/pBpmlQNPiI", + "url_original": null + }, + { + "url": "https://t.co/N0kqyuZw0y", + "url_original": null + }, + { + "url": "https://t.co/lSfiDUpU19", + "url_original": null + }, + { + "url": "https://t.co/ksxneyBUp6", + "url_original": null + }, + { + "url": "https://t.co/iu8QutOPfv", + "url_original": null + }, + { + "url": "https://t.co/FJYPX90dHA", + "url_original": null + }, + { + "url": "https://t.co/aBNNLnA2aQ", + "url_original": null + }, + { + "url": "https://t.co/7KeiIAMVV8", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Dawri Plus", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196856, + "tags": [ ], + "date_received": "2017-04-14T17:53:55.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "http://t.co/ZL7xQB7byq", + "url_original": null + }, + { + "url": "http://t.co/ovknwnrtEq", + "url_original": null + }, + { + "url": "https://twitter.com/sollicitatielab/status/570186642549579776", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Arvy.org", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196817, + "tags": [ ], + "date_received": "2017-04-14T17:46:01.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/pa8bj5xkqoyvbnr/status/852939504113549312", + "url_original": null + }, + { + "url": "https://twitter.com/newsrany/status/852939484710809603", + "url_original": null + }, + { + "url": "https://twitter.com/m_abu_husam/status/852938298431504384", + "url_original": null + }, + { + "url": "https://twitter.com/live7sport77/status/852938263618867200", + "url_original": null + }, + { + "url": "https://twitter.com/dawrisaudi4k/status/852935082914570242", + "url_original": null + }, + { + "url": "https://twitter.com/dawrisaudi4k/status/852921107648827392", + "url_original": null + }, + { + "url": "https://twitter.com/dawrisaudi4k/status/852578138177646593", + "url_original": null + }, + { + "url": "https://twitter.com/alhadathalyoum1/status/852938263996321792", + "url_original": null + }, + { + "url": "https://twitter.com/ad81kbaj7bji6az/status/852938755036110848", + "url_original": null + }, + { + "url": "https://twitter.com/aasgfjfdfsda/status/852937642945769473", + "url_original": null + }, + { + "url": "https://twitter.com/aaas123123/status/852938268144435200", + "url_original": null + }, + { + "url": "https://t.co/z70QwRt7dD", + "url_original": null + }, + { + "url": "https://t.co/XuTLIZ42s9", + "url_original": null + }, + { + "url": "https://t.co/x6xrB7jR5O", + "url_original": null + }, + { + "url": "https://t.co/PSLiYz9rVl", + "url_original": null + }, + { + "url": "https://t.co/PdxAMOSZlm", + "url_original": null + }, + { + "url": "https://t.co/nTfuy3fLBu", + "url_original": null + }, + { + "url": "https://t.co/nqGu6WNIk3", + "url_original": null + }, + { + "url": "https://t.co/mhsK80pNAM", + "url_original": null + }, + { + "url": "https://t.co/KmRh5D9n1F", + "url_original": null + }, + { + "url": "https://t.co/HoTmgwqsDN", + "url_original": null + }, + { + "url": "https://t.co/GQnkktwgpt", + "url_original": null + }, + { + "url": "https://t.co/dAiIkq13Ep", + "url_original": null + }, + { + "url": "https://t.co/bVURfDOpcl", + "url_original": null + }, + { + "url": "https://t.co/bCPW4yz814", + "url_original": null + }, + { + "url": "https://t.co/aKnu2KqRjk", + "url_original": null + }, + { + "url": "https://t.co/AiUL2Gi2WJ", + "url_original": null + }, + { + "url": "https://t.co/97xuD2Noxd", + "url_original": null + }, + { + "url": "https://t.co/3bXHk9nqIN", + "url_original": null + }, + { + "url": "https://t.co/2KZmEnNaB5", + "url_original": null + }, + { + "url": "https://t.co/BuQzowE0Y4", + "url_original": null + }, + { + "url": "https://t.co/b3CTn60ZuC", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Dawri Plus", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196812, + "tags": [ ], + "date_received": "2017-04-14T17:30:13.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/sukkbiggdikk", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Totally Gay", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196848, + "tags": [ ], + "date_received": "2017-04-14T17:17:56.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/newnevvs/status/852914774983704576", + "url_original": null + }, + { + "url": "https://twitter.com/kora6596/status/852925546451357697", + "url_original": null + }, + { + "url": "https://twitter.com/kora6596/status/852924112972505089", + "url_original": null + }, + { + "url": "https://twitter.com/kora6596/status/852921565222195200", + "url_original": null + }, + { + "url": "https://twitter.com/kora6596/status/852920380373303296", + "url_original": null + }, + { + "url": "https://twitter.com/kora6596/status/852919060983676934", + "url_original": null + }, + { + "url": "https://twitter.com/aleymnews/status/852915194103726084", + "url_original": null + }, + { + "url": "https://twitter.com/aleymnews/status/852914044944097280", + "url_original": null + }, + { + "url": "https://twitter.com/al3sol1/status/852931606209855491", + "url_original": null + }, + { + "url": "https://twitter.com/al3sol1/status/852921570884562946", + "url_original": null + }, + { + "url": "https://twitter.com/al3sol1/status/852920387025371138", + "url_original": null + }, + { + "url": "https://twitter.com/al3sol1/status/852919066692128768", + "url_original": null + }, + { + "url": "https://twitter.com/5barko/status/852927952312573953", + "url_original": null + }, + { + "url": "https://t.co/r7rGp9UlYK", + "url_original": null + }, + { + "url": "https://t.co/R6twMZ89QQ", + "url_original": null + }, + { + "url": "https://t.co/qooAIjyPAx", + "url_original": null + }, + { + "url": "https://t.co/or5ep4PwJ1", + "url_original": null + }, + { + "url": "https://t.co/kWdAMAQIW4", + "url_original": null + }, + { + "url": "https://t.co/g7RZEfGevL", + "url_original": null + }, + { + "url": "https://t.co/eBtpjpqZET", + "url_original": null + }, + { + "url": "https://t.co/dGTPeyghgV", + "url_original": null + }, + { + "url": "https://t.co/BVnHIvhN2w", + "url_original": null + }, + { + "url": "https://t.co/6VQBjizh79", + "url_original": null + }, + { + "url": "https://t.co/6Jqt6lZ339", + "url_original": null + }, + { + "url": "https://t.co/5J7iTBmOaN", + "url_original": null + }, + { + "url": "https://t.co/4wcIdHhl0o", + "url_original": null + }, + { + "url": "https://t.co/1oRrtAkJHi", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Dawri Plus", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196815, + "tags": [ ], + "date_received": "2017-04-14T17:14:07.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/dosomething/status/852897156033892353", + "url_original": null + }, + { + "url": "https://t.co/tPO5o270Nb", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Gannett", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196813, + "tags": [ ], + "date_received": "2017-04-14T17:05:02.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/yougaku_boy0628/status/835871182746353666", + "url_original": null + }, + { + "url": "https://twitter.com/yogaku_pvdouga/status/852747102828380160", + "url_original": null + }, + { + "url": "https://twitter.com/temmii_a/status/851949944252633088", + "url_original": null + }, + { + "url": "https://twitter.com/soulswipeapp/status/779122058793934848", + "url_original": null + }, + { + "url": "https://twitter.com/nickimverses/status/848764850331365377", + "url_original": null + }, + { + "url": "https://twitter.com/kevinhartpriv/status/852383228073836544", + "url_original": null + }, + { + "url": "https://t.co/zH5Ub1W7Kw", + "url_original": null + }, + { + "url": "https://t.co/t9oYpObQNz", + "url_original": null + }, + { + "url": "https://t.co/K4eeMKm631", + "url_original": null + }, + { + "url": "https://t.co/hDvarakRV6", + "url_original": null + }, + { + "url": "https://t.co/a3iUtA6ZR8", + "url_original": null + }, + { + "url": "https://t.co/8RPGAnGV7k", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Recording Industry Association of America, Inc. (RIAA)", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196810, + "tags": [ ], + "date_received": "2017-04-14T17:03:38.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/yugyeumie/status/852230498772537347", + "url_original": null + }, + { + "url": "https://twitter.com/tcu_upbeat/status/822424747493376005", + "url_original": null + }, + { + "url": "https://twitter.com/svtsparkle/status/813539045649350657", + "url_original": null + }, + { + "url": "https://twitter.com/senentae_/status/851568609503608833", + "url_original": null + }, + { + "url": "https://twitter.com/piscok99/status/823743614765273088", + "url_original": null + }, + { + "url": "https://twitter.com/ofivetv/status/852124230183522304", + "url_original": null + }, + { + "url": "https://twitter.com/noirxfs/status/852331561299173376", + "url_original": null + }, + { + "url": "https://twitter.com/ninbrevas/status/852390699991531520", + "url_original": null + }, + { + "url": "https://twitter.com/m_2fairooz96/status/852064503198076928", + "url_original": null + }, + { + "url": "https://twitter.com/k13kay/status/852045024187400192", + "url_original": null + }, + { + "url": "https://twitter.com/hervolume1/status/852464982100918272", + "url_original": null + }, + { + "url": "https://twitter.com/enquetesdojb_/status/852743232404336640", + "url_original": null + }, + { + "url": "https://twitter.com/edpenn13/status/852722872732631040", + "url_original": null + }, + { + "url": "https://twitter.com/dylanruss32/status/852754919152959488", + "url_original": null + }, + { + "url": "https://twitter.com/corespeedelite/status/852224861594427392", + "url_original": null + }, + { + "url": "https://twitter.com/chillbxy/status/851448362125709312", + "url_original": null + }, + { + "url": "https://twitter.com/bangdangsnd/status/852316741745090560", + "url_original": null + }, + { + "url": "https://twitter.com/andysixx990/status/851840876406034434", + "url_original": null + }, + { + "url": "https://twitter.com/121training/status/852077215424667650", + "url_original": null + }, + { + "url": "https://twitter.com/11091584/status/846317342468390912", + "url_original": null + }, + { + "url": "https://t.co/ZfQnzHmclx", + "url_original": null + }, + { + "url": "https://t.co/VbSUJMP1Z4", + "url_original": null + }, + { + "url": "https://t.co/SrxfC7QVbE", + "url_original": null + }, + { + "url": "https://t.co/S5Sgh1s1GO", + "url_original": null + }, + { + "url": "https://t.co/QiaFSQlTe4", + "url_original": null + }, + { + "url": "https://t.co/PE8gtOUZoh", + "url_original": null + }, + { + "url": "https://t.co/nipqDyhhRJ", + "url_original": null + }, + { + "url": "https://t.co/L6Sl2T132m", + "url_original": null + }, + { + "url": "https://t.co/J6aw4l3odr", + "url_original": null + }, + { + "url": "https://t.co/i3xlGNxBGn", + "url_original": null + }, + { + "url": "https://t.co/Gf3IZWyosL", + "url_original": null + }, + { + "url": "https://t.co/GAVAWoUc5o", + "url_original": null + }, + { + "url": "https://t.co/FUpbfDypzB", + "url_original": null + }, + { + "url": "https://t.co/cRtKrokWLy", + "url_original": null + }, + { + "url": "https://t.co/AEIzKbjW9l", + "url_original": null + }, + { + "url": "https://t.co/6OC9YPFEIz", + "url_original": null + }, + { + "url": "https://t.co/4XeOCN1U8g", + "url_original": null + }, + { + "url": "https://t.co/3fXIx6oZjq", + "url_original": null + }, + { + "url": "https://t.co/3ekcFuSAOk", + "url_original": null + }, + { + "url": "https://t.co/1kkQ6nYkgz", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Recording Industry Association of America, Inc. (RIAA)", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196804, + "tags": [ ], + "date_received": "2017-04-14T17:01:41.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/zkcqsfzdjwhiqi4/status/844537197743128582", + "url_original": null + }, + { + "url": "https://twitter.com/yeah48966782/status/844532544225751041", + "url_original": null + }, + { + "url": "https://twitter.com/wanturtrophy/status/772770662951813120", + "url_original": null + }, + { + "url": "https://twitter.com/ucanpenguenns/status/852465884778160128", + "url_original": null + }, + { + "url": "https://twitter.com/scskyhawksfb/status/851888343436713985", + "url_original": null + }, + { + "url": "https://twitter.com/ponponmmd/status/847094188017500162", + "url_original": null + }, + { + "url": "https://twitter.com/piscok99/status/822377718725521409", + "url_original": null + }, + { + "url": "https://twitter.com/pal__mer/status/843354687172620288", + "url_original": null + }, + { + "url": "https://twitter.com/ovophantuums/status/851513415721943041", + "url_original": null + }, + { + "url": "https://twitter.com/ourclassix/status/681469316559155200", + "url_original": null + }, + { + "url": "https://twitter.com/mwnmashup/status/852339888280051712", + "url_original": null + }, + { + "url": "https://twitter.com/maxinessy/status/852712374737936384", + "url_original": null + }, + { + "url": "https://twitter.com/maryseffens/status/852388589404958720", + "url_original": null + }, + { + "url": "https://twitter.com/lisaswift50/status/826817278922600448", + "url_original": null + }, + { + "url": "https://twitter.com/kawashi1116/status/829603877603282944", + "url_original": null + }, + { + "url": "https://twitter.com/jump_30_byo/status/695223534751080454", + "url_original": null + }, + { + "url": "https://twitter.com/bhaavgandhi/status/811875926950768640", + "url_original": null + }, + { + "url": "https://twitter.com/asaohanibanha/status/851425449150365696", + "url_original": null + }, + { + "url": "https://twitter.com/abovemillions_/status/851615287799566336", + "url_original": null + }, + { + "url": "https://twitter.com/5harmonya/status/851943341273092101", + "url_original": null + }, + { + "url": "https://t.co/WuufgpspK1", + "url_original": null + }, + { + "url": "https://t.co/wGQIuQW0L6", + "url_original": null + }, + { + "url": "https://t.co/W3AuWDjgkN", + "url_original": null + }, + { + "url": "https://t.co/UQ0EUJaN8C", + "url_original": null + }, + { + "url": "https://t.co/UOEeY9uceq", + "url_original": null + }, + { + "url": "https://t.co/ty2frJgRih", + "url_original": null + }, + { + "url": "https://t.co/rTJblG9Y17", + "url_original": null + }, + { + "url": "https://t.co/oBxYjS4x2Z", + "url_original": null + }, + { + "url": "https://t.co/NRB2WRbYny", + "url_original": null + }, + { + "url": "https://t.co/lIhTmEvvxN", + "url_original": null + }, + { + "url": "https://t.co/Jw2hc4fsAd", + "url_original": null + }, + { + "url": "https://t.co/gqhb6oVcVu", + "url_original": null + }, + { + "url": "https://t.co/Fwhj8kfhuz", + "url_original": null + }, + { + "url": "https://t.co/EZD3ZBr0ui", + "url_original": null + }, + { + "url": "https://t.co/cGk3sYrr8K", + "url_original": null + }, + { + "url": "https://t.co/8YxdD0JrUG", + "url_original": null + }, + { + "url": "https://t.co/8DaS5eUvqj", + "url_original": null + }, + { + "url": "https://t.co/7T1EmJ7kqj", + "url_original": null + }, + { + "url": "https://t.co/7OqqjO9hMu", + "url_original": null + }, + { + "url": "https://t.co/7B87e186EP", + "url_original": null + }, + { + "url": "https://t.co/2jMps8fMJm", + "url_original": null + }, + { + "url": "https://t.co/0LY47nJIDz", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Recording Industry Association of America, Inc. (RIAA)", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196801, + "tags": [ ], + "date_received": "2017-04-14T16:59:51.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/zachsio/status/851943188369596416", + "url_original": null + }, + { + "url": "https://twitter.com/yubillerenah/status/850692826627178496", + "url_original": null + }, + { + "url": "https://twitter.com/tymirshareef/status/852224187498364928", + "url_original": null + }, + { + "url": "https://twitter.com/to_geppy/status/827466743861886976", + "url_original": null + }, + { + "url": "https://twitter.com/takenote916/status/852204621477036032", + "url_original": null + }, + { + "url": "https://twitter.com/rileyhamilton_/status/852318890528985088", + "url_original": null + }, + { + "url": "https://twitter.com/raphighiights/status/851433331354992641", + "url_original": null + }, + { + "url": "https://twitter.com/omgthatsb/status/852011777369849857", + "url_original": null + }, + { + "url": "https://twitter.com/nightride/status/852743384338911235", + "url_original": null + }, + { + "url": "https://twitter.com/__nancyball/status/852470277049118720", + "url_original": null + }, + { + "url": "https://twitter.com/megwinst/status/852752721870323713", + "url_original": null + }, + { + "url": "https://twitter.com/mary94am/status/848813997151449088", + "url_original": null + }, + { + "url": "https://twitter.com/lotusmusica/status/851857420083245057", + "url_original": null + }, + { + "url": "https://twitter.com/littlelarryenij/status/792762116734328832", + "url_original": null + }, + { + "url": "https://twitter.com/iaurmilarchive/status/852071816332017664", + "url_original": null + }, + { + "url": "https://twitter.com/edmojii/status/852231428104491009", + "url_original": null + }, + { + "url": "https://twitter.com/chychyhall/status/852187627591741441", + "url_original": null + }, + { + "url": "https://twitter.com/beautywoc/status/851983044454100994", + "url_original": null + }, + { + "url": "https://twitter.com/addae3madison/status/852001790480359424", + "url_original": null + }, + { + "url": "https://twitter.com/99_07_21/status/825537733330243584", + "url_original": null + }, + { + "url": "https://t.co/s5HPcjuf7M", + "url_original": null + }, + { + "url": "https://t.co/rJTvT1iSPm", + "url_original": null + }, + { + "url": "https://t.co/QZgwi8NvV7", + "url_original": null + }, + { + "url": "https://t.co/qiO3gFMxHa", + "url_original": null + }, + { + "url": "https://t.co/PCNb190rDb", + "url_original": null + }, + { + "url": "https://t.co/P04fHRLm9v", + "url_original": null + }, + { + "url": "https://t.co/n0t4GjHver", + "url_original": null + }, + { + "url": "https://t.co/M9gXObB70N", + "url_original": null + }, + { + "url": "https://t.co/IF08RfEiUc", + "url_original": null + }, + { + "url": "https://t.co/hoBi8cQDgO", + "url_original": null + }, + { + "url": "https://t.co/FjcETjgLYC", + "url_original": null + }, + { + "url": "https://t.co/e2tjey5375", + "url_original": null + }, + { + "url": "https://t.co/DIWwyeLjpl", + "url_original": null + }, + { + "url": "https://t.co/CgraXZVF7N", + "url_original": null + }, + { + "url": "https://t.co/BEYgrYW4It", + "url_original": null + }, + { + "url": "https://t.co/9ALUMTmT19", + "url_original": null + }, + { + "url": "https://t.co/8zhRF2YYsS", + "url_original": null + }, + { + "url": "https://t.co/8mQS40Gn3f", + "url_original": null + }, + { + "url": "https://t.co/8FpWqnCZyM", + "url_original": null + }, + { + "url": "https://t.co/1qc90TNR6S.", + "url_original": null + }, + { + "url": "https://t.co/0uvDt2WGjG", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Recording Industry Association of America, Inc. (RIAA)", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196794, + "tags": [ ], + "date_received": "2017-04-14T16:31:33.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/youcrazy24/status/852776704045076480", + "url_original": null + }, + { + "url": "https://twitter.com/www_musik/status/852829793716285440", + "url_original": null + }, + { + "url": "https://twitter.com/vibeslinknet/status/852890241962823680", + "url_original": null + }, + { + "url": "https://twitter.com/viabeehive/status/852851156837642240", + "url_original": null + }, + { + "url": "https://twitter.com/viabeehive_/status/852851145949282304", + "url_original": null + }, + { + "url": "https://twitter.com/u_nkosana/status/852659676135264256", + "url_original": null + }, + { + "url": "https://twitter.com/umatijolada/status/852665740394156034", + "url_original": null + }, + { + "url": "https://twitter.com/tush_media/status/852866634947506176", + "url_original": null + }, + { + "url": "https://twitter.com/tush_media/status/852866618036150274", + "url_original": null + }, + { + "url": "https://twitter.com/tush_media/status/852866604316540928", + "url_original": null + }, + { + "url": "https://twitter.com/tush_media/status/852849723622834176", + "url_original": null + }, + { + "url": "https://twitter.com/tush_media/status/852849717046239233", + "url_original": null + }, + { + "url": "https://twitter.com/tush_media/status/852849711023181825", + "url_original": null + }, + { + "url": "https://twitter.com/tush_media/status/852849703674814465", + "url_original": null + }, + { + "url": "https://twitter.com/tush_media/status/852849689489625089", + "url_original": null + }, + { + "url": "https://twitter.com/tush_media/status/852841304690008065", + "url_original": null + }, + { + "url": "https://twitter.com/jthemelaningod/status/852888273177464832", + "url_original": null + }, + { + "url": "https://twitter.com/grindbodysoul/status/852888273047388160", + "url_original": null + }, + { + "url": "https://twitter.com/beefalertnow/status/852888272632205312", + "url_original": null + }, + { + "url": "https://t.co/zWwkCQb3Sq", + "url_original": null + }, + { + "url": "https://t.co/ZQSckZOdkn", + "url_original": null + }, + { + "url": "https://t.co/WUdYo19r5t", + "url_original": null + }, + { + "url": "https://t.co/vOKD85e8M2", + "url_original": null + }, + { + "url": "https://t.co/UTnQCaEDzN", + "url_original": null + }, + { + "url": "https://t.co/tq1WPXPRzF", + "url_original": null + }, + { + "url": "https://t.co/sYdKld2nty", + "url_original": null + }, + { + "url": "https://t.co/soB5I5IReJ", + "url_original": null + }, + { + "url": "https://t.co/sMwXamHBWy", + "url_original": null + }, + { + "url": "https://t.co/reIlNgQaZU", + "url_original": null + }, + { + "url": "https://t.co/QTR0uNcm9O", + "url_original": null + }, + { + "url": "https://t.co/qATRfniysr", + "url_original": null + }, + { + "url": "https://t.co/onEdU6hcDZ", + "url_original": null + }, + { + "url": "https://t.co/nSgm0Cllyo", + "url_original": null + }, + { + "url": "https://t.co/lo00mKjlFx", + "url_original": null + }, + { + "url": "https://t.co/k961FEt8IZ", + "url_original": null + }, + { + "url": "https://t.co/IWwTOKYXau", + "url_original": null + }, + { + "url": "https://t.co/iT7puF6bxm", + "url_original": null + }, + { + "url": "https://t.co/H6bJ5Hi3gg", + "url_original": null + }, + { + "url": "https://t.co/fr6aiKRSMe", + "url_original": null + }, + { + "url": "https://t.co/fMpyuzoRbg", + "url_original": null + }, + { + "url": "https://t.co/FltRHGofho", + "url_original": null + }, + { + "url": "https://t.co/e2bFNBBgwR", + "url_original": null + }, + { + "url": "https://t.co/dHbWMbpm52", + "url_original": null + }, + { + "url": "https://t.co/D2sQqxFMrO", + "url_original": null + }, + { + "url": "https://t.co/Cs7BJ8GXNw", + "url_original": null + }, + { + "url": "https://t.co/8RQ3zgysvf", + "url_original": null + }, + { + "url": "https://t.co/8r7vJblC4u", + "url_original": null + }, + { + "url": "https://t.co/6iUpyOLdka", + "url_original": null + }, + { + "url": "https://t.co/0arp40Q9fv", + "url_original": null + }, + { + "url": "https://t.co/Yax2warCOc", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "protect artists", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196799, + "tags": [ ], + "date_received": "2017-04-14T16:24:10.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/tush_media/status/852841299384324096", + "url_original": null + }, + { + "url": "https://twitter.com/tush_media/status/852841294657232896", + "url_original": null + }, + { + "url": "https://twitter.com/tush_media/status/852841290521690113", + "url_original": null + }, + { + "url": "https://twitter.com/tush_media/status/852841232556408835", + "url_original": null + }, + { + "url": "https://twitter.com/tush_media/status/852841222284525569", + "url_original": null + }, + { + "url": "https://twitter.com/tush_media/status/852841210276335616", + "url_original": null + }, + { + "url": "https://twitter.com/tush_media/status/852841199316606978", + "url_original": null + }, + { + "url": "https://twitter.com/tush_media/status/852824181834108931", + "url_original": null + }, + { + "url": "https://twitter.com/tobi_sensei_/status/852734924117336068", + "url_original": null + }, + { + "url": "https://twitter.com/thesmallestboy/status/852725123157286912", + "url_original": null + }, + { + "url": "https://twitter.com/themadhetter/status/852658472826974208", + "url_original": null + }, + { + "url": "https://twitter.com/thatguynamedleo/status/852690840065527809", + "url_original": null + }, + { + "url": "https://twitter.com/suuhdudee/status/852693964847169536", + "url_original": null + }, + { + "url": "https://twitter.com/stunnah_100/status/852721223473795072", + "url_original": null + }, + { + "url": "https://twitter.com/spotgetscake/status/852716806808756224", + "url_original": null + }, + { + "url": "https://twitter.com/speedyback/status/852856214518198272", + "url_original": null + }, + { + "url": "https://twitter.com/somethingliite/status/852751803447877632", + "url_original": null + }, + { + "url": "https://twitter.com/scumbagmac/status/852562637497839616", + "url_original": null + }, + { + "url": "https://twitter.com/samucabeats/status/852682007058501632", + "url_original": null + }, + { + "url": "https://twitter.com/saifa7i/status/852654369120104448", + "url_original": null + }, + { + "url": "https://t.co/yZ6mMEAOZa", + "url_original": null + }, + { + "url": "https://t.co/y7djOoIo3C", + "url_original": null + }, + { + "url": "https://t.co/UmccIgKWct", + "url_original": null + }, + { + "url": "https://t.co/ucGlnAzjAU", + "url_original": null + }, + { + "url": "https://t.co/tYClocBxxM", + "url_original": null + }, + { + "url": "https://t.co/rNRQS4EYlK", + "url_original": null + }, + { + "url": "https://t.co/Qi0aGDe3Fm", + "url_original": null + }, + { + "url": "https://t.co/pwl8UdcUkf", + "url_original": null + }, + { + "url": "https://t.co/PsNOfZxHBm", + "url_original": null + }, + { + "url": "https://t.co/OwckUgX7SU", + "url_original": null + }, + { + "url": "https://t.co/oI8xCZhvoR", + "url_original": null + }, + { + "url": "https://t.co/milrpt2PA4", + "url_original": null + }, + { + "url": "https://t.co/LCYsftDsME", + "url_original": null + }, + { + "url": "https://t.co/l3PmNguOjo", + "url_original": null + }, + { + "url": "https://t.co/if7N8SQXwV", + "url_original": null + }, + { + "url": "https://t.co/hX2LBy1bJq", + "url_original": null + }, + { + "url": "https://t.co/gCDJvc5yta", + "url_original": null + }, + { + "url": "https://t.co/eVZ3IFJuPK", + "url_original": null + }, + { + "url": "https://t.co/EF0xr42J4H", + "url_original": null + }, + { + "url": "https://t.co/CxUOEd4zzk", + "url_original": null + }, + { + "url": "https://t.co/CiLZZaEUVf", + "url_original": null + }, + { + "url": "https://t.co/bOwifFHGB1", + "url_original": null + }, + { + "url": "https://t.co/abV8aDoalY", + "url_original": null + }, + { + "url": "https://t.co/A4fE3ThT0C", + "url_original": null + }, + { + "url": "https://t.co/9m2VStkSSM", + "url_original": null + }, + { + "url": "https://t.co/7tWIhFvZO7", + "url_original": null + }, + { + "url": "https://t.co/5GgyQnDaKk", + "url_original": null + }, + { + "url": "https://t.co/5APGEDvt60", + "url_original": null + }, + { + "url": "https://t.co/3xbmppnbvm", + "url_original": null + }, + { + "url": "https://t.co/3R6wr4DVuU", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "protect artists", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196790, + "tags": [ ], + "date_received": "2017-04-14T16:14:50.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/_poggioli/status/852651182979940353", + "url_original": null + }, + { + "url": "https://twitter.com/_maluzera/status/852725253084196864", + "url_original": null + }, + { + "url": "https://twitter.com/frazziemusic/status/852849362849890306", + "url_original": null + }, + { + "url": "https://twitter.com/fleolindo/status/852733628026986497", + "url_original": null + }, + { + "url": "https://twitter.com/dumbrass/status/852658997199065088", + "url_original": null + }, + { + "url": "https://twitter.com/drepisco/status/852655978692694016", + "url_original": null + }, + { + "url": "https://twitter.com/dmf180593/status/852664078145290240", + "url_original": null + }, + { + "url": "https://twitter.com/deadlyoxlade/status/852832527530082305", + "url_original": null + }, + { + "url": "https://twitter.com/dapazbolas/status/852845939018670080", + "url_original": null + }, + { + "url": "https://twitter.com/damie_baybie/status/852815555908087808", + "url_original": null + }, + { + "url": "https://twitter.com/chineduifeka/status/852862080193634304", + "url_original": null + }, + { + "url": "https://twitter.com/chillinbeats/status/852681530430369792", + "url_original": null + }, + { + "url": "https://twitter.com/bleachliquor/status/852720562787024896", + "url_original": null + }, + { + "url": "https://twitter.com/beyonce2016f/status/852794129205534721", + "url_original": null + }, + { + "url": "https://twitter.com/beefalertnow/status/852687296734388224", + "url_original": null + }, + { + "url": "https://twitter.com/barbaricmango/status/852657911885180930", + "url_original": null + }, + { + "url": "https://twitter.com/baba_promoter/status/852843237542813699", + "url_original": null + }, + { + "url": "https://twitter.com/asapbriiian/status/852841238076289024", + "url_original": null + }, + { + "url": "https://twitter.com/arminkeihani/status/852709950530887680", + "url_original": null + }, + { + "url": "https://t.co/Z4WkskKQBP", + "url_original": null + }, + { + "url": "https://t.co/Yax2warCOc", + "url_original": null + }, + { + "url": "https://t.co/Y4SY6dn1b5", + "url_original": null + }, + { + "url": "https://t.co/wF0apqsdqi", + "url_original": null + }, + { + "url": "https://t.co/VUGoDhQ8kd", + "url_original": null + }, + { + "url": "https://t.co/qxrO5w51sP", + "url_original": null + }, + { + "url": "https://t.co/MbQW1fno21", + "url_original": null + }, + { + "url": "https://t.co/kx8JpnZCU1", + "url_original": null + }, + { + "url": "https://t.co/KwI2ilBU9s", + "url_original": null + }, + { + "url": "https://t.co/jpTSorQB8u", + "url_original": null + }, + { + "url": "https://t.co/i8SCPbDELF", + "url_original": null + }, + { + "url": "https://t.co/i72smLTKnj", + "url_original": null + }, + { + "url": "https://t.co/i3mrLRTYLC", + "url_original": null + }, + { + "url": "https://t.co/HcUdtpcgmx", + "url_original": null + }, + { + "url": "https://t.co/DN9d75cNG4", + "url_original": null + }, + { + "url": "https://t.co/dAHXdiqQhr", + "url_original": null + }, + { + "url": "https://t.co/COhpEAhVg8", + "url_original": null + }, + { + "url": "https://t.co/9XiCT5jKV5", + "url_original": null + }, + { + "url": "https://t.co/7eQzpwF5gb", + "url_original": null + }, + { + "url": "https://t.co/5hIcf49104", + "url_original": null + }, + { + "url": "https://t.co/4WTjb2gJrn", + "url_original": null + }, + { + "url": "https://t.co/3KeE5tPtMq", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "protect artists", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196698, + "tags": [ ], + "date_received": "2017-04-14T15:54:20.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/yallashot1/status/852791301070241792", + "url_original": null + }, + { + "url": "https://twitter.com/newsrany/status/852911658825654272", + "url_original": null + }, + { + "url": "https://twitter.com/newnevvs/status/852912292505292800", + "url_original": null + }, + { + "url": "https://twitter.com/newnevvs/status/852912289044942848", + "url_original": null + }, + { + "url": "https://twitter.com/newnevvs/status/852912246414073861", + "url_original": null + }, + { + "url": "https://twitter.com/newnevvs/status/852911016052654081", + "url_original": null + }, + { + "url": "https://twitter.com/live7sport77/status/852694276509192193", + "url_original": null + }, + { + "url": "https://twitter.com/kora6596/status/852791295110111232", + "url_original": null + }, + { + "url": "https://twitter.com/dawrisaudi4k/status/852904844730011649", + "url_original": null + }, + { + "url": "https://twitter.com/ashko65/status/852791306879328257", + "url_original": null + }, + { + "url": "https://twitter.com/aleymnews/status/852911387110248450", + "url_original": null + }, + { + "url": "https://twitter.com/aleymnews/status/852911372837019648", + "url_original": null + }, + { + "url": "https://twitter.com/al3sol1/status/852791319940317184", + "url_original": null + }, + { + "url": "https://twitter.com/abuomarlive4/status/852790099863416833", + "url_original": null + }, + { + "url": "https://twitter.com/abuomarlive4/status/852775963301601281", + "url_original": null + }, + { + "url": "https://twitter.com/5barko/status/852791313900519424", + "url_original": null + }, + { + "url": "https://t.co/zKb30MO6FT", + "url_original": null + }, + { + "url": "https://t.co/ZhSWhD8Xs0", + "url_original": null + }, + { + "url": "https://t.co/y2IdqaMt6J", + "url_original": null + }, + { + "url": "https://t.co/TS96f7fmKo", + "url_original": null + }, + { + "url": "https://t.co/StdRwrJxhC", + "url_original": null + }, + { + "url": "https://t.co/SPGZ8OJAwb", + "url_original": null + }, + { + "url": "https://t.co/SeVTxKSEph", + "url_original": null + }, + { + "url": "https://t.co/rQeR4zCLu2", + "url_original": null + }, + { + "url": "https://t.co/RdScIwmUKV", + "url_original": null + }, + { + "url": "https://t.co/oMD6r1BUUo", + "url_original": null + }, + { + "url": "https://t.co/NhukYvb34Q", + "url_original": null + }, + { + "url": "https://t.co/mzhxKOotfb", + "url_original": null + }, + { + "url": "https://t.co/jV5pV1ebbF", + "url_original": null + }, + { + "url": "https://t.co/jeoeZaOqe1", + "url_original": null + }, + { + "url": "https://t.co/iyezxdG0cm", + "url_original": null + }, + { + "url": "https://t.co/IXJumcNXUv", + "url_original": null + }, + { + "url": "https://t.co/inxFL2RNoJ", + "url_original": null + }, + { + "url": "https://t.co/FysApSUkZa", + "url_original": null + }, + { + "url": "https://t.co/BuQzowE0Y4", + "url_original": null + }, + { + "url": "https://t.co/b3CTn60ZuC", + "url_original": null + }, + { + "url": "https://t.co/6lc4b7UXUZ", + "url_original": null + }, + { + "url": "https://t.co/5sQww5N357", + "url_original": null + }, + { + "url": "https://t.co/5AMa849iqZ", + "url_original": null + }, + { + "url": "https://t.co/4XQ1KCV597", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Dawri Plus", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196476, + "tags": [ ], + "date_received": "2017-04-14T15:25:18.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/thorgot1960/status/851952136715993088", + "url_original": null + }, + { + "url": "https://t.co/yodaeuDNNX", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Government Employees Insurance Company", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196482, + "tags": [ ], + "date_received": "2017-04-14T15:20:55.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/vstarvibes/status/852890928918532097", + "url_original": null + }, + { + "url": "https://twitter.com/vstarvibes/status/852882449138929666", + "url_original": null + }, + { + "url": "https://twitter.com/vstarvibes/status/852869503859871744", + "url_original": null + }, + { + "url": "https://twitter.com/tripleotmedia/status/852719981359976449", + "url_original": null + }, + { + "url": "https://twitter.com/official_crack/status/852871600668119041", + "url_original": null + }, + { + "url": "https://twitter.com/naijahub_media/status/852871592577306624", + "url_original": null + }, + { + "url": "https://twitter.com/exclusivejam/status/852888203388268544", + "url_original": null + }, + { + "url": "https://twitter.com/angelxdv/status/852704595835064320", + "url_original": null + }, + { + "url": "https://t.co/ThrpKGtn4P", + "url_original": null + }, + { + "url": "https://t.co/RHRwMPOk47", + "url_original": null + }, + { + "url": "https://t.co/p41PliUX0x", + "url_original": null + }, + { + "url": "https://t.co/NMs5annZhy", + "url_original": null + }, + { + "url": "https://t.co/MnEgyBvuiN", + "url_original": null + }, + { + "url": "https://t.co/LOxhBA2Opb", + "url_original": null + }, + { + "url": "https://t.co/LEqohfjjDE", + "url_original": null + }, + { + "url": "https://t.co/eojRF49cMq", + "url_original": null + }, + { + "url": "https://t.co/8Y4q7i3bSN", + "url_original": null + }, + { + "url": "https://t.co/2mPUcF8xoP", + "url_original": null + }, + { + "url": "https://t.co/1OwrjnVBYM", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Recording Industry Association of America, Inc. (RIAA)", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196784, + "tags": [ ], + "date_received": "2017-04-14T15:17:23.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/yaggaradio/status/852690371918299137", + "url_original": null + }, + { + "url": "https://twitter.com/xx__bob__xx/status/852846343902986252", + "url_original": null + }, + { + "url": "https://twitter.com/oneunderthesun_/status/852772568905818113", + "url_original": null + }, + { + "url": "https://twitter.com/moonlansky/status/852803228307570689", + "url_original": null + }, + { + "url": "https://twitter.com/lubracate/status/852694893038256128", + "url_original": null + }, + { + "url": "https://twitter.com/hlphopxhotspot/status/852733323168198656", + "url_original": null + }, + { + "url": "https://twitter.com/hlphopxhotspot/status/852732969559015424", + "url_original": null + }, + { + "url": "https://twitter.com/devonharipal/status/852699656970657792", + "url_original": null + }, + { + "url": "https://twitter.com/cdubbyuhh/status/852751181566812160", + "url_original": null + }, + { + "url": "https://t.co/XRhw3pitnT", + "url_original": null + }, + { + "url": "https://t.co/vqZU8oFxPR", + "url_original": null + }, + { + "url": "https://t.co/u8mZ4B3DXP", + "url_original": null + }, + { + "url": "https://t.co/rUpCF8jl7d", + "url_original": null + }, + { + "url": "https://t.co/KS3Hx4V9p7", + "url_original": null + }, + { + "url": "https://t.co/JZjT1WvvmH", + "url_original": null + }, + { + "url": "https://t.co/JbD2tsEFZm", + "url_original": null + }, + { + "url": "https://t.co/Ie3ZBay4nL", + "url_original": null + }, + { + "url": "https://t.co/GVOSPeHV5d", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Recording Industry Association of America, Inc. (RIAA)", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196792, + "tags": [ ], + "date_received": "2017-04-14T15:15:39.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/_vhugala_/status/852661698305634304", + "url_original": null + }, + { + "url": "https://twitter.com/shawny8god/status/852748945155424256", + "url_original": null + }, + { + "url": "https://twitter.com/romelldawkins/status/852819973260980224", + "url_original": null + }, + { + "url": "https://twitter.com/rodriguezthagod/status/852693023188279296", + "url_original": null + }, + { + "url": "https://twitter.com/liveempirical/status/852749935661338626", + "url_original": null + }, + { + "url": "https://twitter.com/j_page__/status/852728819865669634", + "url_original": null + }, + { + "url": "https://twitter.com/hlphopxhotspot/status/852738480086016000", + "url_original": null + }, + { + "url": "https://twitter.com/hlphopxhotspot/status/852733634113028098", + "url_original": null + }, + { + "url": "https://twitter.com/hlphopxhotspot/status/852733498435584004", + "url_original": null + }, + { + "url": "https://twitter.com/cosmerubalcaba/status/852747125108518914", + "url_original": null + }, + { + "url": "https://twitter.com/bumble__bree/status/852728397222563840", + "url_original": null + }, + { + "url": "https://twitter.com/boomthe8thnote/status/852757063306313728", + "url_original": null + }, + { + "url": "https://twitter.com/a_lunaaa/status/852723292129579008", + "url_original": null + }, + { + "url": "https://t.co/XxRXx284zy", + "url_original": null + }, + { + "url": "https://t.co/XdIVFwZHV7", + "url_original": null + }, + { + "url": "https://t.co/wofxoNXLbA", + "url_original": null + }, + { + "url": "https://t.co/TY2ET6xoNB", + "url_original": null + }, + { + "url": "https://t.co/RU4kfTjNNq", + "url_original": null + }, + { + "url": "https://t.co/qeHikCcYyl", + "url_original": null + }, + { + "url": "https://t.co/niPjmV77fN", + "url_original": null + }, + { + "url": "https://t.co/ERLO6WVkyq", + "url_original": null + }, + { + "url": "https://t.co/EnFPnf9bWG", + "url_original": null + }, + { + "url": "https://t.co/D4OU0pl2tN", + "url_original": null + }, + { + "url": "https://t.co/9BVskX5bW9", + "url_original": null + }, + { + "url": "https://t.co/6scho7MRow", + "url_original": null + }, + { + "url": "https://t.co/171zWnEO7O", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Recording Industry Association of America, Inc. (RIAA)", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196788, + "tags": [ ], + "date_received": "2017-04-14T15:13:52.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/trappyhiphop/status/852724623837863936", + "url_original": null + }, + { + "url": "https://twitter.com/ryanurzi/status/852767315141591041", + "url_original": null + }, + { + "url": "https://twitter.com/rihannaxie/status/852706688138448897", + "url_original": null + }, + { + "url": "https://twitter.com/malummabura/status/852838951970902016", + "url_original": null + }, + { + "url": "https://twitter.com/malebye_dk/status/852823969908441089", + "url_original": null + }, + { + "url": "https://twitter.com/j_274/status/852710149529534464", + "url_original": null + }, + { + "url": "https://twitter.com/darn_naanaa/status/852688228846927872", + "url_original": null + }, + { + "url": "https://twitter.com/capamagmuzik/status/852778164870721537", + "url_original": null + }, + { + "url": "https://twitter.com/asvpxdiamonds/status/850041070327037953", + "url_original": null + }, + { + "url": "https://twitter.com/adridista_/status/852697345007529984", + "url_original": null + }, + { + "url": "https://t.co/SWMXJsnW2y", + "url_original": null + }, + { + "url": "https://t.co/ojlvYdEw6x", + "url_original": null + }, + { + "url": "https://t.co/obXHU0ESN7", + "url_original": null + }, + { + "url": "https://t.co/oadXiarNse", + "url_original": null + }, + { + "url": "https://t.co/lTGGUfOWvI", + "url_original": null + }, + { + "url": "https://t.co/InK7XClVwD", + "url_original": null + }, + { + "url": "https://t.co/coobivPrYZ", + "url_original": null + }, + { + "url": "https://t.co/AvTP7Z0sVe", + "url_original": null + }, + { + "url": "https://t.co/8VYK82ZERr", + "url_original": null + }, + { + "url": "https://t.co/3zapRrFFbn", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Recording Industry Association of America, Inc. (RIAA)", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196465, + "tags": [ ], + "date_received": "2017-04-14T15:12:00.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/woridstarhlphop/status/852830291269828609", + "url_original": null + }, + { + "url": "https://twitter.com/souljahoward/status/852730642177576960", + "url_original": null + }, + { + "url": "https://twitter.com/shadesof666/status/852662189961957376", + "url_original": null + }, + { + "url": "https://twitter.com/riri_be/status/852714680397070336", + "url_original": null + }, + { + "url": "https://twitter.com/plrihanna/status/852815282112315392", + "url_original": null + }, + { + "url": "https://twitter.com/ok0ko_/status/852864465775333376", + "url_original": null + }, + { + "url": "https://twitter.com/justlnw/status/852733830960037890", + "url_original": null + }, + { + "url": "https://twitter.com/juic3e87/status/852693263270260737", + "url_original": null + }, + { + "url": "https://twitter.com/hlphopxhotspot/status/852738744482267137", + "url_original": null + }, + { + "url": "https://twitter.com/hlphopxhotspot/status/852738103840092161", + "url_original": null + }, + { + "url": "https://twitter.com/hlphopxhotspot/status/852733213139099649", + "url_original": null + }, + { + "url": "https://twitter.com/hlphopxhotspot/status/852732823551188995", + "url_original": null + }, + { + "url": "https://twitter.com/h8rproof82/status/852717121058603008", + "url_original": null + }, + { + "url": "https://twitter.com/goatfreestyles/status/852701500027666433", + "url_original": null + }, + { + "url": "https://twitter.com/gangsta_hustla/status/852773507876376576", + "url_original": null + }, + { + "url": "https://twitter.com/cuberopillin/status/852683040644108288", + "url_original": null + }, + { + "url": "https://twitter.com/chopshop702/status/852762814976413700", + "url_original": null + }, + { + "url": "https://twitter.com/7evensofuego/status/852736850460426240", + "url_original": null + }, + { + "url": "https://twitter.com/1srg35/status/852737531749703680", + "url_original": null + }, + { + "url": "https://t.co/WyQrctVJ4N", + "url_original": null + }, + { + "url": "https://t.co/wcHTlGkwjT", + "url_original": null + }, + { + "url": "https://t.co/tjAdwLraVC", + "url_original": null + }, + { + "url": "https://t.co/SDdbbSyJhT", + "url_original": null + }, + { + "url": "https://t.co/O4Y2RvI242", + "url_original": null + }, + { + "url": "https://t.co/jRCEVSHEMJ", + "url_original": null + }, + { + "url": "https://t.co/Ii6LHvL9ZL", + "url_original": null + }, + { + "url": "https://t.co/Gact0EB4gc", + "url_original": null + }, + { + "url": "https://t.co/ezFR2dzBqF", + "url_original": null + }, + { + "url": "https://t.co/cmlXObI3JM", + "url_original": null + }, + { + "url": "https://t.co/Chd4A0DjYG", + "url_original": null + }, + { + "url": "https://t.co/BSASUgPH3s", + "url_original": null + }, + { + "url": "https://t.co/BpfBwhKMD4", + "url_original": null + }, + { + "url": "https://t.co/bLBOWPkrlw", + "url_original": null + }, + { + "url": "https://t.co/AAZYTcNqtc", + "url_original": null + }, + { + "url": "https://t.co/9oPVjXGw4C", + "url_original": null + }, + { + "url": "https://t.co/9H2dcxT0Fo", + "url_original": null + }, + { + "url": "https://t.co/59l9SRpIzI", + "url_original": null + }, + { + "url": "https://t.co/4YpPSlyCJR", + "url_original": null + }, + { + "url": "https://t.co/03egdsstp7", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Recording Industry Association of America, Inc. (RIAA)", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196469, + "tags": [ ], + "date_received": "2017-04-14T15:10:14.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/y_2506/status/852778057567842304", + "url_original": null + }, + { + "url": "https://twitter.com/vaicyon/status/852659544262033408", + "url_original": null + }, + { + "url": "https://twitter.com/uglyoliie/status/852870506843955200", + "url_original": null + }, + { + "url": "https://twitter.com/_triceeeey/status/852683863306448897", + "url_original": null + }, + { + "url": "https://twitter.com/ricanpapl/status/852668375792791553", + "url_original": null + }, + { + "url": "https://twitter.com/o_theoneandonly/status/852790586700513280", + "url_original": null + }, + { + "url": "https://twitter.com/olly_zulu/status/852745992692617219", + "url_original": null + }, + { + "url": "https://twitter.com/natayio/status/852745641339920386", + "url_original": null + }, + { + "url": "https://twitter.com/myalteregoooo/status/852663123102367744", + "url_original": null + }, + { + "url": "https://twitter.com/loyaltyioyalty/status/852657954566397953", + "url_original": null + }, + { + "url": "https://twitter.com/lilyachty/status/852725602499035136", + "url_original": null + }, + { + "url": "https://twitter.com/goatfreestyles/status/852672283642605568", + "url_original": null + }, + { + "url": "https://twitter.com/gametimeburnett/status/852831992706064384", + "url_original": null + }, + { + "url": "https://twitter.com/darthvenn/status/852735186471079936", + "url_original": null + }, + { + "url": "https://twitter.com/b_ingonpoint/status/852748245541330944", + "url_original": null + }, + { + "url": "https://twitter.com/b820064/status/852735873166655489", + "url_original": null + }, + { + "url": "https://twitter.com/atrak/status/850497162815221760", + "url_original": null + }, + { + "url": "https://twitter.com/antwanewillis/status/852682220779261952", + "url_original": null + }, + { + "url": "https://twitter.com/5sos3leak/status/852225802535960576", + "url_original": null + }, + { + "url": "https://twitter.com/5sos3leak/status/852225760186126336", + "url_original": null + }, + { + "url": "https://t.co/zUzeTYrt3p", + "url_original": null + }, + { + "url": "https://t.co/zQbG7c4LKm", + "url_original": null + }, + { + "url": "https://t.co/zAUOYUpQs2", + "url_original": null + }, + { + "url": "https://t.co/vqjhnNSSbh", + "url_original": null + }, + { + "url": "https://t.co/vHUT5jV6Y0", + "url_original": null + }, + { + "url": "https://t.co/tRdZINk9vs", + "url_original": null + }, + { + "url": "https://t.co/rulwCltQCT", + "url_original": null + }, + { + "url": "https://t.co/QTupCGUgD6", + "url_original": null + }, + { + "url": "https://t.co/qTogw1agf5", + "url_original": null + }, + { + "url": "https://t.co/PraNeS2ofZ", + "url_original": null + }, + { + "url": "https://t.co/Lj7Zhky48n", + "url_original": null + }, + { + "url": "https://t.co/ib5W91VNgF", + "url_original": null + }, + { + "url": "https://t.co/FZzz6cajgQ", + "url_original": null + }, + { + "url": "https://t.co/FV1SsrP0QD", + "url_original": null + }, + { + "url": "https://t.co/BbLYqh2a66", + "url_original": null + }, + { + "url": "https://t.co/aVWb6XMO1s", + "url_original": null + }, + { + "url": "https://t.co/3Au0DLf99P", + "url_original": null + }, + { + "url": "https://t.co/2niL5PJ8AG", + "url_original": null + }, + { + "url": "https://t.co/2BWQUgbgm1", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Recording Industry Association of America, Inc. (RIAA)", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196447, + "tags": [ ], + "date_received": "2017-04-14T14:49:06.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/mish3lab/status/847057237071794176", + "url_original": null + }, + { + "url": "https://t.co/23dXZwEpDX", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Alsaqer", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196446, + "tags": [ ], + "date_received": "2017-04-14T14:49:03.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/folyq8/status/852574773989314560", + "url_original": null + }, + { + "url": "https://t.co/SPDmKgsLNc", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "alienpikachu on Youtube", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196440, + "tags": [ ], + "date_received": "2017-04-14T14:31:26.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/myhit_official/status/852163652077670400", + "url_original": null + }, + { + "url": "https://twitter.com/marcoskunzi/status/852089204939124737", + "url_original": null + }, + { + "url": "https://twitter.com/aztorrent/status/852385646291308544", + "url_original": null + }, + { + "url": "https://t.co/zQZX2zcqrP", + "url_original": null + }, + { + "url": "https://t.co/SDFnBo2eaZ", + "url_original": null + }, + { + "url": "https://t.co/mTfmtIzw0w", + "url_original": null + }, + { + "url": "https://t.co/CQlz8O8GAj", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "3ants D&S", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196439, + "tags": [ ], + "date_received": "2017-04-14T14:31:05.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/rytis81/status/852784923018534914", + "url_original": null + }, + { + "url": "https://twitter.com/rytis81/status/852784878428995584", + "url_original": null + }, + { + "url": "https://twitter.com/quemonadacarmen/status/852230748060897280", + "url_original": null + }, + { + "url": "https://t.co/TAG1BSW19h", + "url_original": null + }, + { + "url": "https://t.co/lw4md9ngDN", + "url_original": null + }, + { + "url": "https://t.co/3tYjJMvrFJ", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "3ants D&S", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + } + ], + "meta": { + "total_entries": 113766, + "total_pages": 2276, + "query": { + "term": null, + "date_received_facet": "from" + }, + "previous_page": null, + "current_page": 1, + "next_page": null, + "facets": { + "tag_list_facet": { + "other": 0, + "terms": [ + { + "term": "text", + "count": 4 + }, + { + "term": "music", + "count": 1 + } + ], + "_type": "terms", + "total": 5, + "missing": 113935 + }, + "date_received_facet": { + "ranges": [ + { + "from_str": "2017-04-13T00:00:00.000-04:00", + "min": 1492057171000.0, + "total_count": 109, + "mean": 1492097873587.156, + "to_str": "2017-04-14T00:00:00.000-04:00", + "count": 109, + "max": 1492140903000.0, + "to": 1492142400000.0, + "from": 1492056000000.0, + "total": 162638668221000.0 + }, + { + "from_str": "2017-03-14T00:00:00.000-04:00", + "min": 1489468730000.0, + "total_count": 4053, + "mean": 1490809902883.543, + "to_str": "2017-04-14T00:00:00.000-04:00", + "count": 4053, + "max": 1492140903000.0, + "to": 1492142400000.0, + "from": 1489464000000.0, + "total": 6042252536387000.0 + }, + { + "from_str": "2016-10-14T00:00:00.000-04:00", + "min": 1476422799000.0, + "total_count": 20946, + "mean": 1484287807663.8499, + "to_str": "2017-04-14T00:00:00.000-04:00", + "count": 20946, + "max": 1492140903000.0, + "to": 1492142400000.0, + "from": 1476417600000.0, + "total": 3.1089892419327e+16 + }, + { + "from_str": "2016-04-14T00:00:00.000-04:00", + "min": 1460607552000.0, + "total_count": 49590, + "mean": 1475370537300.6455, + "to_str": "2017-04-14T00:00:00.000-04:00", + "count": 49590, + "max": 1492140903000.0, + "to": 1492142400000.0, + "from": 1460606400000.0, + "total": 7.3163624944739e+16 + } + ], + "_type": "range" + }, + "topic_facet": { + "other": 1, + "terms": [ + { + "term": "Copyright", + "count": 113940 + }, + { + "term": "DMCA Safe Harbor", + "count": 23682 + }, + { + "term": "DMCA Notices", + "count": 19166 + }, + { + "term": "Uncategorized", + "count": 996 + }, + { + "term": "International", + "count": 146 + }, + { + "term": "Court Orders", + "count": 5 + }, + { + "term": "Responses", + "count": 4 + }, + { + "term": "Lumen", + "count": 4 + }, + { + "term": "Copyright and Fair Use", + "count": 4 + }, + { + "term": "Defamation", + "count": 2 + } + ], + "_type": "terms", + "total": 157950, + "missing": 0 + }, + "country_code_facet": { + "other": 0, + "terms": [ + { + "term": "US", + "count": 113388 + }, + { + "term": "", + "count": 43 + }, + { + "term": "us", + "count": 6 + }, + { + "term": "gb", + "count": 1 + }, + { + "term": "Br", + "count": 1 + }, + { + "term": "94", + "count": 1 + } + ], + "_type": "terms", + "total": 113440, + "missing": 500 + }, + "sender_name_facet": { + "other": 63545, + "terms": [ + { + "term": " - ", + "count": 19542 + }, + { + "term": "Authorized agent", + "count": 4694 + }, + { + "term": "Director of Anti-Piracy", + "count": 3739 + }, + { + "term": "Web Sheriff", + "count": 2991 + }, + { + "term": "Remove Your Media LLC.", + "count": 2916 + }, + { + "term": "Liga Nacional de Fútbol Profesional", + "count": 2829 + }, + { + "term": "Recording Industry Association of America, Inc. (RIAA)", + "count": 2202 + }, + { + "term": "Legal Counsel", + "count": 1960 + }, + { + "term": "Adobe Systems Incorporated", + "count": 1582 + }, + { + "term": "Copyright Integrity International", + "count": 1216 + } + ], + "_type": "terms", + "total": 107216, + "missing": 6724 + }, + "submitter_name_facet": { + "other": 0, + "terms": [ + { + "term": "twitter", + "count": 41616 + }, + { + "term": "inc", + "count": 41616 + }, + { + "term": "private", + "count": 1 + }, + { + "term": "kittos", + "count": 1 + }, + { + "term": "david", + "count": 1 + } + ], + "_type": "terms", + "total": 83235, + "missing": 72322 + }, + "submitter_country_code_facet": { + "other": 0, + "terms": [ + { + "term": "usa", + "count": 8966 + } + ], + "_type": "terms", + "total": 8966, + "missing": 104974 + }, + "action_taken_facet": { + "other": 0, + "terms": [ + { + "term": "Yes", + "count": 113855 + }, + { + "term": "", + "count": 80 + }, + { + "term": "No", + "count": 4 + }, + { + "term": "Partial", + "count": 1 + } + ], + "_type": "terms", + "total": 113940, + "missing": 0 + }, + "recipient_name_facet": { + "other": 0, + "terms": [ + { + "term": "Twitter", + "count": 113810 + }, + { + "term": "Twitter, Inc.", + "count": 112 + }, + { + "term": "Twitter, Inc", + "count": 10 + }, + { + "term": "Twitter Inc.", + "count": 3 + }, + { + "term": "Twitter user @spin", + "count": 1 + }, + { + "term": "Twitter Trust and Safety", + "count": 1 + }, + { + "term": "Twitter -Vine", + "count": 1 + }, + { + "term": "Site http://www.celebrinando.com/ Perfil de Twitter @CelebrinandoRJ", + "count": 1 + }, + { + "term": "Emplacement / Bacau , Str. Pictor Aman Nr. 94 Romania E-mail / waldliebefamilien @ gmail.com Sur internet / Site web/ Twitter/ Facebook/ Discogs/ Soundcloud/", + "count": 1 + } + ], + "_type": "terms", + "total": 113940, + "missing": 0 + }, + "principal_name_facet": { + "other": 33035, + "terms": [ + { + "term": "IFPI", + "count": 2494 + }, + { + "term": "MX International Inc", + "count": 1964 + }, + { + "term": "CANAL+ GROUP", + "count": 1039 + }, + { + "term": "Magnolia Pictures", + "count": 992 + }, + { + "term": "Japan Creative Contents Alliance LLC", + "count": 961 + }, + { + "term": "Entura International", + "count": 800 + }, + { + "term": "Universal Music Group", + "count": 779 + }, + { + "term": "MAGNOLIA PICTURES INC.", + "count": 772 + }, + { + "term": "Copyright Integrity International", + "count": 694 + }, + { + "term": "ITMPA", + "count": 544 + } + ], + "_type": "terms", + "total": 44074, + "missing": 69866 + }, + "language_facet": { + "other": 0, + "terms": [ + { + "term": "en", + "count": 27 + }, + { + "term": "", + "count": 19 + }, + { + "term": "tr", + "count": 7 + }, + { + "term": "en-GB", + "count": 2 + }, + { + "term": "pt", + "count": 1 + } + ], + "_type": "terms", + "total": 56, + "missing": 113884 + } + }, + "offset": 0, + "per_page": 50 + } + +} \ No newline at end of file diff --git a/tests/test_controllers.py b/tests/test_controllers.py index de1dd94..5999acd 100644 --- a/tests/test_controllers.py +++ b/tests/test_controllers.py @@ -10,10 +10,13 @@ import app.controllers.subreddit_controller import app.controllers.comment_controller import app.controllers.moderator_controller +import app.controllers.lumen_controller +import app.controllers.twitter_controller from utils.common import PageType, DbEngine, json2obj +import requests ### LOAD THE CLASSES TO TEST -from app.models import Base, FrontPage, SubredditPage, Subreddit, Post, ModAction, Comment, User +from app.models import Base, FrontPage, SubredditPage, Subreddit, Post, ModAction, Comment, User, LumenNotice, LumenNoticeToTwitterUser import app.cs_logger ## SET UP THE DATABASE ENGINE @@ -32,7 +35,9 @@ def clear_all_tables(): db_session.query(User).delete() db_session.query(ModAction).delete() db_session.query(Comment).delete() - db_session.commit() + db_session.query(LumenNotice).delete() + db_session.query(LumenNoticeToTwitterUser).delete() + db_session.commit() def setup_function(function): clear_all_tables() @@ -88,8 +93,8 @@ def test_archive_reddit_front_page(mock_subreddit, mock_reddit): """ - basic test for method archive_subreddit_page to insert timestamped pages to subreddit_pages table. - analogous to test_archive_reddit_front_page. +#### basic test for method archive_subreddit_page to insert timestamped pages to subreddit_pages table. +#### analogous to test_archive_reddit_front_page. """ @patch('praw.Reddit', autospec=True) @patch('praw.objects.Subreddit', autospec=True) @@ -702,3 +707,75 @@ def test_archive_mod_action_page(mock_reddit): last_action_id = mac.archive_mod_action_page(after_id = mod_action_fixtures[0][-1]['id']) assert db_session.query(ModAction).count() == len(mod_action_fixtures[0]) + len(mod_action_fixtures[1]) assert last_action_id == mod_action_fixtures[1][-1]['id'] + + + +@patch('lumen_connect.connection.LumenConnect', autospec=True) +@patch('twitter_connect.connection.TwitterConnect', autospec=True) +def test_archive_lumen_notices(mock_TwitterConnect, mock_LumenConnect): + lc = mock_LumenConnect.return_value + tc = mock_TwitterConnect.return_value + with open("{script_dir}/fixture_data/lumen_notices.json".format(script_dir=TEST_DIR)) as f: + data = f.read() + lc.get_search.return_value = json.loads(data) + + patch('lumen_connect.') + patch('twitter_connect.') + + assert len(db_session.query(LumenNotice).all()) == 0 + + log = app.cs_logger.get_logger(ENV, BASE_DIR) + lumen = app.controllers.lumen_controller.LumenController(db_session, lc, tc, log) + + topics = ["Copyright"] + date = datetime.datetime.utcnow() # dummy date + lumen.archive_lumen_notices(topics, date, False) + + all_notices = db_session.query(LumenNotice).all() + assert len(all_notices) == 50 + + +def mocked_requests_get(url): + class MockResponse: + def __init__(self, url): + self.url = url + if "t.co" in url: + self.url = "https://twitter.com/this_was_tco" + + def url(self): + return self.url + + return MockResponse(url) + +@patch('requests.get', side_effect=mocked_requests_get) +def test_helper_parse_url_for_username(mock_get): + test_cases = [ + ("https://twitter.com/sooos243/status/852942353321140224", "sooos243"), + ("https://t.co/cDdD0cNOFd", "this_was_tco"), + ("any other domain or string actually", None) + ] + + for (url, result) in test_cases: + assert app.controllers.lumen_controller.helper_parse_url_for_username(url) == result + +@patch('requests.get', autospec=True) +@patch('lumen_connect.connection.LumenConnect', autospec=True) +@patch('twitter_connect.connection.TwitterConnect', autospec=True) +def test_parse_notices_archive_users(mock_TwitterConnect, mock_LumenConnect, mock_get): + lc = mock_LumenConnect.return_value + tc = mock_TwitterConnect.return_value + patch('lumen_connect.') + patch('twitter_connect.') + + assert len(db_session.query(LumenNoticeToTwitterUser).all()) == 0 + + log = app.cs_logger.get_logger(ENV, BASE_DIR) + lumen = app.controllers.lumen_controller.LumenController(db_session, lc, tc, log) + + with open("{script_dir}/fixture_data/lumen_notices.json".format(script_dir=TEST_DIR)) as f: + data = json.loads(f.read()) + notices = data["notices"][:5] # to make test faster + + lumen.parse_notices_archive_users(notices, False) + all_notices = db_session.query(LumenNoticeToTwitterUser).all() + assert len(all_notices) == 8 \ No newline at end of file diff --git a/tests/test_lumen.py b/tests/test_lumen.py new file mode 100644 index 0000000..1e1826e --- /dev/null +++ b/tests/test_lumen.py @@ -0,0 +1,72 @@ +import lumen_connect.connection +import os +import simplejson as json +from sqlalchemy import create_engine +from sqlalchemy.orm import sessionmaker +import glob, datetime +from mock import Mock, patch +from app.models import Base, PrawKey +from utils.common import DbEngine + +TEST_DIR = os.path.dirname(os.path.realpath(__file__)) + +os.environ['CS_ENV'] ="test" + +def setup_function(function): + pass + +def teardown_function(function): + pass + + +# TODO: write tests +@patch('lumen_connect.connection.LumenConnect', autospec=True) +def test_archive_lumen_notices(mock_LumenConnect): + lc = mock_LumenConnect.return_value + with open("{script_dir}/fixture_data/lumen_notices.json".format(script_dir=TEST_DIR)) as f: + data = f.read() + lc.get_search.return_value = json.loads(data) + patch('lumen_connect.') + + ## NOW START THE TEST + payload = { + "topics": ["Copyright"], + "per_page": 50, + "page": 1, + "sort_by": "date_received desc", + "recipient_name": "Twitter" + } + data_json = lc.get_search(payload) + notices_json = data_json["notices"] + assert type(notices_json) == list + assert len(notices_json) == 50 + +""" +@patch('lumen.connection.LumenConnect', autospec=True) +def test_post_get_notes(mock_Lumenconnect): + snc = mock_Lumenconnect.return_value + users = ["natematias", "merrymou"] + with open("{script_dir}/fixture_data/lumen_notes.json".format(script_dir=TEST_DIR)) as f: + data = f.read() + snc.post_get_notes.return_value = json.loads(data) + patch('lumen.') + + ## NOW START THE TEST + res_json = snc.post_get_notes(users) + assert type(res_json) == dict + assert len(res_json) == 2 + assert len(res_json[users[0]]) == 3 + +@patch('lumen.connection.LumenConnect', autospec=True) +def test_get_schemas(mock_Lumenconnect): + snc = mock_Lumenconnect.return_value + with open("{script_dir}/fixture_data/lumen_schemas.json".format(script_dir=TEST_DIR)) as f: + data = f.read() + snc.get_schemas.return_value = json.loads(data) + patch('lumen.') + + ## NOW START THE TEST + res_json = snc.get_schemas() + assert type(res_json) == list + assert len(res_json) == 2 +""" \ No newline at end of file diff --git a/utils/common.py b/utils/common.py index 353bc39..9608aef 100644 --- a/utils/common.py +++ b/utils/common.py @@ -1,7 +1,7 @@ from enum import Enum import simplejson as json from collections import namedtuple - +import datetime class PageType(Enum): TOP = 1 @@ -72,4 +72,9 @@ def get_all_children(self): return [] def __str__(self): - return str(self.id) \ No newline at end of file + return str(self.id) + + +def time_since_epoch_ms(dt): + epoch = datetime.datetime.utcfromtimestamp(0) + return (dt - epoch).total_seconds() * 1000.0 \ No newline at end of file From 057dd282886edb23161dec7dd12350aa22b864c1 Mon Sep 17 00:00:00 2001 From: mmou Date: Sun, 16 Apr 2017 01:07:38 -0400 Subject: [PATCH 002/221] add lumen models, connect, controller, tests --- .../versions/9c8b30569bdf_add_lumen_tables.py | 112 + app/controller.py | 15 +- app/controllers/lumen_controller.py | 131 + app/models.py | 36 +- lumen_connect/__init__.py | 0 lumen_connect/connection.py | 38 + requirements.txt | 1 + tests/fixture_data/lumen_notices.json | 5316 +++++++++++++++++ tests/test_controllers.py | 85 +- tests/test_lumen.py | 72 + utils/common.py | 9 +- 11 files changed, 5805 insertions(+), 10 deletions(-) create mode 100644 alembic/versions/9c8b30569bdf_add_lumen_tables.py create mode 100644 app/controllers/lumen_controller.py create mode 100644 lumen_connect/__init__.py create mode 100644 lumen_connect/connection.py create mode 100644 tests/fixture_data/lumen_notices.json create mode 100644 tests/test_lumen.py diff --git a/alembic/versions/9c8b30569bdf_add_lumen_tables.py b/alembic/versions/9c8b30569bdf_add_lumen_tables.py new file mode 100644 index 0000000..515396e --- /dev/null +++ b/alembic/versions/9c8b30569bdf_add_lumen_tables.py @@ -0,0 +1,112 @@ +"""add lumen tables + +Revision ID: 9c8b30569bdf +Revises: 16dbded8a5cf +Create Date: 2017-04-16 00:00:36.296975 + +""" + +# revision identifiers, used by Alembic. +revision = '9c8b30569bdf' +down_revision = '16dbded8a5cf' +branch_labels = None +depends_on = None + +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import mysql + +def upgrade(engine_name): + globals()["upgrade_%s" % engine_name]() + + +def downgrade(engine_name): + globals()["downgrade_%s" % engine_name]() + + + + + +def upgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('lumen_notice_to_twitter_user', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('notice_id', sa.Integer(), nullable=True), + sa.Column('twitter_username', sa.String(length=64), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_table('lumen_notices', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('date_received', sa.DateTime(), nullable=True), + sa.Column('sender', sa.String(length=64), nullable=True), + sa.Column('principal', sa.String(length=64), nullable=True), + sa.Column('recipient', sa.String(length=64), nullable=True), + sa.Column('num_infringing_urls', sa.Integer(), nullable=True), + sa.Column('notice_data', mysql.MEDIUMTEXT(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + # ### end Alembic commands ### + + +def downgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_table('lumen_notices') + op.drop_table('lumen_notice_to_twitter_user') + # ### end Alembic commands ### + + +def upgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('lumen_notice_to_twitter_user', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('notice_id', sa.Integer(), nullable=True), + sa.Column('twitter_username', sa.String(length=64), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_table('lumen_notices', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('date_received', sa.DateTime(), nullable=True), + sa.Column('sender', sa.String(length=64), nullable=True), + sa.Column('principal', sa.String(length=64), nullable=True), + sa.Column('recipient', sa.String(length=64), nullable=True), + sa.Column('num_infringing_urls', sa.Integer(), nullable=True), + sa.Column('notice_data', mysql.MEDIUMTEXT(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + # ### end Alembic commands ### + + +def downgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_table('lumen_notices') + op.drop_table('lumen_notice_to_twitter_user') + # ### end Alembic commands ### + + +def upgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('lumen_notice_to_twitter_user', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('notice_id', sa.Integer(), nullable=True), + sa.Column('twitter_username', sa.String(length=64), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_table('lumen_notices', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('date_received', sa.DateTime(), nullable=True), + sa.Column('sender', sa.String(length=64), nullable=True), + sa.Column('principal', sa.String(length=64), nullable=True), + sa.Column('recipient', sa.String(length=64), nullable=True), + sa.Column('num_infringing_urls', sa.Integer(), nullable=True), + sa.Column('notice_data', mysql.MEDIUMTEXT(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + # ### end Alembic commands ### + + +def downgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_table('lumen_notices') + op.drop_table('lumen_notice_to_twitter_user') + # ### end Alembic commands ### + diff --git a/app/controller.py b/app/controller.py index acc1fd5..1c51599 100644 --- a/app/controller.py +++ b/app/controller.py @@ -1,15 +1,19 @@ import inspect, os, sys, yaml import simplejson as json import reddit.connection +import lumen_connect.connection +import twitter_connect.connection import app.controllers.front_page_controller import app.controllers.subreddit_controller import app.controllers.comment_controller import app.controllers.moderator_controller import app.controllers.sticky_comment_experiment_controller +import app.controllers.lumen_controller +import app.controllers.twitter_controller from utils.common import PageType, DbEngine import app.cs_logger from app.models import Base, SubredditPage, Subreddit, Post, ModAction, Experiment - +import datetime ### LOAD ENVIRONMENT VARIABLES BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), "..") @@ -22,6 +26,8 @@ log = app.cs_logger.get_logger(ENV, BASE_DIR) conn = reddit.connection.Connect() +lumen_conn = lumen_connect.connection.LumenConnect(log) +twitter_conn = twitter_connect.connection.TwitterConnect(log) def fetch_reddit_front(page_type=PageType.TOP): r = conn.connect(controller="FetchRedditFront") @@ -121,3 +127,10 @@ def archive_experiment_submission_metadata(experiment_name): ) sce.archive_experiment_submission_metadata() + +def archive_lumen_notices(): + l = app.controllers.lumen_controller.LumenController(db_session, lumen_conn, twitter_conn, log) + + topics = ["Copyright"] # "Government Requests", #["Defamation","Protest, Parody and Criticism Sites","Law Enforcement Requests","International","Government Requests","DMCA Subpoenas","Court Orders"] + date = datetime.datetime.utcnow() - datetime.timedelta(days=1) # now-1day + l.archive_lumen_notices(topics, date) \ No newline at end of file diff --git a/app/controllers/lumen_controller.py b/app/controllers/lumen_controller.py new file mode 100644 index 0000000..738d88e --- /dev/null +++ b/app/controllers/lumen_controller.py @@ -0,0 +1,131 @@ +import simplejson as json +import datetime +from app.models import Base, LumenNotice, LumenNoticeToTwitterUser +import utils.common +import requests +import app.controllers.twitter_controller +import sqlalchemy + +class LumenController(): + def __init__(self, db_session, l, t, log): + self.db_session = db_session + self.l = l + self.t = t + self.log = log + + # archives lumen notices since date til now(+1day) + # if parse_for_users True, calls self.parse_notices_archive_users + def archive_lumen_notices(self, topics, date, parse_for_users=True): + print("arhicivng") + nowish = datetime.datetime.utcnow() + datetime.timedelta(days=1) + for topic in topics: + next_page = 1 + while next_page is not None: + + payload = { + "topics": [topic], + "per_page": 50, + "page": next_page, + "sort_by": "date_received desc", + "recipient_name": "Twitter", + "date_received_facet": { + "from": utils.common.time_since_epoch_ms(date), + "to": utils.common.time_since_epoch_ms(nowish) + } + } + + data = self.l.get_search(payload) + notices_json = data["notices"] + next_page = data["meta"]["next_page"] + + added_notices = [] + for notice in notices_json: + queried_notice = self.db_session.query(LumenNotice).filter(LumenNotice.id == notice["id"]).first() + if not queried_notice: + sender = (notice["sender_name"].encode("utf-8", "replace") if notice["sender_name"] else "") + principal = (notice["principal_name"].encode("utf-8", "replace") if notice["principal_name"] else "") + recipient = (notice["recipient_name"].encode("utf-8", "replace") if notice["recipient_name"] else "") + num_infringing_urls = len(notice["works"][0]["infringing_urls"]) if len(notice["works"]) > 0 else 0 + notice_record = LumenNotice( + id = notice["id"], + date_received = datetime.datetime.strptime(notice["date_received"], '%Y-%m-%dT%H:%M:%S.000Z'), # expect string like "2017-04-15T22:28:26.000Z" + sender = sender, + principal = principal, + recipient = recipient, + num_infringing_urls = num_infringing_urls, + notice_data = json.dumps(notice).encode("utf-8", "replace") + ) + self.db_session.add(notice_record) + added_notices.append(notice) + try: + self.db_session.commit() + self.log.info("Saved {0} lumen notices.".format(len(added_notices))) + except: + self.log.error("Error while saving DB Session") + + if parse_for_users: # this boolean is for unit testing purposes + self.parse_notices_archive_users(added_notices) + + # expecting ~50 notices + # if archive_users true, also calls TwitterController (boolean exists for testing purposes) + def parse_notices_archive_users(self, notices, archive_users=True): + for notice in notices: + users = set([]) + for work in notice["works"]: + # infringing_urls is known to contain urls + for url_obj in work["infringing_urls"]: + url = url_obj["url"] + username = helper_parse_url_for_username(url) + if username: + users.add(username) + if notice["body"]: # I've only seen this null + self.log.error("method helper_parse_notices_archive_users: maybe missed something in notice['body']; notice id = {0}".format(notice["id"])) + if len(work["copyrighted_urls"]) > 0: # I've only seen this empty + self.log.error("method helper_parse_notices_archive_users: maybe missed something in notice['works']['copyrighted_urls']; notice id = {0}".format(notice["id"])) + if work["description"]: # I've only seen this null + self.log.error("method helper_parse_notices_archive_users: maybe missed something in notice['works']['description']; notice id = {0}".format(notice["id"])) + + for username in users: + notice_user_record = LumenNoticeToTwitterUser( + notice_id = notice["id"], + twitter_username = username) + self.db_session.add(notice_user_record) + try: + self.db_session.commit() + self.log.info("Saved {0} users.".format(len(users))) + except: + self.log.error("Error while saving DB Session") + + # calls the twitter controller + if archive_users: + self.t.archive_users(users_to_notices.keys()) + + +# assume url is of the form 'https://twitter.com/sooos243/status/852942353321140224' +# OR check if a t.co url extends to a twitter.com url +# interesting later study: see how many t.co links resolve to twitter links? +def helper_parse_url_for_username(url): + twitter_domain = "twitter.com" + tco_domain = "t.co" + username = None + url_split = url.split("/") + + if len(url_split) >= 3 and url_split[2] == tco_domain: + # try to get request and unshorten the url + try: + r = requests.get(url) + if r: + url = r.url + url_split = url.split("/") + else: + raise Exception + except: + return None + + if url == "https://twitter.com/account/suspended": + # TODO: then we have no information. what should we do about them? should we count these? + return None + + if len(url_split) >= 3 and url_split[2] == twitter_domain: + username = url_split[3] + return username \ No newline at end of file diff --git a/app/models.py b/app/models.py index b140540..aa1634c 100644 --- a/app/models.py +++ b/app/models.py @@ -173,6 +173,36 @@ class ExperimentAction(Base): metadata_json = Column(MEDIUMTEXT) - - - +class LumenNotice(Base): + __tablename__ = 'lumen_notices' + id = Column(Integer, primary_key = True) + date_received = Column(DateTime, default=datetime.datetime.utcnow) + sender = Column(String(64)) + principal = Column(String(64)) + recipient = Column(String(64)) + num_infringing_urls = Column(Integer) + notice_data = Column(MEDIUMTEXT) + + + +# TODO: don't do foreign keys?? +class LumenNoticeToTwitterUser(Base): + __tablename__ = 'lumen_notice_to_twitter_user' + id = Column(Integer, primary_key = True) + notice_id = Column(Integer) + twitter_username = Column(String(64)) + +""" +class TwitterUser(Base): + username + profile characteristics... + status - suspended, deleted + total number of Tweets + + +class TwitterStatus(Base): + id + date + user + tweet_data +""" \ No newline at end of file diff --git a/lumen_connect/__init__.py b/lumen_connect/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lumen_connect/connection.py b/lumen_connect/connection.py new file mode 100644 index 0000000..458a562 --- /dev/null +++ b/lumen_connect/connection.py @@ -0,0 +1,38 @@ +import requests +import simplejson as json +import os, inspect +#import pickle +#from app.models import Base +#from sqlalchemy import create_engine +#from sqlalchemy.orm import sessionmaker +#import sqlalchemy +#from utils.common import DbEngine + +ENV = os.environ['CS_ENV'] + +class LumenConnect(): + def __init__(self, log): + BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), "..") + lumen_config_path = os.path.join(BASE_DIR, "config") + "/lumen_auth_" + ENV + ".json" + + with open(lumen_config_path, 'r') as config: + LUMENCONFIG = json.loads(config.read()) + + self.headers = { + "Content-type": "application/json", + "Accept": "application/json", + "X-Authentication-Token": LUMENCONFIG["X-Authentication-Token"] + } + self.log = log + + def get(self, url, payload): + r = requests.get(url, + params=payload, + headers=self.headers) + if r.status_code == 200: + return json.loads(r.text) + else: + self.log.info("Error querying usernames with notes. Status code {0}".format(r.status_code)) + + def get_search(self, payload): + return self.get("https://Lumendatabase.org/notices/search", payload) \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index e6b897a..e424ff7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -14,3 +14,4 @@ airbrake pyyaml pytz numpy +python-twitter diff --git a/tests/fixture_data/lumen_notices.json b/tests/fixture_data/lumen_notices.json new file mode 100644 index 0000000..2a14111 --- /dev/null +++ b/tests/fixture_data/lumen_notices.json @@ -0,0 +1,5316 @@ +{ + + "notices": [ + { + "score": null, + "id": 14197431, + "tags": [ ], + "date_received": "2017-04-14T21:58:58.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/masrarabiasport/status/852988222137389058", + "url_original": null + }, + { + "url": "https://t.co/kGA6kEjVSr", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Kijamii for Internet Service", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197398, + "tags": [ ], + "date_received": "2017-04-14T19:53:04.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/afrosnugglz/status/725073537535479808", + "url_original": null + }, + { + "url": "https://t.co/RclrCP43tF", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Freelance", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197394, + "tags": [ ], + "date_received": "2017-04-14T19:52:19.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/escotsindubai/status/852877864512966656", + "url_original": null + }, + { + "url": "https://t.co/PLVakt0orP", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Lady Celebrity", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197397, + "tags": [ ], + "date_received": "2017-04-14T19:50:33.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/thetruevoicetv/status/852970600641384448", + "url_original": null + }, + { + "url": "https://twitter.com/dyoathletic/status/825817401832923137", + "url_original": null + }, + { + "url": "https://twitter.com/athleticfanspag/status/826038557026430976", + "url_original": null + }, + { + "url": "https://t.co/Spw7fmvYLc", + "url_original": null + }, + { + "url": "https://t.co/MPbS4ehu2N", + "url_original": null + }, + { + "url": "https://t.co/d790du2o7R", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Liga Nacional de Fútbol Profesional", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197346, + "tags": [ ], + "date_received": "2017-04-14T19:20:23.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/marceloroger435/status/852962549712773120", + "url_original": null + }, + { + "url": "https://twitter.com/arranobaltzaa/status/849386261567680512", + "url_original": null + }, + { + "url": "https://t.co/wpWJOm6y7x", + "url_original": null + }, + { + "url": "https://t.co/vGFavPfYW8", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Liga Nacional de Fútbol Profesional", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197408, + "tags": [ ], + "date_received": "2017-04-14T19:19:46.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/tailsdoll553/status/845623793057906690", + "url_original": null + }, + { + "url": "https://t.co/LzUYQNEOWc", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": " - ", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197406, + "tags": [ ], + "date_received": "2017-04-14T19:19:35.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/tailsdoll553/status/845945455729029120", + "url_original": null + }, + { + "url": "https://t.co/5edNziCjCH", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": " - ", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197272, + "tags": [ ], + "date_received": "2017-04-14T19:17:55.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/yasser7ob787/status/852961176258576387", + "url_original": null + }, + { + "url": "https://twitter.com/world_saudi2013/status/852957624026976256", + "url_original": null + }, + { + "url": "https://twitter.com/u54547/status/852960895189889024", + "url_original": null + }, + { + "url": "https://twitter.com/snd_ds/status/852961922161025025", + "url_original": null + }, + { + "url": "https://twitter.com/skdjhasjgdagshf/status/852956711535210499", + "url_original": null + }, + { + "url": "https://twitter.com/nayf1438/status/852962666503184384", + "url_original": null + }, + { + "url": "https://twitter.com/mzi71/status/852952965572952064", + "url_original": null + }, + { + "url": "https://twitter.com/dawrisaudi4k/status/852946469795618816", + "url_original": null + }, + { + "url": "https://twitter.com/calpsoslewpcp1h/status/852959043274637312", + "url_original": null + }, + { + "url": "https://twitter.com/alnah65484hy/status/852962783733977089", + "url_original": null + }, + { + "url": "https://twitter.com/aln5954hy/status/852962199022817280", + "url_original": null + }, + { + "url": "https://twitter.com/akhbarr24/status/852956792158113794", + "url_original": null + }, + { + "url": "https://t.co/vX4cB2cvf3", + "url_original": null + }, + { + "url": "https://t.co/UyXGvOY6zN", + "url_original": null + }, + { + "url": "https://t.co/P2bqfvSays", + "url_original": null + }, + { + "url": "https://t.co/nnFd2Ta5Jm", + "url_original": null + }, + { + "url": "https://t.co/lKqJAID0DE", + "url_original": null + }, + { + "url": "https://t.co/lFawVum8fU", + "url_original": null + }, + { + "url": "https://t.co/HtLXzLMs8d", + "url_original": null + }, + { + "url": "https://t.co/E00IRKzlXl", + "url_original": null + }, + { + "url": "https://t.co/DU5ibJujV1", + "url_original": null + }, + { + "url": "https://t.co/bMEndvb0tG", + "url_original": null + }, + { + "url": "https://t.co/aWSSZjUjga", + "url_original": null + }, + { + "url": "https://t.co/adkF9jbYcT", + "url_original": null + }, + { + "url": "https://t.co/9K36aSIWsJ", + "url_original": null + }, + { + "url": "https://t.co/4RTg08zxs1", + "url_original": null + }, + { + "url": "https://t.co/4jVxPwvt1l", + "url_original": null + }, + { + "url": "https://t.co/3bRGXiBIad", + "url_original": null + }, + { + "url": "https://t.co/ZauN6bCvui", + "url_original": null + }, + { + "url": "https://t.co/nqGu6WNIk3", + "url_original": null + }, + { + "url": "https://t.co/GQnkktwgpt", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Dawri Plus", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197389, + "tags": [ ], + "date_received": "2017-04-14T19:16:45.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "http://twitter.com/zaynoo55/status/698227988672937984", + "url_original": null + }, + { + "url": "http://twitter.com/wasifwah/status/702175324050690050", + "url_original": null + }, + { + "url": "http://twitter.com/wa5imm/status/702548651151912960", + "url_original": null + }, + { + "url": "http://twitter.com/vishalprash/status/704496060513660928", + "url_original": null + }, + { + "url": "http://twitter.com/thotas9999/status/849652757640355840", + "url_original": null + }, + { + "url": "http://twitter.com/thilangura/status/697081932304224256", + "url_original": null + }, + { + "url": "http://twitter.com/sureshrcs/status/703481506921054208", + "url_original": null + }, + { + "url": "http://twitter.com/sunil_k1/status/711141430727741440", + "url_original": null + }, + { + "url": "https://t.co/vFLag2DSPl", + "url_original": null + }, + { + "url": "https://t.co/uuGyZzvdAC.", + "url_original": null + }, + { + "url": "https://t.co/sSo70tyPfL", + "url_original": null + }, + { + "url": "https://t.co/qNCYyflMbN", + "url_original": null + }, + { + "url": "https://t.co/pM4R5hyo7x", + "url_original": null + }, + { + "url": "https://t.co/HfYtT0Qhm3", + "url_original": null + }, + { + "url": "https://t.co/czIaSu6pC8", + "url_original": null + }, + { + "url": "https://t.co/b2mRstHqty", + "url_original": null + }, + { + "url": "https://t.co/1Ftx5vUSfs", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Copyright Integrity International", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197371, + "tags": [ ], + "date_received": "2017-04-14T19:10:24.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/_goropa_/status/848253391914631168", + "url_original": null + }, + { + "url": "https://t.co/SCfefmTF1O", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Liga Nacional de Fútbol Profesional", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197288, + "tags": [ ], + "date_received": "2017-04-14T19:08:22.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/so6an_999/status/852957664493654018", + "url_original": null + }, + { + "url": "https://twitter.com/samiafox2/status/852957384020566017", + "url_original": null + }, + { + "url": "https://twitter.com/news_glo/status/852957156349546497", + "url_original": null + }, + { + "url": "https://twitter.com/mhamdalshrary/status/852955497561034752", + "url_original": null + }, + { + "url": "https://twitter.com/janaalshammry/status/852957848355053572", + "url_original": null + }, + { + "url": "https://twitter.com/bein720/status/852960552359997440", + "url_original": null + }, + { + "url": "https://t.co/ZJ7Ov2oqUg", + "url_original": null + }, + { + "url": "https://t.co/xn4xCD02oQ", + "url_original": null + }, + { + "url": "https://t.co/vNHxo9fgNG", + "url_original": null + }, + { + "url": "https://t.co/uc43oQ3q1K", + "url_original": null + }, + { + "url": "https://t.co/iNdKsStaBH", + "url_original": null + }, + { + "url": "https://t.co/igWHeUPJRO", + "url_original": null + }, + { + "url": "https://t.co/b4NBRg78vS", + "url_original": null + }, + { + "url": "https://twitter.com/world_saudi2013/status/852957624026976256", + "url_original": null + }, + { + "url": "https://t.co/ZauN6bCvui", + "url_original": null + }, + { + "url": "https://t.co/4RTg08zxs1", + "url_original": null + }, + { + "url": "https://t.co/1vIlhj68jX", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Dawri PLus", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197042, + "tags": [ ], + "date_received": "2017-04-14T19:07:44.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "http://twitter.com/snaqvi97/status/702192510219763712", + "url_original": null + }, + { + "url": "http://twitter.com/shukrytwitts/status/849631335971000320", + "url_original": null + }, + { + "url": "http://twitter.com/sachin_6600/status/703580540889337856", + "url_original": null + }, + { + "url": "http://twitter.com/rokkingrahman/status/852564755122466816", + "url_original": null + }, + { + "url": "http://twitter.com/rizwan_gillani/status/849617136754601984", + "url_original": null + }, + { + "url": "http://twitter.com/red_log_in/status/849992940587859968", + "url_original": null + }, + { + "url": "http://twitter.com/ranukad/status/833245598438526976", + "url_original": null + }, + { + "url": "http://twitter.com/nitindhanuka/status/702525706983469057", + "url_original": null + }, + { + "url": "http://twitter.com/mrplanner1/status/703299999275290624", + "url_original": null + }, + { + "url": "http://twitter.com/maria_h_k/status/697781471277408257", + "url_original": null + }, + { + "url": "http://twitter.com/kh_masood/status/702192728789164032", + "url_original": null + }, + { + "url": "http://twitter.com/kazztr_/status/850003359687901184", + "url_original": null + }, + { + "url": "http://twitter.com/kazztr_/status/849277634148270081", + "url_original": null + }, + { + "url": "http://twitter.com/imranali27/status/697755127189499904", + "url_original": null + }, + { + "url": "http://twitter.com/ghalibirfann/status/837730569010151424", + "url_original": null + }, + { + "url": "http://twitter.com/ghalibirfann/status/837698517829320704", + "url_original": null + }, + { + "url": "http://twitter.com/engr_naveed111/status/702192176554442752", + "url_original": null + }, + { + "url": "http://twitter.com/ari_franchi/status/852171617035800576", + "url_original": null + }, + { + "url": "http://twitter.com/alluswagg/status/850715240052477952", + "url_original": null + }, + { + "url": "http://twitter.com/abirbcse/status/849976337435578369", + "url_original": null + }, + { + "url": "https://t.co/zrPnQ61RmB", + "url_original": null + }, + { + "url": "https://t.co/ZOLR2kP8Zp", + "url_original": null + }, + { + "url": "https://t.co/yVtUkg9W9K", + "url_original": null + }, + { + "url": "https://t.co/Y7izWRt5TG", + "url_original": null + }, + { + "url": "https://t.co/vlLO3rFSyV", + "url_original": null + }, + { + "url": "https://t.co/V5QVKJMcnA", + "url_original": null + }, + { + "url": "https://t.co/u37GEyOvKb", + "url_original": null + }, + { + "url": "https://t.co/rdcWlb4cmZ", + "url_original": null + }, + { + "url": "https://t.co/P4eVWRHJDG", + "url_original": null + }, + { + "url": "https://t.co/o1SI0aj4y9", + "url_original": null + }, + { + "url": "https://t.co/M5x7kq76zn", + "url_original": null + }, + { + "url": "https://t.co/KVxmVrLD8X", + "url_original": null + }, + { + "url": "https://t.co/HyCqVPgWy1", + "url_original": null + }, + { + "url": "https://t.co/hVAV4BtVo3", + "url_original": null + }, + { + "url": "https://t.co/h3MdVa5YtS", + "url_original": null + }, + { + "url": "https://t.co/gqIcTcg2Yh", + "url_original": null + }, + { + "url": "https://t.co/G9OmxLaahT", + "url_original": null + }, + { + "url": "https://t.co/fPSUS0sdxy", + "url_original": null + }, + { + "url": "https://t.co/bvNx9wn27m", + "url_original": null + }, + { + "url": "https://t.co/8uAXceJvco", + "url_original": null + }, + { + "url": "https://t.co/11Ao0RTxfs", + "url_original": null + }, + { + "url": "https://t.co/xY7eGJX5Kn", + "url_original": null + }, + { + "url": "https://t.co/db4XwDZcYH", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Copyright Integrity International", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197405, + "tags": [ ], + "date_received": "2017-04-14T19:06:49.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/tailsdoll553/status/850195372647436289", + "url_original": null + }, + { + "url": "https://t.co/ezSc10QJGL", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": " - ", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197404, + "tags": [ ], + "date_received": "2017-04-14T19:06:29.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/tailsdoll553/status/851336503212949504", + "url_original": null + }, + { + "url": "https://t.co/bouPCStk9F", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": " - ", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197402, + "tags": [ ], + "date_received": "2017-04-14T19:06:22.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/tailsdoll553/status/852896025773658112", + "url_original": null + }, + { + "url": "https://t.co/phyeVlUlBZ", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": " - ", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197401, + "tags": [ ], + "date_received": "2017-04-14T19:06:18.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/tailsdoll553/status/852900106638512129", + "url_original": null + }, + { + "url": "https://t.co/h2WBzt6Ruk", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": " - ", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197395, + "tags": [ ], + "date_received": "2017-04-14T19:06:16.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/tailsdoll553/status/852901778479751170", + "url_original": null + }, + { + "url": "https://t.co/ESFZc9ktJr", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": " - ", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197205, + "tags": [ ], + "date_received": "2017-04-14T19:00:22.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/pericosafe/status/852268915505991680", + "url_original": null + }, + { + "url": "https://twitter.com/pericosafe/status/848255148434575360", + "url_original": null + }, + { + "url": "https://twitter.com/pericosafe/status/837417093935087616", + "url_original": null + }, + { + "url": "https://twitter.com/mdesantiago1/status/848254510032146433", + "url_original": null + }, + { + "url": "https://twitter.com/judahdavies/status/848928639920087046", + "url_original": null + }, + { + "url": "https://twitter.com/javimerino_93/status/848254104858234885", + "url_original": null + }, + { + "url": "https://twitter.com/hawkapuestas/status/848257619479453698", + "url_original": null + }, + { + "url": "https://twitter.com/elvidibu/status/848259115252162561", + "url_original": null + }, + { + "url": "https://twitter.com/breakingiines/status/840985732676120576", + "url_original": null + }, + { + "url": "https://t.co/z1MFzoKgTj", + "url_original": null + }, + { + "url": "https://t.co/uxIMPdjMRX", + "url_original": null + }, + { + "url": "https://t.co/OroBwRpmYO", + "url_original": null + }, + { + "url": "https://t.co/kGXUx8lQ2h", + "url_original": null + }, + { + "url": "https://t.co/hMinOVBuP6", + "url_original": null + }, + { + "url": "https://t.co/bBetRbcFgx", + "url_original": null + }, + { + "url": "https://t.co/9Q8uN6b5j4", + "url_original": null + }, + { + "url": "https://t.co/38oIxHupPb", + "url_original": null + }, + { + "url": "https://t.co/0C3vPq3CoZ", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Liga Nacional de Fútbol Profesional", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197049, + "tags": [ ], + "date_received": "2017-04-14T18:57:08.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/tailsdoll553/status/852906700294115328", + "url_original": null + }, + { + "url": "https://t.co/hR7M3aGH19", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": " - ", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197110, + "tags": [ ], + "date_received": "2017-04-14T18:54:00.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/v1buees7vktqybm/status/852956171891871746", + "url_original": null + }, + { + "url": "https://twitter.com/trf_00/status/852953572149006338", + "url_original": null + }, + { + "url": "https://twitter.com/tmukqvxardfu5yq/status/852956187003957248", + "url_original": null + }, + { + "url": "https://twitter.com/moollaooeeew/status/852956133652389888", + "url_original": null + }, + { + "url": "https://twitter.com/gizhhfqn3ahk4hd/status/852956370542440448", + "url_original": null + }, + { + "url": "https://twitter.com/fofo_5033/status/852954196982849538", + "url_original": null + }, + { + "url": "https://twitter.com/elhilallive/status/852956165533249536", + "url_original": null + }, + { + "url": "https://twitter.com/elhilallive/status/852950965565218816", + "url_original": null + }, + { + "url": "https://twitter.com/elhilallive/status/852948476036087808", + "url_original": null + }, + { + "url": "https://twitter.com/elhilallive/status/852946259396702208", + "url_original": null + }, + { + "url": "https://twitter.com/elhilallive/status/852943183998791680", + "url_original": null + }, + { + "url": "https://twitter.com/elhilallive/status/852940791433625600", + "url_original": null + }, + { + "url": "https://twitter.com/elhilallive/status/852936757574336512", + "url_original": null + }, + { + "url": "https://twitter.com/beinfull/status/852951241873395712", + "url_original": null + }, + { + "url": "https://twitter.com/bein720/status/852951277025845249", + "url_original": null + }, + { + "url": "https://twitter.com/bein720/status/852947802187608066", + "url_original": null + }, + { + "url": "https://t.co/zcRmmHDJYG", + "url_original": null + }, + { + "url": "https://t.co/XzazKotvHr", + "url_original": null + }, + { + "url": "https://t.co/SbdLaLmHEH", + "url_original": null + }, + { + "url": "https://t.co/QuW6eU52dY", + "url_original": null + }, + { + "url": "https://t.co/QUaV9duRQp", + "url_original": null + }, + { + "url": "https://t.co/MfzjMpiPXf", + "url_original": null + }, + { + "url": "https://t.co/KgY4zvHyxO", + "url_original": null + }, + { + "url": "https://t.co/IyCVY2isvA", + "url_original": null + }, + { + "url": "https://t.co/IQ2dqPHdjY", + "url_original": null + }, + { + "url": "https://t.co/9Ucewfrc36", + "url_original": null + }, + { + "url": "https://t.co/5MlunCQofA", + "url_original": null + }, + { + "url": "https://t.co/3MjUasu54K", + "url_original": null + }, + { + "url": "https://t.co/1Gc1T4xk7b", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Dawri Plus", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197412, + "tags": [ ], + "date_received": "2017-04-14T18:48:36.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/uzomediaonline/status/847706330383040512", + "url_original": null + }, + { + "url": "https://twitter.com/uzomedianews/status/847706353569157120", + "url_original": null + }, + { + "url": "https://twitter.com/temydee/status/847796427807969280", + "url_original": null + }, + { + "url": "https://twitter.com/temydee/status/847792373866409984", + "url_original": null + }, + { + "url": "https://twitter.com/muzomamichael/status/847706343255425029", + "url_original": null + }, + { + "url": "https://twitter.com/gorodova1985/status/848039765043576832", + "url_original": null + }, + { + "url": "https://twitter.com/choockor/status/850564012664381440", + "url_original": null + }, + { + "url": "https://t.co/ZPyw3LiDsi", + "url_original": null + }, + { + "url": "https://t.co/zlKb2mGeUD", + "url_original": null + }, + { + "url": "https://t.co/Yju0rHZZii", + "url_original": null + }, + { + "url": "https://t.co/UNDT59Tvu0", + "url_original": null + }, + { + "url": "https://t.co/syN6F6DFNJ", + "url_original": null + }, + { + "url": "https://t.co/K6VgI1cNFi", + "url_original": null + }, + { + "url": "https://t.co/iUPvIQpuPv", + "url_original": null + }, + { + "url": "https://t.co/IHWkQqa4sD", + "url_original": null + }, + { + "url": "https://t.co/iDa1PRhVAA", + "url_original": null + }, + { + "url": "https://t.co/D0MNsN1dUa", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": " - ", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14197051, + "tags": [ ], + "date_received": "2017-04-14T18:45:58.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/amateursinhose/status/845775533606625280", + "url_original": null + }, + { + "url": "https://t.co/fW0Y1R7jF8", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Aucune", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196987, + "tags": [ ], + "date_received": "2017-04-14T18:36:02.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/yahala_news/status/852951820259528704", + "url_original": null + }, + { + "url": "https://twitter.com/world_saudi2013/status/852951780883353600", + "url_original": null + }, + { + "url": "https://twitter.com/maoaal1223/status/852952619475771392", + "url_original": null + }, + { + "url": "https://twitter.com/lna5hye/status/852951405707108352", + "url_original": null + }, + { + "url": "https://twitter.com/lna5hye/status/852951233442828288", + "url_original": null + }, + { + "url": "https://twitter.com/jojo5265/status/852951227252002816", + "url_original": null + }, + { + "url": "https://twitter.com/iunfm1/status/852951060297785344", + "url_original": null + }, + { + "url": "https://twitter.com/alna654564thy/status/852952015986733060", + "url_original": null + }, + { + "url": "https://twitter.com/aln547848454/status/852952587355795456", + "url_original": null + }, + { + "url": "https://twitter.com/a65489451thy/status/852952863928180736", + "url_original": null + }, + { + "url": "https://t.co/ZauN6bCvui", + "url_original": null + }, + { + "url": "https://t.co/RCFp8TMpAg", + "url_original": null + }, + { + "url": "https://t.co/Oqjr7678Mt", + "url_original": null + }, + { + "url": "https://t.co/ODs24Pr0WP", + "url_original": null + }, + { + "url": "https://t.co/NRaq8d2IB9", + "url_original": null + }, + { + "url": "https://t.co/IE3A7Z5WGb", + "url_original": null + }, + { + "url": "https://t.co/HYSn5Ujdfh", + "url_original": null + }, + { + "url": "https://t.co/GHfQZCcZHH", + "url_original": null + }, + { + "url": "https://t.co/ECm79GbpTl", + "url_original": null + }, + { + "url": "https://t.co/B4TQsEzoMN", + "url_original": null + }, + { + "url": "https://t.co/AxQNSdX7FY", + "url_original": null + }, + { + "url": "https://t.co/5ke4fB1YsS", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Dawri Plus", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196922, + "tags": [ ], + "date_received": "2017-04-14T18:27:28.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/skattt4/status/852949137507135493", + "url_original": null + }, + { + "url": "https://twitter.com/skattt4/status/852949079948742658", + "url_original": null + }, + { + "url": "https://twitter.com/skattt4/status/852948606730600449", + "url_original": null + }, + { + "url": "https://twitter.com/skattt4/status/852948293458034690", + "url_original": null + }, + { + "url": "https://twitter.com/skattt4/status/852948072946700288", + "url_original": null + }, + { + "url": "https://twitter.com/skattt4/status/852940722550566912", + "url_original": null + }, + { + "url": "https://twitter.com/skattt4/status/852937818489966592", + "url_original": null + }, + { + "url": "https://twitter.com/skattt4/status/852585427135598592", + "url_original": null + }, + { + "url": "https://twitter.com/mhamdalshrary/status/852947042108309505", + "url_original": null + }, + { + "url": "https://twitter.com/mhamdalshrary/status/852941534320353283", + "url_original": null + }, + { + "url": "https://twitter.com/mhamdalshrary/status/852937126249463808", + "url_original": null + }, + { + "url": "https://twitter.com/koraliv18715232/status/852948856711114752", + "url_original": null + }, + { + "url": "https://twitter.com/khaledalmoosa/status/852945650052366337", + "url_original": null + }, + { + "url": "https://twitter.com/footballf121/status/852943385019260928", + "url_original": null + }, + { + "url": "https://twitter.com/a654894y/status/852950461791469569", + "url_original": null + }, + { + "url": "https://t.co/zJgI6HoS4G", + "url_original": null + }, + { + "url": "https://t.co/Y82IFUMHUl", + "url_original": null + }, + { + "url": "https://t.co/XLK4j4e9qC", + "url_original": null + }, + { + "url": "https://t.co/wN4MZWqmSn", + "url_original": null + }, + { + "url": "https://t.co/TscOe4vpnT", + "url_original": null + }, + { + "url": "https://t.co/SH8MLz7yD7", + "url_original": null + }, + { + "url": "https://t.co/sFme7Co95h", + "url_original": null + }, + { + "url": "https://t.co/RxPEKtk9By", + "url_original": null + }, + { + "url": "https://t.co/r4SLkcTppi", + "url_original": null + }, + { + "url": "https://t.co/qlZOgyDaPc", + "url_original": null + }, + { + "url": "https://t.co/Qh4JAoOiSr", + "url_original": null + }, + { + "url": "https://t.co/MwYwjXe1qd", + "url_original": null + }, + { + "url": "https://t.co/iq2ptM8vuf", + "url_original": null + }, + { + "url": "https://t.co/ikVDDYRP8u", + "url_original": null + }, + { + "url": "https://t.co/AX7D2XV08B", + "url_original": null + }, + { + "url": "https://t.co/8gmF1G2tn2", + "url_original": null + }, + { + "url": "https://t.co/1vIlhj68jX", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Dawri Plus", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196891, + "tags": [ ], + "date_received": "2017-04-14T18:02:44.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/yalla_test/status/852941649504333825", + "url_original": null + }, + { + "url": "https://twitter.com/yalalalooooo/status/852939085551460352", + "url_original": null + }, + { + "url": "https://twitter.com/uof5to5zvhrxjtw/status/852942229589164032", + "url_original": null + }, + { + "url": "https://twitter.com/ubspa9wgqy5kqdd/status/852942464554020864", + "url_original": null + }, + { + "url": "https://twitter.com/tabiii3live433/status/852932528117862400", + "url_original": null + }, + { + "url": "https://twitter.com/sooos243/status/852942353321140224", + "url_original": null + }, + { + "url": "https://twitter.com/snd_ds/status/852941906044751872", + "url_original": null + }, + { + "url": "https://twitter.com/pa8bj5xkqoyvbnr/status/852943338454102016", + "url_original": null + }, + { + "url": "https://twitter.com/live720h/status/852942396270751746", + "url_original": null + }, + { + "url": "https://twitter.com/knjzw0iurxa3qky/status/852942439933411330", + "url_original": null + }, + { + "url": "https://twitter.com/kinghafimawesi/status/852940748551065600", + "url_original": null + }, + { + "url": "https://twitter.com/gmgq58j4hcb5hvb/status/852943322721259520", + "url_original": null + }, + { + "url": "https://twitter.com/fvpdn5nuufurout/status/852941899006709760", + "url_original": null + }, + { + "url": "https://twitter.com/footballf114/status/852942462213664768", + "url_original": null + }, + { + "url": "https://twitter.com/alshamsiksa/status/852941906422235136", + "url_original": null + }, + { + "url": "https://twitter.com/alna889489hy/status/852942174782189568", + "url_original": null + }, + { + "url": "https://twitter.com/actionha_live/status/852942294315659264", + "url_original": null + }, + { + "url": "https://twitter.com/887fyf054/status/852944493410230272", + "url_original": null + }, + { + "url": "https://twitter.com/5845hy/status/852943625201876994", + "url_original": null + }, + { + "url": "https://twitter.com/5454564hy/status/852944507209486337", + "url_original": null + }, + { + "url": "https://t.co/ZU1eisgVR1", + "url_original": null + }, + { + "url": "https://t.co/YW7EyBwTjk", + "url_original": null + }, + { + "url": "https://t.co/yoW1ru99IY", + "url_original": null + }, + { + "url": "https://t.co/Yb56MtCYPi", + "url_original": null + }, + { + "url": "https://t.co/XuuCpxZIxU", + "url_original": null + }, + { + "url": "https://t.co/x6J8ZWL0Gh", + "url_original": null + }, + { + "url": "https://t.co/VVKoJUpuds", + "url_original": null + }, + { + "url": "https://t.co/vd6IbNvLgC", + "url_original": null + }, + { + "url": "https://t.co/uMEXfRypt0", + "url_original": null + }, + { + "url": "https://t.co/tDbttrXJd7", + "url_original": null + }, + { + "url": "https://t.co/sqNW8ycU6t", + "url_original": null + }, + { + "url": "https://t.co/S0IqlxmAYR", + "url_original": null + }, + { + "url": "https://t.co/LZXIpoEPLa", + "url_original": null + }, + { + "url": "https://t.co/Kk3YMxIfAE", + "url_original": null + }, + { + "url": "https://t.co/JKPcTviS7w", + "url_original": null + }, + { + "url": "https://t.co/JB4y6CbgNl", + "url_original": null + }, + { + "url": "https://t.co/iE95Y9KGOL", + "url_original": null + }, + { + "url": "https://t.co/i5dkBildiD", + "url_original": null + }, + { + "url": "https://t.co/gMo3I4jXyM", + "url_original": null + }, + { + "url": "https://t.co/foeThUW6Bi", + "url_original": null + }, + { + "url": "https://t.co/FLlNdI768J", + "url_original": null + }, + { + "url": "https://t.co/F1mlDHnDRU", + "url_original": null + }, + { + "url": "https://t.co/DVz8dsznks", + "url_original": null + }, + { + "url": "https://t.co/dveSW5vxOv", + "url_original": null + }, + { + "url": "https://t.co/DqFkc6AJa5", + "url_original": null + }, + { + "url": "https://t.co/dMlZB5VWPr", + "url_original": null + }, + { + "url": "https://t.co/bWUDFwwD8l", + "url_original": null + }, + { + "url": "https://t.co/9Knl5Yiw7s", + "url_original": null + }, + { + "url": "https://t.co/4wV7wIvcbw", + "url_original": null + }, + { + "url": "https://t.co/1ZwquJMOvv", + "url_original": null + }, + { + "url": "https://t.co/XuTLIZ42s9", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Dawri Pkus", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196860, + "tags": [ ], + "date_received": "2017-04-14T18:00:01.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/thatsalafi/status/852941963649310720", + "url_original": null + }, + { + "url": "https://twitter.com/thatsalafi/status/852940200636542976", + "url_original": null + }, + { + "url": "https://twitter.com/kora2day/status/852943791816355842", + "url_original": null + }, + { + "url": "https://twitter.com/kora2day/status/852942322614640640", + "url_original": null + }, + { + "url": "https://twitter.com/itihad_vs/status/852937157866082307", + "url_original": null + }, + { + "url": "https://twitter.com/itihad_vs/status/852928625162809344", + "url_original": null + }, + { + "url": "https://twitter.com/aioood_303_rr/status/852943165124476932", + "url_original": null + }, + { + "url": "https://t.co/Zn21MjOjY2", + "url_original": null + }, + { + "url": "https://t.co/ylXiESplf2", + "url_original": null + }, + { + "url": "https://t.co/pBpmlQNPiI", + "url_original": null + }, + { + "url": "https://t.co/N0kqyuZw0y", + "url_original": null + }, + { + "url": "https://t.co/lSfiDUpU19", + "url_original": null + }, + { + "url": "https://t.co/ksxneyBUp6", + "url_original": null + }, + { + "url": "https://t.co/iu8QutOPfv", + "url_original": null + }, + { + "url": "https://t.co/FJYPX90dHA", + "url_original": null + }, + { + "url": "https://t.co/aBNNLnA2aQ", + "url_original": null + }, + { + "url": "https://t.co/7KeiIAMVV8", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Dawri Plus", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196856, + "tags": [ ], + "date_received": "2017-04-14T17:53:55.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "http://t.co/ZL7xQB7byq", + "url_original": null + }, + { + "url": "http://t.co/ovknwnrtEq", + "url_original": null + }, + { + "url": "https://twitter.com/sollicitatielab/status/570186642549579776", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Arvy.org", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196817, + "tags": [ ], + "date_received": "2017-04-14T17:46:01.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/pa8bj5xkqoyvbnr/status/852939504113549312", + "url_original": null + }, + { + "url": "https://twitter.com/newsrany/status/852939484710809603", + "url_original": null + }, + { + "url": "https://twitter.com/m_abu_husam/status/852938298431504384", + "url_original": null + }, + { + "url": "https://twitter.com/live7sport77/status/852938263618867200", + "url_original": null + }, + { + "url": "https://twitter.com/dawrisaudi4k/status/852935082914570242", + "url_original": null + }, + { + "url": "https://twitter.com/dawrisaudi4k/status/852921107648827392", + "url_original": null + }, + { + "url": "https://twitter.com/dawrisaudi4k/status/852578138177646593", + "url_original": null + }, + { + "url": "https://twitter.com/alhadathalyoum1/status/852938263996321792", + "url_original": null + }, + { + "url": "https://twitter.com/ad81kbaj7bji6az/status/852938755036110848", + "url_original": null + }, + { + "url": "https://twitter.com/aasgfjfdfsda/status/852937642945769473", + "url_original": null + }, + { + "url": "https://twitter.com/aaas123123/status/852938268144435200", + "url_original": null + }, + { + "url": "https://t.co/z70QwRt7dD", + "url_original": null + }, + { + "url": "https://t.co/XuTLIZ42s9", + "url_original": null + }, + { + "url": "https://t.co/x6xrB7jR5O", + "url_original": null + }, + { + "url": "https://t.co/PSLiYz9rVl", + "url_original": null + }, + { + "url": "https://t.co/PdxAMOSZlm", + "url_original": null + }, + { + "url": "https://t.co/nTfuy3fLBu", + "url_original": null + }, + { + "url": "https://t.co/nqGu6WNIk3", + "url_original": null + }, + { + "url": "https://t.co/mhsK80pNAM", + "url_original": null + }, + { + "url": "https://t.co/KmRh5D9n1F", + "url_original": null + }, + { + "url": "https://t.co/HoTmgwqsDN", + "url_original": null + }, + { + "url": "https://t.co/GQnkktwgpt", + "url_original": null + }, + { + "url": "https://t.co/dAiIkq13Ep", + "url_original": null + }, + { + "url": "https://t.co/bVURfDOpcl", + "url_original": null + }, + { + "url": "https://t.co/bCPW4yz814", + "url_original": null + }, + { + "url": "https://t.co/aKnu2KqRjk", + "url_original": null + }, + { + "url": "https://t.co/AiUL2Gi2WJ", + "url_original": null + }, + { + "url": "https://t.co/97xuD2Noxd", + "url_original": null + }, + { + "url": "https://t.co/3bXHk9nqIN", + "url_original": null + }, + { + "url": "https://t.co/2KZmEnNaB5", + "url_original": null + }, + { + "url": "https://t.co/BuQzowE0Y4", + "url_original": null + }, + { + "url": "https://t.co/b3CTn60ZuC", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Dawri Plus", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196812, + "tags": [ ], + "date_received": "2017-04-14T17:30:13.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/sukkbiggdikk", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Totally Gay", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196848, + "tags": [ ], + "date_received": "2017-04-14T17:17:56.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/newnevvs/status/852914774983704576", + "url_original": null + }, + { + "url": "https://twitter.com/kora6596/status/852925546451357697", + "url_original": null + }, + { + "url": "https://twitter.com/kora6596/status/852924112972505089", + "url_original": null + }, + { + "url": "https://twitter.com/kora6596/status/852921565222195200", + "url_original": null + }, + { + "url": "https://twitter.com/kora6596/status/852920380373303296", + "url_original": null + }, + { + "url": "https://twitter.com/kora6596/status/852919060983676934", + "url_original": null + }, + { + "url": "https://twitter.com/aleymnews/status/852915194103726084", + "url_original": null + }, + { + "url": "https://twitter.com/aleymnews/status/852914044944097280", + "url_original": null + }, + { + "url": "https://twitter.com/al3sol1/status/852931606209855491", + "url_original": null + }, + { + "url": "https://twitter.com/al3sol1/status/852921570884562946", + "url_original": null + }, + { + "url": "https://twitter.com/al3sol1/status/852920387025371138", + "url_original": null + }, + { + "url": "https://twitter.com/al3sol1/status/852919066692128768", + "url_original": null + }, + { + "url": "https://twitter.com/5barko/status/852927952312573953", + "url_original": null + }, + { + "url": "https://t.co/r7rGp9UlYK", + "url_original": null + }, + { + "url": "https://t.co/R6twMZ89QQ", + "url_original": null + }, + { + "url": "https://t.co/qooAIjyPAx", + "url_original": null + }, + { + "url": "https://t.co/or5ep4PwJ1", + "url_original": null + }, + { + "url": "https://t.co/kWdAMAQIW4", + "url_original": null + }, + { + "url": "https://t.co/g7RZEfGevL", + "url_original": null + }, + { + "url": "https://t.co/eBtpjpqZET", + "url_original": null + }, + { + "url": "https://t.co/dGTPeyghgV", + "url_original": null + }, + { + "url": "https://t.co/BVnHIvhN2w", + "url_original": null + }, + { + "url": "https://t.co/6VQBjizh79", + "url_original": null + }, + { + "url": "https://t.co/6Jqt6lZ339", + "url_original": null + }, + { + "url": "https://t.co/5J7iTBmOaN", + "url_original": null + }, + { + "url": "https://t.co/4wcIdHhl0o", + "url_original": null + }, + { + "url": "https://t.co/1oRrtAkJHi", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Dawri Plus", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196815, + "tags": [ ], + "date_received": "2017-04-14T17:14:07.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/dosomething/status/852897156033892353", + "url_original": null + }, + { + "url": "https://t.co/tPO5o270Nb", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Gannett", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196813, + "tags": [ ], + "date_received": "2017-04-14T17:05:02.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/yougaku_boy0628/status/835871182746353666", + "url_original": null + }, + { + "url": "https://twitter.com/yogaku_pvdouga/status/852747102828380160", + "url_original": null + }, + { + "url": "https://twitter.com/temmii_a/status/851949944252633088", + "url_original": null + }, + { + "url": "https://twitter.com/soulswipeapp/status/779122058793934848", + "url_original": null + }, + { + "url": "https://twitter.com/nickimverses/status/848764850331365377", + "url_original": null + }, + { + "url": "https://twitter.com/kevinhartpriv/status/852383228073836544", + "url_original": null + }, + { + "url": "https://t.co/zH5Ub1W7Kw", + "url_original": null + }, + { + "url": "https://t.co/t9oYpObQNz", + "url_original": null + }, + { + "url": "https://t.co/K4eeMKm631", + "url_original": null + }, + { + "url": "https://t.co/hDvarakRV6", + "url_original": null + }, + { + "url": "https://t.co/a3iUtA6ZR8", + "url_original": null + }, + { + "url": "https://t.co/8RPGAnGV7k", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Recording Industry Association of America, Inc. (RIAA)", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196810, + "tags": [ ], + "date_received": "2017-04-14T17:03:38.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/yugyeumie/status/852230498772537347", + "url_original": null + }, + { + "url": "https://twitter.com/tcu_upbeat/status/822424747493376005", + "url_original": null + }, + { + "url": "https://twitter.com/svtsparkle/status/813539045649350657", + "url_original": null + }, + { + "url": "https://twitter.com/senentae_/status/851568609503608833", + "url_original": null + }, + { + "url": "https://twitter.com/piscok99/status/823743614765273088", + "url_original": null + }, + { + "url": "https://twitter.com/ofivetv/status/852124230183522304", + "url_original": null + }, + { + "url": "https://twitter.com/noirxfs/status/852331561299173376", + "url_original": null + }, + { + "url": "https://twitter.com/ninbrevas/status/852390699991531520", + "url_original": null + }, + { + "url": "https://twitter.com/m_2fairooz96/status/852064503198076928", + "url_original": null + }, + { + "url": "https://twitter.com/k13kay/status/852045024187400192", + "url_original": null + }, + { + "url": "https://twitter.com/hervolume1/status/852464982100918272", + "url_original": null + }, + { + "url": "https://twitter.com/enquetesdojb_/status/852743232404336640", + "url_original": null + }, + { + "url": "https://twitter.com/edpenn13/status/852722872732631040", + "url_original": null + }, + { + "url": "https://twitter.com/dylanruss32/status/852754919152959488", + "url_original": null + }, + { + "url": "https://twitter.com/corespeedelite/status/852224861594427392", + "url_original": null + }, + { + "url": "https://twitter.com/chillbxy/status/851448362125709312", + "url_original": null + }, + { + "url": "https://twitter.com/bangdangsnd/status/852316741745090560", + "url_original": null + }, + { + "url": "https://twitter.com/andysixx990/status/851840876406034434", + "url_original": null + }, + { + "url": "https://twitter.com/121training/status/852077215424667650", + "url_original": null + }, + { + "url": "https://twitter.com/11091584/status/846317342468390912", + "url_original": null + }, + { + "url": "https://t.co/ZfQnzHmclx", + "url_original": null + }, + { + "url": "https://t.co/VbSUJMP1Z4", + "url_original": null + }, + { + "url": "https://t.co/SrxfC7QVbE", + "url_original": null + }, + { + "url": "https://t.co/S5Sgh1s1GO", + "url_original": null + }, + { + "url": "https://t.co/QiaFSQlTe4", + "url_original": null + }, + { + "url": "https://t.co/PE8gtOUZoh", + "url_original": null + }, + { + "url": "https://t.co/nipqDyhhRJ", + "url_original": null + }, + { + "url": "https://t.co/L6Sl2T132m", + "url_original": null + }, + { + "url": "https://t.co/J6aw4l3odr", + "url_original": null + }, + { + "url": "https://t.co/i3xlGNxBGn", + "url_original": null + }, + { + "url": "https://t.co/Gf3IZWyosL", + "url_original": null + }, + { + "url": "https://t.co/GAVAWoUc5o", + "url_original": null + }, + { + "url": "https://t.co/FUpbfDypzB", + "url_original": null + }, + { + "url": "https://t.co/cRtKrokWLy", + "url_original": null + }, + { + "url": "https://t.co/AEIzKbjW9l", + "url_original": null + }, + { + "url": "https://t.co/6OC9YPFEIz", + "url_original": null + }, + { + "url": "https://t.co/4XeOCN1U8g", + "url_original": null + }, + { + "url": "https://t.co/3fXIx6oZjq", + "url_original": null + }, + { + "url": "https://t.co/3ekcFuSAOk", + "url_original": null + }, + { + "url": "https://t.co/1kkQ6nYkgz", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Recording Industry Association of America, Inc. (RIAA)", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196804, + "tags": [ ], + "date_received": "2017-04-14T17:01:41.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/zkcqsfzdjwhiqi4/status/844537197743128582", + "url_original": null + }, + { + "url": "https://twitter.com/yeah48966782/status/844532544225751041", + "url_original": null + }, + { + "url": "https://twitter.com/wanturtrophy/status/772770662951813120", + "url_original": null + }, + { + "url": "https://twitter.com/ucanpenguenns/status/852465884778160128", + "url_original": null + }, + { + "url": "https://twitter.com/scskyhawksfb/status/851888343436713985", + "url_original": null + }, + { + "url": "https://twitter.com/ponponmmd/status/847094188017500162", + "url_original": null + }, + { + "url": "https://twitter.com/piscok99/status/822377718725521409", + "url_original": null + }, + { + "url": "https://twitter.com/pal__mer/status/843354687172620288", + "url_original": null + }, + { + "url": "https://twitter.com/ovophantuums/status/851513415721943041", + "url_original": null + }, + { + "url": "https://twitter.com/ourclassix/status/681469316559155200", + "url_original": null + }, + { + "url": "https://twitter.com/mwnmashup/status/852339888280051712", + "url_original": null + }, + { + "url": "https://twitter.com/maxinessy/status/852712374737936384", + "url_original": null + }, + { + "url": "https://twitter.com/maryseffens/status/852388589404958720", + "url_original": null + }, + { + "url": "https://twitter.com/lisaswift50/status/826817278922600448", + "url_original": null + }, + { + "url": "https://twitter.com/kawashi1116/status/829603877603282944", + "url_original": null + }, + { + "url": "https://twitter.com/jump_30_byo/status/695223534751080454", + "url_original": null + }, + { + "url": "https://twitter.com/bhaavgandhi/status/811875926950768640", + "url_original": null + }, + { + "url": "https://twitter.com/asaohanibanha/status/851425449150365696", + "url_original": null + }, + { + "url": "https://twitter.com/abovemillions_/status/851615287799566336", + "url_original": null + }, + { + "url": "https://twitter.com/5harmonya/status/851943341273092101", + "url_original": null + }, + { + "url": "https://t.co/WuufgpspK1", + "url_original": null + }, + { + "url": "https://t.co/wGQIuQW0L6", + "url_original": null + }, + { + "url": "https://t.co/W3AuWDjgkN", + "url_original": null + }, + { + "url": "https://t.co/UQ0EUJaN8C", + "url_original": null + }, + { + "url": "https://t.co/UOEeY9uceq", + "url_original": null + }, + { + "url": "https://t.co/ty2frJgRih", + "url_original": null + }, + { + "url": "https://t.co/rTJblG9Y17", + "url_original": null + }, + { + "url": "https://t.co/oBxYjS4x2Z", + "url_original": null + }, + { + "url": "https://t.co/NRB2WRbYny", + "url_original": null + }, + { + "url": "https://t.co/lIhTmEvvxN", + "url_original": null + }, + { + "url": "https://t.co/Jw2hc4fsAd", + "url_original": null + }, + { + "url": "https://t.co/gqhb6oVcVu", + "url_original": null + }, + { + "url": "https://t.co/Fwhj8kfhuz", + "url_original": null + }, + { + "url": "https://t.co/EZD3ZBr0ui", + "url_original": null + }, + { + "url": "https://t.co/cGk3sYrr8K", + "url_original": null + }, + { + "url": "https://t.co/8YxdD0JrUG", + "url_original": null + }, + { + "url": "https://t.co/8DaS5eUvqj", + "url_original": null + }, + { + "url": "https://t.co/7T1EmJ7kqj", + "url_original": null + }, + { + "url": "https://t.co/7OqqjO9hMu", + "url_original": null + }, + { + "url": "https://t.co/7B87e186EP", + "url_original": null + }, + { + "url": "https://t.co/2jMps8fMJm", + "url_original": null + }, + { + "url": "https://t.co/0LY47nJIDz", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Recording Industry Association of America, Inc. (RIAA)", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196801, + "tags": [ ], + "date_received": "2017-04-14T16:59:51.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/zachsio/status/851943188369596416", + "url_original": null + }, + { + "url": "https://twitter.com/yubillerenah/status/850692826627178496", + "url_original": null + }, + { + "url": "https://twitter.com/tymirshareef/status/852224187498364928", + "url_original": null + }, + { + "url": "https://twitter.com/to_geppy/status/827466743861886976", + "url_original": null + }, + { + "url": "https://twitter.com/takenote916/status/852204621477036032", + "url_original": null + }, + { + "url": "https://twitter.com/rileyhamilton_/status/852318890528985088", + "url_original": null + }, + { + "url": "https://twitter.com/raphighiights/status/851433331354992641", + "url_original": null + }, + { + "url": "https://twitter.com/omgthatsb/status/852011777369849857", + "url_original": null + }, + { + "url": "https://twitter.com/nightride/status/852743384338911235", + "url_original": null + }, + { + "url": "https://twitter.com/__nancyball/status/852470277049118720", + "url_original": null + }, + { + "url": "https://twitter.com/megwinst/status/852752721870323713", + "url_original": null + }, + { + "url": "https://twitter.com/mary94am/status/848813997151449088", + "url_original": null + }, + { + "url": "https://twitter.com/lotusmusica/status/851857420083245057", + "url_original": null + }, + { + "url": "https://twitter.com/littlelarryenij/status/792762116734328832", + "url_original": null + }, + { + "url": "https://twitter.com/iaurmilarchive/status/852071816332017664", + "url_original": null + }, + { + "url": "https://twitter.com/edmojii/status/852231428104491009", + "url_original": null + }, + { + "url": "https://twitter.com/chychyhall/status/852187627591741441", + "url_original": null + }, + { + "url": "https://twitter.com/beautywoc/status/851983044454100994", + "url_original": null + }, + { + "url": "https://twitter.com/addae3madison/status/852001790480359424", + "url_original": null + }, + { + "url": "https://twitter.com/99_07_21/status/825537733330243584", + "url_original": null + }, + { + "url": "https://t.co/s5HPcjuf7M", + "url_original": null + }, + { + "url": "https://t.co/rJTvT1iSPm", + "url_original": null + }, + { + "url": "https://t.co/QZgwi8NvV7", + "url_original": null + }, + { + "url": "https://t.co/qiO3gFMxHa", + "url_original": null + }, + { + "url": "https://t.co/PCNb190rDb", + "url_original": null + }, + { + "url": "https://t.co/P04fHRLm9v", + "url_original": null + }, + { + "url": "https://t.co/n0t4GjHver", + "url_original": null + }, + { + "url": "https://t.co/M9gXObB70N", + "url_original": null + }, + { + "url": "https://t.co/IF08RfEiUc", + "url_original": null + }, + { + "url": "https://t.co/hoBi8cQDgO", + "url_original": null + }, + { + "url": "https://t.co/FjcETjgLYC", + "url_original": null + }, + { + "url": "https://t.co/e2tjey5375", + "url_original": null + }, + { + "url": "https://t.co/DIWwyeLjpl", + "url_original": null + }, + { + "url": "https://t.co/CgraXZVF7N", + "url_original": null + }, + { + "url": "https://t.co/BEYgrYW4It", + "url_original": null + }, + { + "url": "https://t.co/9ALUMTmT19", + "url_original": null + }, + { + "url": "https://t.co/8zhRF2YYsS", + "url_original": null + }, + { + "url": "https://t.co/8mQS40Gn3f", + "url_original": null + }, + { + "url": "https://t.co/8FpWqnCZyM", + "url_original": null + }, + { + "url": "https://t.co/1qc90TNR6S.", + "url_original": null + }, + { + "url": "https://t.co/0uvDt2WGjG", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Recording Industry Association of America, Inc. (RIAA)", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196794, + "tags": [ ], + "date_received": "2017-04-14T16:31:33.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/youcrazy24/status/852776704045076480", + "url_original": null + }, + { + "url": "https://twitter.com/www_musik/status/852829793716285440", + "url_original": null + }, + { + "url": "https://twitter.com/vibeslinknet/status/852890241962823680", + "url_original": null + }, + { + "url": "https://twitter.com/viabeehive/status/852851156837642240", + "url_original": null + }, + { + "url": "https://twitter.com/viabeehive_/status/852851145949282304", + "url_original": null + }, + { + "url": "https://twitter.com/u_nkosana/status/852659676135264256", + "url_original": null + }, + { + "url": "https://twitter.com/umatijolada/status/852665740394156034", + "url_original": null + }, + { + "url": "https://twitter.com/tush_media/status/852866634947506176", + "url_original": null + }, + { + "url": "https://twitter.com/tush_media/status/852866618036150274", + "url_original": null + }, + { + "url": "https://twitter.com/tush_media/status/852866604316540928", + "url_original": null + }, + { + "url": "https://twitter.com/tush_media/status/852849723622834176", + "url_original": null + }, + { + "url": "https://twitter.com/tush_media/status/852849717046239233", + "url_original": null + }, + { + "url": "https://twitter.com/tush_media/status/852849711023181825", + "url_original": null + }, + { + "url": "https://twitter.com/tush_media/status/852849703674814465", + "url_original": null + }, + { + "url": "https://twitter.com/tush_media/status/852849689489625089", + "url_original": null + }, + { + "url": "https://twitter.com/tush_media/status/852841304690008065", + "url_original": null + }, + { + "url": "https://twitter.com/jthemelaningod/status/852888273177464832", + "url_original": null + }, + { + "url": "https://twitter.com/grindbodysoul/status/852888273047388160", + "url_original": null + }, + { + "url": "https://twitter.com/beefalertnow/status/852888272632205312", + "url_original": null + }, + { + "url": "https://t.co/zWwkCQb3Sq", + "url_original": null + }, + { + "url": "https://t.co/ZQSckZOdkn", + "url_original": null + }, + { + "url": "https://t.co/WUdYo19r5t", + "url_original": null + }, + { + "url": "https://t.co/vOKD85e8M2", + "url_original": null + }, + { + "url": "https://t.co/UTnQCaEDzN", + "url_original": null + }, + { + "url": "https://t.co/tq1WPXPRzF", + "url_original": null + }, + { + "url": "https://t.co/sYdKld2nty", + "url_original": null + }, + { + "url": "https://t.co/soB5I5IReJ", + "url_original": null + }, + { + "url": "https://t.co/sMwXamHBWy", + "url_original": null + }, + { + "url": "https://t.co/reIlNgQaZU", + "url_original": null + }, + { + "url": "https://t.co/QTR0uNcm9O", + "url_original": null + }, + { + "url": "https://t.co/qATRfniysr", + "url_original": null + }, + { + "url": "https://t.co/onEdU6hcDZ", + "url_original": null + }, + { + "url": "https://t.co/nSgm0Cllyo", + "url_original": null + }, + { + "url": "https://t.co/lo00mKjlFx", + "url_original": null + }, + { + "url": "https://t.co/k961FEt8IZ", + "url_original": null + }, + { + "url": "https://t.co/IWwTOKYXau", + "url_original": null + }, + { + "url": "https://t.co/iT7puF6bxm", + "url_original": null + }, + { + "url": "https://t.co/H6bJ5Hi3gg", + "url_original": null + }, + { + "url": "https://t.co/fr6aiKRSMe", + "url_original": null + }, + { + "url": "https://t.co/fMpyuzoRbg", + "url_original": null + }, + { + "url": "https://t.co/FltRHGofho", + "url_original": null + }, + { + "url": "https://t.co/e2bFNBBgwR", + "url_original": null + }, + { + "url": "https://t.co/dHbWMbpm52", + "url_original": null + }, + { + "url": "https://t.co/D2sQqxFMrO", + "url_original": null + }, + { + "url": "https://t.co/Cs7BJ8GXNw", + "url_original": null + }, + { + "url": "https://t.co/8RQ3zgysvf", + "url_original": null + }, + { + "url": "https://t.co/8r7vJblC4u", + "url_original": null + }, + { + "url": "https://t.co/6iUpyOLdka", + "url_original": null + }, + { + "url": "https://t.co/0arp40Q9fv", + "url_original": null + }, + { + "url": "https://t.co/Yax2warCOc", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "protect artists", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196799, + "tags": [ ], + "date_received": "2017-04-14T16:24:10.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/tush_media/status/852841299384324096", + "url_original": null + }, + { + "url": "https://twitter.com/tush_media/status/852841294657232896", + "url_original": null + }, + { + "url": "https://twitter.com/tush_media/status/852841290521690113", + "url_original": null + }, + { + "url": "https://twitter.com/tush_media/status/852841232556408835", + "url_original": null + }, + { + "url": "https://twitter.com/tush_media/status/852841222284525569", + "url_original": null + }, + { + "url": "https://twitter.com/tush_media/status/852841210276335616", + "url_original": null + }, + { + "url": "https://twitter.com/tush_media/status/852841199316606978", + "url_original": null + }, + { + "url": "https://twitter.com/tush_media/status/852824181834108931", + "url_original": null + }, + { + "url": "https://twitter.com/tobi_sensei_/status/852734924117336068", + "url_original": null + }, + { + "url": "https://twitter.com/thesmallestboy/status/852725123157286912", + "url_original": null + }, + { + "url": "https://twitter.com/themadhetter/status/852658472826974208", + "url_original": null + }, + { + "url": "https://twitter.com/thatguynamedleo/status/852690840065527809", + "url_original": null + }, + { + "url": "https://twitter.com/suuhdudee/status/852693964847169536", + "url_original": null + }, + { + "url": "https://twitter.com/stunnah_100/status/852721223473795072", + "url_original": null + }, + { + "url": "https://twitter.com/spotgetscake/status/852716806808756224", + "url_original": null + }, + { + "url": "https://twitter.com/speedyback/status/852856214518198272", + "url_original": null + }, + { + "url": "https://twitter.com/somethingliite/status/852751803447877632", + "url_original": null + }, + { + "url": "https://twitter.com/scumbagmac/status/852562637497839616", + "url_original": null + }, + { + "url": "https://twitter.com/samucabeats/status/852682007058501632", + "url_original": null + }, + { + "url": "https://twitter.com/saifa7i/status/852654369120104448", + "url_original": null + }, + { + "url": "https://t.co/yZ6mMEAOZa", + "url_original": null + }, + { + "url": "https://t.co/y7djOoIo3C", + "url_original": null + }, + { + "url": "https://t.co/UmccIgKWct", + "url_original": null + }, + { + "url": "https://t.co/ucGlnAzjAU", + "url_original": null + }, + { + "url": "https://t.co/tYClocBxxM", + "url_original": null + }, + { + "url": "https://t.co/rNRQS4EYlK", + "url_original": null + }, + { + "url": "https://t.co/Qi0aGDe3Fm", + "url_original": null + }, + { + "url": "https://t.co/pwl8UdcUkf", + "url_original": null + }, + { + "url": "https://t.co/PsNOfZxHBm", + "url_original": null + }, + { + "url": "https://t.co/OwckUgX7SU", + "url_original": null + }, + { + "url": "https://t.co/oI8xCZhvoR", + "url_original": null + }, + { + "url": "https://t.co/milrpt2PA4", + "url_original": null + }, + { + "url": "https://t.co/LCYsftDsME", + "url_original": null + }, + { + "url": "https://t.co/l3PmNguOjo", + "url_original": null + }, + { + "url": "https://t.co/if7N8SQXwV", + "url_original": null + }, + { + "url": "https://t.co/hX2LBy1bJq", + "url_original": null + }, + { + "url": "https://t.co/gCDJvc5yta", + "url_original": null + }, + { + "url": "https://t.co/eVZ3IFJuPK", + "url_original": null + }, + { + "url": "https://t.co/EF0xr42J4H", + "url_original": null + }, + { + "url": "https://t.co/CxUOEd4zzk", + "url_original": null + }, + { + "url": "https://t.co/CiLZZaEUVf", + "url_original": null + }, + { + "url": "https://t.co/bOwifFHGB1", + "url_original": null + }, + { + "url": "https://t.co/abV8aDoalY", + "url_original": null + }, + { + "url": "https://t.co/A4fE3ThT0C", + "url_original": null + }, + { + "url": "https://t.co/9m2VStkSSM", + "url_original": null + }, + { + "url": "https://t.co/7tWIhFvZO7", + "url_original": null + }, + { + "url": "https://t.co/5GgyQnDaKk", + "url_original": null + }, + { + "url": "https://t.co/5APGEDvt60", + "url_original": null + }, + { + "url": "https://t.co/3xbmppnbvm", + "url_original": null + }, + { + "url": "https://t.co/3R6wr4DVuU", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "protect artists", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196790, + "tags": [ ], + "date_received": "2017-04-14T16:14:50.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/_poggioli/status/852651182979940353", + "url_original": null + }, + { + "url": "https://twitter.com/_maluzera/status/852725253084196864", + "url_original": null + }, + { + "url": "https://twitter.com/frazziemusic/status/852849362849890306", + "url_original": null + }, + { + "url": "https://twitter.com/fleolindo/status/852733628026986497", + "url_original": null + }, + { + "url": "https://twitter.com/dumbrass/status/852658997199065088", + "url_original": null + }, + { + "url": "https://twitter.com/drepisco/status/852655978692694016", + "url_original": null + }, + { + "url": "https://twitter.com/dmf180593/status/852664078145290240", + "url_original": null + }, + { + "url": "https://twitter.com/deadlyoxlade/status/852832527530082305", + "url_original": null + }, + { + "url": "https://twitter.com/dapazbolas/status/852845939018670080", + "url_original": null + }, + { + "url": "https://twitter.com/damie_baybie/status/852815555908087808", + "url_original": null + }, + { + "url": "https://twitter.com/chineduifeka/status/852862080193634304", + "url_original": null + }, + { + "url": "https://twitter.com/chillinbeats/status/852681530430369792", + "url_original": null + }, + { + "url": "https://twitter.com/bleachliquor/status/852720562787024896", + "url_original": null + }, + { + "url": "https://twitter.com/beyonce2016f/status/852794129205534721", + "url_original": null + }, + { + "url": "https://twitter.com/beefalertnow/status/852687296734388224", + "url_original": null + }, + { + "url": "https://twitter.com/barbaricmango/status/852657911885180930", + "url_original": null + }, + { + "url": "https://twitter.com/baba_promoter/status/852843237542813699", + "url_original": null + }, + { + "url": "https://twitter.com/asapbriiian/status/852841238076289024", + "url_original": null + }, + { + "url": "https://twitter.com/arminkeihani/status/852709950530887680", + "url_original": null + }, + { + "url": "https://t.co/Z4WkskKQBP", + "url_original": null + }, + { + "url": "https://t.co/Yax2warCOc", + "url_original": null + }, + { + "url": "https://t.co/Y4SY6dn1b5", + "url_original": null + }, + { + "url": "https://t.co/wF0apqsdqi", + "url_original": null + }, + { + "url": "https://t.co/VUGoDhQ8kd", + "url_original": null + }, + { + "url": "https://t.co/qxrO5w51sP", + "url_original": null + }, + { + "url": "https://t.co/MbQW1fno21", + "url_original": null + }, + { + "url": "https://t.co/kx8JpnZCU1", + "url_original": null + }, + { + "url": "https://t.co/KwI2ilBU9s", + "url_original": null + }, + { + "url": "https://t.co/jpTSorQB8u", + "url_original": null + }, + { + "url": "https://t.co/i8SCPbDELF", + "url_original": null + }, + { + "url": "https://t.co/i72smLTKnj", + "url_original": null + }, + { + "url": "https://t.co/i3mrLRTYLC", + "url_original": null + }, + { + "url": "https://t.co/HcUdtpcgmx", + "url_original": null + }, + { + "url": "https://t.co/DN9d75cNG4", + "url_original": null + }, + { + "url": "https://t.co/dAHXdiqQhr", + "url_original": null + }, + { + "url": "https://t.co/COhpEAhVg8", + "url_original": null + }, + { + "url": "https://t.co/9XiCT5jKV5", + "url_original": null + }, + { + "url": "https://t.co/7eQzpwF5gb", + "url_original": null + }, + { + "url": "https://t.co/5hIcf49104", + "url_original": null + }, + { + "url": "https://t.co/4WTjb2gJrn", + "url_original": null + }, + { + "url": "https://t.co/3KeE5tPtMq", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "protect artists", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196698, + "tags": [ ], + "date_received": "2017-04-14T15:54:20.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/yallashot1/status/852791301070241792", + "url_original": null + }, + { + "url": "https://twitter.com/newsrany/status/852911658825654272", + "url_original": null + }, + { + "url": "https://twitter.com/newnevvs/status/852912292505292800", + "url_original": null + }, + { + "url": "https://twitter.com/newnevvs/status/852912289044942848", + "url_original": null + }, + { + "url": "https://twitter.com/newnevvs/status/852912246414073861", + "url_original": null + }, + { + "url": "https://twitter.com/newnevvs/status/852911016052654081", + "url_original": null + }, + { + "url": "https://twitter.com/live7sport77/status/852694276509192193", + "url_original": null + }, + { + "url": "https://twitter.com/kora6596/status/852791295110111232", + "url_original": null + }, + { + "url": "https://twitter.com/dawrisaudi4k/status/852904844730011649", + "url_original": null + }, + { + "url": "https://twitter.com/ashko65/status/852791306879328257", + "url_original": null + }, + { + "url": "https://twitter.com/aleymnews/status/852911387110248450", + "url_original": null + }, + { + "url": "https://twitter.com/aleymnews/status/852911372837019648", + "url_original": null + }, + { + "url": "https://twitter.com/al3sol1/status/852791319940317184", + "url_original": null + }, + { + "url": "https://twitter.com/abuomarlive4/status/852790099863416833", + "url_original": null + }, + { + "url": "https://twitter.com/abuomarlive4/status/852775963301601281", + "url_original": null + }, + { + "url": "https://twitter.com/5barko/status/852791313900519424", + "url_original": null + }, + { + "url": "https://t.co/zKb30MO6FT", + "url_original": null + }, + { + "url": "https://t.co/ZhSWhD8Xs0", + "url_original": null + }, + { + "url": "https://t.co/y2IdqaMt6J", + "url_original": null + }, + { + "url": "https://t.co/TS96f7fmKo", + "url_original": null + }, + { + "url": "https://t.co/StdRwrJxhC", + "url_original": null + }, + { + "url": "https://t.co/SPGZ8OJAwb", + "url_original": null + }, + { + "url": "https://t.co/SeVTxKSEph", + "url_original": null + }, + { + "url": "https://t.co/rQeR4zCLu2", + "url_original": null + }, + { + "url": "https://t.co/RdScIwmUKV", + "url_original": null + }, + { + "url": "https://t.co/oMD6r1BUUo", + "url_original": null + }, + { + "url": "https://t.co/NhukYvb34Q", + "url_original": null + }, + { + "url": "https://t.co/mzhxKOotfb", + "url_original": null + }, + { + "url": "https://t.co/jV5pV1ebbF", + "url_original": null + }, + { + "url": "https://t.co/jeoeZaOqe1", + "url_original": null + }, + { + "url": "https://t.co/iyezxdG0cm", + "url_original": null + }, + { + "url": "https://t.co/IXJumcNXUv", + "url_original": null + }, + { + "url": "https://t.co/inxFL2RNoJ", + "url_original": null + }, + { + "url": "https://t.co/FysApSUkZa", + "url_original": null + }, + { + "url": "https://t.co/BuQzowE0Y4", + "url_original": null + }, + { + "url": "https://t.co/b3CTn60ZuC", + "url_original": null + }, + { + "url": "https://t.co/6lc4b7UXUZ", + "url_original": null + }, + { + "url": "https://t.co/5sQww5N357", + "url_original": null + }, + { + "url": "https://t.co/5AMa849iqZ", + "url_original": null + }, + { + "url": "https://t.co/4XQ1KCV597", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Dawri Plus", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196476, + "tags": [ ], + "date_received": "2017-04-14T15:25:18.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/thorgot1960/status/851952136715993088", + "url_original": null + }, + { + "url": "https://t.co/yodaeuDNNX", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Government Employees Insurance Company", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196482, + "tags": [ ], + "date_received": "2017-04-14T15:20:55.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/vstarvibes/status/852890928918532097", + "url_original": null + }, + { + "url": "https://twitter.com/vstarvibes/status/852882449138929666", + "url_original": null + }, + { + "url": "https://twitter.com/vstarvibes/status/852869503859871744", + "url_original": null + }, + { + "url": "https://twitter.com/tripleotmedia/status/852719981359976449", + "url_original": null + }, + { + "url": "https://twitter.com/official_crack/status/852871600668119041", + "url_original": null + }, + { + "url": "https://twitter.com/naijahub_media/status/852871592577306624", + "url_original": null + }, + { + "url": "https://twitter.com/exclusivejam/status/852888203388268544", + "url_original": null + }, + { + "url": "https://twitter.com/angelxdv/status/852704595835064320", + "url_original": null + }, + { + "url": "https://t.co/ThrpKGtn4P", + "url_original": null + }, + { + "url": "https://t.co/RHRwMPOk47", + "url_original": null + }, + { + "url": "https://t.co/p41PliUX0x", + "url_original": null + }, + { + "url": "https://t.co/NMs5annZhy", + "url_original": null + }, + { + "url": "https://t.co/MnEgyBvuiN", + "url_original": null + }, + { + "url": "https://t.co/LOxhBA2Opb", + "url_original": null + }, + { + "url": "https://t.co/LEqohfjjDE", + "url_original": null + }, + { + "url": "https://t.co/eojRF49cMq", + "url_original": null + }, + { + "url": "https://t.co/8Y4q7i3bSN", + "url_original": null + }, + { + "url": "https://t.co/2mPUcF8xoP", + "url_original": null + }, + { + "url": "https://t.co/1OwrjnVBYM", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Recording Industry Association of America, Inc. (RIAA)", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196784, + "tags": [ ], + "date_received": "2017-04-14T15:17:23.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/yaggaradio/status/852690371918299137", + "url_original": null + }, + { + "url": "https://twitter.com/xx__bob__xx/status/852846343902986252", + "url_original": null + }, + { + "url": "https://twitter.com/oneunderthesun_/status/852772568905818113", + "url_original": null + }, + { + "url": "https://twitter.com/moonlansky/status/852803228307570689", + "url_original": null + }, + { + "url": "https://twitter.com/lubracate/status/852694893038256128", + "url_original": null + }, + { + "url": "https://twitter.com/hlphopxhotspot/status/852733323168198656", + "url_original": null + }, + { + "url": "https://twitter.com/hlphopxhotspot/status/852732969559015424", + "url_original": null + }, + { + "url": "https://twitter.com/devonharipal/status/852699656970657792", + "url_original": null + }, + { + "url": "https://twitter.com/cdubbyuhh/status/852751181566812160", + "url_original": null + }, + { + "url": "https://t.co/XRhw3pitnT", + "url_original": null + }, + { + "url": "https://t.co/vqZU8oFxPR", + "url_original": null + }, + { + "url": "https://t.co/u8mZ4B3DXP", + "url_original": null + }, + { + "url": "https://t.co/rUpCF8jl7d", + "url_original": null + }, + { + "url": "https://t.co/KS3Hx4V9p7", + "url_original": null + }, + { + "url": "https://t.co/JZjT1WvvmH", + "url_original": null + }, + { + "url": "https://t.co/JbD2tsEFZm", + "url_original": null + }, + { + "url": "https://t.co/Ie3ZBay4nL", + "url_original": null + }, + { + "url": "https://t.co/GVOSPeHV5d", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Recording Industry Association of America, Inc. (RIAA)", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196792, + "tags": [ ], + "date_received": "2017-04-14T15:15:39.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/_vhugala_/status/852661698305634304", + "url_original": null + }, + { + "url": "https://twitter.com/shawny8god/status/852748945155424256", + "url_original": null + }, + { + "url": "https://twitter.com/romelldawkins/status/852819973260980224", + "url_original": null + }, + { + "url": "https://twitter.com/rodriguezthagod/status/852693023188279296", + "url_original": null + }, + { + "url": "https://twitter.com/liveempirical/status/852749935661338626", + "url_original": null + }, + { + "url": "https://twitter.com/j_page__/status/852728819865669634", + "url_original": null + }, + { + "url": "https://twitter.com/hlphopxhotspot/status/852738480086016000", + "url_original": null + }, + { + "url": "https://twitter.com/hlphopxhotspot/status/852733634113028098", + "url_original": null + }, + { + "url": "https://twitter.com/hlphopxhotspot/status/852733498435584004", + "url_original": null + }, + { + "url": "https://twitter.com/cosmerubalcaba/status/852747125108518914", + "url_original": null + }, + { + "url": "https://twitter.com/bumble__bree/status/852728397222563840", + "url_original": null + }, + { + "url": "https://twitter.com/boomthe8thnote/status/852757063306313728", + "url_original": null + }, + { + "url": "https://twitter.com/a_lunaaa/status/852723292129579008", + "url_original": null + }, + { + "url": "https://t.co/XxRXx284zy", + "url_original": null + }, + { + "url": "https://t.co/XdIVFwZHV7", + "url_original": null + }, + { + "url": "https://t.co/wofxoNXLbA", + "url_original": null + }, + { + "url": "https://t.co/TY2ET6xoNB", + "url_original": null + }, + { + "url": "https://t.co/RU4kfTjNNq", + "url_original": null + }, + { + "url": "https://t.co/qeHikCcYyl", + "url_original": null + }, + { + "url": "https://t.co/niPjmV77fN", + "url_original": null + }, + { + "url": "https://t.co/ERLO6WVkyq", + "url_original": null + }, + { + "url": "https://t.co/EnFPnf9bWG", + "url_original": null + }, + { + "url": "https://t.co/D4OU0pl2tN", + "url_original": null + }, + { + "url": "https://t.co/9BVskX5bW9", + "url_original": null + }, + { + "url": "https://t.co/6scho7MRow", + "url_original": null + }, + { + "url": "https://t.co/171zWnEO7O", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Recording Industry Association of America, Inc. (RIAA)", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196788, + "tags": [ ], + "date_received": "2017-04-14T15:13:52.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/trappyhiphop/status/852724623837863936", + "url_original": null + }, + { + "url": "https://twitter.com/ryanurzi/status/852767315141591041", + "url_original": null + }, + { + "url": "https://twitter.com/rihannaxie/status/852706688138448897", + "url_original": null + }, + { + "url": "https://twitter.com/malummabura/status/852838951970902016", + "url_original": null + }, + { + "url": "https://twitter.com/malebye_dk/status/852823969908441089", + "url_original": null + }, + { + "url": "https://twitter.com/j_274/status/852710149529534464", + "url_original": null + }, + { + "url": "https://twitter.com/darn_naanaa/status/852688228846927872", + "url_original": null + }, + { + "url": "https://twitter.com/capamagmuzik/status/852778164870721537", + "url_original": null + }, + { + "url": "https://twitter.com/asvpxdiamonds/status/850041070327037953", + "url_original": null + }, + { + "url": "https://twitter.com/adridista_/status/852697345007529984", + "url_original": null + }, + { + "url": "https://t.co/SWMXJsnW2y", + "url_original": null + }, + { + "url": "https://t.co/ojlvYdEw6x", + "url_original": null + }, + { + "url": "https://t.co/obXHU0ESN7", + "url_original": null + }, + { + "url": "https://t.co/oadXiarNse", + "url_original": null + }, + { + "url": "https://t.co/lTGGUfOWvI", + "url_original": null + }, + { + "url": "https://t.co/InK7XClVwD", + "url_original": null + }, + { + "url": "https://t.co/coobivPrYZ", + "url_original": null + }, + { + "url": "https://t.co/AvTP7Z0sVe", + "url_original": null + }, + { + "url": "https://t.co/8VYK82ZERr", + "url_original": null + }, + { + "url": "https://t.co/3zapRrFFbn", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Recording Industry Association of America, Inc. (RIAA)", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196465, + "tags": [ ], + "date_received": "2017-04-14T15:12:00.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/woridstarhlphop/status/852830291269828609", + "url_original": null + }, + { + "url": "https://twitter.com/souljahoward/status/852730642177576960", + "url_original": null + }, + { + "url": "https://twitter.com/shadesof666/status/852662189961957376", + "url_original": null + }, + { + "url": "https://twitter.com/riri_be/status/852714680397070336", + "url_original": null + }, + { + "url": "https://twitter.com/plrihanna/status/852815282112315392", + "url_original": null + }, + { + "url": "https://twitter.com/ok0ko_/status/852864465775333376", + "url_original": null + }, + { + "url": "https://twitter.com/justlnw/status/852733830960037890", + "url_original": null + }, + { + "url": "https://twitter.com/juic3e87/status/852693263270260737", + "url_original": null + }, + { + "url": "https://twitter.com/hlphopxhotspot/status/852738744482267137", + "url_original": null + }, + { + "url": "https://twitter.com/hlphopxhotspot/status/852738103840092161", + "url_original": null + }, + { + "url": "https://twitter.com/hlphopxhotspot/status/852733213139099649", + "url_original": null + }, + { + "url": "https://twitter.com/hlphopxhotspot/status/852732823551188995", + "url_original": null + }, + { + "url": "https://twitter.com/h8rproof82/status/852717121058603008", + "url_original": null + }, + { + "url": "https://twitter.com/goatfreestyles/status/852701500027666433", + "url_original": null + }, + { + "url": "https://twitter.com/gangsta_hustla/status/852773507876376576", + "url_original": null + }, + { + "url": "https://twitter.com/cuberopillin/status/852683040644108288", + "url_original": null + }, + { + "url": "https://twitter.com/chopshop702/status/852762814976413700", + "url_original": null + }, + { + "url": "https://twitter.com/7evensofuego/status/852736850460426240", + "url_original": null + }, + { + "url": "https://twitter.com/1srg35/status/852737531749703680", + "url_original": null + }, + { + "url": "https://t.co/WyQrctVJ4N", + "url_original": null + }, + { + "url": "https://t.co/wcHTlGkwjT", + "url_original": null + }, + { + "url": "https://t.co/tjAdwLraVC", + "url_original": null + }, + { + "url": "https://t.co/SDdbbSyJhT", + "url_original": null + }, + { + "url": "https://t.co/O4Y2RvI242", + "url_original": null + }, + { + "url": "https://t.co/jRCEVSHEMJ", + "url_original": null + }, + { + "url": "https://t.co/Ii6LHvL9ZL", + "url_original": null + }, + { + "url": "https://t.co/Gact0EB4gc", + "url_original": null + }, + { + "url": "https://t.co/ezFR2dzBqF", + "url_original": null + }, + { + "url": "https://t.co/cmlXObI3JM", + "url_original": null + }, + { + "url": "https://t.co/Chd4A0DjYG", + "url_original": null + }, + { + "url": "https://t.co/BSASUgPH3s", + "url_original": null + }, + { + "url": "https://t.co/BpfBwhKMD4", + "url_original": null + }, + { + "url": "https://t.co/bLBOWPkrlw", + "url_original": null + }, + { + "url": "https://t.co/AAZYTcNqtc", + "url_original": null + }, + { + "url": "https://t.co/9oPVjXGw4C", + "url_original": null + }, + { + "url": "https://t.co/9H2dcxT0Fo", + "url_original": null + }, + { + "url": "https://t.co/59l9SRpIzI", + "url_original": null + }, + { + "url": "https://t.co/4YpPSlyCJR", + "url_original": null + }, + { + "url": "https://t.co/03egdsstp7", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Recording Industry Association of America, Inc. (RIAA)", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196469, + "tags": [ ], + "date_received": "2017-04-14T15:10:14.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/y_2506/status/852778057567842304", + "url_original": null + }, + { + "url": "https://twitter.com/vaicyon/status/852659544262033408", + "url_original": null + }, + { + "url": "https://twitter.com/uglyoliie/status/852870506843955200", + "url_original": null + }, + { + "url": "https://twitter.com/_triceeeey/status/852683863306448897", + "url_original": null + }, + { + "url": "https://twitter.com/ricanpapl/status/852668375792791553", + "url_original": null + }, + { + "url": "https://twitter.com/o_theoneandonly/status/852790586700513280", + "url_original": null + }, + { + "url": "https://twitter.com/olly_zulu/status/852745992692617219", + "url_original": null + }, + { + "url": "https://twitter.com/natayio/status/852745641339920386", + "url_original": null + }, + { + "url": "https://twitter.com/myalteregoooo/status/852663123102367744", + "url_original": null + }, + { + "url": "https://twitter.com/loyaltyioyalty/status/852657954566397953", + "url_original": null + }, + { + "url": "https://twitter.com/lilyachty/status/852725602499035136", + "url_original": null + }, + { + "url": "https://twitter.com/goatfreestyles/status/852672283642605568", + "url_original": null + }, + { + "url": "https://twitter.com/gametimeburnett/status/852831992706064384", + "url_original": null + }, + { + "url": "https://twitter.com/darthvenn/status/852735186471079936", + "url_original": null + }, + { + "url": "https://twitter.com/b_ingonpoint/status/852748245541330944", + "url_original": null + }, + { + "url": "https://twitter.com/b820064/status/852735873166655489", + "url_original": null + }, + { + "url": "https://twitter.com/atrak/status/850497162815221760", + "url_original": null + }, + { + "url": "https://twitter.com/antwanewillis/status/852682220779261952", + "url_original": null + }, + { + "url": "https://twitter.com/5sos3leak/status/852225802535960576", + "url_original": null + }, + { + "url": "https://twitter.com/5sos3leak/status/852225760186126336", + "url_original": null + }, + { + "url": "https://t.co/zUzeTYrt3p", + "url_original": null + }, + { + "url": "https://t.co/zQbG7c4LKm", + "url_original": null + }, + { + "url": "https://t.co/zAUOYUpQs2", + "url_original": null + }, + { + "url": "https://t.co/vqjhnNSSbh", + "url_original": null + }, + { + "url": "https://t.co/vHUT5jV6Y0", + "url_original": null + }, + { + "url": "https://t.co/tRdZINk9vs", + "url_original": null + }, + { + "url": "https://t.co/rulwCltQCT", + "url_original": null + }, + { + "url": "https://t.co/QTupCGUgD6", + "url_original": null + }, + { + "url": "https://t.co/qTogw1agf5", + "url_original": null + }, + { + "url": "https://t.co/PraNeS2ofZ", + "url_original": null + }, + { + "url": "https://t.co/Lj7Zhky48n", + "url_original": null + }, + { + "url": "https://t.co/ib5W91VNgF", + "url_original": null + }, + { + "url": "https://t.co/FZzz6cajgQ", + "url_original": null + }, + { + "url": "https://t.co/FV1SsrP0QD", + "url_original": null + }, + { + "url": "https://t.co/BbLYqh2a66", + "url_original": null + }, + { + "url": "https://t.co/aVWb6XMO1s", + "url_original": null + }, + { + "url": "https://t.co/3Au0DLf99P", + "url_original": null + }, + { + "url": "https://t.co/2niL5PJ8AG", + "url_original": null + }, + { + "url": "https://t.co/2BWQUgbgm1", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Recording Industry Association of America, Inc. (RIAA)", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196447, + "tags": [ ], + "date_received": "2017-04-14T14:49:06.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/mish3lab/status/847057237071794176", + "url_original": null + }, + { + "url": "https://t.co/23dXZwEpDX", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "Alsaqer", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196446, + "tags": [ ], + "date_received": "2017-04-14T14:49:03.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/folyq8/status/852574773989314560", + "url_original": null + }, + { + "url": "https://t.co/SPDmKgsLNc", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "alienpikachu on Youtube", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196440, + "tags": [ ], + "date_received": "2017-04-14T14:31:26.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/myhit_official/status/852163652077670400", + "url_original": null + }, + { + "url": "https://twitter.com/marcoskunzi/status/852089204939124737", + "url_original": null + }, + { + "url": "https://twitter.com/aztorrent/status/852385646291308544", + "url_original": null + }, + { + "url": "https://t.co/zQZX2zcqrP", + "url_original": null + }, + { + "url": "https://t.co/SDFnBo2eaZ", + "url_original": null + }, + { + "url": "https://t.co/mTfmtIzw0w", + "url_original": null + }, + { + "url": "https://t.co/CQlz8O8GAj", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "3ants D&S", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + }, + { + "score": null, + "id": 14196439, + "tags": [ ], + "date_received": "2017-04-14T14:31:05.000Z", + "action_taken": "Yes", + "works": [ + { + "copyrighted_urls": [ ], + "infringing_urls": [ + { + "url": "https://twitter.com/rytis81/status/852784923018534914", + "url_original": null + }, + { + "url": "https://twitter.com/rytis81/status/852784878428995584", + "url_original": null + }, + { + "url": "https://twitter.com/quemonadacarmen/status/852230748060897280", + "url_original": null + }, + { + "url": "https://t.co/TAG1BSW19h", + "url_original": null + }, + { + "url": "https://t.co/lw4md9ngDN", + "url_original": null + }, + { + "url": "https://t.co/3tYjJMvrFJ", + "url_original": null + } + ], + "description": null + } + ], + "language": null, + "sender_name": "3ants D&S", + "type": "DMCA", + "topics": [ + "Copyright" + ], + "date_sent": null, + "title": "DMCA Takedown Notice (Tweet)", + "jurisdictions": [ ], + "body": null, + "recipient_name": "Twitter", + "principal_name": null + } + ], + "meta": { + "total_entries": 113766, + "total_pages": 2276, + "query": { + "term": null, + "date_received_facet": "from" + }, + "previous_page": null, + "current_page": 1, + "next_page": null, + "facets": { + "tag_list_facet": { + "other": 0, + "terms": [ + { + "term": "text", + "count": 4 + }, + { + "term": "music", + "count": 1 + } + ], + "_type": "terms", + "total": 5, + "missing": 113935 + }, + "date_received_facet": { + "ranges": [ + { + "from_str": "2017-04-13T00:00:00.000-04:00", + "min": 1492057171000.0, + "total_count": 109, + "mean": 1492097873587.156, + "to_str": "2017-04-14T00:00:00.000-04:00", + "count": 109, + "max": 1492140903000.0, + "to": 1492142400000.0, + "from": 1492056000000.0, + "total": 162638668221000.0 + }, + { + "from_str": "2017-03-14T00:00:00.000-04:00", + "min": 1489468730000.0, + "total_count": 4053, + "mean": 1490809902883.543, + "to_str": "2017-04-14T00:00:00.000-04:00", + "count": 4053, + "max": 1492140903000.0, + "to": 1492142400000.0, + "from": 1489464000000.0, + "total": 6042252536387000.0 + }, + { + "from_str": "2016-10-14T00:00:00.000-04:00", + "min": 1476422799000.0, + "total_count": 20946, + "mean": 1484287807663.8499, + "to_str": "2017-04-14T00:00:00.000-04:00", + "count": 20946, + "max": 1492140903000.0, + "to": 1492142400000.0, + "from": 1476417600000.0, + "total": 3.1089892419327e+16 + }, + { + "from_str": "2016-04-14T00:00:00.000-04:00", + "min": 1460607552000.0, + "total_count": 49590, + "mean": 1475370537300.6455, + "to_str": "2017-04-14T00:00:00.000-04:00", + "count": 49590, + "max": 1492140903000.0, + "to": 1492142400000.0, + "from": 1460606400000.0, + "total": 7.3163624944739e+16 + } + ], + "_type": "range" + }, + "topic_facet": { + "other": 1, + "terms": [ + { + "term": "Copyright", + "count": 113940 + }, + { + "term": "DMCA Safe Harbor", + "count": 23682 + }, + { + "term": "DMCA Notices", + "count": 19166 + }, + { + "term": "Uncategorized", + "count": 996 + }, + { + "term": "International", + "count": 146 + }, + { + "term": "Court Orders", + "count": 5 + }, + { + "term": "Responses", + "count": 4 + }, + { + "term": "Lumen", + "count": 4 + }, + { + "term": "Copyright and Fair Use", + "count": 4 + }, + { + "term": "Defamation", + "count": 2 + } + ], + "_type": "terms", + "total": 157950, + "missing": 0 + }, + "country_code_facet": { + "other": 0, + "terms": [ + { + "term": "US", + "count": 113388 + }, + { + "term": "", + "count": 43 + }, + { + "term": "us", + "count": 6 + }, + { + "term": "gb", + "count": 1 + }, + { + "term": "Br", + "count": 1 + }, + { + "term": "94", + "count": 1 + } + ], + "_type": "terms", + "total": 113440, + "missing": 500 + }, + "sender_name_facet": { + "other": 63545, + "terms": [ + { + "term": " - ", + "count": 19542 + }, + { + "term": "Authorized agent", + "count": 4694 + }, + { + "term": "Director of Anti-Piracy", + "count": 3739 + }, + { + "term": "Web Sheriff", + "count": 2991 + }, + { + "term": "Remove Your Media LLC.", + "count": 2916 + }, + { + "term": "Liga Nacional de Fútbol Profesional", + "count": 2829 + }, + { + "term": "Recording Industry Association of America, Inc. (RIAA)", + "count": 2202 + }, + { + "term": "Legal Counsel", + "count": 1960 + }, + { + "term": "Adobe Systems Incorporated", + "count": 1582 + }, + { + "term": "Copyright Integrity International", + "count": 1216 + } + ], + "_type": "terms", + "total": 107216, + "missing": 6724 + }, + "submitter_name_facet": { + "other": 0, + "terms": [ + { + "term": "twitter", + "count": 41616 + }, + { + "term": "inc", + "count": 41616 + }, + { + "term": "private", + "count": 1 + }, + { + "term": "kittos", + "count": 1 + }, + { + "term": "david", + "count": 1 + } + ], + "_type": "terms", + "total": 83235, + "missing": 72322 + }, + "submitter_country_code_facet": { + "other": 0, + "terms": [ + { + "term": "usa", + "count": 8966 + } + ], + "_type": "terms", + "total": 8966, + "missing": 104974 + }, + "action_taken_facet": { + "other": 0, + "terms": [ + { + "term": "Yes", + "count": 113855 + }, + { + "term": "", + "count": 80 + }, + { + "term": "No", + "count": 4 + }, + { + "term": "Partial", + "count": 1 + } + ], + "_type": "terms", + "total": 113940, + "missing": 0 + }, + "recipient_name_facet": { + "other": 0, + "terms": [ + { + "term": "Twitter", + "count": 113810 + }, + { + "term": "Twitter, Inc.", + "count": 112 + }, + { + "term": "Twitter, Inc", + "count": 10 + }, + { + "term": "Twitter Inc.", + "count": 3 + }, + { + "term": "Twitter user @spin", + "count": 1 + }, + { + "term": "Twitter Trust and Safety", + "count": 1 + }, + { + "term": "Twitter -Vine", + "count": 1 + }, + { + "term": "Site http://www.celebrinando.com/ Perfil de Twitter @CelebrinandoRJ", + "count": 1 + }, + { + "term": "Emplacement / Bacau , Str. Pictor Aman Nr. 94 Romania E-mail / waldliebefamilien @ gmail.com Sur internet / Site web/ Twitter/ Facebook/ Discogs/ Soundcloud/", + "count": 1 + } + ], + "_type": "terms", + "total": 113940, + "missing": 0 + }, + "principal_name_facet": { + "other": 33035, + "terms": [ + { + "term": "IFPI", + "count": 2494 + }, + { + "term": "MX International Inc", + "count": 1964 + }, + { + "term": "CANAL+ GROUP", + "count": 1039 + }, + { + "term": "Magnolia Pictures", + "count": 992 + }, + { + "term": "Japan Creative Contents Alliance LLC", + "count": 961 + }, + { + "term": "Entura International", + "count": 800 + }, + { + "term": "Universal Music Group", + "count": 779 + }, + { + "term": "MAGNOLIA PICTURES INC.", + "count": 772 + }, + { + "term": "Copyright Integrity International", + "count": 694 + }, + { + "term": "ITMPA", + "count": 544 + } + ], + "_type": "terms", + "total": 44074, + "missing": 69866 + }, + "language_facet": { + "other": 0, + "terms": [ + { + "term": "en", + "count": 27 + }, + { + "term": "", + "count": 19 + }, + { + "term": "tr", + "count": 7 + }, + { + "term": "en-GB", + "count": 2 + }, + { + "term": "pt", + "count": 1 + } + ], + "_type": "terms", + "total": 56, + "missing": 113884 + } + }, + "offset": 0, + "per_page": 50 + } + +} \ No newline at end of file diff --git a/tests/test_controllers.py b/tests/test_controllers.py index de1dd94..5999acd 100644 --- a/tests/test_controllers.py +++ b/tests/test_controllers.py @@ -10,10 +10,13 @@ import app.controllers.subreddit_controller import app.controllers.comment_controller import app.controllers.moderator_controller +import app.controllers.lumen_controller +import app.controllers.twitter_controller from utils.common import PageType, DbEngine, json2obj +import requests ### LOAD THE CLASSES TO TEST -from app.models import Base, FrontPage, SubredditPage, Subreddit, Post, ModAction, Comment, User +from app.models import Base, FrontPage, SubredditPage, Subreddit, Post, ModAction, Comment, User, LumenNotice, LumenNoticeToTwitterUser import app.cs_logger ## SET UP THE DATABASE ENGINE @@ -32,7 +35,9 @@ def clear_all_tables(): db_session.query(User).delete() db_session.query(ModAction).delete() db_session.query(Comment).delete() - db_session.commit() + db_session.query(LumenNotice).delete() + db_session.query(LumenNoticeToTwitterUser).delete() + db_session.commit() def setup_function(function): clear_all_tables() @@ -88,8 +93,8 @@ def test_archive_reddit_front_page(mock_subreddit, mock_reddit): """ - basic test for method archive_subreddit_page to insert timestamped pages to subreddit_pages table. - analogous to test_archive_reddit_front_page. +#### basic test for method archive_subreddit_page to insert timestamped pages to subreddit_pages table. +#### analogous to test_archive_reddit_front_page. """ @patch('praw.Reddit', autospec=True) @patch('praw.objects.Subreddit', autospec=True) @@ -702,3 +707,75 @@ def test_archive_mod_action_page(mock_reddit): last_action_id = mac.archive_mod_action_page(after_id = mod_action_fixtures[0][-1]['id']) assert db_session.query(ModAction).count() == len(mod_action_fixtures[0]) + len(mod_action_fixtures[1]) assert last_action_id == mod_action_fixtures[1][-1]['id'] + + + +@patch('lumen_connect.connection.LumenConnect', autospec=True) +@patch('twitter_connect.connection.TwitterConnect', autospec=True) +def test_archive_lumen_notices(mock_TwitterConnect, mock_LumenConnect): + lc = mock_LumenConnect.return_value + tc = mock_TwitterConnect.return_value + with open("{script_dir}/fixture_data/lumen_notices.json".format(script_dir=TEST_DIR)) as f: + data = f.read() + lc.get_search.return_value = json.loads(data) + + patch('lumen_connect.') + patch('twitter_connect.') + + assert len(db_session.query(LumenNotice).all()) == 0 + + log = app.cs_logger.get_logger(ENV, BASE_DIR) + lumen = app.controllers.lumen_controller.LumenController(db_session, lc, tc, log) + + topics = ["Copyright"] + date = datetime.datetime.utcnow() # dummy date + lumen.archive_lumen_notices(topics, date, False) + + all_notices = db_session.query(LumenNotice).all() + assert len(all_notices) == 50 + + +def mocked_requests_get(url): + class MockResponse: + def __init__(self, url): + self.url = url + if "t.co" in url: + self.url = "https://twitter.com/this_was_tco" + + def url(self): + return self.url + + return MockResponse(url) + +@patch('requests.get', side_effect=mocked_requests_get) +def test_helper_parse_url_for_username(mock_get): + test_cases = [ + ("https://twitter.com/sooos243/status/852942353321140224", "sooos243"), + ("https://t.co/cDdD0cNOFd", "this_was_tco"), + ("any other domain or string actually", None) + ] + + for (url, result) in test_cases: + assert app.controllers.lumen_controller.helper_parse_url_for_username(url) == result + +@patch('requests.get', autospec=True) +@patch('lumen_connect.connection.LumenConnect', autospec=True) +@patch('twitter_connect.connection.TwitterConnect', autospec=True) +def test_parse_notices_archive_users(mock_TwitterConnect, mock_LumenConnect, mock_get): + lc = mock_LumenConnect.return_value + tc = mock_TwitterConnect.return_value + patch('lumen_connect.') + patch('twitter_connect.') + + assert len(db_session.query(LumenNoticeToTwitterUser).all()) == 0 + + log = app.cs_logger.get_logger(ENV, BASE_DIR) + lumen = app.controllers.lumen_controller.LumenController(db_session, lc, tc, log) + + with open("{script_dir}/fixture_data/lumen_notices.json".format(script_dir=TEST_DIR)) as f: + data = json.loads(f.read()) + notices = data["notices"][:5] # to make test faster + + lumen.parse_notices_archive_users(notices, False) + all_notices = db_session.query(LumenNoticeToTwitterUser).all() + assert len(all_notices) == 8 \ No newline at end of file diff --git a/tests/test_lumen.py b/tests/test_lumen.py new file mode 100644 index 0000000..1e1826e --- /dev/null +++ b/tests/test_lumen.py @@ -0,0 +1,72 @@ +import lumen_connect.connection +import os +import simplejson as json +from sqlalchemy import create_engine +from sqlalchemy.orm import sessionmaker +import glob, datetime +from mock import Mock, patch +from app.models import Base, PrawKey +from utils.common import DbEngine + +TEST_DIR = os.path.dirname(os.path.realpath(__file__)) + +os.environ['CS_ENV'] ="test" + +def setup_function(function): + pass + +def teardown_function(function): + pass + + +# TODO: write tests +@patch('lumen_connect.connection.LumenConnect', autospec=True) +def test_archive_lumen_notices(mock_LumenConnect): + lc = mock_LumenConnect.return_value + with open("{script_dir}/fixture_data/lumen_notices.json".format(script_dir=TEST_DIR)) as f: + data = f.read() + lc.get_search.return_value = json.loads(data) + patch('lumen_connect.') + + ## NOW START THE TEST + payload = { + "topics": ["Copyright"], + "per_page": 50, + "page": 1, + "sort_by": "date_received desc", + "recipient_name": "Twitter" + } + data_json = lc.get_search(payload) + notices_json = data_json["notices"] + assert type(notices_json) == list + assert len(notices_json) == 50 + +""" +@patch('lumen.connection.LumenConnect', autospec=True) +def test_post_get_notes(mock_Lumenconnect): + snc = mock_Lumenconnect.return_value + users = ["natematias", "merrymou"] + with open("{script_dir}/fixture_data/lumen_notes.json".format(script_dir=TEST_DIR)) as f: + data = f.read() + snc.post_get_notes.return_value = json.loads(data) + patch('lumen.') + + ## NOW START THE TEST + res_json = snc.post_get_notes(users) + assert type(res_json) == dict + assert len(res_json) == 2 + assert len(res_json[users[0]]) == 3 + +@patch('lumen.connection.LumenConnect', autospec=True) +def test_get_schemas(mock_Lumenconnect): + snc = mock_Lumenconnect.return_value + with open("{script_dir}/fixture_data/lumen_schemas.json".format(script_dir=TEST_DIR)) as f: + data = f.read() + snc.get_schemas.return_value = json.loads(data) + patch('lumen.') + + ## NOW START THE TEST + res_json = snc.get_schemas() + assert type(res_json) == list + assert len(res_json) == 2 +""" \ No newline at end of file diff --git a/utils/common.py b/utils/common.py index 353bc39..9608aef 100644 --- a/utils/common.py +++ b/utils/common.py @@ -1,7 +1,7 @@ from enum import Enum import simplejson as json from collections import namedtuple - +import datetime class PageType(Enum): TOP = 1 @@ -72,4 +72,9 @@ def get_all_children(self): return [] def __str__(self): - return str(self.id) \ No newline at end of file + return str(self.id) + + +def time_since_epoch_ms(dt): + epoch = datetime.datetime.utcfromtimestamp(0) + return (dt - epoch).total_seconds() * 1000.0 \ No newline at end of file From c4c814a5e7fe3d9f4ec90159260dacbfde1682ab Mon Sep 17 00:00:00 2001 From: mmou Date: Mon, 17 Apr 2017 01:28:41 -0400 Subject: [PATCH 003/221] add twitter models, connect, controller --- .../8e190130ba36_add_twitter_user_table.py | 109 ++++++++++++ .../9b5335a74312_add_twitter_status_table.py | 94 ++++++++++ app/controller.py | 16 +- app/controllers/lumen_controller.py | 70 +++++--- app/controllers/twitter_controller.py | 162 ++++++++++++++++++ app/models.py | 44 +++-- ...umen_notices.json => lumen_notices_0.json} | 0 tests/fixture_data/lumen_notices_1.json | 1 + tests/fixture_data/twitter_tweets.json | 1 + tests/fixture_data/twitter_username_list.json | 1 + tests/fixture_data/twitter_users.json | 1 + tests/test_controllers.py | 115 ++++++++++++- tests/test_lumen.py | 36 +--- tests/test_twitter.py | 21 +++ twitter_connect/__init__.py | 0 twitter_connect/connection.py | 20 +++ utils/common.py | 6 + 17 files changed, 610 insertions(+), 87 deletions(-) create mode 100644 alembic/versions/8e190130ba36_add_twitter_user_table.py create mode 100644 alembic/versions/9b5335a74312_add_twitter_status_table.py create mode 100644 app/controllers/twitter_controller.py rename tests/fixture_data/{lumen_notices.json => lumen_notices_0.json} (100%) create mode 100644 tests/fixture_data/lumen_notices_1.json create mode 100644 tests/fixture_data/twitter_tweets.json create mode 100644 tests/fixture_data/twitter_username_list.json create mode 100644 tests/fixture_data/twitter_users.json create mode 100644 tests/test_twitter.py create mode 100644 twitter_connect/__init__.py create mode 100644 twitter_connect/connection.py diff --git a/alembic/versions/8e190130ba36_add_twitter_user_table.py b/alembic/versions/8e190130ba36_add_twitter_user_table.py new file mode 100644 index 0000000..b21e326 --- /dev/null +++ b/alembic/versions/8e190130ba36_add_twitter_user_table.py @@ -0,0 +1,109 @@ +"""add twitter user table + +Revision ID: 8e190130ba36 +Revises: 9c8b30569bdf +Create Date: 2017-04-16 16:21:40.214726 + +""" + +# revision identifiers, used by Alembic. +revision = '8e190130ba36' +down_revision = '9c8b30569bdf' +branch_labels = None +depends_on = None + +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import mysql + +def upgrade(engine_name): + globals()["upgrade_%s" % engine_name]() + + +def downgrade(engine_name): + globals()["downgrade_%s" % engine_name]() + + + + + +def upgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('twitter_users', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('screen_name', sa.String(length=64), nullable=True), + sa.Column('name', sa.String(length=64), nullable=True), + sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('followers_count', sa.Integer(), nullable=True), + sa.Column('friends_count', sa.Integer(), nullable=True), + sa.Column('lang', sa.String(length=64), nullable=True), + sa.Column('statuses_count', sa.Integer(), nullable=True), + sa.Column('verified', sa.Boolean(), nullable=True), + sa.Column('default_profile', sa.Boolean(), nullable=True), + sa.Column('default_profile_image', sa.Boolean(), nullable=True), + sa.Column('user_json', mysql.MEDIUMTEXT(), nullable=True), + sa.Column('user_state', sa.Integer(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + # ### end Alembic commands ### + + +def downgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_table('twitter_users') + # ### end Alembic commands ### + + +def upgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('twitter_users', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('screen_name', sa.String(length=64), nullable=True), + sa.Column('name', sa.String(length=64), nullable=True), + sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('followers_count', sa.Integer(), nullable=True), + sa.Column('friends_count', sa.Integer(), nullable=True), + sa.Column('lang', sa.String(length=64), nullable=True), + sa.Column('statuses_count', sa.Integer(), nullable=True), + sa.Column('verified', sa.Boolean(), nullable=True), + sa.Column('default_profile', sa.Boolean(), nullable=True), + sa.Column('default_profile_image', sa.Boolean(), nullable=True), + sa.Column('user_json', mysql.MEDIUMTEXT(), nullable=True), + sa.Column('user_state', sa.Integer(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + # ### end Alembic commands ### + + +def downgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_table('twitter_users') + # ### end Alembic commands ### + + +def upgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('twitter_users', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('screen_name', sa.String(length=64), nullable=True), + sa.Column('name', sa.String(length=64), nullable=True), + sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('followers_count', sa.Integer(), nullable=True), + sa.Column('friends_count', sa.Integer(), nullable=True), + sa.Column('lang', sa.String(length=64), nullable=True), + sa.Column('statuses_count', sa.Integer(), nullable=True), + sa.Column('verified', sa.Boolean(), nullable=True), + sa.Column('default_profile', sa.Boolean(), nullable=True), + sa.Column('default_profile_image', sa.Boolean(), nullable=True), + sa.Column('user_json', mysql.MEDIUMTEXT(), nullable=True), + sa.Column('user_state', sa.Integer(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + # ### end Alembic commands ### + + +def downgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_table('twitter_users') + # ### end Alembic commands ### + diff --git a/alembic/versions/9b5335a74312_add_twitter_status_table.py b/alembic/versions/9b5335a74312_add_twitter_status_table.py new file mode 100644 index 0000000..3d4cfaa --- /dev/null +++ b/alembic/versions/9b5335a74312_add_twitter_status_table.py @@ -0,0 +1,94 @@ +"""add twitter status table + +Revision ID: 9b5335a74312 +Revises: 8e190130ba36 +Create Date: 2017-04-16 18:01:03.226479 + +""" + +# revision identifiers, used by Alembic. +revision = '9b5335a74312' +down_revision = '8e190130ba36' +branch_labels = None +depends_on = None + +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import mysql + +def upgrade(engine_name): + globals()["upgrade_%s" % engine_name]() + + +def downgrade(engine_name): + globals()["downgrade_%s" % engine_name]() + + + + + +def upgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('twitter_statuses', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('user_id', sa.BigInteger(), nullable=True), + sa.Column('in_reply_to_user_id', sa.BigInteger(), nullable=True), + sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('favorite_count', sa.Integer(), nullable=True), + sa.Column('retweet_count', sa.Integer(), nullable=True), + sa.Column('retweeted', sa.Boolean(), nullable=True), + sa.Column('status_data', mysql.MEDIUMTEXT(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + # ### end Alembic commands ### + + +def downgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_table('twitter_statuses') + # ### end Alembic commands ### + + +def upgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('twitter_statuses', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('user_id', sa.BigInteger(), nullable=True), + sa.Column('in_reply_to_user_id', sa.BigInteger(), nullable=True), + sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('favorite_count', sa.Integer(), nullable=True), + sa.Column('retweet_count', sa.Integer(), nullable=True), + sa.Column('retweeted', sa.Boolean(), nullable=True), + sa.Column('status_data', mysql.MEDIUMTEXT(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + # ### end Alembic commands ### + + +def downgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_table('twitter_statuses') + # ### end Alembic commands ### + + +def upgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('twitter_statuses', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('user_id', sa.BigInteger(), nullable=True), + sa.Column('in_reply_to_user_id', sa.BigInteger(), nullable=True), + sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('favorite_count', sa.Integer(), nullable=True), + sa.Column('retweet_count', sa.Integer(), nullable=True), + sa.Column('retweeted', sa.Boolean(), nullable=True), + sa.Column('status_data', mysql.MEDIUMTEXT(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + # ### end Alembic commands ### + + +def downgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_table('twitter_statuses') + # ### end Alembic commands ### + diff --git a/app/controller.py b/app/controller.py index 1c51599..79a2338 100644 --- a/app/controller.py +++ b/app/controller.py @@ -132,5 +132,17 @@ def archive_lumen_notices(): l = app.controllers.lumen_controller.LumenController(db_session, lumen_conn, twitter_conn, log) topics = ["Copyright"] # "Government Requests", #["Defamation","Protest, Parody and Criticism Sites","Law Enforcement Requests","International","Government Requests","DMCA Subpoenas","Court Orders"] - date = datetime.datetime.utcnow() - datetime.timedelta(days=1) # now-1day - l.archive_lumen_notices(topics, date) \ No newline at end of file + date = datetime.datetime.utcnow() - datetime.timedelta(days=2) # now-1day + l.archive_lumen_notices(topics, date) + +# TODO: confirm args? +def archive_twitter_users(users_file): + t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) + with open(users_file) as f: + users = json.loads(f.read()) + t.archive_users(users) + +# TODO: confirm args? +def archive_user_tweets(username): + t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) + t.archive_user_tweets(username) \ No newline at end of file diff --git a/app/controllers/lumen_controller.py b/app/controllers/lumen_controller.py index 738d88e..5415da6 100644 --- a/app/controllers/lumen_controller.py +++ b/app/controllers/lumen_controller.py @@ -1,6 +1,7 @@ import simplejson as json import datetime from app.models import Base, LumenNotice, LumenNoticeToTwitterUser +from app.controllers.twitter_controller import TwitterController import utils.common import requests import app.controllers.twitter_controller @@ -10,13 +11,15 @@ class LumenController(): def __init__(self, db_session, l, t, log): self.db_session = db_session self.l = l - self.t = t + self.t = t # TwitterConnect self.log = log + self.tc = TwitterController(self.db_session, self.t, self.log) # TwitterController + + # archives lumen notices since date til now(+1day) # if parse_for_users True, calls self.parse_notices_archive_users def archive_lumen_notices(self, topics, date, parse_for_users=True): - print("arhicivng") nowish = datetime.datetime.utcnow() + datetime.timedelta(days=1) for topic in topics: next_page = 1 @@ -40,23 +43,25 @@ def archive_lumen_notices(self, topics, date, parse_for_users=True): added_notices = [] for notice in notices_json: - queried_notice = self.db_session.query(LumenNotice).filter(LumenNotice.id == notice["id"]).first() - if not queried_notice: - sender = (notice["sender_name"].encode("utf-8", "replace") if notice["sender_name"] else "") - principal = (notice["principal_name"].encode("utf-8", "replace") if notice["principal_name"] else "") - recipient = (notice["recipient_name"].encode("utf-8", "replace") if notice["recipient_name"] else "") - num_infringing_urls = len(notice["works"][0]["infringing_urls"]) if len(notice["works"]) > 0 else 0 - notice_record = LumenNotice( - id = notice["id"], - date_received = datetime.datetime.strptime(notice["date_received"], '%Y-%m-%dT%H:%M:%S.000Z'), # expect string like "2017-04-15T22:28:26.000Z" - sender = sender, - principal = principal, - recipient = recipient, - num_infringing_urls = num_infringing_urls, - notice_data = json.dumps(notice).encode("utf-8", "replace") - ) - self.db_session.add(notice_record) - added_notices.append(notice) + if not self.db_session.query(LumenNotice).filter(LumenNotice.id == notice["id"]).first(): + try: + date_received = datetime.datetime.strptime(notice["date_received"], '%Y-%m-%dT%H:%M:%S.000Z') # expect string like "2017-04-15T22:28:26.000Z" + sender = (notice["sender_name"].encode("utf-8", "replace") if notice["sender_name"] else "") + principal = (notice["principal_name"].encode("utf-8", "replace") if notice["principal_name"] else "") + recipient = (notice["recipient_name"].encode("utf-8", "replace") if notice["recipient_name"] else "") + num_infringing_urls = sum(len(work["infringing_urls"]) for work in notice["works"]) + notice_record = LumenNotice( + id = notice["id"], + date_received = date_received, + sender = sender, + principal = principal, + recipient = recipient, + num_infringing_urls = num_infringing_urls, + notice_data = json.dumps(notice).encode("utf-8", "replace")) + self.db_session.add(notice_record) + added_notices.append(notice) + except: + self.log.error("Error while creating LumenNotice object for notice {0}".format(notice["id"])) try: self.db_session.commit() self.log.info("Saved {0} lumen notices.".format(len(added_notices))) @@ -66,18 +71,19 @@ def archive_lumen_notices(self, topics, date, parse_for_users=True): if parse_for_users: # this boolean is for unit testing purposes self.parse_notices_archive_users(added_notices) - # expecting ~50 notices # if archive_users true, also calls TwitterController (boolean exists for testing purposes) def parse_notices_archive_users(self, notices, archive_users=True): - for notice in notices: - users = set([]) + all_users = set([]) + for notice in notices: # expecting ~50 notices = several hundred users + notice_users = set([]) for work in notice["works"]: # infringing_urls is known to contain urls for url_obj in work["infringing_urls"]: url = url_obj["url"] username = helper_parse_url_for_username(url) if username: - users.add(username) + notice_users.add(username) + all_users.add(username) if notice["body"]: # I've only seen this null self.log.error("method helper_parse_notices_archive_users: maybe missed something in notice['body']; notice id = {0}".format(notice["id"])) if len(work["copyrighted_urls"]) > 0: # I've only seen this empty @@ -85,20 +91,25 @@ def parse_notices_archive_users(self, notices, archive_users=True): if work["description"]: # I've only seen this null self.log.error("method helper_parse_notices_archive_users: maybe missed something in notice['works']['description']; notice id = {0}".format(notice["id"])) - for username in users: + # for every notice, commit LumenNoticeToTwitterUser records + for username in notice_users: notice_user_record = LumenNoticeToTwitterUser( notice_id = notice["id"], twitter_username = username) self.db_session.add(notice_user_record) try: self.db_session.commit() - self.log.info("Saved {0} users.".format(len(users))) + self.log.info("Saved {0} twitter users from {1} infringing_urls in notice {2}.".format( + len(notice_users), + sum(len(work["infringing_urls"]) for work in notice["works"]), + notice["id"])) except: self.log.error("Error while saving DB Session") - # calls the twitter controller + # for every batch of ~50 notices, calls the twitter controller. + # self.tc.archive_users is most efficient when you have >100 users if archive_users: - self.t.archive_users(users_to_notices.keys()) + self.tc.archive_users(all_users) # assume url is of the form 'https://twitter.com/sooos243/status/852942353321140224' @@ -110,6 +121,8 @@ def helper_parse_url_for_username(url): username = None url_split = url.split("/") + # calling requests.get is very time inefficient + #""" if len(url_split) >= 3 and url_split[2] == tco_domain: # try to get request and unshorten the url try: @@ -121,6 +134,7 @@ def helper_parse_url_for_username(url): raise Exception except: return None + #""" if url == "https://twitter.com/account/suspended": # TODO: then we have no information. what should we do about them? should we count these? @@ -128,4 +142,4 @@ def helper_parse_url_for_username(url): if len(url_split) >= 3 and url_split[2] == twitter_domain: username = url_split[3] - return username \ No newline at end of file + return username diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py new file mode 100644 index 0000000..4b1283d --- /dev/null +++ b/app/controllers/twitter_controller.py @@ -0,0 +1,162 @@ +import twitter +import simplejson as json +import datetime +from app.models import Base, TwitterUser, TwitterStatus +import utils.common +import requests +import sqlalchemy +from utils.common import TwitterUserState + +class TwitterController(): + def __init__(self, db_session, t, log): + self.t = t + self.db_session = db_session + self.log = log + + # users_set is a set + def archive_users(self, users_set, archive_tweets=True): + # make all Twitter usernames lowercase + users_set = set([x.lower() for x in list(users_set)]) + existing_users = self.db_session.query(TwitterUser).filter(TwitterUser.screen_name.in_(list(users_set))).all() + batch_size = 100 # limit should be 100 + new_users_set = users_set - set(existing_users) # is mutated to be set of users still not found + new_users = list(new_users_set) # is not mutated + + # query batch_size at a time + prev_limit = 0 + for i in range(1,int(len(new_users)/batch_size)+2): + rows = [] + limit = min(i*batch_size, len(new_users)) + if limit > prev_limit: + # query twitter API for user info + users_info = [] + try: + users_info = self.t.api.UsersLookup(screen_name=new_users[prev_limit:limit]) + self.log.info("Queried for {0} Twitter users out of a total of {1} users, got {2} users".format( + limit-prev_limit, len(new_users), len(users_info))) + except twitter.error.TwitterError as e: + self.log.error("Failed to query for Twitter users using api.UsersLookup: {0}".format(str(e))) + prev_limit = limit + + # for found users, commit to db + for user in users_info: + user_json = json.loads(json.dumps(user._json).encode("utf-8", "replace")) if type(user) is twitter.models.User else user # to accomodate test fixture data + screen_name = user_json["screen_name"].lower() + try: + if not self.db_session.query(TwitterUser).filter(TwitterUser.screen_name == screen_name).first(): + created_at = datetime.datetime.strptime(user_json["created_at"], "%a %b %d %H:%M:%S %z %Y") + user_record = TwitterUser( + id = user_json["id"], + screen_name = screen_name, + name = user_json["name"].encode("utf-8", "replace"), + created_at = created_at, # is UTC; expected string format: "Mon Nov 29 21:18:15 +0000 2010" + followers_count = user_json["followers_count"], + friends_count = user_json["friends_count"], + lang = user_json["lang"], + statuses_count = user_json["statuses_count"], + verified = user_json["verified"], + default_profile = user_json["default_profile"], + default_profile_image = user_json["default_profile_image"], + user_json = json.dumps(user_json), #already encoded + user_state = TwitterUserState.FOUND.value) + self.db_session.add(user_record) + new_users_set.discard(screen_name) # discard doesn't throw an error + except: + self.log.error("Error while creating TwitterUser object for user {0}".format(screen_name)) + try: + self.db_session.commit() + self.log.info("Saved {0} found twitter users' info.".format(len(users_info))) + except: + self.log.error("Error while saving DB Session") + + # TODO: at the end, for not found users, determine suspended or deleted in a better way than right now. + # right now, we can tell when we call self.archive_user_tweets(user) + self.log.info(new_users_set) + for user in list(new_users_set): + try: + if not self.db_session.query(TwitterUser).filter(TwitterUser.screen_name == user).first(): + user_record = TwitterUser( + screen_name = user, + user_state = TwitterUserState.NOT_FOUND.value) + self.db_session.add(user_record) + except: + self.log.error("Error while creating TwitterUser object for user {0}".format(user)) + try: + self.db_session.commit() + self.log.info("Saved {0} not_found twitter users' info.".format(len(new_users_set))) + except: + self.log.error("Error while saving DB Session") + + if archive_tweets: + for user in new_users: # all users + self.archive_user_tweets(user) + + + # TODO: do we need a method like this that will go through all the users, and archive more tweets? + def archive_all_users_tweets(self): + pass + + def archive_user_tweets(self, screen_name): + max_id = None + oldest_id_seen = None + seen_statuses = set([]) + try: + while True: + prev_seen_statuses_length = len(seen_statuses) + statuses = self.t.api.GetUserTimeline(screen_name=screen_name, count=200, max_id=max_id) + self.log.info("Queried total of {0} tweets for account {1}".format(len(statuses), screen_name)) + for status in statuses: + status_json = json.loads(json.dumps(status._json).encode("utf-8", "replace")) if type(status) is twitter.models.Status else status # to accomodate test fixture data + status_id = status_json["id"] + + # if status hasn't been stored before, store + if not self.db_session.query(TwitterStatus).filter(TwitterStatus.id == status_id).first(): + try: + # TODO: should we store anything about entities? + status_record = TwitterStatus( + id = status_id, + user_id = status_json["user"]["id"], + in_reply_to_user_id = status_json["favorite_count"], + created_at = datetime.datetime.strptime(status_json["created_at"], "%a %b %d %H:%M:%S %z %Y"), #"Sun Apr 16 17:11:30 +0000 2017" + favorite_count = status_json["favorite_count"], + retweet_count = status_json["retweet_count"], + retweeted = status_json["retweeted"], + status_data = json.dumps(status_json)) + self.db_session.add(status_record) + seen_statuses.add(status_id) + except: + self.log.error("Error while creating TwitterStatus object for user {0}, status id {1}".format(status_json["user"]["id"]["screen_name"], status_id)) + oldest_id_seen = min(oldest_id_seen, status_id) if oldest_id_seen else status_id + try: + self.db_session.commit() + self.log.info("Saved {0} statuses for user {1}.".format(len(seen_statuses) - prev_seen_statuses_length, screen_name)) + except: + self.log.error("Error while saving DB Session") + + if len(statuses) == 0 or prev_seen_statuses_length == len(seen_statuses): + break + if max_id is None or oldest_id_seen < max_id: + max_id = oldest_id_seen + else: + break + except twitter.error.TwitterError as e: + + # TODO: un-jankify this error handling/parsing code + state = None + if e.message == "Not authorized.": + # Account is suspended + state = TwitterUserState.SUSPENDED.value + elif e.message['code'] == 34: # message = "Sorry, that page does not exist.": + state = TwitterUserState.NOT_FOUND.value + else: + self.log.error("Unexpected exception while calling api.GetUserTimeline on user {0}: {1}".format(screen_name, e)) + + if state: + queried_user = self.db_session.query(TwitterUser).filter(TwitterUser.screen_name == screen_name).first() # record should exist + queried_user.user_state = state + try: + self.db_session.commit() + self.log.info("Updated twitter user {0}'s state to {1}.".format(screen_name, state)) + except: + self.log.error("Error while saving DB Session") + diff --git a/app/models.py b/app/models.py index aa1634c..ad6d1c9 100644 --- a/app/models.py +++ b/app/models.py @@ -3,7 +3,7 @@ import sys import simplejson as json from utils.common import * -from sqlalchemy import Column, Integer, String, Text, DateTime, Boolean +from sqlalchemy import Column, Integer, String, Text, DateTime, Boolean, BigInteger from sqlalchemy.dialects.mysql import MEDIUMTEXT, LONGTEXT from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import relationship @@ -37,6 +37,7 @@ class SubredditPage(Base): page_data = Column(MEDIUMTEXT) is_utc = Column(Boolean, default=False) +# TODO: just noticed there are 2 created_at columns???? class Post(Base): __tablename__ = 'posts' id = Column(String(32), primary_key = True, unique=True, autoincrement=False) # post id @@ -175,7 +176,7 @@ class ExperimentAction(Base): class LumenNotice(Base): __tablename__ = 'lumen_notices' - id = Column(Integer, primary_key = True) + id = Column(BigInteger, primary_key = True) date_received = Column(DateTime, default=datetime.datetime.utcnow) sender = Column(String(64)) principal = Column(String(64)) @@ -192,17 +193,32 @@ class LumenNoticeToTwitterUser(Base): notice_id = Column(Integer) twitter_username = Column(String(64)) -""" -class TwitterUser(Base): - username - profile characteristics... - status - suspended, deleted - total number of Tweets - +class TwitterUser(Base): + __tablename__ = 'twitter_users' + id = Column(BigInteger, primary_key = True) + screen_name = Column(String(64)) + name = Column(String(64)) + created_at = Column(DateTime) + followers_count = Column(Integer) + friends_count = Column(Integer) + lang = Column(String(64)) + statuses_count = Column(Integer) + verified = Column(Boolean) + default_profile = Column(Boolean) + default_profile_image = Column(Boolean) + user_json = Column(MEDIUMTEXT) + user_state = Column(Integer) # utils/common.py + + +# TODO: foreign keys???? class TwitterStatus(Base): - id - date - user - tweet_data -""" \ No newline at end of file + __tablename__ = 'twitter_statuses' + id = Column(BigInteger, primary_key = True) + user_id = Column(BigInteger) + in_reply_to_user_id = Column(BigInteger) + created_at = Column(DateTime) + favorite_count = Column(Integer) + retweet_count = Column(Integer) + retweeted = Column(Boolean) + status_data = Column(MEDIUMTEXT) diff --git a/tests/fixture_data/lumen_notices.json b/tests/fixture_data/lumen_notices_0.json similarity index 100% rename from tests/fixture_data/lumen_notices.json rename to tests/fixture_data/lumen_notices_0.json diff --git a/tests/fixture_data/lumen_notices_1.json b/tests/fixture_data/lumen_notices_1.json new file mode 100644 index 0000000..49ff9f8 --- /dev/null +++ b/tests/fixture_data/lumen_notices_1.json @@ -0,0 +1 @@ +{"notices": [{"score": null, "id": 14198134, "tags": [], "date_received": "2017-04-15T03:49:34.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/hello_syake", "url_original": null}], "description": null}], "language": null, "sender_name": "\u30ab\u30d7\u30b3\u30f3", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14198105, "tags": [], "date_received": "2017-04-15T03:04:10.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/yxngbane/status/845642719376629761", "url_original": null}, {"url": "https://twitter.com/worldstarfunny/status/845309488131444738", "url_original": null}, {"url": "https://twitter.com/stephanlauren/status/845745121194840067", "url_original": null}, {"url": "https://twitter.com/savagehumor/status/845290374222483457", "url_original": null}, {"url": "https://twitter.com/guruhouli/status/845323759972081664", "url_original": null}, {"url": "https://twitter.com/fatherlygod/status/844708137324154882", "url_original": null}, {"url": "https://t.co/Mlvxaq6NHM", "url_original": null}, {"url": "https://t.co/jQmYEGlsQZ", "url_original": null}, {"url": "https://t.co/D6AipgZLiy", "url_original": null}, {"url": "https://t.co/AjyvR5lr6u", "url_original": null}, {"url": "https://t.co/8XAy80qLUI", "url_original": null}, {"url": "https://t.co/16TlhQvvT1", "url_original": null}], "description": null}], "language": null, "sender_name": "Sean Locke Photography", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14198079, "tags": [], "date_received": "2017-04-15T02:39:31.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/viratian269/status/852882147673231360", "url_original": null}, {"url": "https://twitter.com/raina_universe/status/852914218386956288", "url_original": null}, {"url": "https://twitter.com/raina_fangirl/status/852894702613413888", "url_original": null}, {"url": "https://twitter.com/oyerjalok/status/852863714034409473", "url_original": null}, {"url": "https://twitter.com/mr_khiladi24/status/852851312962174979", "url_original": null}, {"url": "https://twitter.com/klay_sports/status/852920729062457344", "url_original": null}, {"url": "https://twitter.com/bhavsarkashyap2/status/852864333692456960", "url_original": null}, {"url": "https://t.co/x6IS6oYlnN", "url_original": null}, {"url": "https://t.co/Q7h7HmSg3t", "url_original": null}, {"url": "https://t.co/pJEM10JDxW", "url_original": null}, {"url": "https://t.co/LHrYAk5dkq", "url_original": null}, {"url": "https://t.co/GnXJYvYLB2", "url_original": null}, {"url": "https://t.co/GLCaTqrJ78", "url_original": null}, {"url": "https://t.co/6tuvwZwKzc", "url_original": null}], "description": null}], "language": null, "sender_name": "Copyright Integrity International", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197860, "tags": [], "date_received": "2017-04-15T01:34:49.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/madrizzcarter/status/804659392679411712", "url_original": null}, {"url": "https://t.co/iqVIcrY46W", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197854, "tags": [], "date_received": "2017-04-15T01:27:02.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/madrizzcarter/status/806150669619105792", "url_original": null}, {"url": "https://t.co/lKA69gwIFz", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197857, "tags": [], "date_received": "2017-04-15T01:24:12.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/madrizzcarter/status/808066729704325125", "url_original": null}, {"url": "https://t.co/ky3TGW0eWf", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197845, "tags": [], "date_received": "2017-04-15T00:57:08.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/madrizzcarter/status/817873520575283200", "url_original": null}, {"url": "https://t.co/qFrUW0rTTd", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197840, "tags": [], "date_received": "2017-04-15T00:54:41.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/madrizzcarter/status/821711472942313478", "url_original": null}, {"url": "https://t.co/Ro5NpXMm9g", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197842, "tags": [], "date_received": "2017-04-15T00:51:56.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/madrizzcarter/status/824422022289645572", "url_original": null}, {"url": "https://t.co/xXpbKyQbAe", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197843, "tags": [], "date_received": "2017-04-15T00:49:24.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/madrizzcarter/status/836127148175949824", "url_original": null}, {"url": "https://t.co/Sa2PodRXQA", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197837, "tags": [], "date_received": "2017-04-15T00:45:45.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/madrizzcarter/status/836320399684157440", "url_original": null}, {"url": "https://t.co/aE8y335U0E", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197839, "tags": [], "date_received": "2017-04-15T00:43:25.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/madrizzcarter/status/839919517803347970", "url_original": null}, {"url": "https://t.co/HsEhcfOwIx", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197835, "tags": [], "date_received": "2017-04-15T00:39:20.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/madrizzcarter/status/852947026165870593", "url_original": null}, {"url": "https://t.co/u0EGwXiIFV", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197831, "tags": [], "date_received": "2017-04-15T00:29:30.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "http://t.co/zbaXsaNr", "url_original": null}, {"url": "https://twitter.com/kimtang8/status/176894542287601664", "url_original": null}], "description": null}], "language": null, "sender_name": "self-employed", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197828, "tags": [], "date_received": "2017-04-15T00:21:21.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/_Futbolero_", "url_original": null}], "description": null}], "language": null, "sender_name": "gettyimages", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197829, "tags": [], "date_received": "2017-04-15T00:21:13.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/theinvaeznisnow/status/852630710481559553", "url_original": null}, {"url": "https://twitter.com/tanzeelshk/status/852312921321418752", "url_original": null}, {"url": "https://twitter.com/sociallifeny/status/852313001411719170", "url_original": null}, {"url": "https://twitter.com/roxxie2hotfatv/status/852356685259788288", "url_original": null}, {"url": "https://twitter.com/kilegilhenry99/status/852574266721751041", "url_original": null}, {"url": "https://twitter.com/fennecom_/status/852450710595792896", "url_original": null}, {"url": "https://twitter.com/dru_themonster/status/852401949362315264", "url_original": null}, {"url": "https://twitter.com/colourpjm/status/852553251375513602", "url_original": null}, {"url": "https://t.co/YIDvJEEiWd", "url_original": null}, {"url": "https://t.co/WxoAp1G2Ef", "url_original": null}, {"url": "https://t.co/w6JMIiSWA3", "url_original": null}, {"url": "https://t.co/lD9rjLPlxZ", "url_original": null}, {"url": "https://t.co/JcjuqopL8L", "url_original": null}, {"url": "https://t.co/I09gY9VzqW", "url_original": null}, {"url": "https://t.co/GW5bTaOSJQ", "url_original": null}, {"url": "https://t.co/azDABqUhDj", "url_original": null}], "description": null}], "language": null, "sender_name": " - ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197752, "tags": [], "date_received": "2017-04-15T00:12:04.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/_Futbolero_", "url_original": null}], "description": null}], "language": null, "sender_name": "pinteres", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197651, "tags": [], "date_received": "2017-04-14T23:17:10.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/shweraroy/status/852823153306882048", "url_original": null}, {"url": "https://twitter.com/jaynik001/status/852864632196825088", "url_original": null}, {"url": "https://twitter.com/imbarsha18_/status/852867687025979392", "url_original": null}, {"url": "https://twitter.com/deepujaguri123/status/852863855864754177", "url_original": null}, {"url": "https://twitter.com/bajirao_kitchen/status/850218471992446977", "url_original": null}, {"url": "https://twitter.com/bajirao_kitchen/status/850040828588302336", "url_original": null}, {"url": "https://twitter.com/bajirao_kitchen/status/849688275677626368", "url_original": null}, {"url": "https://t.co/xZFhDeZbzk", "url_original": null}, {"url": "https://t.co/StrnVKnSMI", "url_original": null}, {"url": "https://t.co/kPnzVukYCs", "url_original": null}, {"url": "https://t.co/K6ISPPsLgh", "url_original": null}, {"url": "https://t.co/jMDxL4wQSB", "url_original": null}, {"url": "https://t.co/4U6bCFXwAP", "url_original": null}, {"url": "https://t.co/1zbG1Fxb0G", "url_original": null}], "description": null}], "language": null, "sender_name": "Copyright Integrity International", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197647, "tags": [], "date_received": "2017-04-14T22:59:00.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/zlly12/status/852651414048444417", "url_original": null}, {"url": "https://twitter.com/pimp_maestro/status/852930591905415168", "url_original": null}, {"url": "https://twitter.com/ouza101/status/852805083242700801", "url_original": null}, {"url": "https://twitter.com/noahhildebrand1/status/852658003220336640", "url_original": null}, {"url": "https://twitter.com/mahlubonke_/status/852651379332190208", "url_original": null}, {"url": "https://twitter.com/louievanwolf/status/852756547398533120", "url_original": null}, {"url": "https://twitter.com/leonohoe/status/852677116231643137", "url_original": null}, {"url": "https://twitter.com/chubyewest/status/852699636435476480", "url_original": null}, {"url": "https://twitter.com/blakefrst/status/852882286425059328", "url_original": null}, {"url": "https://twitter.com/bizzzcuit/status/852657474058498048", "url_original": null}, {"url": "https://twitter.com/beyonce2016f/status/852789749366439936", "url_original": null}, {"url": "https://t.co/yWAFcNUETB", "url_original": null}, {"url": "https://t.co/wvsYAnPfJj", "url_original": null}, {"url": "https://t.co/Rt1nNgAyVw", "url_original": null}, {"url": "https://t.co/kVVq4yCZWD", "url_original": null}, {"url": "https://t.co/KrdaEXKYU0", "url_original": null}, {"url": "https://t.co/FE9cDX7e5c", "url_original": null}, {"url": "https://t.co/eSQ6qqLIlI", "url_original": null}, {"url": "https://t.co/bIyJPJFFZ1", "url_original": null}, {"url": "https://t.co/aDGzwzat02", "url_original": null}, {"url": "https://t.co/5VLBjhECNk", "url_original": null}, {"url": "https://t.co/1wju7f11MQ", "url_original": null}], "description": null}], "language": null, "sender_name": "protect artists", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197644, "tags": [], "date_received": "2017-04-14T22:54:29.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "http://t.co/p445rTq0IQ", "url_original": null}, {"url": "https://twitter.com/curiosodefutbol/status/467724791538274304", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197643, "tags": [], "date_received": "2017-04-14T22:51:20.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "http://twitter.com/viratian269/status/852874520507691008", "url_original": null}, {"url": "http://twitter.com/vichu1988/status/852999284672913413", "url_original": null}, {"url": "http://twitter.com/siddhontprakash/status/852901587672375296", "url_original": null}, {"url": "http://twitter.com/shraddhaxdaily/status/852738081241223169", "url_original": null}, {"url": "http://twitter.com/shraddhaxdaily/status/852734625826742273", "url_original": null}, {"url": "http://twitter.com/shraddhaworldfc/status/852523307010326531", "url_original": null}, {"url": "http://twitter.com/shourya_singh_/status/852863632924966913", "url_original": null}, {"url": "http://twitter.com/rainaist/status/852935928146534406", "url_original": null}, {"url": "http://twitter.com/one_the_na/status/852992110177529859", "url_original": null}, {"url": "http://twitter.com/imraina_girl/status/852945695539474432", "url_original": null}, {"url": "http://twitter.com/imraina_girl/status/852944493078757376", "url_original": null}, {"url": "http://twitter.com/imraina_girl/status/852938680729608193", "url_original": null}, {"url": "http://twitter.com/imraina_girl/status/852915900592177152", "url_original": null}, {"url": "http://twitter.com/imraina_girl/status/852914866964774912", "url_original": null}, {"url": "http://twitter.com/clubraina/status/852926252528873472", "url_original": null}, {"url": "http://twitter.com/attestedfangirl/status/852943149592858624", "url_original": null}, {"url": "http://twitter.com/attestedfangirl/status/852941969135288320", "url_original": null}, {"url": "http://twitter.com/attestedfangirl/status/852897745375514627", "url_original": null}, {"url": "http://twitter.com/attestedfangirl/status/852891075274571778", "url_original": null}, {"url": "https://twitter.com/kkriders_/status/852989722666389504", "url_original": null}, {"url": "https://t.co/Z0BEcJjfaJ", "url_original": null}, {"url": "https://t.co/xEu3dS1rlp", "url_original": null}, {"url": "https://t.co/X9Y3Cy5igg", "url_original": null}, {"url": "https://t.co/VFPyacpEhQ", "url_original": null}, {"url": "https://t.co/UMeTFicwza", "url_original": null}, {"url": "https://t.co/Rbmhm7LI4a", "url_original": null}, {"url": "https://t.co/Qfwj7JFDru", "url_original": null}, {"url": "https://t.co/N5cPgk3stn", "url_original": null}, {"url": "https://t.co/mTgSuIvklT", "url_original": null}, {"url": "https://t.co/kEvsAjGuNN", "url_original": null}, {"url": "https://t.co/JX7Jk3YBCU", "url_original": null}, {"url": "https://t.co/IdInghzghR", "url_original": null}, {"url": "https://t.co/fX7lmYoJMi", "url_original": null}, {"url": "https://t.co/EODn7cD18S", "url_original": null}, {"url": "https://t.co/CKnTy80zIW", "url_original": null}, {"url": "https://t.co/Bcz43d2nUe", "url_original": null}, {"url": "https://t.co/9RLv1a83bW", "url_original": null}, {"url": "https://t.co/9OE7EUXoan", "url_original": null}, {"url": "https://t.co/88fs8iEGfC", "url_original": null}, {"url": "https://t.co/0Fl3UUsmZA", "url_original": null}], "description": null}], "language": null, "sender_name": "Copyright Integrity International", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197641, "tags": [], "date_received": "2017-04-14T22:45:42.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "http://t.co/fW3pI1pXzQ", "url_original": null}, {"url": "https://twitter.com/curiosodefutbol/status/646084463890440192", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197638, "tags": [], "date_received": "2017-04-14T22:40:12.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "http://t.co/vHgLAfF8Vn", "url_original": null}, {"url": "https://twitter.com/curiosodefutbol/status/648956811580674048", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197637, "tags": [], "date_received": "2017-04-14T22:27:30.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/curiosodefutbol/status/743078085260632064", "url_original": null}, {"url": "https://t.co/oVOtK5A13R", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197633, "tags": [], "date_received": "2017-04-14T22:23:23.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/curiosodefutbol/status/793903947333394433", "url_original": null}, {"url": "https://t.co/m3OvX020lq", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197629, "tags": [], "date_received": "2017-04-14T22:20:46.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/curiosodefutbol/status/801503035298025472", "url_original": null}, {"url": "https://t.co/pagSxeTkBz", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197628, "tags": [], "date_received": "2017-04-14T22:17:48.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/curiosodefutbol/status/819332494210301952", "url_original": null}, {"url": "https://t.co/HVI9TxazME", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197625, "tags": [], "date_received": "2017-04-14T22:16:32.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/dopeytv/status/853004195024297986", "url_original": null}, {"url": "https://t.co/FdSlcR3qVJ", "url_original": null}], "description": null}], "language": null, "sender_name": "ZeniMax Media Inc", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197622, "tags": [], "date_received": "2017-04-14T22:15:20.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/curiosodefutbol/status/823693388880945152", "url_original": null}, {"url": "https://t.co/OnXlV0qAUT", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197635, "tags": [], "date_received": "2017-04-14T22:12:26.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/curiosodefutbol/status/831971598320152580", "url_original": null}, {"url": "https://t.co/bBgOz9WsHV", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197630, "tags": [], "date_received": "2017-04-14T22:10:06.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/curiosodefutbol/status/832355804044988416", "url_original": null}, {"url": "https://t.co/wN4sA5Qsma", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197627, "tags": [], "date_received": "2017-04-14T22:08:19.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/Cas_Girl44", "url_original": null}], "description": null}], "language": null, "sender_name": "self", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197620, "tags": [], "date_received": "2017-04-14T22:05:26.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/curiosodefutbol/status/837752566117191680", "url_original": null}, {"url": "https://t.co/cN4REdVss1", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197624, "tags": [], "date_received": "2017-04-14T22:05:26.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/curiosodefutbol/status/837752566117191680", "url_original": null}, {"url": "https://t.co/cN4REdVss1", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197619, "tags": [], "date_received": "2017-04-14T22:00:51.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/curiosodefutbol/status/845399970824015872", "url_original": null}, {"url": "https://t.co/AUhXrKjf73", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197431, "tags": [], "date_received": "2017-04-14T21:58:58.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/masrarabiasport/status/852988222137389058", "url_original": null}, {"url": "https://t.co/kGA6kEjVSr", "url_original": null}], "description": null}], "language": null, "sender_name": "Kijamii for Internet Service", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197398, "tags": [], "date_received": "2017-04-14T19:53:04.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/afrosnugglz/status/725073537535479808", "url_original": null}, {"url": "https://t.co/RclrCP43tF", "url_original": null}], "description": null}], "language": null, "sender_name": "Freelance", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197394, "tags": [], "date_received": "2017-04-14T19:52:19.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/escotsindubai/status/852877864512966656", "url_original": null}, {"url": "https://t.co/PLVakt0orP", "url_original": null}], "description": null}], "language": null, "sender_name": "Lady Celebrity", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197397, "tags": [], "date_received": "2017-04-14T19:50:33.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/thetruevoicetv/status/852970600641384448", "url_original": null}, {"url": "https://twitter.com/dyoathletic/status/825817401832923137", "url_original": null}, {"url": "https://twitter.com/athleticfanspag/status/826038557026430976", "url_original": null}, {"url": "https://t.co/Spw7fmvYLc", "url_original": null}, {"url": "https://t.co/MPbS4ehu2N", "url_original": null}, {"url": "https://t.co/d790du2o7R", "url_original": null}], "description": null}], "language": null, "sender_name": "Liga Nacional de F\u00fatbol Profesional", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197346, "tags": [], "date_received": "2017-04-14T19:20:23.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/marceloroger435/status/852962549712773120", "url_original": null}, {"url": "https://twitter.com/arranobaltzaa/status/849386261567680512", "url_original": null}, {"url": "https://t.co/wpWJOm6y7x", "url_original": null}, {"url": "https://t.co/vGFavPfYW8", "url_original": null}], "description": null}], "language": null, "sender_name": "Liga Nacional de F\u00fatbol Profesional", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197408, "tags": [], "date_received": "2017-04-14T19:19:46.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/tailsdoll553/status/845623793057906690", "url_original": null}, {"url": "https://t.co/LzUYQNEOWc", "url_original": null}], "description": null}], "language": null, "sender_name": " - ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197406, "tags": [], "date_received": "2017-04-14T19:19:35.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/tailsdoll553/status/845945455729029120", "url_original": null}, {"url": "https://t.co/5edNziCjCH", "url_original": null}], "description": null}], "language": null, "sender_name": " - ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197272, "tags": [], "date_received": "2017-04-14T19:17:55.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/yasser7ob787/status/852961176258576387", "url_original": null}, {"url": "https://twitter.com/world_saudi2013/status/852957624026976256", "url_original": null}, {"url": "https://twitter.com/u54547/status/852960895189889024", "url_original": null}, {"url": "https://twitter.com/snd_ds/status/852961922161025025", "url_original": null}, {"url": "https://twitter.com/skdjhasjgdagshf/status/852956711535210499", "url_original": null}, {"url": "https://twitter.com/nayf1438/status/852962666503184384", "url_original": null}, {"url": "https://twitter.com/mzi71/status/852952965572952064", "url_original": null}, {"url": "https://twitter.com/dawrisaudi4k/status/852946469795618816", "url_original": null}, {"url": "https://twitter.com/calpsoslewpcp1h/status/852959043274637312", "url_original": null}, {"url": "https://twitter.com/alnah65484hy/status/852962783733977089", "url_original": null}, {"url": "https://twitter.com/aln5954hy/status/852962199022817280", "url_original": null}, {"url": "https://twitter.com/akhbarr24/status/852956792158113794", "url_original": null}, {"url": "https://t.co/vX4cB2cvf3", "url_original": null}, {"url": "https://t.co/UyXGvOY6zN", "url_original": null}, {"url": "https://t.co/P2bqfvSays", "url_original": null}, {"url": "https://t.co/nnFd2Ta5Jm", "url_original": null}, {"url": "https://t.co/lKqJAID0DE", "url_original": null}, {"url": "https://t.co/lFawVum8fU", "url_original": null}, {"url": "https://t.co/HtLXzLMs8d", "url_original": null}, {"url": "https://t.co/E00IRKzlXl", "url_original": null}, {"url": "https://t.co/DU5ibJujV1", "url_original": null}, {"url": "https://t.co/bMEndvb0tG", "url_original": null}, {"url": "https://t.co/aWSSZjUjga", "url_original": null}, {"url": "https://t.co/adkF9jbYcT", "url_original": null}, {"url": "https://t.co/9K36aSIWsJ", "url_original": null}, {"url": "https://t.co/4RTg08zxs1", "url_original": null}, {"url": "https://t.co/4jVxPwvt1l", "url_original": null}, {"url": "https://t.co/3bRGXiBIad", "url_original": null}, {"url": "https://t.co/ZauN6bCvui", "url_original": null}, {"url": "https://t.co/nqGu6WNIk3", "url_original": null}, {"url": "https://t.co/GQnkktwgpt", "url_original": null}], "description": null}], "language": null, "sender_name": "Dawri Plus", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197389, "tags": [], "date_received": "2017-04-14T19:16:45.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "http://twitter.com/zaynoo55/status/698227988672937984", "url_original": null}, {"url": "http://twitter.com/wasifwah/status/702175324050690050", "url_original": null}, {"url": "http://twitter.com/wa5imm/status/702548651151912960", "url_original": null}, {"url": "http://twitter.com/vishalprash/status/704496060513660928", "url_original": null}, {"url": "http://twitter.com/thotas9999/status/849652757640355840", "url_original": null}, {"url": "http://twitter.com/thilangura/status/697081932304224256", "url_original": null}, {"url": "http://twitter.com/sureshrcs/status/703481506921054208", "url_original": null}, {"url": "http://twitter.com/sunil_k1/status/711141430727741440", "url_original": null}, {"url": "https://t.co/vFLag2DSPl", "url_original": null}, {"url": "https://t.co/uuGyZzvdAC.", "url_original": null}, {"url": "https://t.co/sSo70tyPfL", "url_original": null}, {"url": "https://t.co/qNCYyflMbN", "url_original": null}, {"url": "https://t.co/pM4R5hyo7x", "url_original": null}, {"url": "https://t.co/HfYtT0Qhm3", "url_original": null}, {"url": "https://t.co/czIaSu6pC8", "url_original": null}, {"url": "https://t.co/b2mRstHqty", "url_original": null}, {"url": "https://t.co/1Ftx5vUSfs", "url_original": null}], "description": null}], "language": null, "sender_name": "Copyright Integrity International", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197371, "tags": [], "date_received": "2017-04-14T19:10:24.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/_goropa_/status/848253391914631168", "url_original": null}, {"url": "https://t.co/SCfefmTF1O", "url_original": null}], "description": null}], "language": null, "sender_name": "Liga Nacional de F\u00fatbol Profesional", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197288, "tags": [], "date_received": "2017-04-14T19:08:22.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/so6an_999/status/852957664493654018", "url_original": null}, {"url": "https://twitter.com/samiafox2/status/852957384020566017", "url_original": null}, {"url": "https://twitter.com/news_glo/status/852957156349546497", "url_original": null}, {"url": "https://twitter.com/mhamdalshrary/status/852955497561034752", "url_original": null}, {"url": "https://twitter.com/janaalshammry/status/852957848355053572", "url_original": null}, {"url": "https://twitter.com/bein720/status/852960552359997440", "url_original": null}, {"url": "https://t.co/ZJ7Ov2oqUg", "url_original": null}, {"url": "https://t.co/xn4xCD02oQ", "url_original": null}, {"url": "https://t.co/vNHxo9fgNG", "url_original": null}, {"url": "https://t.co/uc43oQ3q1K", "url_original": null}, {"url": "https://t.co/iNdKsStaBH", "url_original": null}, {"url": "https://t.co/igWHeUPJRO", "url_original": null}, {"url": "https://t.co/b4NBRg78vS", "url_original": null}, {"url": "https://twitter.com/world_saudi2013/status/852957624026976256", "url_original": null}, {"url": "https://t.co/ZauN6bCvui", "url_original": null}, {"url": "https://t.co/4RTg08zxs1", "url_original": null}, {"url": "https://t.co/1vIlhj68jX", "url_original": null}], "description": null}], "language": null, "sender_name": "Dawri PLus", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197042, "tags": [], "date_received": "2017-04-14T19:07:44.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "http://twitter.com/snaqvi97/status/702192510219763712", "url_original": null}, {"url": "http://twitter.com/shukrytwitts/status/849631335971000320", "url_original": null}, {"url": "http://twitter.com/sachin_6600/status/703580540889337856", "url_original": null}, {"url": "http://twitter.com/rokkingrahman/status/852564755122466816", "url_original": null}, {"url": "http://twitter.com/rizwan_gillani/status/849617136754601984", "url_original": null}, {"url": "http://twitter.com/red_log_in/status/849992940587859968", "url_original": null}, {"url": "http://twitter.com/ranukad/status/833245598438526976", "url_original": null}, {"url": "http://twitter.com/nitindhanuka/status/702525706983469057", "url_original": null}, {"url": "http://twitter.com/mrplanner1/status/703299999275290624", "url_original": null}, {"url": "http://twitter.com/maria_h_k/status/697781471277408257", "url_original": null}, {"url": "http://twitter.com/kh_masood/status/702192728789164032", "url_original": null}, {"url": "http://twitter.com/kazztr_/status/850003359687901184", "url_original": null}, {"url": "http://twitter.com/kazztr_/status/849277634148270081", "url_original": null}, {"url": "http://twitter.com/imranali27/status/697755127189499904", "url_original": null}, {"url": "http://twitter.com/ghalibirfann/status/837730569010151424", "url_original": null}, {"url": "http://twitter.com/ghalibirfann/status/837698517829320704", "url_original": null}, {"url": "http://twitter.com/engr_naveed111/status/702192176554442752", "url_original": null}, {"url": "http://twitter.com/ari_franchi/status/852171617035800576", "url_original": null}, {"url": "http://twitter.com/alluswagg/status/850715240052477952", "url_original": null}, {"url": "http://twitter.com/abirbcse/status/849976337435578369", "url_original": null}, {"url": "https://t.co/zrPnQ61RmB", "url_original": null}, {"url": "https://t.co/ZOLR2kP8Zp", "url_original": null}, {"url": "https://t.co/yVtUkg9W9K", "url_original": null}, {"url": "https://t.co/Y7izWRt5TG", "url_original": null}, {"url": "https://t.co/vlLO3rFSyV", "url_original": null}, {"url": "https://t.co/V5QVKJMcnA", "url_original": null}, {"url": "https://t.co/u37GEyOvKb", "url_original": null}, {"url": "https://t.co/rdcWlb4cmZ", "url_original": null}, {"url": "https://t.co/P4eVWRHJDG", "url_original": null}, {"url": "https://t.co/o1SI0aj4y9", "url_original": null}, {"url": "https://t.co/M5x7kq76zn", "url_original": null}, {"url": "https://t.co/KVxmVrLD8X", "url_original": null}, {"url": "https://t.co/HyCqVPgWy1", "url_original": null}, {"url": "https://t.co/hVAV4BtVo3", "url_original": null}, {"url": "https://t.co/h3MdVa5YtS", "url_original": null}, {"url": "https://t.co/gqIcTcg2Yh", "url_original": null}, {"url": "https://t.co/G9OmxLaahT", "url_original": null}, {"url": "https://t.co/fPSUS0sdxy", "url_original": null}, {"url": "https://t.co/bvNx9wn27m", "url_original": null}, {"url": "https://t.co/8uAXceJvco", "url_original": null}, {"url": "https://t.co/11Ao0RTxfs", "url_original": null}, {"url": "https://t.co/xY7eGJX5Kn", "url_original": null}, {"url": "https://t.co/db4XwDZcYH", "url_original": null}], "description": null}], "language": null, "sender_name": "Copyright Integrity International", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197405, "tags": [], "date_received": "2017-04-14T19:06:49.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/tailsdoll553/status/850195372647436289", "url_original": null}, {"url": "https://t.co/ezSc10QJGL", "url_original": null}], "description": null}], "language": null, "sender_name": " - ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197404, "tags": [], "date_received": "2017-04-14T19:06:29.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/tailsdoll553/status/851336503212949504", "url_original": null}, {"url": "https://t.co/bouPCStk9F", "url_original": null}], "description": null}], "language": null, "sender_name": " - ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197402, "tags": [], "date_received": "2017-04-14T19:06:22.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/tailsdoll553/status/852896025773658112", "url_original": null}, {"url": "https://t.co/phyeVlUlBZ", "url_original": null}], "description": null}], "language": null, "sender_name": " - ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}], "meta": {"total_entries": 114101, "total_pages": 2283, "query": {"term": null, "date_received_facet": "from"}, "previous_page": 6, "current_page": 7, "next_page": null, "facets": {"tag_list_facet": {"other": 0, "terms": [{"term": "text", "count": 4}, {"term": "music", "count": 1}], "_type": "terms", "total": 5, "missing": 114270}, "date_received_facet": {"ranges": [{"from_str": "2017-04-16T00:00:00.000-04:00", "min": 1492315756000.0, "total_count": 145, "mean": 1492364113537.9312, "to_str": "2017-04-17T00:00:00.000-04:00", "count": 145, "max": 1492399780000.0, "to": 1492401600000.0, "from": 1492315200000.0, "total": 216392796463000.0}, {"from_str": "2017-03-17T00:00:00.000-04:00", "min": 1489725404000.0, "total_count": 4050, "mean": 1491097731118.2715, "to_str": "2017-04-17T00:00:00.000-04:00", "count": 4050, "max": 1492399780000.0, "to": 1492401600000.0, "from": 1489723200000.0, "total": 6038945811029000.0}, {"from_str": "2016-10-17T00:00:00.000-04:00", "min": 1476676808000.0, "total_count": 20982, "mean": 1484598494758.1736, "to_str": "2017-04-17T00:00:00.000-04:00", "count": 20982, "max": 1492399780000.0, "to": 1492401600000.0, "from": 1476676800000.0, "total": 3.1149845617016e+16}, {"from_str": "2016-04-17T00:00:00.000-04:00", "min": 1460879315000.0, "total_count": 49523, "mean": 1475665453911.213, "to_str": "2017-04-17T00:00:00.000-04:00", "count": 49523, "max": 1492399780000.0, "to": 1492401600000.0, "from": 1460865600000.0, "total": 7.3079380274045e+16}], "_type": "range"}, "topic_facet": {"other": 1, "terms": [{"term": "Copyright", "count": 114275}, {"term": "DMCA Safe Harbor", "count": 23682}, {"term": "DMCA Notices", "count": 19166}, {"term": "Uncategorized", "count": 996}, {"term": "International", "count": 146}, {"term": "Court Orders", "count": 5}, {"term": "Responses", "count": 4}, {"term": "Lumen", "count": 4}, {"term": "Copyright and Fair Use", "count": 4}, {"term": "Defamation", "count": 2}], "_type": "terms", "total": 158285, "missing": 0}, "country_code_facet": {"other": 0, "terms": [{"term": "US", "count": 113723}, {"term": "", "count": 43}, {"term": "us", "count": 6}, {"term": "gb", "count": 1}, {"term": "Br", "count": 1}, {"term": "94", "count": 1}], "_type": "terms", "total": 113775, "missing": 500}, "sender_name_facet": {"other": 63686, "terms": [{"term": " - ", "count": 19631}, {"term": "Authorized agent", "count": 4694}, {"term": "Director of Anti-Piracy", "count": 3739}, {"term": "Web Sheriff", "count": 2991}, {"term": "Remove Your Media LLC.", "count": 2916}, {"term": "Liga Nacional de F\u00fatbol Profesional", "count": 2915}, {"term": "Recording Industry Association of America, Inc. (RIAA)", "count": 2202}, {"term": "Legal Counsel", "count": 1960}, {"term": "Copyright Integrity International", "count": 1539}, {"term": "Adobe Systems Incorporated", "count": 1278}], "_type": "terms", "total": 107551, "missing": 6724}, "submitter_name_facet": {"other": 0, "terms": [{"term": "twitter", "count": 41951}, {"term": "inc", "count": 41951}, {"term": "private", "count": 1}, {"term": "kittos", "count": 1}, {"term": "david", "count": 1}], "_type": "terms", "total": 83905, "missing": 72322}, "submitter_country_code_facet": {"other": 0, "terms": [{"term": "usa", "count": 9301}], "_type": "terms", "total": 9301, "missing": 104974}, "action_taken_facet": {"other": 0, "terms": [{"term": "Yes", "count": 114190}, {"term": "", "count": 80}, {"term": "No", "count": 4}, {"term": "Partial", "count": 1}], "_type": "terms", "total": 114275, "missing": 0}, "recipient_name_facet": {"other": 0, "terms": [{"term": "Twitter", "count": 114145}, {"term": "Twitter, Inc.", "count": 112}, {"term": "Twitter, Inc", "count": 10}, {"term": "Twitter Inc.", "count": 3}, {"term": "Twitter user @spin", "count": 1}, {"term": "Twitter Trust and Safety", "count": 1}, {"term": "Twitter -Vine", "count": 1}, {"term": "Site http://www.celebrinando.com/ Perfil de Twitter @CelebrinandoRJ", "count": 1}, {"term": "Emplacement / Bacau , Str. Pictor Aman Nr. 94 Romania E-mail / waldliebefamilien @ gmail.com Sur internet / Site web/ Twitter/ Facebook/ Discogs/ Soundcloud/", "count": 1}], "_type": "terms", "total": 114275, "missing": 0}, "principal_name_facet": {"other": 33035, "terms": [{"term": "IFPI", "count": 2494}, {"term": "MX International Inc", "count": 1964}, {"term": "CANAL+ GROUP", "count": 1039}, {"term": "Magnolia Pictures", "count": 992}, {"term": "Japan Creative Contents Alliance LLC", "count": 961}, {"term": "Entura International", "count": 800}, {"term": "Universal Music Group", "count": 779}, {"term": "MAGNOLIA PICTURES INC.", "count": 772}, {"term": "Copyright Integrity International", "count": 694}, {"term": "ITMPA", "count": 544}], "_type": "terms", "total": 44074, "missing": 70201}, "language_facet": {"other": 0, "terms": [{"term": "en", "count": 27}, {"term": "", "count": 19}, {"term": "tr", "count": 7}, {"term": "en-GB", "count": 2}, {"term": "pt", "count": 1}], "_type": "terms", "total": 56, "missing": 114219}}, "offset": 300, "per_page": 50}} \ No newline at end of file diff --git a/tests/fixture_data/twitter_tweets.json b/tests/fixture_data/twitter_tweets.json new file mode 100644 index 0000000..66483b2 --- /dev/null +++ b/tests/fixture_data/twitter_tweets.json @@ -0,0 +1 @@ +[{"favorited": false, "favorite_count": 6, "truncated": false, "id": 853657113498931200, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [118, 141], "display_url": "theatlantic.com/technology/arc\u2026", "expanded_url": "http://theatlantic.com/technology/archive/2015/06/the-tragedy-of-the-digital-commons/395129/", "url": "https://t.co/Tpa93ZDVPx"}], "symbols": []}, "id_str": "853657113498931200", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 853656490229551105, "created_at": "Sun Apr 16 17:11:30 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": 52332354, "geo": null, "text": "If I've learned anything at MIT, it's the need for enduring hope & action on problems that yield in the long term https://t.co/Tpa93ZDVPx", "retweet_count": 2, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "853656490229551105", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 2, "truncated": false, "id": 853656490229551105, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "853656490229551105", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 853656236977422336, "created_at": "Sun Apr 16 17:09:02 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "Fortunately, we can use more detailed measures to test outcomes in shorter periods of time as well <grin>", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "853656236977422336", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 2, "truncated": false, "id": 853656236977422336, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "853656236977422336", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 853655579730075653, "created_at": "Sun Apr 16 17:08:01 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "If today's efforts to reduce online bullying among young people are successful, I might see online harassment rates reduce in my lifetime", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "853655579730075653", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 2, "truncated": false, "id": 853655579730075653, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "853655579730075653", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 853654439324004353, "created_at": "Sun Apr 16 17:05:25 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "When the publicly-available benchmarks ask if people have ever experienced harassment, we can only observe change on generational scales", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "853654439324004353", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 3, "truncated": false, "id": 853654439324004353, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "853654439324004353", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 853650682276171776, "created_at": "Sun Apr 16 17:00:53 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "It's also hard to calibrate our expectations for social change. A change of 1% could improve the lives of millions, but still be just a drop", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "853650682276171776", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 7, "truncated": false, "id": 853650682276171776, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "853650682276171776", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 853650448959639554, "created_at": "Sun Apr 16 16:45:57 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "If online harassment is only something to be solved by platforms and small nonprofits, I empathize with the loss of hope to address it", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "853650448959639554", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 6, "truncated": false, "id": 853650448959639554, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "853650448959639554", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sun Apr 16 16:45:01 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "Still thinking about the NYTimes article that failed to mention the 100m+ Americans who have actively supported those harassed online", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 27, "truncated": false, "id": 853560269372567552, "in_reply_to_user_id_str": "16284697", "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 16284697, "url": "https://t.co/j1tDEbz7DF", "id_str": "16284697", "favourites_count": 2997, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "tinyletter.com/metafoundry", "expanded_url": "http://tinyletter.com/metafoundry", "url": "https://t.co/j1tDEbz7DF"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/765156008096305152/W0b0RNw0_normal.jpg", "profile_link_color": "009999", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme14/bg.gif", "listed_count": 465, "screen_name": "debcha", "profile_use_background_image": true, "followers_count": 7225, "statuses_count": 78151, "profile_background_color": "131516", "friends_count": 725, "created_at": "Sun Sep 14 17:00:26 +0000 2008", "location": "Cambridge, MA / London, UK", "is_translator": false, "verified": false, "profile_sidebar_border_color": "EEEEEE", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme14/bg.gif", "has_extended_profile": false, "protected": false, "description": "Engineering professor. Design, technology, nature, language, food, music, gender, intersections thereof. All enthusiasm is 100% genuine.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/765156008096305152/W0b0RNw0_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/16284697/1406479433", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "EFEFEF", "name": "Deb Chachra", "default_profile_image": false, "profile_background_tile": true, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "853560269372567552", "source": "Tweetbot for i\u039fS", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 853559842270785536, "created_at": "Sun Apr 16 10:46:41 +0000 2017", "in_reply_to_user_id": 16284697, "geo": null, "text": "tl;dr: Charging Bull is guerilla art. Fearless Girl is an ad that only makes sense in situ. It's complicated. Also, late capitalism sucks.", "retweet_count": 14, "in_reply_to_screen_name": "debcha", "in_reply_to_status_id_str": "853559842270785536", "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 853626807249227776, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "debcha", "id_str": "16284697", "name": "Deb Chachra", "id": 16284697, "indices": [3, 10]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "853626807249227776", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sun Apr 16 15:11:05 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @debcha: tl;dr: Charging Bull is guerilla art. Fearless Girl is an ad that only makes sense in situ. It's complicated. Also, late capita\u2026", "retweet_count": 14, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 43, "truncated": false, "id": 853559842270785536, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 16284697, "url": "https://t.co/j1tDEbz7DF", "id_str": "16284697", "favourites_count": 2997, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "tinyletter.com/metafoundry", "expanded_url": "http://tinyletter.com/metafoundry", "url": "https://t.co/j1tDEbz7DF"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/765156008096305152/W0b0RNw0_normal.jpg", "profile_link_color": "009999", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme14/bg.gif", "listed_count": 465, "screen_name": "debcha", "profile_use_background_image": true, "followers_count": 7225, "statuses_count": 78151, "profile_background_color": "131516", "friends_count": 725, "created_at": "Sun Sep 14 17:00:26 +0000 2008", "location": "Cambridge, MA / London, UK", "is_translator": false, "verified": false, "profile_sidebar_border_color": "EEEEEE", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme14/bg.gif", "has_extended_profile": false, "protected": false, "description": "Engineering professor. Design, technology, nature, language, food, music, gender, intersections thereof. All enthusiasm is 100% genuine.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/765156008096305152/W0b0RNw0_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/16284697/1406479433", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "EFEFEF", "name": "Deb Chachra", "default_profile_image": false, "profile_background_tile": true, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "FelicityDisco", "id_str": "271556955", "name": "Felicity Disco", "id": 271556955, "indices": [84, 98]}, {"screen_name": "JustineLavaworm", "id_str": "23730438", "name": "Justine Larbalestier", "id": 23730438, "indices": [99, 115]}], "hashtags": [], "urls": [{"indices": [116, 139], "display_url": "gregfallis.com/2017/04/14/ser\u2026", "expanded_url": "https://gregfallis.com/2017/04/14/seriously-the-guy-has-a-point/", "url": "https://t.co/WIwiuYYTWw"}], "symbols": []}, "id_str": "853559842270785536", "source": "Tweetbot for i\u039fS", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sun Apr 16 10:44:59 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Some important context for the Fearless Girl/Charging Bull statue controversy. /via @FelicityDisco @JustineLavaworm https://t.co/WIwiuYYTWw", "retweet_count": 54, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 853626796717244416, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "debcha", "id_str": "16284697", "name": "Deb Chachra", "id": 16284697, "indices": [3, 10]}, {"screen_name": "FelicityDisco", "id_str": "271556955", "name": "Felicity Disco", "id": 271556955, "indices": [96, 110]}, {"screen_name": "JustineLavaworm", "id_str": "23730438", "name": "Justine Larbalestier", "id": 23730438, "indices": [111, 127]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "853626796717244416", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sun Apr 16 15:11:02 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @debcha: Some important context for the Fearless Girl/Charging Bull statue controversy. /via @FelicityDisco @JustineLavaworm https://t.c\u2026", "retweet_count": 54, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 853623239905611776, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "853623239905611776", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sun Apr 16 14:56:54 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "\"Oh, morning, at the brown brink eastward, springs\"", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 853595806867353600, "in_reply_to_user_id_str": "2566358196", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "godtributes", "id_str": "2566358196", "name": "Appropriate Tributes", "id": 2566358196, "indices": [0, 12]}, {"screen_name": "deathmtn", "id_str": "129586119", "name": "Jim", "id": 129586119, "indices": [13, 22]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "853595806867353600", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 853595657785004032, "created_at": "Sun Apr 16 13:07:54 +0000 2017", "in_reply_to_user_id": 2566358196, "geo": null, "text": "@godtributes @deathmtn maybe another item to add to the blacklist", "retweet_count": 0, "in_reply_to_screen_name": "godtributes", "in_reply_to_status_id_str": "853595657785004032", "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 1, "truncated": false, "id": 853593615767097344, "in_reply_to_user_id_str": null, "user": {"time_zone": "Pacific Time (US & Canada)", "notifications": false, "id": 14145626, "url": "https://t.co/untaHq9I4B", "id_str": "14145626", "favourites_count": 23831, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "about.me/mkatti", "expanded_url": "http://about.me/mkatti", "url": "https://t.co/untaHq9I4B"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/840248084949012481/dntCKrou_normal.jpg", "profile_link_color": "0084B4", "lang": "en", "utc_offset": -25200, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/3464238/image6.jpg", "listed_count": 459, "screen_name": "leafwarbler", "profile_use_background_image": true, "followers_count": 4800, "statuses_count": 107489, "profile_background_color": "134F21", "friends_count": 4378, "created_at": "Fri Mar 14 08:35:06 +0000 2008", "location": "Raleigh, NC", "is_translator": false, "verified": false, "profile_sidebar_border_color": "BDDCAD", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/3464238/image6.jpg", "has_extended_profile": false, "protected": false, "description": "Alien of Extraordinary Ability | Study feathered dinosaurs of our urbanizing planet | Reconciliation Ecology | #PublicScience @NCState | #ScienceCandle podcast", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/840248084949012481/dntCKrou_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/14145626/1488765352", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "DDFFCC", "name": "Madhusudan Katti", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [90, 113], "display_url": "wapo.st/2mvRFZ9?tid=ss\u2026", "expanded_url": "http://wapo.st/2mvRFZ9?tid=ss_tw", "url": "https://t.co/mXG05E6Yw5"}], "symbols": []}, "id_str": "853593615767097344", "source": "Twitter for iPad", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sun Apr 16 12:59:11 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "The science whiz who dazzled Obama has schizophrenia. His family faces crushing expenses. https://t.co/mXG05E6Yw5", "retweet_count": 2, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 853595612327096320, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "leafwarbler", "id_str": "14145626", "name": "Madhusudan Katti", "id": 14145626, "indices": [3, 15]}], "hashtags": [], "urls": [{"indices": [107, 130], "display_url": "wapo.st/2mvRFZ9?tid=ss\u2026", "expanded_url": "http://wapo.st/2mvRFZ9?tid=ss_tw", "url": "https://t.co/mXG05E6Yw5"}], "symbols": []}, "id_str": "853595612327096320", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sun Apr 16 13:07:07 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @leafwarbler: The science whiz who dazzled Obama has schizophrenia. His family faces crushing expenses. https://t.co/mXG05E6Yw5", "retweet_count": 2, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 853591605919576065, "in_reply_to_user_id_str": "5734242", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "ChaToX", "id_str": "5734242", "name": "Carlos Castillo", "id": 5734242, "indices": [0, 7]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "853591605919576065", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 853591457348935681, "created_at": "Sun Apr 16 12:51:12 +0000 2017", "in_reply_to_user_id": 5734242, "geo": null, "text": "@ChaToX I'll be making them public soon", "retweet_count": 0, "in_reply_to_screen_name": "ChaToX", "in_reply_to_status_id_str": "853591457348935681", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 853463799994757120, "in_reply_to_user_id_str": "290879947", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "doougle", "id_str": "290879947", "name": "Douglas Wilson", "id": 290879947, "indices": [0, 8]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "853463799994757120", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 853461788385460224, "created_at": "Sun Apr 16 04:23:21 +0000 2017", "in_reply_to_user_id": 290879947, "geo": null, "text": "@doougle Lifted too much and injured your back? We have a medical procedure for you that will in-debt you to us for life. You're welcome.", "retweet_count": 0, "in_reply_to_screen_name": "doougle", "in_reply_to_status_id_str": "853461788385460224", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 853374127998201859, "in_reply_to_user_id_str": "87244851", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "LisaBolekaja", "id_str": "87244851", "name": "WhatFreshHellisThis?", "id": 87244851, "indices": [0, 13]}], "hashtags": [], "urls": [{"indices": [110, 133], "display_url": "science.time.com/2013/01/18/do-\u2026", "expanded_url": "http://science.time.com/2013/01/18/do-crabs-feel-pain-maybe-and-maybe-we-should-rethink-eating-them/", "url": "https://t.co/o0I6CXZr9f"}], "symbols": []}, "id_str": "853374127998201859", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 853373364546584576, "created_at": "Sat Apr 15 22:27:01 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": 87244851, "geo": null, "text": "@LisaBolekaja Recent research findings suggest that crabs may feel pain \u2013 at least they can learn to avoid it https://t.co/o0I6CXZr9f", "retweet_count": 0, "in_reply_to_screen_name": "LisaBolekaja", "in_reply_to_status_id_str": "853373364546584576", "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 3, "truncated": false, "id": 853346446321618945, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 3142042234, "url": "https://t.co/0NwcEyAxOB", "id_str": "3142042234", "favourites_count": 811, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "iheartmob.org", "expanded_url": "http://iheartmob.org", "url": "https://t.co/0NwcEyAxOB"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/585195023626547201/Wk8XACyE_normal.png", "profile_link_color": "1DA1F2", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "listed_count": 63, "screen_name": "theheartmob", "profile_use_background_image": true, "followers_count": 4326, "statuses_count": 1636, "profile_background_color": "C0DEED", "friends_count": 292, "created_at": "Mon Apr 06 21:33:05 +0000 2015", "location": "", "is_translator": false, "verified": true, "profile_sidebar_border_color": "C0DEED", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "has_extended_profile": false, "protected": false, "description": "HeartMob is a platform that provides real-time support to individuals experiencing online harassment and empowers bystanders to act.", "is_translation_enabled": false, "default_profile": true, "profile_image_url": "http://pbs.twimg.com/profile_images/585195023626547201/Wk8XACyE_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/3142042234/1483636651", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "DDEEF6", "name": "HeartMob", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "UofR", "id_str": "14778782", "name": "Univ. of Rochester", "id": 14778782, "indices": [63, 68]}, {"screen_name": "willxcheng", "id_str": "3249085780", "name": "William Cheng", "id": 3249085780, "indices": [69, 80]}], "hashtags": [], "media": [{"indices": [105, 128], "type": "photo", "media_url": "http://pbs.twimg.com/media/C9eyEadXcAE-pQr.jpg", "id": 853346443301711873, "media_url_https": "https://pbs.twimg.com/media/C9eyEadXcAE-pQr.jpg", "id_str": "853346443301711873", "url": "https://t.co/sx5VEVbL4g", "display_url": "pic.twitter.com/sx5VEVbL4g", "sizes": {"thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 447, "w": 300, "resize": "fit"}, "large": {"h": 447, "w": 300, "resize": "fit"}, "small": {"h": 447, "w": 300, "resize": "fit"}}, "expanded_url": "https://twitter.com/theheartmob/status/853346446321618945/photo/1"}], "urls": [{"indices": [81, 104], "display_url": "buff.ly/2pajfvC", "expanded_url": "http://buff.ly/2pajfvC", "url": "https://t.co/nHiZUDskZ2"}], "symbols": []}, "id_str": "853346446321618945", "source": "Buffer", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "extended_entities": {"media": [{"indices": [105, 128], "type": "photo", "media_url": "http://pbs.twimg.com/media/C9eyEadXcAE-pQr.jpg", "id": 853346443301711873, "media_url_https": "https://pbs.twimg.com/media/C9eyEadXcAE-pQr.jpg", "id_str": "853346443301711873", "url": "https://t.co/sx5VEVbL4g", "display_url": "pic.twitter.com/sx5VEVbL4g", "sizes": {"thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 447, "w": 300, "resize": "fit"}, "large": {"h": 447, "w": 300, "resize": "fit"}, "small": {"h": 447, "w": 300, "resize": "fit"}}, "expanded_url": "https://twitter.com/theheartmob/status/853346446321618945/photo/1"}]}, "created_at": "Sat Apr 15 20:37:01 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Rainbow Lecture to explore harassment in online gameworlds via @UofR @willxcheng https://t.co/nHiZUDskZ2 https://t.co/sx5VEVbL4g", "retweet_count": 2, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 853347688980598787, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "theheartmob", "id_str": "3142042234", "name": "HeartMob", "id": 3142042234, "indices": [3, 15]}, {"screen_name": "UofR", "id_str": "14778782", "name": "Univ. of Rochester", "id": 14778782, "indices": [80, 85]}, {"screen_name": "willxcheng", "id_str": "3249085780", "name": "William Cheng", "id": 3249085780, "indices": [86, 97]}], "hashtags": [], "urls": [{"indices": [98, 121], "display_url": "buff.ly/2pajfvC", "expanded_url": "http://buff.ly/2pajfvC", "url": "https://t.co/nHiZUDskZ2"}], "symbols": []}, "id_str": "853347688980598787", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sat Apr 15 20:41:58 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @theheartmob: Rainbow Lecture to explore harassment in online gameworlds via @UofR @willxcheng https://t.co/nHiZUDskZ2 https://t.co/sx5V\u2026", "retweet_count": 2, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 853269026163875840, "in_reply_to_user_id_str": "11095202", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "jamesdoc", "id_str": "11095202", "name": "James Doc", "id": 11095202, "indices": [0, 9]}, {"screen_name": "theglobechurch", "id_str": "2865479662", "name": "The Globe Church", "id": 2865479662, "indices": [10, 25]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "853269026163875840", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 853264466036830208, "created_at": "Sat Apr 15 15:29:23 +0000 2017", "in_reply_to_user_id": 11095202, "geo": null, "text": "@jamesdoc @theglobechurch *takes look at brownies*\n*gets on a plane*", "retweet_count": 0, "in_reply_to_screen_name": "jamesdoc", "in_reply_to_status_id_str": "853264466036830208", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 14, "truncated": false, "id": 853254569480138753, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "4sWeb", "id_str": "790089560", "name": "4sOnline", "id": 790089560, "indices": [93, 99]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "853254569480138753", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sat Apr 15 14:31:56 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "My paper on democratic political philosophies of social experimentation was accepted for the @4sWeb mtg in Aug. Can't wait for a great conv!", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 853033412487196672, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "mitsailing", "id_str": "153393007", "name": "MIT Sailing Pavilion", "id": 153393007, "indices": [41, 52]}], "hashtags": [], "urls": [{"indices": [68, 91], "display_url": "facebook.com/groups/3170456\u2026", "expanded_url": "https://www.facebook.com/groups/317045605039877/permalink/1332603133484114/", "url": "https://t.co/9fsZChaj6g"}], "symbols": []}, "id_str": "853033412487196672", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 14 23:53:08 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "How I spent my afternoon: helping splash @mitsailing's X-Dimension\n\nhttps://t.co/9fsZChaj6g", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 2, "truncated": true, "id": 852905628947427328, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 344235274, "url": "http://t.co/539gZbZ02B", "id_str": "344235274", "favourites_count": 647, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "aspeninstitute.org/c&s", "expanded_url": "http://aspeninstitute.org/c&s", "url": "http://t.co/539gZbZ02B"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000833689787/6bee38f21bdce5f383e72f4d372a399f_normal.jpeg", "profile_link_color": "1F98C7", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme2/bg.gif", "listed_count": 102, "screen_name": "aspencs", "profile_use_background_image": true, "followers_count": 1529, "statuses_count": 2370, "profile_background_color": "C6E2EE", "friends_count": 864, "created_at": "Thu Jul 28 19:04:44 +0000 2011", "location": " Washington, D.C.", "is_translator": false, "verified": false, "profile_sidebar_border_color": "C6E2EE", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme2/bg.gif", "has_extended_profile": false, "protected": false, "description": "The Communications & Society Program @aspeninstitute promotes integrated, thoughtful, values-based decision making in communications, media & information policy", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000833689787/6bee38f21bdce5f383e72f4d372a399f_normal.jpeg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/344235274/1386253484", "follow_request_sent": false, "profile_text_color": "663B12", "geo_enabled": true, "profile_sidebar_fill_color": "DAECF4", "name": "Aspen C&S", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [{"indices": [24, 37], "text": "guestscholar"}, {"indices": [52, 63], "text": "commpolicy"}, {"indices": [67, 90], "text": "ArtificialIntelligence"}], "urls": [{"indices": [116, 139], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/852905628947427328", "url": "https://t.co/2lQw31bvwg"}], "symbols": []}, "id_str": "852905628947427328", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 14 15:25:22 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "REMINDER: Apply to be a #guestscholar to either our #commpolicy or #ArtificialIntelligence conferences by May 1st.\u2026 https://t.co/2lQw31bvwg", "retweet_count": 4, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 852923146248364032, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "aspencs", "id_str": "344235274", "name": "Aspen C&S", "id": 344235274, "indices": [3, 11]}], "hashtags": [{"indices": [37, 50], "text": "guestscholar"}, {"indices": [65, 76], "text": "commpolicy"}, {"indices": [80, 103], "text": "ArtificialIntelligence"}], "urls": [], "symbols": []}, "id_str": "852923146248364032", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 14 16:34:59 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @aspencs: REMINDER: Apply to be a #guestscholar to either our #commpolicy or #ArtificialIntelligence conferences by May 1st. https://t.c\u2026", "retweet_count": 4, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": true, "favorite_count": 48, "truncated": false, "id": 852922975921766400, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "852922975921766400", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 14 16:34:18 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "Submitted the first draft of my dissertation. Taking the afternoon off", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 852921353263095808, "in_reply_to_user_id_str": "14109718", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "gloriakt", "id_str": "14109718", "name": "gloriakt", "id": 14109718, "indices": [0, 9]}, {"screen_name": "waynesutton", "id_str": "874", "name": "Wayne Sutton", "id": 874, "indices": [10, 22]}, {"screen_name": "reshmasaujani", "id_str": "57172253", "name": "Reshma Saujani", "id": 57172253, "indices": [23, 37]}, {"screen_name": "tglaisyer", "id_str": "1910381", "name": "Tom Glaisyer", "id": 1910381, "indices": [38, 48]}, {"screen_name": "s010n", "id_str": "174251966", "name": "Solon Barocas", "id": 174251966, "indices": [49, 55]}, {"screen_name": "gpanger", "id_str": "13126022", "name": "Galen Panger \u2615\ufe0f", "id": 13126022, "indices": [56, 64]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "852921353263095808", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 852915987095670784, "created_at": "Fri Apr 14 16:27:51 +0000 2017", "in_reply_to_user_id": 14109718, "geo": null, "text": "@gloriakt @waynesutton @reshmasaujani @tglaisyer @s010n @gpanger Thanks for the suggestion! I didn't know about this!", "retweet_count": 0, "in_reply_to_screen_name": "gloriakt", "in_reply_to_status_id_str": "852915987095670784", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 852892604329062400, "in_reply_to_user_id_str": "23214124", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "jtmatias", "id_str": "23214124", "name": "Jonathan Mat\u00edas", "id": 23214124, "indices": [0, 9]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "852892604329062400", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 852889087136628737, "created_at": "Fri Apr 14 14:33:37 +0000 2017", "in_reply_to_user_id": 23214124, "geo": null, "text": "@jtmatias no I didn't! Thanks for letting me know!", "retweet_count": 0, "in_reply_to_screen_name": "jtmatias", "in_reply_to_status_id_str": "852889087136628737", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 5, "truncated": true, "id": 852880722201382912, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [116, 139], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/852880722201382912", "url": "https://t.co/0kj6SL77pR"}], "symbols": []}, "id_str": "852880722201382912", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 55, "truncated": false, "id": 852874822728245248, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 10834752, "url": "http://t.co/gom6hTWCuB", "id_str": "10834752", "favourites_count": 972, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "randomwalker.info", "expanded_url": "http://randomwalker.info/", "url": "http://t.co/gom6hTWCuB"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/575322862917001217/QsEvFqX3_normal.jpeg", "profile_link_color": "1B95E0", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme2/bg.gif", "listed_count": 540, "screen_name": "random_walker", "profile_use_background_image": false, "followers_count": 9302, "statuses_count": 7395, "profile_background_color": "7898A6", "friends_count": 163, "created_at": "Tue Dec 04 11:14:14 +0000 2007", "location": "NYC & Princeton", "is_translator": false, "verified": true, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme2/bg.gif", "has_extended_profile": true, "protected": false, "description": "Princeton prof. I tweet about information privacy and security, Bitcoin, tech policy, science.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/575322862917001217/QsEvFqX3_normal.jpeg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/10834752/1488663432", "follow_request_sent": false, "profile_text_color": "301B08", "geo_enabled": false, "profile_sidebar_fill_color": "DAECF4", "name": "Arvind Narayanan", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [77, 100], "display_url": "randomwalker.info/publications/a\u2026", "expanded_url": "http://randomwalker.info/publications/ad-blocking-framework-techniques.pdf", "url": "https://t.co/VMwkUggcOi"}, {"indices": [112, 135], "display_url": "freedom-to-tinker.com/2017/04/14/the\u2026", "expanded_url": "https://freedom-to-tinker.com/2017/04/14/the-future-of-ad-blocking/", "url": "https://t.co/aJh5Aedblc"}], "symbols": []}, "id_str": "852874822728245248", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 14 13:22:58 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "The Future of Ad Blocking: An Analytical Framework and New Techniques\nPaper: https://t.co/VMwkUggcOi Blog post: https://t.co/aJh5Aedblc", "retweet_count": 37, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Fri Apr 14 13:46:24 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 852874822728245248, "geo": null, "text": "Browsers can lie to scripts about what they show, making it difficult for advertisers to get the upper hand in the\u2026 https://t.co/0kj6SL77pR", "retweet_count": 1, "in_reply_to_screen_name": null, "quoted_status_id_str": "852874822728245248", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 0, "truncated": false, "id": 852454103691272192, "in_reply_to_user_id_str": null, "user": {"time_zone": "Amsterdam", "notifications": false, "id": 916801304, "url": "https://t.co/VERHZZxdXM", "id_str": "916801304", "favourites_count": 284, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "vgresearcher.wordpress.com", "expanded_url": "https://vgresearcher.wordpress.com/", "url": "https://t.co/VERHZZxdXM"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/456520027445792768/jChqIFrK_normal.png", "profile_link_color": "307D7E", "lang": "en", "utc_offset": 7200, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme2/bg.gif", "listed_count": 41, "screen_name": "WY_Tang", "profile_use_background_image": false, "followers_count": 394, "statuses_count": 1578, "profile_background_color": "000000", "friends_count": 159, "created_at": "Wed Oct 31 12:40:06 +0000 2012", "location": "", "is_translator": false, "verified": false, "profile_sidebar_border_color": "000000", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme2/bg.gif", "has_extended_profile": false, "protected": false, "description": "Communication Ph.D. All things about #videogames research. Specializes in sexual harassment in online gaming. @ifkms postdoc", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/456520027445792768/jChqIFrK_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/916801304/1488034540", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": false, "profile_sidebar_fill_color": "000000", "name": "Wai Yen Tang", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [{"indices": [52, 59], "text": "Online"}, {"indices": [60, 69], "text": "internet"}, {"indices": [71, 78], "text": "Racism"}], "urls": [{"indices": [106, 129], "display_url": "dx.doi.org/10.1037/cou000\u2026", "expanded_url": "http://dx.doi.org/10.1037/cou0000205", "url": "https://t.co/DcfX9NcLRP"}], "symbols": []}, "id_str": "852454103691272192", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Thu Apr 13 09:31:10 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Development and initial validation of the Perceived #Online #internet #Racism Scale by Keum & Miller https://t.co/DcfX9NcLRP", "retweet_count": 1, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 852747393095262208, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "WY_Tang", "id_str": "916801304", "name": "Wai Yen Tang", "id": 916801304, "indices": [3, 11]}], "hashtags": [{"indices": [65, 72], "text": "Online"}, {"indices": [73, 82], "text": "internet"}, {"indices": [84, 91], "text": "Racism"}], "urls": [{"indices": [119, 142], "display_url": "dx.doi.org/10.1037/cou000\u2026", "expanded_url": "http://dx.doi.org/10.1037/cou0000205", "url": "https://t.co/DcfX9NcLRP"}], "symbols": []}, "id_str": "852747393095262208", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 14 04:56:36 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @WY_Tang: Development and initial validation of the Perceived #Online #internet #Racism Scale by Keum & Miller https://t.co/DcfX9NcLRP", "retweet_count": 1, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 74, "truncated": true, "id": 852683128040828929, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 796745155, "url": "https://t.co/DKv2pNevEM", "id_str": "796745155", "favourites_count": 10890, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "maimunamajumder.com", "expanded_url": "http://maimunamajumder.com/", "url": "https://t.co/DKv2pNevEM"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/822672164537171968/82uIbO6y_normal.jpg", "profile_link_color": "3C3C3C", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/378800000078279694/3bfc9ef91f3f82f056845c78d376fb66.jpeg", "listed_count": 236, "screen_name": "maiamajumder", "profile_use_background_image": false, "followers_count": 3518, "statuses_count": 12953, "profile_background_color": "FFFFFF", "friends_count": 262, "created_at": "Sat Sep 01 19:43:21 +0000 2012", "location": "Boston, MA, USA", "is_translator": false, "verified": true, "profile_sidebar_border_color": "000000", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/378800000078279694/3bfc9ef91f3f82f056845c78d376fb66.jpeg", "has_extended_profile": true, "protected": false, "description": "Kindergarten dropout turned data geek. Presently: @MIT (SM/PhD), @healthmap. Past: @TuftsUniversity (BS/MPH), @icddr_b. Bylines: @WIRED, @FiveThirtyEight, @NPR.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/822672164537171968/82uIbO6y_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/796745155/1484975294", "follow_request_sent": false, "profile_text_color": "634047", "geo_enabled": true, "profile_sidebar_fill_color": "E3E2DE", "name": "Maia Majumder", "default_profile_image": false, "profile_background_tile": false, "translator_type": "regular", "following": false}, "entities": {"user_mentions": [], "hashtags": [{"indices": [30, 41], "text": "California"}, {"indices": [44, 56], "text": "vaccination"}, {"indices": [72, 78], "text": "SB277"}], "urls": [{"indices": [117, 140], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/852683128040828929", "url": "https://t.co/2adlABwsz7"}], "symbols": []}, "id_str": "852683128040828929", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 14 00:41:14 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "New data show improvements in #California's #vaccination rates (thanks, #SB277!), but there's still work to be done\u2026 https://t.co/2adlABwsz7", "retweet_count": 35, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 852718379278491648, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "maiamajumder", "id_str": "796745155", "name": "Maia Majumder", "id": 796745155, "indices": [3, 16]}], "hashtags": [{"indices": [48, 59], "text": "California"}, {"indices": [62, 74], "text": "vaccination"}, {"indices": [90, 96], "text": "SB277"}], "urls": [], "symbols": []}, "id_str": "852718379278491648", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 14 03:01:19 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @maiamajumder: New data show improvements in #California's #vaccination rates (thanks, #SB277!), but there's still work to be done: http\u2026", "retweet_count": 35, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 8, "truncated": false, "id": 852365244018053120, "in_reply_to_user_id_str": null, "user": {"time_zone": "Pacific Time (US & Canada)", "notifications": false, "id": 14335332, "url": "https://t.co/rfQwd0LVZb", "id_str": "14335332", "favourites_count": 12987, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "danwin.com", "expanded_url": "http://danwin.com", "url": "https://t.co/rfQwd0LVZb"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/3134267999/54b1603856efb494c0fb6095089b769a_normal.jpeg", "profile_link_color": "000000", "lang": "en", "utc_offset": -25200, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme3/bg.gif", "listed_count": 874, "screen_name": "dancow", "profile_use_background_image": true, "followers_count": 10110, "statuses_count": 32908, "profile_background_color": "EDECE9", "friends_count": 7768, "created_at": "Tue Apr 08 19:39:54 +0000 2008", "location": "Stanford, California", "is_translator": false, "verified": true, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme3/bg.gif", "has_extended_profile": true, "protected": false, "description": "Proud son of war refugees. \n@Stanford visiting professor in computational journalism. Past: @Skift, @ProPublica, @sacbee_news.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/3134267999/54b1603856efb494c0fb6095089b769a_normal.jpeg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/14335332/1474893314", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "EFEFEF", "name": "Dan Nguyen", "default_profile_image": false, "profile_background_tile": false, "translator_type": "regular", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [60, 83], "display_url": "latimes.com/nation/la-na-u\u2026", "expanded_url": "http://www.latimes.com/nation/la-na-united-david-dao-20170412-story.html", "url": "https://t.co/QEFxuPzgjV"}], "symbols": []}, "id_str": "852365244018053120", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Thu Apr 13 03:38:05 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "LOLing at American journalists discovering Vietnamese names https://t.co/QEFxuPzgjV", "retweet_count": 5, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 852390888017997824, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "dancow", "id_str": "14335332", "name": "Dan Nguyen", "id": 14335332, "indices": [3, 10]}], "hashtags": [], "urls": [{"indices": [72, 95], "display_url": "latimes.com/nation/la-na-u\u2026", "expanded_url": "http://www.latimes.com/nation/la-na-united-david-dao-20170412-story.html", "url": "https://t.co/QEFxuPzgjV"}], "symbols": []}, "id_str": "852390888017997824", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Thu Apr 13 05:19:59 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @dancow: LOLing at American journalists discovering Vietnamese names https://t.co/QEFxuPzgjV", "retweet_count": 5, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 343, "truncated": false, "id": 852341472640872449, "in_reply_to_user_id_str": null, "user": {"time_zone": "Central Time (US & Canada)", "notifications": false, "id": 69133574, "url": "https://t.co/DWqWlxbOKK", "id_str": "69133574", "favourites_count": 7856, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "hadley.nz", "expanded_url": "http://hadley.nz", "url": "https://t.co/DWqWlxbOKK"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/677589103710306304/m56O6Wgf_normal.jpg", "profile_link_color": "0084B4", "lang": "en", "utc_offset": -18000, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme15/bg.png", "listed_count": 1819, "screen_name": "hadleywickham", "profile_use_background_image": true, "followers_count": 42860, "statuses_count": 24440, "profile_background_color": "022330", "friends_count": 294, "created_at": "Wed Aug 26 23:34:46 +0000 2009", "location": "Houston, TX", "is_translator": false, "verified": true, "profile_sidebar_border_color": "A8C7F7", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme15/bg.png", "has_extended_profile": true, "protected": false, "description": "R, data, visualisation.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/677589103710306304/m56O6Wgf_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/69133574/1404410942", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "C0DFEC", "name": "Hadley Wickham", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [{"indices": [88, 98], "text": "tidyverse"}], "urls": [{"indices": [64, 87], "display_url": "ggplot2.tidyverse.org", "expanded_url": "http://ggplot2.tidyverse.org", "url": "https://t.co/nXdDfdHfEZ"}], "symbols": []}, "id_str": "852341472640872449", "source": "Tweetbot for i\u039fS", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Thu Apr 13 02:03:37 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "I think I forgot to mention that ggplot2 got a new website too: https://t.co/nXdDfdHfEZ #tidyverse", "retweet_count": 162, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 852341622033567745, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "hadleywickham", "id_str": "69133574", "name": "Hadley Wickham", "id": 69133574, "indices": [3, 17]}], "hashtags": [{"indices": [107, 117], "text": "tidyverse"}], "urls": [{"indices": [83, 106], "display_url": "ggplot2.tidyverse.org", "expanded_url": "http://ggplot2.tidyverse.org", "url": "https://t.co/nXdDfdHfEZ"}], "symbols": []}, "id_str": "852341622033567745", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Thu Apr 13 02:04:13 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @hadleywickham: I think I forgot to mention that ggplot2 got a new website too: https://t.co/nXdDfdHfEZ #tidyverse", "retweet_count": 162, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 3, "truncated": true, "id": 852314895072858116, "in_reply_to_user_id_str": "221668486", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "kopshtik", "id_str": "221668486", "name": "Oliver Keyes", "id": 221668486, "indices": [0, 9]}], "hashtags": [], "urls": [{"indices": [117, 140], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/852314895072858116", "url": "https://t.co/rfh7wulTV4"}], "symbols": []}, "id_str": "852314895072858116", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 852314645683617792, "created_at": "Thu Apr 13 00:18:00 +0000 2017", "in_reply_to_user_id": 221668486, "geo": null, "text": "@kopshtik My public defense is May 1st, the MIT Dspace open access version will be out soon after. Looking for venu\u2026 https://t.co/rfh7wulTV4", "retweet_count": 1, "in_reply_to_screen_name": "kopshtik", "in_reply_to_status_id_str": "852314645683617792", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 852314526859055109, "in_reply_to_user_id_str": "221668486", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "kopshtik", "id_str": "221668486", "name": "Oliver Keyes", "id": 221668486, "indices": [0, 9]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "852314526859055109", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 852314434370392065, "created_at": "Thu Apr 13 00:16:33 +0000 2017", "in_reply_to_user_id": 221668486, "geo": null, "text": "@kopshtik chapter one of the dissertation! :D", "retweet_count": 0, "in_reply_to_screen_name": "kopshtik", "in_reply_to_status_id_str": "852314434370392065", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 2, "truncated": false, "id": 852314299884335104, "in_reply_to_user_id_str": "221668486", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "kopshtik", "id_str": "221668486", "name": "Oliver Keyes", "id": 221668486, "indices": [0, 9]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "852314299884335104", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 852313973747703808, "created_at": "Thu Apr 13 00:15:38 +0000 2017", "in_reply_to_user_id": 221668486, "geo": null, "text": "@kopshtik Yep. Also (4) Jewish refugees who reshaped statistics into a tool for democratic societies", "retweet_count": 0, "in_reply_to_screen_name": "kopshtik", "in_reply_to_status_id_str": "852313973747703808", "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 322, "truncated": true, "id": 844966779759808512, "in_reply_to_user_id_str": "189895397", "user": {"time_zone": "Paris", "notifications": false, "id": 189895397, "url": "https://t.co/4sdEqImB8G", "id_str": "189895397", "favourites_count": 8241, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "c2montreal.com/speaker/monika\u2026", "expanded_url": "https://www.c2montreal.com/speaker/monika-bielskyte/", "url": "https://t.co/4sdEqImB8G"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/821093751519055872/TSgoab1F_normal.jpg", "profile_link_color": "999999", "lang": "en", "utc_offset": 7200, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/378800000159978652/vbS3QW6e.jpeg", "listed_count": 169, "screen_name": "monikabielskyte", "profile_use_background_image": true, "followers_count": 3707, "statuses_count": 15203, "profile_background_color": "000000", "friends_count": 1134, "created_at": "Sun Sep 12 14:44:06 +0000 2010", "location": "around the world", "is_translator": false, "verified": false, "profile_sidebar_border_color": "000000", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/378800000159978652/vbS3QW6e.jpeg", "has_extended_profile": true, "protected": false, "description": "creative, strategist, troublemaker. prototyping futures. deep down the rabbit hole of VR. pathologically curious. always for diversity \u26a1\ufe0f", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/821093751519055872/TSgoab1F_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/189895397/1445725729", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": true, "profile_sidebar_fill_color": "000000", "name": "monika bielskyte", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [117, 140], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/844966779759808512", "url": "https://t.co/7qSthL5Bxv"}], "symbols": []}, "id_str": "844966779759808512", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 844966425576034305, "created_at": "Thu Mar 23 17:39:13 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": 189895397, "geo": null, "text": "Cold, sterile spaces seem so passe.. Break that light through the prism, work transparencies. New conversations req\u2026 https://t.co/7qSthL5Bxv", "retweet_count": 66, "in_reply_to_screen_name": "monikabielskyte", "in_reply_to_status_id_str": "844966425576034305", "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 852298671504994309, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "monikabielskyte", "id_str": "189895397", "name": "monika bielskyte", "id": 189895397, "indices": [3, 19]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "852298671504994309", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 23:13:32 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @monikabielskyte: Cold, sterile spaces seem so passe.. Break that light through the prism, work transparencies. New conversations requir\u2026", "retweet_count": 66, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 561, "truncated": true, "id": 844965267553898496, "in_reply_to_user_id_str": "189895397", "user": {"time_zone": "Paris", "notifications": false, "id": 189895397, "url": "https://t.co/4sdEqImB8G", "id_str": "189895397", "favourites_count": 8241, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "c2montreal.com/speaker/monika\u2026", "expanded_url": "https://www.c2montreal.com/speaker/monika-bielskyte/", "url": "https://t.co/4sdEqImB8G"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/821093751519055872/TSgoab1F_normal.jpg", "profile_link_color": "999999", "lang": "en", "utc_offset": 7200, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/378800000159978652/vbS3QW6e.jpeg", "listed_count": 169, "screen_name": "monikabielskyte", "profile_use_background_image": true, "followers_count": 3707, "statuses_count": 15203, "profile_background_color": "000000", "friends_count": 1134, "created_at": "Sun Sep 12 14:44:06 +0000 2010", "location": "around the world", "is_translator": false, "verified": false, "profile_sidebar_border_color": "000000", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/378800000159978652/vbS3QW6e.jpeg", "has_extended_profile": true, "protected": false, "description": "creative, strategist, troublemaker. prototyping futures. deep down the rabbit hole of VR. pathologically curious. always for diversity \u26a1\ufe0f", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/821093751519055872/TSgoab1F_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/189895397/1445725729", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": true, "profile_sidebar_fill_color": "000000", "name": "monika bielskyte", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [120, 143], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/844965267553898496", "url": "https://t.co/192joacbgG"}], "symbols": []}, "id_str": "844965267553898496", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 844964790959296513, "created_at": "Thu Mar 23 17:33:13 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": 189895397, "geo": null, "text": "Too much Hwood sci-fi is stuck with retro ideas about future. The world of actual research in science & tech space\u2026 https://t.co/192joacbgG", "retweet_count": 194, "in_reply_to_screen_name": "monikabielskyte", "in_reply_to_status_id_str": "844964790959296513", "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 852298598826090496, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "monikabielskyte", "id_str": "189895397", "name": "monika bielskyte", "id": 189895397, "indices": [3, 19]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "852298598826090496", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 23:13:15 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @monikabielskyte: Too much Hwood sci-fi is stuck with retro ideas about future. The world of actual research in science & tech space is\u2026", "retweet_count": 194, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 852285887606030336, "in_reply_to_user_id_str": "14392797", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "andresmh", "id_str": "14392797", "name": "Andr\u00e9s Monroy", "id": 14392797, "indices": [0, 9]}, {"screen_name": "erhardt", "id_str": "5721202", "name": "Erhardt Graeff", "id": 5721202, "indices": [10, 18]}, {"screen_name": "OddLetters", "id_str": "17789751", "name": "Molly Sauter", "id": 17789751, "indices": [19, 30]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "852285887606030336", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 852276677501607936, "created_at": "Wed Apr 12 22:22:44 +0000 2017", "in_reply_to_user_id": 14392797, "geo": null, "text": "@andresmh @erhardt @OddLetters I was actually wondering about that too!", "retweet_count": 0, "in_reply_to_screen_name": "andresmh", "in_reply_to_status_id_str": "852276677501607936", "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 28, "truncated": false, "id": 852201054993338368, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 57571700, "url": "http://t.co/CNSumxN3ep", "id_str": "57571700", "favourites_count": 28, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "oii.ox.ac.uk/people/yasseri/", "expanded_url": "http://www.oii.ox.ac.uk/people/yasseri/", "url": "http://t.co/CNSumxN3ep"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/553330447413833729/mShUX9ZG_normal.jpeg", "profile_link_color": "ABB8C2", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/731560088/fa12dfcd6fdb786b63e3334bc191a8dd.png", "listed_count": 128, "screen_name": "TahaYasseri", "profile_use_background_image": true, "followers_count": 1884, "statuses_count": 1882, "profile_background_color": "C0DEED", "friends_count": 95, "created_at": "Fri Jul 17 06:25:31 +0000 2009", "location": "Oxford", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/731560088/fa12dfcd6fdb786b63e3334bc191a8dd.png", "has_extended_profile": true, "protected": false, "description": "Assistant Professor in Computational Social Science @oiioxford University Oxford, Faculty Fellow @turinginst & Research Fellow @WolfsonCollege. \nPhD in Physics.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/553330447413833729/mShUX9ZG_normal.jpeg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/57571700/1420760076", "follow_request_sent": false, "profile_text_color": "0084B4", "geo_enabled": true, "profile_sidebar_fill_color": "DDEEF6", "name": "Taha Yasseri", "default_profile_image": false, "profile_background_tile": true, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [{"indices": [22, 32], "text": "SocInfo17"}], "media": [{"indices": [116, 139], "type": "photo", "media_url": "http://pbs.twimg.com/media/C9Od5gOWsAE-6_9.jpg", "id": 852198365731401729, "media_url_https": "https://pbs.twimg.com/media/C9Od5gOWsAE-6_9.jpg", "id_str": "852198365731401729", "url": "https://t.co/2YkD391Tg4", "display_url": "pic.twitter.com/2YkD391Tg4", "sizes": {"small": {"h": 364, "w": 680, "resize": "fit"}, "medium": {"h": 625, "w": 1166, "resize": "fit"}, "large": {"h": 625, "w": 1166, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}}, "expanded_url": "https://twitter.com/TahaYasseri/status/852201054993338368/photo/1"}], "urls": [{"indices": [33, 56], "display_url": "socinfo2017.oii.ox.ac.uk", "expanded_url": "http://socinfo2017.oii.ox.ac.uk/", "url": "https://t.co/TQGFDnyzvv"}], "symbols": []}, "id_str": "852201054993338368", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "extended_entities": {"media": [{"indices": [116, 139], "type": "photo", "media_url": "http://pbs.twimg.com/media/C9Od5gOWsAE-6_9.jpg", "id": 852198365731401729, "media_url_https": "https://pbs.twimg.com/media/C9Od5gOWsAE-6_9.jpg", "id_str": "852198365731401729", "url": "https://t.co/2YkD391Tg4", "display_url": "pic.twitter.com/2YkD391Tg4", "sizes": {"small": {"h": 364, "w": 680, "resize": "fit"}, "medium": {"h": 625, "w": 1166, "resize": "fit"}, "large": {"h": 625, "w": 1166, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}}, "expanded_url": "https://twitter.com/TahaYasseri/status/852201054993338368/photo/1"}]}, "created_at": "Wed Apr 12 16:45:39 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Submit your papers to #SocInfo17 https://t.co/TQGFDnyzvv Deadline: End of May. Conference: 13-15 September, Oxford. https://t.co/2YkD391Tg4", "retweet_count": 33, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 852250133337174021, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "TahaYasseri", "id_str": "57571700", "name": "Taha Yasseri", "id": 57571700, "indices": [3, 15]}], "hashtags": [{"indices": [39, 49], "text": "SocInfo17"}], "urls": [{"indices": [50, 73], "display_url": "socinfo2017.oii.ox.ac.uk", "expanded_url": "http://socinfo2017.oii.ox.ac.uk/", "url": "https://t.co/TQGFDnyzvv"}], "symbols": []}, "id_str": "852250133337174021", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 20:00:40 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @TahaYasseri: Submit your papers to #SocInfo17 https://t.co/TQGFDnyzvv Deadline: End of May. Conference: 13-15 September, Oxford. https:\u2026", "retweet_count": 33, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 2, "truncated": false, "id": 852160174324408326, "in_reply_to_user_id_str": null, "user": {"time_zone": "Amsterdam", "notifications": false, "id": 916801304, "url": "https://t.co/VERHZZxdXM", "id_str": "916801304", "favourites_count": 284, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "vgresearcher.wordpress.com", "expanded_url": "https://vgresearcher.wordpress.com/", "url": "https://t.co/VERHZZxdXM"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/456520027445792768/jChqIFrK_normal.png", "profile_link_color": "307D7E", "lang": "en", "utc_offset": 7200, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme2/bg.gif", "listed_count": 41, "screen_name": "WY_Tang", "profile_use_background_image": false, "followers_count": 394, "statuses_count": 1578, "profile_background_color": "000000", "friends_count": 159, "created_at": "Wed Oct 31 12:40:06 +0000 2012", "location": "", "is_translator": false, "verified": false, "profile_sidebar_border_color": "000000", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme2/bg.gif", "has_extended_profile": false, "protected": false, "description": "Communication Ph.D. All things about #videogames research. Specializes in sexual harassment in online gaming. @ifkms postdoc", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/456520027445792768/jChqIFrK_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/916801304/1488034540", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": false, "profile_sidebar_fill_color": "000000", "name": "Wai Yen Tang", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [56, 79], "display_url": "tandfonline.com/toc/rcom20/cur\u2026", "expanded_url": "http://www.tandfonline.com/toc/rcom20/current", "url": "https://t.co/JmBefsKsvw"}], "symbols": []}, "id_str": "852160174324408326", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 14:03:12 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Quite interesting: Journal of Graphic Novels and Comics\nhttps://t.co/JmBefsKsvw", "retweet_count": 1, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 852250102483779586, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "WY_Tang", "id_str": "916801304", "name": "Wai Yen Tang", "id": 916801304, "indices": [3, 11]}], "hashtags": [], "urls": [{"indices": [69, 92], "display_url": "tandfonline.com/toc/rcom20/cur\u2026", "expanded_url": "http://www.tandfonline.com/toc/rcom20/current", "url": "https://t.co/JmBefsKsvw"}], "symbols": []}, "id_str": "852250102483779586", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 20:00:33 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @WY_Tang: Quite interesting: Journal of Graphic Novels and Comics\nhttps://t.co/JmBefsKsvw", "retweet_count": 1, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 29, "truncated": false, "id": 852245660820799488, "in_reply_to_user_id_str": null, "user": {"time_zone": "Casablanca", "notifications": false, "id": 121413335, "url": "https://t.co/r63rivAI8W", "id_str": "121413335", "favourites_count": 1864, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "tisne.org", "expanded_url": "http://www.tisne.org", "url": "https://t.co/r63rivAI8W"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/745617795224838144/7XZaKbMh_normal.jpg", "profile_link_color": "2C4CCF", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/378800000078620662/6076c922325225551c91d5ad56d59cfb.jpeg", "listed_count": 335, "screen_name": "martintisne", "profile_use_background_image": true, "followers_count": 5090, "statuses_count": 12354, "profile_background_color": "352726", "friends_count": 1321, "created_at": "Tue Mar 09 12:27:13 +0000 2010", "location": "", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/378800000078620662/6076c922325225551c91d5ad56d59cfb.jpeg", "has_extended_profile": false, "protected": false, "description": "Investment Partner, Omidyar Network. Open Govt Partnership, Open Data Charter & Publish What You Fund co-founder. Openness, Privacy, AI ethics", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/745617795224838144/7XZaKbMh_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/121413335/1398421433", "follow_request_sent": false, "profile_text_color": "3E4415", "geo_enabled": true, "profile_sidebar_fill_color": "99CC33", "name": "Martin Tisn\u00e9", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "OmidyarNetwork", "id_str": "61542667", "name": "Omidyar Network", "id": 61542667, "indices": [22, 37]}, {"screen_name": "datasociety", "id_str": "1894231788", "name": "Data & Society", "id": 1894231788, "indices": [54, 66]}, {"screen_name": "zephoria", "id_str": "633", "name": "danah boyd", "id": 633, "indices": [91, 100]}, {"screen_name": "janethaven", "id_str": "17065569", "name": "Janet Haven", "id": 17065569, "indices": [101, 112]}], "hashtags": [], "urls": [{"indices": [67, 90], "display_url": "omidyar.com/blog/why-we-in\u2026", "expanded_url": "http://www.omidyar.com/blog/why-we-invested-data-society", "url": "https://t.co/MJufBtcFtz"}], "symbols": []}, "id_str": "852245660820799488", "source": "TweetDeck", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 19:42:54 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Delighted to announce @OmidyarNetwork\u2019s investment in @datasociety https://t.co/MJufBtcFtz @zephoria @janethaven", "retweet_count": 14, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 852245836239167490, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "martintisne", "id_str": "121413335", "name": "Martin Tisn\u00e9", "id": 121413335, "indices": [3, 15]}, {"screen_name": "OmidyarNetwork", "id_str": "61542667", "name": "Omidyar Network", "id": 61542667, "indices": [39, 54]}, {"screen_name": "datasociety", "id_str": "1894231788", "name": "Data & Society", "id": 1894231788, "indices": [71, 83]}, {"screen_name": "zephoria", "id_str": "633", "name": "danah boyd", "id": 633, "indices": [108, 117]}, {"screen_name": "janethaven", "id_str": "17065569", "name": "Janet Haven", "id": 17065569, "indices": [118, 129]}], "hashtags": [], "urls": [{"indices": [84, 107], "display_url": "omidyar.com/blog/why-we-in\u2026", "expanded_url": "http://www.omidyar.com/blog/why-we-invested-data-society", "url": "https://t.co/MJufBtcFtz"}], "symbols": []}, "id_str": "852245836239167490", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 19:43:35 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @martintisne: Delighted to announce @OmidyarNetwork\u2019s investment in @datasociety https://t.co/MJufBtcFtz @zephoria @janethaven", "retweet_count": 14, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 10, "truncated": false, "id": 852220422930264064, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 5721202, "url": "https://t.co/y8xeQOQAar", "id_str": "5721202", "favourites_count": 1881, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "erhardtgraeff.com", "expanded_url": "http://erhardtgraeff.com", "url": "https://t.co/y8xeQOQAar"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/637023480534319105/9vrI8WUP_normal.png", "profile_link_color": "004273", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/429278889/tahoe.jpg", "listed_count": 223, "screen_name": "erhardt", "profile_use_background_image": true, "followers_count": 2635, "statuses_count": 5100, "profile_background_color": "000000", "friends_count": 1482, "created_at": "Wed May 02 18:51:38 +0000 2007", "location": "somerville, ma", "is_translator": false, "verified": false, "profile_sidebar_border_color": "EEEEEE", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/429278889/tahoe.jpg", "has_extended_profile": false, "protected": false, "description": "Sociologist and Civic Technologist working with @civicMIT, @medialab, @AwesomeFound", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/637023480534319105/9vrI8WUP_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/5721202/1399499176", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "EFEFEF", "name": "Erhardt Graeff", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "OddLetters", "id_str": "17789751", "name": "Molly Sauter", "id": 17789751, "indices": [104, 115]}], "hashtags": [], "urls": [{"indices": [116, 139], "display_url": "limn.it/the-illicit-au\u2026", "expanded_url": "http://limn.it/the-illicit-aura-of-information/", "url": "https://t.co/tBbsWhwJn2"}], "symbols": []}, "id_str": "852220422930264064", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 18:02:36 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Unfiltered data dumps can displace experts with conspiracy theorists and confuse privacy with secrecy. \u2013@oddletters https://t.co/tBbsWhwJn2", "retweet_count": 7, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 852231803331104770, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "erhardt", "id_str": "5721202", "name": "Erhardt Graeff", "id": 5721202, "indices": [3, 11]}, {"screen_name": "OddLetters", "id_str": "17789751", "name": "Molly Sauter", "id": 17789751, "indices": [117, 128]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "852231803331104770", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 18:47:50 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @erhardt: Unfiltered data dumps can displace experts with conspiracy theorists and confuse privacy with secrecy. \u2013@oddletters https://t.\u2026", "retweet_count": 7, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 1, "truncated": false, "id": 852190803602624513, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 5721202, "url": "https://t.co/y8xeQOQAar", "id_str": "5721202", "favourites_count": 1881, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "erhardtgraeff.com", "expanded_url": "http://erhardtgraeff.com", "url": "https://t.co/y8xeQOQAar"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/637023480534319105/9vrI8WUP_normal.png", "profile_link_color": "004273", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/429278889/tahoe.jpg", "listed_count": 223, "screen_name": "erhardt", "profile_use_background_image": true, "followers_count": 2635, "statuses_count": 5100, "profile_background_color": "000000", "friends_count": 1482, "created_at": "Wed May 02 18:51:38 +0000 2007", "location": "somerville, ma", "is_translator": false, "verified": false, "profile_sidebar_border_color": "EEEEEE", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/429278889/tahoe.jpg", "has_extended_profile": false, "protected": false, "description": "Sociologist and Civic Technologist working with @civicMIT, @medialab, @AwesomeFound", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/637023480534319105/9vrI8WUP_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/5721202/1399499176", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "EFEFEF", "name": "Erhardt Graeff", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [85, 108], "display_url": "vox.com/policy-and-pol\u2026", "expanded_url": "http://www.vox.com/policy-and-politics/2017/4/12/15259438/social-media-political-polarization", "url": "https://t.co/j3VBrSd8HH"}], "symbols": []}, "id_str": "852190803602624513", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 16:04:55 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "New study of political polarization suggests social media can't be so easily blamed. https://t.co/j3VBrSd8HH", "retweet_count": 2, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 852191142896644098, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "erhardt", "id_str": "5721202", "name": "Erhardt Graeff", "id": 5721202, "indices": [3, 11]}], "hashtags": [], "urls": [{"indices": [98, 121], "display_url": "vox.com/policy-and-pol\u2026", "expanded_url": "http://www.vox.com/policy-and-politics/2017/4/12/15259438/social-media-political-polarization", "url": "https://t.co/j3VBrSd8HH"}], "symbols": []}, "id_str": "852191142896644098", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 16:06:16 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @erhardt: New study of political polarization suggests social media can't be so easily blamed. https://t.co/j3VBrSd8HH", "retweet_count": 2, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 3, "truncated": false, "id": 852169587416326145, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [109, 132], "display_url": "twitter.com/andrewrsorkin/\u2026", "expanded_url": "https://twitter.com/andrewrsorkin/status/851935063193378817", "url": "https://t.co/g7dMqjpqOT"}], "symbols": []}, "id_str": "852169587416326145", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 44, "truncated": true, "id": 851935063193378817, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 33792634, "url": "https://t.co/iUhvmVuRKJ", "id_str": "33792634", "favourites_count": 8417, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "nytimes.com/dealbook", "expanded_url": "http://nytimes.com/dealbook", "url": "https://t.co/iUhvmVuRKJ"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/673272991816548353/tn5thWZR_normal.jpg", "profile_link_color": "0084B4", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme15/bg.png", "listed_count": 7287, "screen_name": "andrewrsorkin", "profile_use_background_image": true, "followers_count": 713786, "statuses_count": 3432, "profile_background_color": "022330", "friends_count": 2061, "created_at": "Tue Apr 21 03:22:08 +0000 2009", "location": "New York, New York", "is_translator": false, "verified": true, "profile_sidebar_border_color": "A8C7F7", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme15/bg.png", "has_extended_profile": false, "protected": false, "description": "@NYTimes Columnist/Editor & @CNBC Squawk Box Co-Anchor. Author, Too Big To Fail. Founder, @DealBook. Co-Creator/Exec Producer, BILLIONS @Showtime. Proud Dad.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/673272991816548353/tn5thWZR_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/33792634/1452257372", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "C0DFEC", "name": "Andrew Ross Sorkin", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "duffmcdonald", "id_str": "220393924", "name": "Duff McDonald", "id": 220393924, "indices": [85, 98]}], "hashtags": [], "urls": [{"indices": [117, 140], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/851935063193378817", "url": "https://t.co/hLd6GBSi4r"}], "symbols": []}, "id_str": "851935063193378817", "source": "Buffer", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Apr 11 23:08:41 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "What timing! Harvard Business Review is out w/ a repudiation of \"agency theory\" that @duffmcdonald says ruined HBS.\u2026 https://t.co/hLd6GBSi4r", "retweet_count": 11, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 14:40:36 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 851935063193378817, "geo": null, "text": "\"The idea that corporate managers should make maximizing shareholder value their goal is relatively recent.\" https://t.co/g7dMqjpqOT", "retweet_count": 0, "in_reply_to_screen_name": null, "quoted_status_id_str": "851935063193378817", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 3, "truncated": false, "id": 852169041095659520, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [33, 56], "display_url": "twitter.com/bkeegan/status\u2026", "expanded_url": "https://twitter.com/bkeegan/status/852168453691539461", "url": "https://t.co/soCHAUwNwX"}], "symbols": []}, "id_str": "852169041095659520", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 0, "truncated": false, "id": 852168453691539461, "in_reply_to_user_id_str": null, "user": {"time_zone": "Mountain Time (US & Canada)", "notifications": false, "id": 16629994, "url": "https://t.co/HkgceIuHWt", "id_str": "16629994", "favourites_count": 2801, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "brianckeegan.com", "expanded_url": "http://www.brianckeegan.com", "url": "https://t.co/HkgceIuHWt"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/664544029225320452/s_W4ACEB_normal.png", "profile_link_color": "0084B4", "lang": "en", "utc_offset": -21600, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme15/bg.png", "listed_count": 466, "screen_name": "bkeegan", "profile_use_background_image": true, "followers_count": 5290, "statuses_count": 22916, "profile_background_color": "022330", "friends_count": 1206, "created_at": "Tue Oct 07 14:09:00 +0000 2008", "location": "Boulder, CO", "is_translator": false, "verified": false, "profile_sidebar_border_color": "A8C7F7", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme15/bg.png", "has_extended_profile": true, "protected": false, "description": "{Social, Data, Network} Scientist. @CUInfoScience assistant professor. Collaboration, news, games, misinformation, sequences. #resist", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/664544029225320452/s_W4ACEB_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/16629994/1349830806", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "C0DFEC", "name": "Brian Keegan", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "natematias", "id_str": "52332354", "name": "J. Nathan Matias", "id": 52332354, "indices": [76, 87]}], "hashtags": [{"indices": [66, 72], "text": "arXiv"}], "urls": [{"indices": [89, 112], "display_url": "arxiv.org/abs/1704.03289", "expanded_url": "http://arxiv.org/abs/1704.03289", "url": "https://t.co/1kY9HAUzBo"}], "symbols": []}, "id_str": "852168453691539461", "source": "Twitter for iPhone", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 14:36:06 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "\"Impact Of Content Features For Automatic Online Abuse Detection\" #arXiv cc @natematias https://t.co/1kY9HAUzBo", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 14:38:26 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 852168453691539461, "geo": null, "text": "Another machine learning attempt https://t.co/soCHAUwNwX", "retweet_count": 0, "in_reply_to_screen_name": null, "quoted_status_id_str": "852168453691539461", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 53, "truncated": true, "id": 852165702140260352, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 13982132, "url": "http://t.co/0XMS8rGngp", "id_str": "13982132", "favourites_count": 1495, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "media.mit.edu", "expanded_url": "http://www.media.mit.edu", "url": "http://t.co/0XMS8rGngp"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/524255035077566464/vSun8cBu_normal.png", "profile_link_color": "333BCC", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/571951725/so6nd4sfcb4znqtjllhj.jpeg", "listed_count": 11974, "screen_name": "medialab", "profile_use_background_image": false, "followers_count": 378905, "statuses_count": 11076, "profile_background_color": "DBE9ED", "friends_count": 1106, "created_at": "Tue Feb 26 03:06:21 +0000 2008", "location": "Cambridge, Massachusetts", "is_translator": false, "verified": true, "profile_sidebar_border_color": "C0DEED", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/571951725/so6nd4sfcb4znqtjllhj.jpeg", "has_extended_profile": false, "protected": false, "description": "News from the MIT Media Lab", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/524255035077566464/vSun8cBu_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/13982132/1401389384", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "DDEEF6", "name": "MIT Media Lab", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": true}, "entities": {"user_mentions": [{"screen_name": "eboyden3", "id_str": "17230461", "name": "Ed Boyden", "id": 17230461, "indices": [19, 28]}, {"screen_name": "Joi", "id_str": "691353", "name": "Joi Ito", "id": 691353, "indices": [33, 37]}], "hashtags": [], "urls": [{"indices": [104, 127], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/852165702140260352", "url": "https://t.co/Kc3RQkOnDT"}], "symbols": []}, "id_str": "852165702140260352", "source": "Hootsuite", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 14:25:10 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Congratulations to @eboyden3 and @Joi on being elected into the American Academy of Arts and Sciences!\u2026 https://t.co/Kc3RQkOnDT", "retweet_count": 16, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 852168180290244608, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "medialab", "id_str": "13982132", "name": "MIT Media Lab", "id": 13982132, "indices": [3, 12]}, {"screen_name": "eboyden3", "id_str": "17230461", "name": "Ed Boyden", "id": 17230461, "indices": [33, 42]}, {"screen_name": "Joi", "id_str": "691353", "name": "Joi Ito", "id": 691353, "indices": [47, 51]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "852168180290244608", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 14:35:01 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @medialab: Congratulations to @eboyden3 and @Joi on being elected into the American Academy of Arts and Sciences! https://t.co/fy7I8vic2\u2026", "retweet_count": 16, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 20, "truncated": false, "id": 852130340432998400, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 89477148, "url": "https://t.co/d5qeDpYMtj", "id_str": "89477148", "favourites_count": 7784, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "library.harvard.edu/hou", "expanded_url": "http://library.harvard.edu/hou", "url": "https://t.co/d5qeDpYMtj"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/568093631458705408/FNmOGqCK_normal.jpeg", "profile_link_color": "0084B4", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme15/bg.png", "listed_count": 641, "screen_name": "john_overholt", "profile_use_background_image": true, "followers_count": 13045, "statuses_count": 31707, "profile_background_color": "022330", "friends_count": 530, "created_at": "Thu Nov 12 16:08:21 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "A8C7F7", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme15/bg.png", "has_extended_profile": true, "protected": false, "description": "Curator of Early Modern Books & Manuscripts, Houghton Library, Harvard University. He/him", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/568093631458705408/FNmOGqCK_normal.jpeg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/89477148/1398194289", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "C0DFEC", "name": "John Overholt", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [95, 118], "display_url": "news.harvard.edu/gazette/story/\u2026", "expanded_url": "http://news.harvard.edu/gazette/story/2017/04/star-analysts-of-harvard-college-observatory-inspired-new-book-by-dava-sobel/", "url": "https://t.co/FGD5kJD3Yn"}], "symbols": []}, "id_str": "852130340432998400", "source": "Twitter for iPad", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 12:04:39 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "\"The Glass Universe: How the Ladies of the Harvard Observatory Took the Measure of the Stars.\u201d https://t.co/FGD5kJD3Yn", "retweet_count": 17, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 852166757406187520, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "john_overholt", "id_str": "89477148", "name": "John Overholt", "id": 89477148, "indices": [3, 17]}], "hashtags": [], "urls": [{"indices": [114, 137], "display_url": "news.harvard.edu/gazette/story/\u2026", "expanded_url": "http://news.harvard.edu/gazette/story/2017/04/star-analysts-of-harvard-college-observatory-inspired-new-book-by-dava-sobel/", "url": "https://t.co/FGD5kJD3Yn"}], "symbols": []}, "id_str": "852166757406187520", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 14:29:22 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @john_overholt: \"The Glass Universe: How the Ladies of the Harvard Observatory Took the Measure of the Stars.\u201d https://t.co/FGD5kJD3Yn", "retweet_count": 17, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 4, "truncated": false, "id": 852161665189781505, "in_reply_to_user_id_str": "143430352", "user": {"time_zone": "Melbourne", "notifications": false, "id": 143430352, "url": "http://t.co/I3lcPMGWjb", "id_str": "143430352", "favourites_count": 4666, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "economics.mit.edu/grad/rmeager/r\u2026", "expanded_url": "http://economics.mit.edu/grad/rmeager/research", "url": "http://t.co/I3lcPMGWjb"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/792768000118104064/b7JUgHDM_normal.jpg", "profile_link_color": "0084B4", "lang": "en", "utc_offset": 36000, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/378800000094095239/eb1e349e91607c19c3de6839da3ae117.png", "listed_count": 62, "screen_name": "economeager", "profile_use_background_image": true, "followers_count": 1233, "statuses_count": 4611, "profile_background_color": "9AE4E8", "friends_count": 454, "created_at": "Thu May 13 12:57:31 +0000 2010", "location": "Cambridge via Melbourne ", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/378800000094095239/eb1e349e91607c19c3de6839da3ae117.png", "has_extended_profile": false, "protected": false, "description": "MIT Economics PhD candidate. Works on development economics & econometrics. All views are either purely my own or proof I am the slave of some defunct economist", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/792768000118104064/b7JUgHDM_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/143430352/1477845704", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "DDFFCC", "name": "Rachael Meager", "default_profile_image": false, "profile_background_tile": true, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "852161665189781505", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 852161458238566400, "created_at": "Wed Apr 12 14:09:08 +0000 2017", "in_reply_to_user_id": 143430352, "geo": null, "text": "And this professor's idea of \"constructive criticism\" is to say \"you're too slow\" -- this is not helpful, ask the student what is going on!", "retweet_count": 1, "in_reply_to_screen_name": "economeager", "in_reply_to_status_id_str": "852161458238566400", "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 852162450199896066, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "economeager", "id_str": "143430352", "name": "Rachael Meager", "id": 143430352, "indices": [3, 15]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "852162450199896066", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 14:12:15 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @economeager: And this professor's idea of \"constructive criticism\" is to say \"you're too slow\" -- this is not helpful, ask the student\u2026", "retweet_count": 1, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 6, "truncated": false, "id": 852161458238566400, "in_reply_to_user_id_str": "143430352", "user": {"time_zone": "Melbourne", "notifications": false, "id": 143430352, "url": "http://t.co/I3lcPMGWjb", "id_str": "143430352", "favourites_count": 4666, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "economics.mit.edu/grad/rmeager/r\u2026", "expanded_url": "http://economics.mit.edu/grad/rmeager/research", "url": "http://t.co/I3lcPMGWjb"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/792768000118104064/b7JUgHDM_normal.jpg", "profile_link_color": "0084B4", "lang": "en", "utc_offset": 36000, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/378800000094095239/eb1e349e91607c19c3de6839da3ae117.png", "listed_count": 62, "screen_name": "economeager", "profile_use_background_image": true, "followers_count": 1233, "statuses_count": 4611, "profile_background_color": "9AE4E8", "friends_count": 454, "created_at": "Thu May 13 12:57:31 +0000 2010", "location": "Cambridge via Melbourne ", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/378800000094095239/eb1e349e91607c19c3de6839da3ae117.png", "has_extended_profile": false, "protected": false, "description": "MIT Economics PhD candidate. Works on development economics & econometrics. All views are either purely my own or proof I am the slave of some defunct economist", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/792768000118104064/b7JUgHDM_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/143430352/1477845704", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "DDFFCC", "name": "Rachael Meager", "default_profile_image": false, "profile_background_tile": true, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "852161458238566400", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 852161290722312194, "created_at": "Wed Apr 12 14:08:18 +0000 2017", "in_reply_to_user_id": 143430352, "geo": null, "text": "Yet the piece reveals that this same prof didn't notice for 6 MONTHS that one of his students had essentially disappeared!", "retweet_count": 1, "in_reply_to_screen_name": "economeager", "in_reply_to_status_id_str": "852161290722312194", "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 852162427944935424, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "economeager", "id_str": "143430352", "name": "Rachael Meager", "id": 143430352, "indices": [3, 15]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "852162427944935424", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 14:12:09 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @economeager: Yet the piece reveals that this same prof didn't notice for 6 MONTHS that one of his students had essentially disappeared!", "retweet_count": 1, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 6, "truncated": true, "id": 852161290722312194, "in_reply_to_user_id_str": null, "user": {"time_zone": "Melbourne", "notifications": false, "id": 143430352, "url": "http://t.co/I3lcPMGWjb", "id_str": "143430352", "favourites_count": 4666, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "economics.mit.edu/grad/rmeager/r\u2026", "expanded_url": "http://economics.mit.edu/grad/rmeager/research", "url": "http://t.co/I3lcPMGWjb"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/792768000118104064/b7JUgHDM_normal.jpg", "profile_link_color": "0084B4", "lang": "en", "utc_offset": 36000, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/378800000094095239/eb1e349e91607c19c3de6839da3ae117.png", "listed_count": 62, "screen_name": "economeager", "profile_use_background_image": true, "followers_count": 1233, "statuses_count": 4611, "profile_background_color": "9AE4E8", "friends_count": 454, "created_at": "Thu May 13 12:57:31 +0000 2010", "location": "Cambridge via Melbourne ", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/378800000094095239/eb1e349e91607c19c3de6839da3ae117.png", "has_extended_profile": false, "protected": false, "description": "MIT Economics PhD candidate. Works on development economics & econometrics. All views are either purely my own or proof I am the slave of some defunct economist", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/792768000118104064/b7JUgHDM_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/143430352/1477845704", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "DDFFCC", "name": "Rachael Meager", "default_profile_image": false, "profile_background_tile": true, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [117, 140], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/852161290722312194", "url": "https://t.co/UqT6cFmcX8"}], "symbols": []}, "id_str": "852161290722312194", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 24, "truncated": true, "id": 850755325980553216, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 15862891, "url": "https://t.co/SE3ZUng5ut", "id_str": "15862891", "favourites_count": 1081, "entities": {"description": {"urls": [{"indices": [111, 134], "display_url": "go.nature.com/dailynews", "expanded_url": "http://go.nature.com/dailynews", "url": "https://t.co/NEbCVCZW5O"}]}, "url": {"urls": [{"indices": [0, 23], "display_url": "nature.com/news", "expanded_url": "http://www.nature.com/news", "url": "https://t.co/SE3ZUng5ut"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/1158019862/nature-header.ed_normal.png", "profile_link_color": "DF1F1F", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/39594489/nn_twitter_bg2.jpg", "listed_count": 18924, "screen_name": "NatureNews", "profile_use_background_image": true, "followers_count": 1645394, "statuses_count": 43968, "profile_background_color": "A61919", "friends_count": 3683, "created_at": "Fri Aug 15 13:39:58 +0000 2008", "location": "Worldwide", "is_translator": false, "verified": true, "profile_sidebar_border_color": "D1D1D1", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/39594489/nn_twitter_bg2.jpg", "has_extended_profile": false, "protected": false, "description": "Science news & opinion from the news team at Nature, the weekly journal of #science. Get our daily newsletter: https://t.co/NEbCVCZW5O", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/1158019862/nature-header.ed_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/15862891/1416999309", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": true, "profile_sidebar_fill_color": "F0F0F0", "name": "Nature News&Comment", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [106, 129], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/850755325980553216", "url": "https://t.co/IoFPJU2Mej"}], "symbols": []}, "id_str": "850755325980553216", "source": "Hootsuite", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sat Apr 08 17:00:50 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Do you have supervisor phobia? Avoiding meetings won't help in the long run, so here's how deal with it:\u2026 https://t.co/IoFPJU2Mej", "retweet_count": 24, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 14:07:38 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 850755325980553216, "geo": null, "text": "So Nature has published an op-ed by a professor which blames students entirely for any difficulties in the advisor-\u2026 https://t.co/UqT6cFmcX8", "retweet_count": 8, "in_reply_to_screen_name": null, "quoted_status_id_str": "850755325980553216", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 852162417710833666, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "economeager", "id_str": "143430352", "name": "Rachael Meager", "id": 143430352, "indices": [3, 15]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "852162417710833666", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 14:12:07 +0000 2017", "in_reply_to_user_id": null, "quoted_status_id": 850755325980553216, "geo": null, "text": "RT @economeager: So Nature has published an op-ed by a professor which blames students entirely for any difficulties in the advisor-advisee\u2026", "retweet_count": 8, "in_reply_to_screen_name": null, "quoted_status_id_str": "850755325980553216", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 851972133228040193, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [{"indices": [103, 111], "text": "PhDlife"}], "urls": [{"indices": [112, 135], "display_url": "youtu.be/4Uf-PikY4mQ?t=\u2026", "expanded_url": "https://youtu.be/4Uf-PikY4mQ?t=1m23s", "url": "https://t.co/7Kjxs45ji6"}], "symbols": []}, "id_str": "851972133228040193", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 01:36:00 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Finishing the hat. Entering the world of the hat. Reaching through the world of the hat, like a window #PhDlife https://t.co/7Kjxs45ji6", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": true, "id": 851911051243343875, "in_reply_to_user_id_str": "48299517", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "drbrake", "id_str": "48299517", "name": "David R Brake", "id": 48299517, "indices": [0, 8]}], "hashtags": [], "urls": [{"indices": [121, 144], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/851911051243343875", "url": "https://t.co/Mi93v9DFTn"}], "symbols": []}, "id_str": "851911051243343875", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 851910567124246529, "created_at": "Tue Apr 11 21:33:17 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": 48299517, "geo": null, "text": "@drbrake many of us are searching for ways to describe the complex rationales & goods involved. I've been using civ\u2026 https://t.co/Mi93v9DFTn", "retweet_count": 0, "in_reply_to_screen_name": "drbrake", "in_reply_to_status_id_str": "851910567124246529", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 3, "truncated": false, "id": 851870650855804928, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "OddLetters", "id_str": "17789751", "name": "Molly Sauter", "id": 17789751, "indices": [79, 90]}], "hashtags": [], "urls": [{"indices": [91, 114], "display_url": "limn.it/the-illicit-au\u2026", "expanded_url": "http://limn.it/the-illicit-aura-of-information/", "url": "https://t.co/HFNXxfziUD"}], "symbols": []}, "id_str": "851870650855804928", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Apr 11 18:52:44 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Another great essay to file for later: \u201cillicit aura of stolen information\u201d by @oddletters https://t.co/HFNXxfziUD", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 851860711814967297, "in_reply_to_user_id_str": "22881265", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "tealtan", "id_str": "22881265", "name": "Allen Tan", "id": 22881265, "indices": [0, 8]}, {"screen_name": "roseveleth", "id_str": "44903491", "name": "Rose Eveleth \ud83d\ude80", "id": 44903491, "indices": [9, 20]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "851860711814967297", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 851859890725376000, "created_at": "Tue Apr 11 18:13:15 +0000 2017", "in_reply_to_user_id": 22881265, "geo": null, "text": "@tealtan @roseveleth CJR publishes an annual best *and* worst journalism of the year article", "retweet_count": 0, "in_reply_to_screen_name": "tealtan", "in_reply_to_status_id_str": "851859890725376000", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 851860113120014337, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "851860113120014337", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 851859930814570500, "created_at": "Tue Apr 11 18:10:52 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "\"inherent tensions between players' moral sense and Riot's corporate agenda... along the release, maintenance, and closure of the system\"", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "851859930814570500", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 5, "truncated": false, "id": 851859930814570500, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [{"indices": [28, 37], "text": "CSCW2017"}], "urls": [{"indices": [110, 133], "display_url": "dl.acm.org/citation.cfm?i\u2026", "expanded_url": "http://dl.acm.org/citation.cfm?id=3026312", "url": "https://t.co/NnbpaT0gNB"}], "symbols": []}, "id_str": "851859930814570500", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Apr 11 18:10:08 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Important poster paper from #CSCW2017 on the rise and fall of Riot Games's attempts to govern online behavior https://t.co/NnbpaT0gNB", "retweet_count": 5, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 36, "truncated": false, "id": 851807364294561792, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 15359205, "url": "https://t.co/ObnsyHJk6J", "id_str": "15359205", "favourites_count": 6829, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "rossandersen.com", "expanded_url": "http://rossandersen.com", "url": "https://t.co/ObnsyHJk6J"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/779487040647880704/gw3fxbm3_normal.jpg", "profile_link_color": "009999", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme14/bg.gif", "listed_count": 325, "screen_name": "andersen", "profile_use_background_image": true, "followers_count": 11364, "statuses_count": 13160, "profile_background_color": "131516", "friends_count": 1657, "created_at": "Tue Jul 08 22:41:48 +0000 2008", "location": "Washington, DC", "is_translator": false, "verified": true, "profile_sidebar_border_color": "EEEEEE", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme14/bg.gif", "has_extended_profile": false, "protected": false, "description": "Senior Editor at @TheAtlantic, overseeing the science, tech, and health sections; previously Deputy Editor at @aeonmag; email: ross[at]theatlantic[dot]com", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/779487040647880704/gw3fxbm3_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/15359205/1488909477", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "EFEFEF", "name": "Ross Andersen", "default_profile_image": false, "profile_background_tile": true, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "alexismadrigal", "id_str": "11107172", "name": "Alexis C. Madrigal", "id": 11107172, "indices": [36, 51]}], "hashtags": [], "urls": [{"indices": [52, 75], "display_url": "theatlantic.com/press-releases\u2026", "expanded_url": "https://www.theatlantic.com/press-releases/archive/2017/04/alexis-madrigal-returns-to-the-atlantic/522675/", "url": "https://t.co/F6XY1jQzHW"}], "symbols": []}, "id_str": "851807364294561792", "source": "TweetDeck", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Apr 11 14:41:16 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "This is the best day. Welcome home, @alexismadrigal https://t.co/F6XY1jQzHW", "retweet_count": 12, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 851810227628498945, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "andersen", "id_str": "15359205", "name": "Ross Andersen", "id": 15359205, "indices": [3, 12]}, {"screen_name": "alexismadrigal", "id_str": "11107172", "name": "Alexis C. Madrigal", "id": 11107172, "indices": [50, 65]}], "hashtags": [], "urls": [{"indices": [66, 89], "display_url": "theatlantic.com/press-releases\u2026", "expanded_url": "https://www.theatlantic.com/press-releases/archive/2017/04/alexis-madrigal-returns-to-the-atlantic/522675/", "url": "https://t.co/F6XY1jQzHW"}], "symbols": []}, "id_str": "851810227628498945", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Apr 11 14:52:38 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @andersen: This is the best day. Welcome home, @alexismadrigal https://t.co/F6XY1jQzHW", "retweet_count": 12, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 851788987056443392, "in_reply_to_user_id_str": "95431448", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "BostonGlobe", "id_str": "95431448", "name": "The Boston Globe", "id": 95431448, "indices": [0, 12]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "851788987056443392", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 851786683196559360, "created_at": "Tue Apr 11 13:28:14 +0000 2017", "in_reply_to_user_id": 95431448, "geo": null, "text": "@BostonGlobe do you know what's going to happen to the binders? I would love to see them go to an archive, given their cultural value", "retweet_count": 0, "in_reply_to_screen_name": "BostonGlobe", "in_reply_to_status_id_str": "851786683196559360", "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 4, "truncated": true, "id": 851786683196559360, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 95431448, "url": "http://t.co/g2XphqdJIo", "id_str": "95431448", "favourites_count": 334, "entities": {"description": {"urls": [{"indices": [133, 156], "display_url": "twitter.com/BostonGlobe/li\u2026", "expanded_url": "https://twitter.com/BostonGlobe/lists/globe-journalists", "url": "https://t.co/KPOiZTQG87"}]}, "url": {"urls": [{"indices": [0, 22], "display_url": "bostonglobe.com", "expanded_url": "http://bostonglobe.com", "url": "http://t.co/g2XphqdJIo"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/586570157734019072/Qxz1LIIM_normal.png", "profile_link_color": "050505", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/378800000003877254/c79663e95d0e284ce165db703dffd474.jpeg", "listed_count": 9736, "screen_name": "BostonGlobe", "profile_use_background_image": true, "followers_count": 623959, "statuses_count": 233708, "profile_background_color": "EDECE9", "friends_count": 1237, "created_at": "Tue Dec 08 14:33:38 +0000 2009", "location": "Boston, MA", "is_translator": false, "verified": true, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/378800000003877254/c79663e95d0e284ce165db703dffd474.jpeg", "has_extended_profile": false, "protected": false, "description": "Boston and New England's leading source for breaking news and analysis, with coverage from across the world. Follow our journalists: https://t.co/KPOiZTQG87", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/586570157734019072/Qxz1LIIM_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/95431448/1491431789", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": true, "profile_sidebar_fill_color": "FFFFFF", "name": "The Boston Globe", "default_profile_image": false, "profile_background_tile": false, "translator_type": "regular", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [95, 118], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/851786683196559360", "url": "https://t.co/ijEjAF2Afu"}], "symbols": []}, "id_str": "851786683196559360", "source": "SocialFlow", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Apr 11 13:19:05 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "It turns out that Mitt Romney really did have binders full of women. (Their resumes, anyway.)\u2026 https://t.co/ijEjAF2Afu", "retweet_count": 6, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 851788785876598785, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "BostonGlobe", "id_str": "95431448", "name": "The Boston Globe", "id": 95431448, "indices": [3, 15]}], "hashtags": [], "urls": [{"indices": [111, 134], "display_url": "bos.gl/eYYu2J5", "expanded_url": "http://bos.gl/eYYu2J5", "url": "https://t.co/Tzs4gO0ubm"}], "symbols": []}, "id_str": "851788785876598785", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Apr 11 13:27:26 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @BostonGlobe: It turns out that Mitt Romney really did have binders full of women. (Their resumes, anyway.) https://t.co/Tzs4gO0ubm http\u2026", "retweet_count": 6, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 20, "truncated": false, "id": 851606465735512064, "in_reply_to_user_id_str": "15379361", "user": {"time_zone": "Pacific Time (US & Canada)", "notifications": false, "id": 759249, "url": "https://t.co/aT4SyqFPFt", "id_str": "759249", "favourites_count": 3739, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "deaneckles.com", "expanded_url": "http://www.deaneckles.com", "url": "https://t.co/aT4SyqFPFt"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/823708216664199172/f3UMoSOh_normal.jpg", "profile_link_color": "1B95E0", "lang": "en", "utc_offset": -25200, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme2/bg.gif", "listed_count": 319, "screen_name": "deaneckles", "profile_use_background_image": false, "followers_count": 5027, "statuses_count": 7327, "profile_background_color": "000000", "friends_count": 973, "created_at": "Fri Feb 09 00:34:11 +0000 2007", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "000000", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme2/bg.gif", "has_extended_profile": true, "protected": false, "description": "@MIT professor", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/823708216664199172/f3UMoSOh_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/759249/1461379871", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": true, "profile_sidebar_fill_color": "000000", "name": "Dean Eckles", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "johnmyleswhite", "id_str": "15379361", "name": "John Myles White", "id": 15379361, "indices": [0, 15]}, {"screen_name": "MITSloan", "id_str": "8724862", "name": "MIT Sloan", "id": 8724862, "indices": [48, 57]}], "hashtags": [], "media": [{"indices": [58, 81], "type": "photo", "media_url": "http://pbs.twimg.com/media/C9GDdkFUMAAYW0j.jpg", "id": 851606348475150336, "media_url_https": "https://pbs.twimg.com/media/C9GDdkFUMAAYW0j.jpg", "id_str": "851606348475150336", "url": "https://t.co/0irR1qs0hX", "display_url": "pic.twitter.com/0irR1qs0hX", "sizes": {"small": {"h": 381, "w": 680, "resize": "fit"}, "medium": {"h": 673, "w": 1200, "resize": "fit"}, "large": {"h": 906, "w": 1616, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}}, "expanded_url": "https://twitter.com/deaneckles/status/851606465735512064/photo/1"}], "urls": [], "symbols": []}, "id_str": "851606465735512064", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": {"contained_within": [], "attributes": {}, "full_name": "Cambridge, MA", "name": "Cambridge", "id": "8193d87541f11dfb", "url": "https://api.twitter.com/1.1/geo/id/8193d87541f11dfb.json", "place_type": "city", "country_code": "US", "country": "United States", "bounding_box": {"type": "Polygon", "coordinates": [[[-71.160356, 42.352429], [-71.064398, 42.352429], [-71.064398, 42.4039663], [-71.160356, 42.4039663]]]}}, "is_quote_status": false, "in_reply_to_status_id": 851602127604416512, "extended_entities": {"media": [{"indices": [58, 81], "type": "photo", "media_url": "http://pbs.twimg.com/media/C9GDdkFUMAAYW0j.jpg", "id": 851606348475150336, "media_url_https": "https://pbs.twimg.com/media/C9GDdkFUMAAYW0j.jpg", "id_str": "851606348475150336", "url": "https://t.co/0irR1qs0hX", "display_url": "pic.twitter.com/0irR1qs0hX", "sizes": {"small": {"h": 381, "w": 680, "resize": "fit"}, "medium": {"h": 673, "w": 1200, "resize": "fit"}, "large": {"h": 906, "w": 1616, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}}, "expanded_url": "https://twitter.com/deaneckles/status/851606465735512064/photo/1"}]}, "created_at": "Tue Apr 11 01:22:58 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": 15379361, "geo": null, "text": "@johnmyleswhite Relevant slide from my class at @MITSloan https://t.co/0irR1qs0hX", "retweet_count": 6, "in_reply_to_screen_name": "johnmyleswhite", "in_reply_to_status_id_str": "851602127604416512", "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 851607017420619777, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "deaneckles", "id_str": "759249", "name": "Dean Eckles", "id": 759249, "indices": [3, 14]}, {"screen_name": "johnmyleswhite", "id_str": "15379361", "name": "John Myles White", "id": 15379361, "indices": [16, 31]}, {"screen_name": "MITSloan", "id_str": "8724862", "name": "MIT Sloan", "id": 8724862, "indices": [64, 73]}], "hashtags": [], "media": [{"indices": [74, 97], "source_status_id_str": "851606465735512064", "type": "photo", "media_url": "http://pbs.twimg.com/media/C9GDdkFUMAAYW0j.jpg", "id": 851606348475150336, "url": "https://t.co/0irR1qs0hX", "source_user_id": 759249, "id_str": "851606348475150336", "sizes": {"small": {"h": 381, "w": 680, "resize": "fit"}, "medium": {"h": 673, "w": 1200, "resize": "fit"}, "large": {"h": 906, "w": 1616, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}}, "expanded_url": "https://twitter.com/deaneckles/status/851606465735512064/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9GDdkFUMAAYW0j.jpg", "source_status_id": 851606465735512064, "source_user_id_str": "759249", "display_url": "pic.twitter.com/0irR1qs0hX"}], "urls": [], "symbols": []}, "id_str": "851607017420619777", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "extended_entities": {"media": [{"indices": [74, 97], "source_status_id_str": "851606465735512064", "type": "photo", "media_url": "http://pbs.twimg.com/media/C9GDdkFUMAAYW0j.jpg", "id": 851606348475150336, "url": "https://t.co/0irR1qs0hX", "source_user_id": 759249, "id_str": "851606348475150336", "sizes": {"small": {"h": 381, "w": 680, "resize": "fit"}, "medium": {"h": 673, "w": 1200, "resize": "fit"}, "large": {"h": 906, "w": 1616, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}}, "expanded_url": "https://twitter.com/deaneckles/status/851606465735512064/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9GDdkFUMAAYW0j.jpg", "source_status_id": 851606465735512064, "source_user_id_str": "759249", "display_url": "pic.twitter.com/0irR1qs0hX"}]}, "created_at": "Tue Apr 11 01:25:09 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @deaneckles: @johnmyleswhite Relevant slide from my class at @MITSloan https://t.co/0irR1qs0hX", "retweet_count": 6, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 4, "truncated": false, "id": 851593490521882624, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 80206595, "url": "http://t.co/TdytxWC5uP", "id_str": "80206595", "favourites_count": 726, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "sourcemap.com", "expanded_url": "http://www.sourcemap.com", "url": "http://t.co/TdytxWC5uP"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000515551323/91379b48b5d8e8c6d2d3a4c80fbd6dc2_normal.png", "profile_link_color": "3B94D9", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/312522555/twi.png", "listed_count": 193, "screen_name": "sourcemap", "profile_use_background_image": true, "followers_count": 2601, "statuses_count": 685, "profile_background_color": "AAAAAA", "friends_count": 2479, "created_at": "Tue Oct 06 03:42:36 +0000 2009", "location": "New York NY", "is_translator": false, "verified": true, "profile_sidebar_border_color": "EEEEEE", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/312522555/twi.png", "has_extended_profile": true, "protected": false, "description": "Software for supply chain transparency, powering the Higg Index, the Ethical Fashion Initiative, NY craft brewers, brands and manufacturers worldwide", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000515551323/91379b48b5d8e8c6d2d3a4c80fbd6dc2_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/80206595/1455738998", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "7AD8D2", "name": "Sourcemap", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [{"indices": [56, 80], "text": "supplychaintransparency"}, {"indices": [81, 91], "text": "sourcemap"}], "urls": [{"indices": [92, 115], "display_url": "srce.mp/2oZl8ek", "expanded_url": "http://srce.mp/2oZl8ek", "url": "https://t.co/WQD2KnkwKD"}], "symbols": []}, "id_str": "851593490521882624", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Apr 11 00:31:24 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Hershey Launches Latest Innovation in Food Transparency #supplychaintransparency #sourcemap https://t.co/WQD2KnkwKD", "retweet_count": 4, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 851595943896068096, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "sourcemap", "id_str": "80206595", "name": "Sourcemap", "id": 80206595, "indices": [3, 13]}], "hashtags": [{"indices": [71, 95], "text": "supplychaintransparency"}, {"indices": [96, 106], "text": "sourcemap"}], "urls": [{"indices": [107, 130], "display_url": "srce.mp/2oZl8ek", "expanded_url": "http://srce.mp/2oZl8ek", "url": "https://t.co/WQD2KnkwKD"}], "symbols": []}, "id_str": "851595943896068096", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Apr 11 00:41:09 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @sourcemap: Hershey Launches Latest Innovation in Food Transparency #supplychaintransparency #sourcemap https://t.co/WQD2KnkwKD", "retweet_count": 4, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 24, "truncated": false, "id": 851454623818948612, "in_reply_to_user_id_str": null, "user": {"time_zone": "Pacific Time (US & Canada)", "notifications": false, "id": 2805946082, "url": "https://t.co/Y5Yfoko7di", "id_str": "2805946082", "favourites_count": 14097, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "hypir.link", "expanded_url": "http://hypir.link", "url": "https://t.co/Y5Yfoko7di"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/827535794336329729/at6oSvW6_normal.jpg", "profile_link_color": "1DA1F2", "lang": "en", "utc_offset": -25200, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "listed_count": 54, "screen_name": "hypirlink", "profile_use_background_image": true, "followers_count": 420, "statuses_count": 13719, "profile_background_color": "C0DEED", "friends_count": 391, "created_at": "Fri Sep 12 17:51:57 +0000 2014", "location": "Brooklyn", "is_translator": false, "verified": false, "profile_sidebar_border_color": "C0DEED", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "has_extended_profile": true, "protected": false, "description": "Alpha-5 of the @NYMag web team. Really boring @Twitch streamer. Uhhhh game dev? He/Him.", "is_translation_enabled": false, "default_profile": true, "profile_image_url": "http://pbs.twimg.com/profile_images/827535794336329729/at6oSvW6_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/2805946082/1486513240", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "DDEEF6", "name": "Byron Hulcher", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "glitch", "id_str": "795717775989833729", "name": "Glitch", "id": 795717775989833729, "indices": [87, 94]}], "hashtags": [], "urls": [{"indices": [95, 118], "display_url": "glitch.com/~tracery-masto\u2026", "expanded_url": "https://glitch.com/~tracery-mastodon-bot", "url": "https://t.co/F4GYbf633p"}], "symbols": []}, "id_str": "851454623818948612", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": {"contained_within": [], "attributes": {}, "full_name": "Manhattan, NY", "name": "Manhattan", "id": "01a9a39529b27f36", "url": "https://api.twitter.com/1.1/geo/id/01a9a39529b27f36.json", "place_type": "city", "country_code": "US", "country": "United States", "bounding_box": {"type": "Polygon", "coordinates": [[[-74.026675, 40.683935], [-73.910408, 40.683935], [-73.910408, 40.877483], [-74.026675, 40.877483]]]}}, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 15:19:36 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Interested in building a bot for Mastodon? Check out and remix this example I built on @glitch https://t.co/F4GYbf633p", "retweet_count": 13, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 851557830817665024, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "hypirlink", "id_str": "2805946082", "name": "Byron Hulcher", "id": 2805946082, "indices": [3, 13]}, {"screen_name": "glitch", "id_str": "795717775989833729", "name": "Glitch", "id": 795717775989833729, "indices": [102, 109]}], "hashtags": [], "urls": [{"indices": [110, 133], "display_url": "glitch.com/~tracery-masto\u2026", "expanded_url": "https://glitch.com/~tracery-mastodon-bot", "url": "https://t.co/F4GYbf633p"}], "symbols": []}, "id_str": "851557830817665024", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 22:09:42 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @hypirlink: Interested in building a bot for Mastodon? Check out and remix this example I built on @glitch https://t.co/F4GYbf633p", "retweet_count": 13, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 8, "truncated": false, "id": 851555857972117504, "in_reply_to_user_id_str": null, "user": {"time_zone": "Pacific Time (US & Canada)", "notifications": false, "id": 414179273, "url": "https://t.co/uk0ukjkNCZ", "id_str": "414179273", "favourites_count": 6289, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "willmari.com", "expanded_url": "http://willmari.com", "url": "https://t.co/uk0ukjkNCZ"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/1642390865/164408_10100151951594688_10740924_54053668_7349253_n_normal.jpg", "profile_link_color": "0084B4", "lang": "en", "utc_offset": -25200, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/367737595/westernlandscape.PNG", "listed_count": 65, "screen_name": "willthewordguy", "profile_use_background_image": true, "followers_count": 1218, "statuses_count": 10287, "profile_background_color": "C0DEED", "friends_count": 3082, "created_at": "Wed Nov 16 18:44:00 +0000 2011", "location": "Seattle ", "is_translator": false, "verified": false, "profile_sidebar_border_color": "C0DEED", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/367737595/westernlandscape.PNG", "has_extended_profile": false, "protected": false, "description": "A PNW UW Ph.D, media historian, assist prof @ Northwest U, studies old newsrooms, likes tea, hiking, journalism. And the Inklings. retweets aren't endorsements", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/1642390865/164408_10100151951594688_10740924_54053668_7349253_n_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/414179273/1411577603", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "DDEEF6", "name": "Will Mari", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "NiemanLab", "id_str": "15865878", "name": "Nieman Lab", "id": 15865878, "indices": [117, 127]}], "hashtags": [], "urls": [{"indices": [89, 112], "display_url": "nie.mn/2pmOakN", "expanded_url": "http://nie.mn/2pmOakN", "url": "https://t.co/MlZqNPX2jM"}], "symbols": []}, "id_str": "851555857972117504", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 22:01:52 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "David Fahrenthold goes from tweeting pictures of his notepad to winning a Pulitzer Prize https://t.co/MlZqNPX2jM via @NiemanLab", "retweet_count": 5, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 851556251804762113, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "willthewordguy", "id_str": "414179273", "name": "Will Mari", "id": 414179273, "indices": [3, 18]}], "hashtags": [], "urls": [{"indices": [109, 132], "display_url": "nie.mn/2pmOakN", "expanded_url": "http://nie.mn/2pmOakN", "url": "https://t.co/MlZqNPX2jM"}], "symbols": []}, "id_str": "851556251804762113", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 22:03:26 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @willthewordguy: David Fahrenthold goes from tweeting pictures of his notepad to winning a Pulitzer Prize https://t.co/MlZqNPX2jM via @N\u2026", "retweet_count": 5, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 29, "truncated": false, "id": 851529589679685634, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 16295662, "url": "http://t.co/oo7rjqijBE", "id_str": "16295662", "favourites_count": 1398, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "knightfoundation.org", "expanded_url": "http://www.knightfoundation.org", "url": "http://t.co/oo7rjqijBE"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/477068863524200448/OvzX4qSB_normal.jpeg", "profile_link_color": "ABB8C2", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/241068321/kandinsky.comp-5.jpg", "listed_count": 541, "screen_name": "ibarguen", "profile_use_background_image": true, "followers_count": 11140, "statuses_count": 6761, "profile_background_color": "EDECE9", "friends_count": 2236, "created_at": "Mon Sep 15 13:53:13 +0000 2008", "location": "Miami", "is_translator": false, "verified": true, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/241068321/kandinsky.comp-5.jpg", "has_extended_profile": false, "protected": false, "description": "Knight Foundation, promoting informed & engaged communities.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/477068863524200448/OvzX4qSB_normal.jpeg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/16295662/1402576620", "follow_request_sent": false, "profile_text_color": "634047", "geo_enabled": true, "profile_sidebar_fill_color": "E3E2DE", "name": "Alberto Ibarguen", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "ProPublica", "id_str": "14606079", "name": "ProPublica", "id": 14606079, "indices": [19, 30]}], "hashtags": [], "urls": [{"indices": [82, 105], "display_url": "twitter.com/PulitzerPrize/\u2026", "expanded_url": "https://twitter.com/PulitzerPrize/status/851511226576384000", "url": "https://t.co/2bJadnvQXg"}], "symbols": []}, "id_str": "851529589679685634", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 2082, "truncated": false, "id": 851511226576384000, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 2909713155, "url": "https://t.co/svcBTH9EFQ", "id_str": "2909713155", "favourites_count": 11872, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "Pulitzer.org", "expanded_url": "http://Pulitzer.org", "url": "https://t.co/svcBTH9EFQ"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/685174334726475776/q701tUCU_normal.jpg", "profile_link_color": "1DA1F2", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "listed_count": 540, "screen_name": "PulitzerPrize", "profile_use_background_image": true, "followers_count": 28301, "statuses_count": 6852, "profile_background_color": "C0DEED", "friends_count": 748, "created_at": "Sun Dec 07 19:36:54 +0000 2014", "location": "New York, NY", "is_translator": false, "verified": true, "profile_sidebar_border_color": "C0DEED", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "has_extended_profile": false, "protected": false, "description": "It's our 101st year of honoring excellence in journalism and the arts. The Pulitzers' second century begins in 2017! #Pulitzer", "is_translation_enabled": false, "default_profile": true, "profile_image_url": "http://pbs.twimg.com/profile_images/685174334726475776/q701tUCU_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/2909713155/1491408179", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "DDEEF6", "name": "The Pulitzer Prizes", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "NYDailyNews", "id_str": "9763482", "name": "New York Daily News", "id": 9763482, "indices": [23, 35]}, {"screen_name": "ProPublica", "id_str": "14606079", "name": "ProPublica", "id": 14606079, "indices": [37, 48]}, {"screen_name": "MissRyley", "id_str": "220164244", "name": "Sarah Ryley", "id": 220164244, "indices": [53, 63]}], "hashtags": [], "media": [{"indices": [65, 88], "type": "photo", "media_url": "http://pbs.twimg.com/media/C9EqudfW0AEoos9.png", "id": 851508782228230145, "media_url_https": "https://pbs.twimg.com/media/C9EqudfW0AEoos9.png", "id_str": "851508782228230145", "url": "https://t.co/dUSQCHXF7z", "display_url": "pic.twitter.com/dUSQCHXF7z", "sizes": {"small": {"h": 340, "w": 680, "resize": "fit"}, "medium": {"h": 512, "w": 1024, "resize": "fit"}, "large": {"h": 512, "w": 1024, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}}, "expanded_url": "https://twitter.com/PulitzerPrize/status/851511226576384000/photo/1"}], "urls": [], "symbols": []}, "id_str": "851511226576384000", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "extended_entities": {"media": [{"indices": [65, 88], "type": "photo", "media_url": "http://pbs.twimg.com/media/C9EqudfW0AEoos9.png", "id": 851508782228230145, "media_url_https": "https://pbs.twimg.com/media/C9EqudfW0AEoos9.png", "id_str": "851508782228230145", "url": "https://t.co/dUSQCHXF7z", "display_url": "pic.twitter.com/dUSQCHXF7z", "sizes": {"small": {"h": 340, "w": 680, "resize": "fit"}, "medium": {"h": 512, "w": 1024, "resize": "fit"}, "large": {"h": 512, "w": 1024, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}}, "expanded_url": "https://twitter.com/PulitzerPrize/status/851511226576384000/photo/1"}]}, "created_at": "Mon Apr 10 19:04:31 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Congratulations to the @NYDailyNews, @ProPublica and @MissRyley! https://t.co/dUSQCHXF7z", "retweet_count": 903, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 20:17:29 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 851511226576384000, "geo": null, "text": "Congratulations to @ProPublica, online journalism's most heralded news operation. https://t.co/2bJadnvQXg", "retweet_count": 15, "in_reply_to_screen_name": null, "quoted_status_id_str": "851511226576384000", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 851529670998847489, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "ibarguen", "id_str": "16295662", "name": "Alberto Ibarguen", "id": 16295662, "indices": [3, 12]}, {"screen_name": "ProPublica", "id_str": "14606079", "name": "ProPublica", "id": 14606079, "indices": [33, 44]}], "hashtags": [], "urls": [{"indices": [96, 119], "display_url": "twitter.com/PulitzerPrize/\u2026", "expanded_url": "https://twitter.com/PulitzerPrize/status/851511226576384000", "url": "https://t.co/2bJadnvQXg"}], "symbols": []}, "id_str": "851529670998847489", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 20:17:48 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 851511226576384000, "geo": null, "text": "RT @ibarguen: Congratulations to @ProPublica, online journalism's most heralded news operation. https://t.co/2bJadnvQXg", "retweet_count": 15, "in_reply_to_screen_name": null, "quoted_status_id_str": "851511226576384000", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 2805, "truncated": false, "id": 851519411982880768, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 14606079, "url": "http://t.co/Fqv83dHVfq", "id_str": "14606079", "favourites_count": 3306, "entities": {"description": {"urls": [{"indices": [61, 84], "display_url": "propub.li/2hoDS2G", "expanded_url": "http://propub.li/2hoDS2G", "url": "https://t.co/ujWrcRGO73"}]}, "url": {"urls": [{"indices": [0, 22], "display_url": "propublica.org", "expanded_url": "http://www.propublica.org/", "url": "http://t.co/Fqv83dHVfq"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/660147326091182081/Q4TLW_Fe_normal.jpg", "profile_link_color": "5287B5", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/378800000022121172/c77bc8f8226919fde1415a8cab9b3511.png", "listed_count": 15006, "screen_name": "ProPublica", "profile_use_background_image": false, "followers_count": 650956, "statuses_count": 46132, "profile_background_color": "DFE9F3", "friends_count": 289, "created_at": "Wed Apr 30 21:17:15 +0000 2008", "location": "New York, NY", "is_translator": false, "verified": true, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/378800000022121172/c77bc8f8226919fde1415a8cab9b3511.png", "has_extended_profile": false, "protected": false, "description": "Pursuing stories with moral force. Here's how to leak to us: https://t.co/ujWrcRGO73. Also follow @ProPublicaIL. We'll be there soon.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/660147326091182081/Q4TLW_Fe_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/14606079/1485544429", "follow_request_sent": false, "profile_text_color": "030303", "geo_enabled": false, "profile_sidebar_fill_color": "FFFFFF", "name": "ProPublica", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": true}, "entities": {"user_mentions": [{"screen_name": "ProPublica", "id_str": "14606079", "name": "ProPublica", "id": 14606079, "indices": [3, 14]}, {"screen_name": "PulitzerPrize", "id_str": "2909713155", "name": "The Pulitzer Prizes", "id": 2909713155, "indices": [41, 55]}], "hashtags": [], "media": [{"indices": [76, 99], "type": "photo", "media_url": "http://pbs.twimg.com/media/C9E0OETXgAEG1if.jpg", "id": 851519220827521025, "media_url_https": "https://pbs.twimg.com/media/C9E0OETXgAEG1if.jpg", "id_str": "851519220827521025", "url": "https://t.co/SSjotUViaQ", "display_url": "pic.twitter.com/SSjotUViaQ", "sizes": {"thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 400, "w": 1200, "resize": "fit"}, "large": {"h": 683, "w": 2048, "resize": "fit"}, "small": {"h": 227, "w": 680, "resize": "fit"}}, "expanded_url": "https://twitter.com/ProPublica/status/851519411982880768/photo/1"}], "urls": [], "symbols": []}, "id_str": "851519411982880768", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "extended_entities": {"media": [{"indices": [76, 99], "type": "photo", "media_url": "http://pbs.twimg.com/media/C9E0OETXgAEG1if.jpg", "id": 851519220827521025, "media_url_https": "https://pbs.twimg.com/media/C9E0OETXgAEG1if.jpg", "id_str": "851519220827521025", "url": "https://t.co/SSjotUViaQ", "display_url": "pic.twitter.com/SSjotUViaQ", "sizes": {"thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 400, "w": 1200, "resize": "fit"}, "large": {"h": 683, "w": 2048, "resize": "fit"}, "small": {"h": 227, "w": 680, "resize": "fit"}}, "expanded_url": "https://twitter.com/ProPublica/status/851519411982880768/photo/1"}]}, "created_at": "Mon Apr 10 19:37:02 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "1/ @ProPublica is honored to receive the @PulitzerPrize for Public Service. https://t.co/SSjotUViaQ", "retweet_count": 780, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 851521935267770369, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "ProPublica", "id_str": "14606079", "name": "ProPublica", "id": 14606079, "indices": [3, 14]}, {"screen_name": "ProPublica", "id_str": "14606079", "name": "ProPublica", "id": 14606079, "indices": [19, 30]}, {"screen_name": "PulitzerPrize", "id_str": "2909713155", "name": "The Pulitzer Prizes", "id": 2909713155, "indices": [57, 71]}], "hashtags": [], "media": [{"indices": [92, 115], "source_status_id_str": "851519411982880768", "type": "photo", "media_url": "http://pbs.twimg.com/media/C9E0OETXgAEG1if.jpg", "id": 851519220827521025, "url": "https://t.co/SSjotUViaQ", "source_user_id": 14606079, "id_str": "851519220827521025", "sizes": {"thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 400, "w": 1200, "resize": "fit"}, "large": {"h": 683, "w": 2048, "resize": "fit"}, "small": {"h": 227, "w": 680, "resize": "fit"}}, "expanded_url": "https://twitter.com/ProPublica/status/851519411982880768/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9E0OETXgAEG1if.jpg", "source_status_id": 851519411982880768, "source_user_id_str": "14606079", "display_url": "pic.twitter.com/SSjotUViaQ"}], "urls": [], "symbols": []}, "id_str": "851521935267770369", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "extended_entities": {"media": [{"indices": [92, 115], "source_status_id_str": "851519411982880768", "type": "photo", "media_url": "http://pbs.twimg.com/media/C9E0OETXgAEG1if.jpg", "id": 851519220827521025, "url": "https://t.co/SSjotUViaQ", "source_user_id": 14606079, "id_str": "851519220827521025", "sizes": {"thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 400, "w": 1200, "resize": "fit"}, "large": {"h": 683, "w": 2048, "resize": "fit"}, "small": {"h": 227, "w": 680, "resize": "fit"}}, "expanded_url": "https://twitter.com/ProPublica/status/851519411982880768/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9E0OETXgAEG1if.jpg", "source_status_id": 851519411982880768, "source_user_id_str": "14606079", "display_url": "pic.twitter.com/SSjotUViaQ"}]}, "created_at": "Mon Apr 10 19:47:04 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @ProPublica: 1/ @ProPublica is honored to receive the @PulitzerPrize for Public Service. https://t.co/SSjotUViaQ", "retweet_count": 780, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 851519006221758465, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "Fahrenthold", "id_str": "61734492", "name": "David Fahrenthold", "id": 61734492, "indices": [57, 69]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "851519006221758465", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 19:35:26 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "Trying to imagine the amount of shoe leather expended by @Fahrenthold in a year of dogged, sustained investigative reporting. It escapes me", "retweet_count": 1, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 2446, "truncated": false, "id": 851511870452371456, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 38496530, "url": "https://t.co/168aM2s285", "id_str": "38496530", "favourites_count": 12877, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "washingtonpost.com/people/elahe-i\u2026", "expanded_url": "https://www.washingtonpost.com/people/elahe-izadi/", "url": "https://t.co/168aM2s285"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/833699717766750208/5ftb8zcL_normal.jpg", "profile_link_color": "009999", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/598885191822614528/jJ-uXDWt.png", "listed_count": 696, "screen_name": "ElaheIzadi", "profile_use_background_image": true, "followers_count": 15899, "statuses_count": 48646, "profile_background_color": "131516", "friends_count": 1887, "created_at": "Thu May 07 19:22:18 +0000 2009", "location": "Washington, D.C.", "is_translator": false, "verified": true, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/598885191822614528/jJ-uXDWt.png", "has_extended_profile": false, "protected": false, "description": "Pop culture writer @washingtonpost, stand-up comic. Pronounced Eh-law-heh. 'A source for news, comedy, and panda hatred.' -@Washingtonian", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/833699717766750208/5ftb8zcL_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/38496530/1466609774", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "EFEFEF", "name": "Elahe Izadi", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "Fahrenthold", "id_str": "61734492", "name": "David Fahrenthold", "id": 61734492, "indices": [16, 28]}, {"screen_name": "PulitzerPrize", "id_str": "2909713155", "name": "The Pulitzer Prizes", "id": 2909713155, "indices": [52, 66]}], "hashtags": [], "media": [{"indices": [67, 90], "type": "photo", "media_url": "http://pbs.twimg.com/ext_tw_video_thumb/851511784070631424/pu/img/ND3_eXowlbE9Riyk.jpg", "id": 851511784070631424, "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/851511784070631424/pu/img/ND3_eXowlbE9Riyk.jpg", "id_str": "851511784070631424", "url": "https://t.co/Q1yX19qj3T", "display_url": "pic.twitter.com/Q1yX19qj3T", "sizes": {"thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 338, "w": 600, "resize": "fit"}, "large": {"h": 576, "w": 1024, "resize": "fit"}, "small": {"h": 191, "w": 340, "resize": "fit"}}, "expanded_url": "https://twitter.com/ElaheIzadi/status/851511870452371456/video/1"}], "urls": [], "symbols": []}, "id_str": "851511870452371456", "source": "Twitter for iPhone", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "extended_entities": {"media": [{"indices": [67, 90], "type": "video", "media_url": "http://pbs.twimg.com/ext_tw_video_thumb/851511784070631424/pu/img/ND3_eXowlbE9Riyk.jpg", "id": 851511784070631424, "url": "https://t.co/Q1yX19qj3T", "additional_media_info": {"monetizable": false}, "id_str": "851511784070631424", "sizes": {"thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 338, "w": 600, "resize": "fit"}, "large": {"h": 576, "w": 1024, "resize": "fit"}, "small": {"h": 191, "w": 340, "resize": "fit"}}, "expanded_url": "https://twitter.com/ElaheIzadi/status/851511870452371456/video/1", "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/851511784070631424/pu/img/ND3_eXowlbE9Riyk.jpg", "display_url": "pic.twitter.com/Q1yX19qj3T", "video_info": {"aspect_ratio": [16, 9], "duration_millis": 23608, "variants": [{"bitrate": 2176000, "content_type": "video/mp4", "url": "https://video.twimg.com/ext_tw_video/851511784070631424/pu/vid/1280x720/B2jgWrw47P9Uq-Ze.mp4"}, {"bitrate": 832000, "content_type": "video/mp4", "url": "https://video.twimg.com/ext_tw_video/851511784070631424/pu/vid/640x360/OiZAAOetbhCmlWvF.mp4"}, {"bitrate": 320000, "content_type": "video/mp4", "url": "https://video.twimg.com/ext_tw_video/851511784070631424/pu/vid/320x180/3kcxGiJYL9EZ1qnH.mp4"}, {"content_type": "application/x-mpegURL", "url": "https://video.twimg.com/ext_tw_video/851511784070631424/pu/pl/i22hNi0usPmr5f2N.m3u8"}]}}]}, "created_at": "Mon Apr 10 19:07:04 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "The moment when @Fahrenthold wins his much deserved @PulitzerPrize https://t.co/Q1yX19qj3T", "retweet_count": 783, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 851518352090697729, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "ElaheIzadi", "id_str": "38496530", "name": "Elahe Izadi", "id": 38496530, "indices": [3, 14]}, {"screen_name": "Fahrenthold", "id_str": "61734492", "name": "David Fahrenthold", "id": 61734492, "indices": [32, 44]}, {"screen_name": "PulitzerPrize", "id_str": "2909713155", "name": "The Pulitzer Prizes", "id": 2909713155, "indices": [68, 82]}], "hashtags": [], "media": [{"indices": [83, 106], "source_status_id_str": "851511870452371456", "type": "photo", "media_url": "http://pbs.twimg.com/ext_tw_video_thumb/851511784070631424/pu/img/ND3_eXowlbE9Riyk.jpg", "id": 851511784070631424, "url": "https://t.co/Q1yX19qj3T", "source_user_id": 38496530, "id_str": "851511784070631424", "sizes": {"thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 338, "w": 600, "resize": "fit"}, "large": {"h": 576, "w": 1024, "resize": "fit"}, "small": {"h": 191, "w": 340, "resize": "fit"}}, "expanded_url": "https://twitter.com/ElaheIzadi/status/851511870452371456/video/1", "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/851511784070631424/pu/img/ND3_eXowlbE9Riyk.jpg", "source_status_id": 851511870452371456, "source_user_id_str": "38496530", "display_url": "pic.twitter.com/Q1yX19qj3T"}], "urls": [], "symbols": []}, "id_str": "851518352090697729", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "extended_entities": {"media": [{"indices": [83, 106], "source_status_id_str": "851511870452371456", "type": "video", "media_url": "http://pbs.twimg.com/ext_tw_video_thumb/851511784070631424/pu/img/ND3_eXowlbE9Riyk.jpg", "id": 851511784070631424, "url": "https://t.co/Q1yX19qj3T", "source_user_id": 38496530, "id_str": "851511784070631424", "sizes": {"thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 338, "w": 600, "resize": "fit"}, "large": {"h": 576, "w": 1024, "resize": "fit"}, "small": {"h": 191, "w": 340, "resize": "fit"}}, "expanded_url": "https://twitter.com/ElaheIzadi/status/851511870452371456/video/1", "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/851511784070631424/pu/img/ND3_eXowlbE9Riyk.jpg", "source_status_id": 851511870452371456, "source_user_id_str": "38496530", "video_info": {"aspect_ratio": [16, 9], "duration_millis": 23608, "variants": [{"bitrate": 2176000, "content_type": "video/mp4", "url": "https://video.twimg.com/ext_tw_video/851511784070631424/pu/vid/1280x720/B2jgWrw47P9Uq-Ze.mp4"}, {"bitrate": 832000, "content_type": "video/mp4", "url": "https://video.twimg.com/ext_tw_video/851511784070631424/pu/vid/640x360/OiZAAOetbhCmlWvF.mp4"}, {"bitrate": 320000, "content_type": "video/mp4", "url": "https://video.twimg.com/ext_tw_video/851511784070631424/pu/vid/320x180/3kcxGiJYL9EZ1qnH.mp4"}, {"content_type": "application/x-mpegURL", "url": "https://video.twimg.com/ext_tw_video/851511784070631424/pu/pl/i22hNi0usPmr5f2N.m3u8"}]}, "display_url": "pic.twitter.com/Q1yX19qj3T", "additional_media_info": {"source_user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 38496530, "url": "https://t.co/168aM2s285", "id_str": "38496530", "favourites_count": 12877, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "washingtonpost.com/people/elahe-i\u2026", "expanded_url": "https://www.washingtonpost.com/people/elahe-izadi/", "url": "https://t.co/168aM2s285"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/833699717766750208/5ftb8zcL_normal.jpg", "profile_link_color": "009999", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/598885191822614528/jJ-uXDWt.png", "listed_count": 696, "screen_name": "ElaheIzadi", "profile_use_background_image": true, "followers_count": 15899, "statuses_count": 48646, "profile_background_color": "131516", "friends_count": 1887, "created_at": "Thu May 07 19:22:18 +0000 2009", "location": "Washington, D.C.", "is_translator": false, "verified": true, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/598885191822614528/jJ-uXDWt.png", "has_extended_profile": false, "protected": false, "description": "Pop culture writer @washingtonpost, stand-up comic. Pronounced Eh-law-heh. 'A source for news, comedy, and panda hatred.' -@Washingtonian", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/833699717766750208/5ftb8zcL_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/38496530/1466609774", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "EFEFEF", "name": "Elahe Izadi", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "monetizable": false}}]}, "created_at": "Mon Apr 10 19:32:50 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @ElaheIzadi: The moment when @Fahrenthold wins his much deserved @PulitzerPrize https://t.co/Q1yX19qj3T", "retweet_count": 783, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 2, "truncated": false, "id": 851518209786343427, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [14, 37], "display_url": "twitter.com/PulitzerPrize/\u2026", "expanded_url": "https://twitter.com/PulitzerPrize/status/851511759135440896", "url": "https://t.co/58mSUCL5lV"}], "symbols": []}, "id_str": "851518209786343427", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 15281, "truncated": false, "id": 851511759135440896, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 2909713155, "url": "https://t.co/svcBTH9EFQ", "id_str": "2909713155", "favourites_count": 11872, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "Pulitzer.org", "expanded_url": "http://Pulitzer.org", "url": "https://t.co/svcBTH9EFQ"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/685174334726475776/q701tUCU_normal.jpg", "profile_link_color": "1DA1F2", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "listed_count": 540, "screen_name": "PulitzerPrize", "profile_use_background_image": true, "followers_count": 28301, "statuses_count": 6852, "profile_background_color": "C0DEED", "friends_count": 748, "created_at": "Sun Dec 07 19:36:54 +0000 2014", "location": "New York, NY", "is_translator": false, "verified": true, "profile_sidebar_border_color": "C0DEED", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "has_extended_profile": false, "protected": false, "description": "It's our 101st year of honoring excellence in journalism and the arts. The Pulitzers' second century begins in 2017! #Pulitzer", "is_translation_enabled": false, "default_profile": true, "profile_image_url": "http://pbs.twimg.com/profile_images/685174334726475776/q701tUCU_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/2909713155/1491408179", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "DDEEF6", "name": "The Pulitzer Prizes", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "Fahrenthold", "id_str": "61734492", "name": "David Fahrenthold", "id": 61734492, "indices": [19, 31]}, {"screen_name": "washingtonpost", "id_str": "2467791", "name": "Washington Post", "id": 2467791, "indices": [40, 55]}], "hashtags": [], "media": [{"indices": [57, 80], "type": "photo", "media_url": "http://pbs.twimg.com/media/C9EtbLrXkAARBxB.png", "id": 851511749564141568, "media_url_https": "https://pbs.twimg.com/media/C9EtbLrXkAARBxB.png", "id_str": "851511749564141568", "url": "https://t.co/kHp8bxcj52", "display_url": "pic.twitter.com/kHp8bxcj52", "sizes": {"small": {"h": 340, "w": 680, "resize": "fit"}, "medium": {"h": 512, "w": 1024, "resize": "fit"}, "large": {"h": 512, "w": 1024, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}}, "expanded_url": "https://twitter.com/PulitzerPrize/status/851511759135440896/photo/1"}], "urls": [], "symbols": []}, "id_str": "851511759135440896", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "extended_entities": {"media": [{"indices": [57, 80], "type": "photo", "media_url": "http://pbs.twimg.com/media/C9EtbLrXkAARBxB.png", "id": 851511749564141568, "media_url_https": "https://pbs.twimg.com/media/C9EtbLrXkAARBxB.png", "id_str": "851511749564141568", "url": "https://t.co/kHp8bxcj52", "display_url": "pic.twitter.com/kHp8bxcj52", "sizes": {"small": {"h": 340, "w": 680, "resize": "fit"}, "medium": {"h": 512, "w": 1024, "resize": "fit"}, "large": {"h": 512, "w": 1024, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}}, "expanded_url": "https://twitter.com/PulitzerPrize/status/851511759135440896/photo/1"}]}, "created_at": "Mon Apr 10 19:06:38 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Congratulations to @Fahrenthold and the @washingtonpost! https://t.co/kHp8bxcj52", "retweet_count": 5952, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 19:32:16 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 851511759135440896, "geo": null, "text": "Well-deserved https://t.co/58mSUCL5lV", "retweet_count": 1, "in_reply_to_screen_name": null, "quoted_status_id_str": "851511759135440896", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 7, "truncated": false, "id": 851467711708241920, "in_reply_to_user_id_str": null, "user": {"time_zone": "Pacific Time (US & Canada)", "notifications": false, "id": 3202202655, "url": "http://t.co/vBCu3DFSpQ", "id_str": "3202202655", "favourites_count": 1310, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "coralproject.net", "expanded_url": "http://www.coralproject.net", "url": "http://t.co/vBCu3DFSpQ"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/660125409304903680/1BAyoAZ3_normal.png", "profile_link_color": "FF691F", "lang": "en", "utc_offset": -25200, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "listed_count": 244, "screen_name": "coralproject", "profile_use_background_image": false, "followers_count": 4524, "statuses_count": 3663, "profile_background_color": "000000", "friends_count": 67, "created_at": "Fri Apr 24 20:47:35 +0000 2015", "location": "", "is_translator": false, "verified": false, "profile_sidebar_border_color": "000000", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "has_extended_profile": false, "protected": false, "description": "Free, open-source software to improve communities. Because journalism needs everyone. Made by @Mozilla, @nytimes, & @washingtonpost, funded by @knightfdn.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/660125409304903680/1BAyoAZ3_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/3202202655/1473383534", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": false, "profile_sidebar_fill_color": "000000", "name": "The Coral Project", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [69, 92], "display_url": "blog.coralproject.net/talk-features/", "expanded_url": "https://blog.coralproject.net/talk-features/", "url": "https://t.co/W2ENG7UxAr"}], "symbols": []}, "id_str": "851467711708241920", "source": "TweetDeck", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 16:11:36 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Our comment platform Talk is here. Here\u2019s what it contains so far: \n\nhttps://t.co/W2ENG7UxAr", "retweet_count": 3, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 851502261612294148, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "coralproject", "id_str": "3202202655", "name": "The Coral Project", "id": 3202202655, "indices": [3, 16]}], "hashtags": [], "urls": [{"indices": [87, 110], "display_url": "blog.coralproject.net/talk-features/", "expanded_url": "https://blog.coralproject.net/talk-features/", "url": "https://t.co/W2ENG7UxAr"}], "symbols": []}, "id_str": "851502261612294148", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 18:28:53 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @coralproject: Our comment platform Talk is here. Here\u2019s what it contains so far: \n\nhttps://t.co/W2ENG7UxAr", "retweet_count": 3, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 851502183166214145, "in_reply_to_user_id_str": "92199427", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "lawlkat", "id_str": "92199427", "name": "Kat Lo", "id": 92199427, "indices": [0, 8]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "851502183166214145", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 851497909677768707, "created_at": "Mon Apr 10 18:28:35 +0000 2017", "in_reply_to_user_id": 92199427, "geo": null, "text": "@lawlkat Not sure I want to further promote a weird diplomacy spam bot", "retweet_count": 0, "in_reply_to_screen_name": "lawlkat", "in_reply_to_status_id_str": "851497909677768707", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 851502081089449985, "in_reply_to_user_id_str": "92199427", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "lawlkat", "id_str": "92199427", "name": "Kat Lo", "id": 92199427, "indices": [0, 8]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "851502081089449985", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 851497976979611648, "created_at": "Mon Apr 10 18:28:10 +0000 2017", "in_reply_to_user_id": 92199427, "geo": null, "text": "@lawlkat I have no idea", "retweet_count": 0, "in_reply_to_screen_name": "lawlkat", "in_reply_to_status_id_str": "851497976979611648", "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 9, "truncated": false, "id": 851501959328784389, "in_reply_to_user_id_str": null, "user": {"time_zone": "Tehran", "notifications": false, "id": 14302121, "url": "https://t.co/w0BEoarP6H", "id_str": "14302121", "favourites_count": 135, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "localnewslab.org", "expanded_url": "http://localnewslab.org", "url": "https://t.co/w0BEoarP6H"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/851068401275609089/EcE6varM_normal.jpg", "profile_link_color": "0084B4", "lang": "en", "utc_offset": 16200, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/870638978/6a14a7a2abb8af0efa342a099492b950.jpeg", "listed_count": 1298, "screen_name": "jcstearns", "profile_use_background_image": true, "followers_count": 13581, "statuses_count": 59130, "profile_background_color": "FFFFFF", "friends_count": 1162, "created_at": "Fri Apr 04 12:29:11 +0000 2008", "location": "democracyfund.org", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/870638978/6a14a7a2abb8af0efa342a099492b950.jpeg", "has_extended_profile": false, "protected": false, "description": "Associate Director, Public Square Program at @DemocracyFund. Journalism and democracy of, by and for the people. Past: @grdodge @freepress @campus_compact", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/851068401275609089/EcE6varM_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/14302121/1491086015", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "C0DFEC", "name": "Josh Stearns", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "knightfdn", "id_str": "14073364", "name": "Knight Foundation", "id": 14073364, "indices": [4, 14]}], "hashtags": [], "urls": [{"indices": [70, 93], "display_url": "knightfoundation.org/careers/direct\u2026", "expanded_url": "https://knightfoundation.org/careers/director-journalism", "url": "https://t.co/mU8J2aJeb8"}], "symbols": []}, "id_str": "851501959328784389", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 18:27:41 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "The @knightfdn is hiring for a Director in their journalism program. https://t.co/mU8J2aJeb8", "retweet_count": 25, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 851502000630116352, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "jcstearns", "id_str": "14302121", "name": "Josh Stearns", "id": 14302121, "indices": [3, 13]}, {"screen_name": "knightfdn", "id_str": "14073364", "name": "Knight Foundation", "id": 14073364, "indices": [19, 29]}], "hashtags": [], "urls": [{"indices": [85, 108], "display_url": "knightfoundation.org/careers/direct\u2026", "expanded_url": "https://knightfoundation.org/careers/director-journalism", "url": "https://t.co/mU8J2aJeb8"}], "symbols": []}, "id_str": "851502000630116352", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 18:27:51 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @jcstearns: The @knightfdn is hiring for a Director in their journalism program. https://t.co/mU8J2aJeb8", "retweet_count": 25, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 851451521157955584, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [5, 28], "display_url": "twitter.com/npseaver/statu\u2026", "expanded_url": "https://twitter.com/npseaver/status/851439488421244928", "url": "https://t.co/eYs7hYlaw0"}], "symbols": []}, "id_str": "851451521157955584", "source": "Twitter Web Client", "lang": "und", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 23, "truncated": false, "id": 851439488421244928, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 14174091, "url": "https://t.co/lWcla9UZSK", "id_str": "14174091", "favourites_count": 26146, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "anthropology.town", "expanded_url": "http://anthropology.town", "url": "https://t.co/lWcla9UZSK"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/796765525993029633/vLBBRCWP_normal.jpg", "profile_link_color": "1DA1F2", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "listed_count": 174, "screen_name": "npseaver", "profile_use_background_image": true, "followers_count": 2963, "statuses_count": 29545, "profile_background_color": "C0DEED", "friends_count": 1196, "created_at": "Wed Mar 19 02:14:35 +0000 2008", "location": "Somerville, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "C0DEED", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "has_extended_profile": false, "protected": false, "description": "the anthropology of algorithms and vice versa | asst prof @tuftsuniversity | co-chair @castac_aaa | mr @thisischristina | he/him/his", "is_translation_enabled": false, "default_profile": true, "profile_image_url": "http://pbs.twimg.com/profile_images/796765525993029633/vLBBRCWP_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/14174091/1446383428", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "DDEEF6", "name": "Nick Seaver", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "media": [{"indices": [96, 119], "type": "photo", "media_url": "http://pbs.twimg.com/media/C9DrkfdWAAEE7Jb.jpg", "id": 851439341725417473, "media_url_https": "https://pbs.twimg.com/media/C9DrkfdWAAEE7Jb.jpg", "id_str": "851439341725417473", "url": "https://t.co/90IUsppsHn", "display_url": "pic.twitter.com/90IUsppsHn", "sizes": {"small": {"h": 95, "w": 680, "resize": "fit"}, "medium": {"h": 168, "w": 1200, "resize": "fit"}, "large": {"h": 182, "w": 1302, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}}, "expanded_url": "https://twitter.com/npseaver/status/851439488421244928/photo/1"}], "urls": [{"indices": [72, 95], "display_url": "journals.sagepub.com/doi/abs/10.117\u2026", "expanded_url": "http://journals.sagepub.com/doi/abs/10.1177/0306312714562103", "url": "https://t.co/mMlzvCO3Cs"}], "symbols": []}, "id_str": "851439488421244928", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "extended_entities": {"media": [{"indices": [96, 119], "type": "photo", "media_url": "http://pbs.twimg.com/media/C9DrkfdWAAEE7Jb.jpg", "id": 851439341725417473, "media_url_https": "https://pbs.twimg.com/media/C9DrkfdWAAEE7Jb.jpg", "id_str": "851439341725417473", "url": "https://t.co/90IUsppsHn", "display_url": "pic.twitter.com/90IUsppsHn", "sizes": {"small": {"h": 95, "w": 680, "resize": "fit"}, "medium": {"h": 168, "w": 1200, "resize": "fit"}, "large": {"h": 182, "w": 1302, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}}, "expanded_url": "https://twitter.com/npseaver/status/851439488421244928/photo/1"}]}, "created_at": "Mon Apr 10 14:19:27 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "wow (from this article, which I'm teaching today in my intro STS class: https://t.co/mMlzvCO3Cs https://t.co/90IUsppsHn", "retweet_count": 9, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 15:07:16 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 851439488421244928, "geo": null, "text": "\ud83d\ude1e \ud83d\ude20\ud83e\udd14 https://t.co/eYs7hYlaw0", "retweet_count": 1, "in_reply_to_screen_name": null, "quoted_status_id_str": "851439488421244928", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 3, "truncated": true, "id": 851450618149580800, "in_reply_to_user_id_str": "17773446", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "pgbovine", "id_str": "17773446", "name": "Philip Guo", "id": 17773446, "indices": [0, 9]}, {"screen_name": "bkeegan", "id_str": "16629994", "name": "Brian Keegan", "id": 16629994, "indices": [10, 18]}], "hashtags": [], "urls": [{"indices": [117, 140], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/851450618149580800", "url": "https://t.co/bDnQASZdl7"}], "symbols": []}, "id_str": "851450618149580800", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 851445150693736448, "created_at": "Mon Apr 10 15:03:41 +0000 2017", "in_reply_to_user_id": 17773446, "geo": null, "text": "@pgbovine @bkeegan Most learned committee, I am glad to say that I can answer this question, thanks to the foresigh\u2026 https://t.co/bDnQASZdl7", "retweet_count": 0, "in_reply_to_screen_name": "pgbovine", "in_reply_to_status_id_str": "851445150693736448", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 851439584890298368, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "851439584890298368", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 851439518527959041, "created_at": "Mon Apr 10 14:19:50 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "So strange", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "851439518527959041", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 14, "truncated": false, "id": 851439518527959041, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "851439518527959041", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 14:19:34 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "In other news, some weird diplomacy bot awarded one of my blog posts \"best conference paper of the year\" and fancy people are retweeting O_o", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 851439149978669056, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "851439149978669056", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 14:18:06 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "TIL that I've been doing the bracketed ellipsis wrong for over 15 years. I thought there were four dots [....] but there are only three [\u2026]", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 9, "truncated": false, "id": 851424786316177410, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 25726250, "url": "https://t.co/o9ecVWp6rN", "id_str": "25726250", "favourites_count": 967, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "web.media.mit.edu/~kdinakar/", "expanded_url": "http://web.media.mit.edu/~kdinakar/", "url": "https://t.co/o9ecVWp6rN"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/813334155761045504/49X5DhTA_normal.jpg", "profile_link_color": "038543", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme18/bg.gif", "listed_count": 25, "screen_name": "kaydeeb0y", "profile_use_background_image": true, "followers_count": 567, "statuses_count": 2846, "profile_background_color": "ACDED6", "friends_count": 199, "created_at": "Sat Mar 21 20:46:52 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "EEEEEE", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme18/bg.gif", "has_extended_profile": false, "protected": false, "description": "@reidhoffman Fellow & PhD student at MIT = argmax { nlp + machine learning + optimism}. Formerly @CarnegieMellon, @Yahoo, @DeutscheBank & @Microsoft.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/813334155761045504/49X5DhTA_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/25726250/1389099435", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "F6F6F6", "name": "K\u0101rthik Dinakar", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "medialab", "id_str": "13982132", "name": "MIT Media Lab", "id": 13982132, "indices": [35, 44]}, {"screen_name": "NockLabHarvard", "id_str": "935068962", "name": "Nock Lab at Harvard", "id": 935068962, "indices": [46, 61]}, {"screen_name": "erichorvitz", "id_str": "264501255", "name": "Eric Horvitz", "id": 264501255, "indices": [66, 78]}, {"screen_name": "MSFTResearch", "id_str": "21457289", "name": "Microsoft Research", "id": 21457289, "indices": [82, 95]}], "hashtags": [], "urls": [{"indices": [96, 119], "display_url": "twitter.com/talklifeapp/st\u2026", "expanded_url": "https://twitter.com/talklifeapp/status/841705925912207362", "url": "https://t.co/5juZ1gtQlY"}], "symbols": []}, "id_str": "851424786316177410", "source": "Twitter for iPhone", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 59, "truncated": false, "id": 841705925912207362, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 207325298, "url": "https://t.co/DFp7MW8LzL", "id_str": "207325298", "favourites_count": 6863, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "talklife.co", "expanded_url": "http://www.talklife.co", "url": "https://t.co/DFp7MW8LzL"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/837403578172059650/lf1Zof4m_normal.jpg", "profile_link_color": "E858C2", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/565203431464251392/ZRBtuOsV.jpeg", "listed_count": 99, "screen_name": "TalkLifeApp", "profile_use_background_image": true, "followers_count": 4141, "statuses_count": 2287, "profile_background_color": "622D8D", "friends_count": 2686, "created_at": "Mon Oct 25 02:09:00 +0000 2010", "location": "London, England", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/565203431464251392/ZRBtuOsV.jpeg", "has_extended_profile": false, "protected": false, "description": "Life can be incredibly tough. We're here for everyone & anyone who just needs someone to talk to. Who just needs someone to listen. Because, hey, we all do.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/837403578172059650/lf1Zof4m_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/207325298/1488488029", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "DDFFCC", "name": "TalkLife", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "TalkLifeApp", "id_str": "207325298", "name": "TalkLife", "id": 207325298, "indices": [96, 108]}], "hashtags": [{"indices": [81, 94], "text": "mentalhealth"}], "urls": [{"indices": [109, 132], "display_url": "blog.talklife.co/online-communi\u2026", "expanded_url": "https://blog.talklife.co/online-communities-and-peer-support-can-prevent-self-harm-and-promote-wellbeing-9722874b5ee1#.lnuezhez7", "url": "https://t.co/NK0U6ENYeg"}], "symbols": []}, "id_str": "841705925912207362", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Mar 14 17:41:45 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Peer support, social media & authentic sharing can have a positive impact on #mentalhealth. @TalkLifeApp https://t.co/NK0U6ENYeg", "retweet_count": 53, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 13:21:02 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 841705925912207362, "geo": null, "text": "Good article on joint work with us @medialab, @NockLabHarvard and @erichorvitz at @MSFTResearch https://t.co/5juZ1gtQlY", "retweet_count": 7, "in_reply_to_screen_name": null, "quoted_status_id_str": "841705925912207362", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 851425473666088960, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "kaydeeb0y", "id_str": "25726250", "name": "K\u0101rthik Dinakar", "id": 25726250, "indices": [3, 13]}, {"screen_name": "medialab", "id_str": "13982132", "name": "MIT Media Lab", "id": 13982132, "indices": [50, 59]}, {"screen_name": "NockLabHarvard", "id_str": "935068962", "name": "Nock Lab at Harvard", "id": 935068962, "indices": [61, 76]}, {"screen_name": "erichorvitz", "id_str": "264501255", "name": "Eric Horvitz", "id": 264501255, "indices": [81, 93]}, {"screen_name": "MSFTResearch", "id_str": "21457289", "name": "Microsoft Research", "id": 21457289, "indices": [97, 110]}], "hashtags": [], "urls": [{"indices": [111, 134], "display_url": "twitter.com/talklifeapp/st\u2026", "expanded_url": "https://twitter.com/talklifeapp/status/841705925912207362", "url": "https://t.co/5juZ1gtQlY"}], "symbols": []}, "id_str": "851425473666088960", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 13:23:46 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 841705925912207362, "geo": null, "text": "RT @kaydeeb0y: Good article on joint work with us @medialab, @NockLabHarvard and @erichorvitz at @MSFTResearch https://t.co/5juZ1gtQlY", "retweet_count": 7, "in_reply_to_screen_name": null, "quoted_status_id_str": "841705925912207362", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 194, "truncated": false, "id": 851072648444608512, "in_reply_to_user_id_str": null, "user": {"time_zone": "Pacific Time (US & Canada)", "notifications": false, "id": 991745802, "url": null, "id_str": "991745802", "favourites_count": 1398, "entities": {"description": {"urls": []}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/637716860377649152/h35KW64v_normal.jpg", "profile_link_color": "0084B4", "lang": "en", "utc_offset": -25200, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/502816613955940352/6KGqzBmg.jpeg", "listed_count": 1506, "screen_name": "CassSunstein", "profile_use_background_image": true, "followers_count": 49548, "statuses_count": 4627, "profile_background_color": "C0DEED", "friends_count": 199, "created_at": "Wed Dec 05 20:54:11 +0000 2012", "location": "", "is_translator": false, "verified": true, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/502816613955940352/6KGqzBmg.jpeg", "has_extended_profile": false, "protected": false, "description": "Professor at Harvard; coauthor, Nudge, and author, The World According to Star Wars.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/637716860377649152/h35KW64v_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/991745802/1469453924", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "DDEEF6", "name": "Cass Sunstein", "default_profile_image": false, "profile_background_tile": true, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [108, 131], "display_url": "cambridge.org/core/journals/\u2026", "expanded_url": "https://www.cambridge.org/core/journals/behavioural-public-policy", "url": "https://t.co/UwgZIUC0Cc"}], "symbols": []}, "id_str": "851072648444608512", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": {"contained_within": [], "attributes": {}, "full_name": "Massachusetts, USA", "name": "Massachusetts", "id": "cd450c94084cbf9b", "url": "https://api.twitter.com/1.1/geo/id/cd450c94084cbf9b.json", "place_type": "admin", "country_code": "US", "country": "United States", "bounding_box": {"type": "Polygon", "coordinates": [[[-73.508143, 41.187054], [-69.858861, 41.187054], [-69.858861, 42.8868241], [-73.508143, 42.8868241]]]}}, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sun Apr 09 14:01:46 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Announcing Behavioural Public Policy - new journal, edited by George Akerlof, Adam Oliver, and yours truly.\nhttps://t.co/UwgZIUC0Cc", "retweet_count": 141, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 851275486185504769, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "CassSunstein", "id_str": "991745802", "name": "Cass Sunstein", "id": 991745802, "indices": [3, 16]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "851275486185504769", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 03:27:46 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @CassSunstein: Announcing Behavioural Public Policy - new journal, edited by George Akerlof, Adam Oliver, and yours truly.\nhttps://t.co/\u2026", "retweet_count": 141, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 4, "truncated": false, "id": 851268730029875200, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "851268730029875200", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 851187794777079809, "created_at": "Mon Apr 10 03:00:55 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "Sites that help you find mastodon interfaces are now offering ratings on moderation styles, alongside technical capacity & infosec", "retweet_count": 2, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "851187794777079809", "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 10, "truncated": true, "id": 851221254665383937, "in_reply_to_user_id_str": "401773648", "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 401773648, "url": "https://t.co/XXHMHzL0Ic", "id_str": "401773648", "favourites_count": 24915, "entities": {"description": {"urls": [{"indices": [118, 141], "display_url": "bit.ly/programmed_ine\u2026", "expanded_url": "http://bit.ly/programmed_inequality", "url": "https://t.co/pv8X9MDBPb"}]}, "url": {"urls": [{"indices": [0, 23], "display_url": "bit.ly/mariehicksnet", "expanded_url": "http://bit.ly/mariehicksnet", "url": "https://t.co/XXHMHzL0Ic"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/852770314740088833/Sp9yomvR_normal.jpg", "profile_link_color": "666666", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme15/bg.png", "listed_count": 219, "screen_name": "histoftech", "profile_use_background_image": false, "followers_count": 3527, "statuses_count": 17742, "profile_background_color": "022330", "friends_count": 999, "created_at": "Mon Oct 31 02:11:48 +0000 2011", "location": "21st century chicago", "is_translator": false, "verified": false, "profile_sidebar_border_color": "A8C7F7", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme15/bg.png", "has_extended_profile": false, "protected": false, "description": "Resist. Historian of technology. Professor. Queer feminist. Former sysadmin. They/them online. Programmed Inequality: https://t.co/pv8X9MDBPb", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/852770314740088833/Sp9yomvR_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/401773648/1491300168", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "C0DFEC", "name": "Mar Hicks", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "ubiquity75", "id_str": "23451153", "name": "Sarah T. Roberts", "id": 23451153, "indices": [0, 11]}, {"screen_name": "safiyanoble", "id_str": "45891623", "name": "Safiya U Noble PhD", "id": 45891623, "indices": [44, 56]}, {"screen_name": "timeshighered", "id_str": "23602600", "name": "TimesHigherEducation", "id": 23602600, "indices": [61, 75]}], "hashtags": [], "urls": [{"indices": [121, 144], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/851221254665383937", "url": "https://t.co/ZldZPhvEYQ"}], "symbols": []}, "id_str": "851221254665383937", "source": "Twitter for iPhone", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 851220455403003909, "created_at": "Sun Apr 09 23:52:16 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": 401773648, "geo": null, "text": "@ubiquity75 recently I mentioned you (& @safiyanoble) in @timeshighered as 2 academics killin' it social media-wise\u2026 https://t.co/ZldZPhvEYQ", "retweet_count": 5, "in_reply_to_screen_name": "histoftech", "in_reply_to_status_id_str": "851220455403003909", "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 851224680652566528, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "histoftech", "id_str": "401773648", "name": "Mar Hicks", "id": 401773648, "indices": [3, 14]}, {"screen_name": "ubiquity75", "id_str": "23451153", "name": "Sarah T. Roberts", "id": 23451153, "indices": [16, 27]}, {"screen_name": "safiyanoble", "id_str": "45891623", "name": "Safiya U Noble PhD", "id": 45891623, "indices": [60, 72]}, {"screen_name": "timeshighered", "id_str": "23602600", "name": "TimesHigherEducation", "id": 23602600, "indices": [77, 91]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "851224680652566528", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 00:05:53 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @histoftech: @ubiquity75 recently I mentioned you (& @safiyanoble) in @timeshighered as 2 academics killin' it social media-wise https:/\u2026", "retweet_count": 5, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 851211166454075394, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [68, 91], "display_url": "web.mit.edu/hml/ncfmf.html", "expanded_url": "http://web.mit.edu/hml/ncfmf.html", "url": "https://t.co/U5ERnM8RwI"}], "symbols": []}, "id_str": "851211166454075394", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 851211022643941376, "created_at": "Sun Apr 09 23:12:11 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": 52332354, "geo": null, "text": "Shapiro's other films about visualizing 3D flows are archived here: https://t.co/U5ERnM8RwI", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "851211022643941376", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 3, "truncated": false, "id": 851211022643941376, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [111, 134], "display_url": "youtube.com/watch?v=nuQyKG\u2026", "expanded_url": "https://www.youtube.com/watch?v=nuQyKGuXJOs", "url": "https://t.co/wdrm5sIpaP"}], "symbols": []}, "id_str": "851211022643941376", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sun Apr 09 23:11:37 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Physical interactive 3D dataviz: MIT prof Ascher Shapiro visualizes fluid flows using hydrongen bubbles (1961) https://t.co/wdrm5sIpaP", "retweet_count": 1, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 851192669116276739, "in_reply_to_user_id_str": "9245752", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "rsoden", "id_str": "9245752", "name": "Robert Soden", "id": 9245752, "indices": [0, 7]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "851192669116276739", "source": "Twitter Web Client", "lang": "es", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 851188804073308160, "created_at": "Sun Apr 09 21:58:41 +0000 2017", "in_reply_to_user_id": 9245752, "geo": null, "text": "@rsoden octodon", "retweet_count": 0, "in_reply_to_screen_name": "rsoden", "in_reply_to_status_id_str": "851188804073308160", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 851187794777079809, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "851187794777079809", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850391861625856000, "created_at": "Sun Apr 09 21:39:19 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "Our mastodon sysop just asked if anyone could help moderating. Roughly 15 people volunteered in the first hour <3", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "850391861625856000", "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 10, "truncated": true, "id": 850430872377544707, "in_reply_to_user_id_str": null, "user": {"time_zone": "Quito", "notifications": false, "id": 296873851, "url": "http://t.co/LYjGrvwvf7", "id_str": "296873851", "favourites_count": 919, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "publiclab.org", "expanded_url": "http://publiclab.org", "url": "http://t.co/LYjGrvwvf7"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000144509535/3b5085f7ecd7e08f9360cdbef4c83e3f_normal.png", "profile_link_color": "1DA1F2", "lang": "en", "utc_offset": -18000, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "listed_count": 364, "screen_name": "PublicLab", "profile_use_background_image": true, "followers_count": 5478, "statuses_count": 4033, "profile_background_color": "C0DEED", "friends_count": 991, "created_at": "Wed May 11 14:58:47 +0000 2011", "location": "", "is_translator": false, "verified": false, "profile_sidebar_border_color": "C0DEED", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "has_extended_profile": false, "protected": false, "description": "The Public Laboratory for Open Technology and Science is a community which develops and applies open-source tools to environmental investigation.", "is_translation_enabled": false, "default_profile": true, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000144509535/3b5085f7ecd7e08f9360cdbef4c83e3f_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/296873851/1475006559", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "DDEEF6", "name": "Public Laboratory", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [{"indices": [6, 13], "text": "hiring"}], "urls": [{"indices": [122, 145], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/850430872377544707", "url": "https://t.co/33Uno6Iith"}], "symbols": []}, "id_str": "850430872377544707", "source": "TweetDeck", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 19:31:34 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "We're #hiring a Director of Development (multiple locations) & an Advocacy Manager (New Orleans)! Apply & share:\u2026 https://t.co/33Uno6Iith", "retweet_count": 16, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 851113160589312000, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "PublicLab", "id_str": "296873851", "name": "Public Laboratory", "id": 296873851, "indices": [3, 13]}], "hashtags": [{"indices": [21, 28], "text": "hiring"}], "urls": [], "symbols": []}, "id_str": "851113160589312000", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sun Apr 09 16:42:45 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @PublicLab: We're #hiring a Director of Development (multiple locations) & an Advocacy Manager (New Orleans)! Apply & share: https://t.c\u2026", "retweet_count": 16, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 1347, "truncated": false, "id": 851080969029382146, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 84653850, "url": "http://t.co/SLPQ03KEIP", "id_str": "84653850", "favourites_count": 10060, "entities": {"description": {"urls": [{"indices": [138, 160], "display_url": "brendan-nyhan.com", "expanded_url": "http://www.brendan-nyhan.com", "url": "http://t.co/BwoeFccCrA"}]}, "url": {"urls": [{"indices": [0, 22], "display_url": "dartmouth.edu/~nyhan/", "expanded_url": "http://www.dartmouth.edu/~nyhan/", "url": "http://t.co/SLPQ03KEIP"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/683489860728950784/BHPN623B_normal.jpg", "profile_link_color": "60BD9B", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme14/bg.gif", "listed_count": 1829, "screen_name": "BrendanNyhan", "profile_use_background_image": true, "followers_count": 50902, "statuses_count": 44471, "profile_background_color": "131516", "friends_count": 4578, "created_at": "Fri Oct 23 18:18:59 +0000 2009", "location": "Hanover, NH", "is_translator": false, "verified": true, "profile_sidebar_border_color": "EEEEEE", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme14/bg.gif", "has_extended_profile": true, "protected": false, "description": "@Dartmouth political science professor & @UpshotNYT contributor. Before: CJR media critic, Spinsanity/All the President's Spin co-author. http://t.co/BwoeFccCrA", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/683489860728950784/BHPN623B_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/84653850/1398214944", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "EFEFEF", "name": "Brendan Nyhan", "default_profile_image": false, "profile_background_tile": true, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [54, 77], "display_url": "twitter.com/rypauley/statu\u2026", "expanded_url": "https://twitter.com/rypauley/status/851034975717687296", "url": "https://t.co/sloVWMgano"}], "symbols": []}, "id_str": "851080969029382146", "source": "Twitter for iPhone", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 50067, "truncated": false, "id": 851034975717687296, "in_reply_to_user_id_str": null, "user": {"time_zone": "Atlantic Time (Canada)", "notifications": false, "id": 536877209, "url": "https://t.co/Kh4MF5MjVC", "id_str": "536877209", "favourites_count": 486, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "voxmedia.com", "expanded_url": "http://voxmedia.com", "url": "https://t.co/Kh4MF5MjVC"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/824057577717858305/mt8xnMUu_normal.jpg", "profile_link_color": "1DA1F2", "lang": "en", "utc_offset": -10800, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "listed_count": 37, "screen_name": "rypauley", "profile_use_background_image": true, "followers_count": 507, "statuses_count": 1496, "profile_background_color": "C0DEED", "friends_count": 622, "created_at": "Mon Mar 26 03:16:26 +0000 2012", "location": "New York", "is_translator": false, "verified": false, "profile_sidebar_border_color": "C0DEED", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "has_extended_profile": true, "protected": false, "description": "VP, Revenue Operations & GM, Concert @ Vox Media", "is_translation_enabled": false, "default_profile": true, "profile_image_url": "http://pbs.twimg.com/profile_images/824057577717858305/mt8xnMUu_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/536877209/1491774477", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "DDEEF6", "name": "Ryan Pauley", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "media": [{"indices": [14, 37], "type": "photo", "media_url": "http://pbs.twimg.com/media/C897zCJXkAADAsh.jpg", "id": 851034971276021760, "media_url_https": "https://pbs.twimg.com/media/C897zCJXkAADAsh.jpg", "id_str": "851034971276021760", "url": "https://t.co/5ITGTIQqhb", "display_url": "pic.twitter.com/5ITGTIQqhb", "sizes": {"small": {"h": 680, "w": 579, "resize": "fit"}, "medium": {"h": 879, "w": 749, "resize": "fit"}, "large": {"h": 879, "w": 749, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}}, "expanded_url": "https://twitter.com/rypauley/status/851034975717687296/photo/1"}], "urls": [], "symbols": []}, "id_str": "851034975717687296", "source": "Twitter for iPhone", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "extended_entities": {"media": [{"indices": [14, 37], "type": "photo", "media_url": "http://pbs.twimg.com/media/C897zCJXkAADAsh.jpg", "id": 851034971276021760, "media_url_https": "https://pbs.twimg.com/media/C897zCJXkAADAsh.jpg", "id_str": "851034971276021760", "url": "https://t.co/5ITGTIQqhb", "display_url": "pic.twitter.com/5ITGTIQqhb", "sizes": {"small": {"h": 680, "w": 579, "resize": "fit"}, "medium": {"h": 879, "w": 749, "resize": "fit"}, "large": {"h": 879, "w": 749, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}}, "expanded_url": "https://twitter.com/rypauley/status/851034975717687296/photo/1"}, {"indices": [14, 37], "type": "photo", "media_url": "http://pbs.twimg.com/media/C897zCOW0AEUxPm.jpg", "id": 851034971296944129, "media_url_https": "https://pbs.twimg.com/media/C897zCOW0AEUxPm.jpg", "id_str": "851034971296944129", "url": "https://t.co/5ITGTIQqhb", "display_url": "pic.twitter.com/5ITGTIQqhb", "sizes": {"thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 863, "w": 750, "resize": "fit"}, "large": {"h": 863, "w": 750, "resize": "fit"}, "small": {"h": 680, "w": 591, "resize": "fit"}}, "expanded_url": "https://twitter.com/rypauley/status/851034975717687296/photo/1"}]}, "created_at": "Sun Apr 09 11:32:04 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "30 mins apart https://t.co/5ITGTIQqhb", "retweet_count": 28527, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Sun Apr 09 14:34:49 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 851034975717687296, "geo": null, "text": "The indifferent epistemology of the clickbait economy https://t.co/sloVWMgano", "retweet_count": 801, "in_reply_to_screen_name": null, "quoted_status_id_str": "851034975717687296", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 851081057571045376, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "BrendanNyhan", "id_str": "84653850", "name": "Brendan Nyhan", "id": 84653850, "indices": [3, 16]}], "hashtags": [], "urls": [{"indices": [72, 95], "display_url": "twitter.com/rypauley/statu\u2026", "expanded_url": "https://twitter.com/rypauley/status/851034975717687296", "url": "https://t.co/sloVWMgano"}], "symbols": []}, "id_str": "851081057571045376", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Sun Apr 09 14:35:11 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 851034975717687296, "geo": null, "text": "RT @BrendanNyhan: The indifferent epistemology of the clickbait economy https://t.co/sloVWMgano", "retweet_count": 801, "in_reply_to_screen_name": null, "quoted_status_id_str": "851034975717687296", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 13, "truncated": false, "id": 851069692978618369, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [84, 107], "display_url": "twitter.com/cjack/status/8\u2026", "expanded_url": "https://twitter.com/cjack/status/850951555750789120", "url": "https://t.co/fLnxoripP9"}], "symbols": []}, "id_str": "851069692978618369", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 1, "truncated": false, "id": 850951555750789120, "in_reply_to_user_id_str": null, "user": {"time_zone": "Central Time (US & Canada)", "notifications": false, "id": 3716851, "url": "https://t.co/PQ8zepLqCv", "id_str": "3716851", "favourites_count": 4706, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "cjack.org", "expanded_url": "http://www.cjack.org", "url": "https://t.co/PQ8zepLqCv"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/808711659506270210/yfmkQlO1_normal.jpg", "profile_link_color": "3B94D9", "lang": "en", "utc_offset": -18000, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "listed_count": 30, "screen_name": "cjack", "profile_use_background_image": true, "followers_count": 589, "statuses_count": 1292, "profile_background_color": "9AE4E8", "friends_count": 786, "created_at": "Sat Apr 07 15:49:02 +0000 2007", "location": "Brooklyn, NY", "is_translator": false, "verified": false, "profile_sidebar_border_color": "87BC44", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "has_extended_profile": false, "protected": false, "description": "I'm into media history, media theory, cultural production of economies, history of propaganda, #histtech. Postdoc at @datasociety.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/808711659506270210/yfmkQlO1_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/3716851/1419545659", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": false, "profile_sidebar_fill_color": "E0FF92", "name": "Caroline Jack", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850951555750789120", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sun Apr 09 06:00:35 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "\"you feel like you\u2019re getting closer to the heart of something. That you never arrive doesn\u2019t matter. The joy is in the passage.\"", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Sun Apr 09 13:50:01 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 850951555750789120, "geo": null, "text": "Helpful reminder as I enter the last few days of writing the first draft of the PhD https://t.co/fLnxoripP9", "retweet_count": 0, "in_reply_to_screen_name": null, "quoted_status_id_str": "850951555750789120", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 17, "truncated": false, "id": 851067957899911169, "in_reply_to_user_id_str": null, "user": {"time_zone": "Pacific Time (US & Canada)", "notifications": false, "id": 15432179, "url": "https://t.co/ghAVqjln9U", "id_str": "15432179", "favourites_count": 41847, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "raulpacheco.org", "expanded_url": "http://www.raulpacheco.org", "url": "https://t.co/ghAVqjln9U"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/784592701828243456/X6LC3T71_normal.jpg", "profile_link_color": "0084B4", "lang": "en", "utc_offset": -25200, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/4917338/research_twitter.jpg", "listed_count": 1373, "screen_name": "raulpacheco", "profile_use_background_image": true, "followers_count": 16627, "statuses_count": 187117, "profile_background_color": "9AE4E8", "friends_count": 1871, "created_at": "Mon Jul 14 20:54:16 +0000 2008", "location": "Vancouver/Aguascalientes", "is_translator": false, "verified": false, "profile_sidebar_border_color": "BDDCAD", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/4917338/research_twitter.jpg", "has_extended_profile": false, "protected": false, "description": "Professor @CIDE_MX Water governance, public policy, environmental politics, experimental methods, North America. #ScholarSunday founder. Coffee lover. SNI 1", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/784592701828243456/X6LC3T71_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/15432179/1398193808", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "DDFFCC", "name": "Dr Raul Pacheco-Vega", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [{"indices": [0, 14], "text": "ScholarSunday"}], "urls": [{"indices": [115, 138], "display_url": "buff.ly/2oeCSRA", "expanded_url": "http://buff.ly/2oeCSRA", "url": "https://t.co/Nbq72vlOvZ"}], "symbols": []}, "id_str": "851067957899911169", "source": "Buffer", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sun Apr 09 13:43:07 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "#ScholarSunday is a hashtag intended to promote OTHER scholars. Doesn't distinguish tenured, student, practitioner https://t.co/Nbq72vlOvZ", "retweet_count": 9, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 851068101013778436, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "raulpacheco", "id_str": "15432179", "name": "Dr Raul Pacheco-Vega", "id": 15432179, "indices": [3, 15]}], "hashtags": [{"indices": [17, 31], "text": "ScholarSunday"}], "urls": [], "symbols": []}, "id_str": "851068101013778436", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sun Apr 09 13:43:42 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @raulpacheco: #ScholarSunday is a hashtag intended to promote OTHER scholars. Doesn't distinguish tenured, student, practitioner https:/\u2026", "retweet_count": 9, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 7, "truncated": false, "id": 850890842332069888, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [39, 62], "display_url": "github.com/ummjackson/mas\u2026", "expanded_url": "https://github.com/ummjackson/mastodon-guide/blob/master/up-and-running.md", "url": "https://t.co/ryhlV60g50"}], "symbols": []}, "id_str": "850890842332069888", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sun Apr 09 01:59:20 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "How to run your own Mastodon instance: https://t.co/ryhlV60g50", "retweet_count": 2, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 5, "truncated": false, "id": 850837390142967808, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "Central Time (US & Canada)", "notifications": false, "id": 1290351, "url": "https://t.co/N5xeaR1SvJ", "id_str": "1290351", "favourites_count": 5128, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "nancybaym.com", "expanded_url": "http://www.nancybaym.com", "url": "https://t.co/N5xeaR1SvJ"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/852944042912382977/JXd3XleR_normal.jpg", "profile_link_color": "3B94D9", "lang": "en", "utc_offset": -18000, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/2321268/twitterbackground.jpg", "listed_count": 527, "screen_name": "nancybaym", "profile_use_background_image": true, "followers_count": 7477, "statuses_count": 44215, "profile_background_color": "D3CFF0", "friends_count": 724, "created_at": "Fri Mar 16 14:39:19 +0000 2007", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "8ED238", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/2321268/twitterbackground.jpg", "has_extended_profile": false, "protected": false, "description": "Researcher at Microsoft. Wrote Personal Connections in the Digital Age. Forthcoming book on musician/audience relationships. May rant political.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/852944042912382977/JXd3XleR_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/1290351/1377531299", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": false, "profile_sidebar_fill_color": "C8D5A7", "name": "Nancy Baym", "default_profile_image": false, "profile_background_tile": true, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "natematias", "id_str": "52332354", "name": "J. Nathan Matias", "id": 52332354, "indices": [0, 11]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850837390142967808", "source": "Twitter Lite", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850833013667762176, "created_at": "Sat Apr 08 22:26:56 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "@natematias As methodologist David Silverman wisely put it, \"the phenomenon always escapes.\"", "retweet_count": 2, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "850833013667762176", "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 850856162497003520, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "nancybaym", "id_str": "1290351", "name": "Nancy Baym", "id": 1290351, "indices": [3, 13]}, {"screen_name": "natematias", "id_str": "52332354", "name": "J. Nathan Matias", "id": 52332354, "indices": [15, 26]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850856162497003520", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sat Apr 08 23:41:31 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @nancybaym: @natematias As methodologist David Silverman wisely put it, \"the phenomenon always escapes.\"", "retweet_count": 2, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 29, "truncated": false, "id": 850833013667762176, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850833013667762176", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sat Apr 08 22:09:32 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "Apparently finishing a PhD involves continuing to write even though you know you missed something important but can't put a finger on it", "retweet_count": 3, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 9, "truncated": false, "id": 850790032990498817, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 1285451, "url": "http://t.co/p8ubihV4m1", "id_str": "1285451", "favourites_count": 188, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "johotheblog.com", "expanded_url": "http://www.johotheblog.com", "url": "http://t.co/p8ubihV4m1"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/828424288478822400/lK1WPWl1_normal.jpg", "profile_link_color": "0000FF", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/132567486/purple_flowers_2_copy.jpg", "listed_count": 2732, "screen_name": "dweinberger", "profile_use_background_image": true, "followers_count": 28197, "statuses_count": 10913, "profile_background_color": "9AE4E8", "friends_count": 837, "created_at": "Fri Mar 16 13:27:30 +0000 2007", "location": "Boston, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "87BC44", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/132567486/purple_flowers_2_copy.jpg", "has_extended_profile": false, "protected": false, "description": "I mainly write about the effect of tech on our ideas", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/828424288478822400/lK1WPWl1_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/1285451/1398263360", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": true, "profile_sidebar_fill_color": "E0FF92", "name": "Party like it's 1933", "default_profile_image": false, "profile_background_tile": true, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [115, 138], "display_url": "sciencemag.org/news/2017/04/n\u2026", "expanded_url": "http://www.sciencemag.org/news/2017/04/now-free-citation-data-14-million-papers-and-more-might-come", "url": "https://t.co/vCTQJfvVK2"}], "symbols": []}, "id_str": "850790032990498817", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sat Apr 08 19:18:45 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Initiative for Open Citations gives the citations in 14M articles (so far!) in computable form. Huge contribution! https://t.co/vCTQJfvVK2", "retweet_count": 6, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 850790291904790529, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "dweinberger", "id_str": "1285451", "name": "Party like it's 1933", "id": 1285451, "indices": [3, 15]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850790291904790529", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sat Apr 08 19:19:47 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @dweinberger: Initiative for Open Citations gives the citations in 14M articles (so far!) in computable form. Huge contribution! https:/\u2026", "retweet_count": 6, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 4, "truncated": false, "id": 850777591166496768, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "waxpancake", "id_str": "13461", "name": "Andy Baio", "id": 13461, "indices": [38, 49]}], "hashtags": [], "urls": [{"indices": [102, 125], "display_url": "xoxo.zone/users/andybaio\u2026", "expanded_url": "https://xoxo.zone/users/andybaio/updates/511", "url": "https://t.co/pbeV1fLazw"}], "symbols": []}, "id_str": "850777591166496768", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sat Apr 08 18:29:19 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Thoughtful mastodon thread started by @waxpancake: \"Prediction: Mastodon will likely outlast Twitter\" https://t.co/pbeV1fLazw", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 850736924096679937, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850736924096679937", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850735735061839872, "created_at": "Sat Apr 08 15:47:43 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "I should be kinder than that. These are important issues. I'm glad that politicians want to do something. We're all trying to find out what", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "850735735061839872", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": true, "id": 850735735061839872, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [117, 140], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/850735735061839872", "url": "https://t.co/83aKhihTlQ"}], "symbols": []}, "id_str": "850735735061839872", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 12, "truncated": false, "id": 850566656506114049, "in_reply_to_user_id_str": null, "user": {"time_zone": null, "notifications": false, "id": 76423575, "url": "https://t.co/uHgHli8XlH", "id_str": "76423575", "favourites_count": 186, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "blogs.lse.ac.uk/mediapolicypro\u2026", "expanded_url": "http://blogs.lse.ac.uk/mediapolicyproject/", "url": "https://t.co/uHgHli8XlH"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/1209322019/image_normal.jpg", "profile_link_color": "1DA1F2", "lang": "en", "utc_offset": null, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "listed_count": 129, "screen_name": "damiantambini", "profile_use_background_image": true, "followers_count": 1963, "statuses_count": 4185, "profile_background_color": "C0DEED", "friends_count": 785, "created_at": "Tue Sep 22 19:26:41 +0000 2009", "location": "LSE", "is_translator": false, "verified": false, "profile_sidebar_border_color": "C0DEED", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "has_extended_profile": false, "protected": false, "description": "LSE academic and blogger. Runs LSE Media Policy Project. retweets are for interest not endorsement.", "is_translation_enabled": false, "default_profile": true, "profile_image_url": "http://pbs.twimg.com/profile_images/1209322019/image_normal.jpg", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "DDEEF6", "name": "damian tambini", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [79, 102], "display_url": "euobserver.com/foreign/137521", "expanded_url": "https://euobserver.com/foreign/137521", "url": "https://t.co/153q7K0mOE"}], "symbols": []}, "id_str": "850566656506114049", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sat Apr 08 04:31:08 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Delete, delete, delete: Germany calls for EU laws on hate speech and fake news https://t.co/153q7K0mOE", "retweet_count": 20, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Sat Apr 08 15:42:59 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 850566656506114049, "geo": null, "text": "In an imaginary parallel universe, EU politicians are asking for research to test effective approaches to addressin\u2026 https://t.co/83aKhihTlQ", "retweet_count": 2, "in_reply_to_screen_name": null, "quoted_status_id_str": "850566656506114049", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 850556731633668096, "in_reply_to_user_id_str": "177565966", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "mayameme", "id_str": "177565966", "name": "Auntie Occident", "id": 177565966, "indices": [0, 9]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850556731633668096", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850555483664650240, "created_at": "Sat Apr 08 03:51:42 +0000 2017", "in_reply_to_user_id": 177565966, "geo": null, "text": "@mayameme nice plan! Let us know how it goes!", "retweet_count": 0, "in_reply_to_screen_name": "mayameme", "in_reply_to_status_id_str": "850555483664650240", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 850553743972106240, "in_reply_to_user_id_str": "177565966", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "mayameme", "id_str": "177565966", "name": "Auntie Occident", "id": 177565966, "indices": [0, 9]}, {"screen_name": "TtW_conf", "id_str": "216140356", "name": "Theorizing the Web", "id": 216140356, "indices": [10, 19]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850553743972106240", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850551194984620033, "created_at": "Sat Apr 08 03:39:49 +0000 2017", "in_reply_to_user_id": 177565966, "geo": null, "text": "@mayameme @TtW_conf what's your octodon account?", "retweet_count": 0, "in_reply_to_screen_name": "mayameme", "in_reply_to_status_id_str": "850551194984620033", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 6, "truncated": false, "id": 850523147501801474, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [116, 139], "display_url": "arstechnica.com/tech-policy/20\u2026", "expanded_url": "https://arstechnica.com/tech-policy/2017/04/uber-said-to-use-sophisticated-software-to-defraud-drivers-passengers/", "url": "https://t.co/OcgWqbGhpD"}], "symbols": []}, "id_str": "850523147501801474", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sat Apr 08 01:38:14 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Ooof. Class action lawsuit alleges Uber charged riders for imaginary long routes but paid drivers for actual routes https://t.co/OcgWqbGhpD", "retweet_count": 6, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 9, "truncated": false, "id": 850497523684958212, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 324508782, "url": "http://t.co/KbI6C37hzv", "id_str": "324508782", "favourites_count": 2468, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "betsylevypaluck.com", "expanded_url": "http://www.betsylevypaluck.com", "url": "http://t.co/KbI6C37hzv"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/2543825930/i0fx3iphkav2smcsltvx_normal.jpeg", "profile_link_color": "3B94D9", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme9/bg.gif", "listed_count": 128, "screen_name": "betsylevyp", "profile_use_background_image": false, "followers_count": 2707, "statuses_count": 4188, "profile_background_color": "000000", "friends_count": 777, "created_at": "Sun Jun 26 19:03:41 +0000 2011", "location": "princeton nj", "is_translator": false, "verified": false, "profile_sidebar_border_color": "000000", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme9/bg.gif", "has_extended_profile": false, "protected": false, "description": "prof of psychology and public policy at princeton", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/2543825930/i0fx3iphkav2smcsltvx_normal.jpeg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/324508782/1415204764", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": false, "profile_sidebar_fill_color": "000000", "name": "Betsy Levy Paluck", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [117, 140], "display_url": "sites.google.com/site/melissajw\u2026", "expanded_url": "https://sites.google.com/site/melissajwms/postdoc2017", "url": "https://t.co/itkaql91Nj"}], "symbols": []}, "id_str": "850497523684958212", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 23:56:25 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "a wonderful postdoc opportunity in organizational behavior to work with my friend and collaborator Melissa Williams! https://t.co/itkaql91Nj", "retweet_count": 10, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 850498617144225792, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "betsylevyp", "id_str": "324508782", "name": "Betsy Levy Paluck", "id": 324508782, "indices": [3, 14]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850498617144225792", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sat Apr 08 00:00:46 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @betsylevyp: a wonderful postdoc opportunity in organizational behavior to work with my friend and collaborator Melissa Williams! https:\u2026", "retweet_count": 10, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 850481720021352448, "in_reply_to_user_id_str": "14392797", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "andresmh", "id_str": "14392797", "name": "Andr\u00e9s Monroy", "id": 14392797, "indices": [0, 9]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850481720021352448", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850480973191852032, "created_at": "Fri Apr 07 22:53:37 +0000 2017", "in_reply_to_user_id": 14392797, "geo": null, "text": "@andresmh that was everyone's first response. Yes, with backups :-)", "retweet_count": 0, "in_reply_to_screen_name": "andresmh", "in_reply_to_status_id_str": "850480973191852032", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 850458504053878784, "in_reply_to_user_id_str": "5721202", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "erhardt", "id_str": "5721202", "name": "Erhardt Graeff", "id": 5721202, "indices": [0, 8]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850458504053878784", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850458215615782913, "created_at": "Fri Apr 07 21:21:22 +0000 2017", "in_reply_to_user_id": 5721202, "geo": null, "text": "@erhardt of course. And it all worked, fortunately :-)", "retweet_count": 0, "in_reply_to_screen_name": "erhardt", "in_reply_to_status_id_str": "850458215615782913", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 850458391277428736, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [86, 109], "display_url": "twitter.com/HelenMargetts/\u2026", "expanded_url": "https://twitter.com/HelenMargetts/status/850394789703016449", "url": "https://t.co/XBuHWROalS"}], "symbols": []}, "id_str": "850458391277428736", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 8, "truncated": true, "id": 850394789703016449, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 63859619, "url": "http://t.co/tqdisea6zk", "id_str": "63859619", "favourites_count": 230, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "oii.ox.ac.uk/people/?id=2", "expanded_url": "http://www.oii.ox.ac.uk/people/?id=2", "url": "http://t.co/tqdisea6zk"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/1514335914/twitter_photo_normal.jpg", "profile_link_color": "FA743E", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "listed_count": 199, "screen_name": "HelenMargetts", "profile_use_background_image": false, "followers_count": 3524, "statuses_count": 2040, "profile_background_color": "000000", "friends_count": 1136, "created_at": "Sat Aug 08 00:03:23 +0000 2009", "location": "University of Oxford", "is_translator": false, "verified": false, "profile_sidebar_border_color": "000000", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "has_extended_profile": false, "protected": false, "description": "Professor @UniofOxford Director @oiioxford - political scientist researching government, politics & the internet, see book Political Turbulence", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/1514335914/twitter_photo_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/63859619/1447516641", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": true, "profile_sidebar_fill_color": "000000", "name": "Helen Margetts", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [117, 140], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/850394789703016449", "url": "https://t.co/tNrXdGGD6S"}], "symbols": []}, "id_str": "850394789703016449", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 17:08:12 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 849913547010314240, "geo": null, "text": "'The gender pay gap reporting provisions are likely to do more for pay parity in five years than equal pay legislat\u2026 https://t.co/tNrXdGGD6S", "retweet_count": 1, "in_reply_to_screen_name": null, "quoted_status_id_str": "849913547010314240", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 21:20:55 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 850394789703016449, "geo": null, "text": "Let's hope? At the least, it's an exciting opportunity to put that theory to the test https://t.co/XBuHWROalS", "retweet_count": 0, "in_reply_to_screen_name": null, "quoted_status_id_str": "850394789703016449", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 850456130652430337, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "RedditScience", "id_str": "858896371", "name": "RedditScience", "id": 858896371, "indices": [9, 23]}], "hashtags": [], "urls": [{"indices": [120, 143], "display_url": "reddit.com/r/science/comm\u2026", "expanded_url": "https://www.reddit.com/r/science/comments/641h3y/science_discussion_series_the_importance_of/", "url": "https://t.co/zxZE9N54x8"}], "symbols": []}, "id_str": "850456130652430337", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 21:11:56 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Oh cool: @RedditScience is doing a live discussion w/ the public on sample size & what it means for science. Nice! https://t.co/zxZE9N54x8", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 6, "truncated": false, "id": 850454335293186048, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850454335293186048", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 21:04:48 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "TFW you are about to rename hundreds of important files using a conditional regular expression", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 850436914117304321, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [68, 91], "display_url": "twitter.com/AmeliaMN/statu\u2026", "expanded_url": "https://twitter.com/AmeliaMN/status/850436216545792001", "url": "https://t.co/eMaZAZzdPp"}], "symbols": []}, "id_str": "850436914117304321", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 2, "truncated": false, "id": 850436216545792001, "in_reply_to_user_id_str": null, "user": {"time_zone": "Mountain Time (US & Canada)", "notifications": false, "id": 19520842, "url": "http://t.co/6UotowCWjt", "id_str": "19520842", "favourites_count": 1888, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "science.smith.edu/~amcnamara", "expanded_url": "http://www.science.smith.edu/~amcnamara", "url": "http://t.co/6UotowCWjt"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/707607764344967168/TvVZobj-_normal.jpg", "profile_link_color": "ABB8C2", "lang": "en", "utc_offset": -21600, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme12/bg.gif", "listed_count": 237, "screen_name": "AmeliaMN", "profile_use_background_image": false, "followers_count": 3296, "statuses_count": 5800, "profile_background_color": "000000", "friends_count": 718, "created_at": "Mon Jan 26 04:49:51 +0000 2009", "location": "Northampton, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "000000", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme12/bg.gif", "has_extended_profile": true, "protected": false, "description": "PhD in statistics from @UCLA, statistics/data science faculty @SmithCollege, into data visualization and citizen science, obsessed with R.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/707607764344967168/TvVZobj-_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/19520842/1428784288", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": false, "profile_sidebar_fill_color": "000000", "name": "Amelia McNamara", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [60, 83], "display_url": "eventbrite.com/e/new-england-\u2026", "expanded_url": "https://www.eventbrite.com/e/new-england-machine-learning-hackathon-hacking-bias-in-ml-tickets-32951771636?aff=NEML", "url": "https://t.co/9AAPGla992"}], "symbols": []}, "id_str": "850436216545792001", "source": "TweetDeck", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 19:52:49 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "New England Machine Learning Hackathon: Hacking Bias in ML\n\nhttps://t.co/9AAPGla992", "retweet_count": 1, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 19:55:35 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 850436216545792001, "geo": null, "text": "Looks like a great event! Wish I could be join in, but dissertation https://t.co/eMaZAZzdPp", "retweet_count": 0, "in_reply_to_screen_name": null, "quoted_status_id_str": "850436216545792001", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": true, "id": 850429597174910982, "in_reply_to_user_id_str": "99173786", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "blahah404", "id_str": "99173786", "name": "\u24ea Rik Smith-Unna", "id": 99173786, "indices": [0, 10]}, {"screen_name": "Info_Activism", "id_str": "17018765", "name": "Tactical Tech", "id": 17018765, "indices": [11, 25]}], "hashtags": [], "urls": [{"indices": [117, 140], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/850429597174910982", "url": "https://t.co/jOFRcIbmRD"}], "symbols": []}, "id_str": "850429597174910982", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850425949418029056, "created_at": "Fri Apr 07 19:26:30 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": 99173786, "geo": null, "text": "@blahah404 @Info_Activism if you're curious about my take, here's our CSCW paper about gender discrimination on twi\u2026 https://t.co/jOFRcIbmRD", "retweet_count": 1, "in_reply_to_screen_name": "blahah404", "in_reply_to_status_id_str": "850425949418029056", "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 1683, "truncated": false, "id": 850419107128332288, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 472587261, "url": "https://t.co/v22BrldDuy", "id_str": "472587261", "favourites_count": 16063, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "clintsmithiii.com", "expanded_url": "http://www.clintsmithiii.com", "url": "https://t.co/v22BrldDuy"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/851141465476665348/jkFOQI10_normal.jpg", "profile_link_color": "2FC2EF", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme9/bg.gif", "listed_count": 1164, "screen_name": "ClintSmithIII", "profile_use_background_image": true, "followers_count": 74991, "statuses_count": 14842, "profile_background_color": "1A1B1F", "friends_count": 1349, "created_at": "Tue Jan 24 03:09:01 +0000 2012", "location": "DC/Boston", "is_translator": false, "verified": true, "profile_sidebar_border_color": "181A1E", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme9/bg.gif", "has_extended_profile": true, "protected": false, "description": "Writer. Teacher. PhD Candidate @Harvard studying incarceration, education, and inequality. Author of Counting Descent.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/851141465476665348/jkFOQI10_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/472587261/1405490588", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": true, "profile_sidebar_fill_color": "252429", "name": "Clint Smith", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850419107128332288", "source": "Twitter for iPhone", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 18:44:49 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "So I'm in Kentucky. I order a Lyft & when the driver pulls up I open the trunk & there's a huge Make America Great Again sign sitting there.", "retweet_count": 610, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 850427143486091265, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "ClintSmithIII", "id_str": "472587261", "name": "Clint Smith", "id": 472587261, "indices": [3, 17]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850427143486091265", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 19:16:45 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @ClintSmithIII: So I'm in Kentucky. I order a Lyft & when the driver pulls up I open the trunk & there's a huge Make America Great Again\u2026", "retweet_count": 610, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 850426330516774916, "in_reply_to_user_id_str": "99173786", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "blahah404", "id_str": "99173786", "name": "\u24ea Rik Smith-Unna", "id": 99173786, "indices": [0, 10]}, {"screen_name": "Info_Activism", "id_str": "17018765", "name": "Tactical Tech", "id": 17018765, "indices": [11, 25]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850426330516774916", "source": "Twitter Web Client", "lang": "und", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850425949418029056, "created_at": "Fri Apr 07 19:13:32 +0000 2017", "in_reply_to_user_id": 99173786, "geo": null, "text": "@blahah404 @Info_Activism yep", "retweet_count": 0, "in_reply_to_screen_name": "blahah404", "in_reply_to_status_id_str": "850425949418029056", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 850426071539490816, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "blahah404", "id_str": "99173786", "name": "\u24ea Rik Smith-Unna", "id": 99173786, "indices": [0, 10]}, {"screen_name": "Info_Activism", "id_str": "17018765", "name": "Tactical Tech", "id": 17018765, "indices": [11, 25]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850426071539490816", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850425930933784576, "created_at": "Fri Apr 07 19:12:30 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "@blahah404 @Info_Activism also, loopy simulations aren't very precise", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "850425930933784576", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 850425930933784576, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "blahah404", "id_str": "99173786", "name": "\u24ea Rik Smith-Unna", "id": 99173786, "indices": [0, 10]}, {"screen_name": "Info_Activism", "id_str": "17018765", "name": "Tactical Tech", "id": 17018765, "indices": [11, 25]}], "hashtags": [], "urls": [{"indices": [73, 96], "display_url": "civic.mit.edu/blog/natematia\u2026", "expanded_url": "https://civic.mit.edu/blog/natematias/fighting-racial-bias-with-big-science-calvin-lai-on-mass-cooperation-and-open", "url": "https://t.co/k280UTxo5f"}], "symbols": []}, "id_str": "850425930933784576", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850425615664730113, "created_at": "Fri Apr 07 19:11:56 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": 52332354, "geo": null, "text": "@blahah404 @Info_Activism See also Lai's work on implicit bias reduction https://t.co/k280UTxo5f", "retweet_count": 1, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "850425615664730113", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 850425615664730113, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "blahah404", "id_str": "99173786", "name": "\u24ea Rik Smith-Unna", "id": 99173786, "indices": [0, 10]}, {"screen_name": "Info_Activism", "id_str": "17018765", "name": "Tactical Tech", "id": 17018765, "indices": [11, 25]}], "hashtags": [], "urls": [{"indices": [64, 87], "display_url": "static1.squarespace.com/static/5186d08\u2026", "expanded_url": "https://static1.squarespace.com/static/5186d08fe4b065e39b45b91e/t/51e322a9e4b0031a73d97d1a/1373840041846/Commentary_Dixon+et+al_Paluck+Final.pdf", "url": "https://t.co/C0LIjPfgXW"}], "symbols": []}, "id_str": "850425615664730113", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850425539248754689, "created_at": "Fri Apr 07 19:10:41 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": 52332354, "geo": null, "text": "@blahah404 @Info_Activism See also this piece on social change: https://t.co/C0LIjPfgXW", "retweet_count": 1, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "850425539248754689", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": true, "id": 850425539248754689, "in_reply_to_user_id_str": "99173786", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "blahah404", "id_str": "99173786", "name": "\u24ea Rik Smith-Unna", "id": 99173786, "indices": [0, 10]}, {"screen_name": "Info_Activism", "id_str": "17018765", "name": "Tactical Tech", "id": 17018765, "indices": [11, 25]}], "hashtags": [], "urls": [{"indices": [117, 140], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/850425539248754689", "url": "https://t.co/6o4YVYgEIm"}], "symbols": []}, "id_str": "850425539248754689", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850421997880397824, "created_at": "Fri Apr 07 19:10:23 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": 99173786, "geo": null, "text": "@blahah404 @Info_Activism In the talk, the anigif includes a hypothesis on social change. Simulations aren't empiri\u2026 https://t.co/6o4YVYgEIm", "retweet_count": 1, "in_reply_to_screen_name": "blahah404", "in_reply_to_status_id_str": "850421997880397824", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 3, "truncated": true, "id": 850413123475578880, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [117, 140], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/850413123475578880", "url": "https://t.co/2P2tgtPSmy"}], "symbols": []}, "id_str": "850413123475578880", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 0, "truncated": false, "id": 850412602287116290, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 3023635558, "url": "http://t.co/rZnXaGeQMH", "id_str": "3023635558", "favourites_count": 38, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "troll-busters.com", "expanded_url": "http://www.troll-busters.com", "url": "http://t.co/rZnXaGeQMH"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/624942945699901441/oCUqd5xY_normal.jpg", "profile_link_color": "1DA1F2", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "listed_count": 42, "screen_name": "yoursosteam", "profile_use_background_image": true, "followers_count": 466, "statuses_count": 2390, "profile_background_color": "C0DEED", "friends_count": 51, "created_at": "Sat Feb 07 18:19:55 +0000 2015", "location": "", "is_translator": false, "verified": false, "profile_sidebar_border_color": "C0DEED", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "has_extended_profile": false, "protected": false, "description": "Online Pest Control for Women Writers", "is_translation_enabled": false, "default_profile": true, "profile_image_url": "http://pbs.twimg.com/profile_images/624942945699901441/oCUqd5xY_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/3023635558/1441405506", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "DDEEF6", "name": "TrollBusters", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [{"indices": [115, 131], "text": "documentinghate"}], "urls": [{"indices": [91, 114], "display_url": "bit.ly/2ohibFp", "expanded_url": "http://bit.ly/2ohibFp", "url": "https://t.co/4nX5bEsJxD"}], "symbols": []}, "id_str": "850412602287116290", "source": "Hootsuite", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 18:18:58 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "NEWS ALERT: Disqus has promised to banish toxic reader comments from sites like Breitbart. https://t.co/4nX5bEsJxD #documentinghate", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 18:21:03 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 850412602287116290, "geo": null, "text": "Fascinating. Disqus has typically expected individual websites to moderate themselves. Now they're going to take mo\u2026 https://t.co/2P2tgtPSmy", "retweet_count": 2, "in_reply_to_screen_name": null, "quoted_status_id_str": "850412602287116290", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 850391861625856000, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850391861625856000", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850390036952625152, "created_at": "Fri Apr 07 16:56:33 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "It's still unknown this brand-new instance will evolve, but watching the sysop work on community policies convinced me to donate on Patreon", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "850390036952625152", "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 8, "truncated": false, "id": 850389878735065090, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 1051171, "url": "http://t.co/rZpNJ8L8AN", "id_str": "1051171", "favourites_count": 3474, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "ethanzuckerman.com/blog", "expanded_url": "http://ethanzuckerman.com/blog", "url": "http://t.co/rZpNJ8L8AN"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/659351758704136193/5jUqQnv0_normal.jpg", "profile_link_color": "0000FF", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/1811372/56285630_d2fe511ddf_b.jpg", "listed_count": 3104, "screen_name": "EthanZ", "profile_use_background_image": true, "followers_count": 46238, "statuses_count": 25524, "profile_background_color": "9AE4E8", "friends_count": 1676, "created_at": "Mon Mar 12 23:01:19 +0000 2007", "location": "Pittsfield, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "87BC44", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/1811372/56285630_d2fe511ddf_b.jpg", "has_extended_profile": false, "protected": false, "description": "Center for Civic Media, MIT Media Lab, Global Voices, Berkman Klein Center. Author of \"Rewire\". RT \u2260 endorsement, RT = interesting read. #MakeAmericaKindAgain", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/659351758704136193/5jUqQnv0_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/1051171/1401413498", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": true, "profile_sidebar_fill_color": "E0FF92", "name": "Ethan Zuckerman", "default_profile_image": false, "profile_background_tile": true, "translator_type": "none", "following": true}, "entities": {"user_mentions": [{"screen_name": "globalvoices", "id_str": "794808", "name": "Global Voices", "id": 794808, "indices": [60, 73]}], "hashtags": [{"indices": [19, 33], "text": "IStandWithCEU"}], "urls": [{"indices": [75, 98], "display_url": "globalvoices.org/2017/04/04/hun\u2026", "expanded_url": "https://globalvoices.org/2017/04/04/hungary-fast-tracks-legislation-to-boot-out-central-european-university/", "url": "https://t.co/HOC4p7W2AE"}], "symbols": []}, "id_str": "850389878735065090", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 16:48:41 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "An overview of the #IStandWithCEU protests in Budapest from @globalvoices: https://t.co/HOC4p7W2AE", "retweet_count": 11, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 850390139452960768, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "EthanZ", "id_str": "1051171", "name": "Ethan Zuckerman", "id": 1051171, "indices": [3, 10]}, {"screen_name": "globalvoices", "id_str": "794808", "name": "Global Voices", "id": 794808, "indices": [72, 85]}], "hashtags": [{"indices": [31, 45], "text": "IStandWithCEU"}], "urls": [{"indices": [87, 110], "display_url": "globalvoices.org/2017/04/04/hun\u2026", "expanded_url": "https://globalvoices.org/2017/04/04/hungary-fast-tracks-legislation-to-boot-out-central-european-university/", "url": "https://t.co/HOC4p7W2AE"}], "symbols": []}, "id_str": "850390139452960768", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 16:49:43 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @EthanZ: An overview of the #IStandWithCEU protests in Budapest from @globalvoices: https://t.co/HOC4p7W2AE", "retweet_count": 11, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 2, "truncated": false, "id": 850390036952625152, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [114, 137], "display_url": "octodon.social/about/more", "expanded_url": "https://octodon.social/about/more", "url": "https://t.co/Fa6L3i9Vuq"}], "symbols": []}, "id_str": "850390036952625152", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850074766136487936, "created_at": "Fri Apr 07 16:49:18 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": 52332354, "geo": null, "text": "the mastodon instance I'm on now has guidelines for when to use \"CW\" (which hides the text unless someone clicks) https://t.co/Fa6L3i9Vuq", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "850074766136487936", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 850383422082228224, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850383422082228224", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 16:23:01 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "*So many* great questions & food for thought today at the Data Privacy Lab. Just the pick-me-up I needed to go and finish the dissertation", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 235, "truncated": false, "id": 850358909806227456, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 633, "url": "http://t.co/4ST5UQLw6b", "id_str": "633", "favourites_count": 47, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "danah.org", "expanded_url": "http://www.danah.org/", "url": "http://t.co/4ST5UQLw6b"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/2613209217/7in0v6wan5bq1rjbhdoz_normal.jpeg", "profile_link_color": "009999", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/484360446112047105/OQu9vplt.jpeg", "listed_count": 8863, "screen_name": "zephoria", "profile_use_background_image": true, "followers_count": 124368, "statuses_count": 5343, "profile_background_color": "131516", "friends_count": 1231, "created_at": "Thu Jul 13 21:27:23 +0000 2006", "location": "New York, NY", "is_translator": false, "verified": true, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/484360446112047105/OQu9vplt.jpeg", "has_extended_profile": false, "protected": false, "description": "social media scholar, youth researcher & advocate | Microsoft Research, Data & Society, NYU | zephoria@zephoria.org", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/2613209217/7in0v6wan5bq1rjbhdoz_normal.jpeg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/633/1404311276", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "EFEFEF", "name": "danah boyd", "default_profile_image": false, "profile_background_tile": true, "translator_type": "none", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850358909806227456", "source": "Twitter for iPhone", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 14:45:37 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "Regulating Facebook to \"fix\" misinformation is like \"fixing\" our economy by bringing back manufacturing. Nostalgic solutionism is sci-fi.", "retweet_count": 157, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 850382874251603968, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "zephoria", "id_str": "633", "name": "danah boyd", "id": 633, "indices": [3, 12]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850382874251603968", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 16:20:51 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @zephoria: Regulating Facebook to \"fix\" misinformation is like \"fixing\" our economy by bringing back manufacturing. Nostalgic solutionis\u2026", "retweet_count": 157, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 109, "truncated": false, "id": 850163338852126720, "in_reply_to_user_id_str": null, "user": {"time_zone": "Atlantic Time (Canada)", "notifications": false, "id": 415786964, "url": "http://t.co/rp09vbeaT3", "id_str": "415786964", "favourites_count": 19396, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "RevEverett.com", "expanded_url": "http://RevEverett.com", "url": "http://t.co/rp09vbeaT3"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/839504370056085504/wWkWsDgA_normal.jpg", "profile_link_color": "ABB8C2", "lang": "en", "utc_offset": -10800, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme6/bg.gif", "listed_count": 207, "screen_name": "RevEverett", "profile_use_background_image": false, "followers_count": 4252, "statuses_count": 25955, "profile_background_color": "000000", "friends_count": 3205, "created_at": "Fri Nov 18 20:26:26 +0000 2011", "location": "Boston, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "000000", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme6/bg.gif", "has_extended_profile": false, "protected": false, "description": "Let's all get free. Unabashed urbanist, bicycle evangelist. #HolySpokes book w/ @eerdmansbooks out in April. ED of @MassChurches. My opinions/RTs are apocryphal", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/839504370056085504/wWkWsDgA_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/415786964/1484111299", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": true, "profile_sidebar_fill_color": "000000", "name": "Laura Everett", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [{"indices": [25, 31], "text": "Syria"}], "urls": [], "symbols": []}, "id_str": "850163338852126720", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": {"contained_within": [], "attributes": {}, "full_name": "Syria", "name": "Syria", "id": "f773199c979358a5", "url": "https://api.twitter.com/1.1/geo/id/f773199c979358a5.json", "place_type": "country", "country_code": "SY", "country": "Syria", "bounding_box": {"type": "Polygon", "coordinates": [[[35.5868988, 32.3094341], [42.3753815, 32.3094341], [42.3753815, 37.3186098], [35.5868988, 37.3186098]]]}}, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 01:48:29 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "As missiles rain down in #Syria, we send up prayers:\nfor justice, for an end to war, for a peace we can scarcely imagine. \nAttend, O God.", "retweet_count": 71, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 850175208988311552, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "RevEverett", "id_str": "415786964", "name": "Laura Everett", "id": 415786964, "indices": [3, 14]}], "hashtags": [{"indices": [41, 47], "text": "Syria"}], "urls": [], "symbols": []}, "id_str": "850175208988311552", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 02:35:39 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @RevEverett: As missiles rain down in #Syria, we send up prayers:\nfor justice, for an end to war, for a peace we can scarcely imagine.\u2026", "retweet_count": 71, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 850174527413813248, "in_reply_to_user_id_str": "1409161", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "damiengwalter", "id_str": "1409161", "name": "Damien Walter", "id": 1409161, "indices": [0, 14]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850174527413813248", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850173229687857152, "created_at": "Fri Apr 07 02:32:57 +0000 2017", "in_reply_to_user_id": 1409161, "geo": null, "text": "@damiengwalter what's your username?", "retweet_count": 0, "in_reply_to_screen_name": "damiengwalter", "in_reply_to_status_id_str": "850173229687857152", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 10, "truncated": false, "id": 850173357882568705, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "ncasenmare", "id_str": "40631172", "name": "Nicky Case", "id": 40631172, "indices": [99, 110]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850173357882568705", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850173218057048064, "created_at": "Fri Apr 07 02:28:18 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "I made the animation in 5 minutes with Loopy, a gorgeous system for illustrating feedback loops by @ncasenmare", "retweet_count": 1, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "850173218057048064", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 158, "truncated": true, "id": 850173218057048064, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [108, 131], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/850173218057048064", "url": "https://t.co/wM1C3MpawU"}], "symbols": []}, "id_str": "850173218057048064", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 02:27:45 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Algorithmic discrimination illustrated. Animated gif from my talk tomorrow at the Harvard Data Privacy lab\u2026 https://t.co/wM1C3MpawU", "retweet_count": 104, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 850144786577272833, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "medialab", "id_str": "13982132", "name": "MIT Media Lab", "id": 13982132, "indices": [42, 51]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850144786577272833", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 00:34:46 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "Enjoyed many great discussions at my last @medialab member's event while still a student. So much inspiration to be found in the serendipity", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": true, "id": 850142343592333312, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [121, 144], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/850142343592333312", "url": "https://t.co/s5ylst0ZI9"}], "symbols": []}, "id_str": "850142343592333312", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 62, "truncated": false, "id": 850138991844184064, "in_reply_to_user_id_str": null, "user": {"time_zone": "Pacific Time (US & Canada)", "notifications": false, "id": 151774839, "url": "http://t.co/SSCm50uJNc", "id_str": "151774839", "favourites_count": 2132, "entities": {"description": {"urls": [{"indices": [60, 82], "display_url": "bit.ly/1zW7FNT", "expanded_url": "http://bit.ly/1zW7FNT", "url": "http://t.co/s14HKRm3H7"}, {"indices": [97, 119], "display_url": "bit.ly/1EWiQ0u", "expanded_url": "http://bit.ly/1EWiQ0u", "url": "http://t.co/Ws1885Hd1l"}, {"indices": [120, 142], "display_url": "keybase.io/spg", "expanded_url": "http://keybase.io/spg", "url": "http://t.co/lXPeH5NHBh"}]}, "url": {"urls": [{"indices": [0, 22], "display_url": "suegardner.org", "expanded_url": "http://suegardner.org", "url": "http://t.co/SSCm50uJNc"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/845088524973977600/ifoGN2Zn_normal.jpg", "profile_link_color": "0084B4", "lang": "en", "utc_offset": -25200, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme16/bg.gif", "listed_count": 311, "screen_name": "SuePGardner", "profile_use_background_image": true, "followers_count": 5449, "statuses_count": 4761, "profile_background_color": "9AE4E8", "friends_count": 1344, "created_at": "Fri Jun 04 06:17:11 +0000 2010", "location": "San Francisco, CA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "BDDCAD", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme16/bg.gif", "has_extended_profile": true, "protected": false, "description": "Internet do-gooder; many affiliations. Why women leave tech http://t.co/s14HKRm3H7 + 101 studies http://t.co/Ws1885Hd1l http://t.co/lXPeH5NHBh", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/845088524973977600/ifoGN2Zn_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/151774839/1480083846", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "DDFFCC", "name": "Sue Gardner", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [99, 122], "display_url": "scotusblog.com/2017/04/legal-\u2026", "expanded_url": "http://www.scotusblog.com/2017/04/legal-scholarship-highlight-justice-interrupted-gender-ideology-seniority-supreme-court/", "url": "https://t.co/869PBJDmfS"}], "symbols": []}, "id_str": "850138991844184064", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 00:11:45 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "This piece is really incredible. The more women you add to the bench, the more men interrupt them. https://t.co/869PBJDmfS", "retweet_count": 76, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 00:25:04 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 850138991844184064, "geo": null, "text": "A good pairing for this fascinating study wld be Karpowitz & Mandelberg's experiments on gender and meeting dynamic\u2026 https://t.co/s5ylst0ZI9", "retweet_count": 0, "in_reply_to_screen_name": null, "quoted_status_id_str": "850138991844184064", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 3, "truncated": false, "id": 850096370140708864, "in_reply_to_user_id_str": "1175221", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "digiphile", "id_str": "1175221", "name": "Alex Howard", "id": 1175221, "indices": [0, 10]}, {"screen_name": "jsb", "id_str": "815096", "name": "John S. Bracken", "id": 815096, "indices": [11, 15]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850096370140708864", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850095720078114816, "created_at": "Thu Apr 06 21:22:23 +0000 2017", "in_reply_to_user_id": 1175221, "geo": null, "text": "@digiphile @jsb .oO(imagining a twitter bot that spams people with every line in my dissertation, sent roughly once per minute)", "retweet_count": 0, "in_reply_to_screen_name": "digiphile", "in_reply_to_status_id_str": "850095720078114816", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 850095313138454531, "in_reply_to_user_id_str": "815096", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "jsb", "id_str": "815096", "name": "John S. Bracken", "id": 815096, "indices": [0, 4]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850095313138454531", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850081900488216576, "created_at": "Thu Apr 06 21:18:11 +0000 2017", "in_reply_to_user_id": 815096, "geo": null, "text": "@jsb alas! Will send a note your way after I submit the diss.", "retweet_count": 0, "in_reply_to_screen_name": "jsb", "in_reply_to_status_id_str": "850081900488216576", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 7, "truncated": true, "id": 850078989792288769, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [117, 140], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/850078989792288769", "url": "https://t.co/gy1CSahALB"}], "symbols": []}, "id_str": "850078989792288769", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 2, "truncated": false, "id": 850075323911876609, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "Central Time (US & Canada)", "notifications": false, "id": 1290351, "url": "https://t.co/N5xeaR1SvJ", "id_str": "1290351", "favourites_count": 5128, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "nancybaym.com", "expanded_url": "http://www.nancybaym.com", "url": "https://t.co/N5xeaR1SvJ"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/852944042912382977/JXd3XleR_normal.jpg", "profile_link_color": "3B94D9", "lang": "en", "utc_offset": -18000, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/2321268/twitterbackground.jpg", "listed_count": 527, "screen_name": "nancybaym", "profile_use_background_image": true, "followers_count": 7477, "statuses_count": 44215, "profile_background_color": "D3CFF0", "friends_count": 724, "created_at": "Fri Mar 16 14:39:19 +0000 2007", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "8ED238", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/2321268/twitterbackground.jpg", "has_extended_profile": false, "protected": false, "description": "Researcher at Microsoft. Wrote Personal Connections in the Digital Age. Forthcoming book on musician/audience relationships. May rant political.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/852944042912382977/JXd3XleR_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/1290351/1377531299", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": false, "profile_sidebar_fill_color": "C8D5A7", "name": "Nancy Baym", "default_profile_image": false, "profile_background_tile": true, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "natematias", "id_str": "52332354", "name": "J. Nathan Matias", "id": 52332354, "indices": [0, 11]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850075323911876609", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850074766136487936, "created_at": "Thu Apr 06 19:58:45 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "@natematias Is being a mastadonian going to turn out to be too much work?", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "850074766136487936", "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Thu Apr 06 20:13:19 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 850075323911876609, "geo": null, "text": "I think there are two kinds of work:\n1) the labor of being on any social platform\n2) the civic labor of shaping gov\u2026 https://t.co/gy1CSahALB", "retweet_count": 0, "in_reply_to_screen_name": null, "quoted_status_id_str": "850075323911876609", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 3, "truncated": false, "id": 850074766136487936, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850074766136487936", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849766280181755904, "created_at": "Thu Apr 06 19:56:32 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "Now I'm watching a mastodon instance discuss de-affiliating from an instance that they consider a source of spam/trolling", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "849766280181755904", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 850062742883094528, "in_reply_to_user_id_str": "815096", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "jsb", "id_str": "815096", "name": "John S. Bracken", "id": 815096, "indices": [0, 4]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850062742883094528", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Thu Apr 06 19:08:45 +0000 2017", "in_reply_to_user_id": 815096, "geo": null, "text": "@jsb how can I find you?", "retweet_count": 0, "in_reply_to_screen_name": "jsb", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 2, "truncated": false, "id": 850043161766498304, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "RedditScience", "id_str": "858896371", "name": "RedditScience", "id": 858896371, "indices": [22, 36]}], "hashtags": [], "urls": [{"indices": [115, 138], "display_url": "ctan.org/tex-archive/ma\u2026", "expanded_url": "https://www.ctan.org/tex-archive/macros/latex/contrib/flipbook?lang=en", "url": "https://t.co/C5vfWMAPJQ"}], "symbols": []}, "id_str": "850043161766498304", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849994559417458688, "created_at": "Thu Apr 06 17:50:57 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": 52332354, "geo": null, "text": "Now the good folks at @RedditScience have pointed me to a library that adds flipbook animations to LaTeX documents https://t.co/C5vfWMAPJQ", "retweet_count": 1, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "849994559417458688", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 2, "truncated": false, "id": 850032128754692098, "in_reply_to_user_id_str": "14848946", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "katemiltner", "id_str": "14848946", "name": "Kate Miltner", "id": 14848946, "indices": [0, 12]}, {"screen_name": "aschrock", "id_str": "14860076", "name": "Andrew R. Schrock", "id": 14860076, "indices": [13, 22]}, {"screen_name": "Nsousanis", "id_str": "427354566", "name": "Nick Sousanis", "id": 427354566, "indices": [26, 36]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850032128754692098", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850030132211269632, "created_at": "Thu Apr 06 17:07:06 +0000 2017", "in_reply_to_user_id": 14848946, "geo": null, "text": "@katemiltner @aschrock if @Nsousanis could create a graphic novel for his PhD, we can dream, rite?", "retweet_count": 0, "in_reply_to_screen_name": "katemiltner", "in_reply_to_status_id_str": "850030132211269632", "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 32, "truncated": true, "id": 847432685614006273, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 355686812, "url": "https://t.co/OXFKvSircK", "id_str": "355686812", "favourites_count": 20398, "entities": {"description": {"urls": [{"indices": [100, 123], "display_url": "instagram.com/bostonattitude", "expanded_url": "http://instagram.com/bostonattitude", "url": "https://t.co/wd1vbJjVH7"}]}, "url": {"urls": [{"indices": [0, 23], "display_url": "thebostonattitude.com", "expanded_url": "http://www.thebostonattitude.com", "url": "https://t.co/OXFKvSircK"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/839851810517024769/F2OBip6t_normal.jpg", "profile_link_color": "556677", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/717170405581197312/Em2HPXhQ.png", "listed_count": 427, "screen_name": "BostonAttitude", "profile_use_background_image": true, "followers_count": 22693, "statuses_count": 29446, "profile_background_color": "131516", "friends_count": 4635, "created_at": "Mon Aug 15 18:52:44 +0000 2011", "location": "Boston, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/717170405581197312/Em2HPXhQ.png", "has_extended_profile": false, "protected": false, "description": "Telling my story in Boston through social media posts of the happenings around the city. Instagram: https://t.co/wd1vbJjVH7 Posts by: John Romard.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/839851810517024769/F2OBip6t_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/355686812/1486436972", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "EFEFEF", "name": "Boston Attitude", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "bostonmarathon", "id_str": "111037335", "name": "Boston Marathon", "id": 111037335, "indices": [61, 76]}], "hashtags": [], "urls": [{"indices": [117, 140], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/847432685614006273", "url": "https://t.co/VeqAq5yRlN"}], "symbols": []}, "id_str": "847432685614006273", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": {"contained_within": [], "attributes": {}, "full_name": "Boston, MA", "name": "Boston", "id": "67b98f17fdcf20be", "url": "https://api.twitter.com/1.1/geo/id/67b98f17fdcf20be.json", "place_type": "city", "country_code": "US", "country": "United States", "bounding_box": {"type": "Polygon", "coordinates": [[[-71.191421, 42.227797], [-70.986004, 42.227797], [-70.986004, 42.399542], [-71.191421, 42.399542]]]}}, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Thu Mar 30 12:57:51 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "This year, there will be 30,000 official participants in the @BostonMarathon, including 6,200+ runners traveling fr\u2026 https://t.co/VeqAq5yRlN", "retweet_count": 19, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 850021338307756032, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "BostonAttitude", "id_str": "355686812", "name": "Boston Attitude", "id": 355686812, "indices": [3, 18]}, {"screen_name": "bostonmarathon", "id_str": "111037335", "name": "Boston Marathon", "id": 111037335, "indices": [81, 96]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850021338307756032", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Thu Apr 06 16:24:14 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @BostonAttitude: This year, there will be 30,000 official participants in the @BostonMarathon, including 6,200+ runners traveling from 9\u2026", "retweet_count": 19, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 4, "truncated": false, "id": 850020895552884737, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [114, 137], "display_url": "twitter.com/johnmyleswhite\u2026", "expanded_url": "https://twitter.com/johnmyleswhite/status/849977417791819778", "url": "https://t.co/jMsipcnfRQ"}], "symbols": []}, "id_str": "850020895552884737", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 101, "truncated": false, "id": 849977417791819778, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 15379361, "url": "http://t.co/5IYWkW9dbW", "id_str": "15379361", "favourites_count": 5596, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "johnmyleswhite.com", "expanded_url": "http://www.johnmyleswhite.com", "url": "http://t.co/5IYWkW9dbW"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/847101416107720705/TqP7iVpy_normal.jpg", "profile_link_color": "1DA1F2", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "listed_count": 1039, "screen_name": "johnmyleswhite", "profile_use_background_image": true, "followers_count": 18906, "statuses_count": 19568, "profile_background_color": "C0DEED", "friends_count": 30, "created_at": "Thu Jul 10 16:10:19 +0000 2008", "location": "San Francisco, CA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "C0DEED", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "has_extended_profile": true, "protected": false, "description": "Research scientist at Facebook working on statistical computing. Julia developer. Tweets reflect my views only.", "is_translation_enabled": false, "default_profile": true, "profile_image_url": "http://pbs.twimg.com/profile_images/847101416107720705/TqP7iVpy_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/15379361/1483023755", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "DDEEF6", "name": "John Myles White", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [111, 134], "display_url": "rss.org.uk/Images/PDF/pub\u2026", "expanded_url": "http://www.rss.org.uk/Images/PDF/publications/2017/Gelman-Hennig-April-17.pdf", "url": "https://t.co/eChDD8Yvac"}], "symbols": []}, "id_str": "849977417791819778", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Thu Apr 06 13:29:42 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "This recent essay by Gelman and Hennig is a remarkably good description of what healthy statistics looks like: https://t.co/eChDD8Yvac", "retweet_count": 34, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Thu Apr 06 16:22:28 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 849977417791819778, "geo": null, "text": "\"We argue that the words \u2018objective\u2019 and \u2018subjective\u2019 in statistics discourse are used in a mostly unhelpful way\" https://t.co/jMsipcnfRQ", "retweet_count": 2, "in_reply_to_screen_name": null, "quoted_status_id_str": "849977417791819778", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 24, "truncated": false, "id": 849977929694150658, "in_reply_to_user_id_str": null, "user": {"time_zone": "Amsterdam", "notifications": false, "id": 916801304, "url": "https://t.co/VERHZZxdXM", "id_str": "916801304", "favourites_count": 284, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "vgresearcher.wordpress.com", "expanded_url": "https://vgresearcher.wordpress.com/", "url": "https://t.co/VERHZZxdXM"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/456520027445792768/jChqIFrK_normal.png", "profile_link_color": "307D7E", "lang": "en", "utc_offset": 7200, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme2/bg.gif", "listed_count": 41, "screen_name": "WY_Tang", "profile_use_background_image": false, "followers_count": 394, "statuses_count": 1578, "profile_background_color": "000000", "friends_count": 159, "created_at": "Wed Oct 31 12:40:06 +0000 2012", "location": "", "is_translator": false, "verified": false, "profile_sidebar_border_color": "000000", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme2/bg.gif", "has_extended_profile": false, "protected": false, "description": "Communication Ph.D. All things about #videogames research. Specializes in sexual harassment in online gaming. @ifkms postdoc", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/456520027445792768/jChqIFrK_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/916801304/1488034540", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": false, "profile_sidebar_fill_color": "000000", "name": "Wai Yen Tang", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "CommFox", "id_str": "328712209", "name": "Jesse Fox", "id": 328712209, "indices": [28, 36]}], "hashtags": [{"indices": [0, 13], "text": "multiplayer2"}, {"indices": [62, 69], "text": "sexism"}, {"indices": [70, 81], "text": "videogames"}], "media": [{"indices": [82, 105], "type": "photo", "media_url": "http://pbs.twimg.com/media/C8u6YEwXsAAXEQT.jpg", "id": 849977877445718016, "media_url_https": "https://pbs.twimg.com/media/C8u6YEwXsAAXEQT.jpg", "id_str": "849977877445718016", "url": "https://t.co/MtCzAe9CAE", "display_url": "pic.twitter.com/MtCzAe9CAE", "sizes": {"small": {"h": 680, "w": 442, "resize": "fit"}, "medium": {"h": 1200, "w": 780, "resize": "fit"}, "large": {"h": 2048, "w": 1332, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}}, "expanded_url": "https://twitter.com/WY_Tang/status/849977929694150658/photo/1"}], "urls": [], "symbols": []}, "id_str": "849977929694150658", "source": "Twitter for Android", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "extended_entities": {"media": [{"indices": [82, 105], "type": "photo", "media_url": "http://pbs.twimg.com/media/C8u6YEwXsAAXEQT.jpg", "id": 849977877445718016, "media_url_https": "https://pbs.twimg.com/media/C8u6YEwXsAAXEQT.jpg", "id_str": "849977877445718016", "url": "https://t.co/MtCzAe9CAE", "display_url": "pic.twitter.com/MtCzAe9CAE", "sizes": {"small": {"h": 680, "w": 442, "resize": "fit"}, "medium": {"h": 1200, "w": 780, "resize": "fit"}, "large": {"h": 2048, "w": 1332, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}}, "expanded_url": "https://twitter.com/WY_Tang/status/849977929694150658/photo/1"}, {"indices": [82, 105], "type": "photo", "media_url": "http://pbs.twimg.com/media/C8u6ZqdW0AAlkqB.jpg", "id": 849977904746385408, "media_url_https": "https://pbs.twimg.com/media/C8u6ZqdW0AAlkqB.jpg", "id_str": "849977904746385408", "url": "https://t.co/MtCzAe9CAE", "display_url": "pic.twitter.com/MtCzAe9CAE", "sizes": {"thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 1200, "w": 1199, "resize": "fit"}, "large": {"h": 1441, "w": 1440, "resize": "fit"}, "small": {"h": 680, "w": 680, "resize": "fit"}}, "expanded_url": "https://twitter.com/WY_Tang/status/849977929694150658/photo/1"}]}, "created_at": "Thu Apr 06 13:31:44 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "#multiplayer2 is published, @CommFox & I wrote chapter on #sexism #videogames https://t.co/MtCzAe9CAE", "retweet_count": 9, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 850020670218149891, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "WY_Tang", "id_str": "916801304", "name": "Wai Yen Tang", "id": 916801304, "indices": [3, 11]}, {"screen_name": "CommFox", "id_str": "328712209", "name": "Jesse Fox", "id": 328712209, "indices": [41, 49]}], "hashtags": [{"indices": [13, 26], "text": "multiplayer2"}, {"indices": [75, 82], "text": "sexism"}, {"indices": [83, 94], "text": "videogames"}], "media": [{"indices": [95, 118], "source_status_id_str": "849977929694150658", "type": "photo", "media_url": "http://pbs.twimg.com/media/C8u6YEwXsAAXEQT.jpg", "id": 849977877445718016, "url": "https://t.co/MtCzAe9CAE", "source_user_id": 916801304, "id_str": "849977877445718016", "sizes": {"small": {"h": 680, "w": 442, "resize": "fit"}, "medium": {"h": 1200, "w": 780, "resize": "fit"}, "large": {"h": 2048, "w": 1332, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}}, "expanded_url": "https://twitter.com/WY_Tang/status/849977929694150658/photo/1", "media_url_https": "https://pbs.twimg.com/media/C8u6YEwXsAAXEQT.jpg", "source_status_id": 849977929694150658, "source_user_id_str": "916801304", "display_url": "pic.twitter.com/MtCzAe9CAE"}], "urls": [], "symbols": []}, "id_str": "850020670218149891", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "extended_entities": {"media": [{"indices": [95, 118], "source_status_id_str": "849977929694150658", "type": "photo", "media_url": "http://pbs.twimg.com/media/C8u6YEwXsAAXEQT.jpg", "id": 849977877445718016, "url": "https://t.co/MtCzAe9CAE", "source_user_id": 916801304, "id_str": "849977877445718016", "sizes": {"small": {"h": 680, "w": 442, "resize": "fit"}, "medium": {"h": 1200, "w": 780, "resize": "fit"}, "large": {"h": 2048, "w": 1332, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}}, "expanded_url": "https://twitter.com/WY_Tang/status/849977929694150658/photo/1", "media_url_https": "https://pbs.twimg.com/media/C8u6YEwXsAAXEQT.jpg", "source_status_id": 849977929694150658, "source_user_id_str": "916801304", "display_url": "pic.twitter.com/MtCzAe9CAE"}, {"indices": [95, 118], "source_status_id_str": "849977929694150658", "type": "photo", "media_url": "http://pbs.twimg.com/media/C8u6ZqdW0AAlkqB.jpg", "id": 849977904746385408, "url": "https://t.co/MtCzAe9CAE", "source_user_id": 916801304, "id_str": "849977904746385408", "sizes": {"thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 1200, "w": 1199, "resize": "fit"}, "large": {"h": 1441, "w": 1440, "resize": "fit"}, "small": {"h": 680, "w": 680, "resize": "fit"}}, "expanded_url": "https://twitter.com/WY_Tang/status/849977929694150658/photo/1", "media_url_https": "https://pbs.twimg.com/media/C8u6ZqdW0AAlkqB.jpg", "source_status_id": 849977929694150658, "source_user_id_str": "916801304", "display_url": "pic.twitter.com/MtCzAe9CAE"}]}, "created_at": "Thu Apr 06 16:21:35 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @WY_Tang: #multiplayer2 is published, @CommFox & I wrote chapter on #sexism #videogames https://t.co/MtCzAe9CAE", "retweet_count": 9, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 850016862800838657, "in_reply_to_user_id_str": "93476253", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "dfreelon", "id_str": "93476253", "name": "Deen Freelon", "id": 93476253, "indices": [0, 9]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850016862800838657", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850015734021443584, "created_at": "Thu Apr 06 16:06:27 +0000 2017", "in_reply_to_user_id": 93476253, "geo": null, "text": "@dfreelon CONGRATS!", "retweet_count": 0, "in_reply_to_screen_name": "dfreelon", "in_reply_to_status_id_str": "850015734021443584", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": true, "id": 850016719842271233, "in_reply_to_user_id_str": "72842277", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "deborahblum", "id_str": "72842277", "name": "Deborah Blum", "id": 72842277, "indices": [0, 12]}, {"screen_name": "RadioFreeTom", "id_str": "459872442", "name": "Tom Nichols", "id": 459872442, "indices": [13, 26]}, {"screen_name": "ForeignAffairs", "id_str": "21114659", "name": "Foreign Affairs", "id": 21114659, "indices": [27, 42]}], "hashtags": [], "urls": [{"indices": [117, 140], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/850016719842271233", "url": "https://t.co/9LwX11TNLE"}], "symbols": []}, "id_str": "850016719842271233", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850015902514860032, "created_at": "Thu Apr 06 16:05:53 +0000 2017", "in_reply_to_user_id": 72842277, "geo": null, "text": "@deborahblum @RadioFreeTom @ForeignAffairs yep. Though I'd argue that Wikipedia is one of the places where a respec\u2026 https://t.co/9LwX11TNLE", "retweet_count": 0, "in_reply_to_screen_name": "deborahblum", "in_reply_to_status_id_str": "850015902514860032", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 4, "truncated": false, "id": 849996646121439233, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849996646121439233", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849994559417458688, "created_at": "Thu Apr 06 14:46:07 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "When worked on hypertext I imagined academic creations that unfold whole worlds of constellated knowledge. Now I see anigifs as cutting edge", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "849994559417458688", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 22, "truncated": false, "id": 849994559417458688, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849994559417458688", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Thu Apr 06 14:37:49 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "Deciding if it's worth the effort to embed an animated gif into my dissertation", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 20, "truncated": false, "id": 849781626662006784, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 1051171, "url": "http://t.co/rZpNJ8L8AN", "id_str": "1051171", "favourites_count": 3474, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "ethanzuckerman.com/blog", "expanded_url": "http://ethanzuckerman.com/blog", "url": "http://t.co/rZpNJ8L8AN"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/659351758704136193/5jUqQnv0_normal.jpg", "profile_link_color": "0000FF", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/1811372/56285630_d2fe511ddf_b.jpg", "listed_count": 3104, "screen_name": "EthanZ", "profile_use_background_image": true, "followers_count": 46238, "statuses_count": 25524, "profile_background_color": "9AE4E8", "friends_count": 1676, "created_at": "Mon Mar 12 23:01:19 +0000 2007", "location": "Pittsfield, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "87BC44", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/1811372/56285630_d2fe511ddf_b.jpg", "has_extended_profile": false, "protected": false, "description": "Center for Civic Media, MIT Media Lab, Global Voices, Berkman Klein Center. Author of \"Rewire\". RT \u2260 endorsement, RT = interesting read. #MakeAmericaKindAgain", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/659351758704136193/5jUqQnv0_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/1051171/1401413498", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": true, "profile_sidebar_fill_color": "E0FF92", "name": "Ethan Zuckerman", "default_profile_image": false, "profile_background_tile": true, "translator_type": "none", "following": true}, "entities": {"user_mentions": [{"screen_name": "natematias", "id_str": "52332354", "name": "J. Nathan Matias", "id": 52332354, "indices": [18, 29]}], "hashtags": [], "urls": [{"indices": [112, 135], "display_url": "fastcodesign.com/3068556/remind\u2026", "expanded_url": "https://www.fastcodesign.com/3068556/reminder-you-can-manipulate-algorithms-too", "url": "https://t.co/JPqXbLcGCV"}], "symbols": []}, "id_str": "849781626662006784", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Thu Apr 06 00:31:42 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Great overview of @natematias's work on Civil Servant, which helps online communities govern themselves better: https://t.co/JPqXbLcGCV", "retweet_count": 12, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 849788762234159104, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "EthanZ", "id_str": "1051171", "name": "Ethan Zuckerman", "id": 1051171, "indices": [3, 10]}, {"screen_name": "natematias", "id_str": "52332354", "name": "J. Nathan Matias", "id": 52332354, "indices": [30, 41]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849788762234159104", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Thu Apr 06 01:00:03 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @EthanZ: Great overview of @natematias's work on Civil Servant, which helps online communities govern themselves better: https://t.co/JP\u2026", "retweet_count": 12, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 849788680432758784, "in_reply_to_user_id_str": "75913", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "jessamyn", "id_str": "75913", "name": "jessamyn west", "id": 75913, "indices": [0, 9]}, {"screen_name": "JFTitone", "id_str": "426793713", "name": "Jeanine Finn", "id": 426793713, "indices": [10, 19]}, {"screen_name": "metafilter", "id_str": "8495642", "name": "MetaFilter", "id": 8495642, "indices": [20, 31]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849788680432758784", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849779920599470080, "created_at": "Thu Apr 06 00:59:44 +0000 2017", "in_reply_to_user_id": 75913, "geo": null, "text": "@jessamyn @JFTitone @metafilter <3 I will send you a note after finishing writing my dissertation about moderation. Thanks Jessamyn!", "retweet_count": 0, "in_reply_to_screen_name": "jessamyn", "in_reply_to_status_id_str": "849779920599470080", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 849769289154523136, "in_reply_to_user_id_str": "18363942", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "sdboyer", "id_str": "18363942", "name": "sam boyer", "id": 18363942, "indices": [0, 8]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849769289154523136", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849768827495886848, "created_at": "Wed Apr 05 23:42:41 +0000 2017", "in_reply_to_user_id": 18363942, "geo": null, "text": "@sdboyer how did those communities handle this discussion? Did they end up with polls?", "retweet_count": 0, "in_reply_to_screen_name": "sdboyer", "in_reply_to_status_id_str": "849768827495886848", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 2, "truncated": false, "id": 849766280181755904, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849766280181755904", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849765854594166785, "created_at": "Wed Apr 05 23:30:43 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "And now my mastodon instance is discussing the potential of setting up a polling system for group decisions", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "849765854594166785", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 849765854594166785, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849765854594166785", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849742222627090432, "created_at": "Wed Apr 05 23:29:02 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "Seeing mastodon trending hashtag bots, which only report the trends within a single instance", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "849742222627090432", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 849763548658114561, "in_reply_to_user_id_str": "426793713", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "JFTitone", "id_str": "426793713", "name": "Jeanine Finn", "id": 426793713, "indices": [0, 9]}, {"screen_name": "metafilter", "id_str": "8495642", "name": "MetaFilter", "id": 8495642, "indices": [10, 21]}, {"screen_name": "jessamyn", "id_str": "75913", "name": "jessamyn west", "id": 75913, "indices": [22, 31]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849763548658114561", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849762118194921473, "created_at": "Wed Apr 05 23:19:52 +0000 2017", "in_reply_to_user_id": 426793713, "geo": null, "text": "@JFTitone @metafilter @jessamyn <3 Metafilter and Jessamyn too. Glad to see there's interest in something like this!", "retweet_count": 0, "in_reply_to_screen_name": "JFTitone", "in_reply_to_status_id_str": "849762118194921473", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 849753134469709824, "in_reply_to_user_id_str": "636468387", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "niloufar_s", "id_str": "636468387", "name": "Niloufar Salehi", "id": 636468387, "indices": [0, 11]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849753134469709824", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849748731620597760, "created_at": "Wed Apr 05 22:38:29 +0000 2017", "in_reply_to_user_id": 636468387, "geo": null, "text": "@niloufar_s Yes, ish. Non-volunteers often sign NDAs that make it impossible for them to talk publicly. We'd need a way to overcome that", "retweet_count": 0, "in_reply_to_screen_name": "niloufar_s", "in_reply_to_status_id_str": "849748731620597760", "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 11, "truncated": false, "id": 849736524988121088, "in_reply_to_user_id_str": null, "user": {"time_zone": "Cairo", "notifications": false, "id": 6745972, "url": "https://t.co/AWX1RmIVsH", "id_str": "6745972", "favourites_count": 7271, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "bellavelo.me", "expanded_url": "http://www.bellavelo.me", "url": "https://t.co/AWX1RmIVsH"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/715824666896674816/VacclD4M_normal.jpg", "profile_link_color": "1B95E0", "lang": "en", "utc_offset": 7200, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/724829118626467840/qYaOG8cJ.jpg", "listed_count": 192, "screen_name": "bella_velo", "profile_use_background_image": true, "followers_count": 3770, "statuses_count": 36785, "profile_background_color": "ACDED6", "friends_count": 3367, "created_at": "Mon Jun 11 16:03:49 +0000 2007", "location": "Toronto, Ontario", "is_translator": false, "verified": false, "profile_sidebar_border_color": "EEEEEE", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/724829118626467840/qYaOG8cJ.jpg", "has_extended_profile": false, "protected": false, "description": "@creativecommons @CC_Canada CC \ud83c\udde8\ud83c\udde6Public Lead. Functional Pockets Feminist. Whisky in a teacup. She. Partner in crime @ryanmerkley", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/715824666896674816/VacclD4M_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/6745972/1456329413", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "F6F6F6", "name": "Kelsey Wiens \ud83d\udd75\ud83c\udffb\u200d\u2640\ufe0f", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "creativecommons", "id_str": "17462723", "name": "Creative Commons", "id": 17462723, "indices": [56, 72]}, {"screen_name": "lesliekwchan", "id_str": "154251965", "name": "Leslie Chan", "id": 154251965, "indices": [96, 109]}], "hashtags": [{"indices": [73, 82], "text": "CCSummit"}], "urls": [{"indices": [118, 141], "display_url": "sched.co/AFKV", "expanded_url": "http://sched.co/AFKV", "url": "https://t.co/eoArUGstfa"}], "symbols": []}, "id_str": "849736524988121088", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 21:32:29 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "So excited about the Community & Movement track for @creativecommons #CCSummit - Don't miss @lesliekwchan session https://t.co/eoArUGstfa", "retweet_count": 5, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 849752869985288196, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "bella_velo", "id_str": "6745972", "name": "Kelsey Wiens \ud83d\udd75\ud83c\udffb\u200d\u2640\ufe0f", "id": 6745972, "indices": [3, 14]}, {"screen_name": "creativecommons", "id_str": "17462723", "name": "Creative Commons", "id": 17462723, "indices": [72, 88]}, {"screen_name": "lesliekwchan", "id_str": "154251965", "name": "Leslie Chan", "id": 154251965, "indices": [112, 125]}], "hashtags": [{"indices": [89, 98], "text": "CCSummit"}], "urls": [], "symbols": []}, "id_str": "849752869985288196", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 22:37:26 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @bella_velo: So excited about the Community & Movement track for @creativecommons #CCSummit - Don't miss @lesliekwchan session https://t\u2026", "retweet_count": 5, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 15, "truncated": false, "id": 849745681271197696, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849745681271197696", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849742222627090432, "created_at": "Wed Apr 05 22:08:52 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "Actually, when I am finished with this dissertation, I may look into creating a guild of experienced volunteer moderators across the web", "retweet_count": 3, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "849742222627090432", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 13, "truncated": false, "id": 849742222627090432, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [114, 137], "display_url": "pdfs.semanticscholar.org/553b/7315936e4\u2026", "expanded_url": "https://pdfs.semanticscholar.org/553b/7315936e49f98b18a37c4937a9170edab096.pdf", "url": "https://t.co/dejtOlIcf0"}], "symbols": []}, "id_str": "849742222627090432", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849741555858636803, "created_at": "Wed Apr 05 21:55:07 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": 52332354, "geo": null, "text": "Citation: online communities with moderators who gained experience elsewhere are more likely to survive over time https://t.co/dejtOlIcf0", "retweet_count": 8, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "849741555858636803", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 8, "truncated": false, "id": 849741555858636803, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849741555858636803", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849741159907905536, "created_at": "Wed Apr 05 21:52:29 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "My advice to new mastodon servers: get help from people with experience moderating other communities. It's the best predictor of survival", "retweet_count": 4, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "849741159907905536", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 5, "truncated": false, "id": 849741159907905536, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849741159907905536", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849740851811057664, "created_at": "Wed Apr 05 21:50:54 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "We can make an evolutionary argument: different ops will try different things, and can learn from each other: laboratories of governance", "retweet_count": 3, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "849740851811057664", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 9, "truncated": false, "id": 849740851811057664, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849740851811057664", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849740196245643264, "created_at": "Wed Apr 05 21:49:41 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "What's interesting about Mastodon, sociologically, is that just like reddit, we see hundreds of communities struggle w/ issues, in parallel", "retweet_count": 2, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "849740196245643264", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 17, "truncated": false, "id": 849740196245643264, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849740196245643264", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849736873450893312, "created_at": "Wed Apr 05 21:47:04 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "Our mastodon server is struggling w conflicting definitions of harassment, as the op decides what lines to draw. History of Twitter in 24hrs", "retweet_count": 2, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "849736873450893312", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 22, "truncated": false, "id": 849736873450893312, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849736873450893312", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 21:33:52 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "Watching a mastodon sysop consultancy ecosystem emerge", "retweet_count": 2, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 23, "truncated": false, "id": 849729898134601729, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 95431448, "url": "http://t.co/g2XphqdJIo", "id_str": "95431448", "favourites_count": 334, "entities": {"description": {"urls": [{"indices": [133, 156], "display_url": "twitter.com/BostonGlobe/li\u2026", "expanded_url": "https://twitter.com/BostonGlobe/lists/globe-journalists", "url": "https://t.co/KPOiZTQG87"}]}, "url": {"urls": [{"indices": [0, 22], "display_url": "bostonglobe.com", "expanded_url": "http://bostonglobe.com", "url": "http://t.co/g2XphqdJIo"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/586570157734019072/Qxz1LIIM_normal.png", "profile_link_color": "050505", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/378800000003877254/c79663e95d0e284ce165db703dffd474.jpeg", "listed_count": 9736, "screen_name": "BostonGlobe", "profile_use_background_image": true, "followers_count": 623959, "statuses_count": 233708, "profile_background_color": "EDECE9", "friends_count": 1237, "created_at": "Tue Dec 08 14:33:38 +0000 2009", "location": "Boston, MA", "is_translator": false, "verified": true, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/378800000003877254/c79663e95d0e284ce165db703dffd474.jpeg", "has_extended_profile": false, "protected": false, "description": "Boston and New England's leading source for breaking news and analysis, with coverage from across the world. Follow our journalists: https://t.co/KPOiZTQG87", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/586570157734019072/Qxz1LIIM_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/95431448/1491431789", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": true, "profile_sidebar_fill_color": "FFFFFF", "name": "The Boston Globe", "default_profile_image": false, "profile_background_tile": false, "translator_type": "regular", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "media": [{"indices": [68, 91], "type": "photo", "media_url": "http://pbs.twimg.com/media/C8rY1lKVoAAGpmk.jpg", "id": 849729894732898304, "media_url_https": "https://pbs.twimg.com/media/C8rY1lKVoAAGpmk.jpg", "id_str": "849729894732898304", "url": "https://t.co/dLroPnUHM4", "display_url": "pic.twitter.com/dLroPnUHM4", "sizes": {"thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 914, "w": 960, "resize": "fit"}, "large": {"h": 914, "w": 960, "resize": "fit"}, "small": {"h": 647, "w": 680, "resize": "fit"}}, "expanded_url": "https://twitter.com/BostonGlobe/status/849729898134601729/photo/1"}], "urls": [{"indices": [44, 67], "display_url": "bos.gl/P5AMbbI", "expanded_url": "http://bos.gl/P5AMbbI", "url": "https://t.co/5NFwRLo7E4"}], "symbols": []}, "id_str": "849729898134601729", "source": "SocialFlow", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "extended_entities": {"media": [{"indices": [68, 91], "type": "photo", "media_url": "http://pbs.twimg.com/media/C8rY1lKVoAAGpmk.jpg", "id": 849729894732898304, "media_url_https": "https://pbs.twimg.com/media/C8rY1lKVoAAGpmk.jpg", "id_str": "849729894732898304", "url": "https://t.co/dLroPnUHM4", "display_url": "pic.twitter.com/dLroPnUHM4", "sizes": {"thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 914, "w": 960, "resize": "fit"}, "large": {"h": 914, "w": 960, "resize": "fit"}, "small": {"h": 647, "w": 680, "resize": "fit"}}, "expanded_url": "https://twitter.com/BostonGlobe/status/849729898134601729/photo/1"}]}, "created_at": "Wed Apr 05 21:06:09 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "How Western Mass. became kids\u2019 lit central https://t.co/5NFwRLo7E4 https://t.co/dLroPnUHM4", "retweet_count": 12, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 849730944701517824, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "BostonGlobe", "id_str": "95431448", "name": "The Boston Globe", "id": 95431448, "indices": [3, 15]}], "hashtags": [], "media": [{"indices": [85, 108], "source_status_id_str": "849729898134601729", "type": "photo", "media_url": "http://pbs.twimg.com/media/C8rY1lKVoAAGpmk.jpg", "id": 849729894732898304, "url": "https://t.co/dLroPnUHM4", "source_user_id": 95431448, "id_str": "849729894732898304", "sizes": {"thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 914, "w": 960, "resize": "fit"}, "large": {"h": 914, "w": 960, "resize": "fit"}, "small": {"h": 647, "w": 680, "resize": "fit"}}, "expanded_url": "https://twitter.com/BostonGlobe/status/849729898134601729/photo/1", "media_url_https": "https://pbs.twimg.com/media/C8rY1lKVoAAGpmk.jpg", "source_status_id": 849729898134601729, "source_user_id_str": "95431448", "display_url": "pic.twitter.com/dLroPnUHM4"}], "urls": [{"indices": [61, 84], "display_url": "bos.gl/P5AMbbI", "expanded_url": "http://bos.gl/P5AMbbI", "url": "https://t.co/5NFwRLo7E4"}], "symbols": []}, "id_str": "849730944701517824", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "extended_entities": {"media": [{"indices": [85, 108], "source_status_id_str": "849729898134601729", "type": "photo", "media_url": "http://pbs.twimg.com/media/C8rY1lKVoAAGpmk.jpg", "id": 849729894732898304, "url": "https://t.co/dLroPnUHM4", "source_user_id": 95431448, "id_str": "849729894732898304", "sizes": {"thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 914, "w": 960, "resize": "fit"}, "large": {"h": 914, "w": 960, "resize": "fit"}, "small": {"h": 647, "w": 680, "resize": "fit"}}, "expanded_url": "https://twitter.com/BostonGlobe/status/849729898134601729/photo/1", "media_url_https": "https://pbs.twimg.com/media/C8rY1lKVoAAGpmk.jpg", "source_status_id": 849729898134601729, "source_user_id_str": "95431448", "display_url": "pic.twitter.com/dLroPnUHM4"}]}, "created_at": "Wed Apr 05 21:10:19 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @BostonGlobe: How Western Mass. became kids\u2019 lit central https://t.co/5NFwRLo7E4 https://t.co/dLroPnUHM4", "retweet_count": 12, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 849730098957889536, "in_reply_to_user_id_str": "815096", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "jsb", "id_str": "815096", "name": "John S. Bracken", "id": 815096, "indices": [0, 4]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849730098957889536", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 21:06:57 +0000 2017", "in_reply_to_user_id": 815096, "geo": null, "text": "@jsb I'm in the center for civic media now, or if you like, drop by during tomorrow's demo time", "retweet_count": 0, "in_reply_to_screen_name": "jsb", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 849699780213297152, "in_reply_to_user_id_str": "815096", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "jsb", "id_str": "815096", "name": "John S. Bracken", "id": 815096, "indices": [0, 4]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849699780213297152", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 19:06:28 +0000 2017", "in_reply_to_user_id": 815096, "geo": null, "text": "@jsb just missed you! I'd love to share my latest work on harassment, fact-checking, and discrimination if you have a moment", "retweet_count": 0, "in_reply_to_screen_name": "jsb", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 849679702159757312, "in_reply_to_user_id_str": "13731562", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "DGaff", "id_str": "13731562", "name": "Devin 'meat' Gaffney", "id": 13731562, "indices": [0, 6]}, {"screen_name": "ebruenig", "id_str": "1471542956", "name": "Elizabeth Bruenig", "id": 1471542956, "indices": [7, 16]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849679702159757312", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849678748794449920, "created_at": "Wed Apr 05 17:46:41 +0000 2017", "in_reply_to_user_id": 13731562, "geo": null, "text": "@DGaff @ebruenig also wishing I could have made it. Sigh, dissertation. Was it recorded?", "retweet_count": 0, "in_reply_to_screen_name": "DGaff", "in_reply_to_status_id_str": "849678748794449920", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 849679329269362692, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [74, 97], "display_url": "jeffbloem.files.wordpress.com/2012/12/bellem\u2026", "expanded_url": "https://jeffbloem.files.wordpress.com/2012/12/bellemarebloemexperimentalconversationsreviewfinal.pdf", "url": "https://t.co/IMJ2MCB1cK"}, {"indices": [98, 121], "display_url": "twitter.com/mfbellemare/st\u2026", "expanded_url": "https://twitter.com/mfbellemare/status/849562477083975680", "url": "https://t.co/8QScu5S9PA"}], "symbols": []}, "id_str": "849679329269362692", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 3, "truncated": false, "id": 849562477083975680, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 230049663, "url": "https://t.co/KkVkk9q71h", "id_str": "230049663", "favourites_count": 1042, "entities": {"description": {"urls": [{"indices": [93, 116], "display_url": "journals.elsevier.com/food-policy/", "expanded_url": "http://www.journals.elsevier.com/food-policy/", "url": "https://t.co/hOMgP2Rs2K"}]}, "url": {"urls": [{"indices": [0, 23], "display_url": "marcfbellemare.com", "expanded_url": "http://www.marcfbellemare.com", "url": "https://t.co/KkVkk9q71h"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/773992235004231681/tS0EUUxb_normal.jpg", "profile_link_color": "0084B4", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/230898493/Twitter.jpg", "listed_count": 255, "screen_name": "mfbellemare", "profile_use_background_image": true, "followers_count": 3902, "statuses_count": 14507, "profile_background_color": "C0DEED", "friends_count": 1873, "created_at": "Fri Dec 24 03:33:55 +0000 2010", "location": "MSP", "is_translator": false, "verified": false, "profile_sidebar_border_color": "C0DEED", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/230898493/Twitter.jpg", "has_extended_profile": false, "protected": false, "description": "Associate prof. @ApEcMN. Agricultural, development, and food economics. Editor, Food Policy (https://t.co/hOMgP2Rs2K) RTs \u2260 endorsement.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/773992235004231681/tS0EUUxb_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/230049663/1456179574", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "DDEEF6", "name": "Marc F. Bellemare", "default_profile_image": false, "profile_background_tile": true, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "media": [{"indices": [91, 114], "type": "photo", "media_url": "http://pbs.twimg.com/media/C8pAkYvWAAE0Eco.jpg", "id": 849562473573253121, "media_url_https": "https://pbs.twimg.com/media/C8pAkYvWAAE0Eco.jpg", "id_str": "849562473573253121", "url": "https://t.co/qw8A72Ugly", "display_url": "pic.twitter.com/qw8A72Ugly", "sizes": {"small": {"h": 680, "w": 461, "resize": "fit"}, "medium": {"h": 693, "w": 470, "resize": "fit"}, "large": {"h": 693, "w": 470, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}}, "expanded_url": "https://twitter.com/mfbellemare/status/849562477083975680/photo/1"}], "urls": [{"indices": [67, 90], "display_url": "marcfbellemare.com/wordpress/12416", "expanded_url": "http://marcfbellemare.com/wordpress/12416", "url": "https://t.co/ffjNbzqAJV"}], "symbols": []}, "id_str": "849562477083975680", "source": "WordPress.com", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "extended_entities": {"media": [{"indices": [91, 114], "type": "photo", "media_url": "http://pbs.twimg.com/media/C8pAkYvWAAE0Eco.jpg", "id": 849562473573253121, "media_url_https": "https://pbs.twimg.com/media/C8pAkYvWAAE0Eco.jpg", "id_str": "849562473573253121", "url": "https://t.co/qw8A72Ugly", "display_url": "pic.twitter.com/qw8A72Ugly", "sizes": {"small": {"h": 680, "w": 461, "resize": "fit"}, "medium": {"h": 693, "w": 470, "resize": "fit"}, "large": {"h": 693, "w": 470, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}}, "expanded_url": "https://twitter.com/mfbellemare/status/849562477083975680/photo/1"}]}, "created_at": "Wed Apr 05 10:00:53 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Review of Timothy Ogden\u2019s \u201cExperimental Conversations\u201d Forthcoming https://t.co/ffjNbzqAJV https://t.co/qw8A72Ugly", "retweet_count": 2, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 17:45:13 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 849562477083975680, "geo": null, "text": "Here's the actual review (have to click through several times to find it) https://t.co/IMJ2MCB1cK https://t.co/8QScu5S9PA", "retweet_count": 0, "in_reply_to_screen_name": null, "quoted_status_id_str": "849562477083975680", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 849674830265929728, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849674830265929728", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 17:27:20 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "^ writes the \u00b6 on how volunteer moderation fits into the governance of social behavior on the web, for the 6th out of 7 times in this PhD", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 849661058356830208, "in_reply_to_user_id_str": "94384796", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "jvitak", "id_str": "94384796", "name": "Jessica Vitak", "id": 94384796, "indices": [0, 7]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849661058356830208", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849300311663661058, "created_at": "Wed Apr 05 16:32:36 +0000 2017", "in_reply_to_user_id": 94384796, "geo": null, "text": "@jvitak see also Alice's response to how she was quoted", "retweet_count": 0, "in_reply_to_screen_name": "jvitak", "in_reply_to_status_id_str": "849300311663661058", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 2, "truncated": false, "id": 849653814806421504, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849653814806421504", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 16:03:49 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "Today I learned it's possible to specify the date in Internet Archive URLs. Saving me lots of time as I binary search for a specific moment", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 849652328668037120, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [26, 49], "display_url": "twitter.com/verge/status/8\u2026", "expanded_url": "https://twitter.com/verge/status/849619438613786624", "url": "https://t.co/43wtFd2HZA"}], "symbols": []}, "id_str": "849652328668037120", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 39, "truncated": false, "id": 849619438613786624, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 275686563, "url": "http://t.co/W2SFxIXkC4", "id_str": "275686563", "favourites_count": 1626, "entities": {"description": {"urls": [{"indices": [0, 23], "display_url": "theverge.com", "expanded_url": "http://www.theverge.com", "url": "https://t.co/W2SFxIXkC4"}]}, "url": {"urls": [{"indices": [0, 22], "display_url": "theverge.com", "expanded_url": "http://www.theverge.com", "url": "http://t.co/W2SFxIXkC4"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/793336456718782464/cf1nuXC0_normal.jpg", "profile_link_color": "EC008C", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/481546505468145664/a59ZFvIP.jpeg", "listed_count": 32795, "screen_name": "verge", "profile_use_background_image": true, "followers_count": 1853810, "statuses_count": 117462, "profile_background_color": "FFFFFF", "friends_count": 151, "created_at": "Fri Apr 01 19:54:22 +0000 2011", "location": "New York", "is_translator": false, "verified": true, "profile_sidebar_border_color": "000000", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/481546505468145664/a59ZFvIP.jpeg", "has_extended_profile": false, "protected": false, "description": "https://t.co/W2SFxIXkC4 covers life in the future.", "is_translation_enabled": true, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/793336456718782464/cf1nuXC0_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/275686563/1484064279", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "EFEFEF", "name": "The Verge", "default_profile_image": false, "profile_background_tile": false, "translator_type": "regular", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "media": [{"indices": [96, 119], "type": "photo", "media_url": "http://pbs.twimg.com/media/C8p0YFGW0AAPind.jpg", "id": 849619436747280384, "media_url_https": "https://pbs.twimg.com/media/C8p0YFGW0AAPind.jpg", "id_str": "849619436747280384", "url": "https://t.co/95wlbPfksk", "display_url": "pic.twitter.com/95wlbPfksk", "sizes": {"thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 678, "w": 1020, "resize": "fit"}, "large": {"h": 678, "w": 1020, "resize": "fit"}, "small": {"h": 452, "w": 680, "resize": "fit"}}, "expanded_url": "https://twitter.com/verge/status/849619438613786624/photo/1"}], "urls": [{"indices": [72, 95], "display_url": "theverge.com/2017/4/5/15189\u2026", "expanded_url": "http://www.theverge.com/2017/4/5/15189618/facebook-revenge-porn-photo-matching?utm_campaign=theverge&utm_content=chorus&utm_medium=social&utm_source=twitter", "url": "https://t.co/nLBzYR5LgF"}], "symbols": []}, "id_str": "849619438613786624", "source": "Vox Media", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "extended_entities": {"media": [{"indices": [96, 119], "type": "photo", "media_url": "http://pbs.twimg.com/media/C8p0YFGW0AAPind.jpg", "id": 849619436747280384, "media_url_https": "https://pbs.twimg.com/media/C8p0YFGW0AAPind.jpg", "id_str": "849619436747280384", "url": "https://t.co/95wlbPfksk", "display_url": "pic.twitter.com/95wlbPfksk", "sizes": {"thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 678, "w": 1020, "resize": "fit"}, "large": {"h": 678, "w": 1020, "resize": "fit"}, "small": {"h": 452, "w": 680, "resize": "fit"}}, "expanded_url": "https://twitter.com/verge/status/849619438613786624/photo/1"}]}, "created_at": "Wed Apr 05 13:47:13 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Facebook will use photo matching to stop revenge porn from being shared https://t.co/nLBzYR5LgF https://t.co/95wlbPfksk", "retweet_count": 29, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 15:57:55 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 849619438613786624, "geo": null, "text": "This will be interesting. https://t.co/43wtFd2HZA", "retweet_count": 0, "in_reply_to_screen_name": null, "quoted_status_id_str": "849619438613786624", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 849651977487298562, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849651977487298562", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 15:56:31 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "The Mastodon server I'm on has started to grow, has migrated hosting stacks twice, and now has a Patreon for covering costs", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 849650176767787010, "in_reply_to_user_id_str": "6328182", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "shiruken", "id_str": "6328182", "name": "Colin Sullender", "id": 6328182, "indices": [0, 9]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849650176767787010", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849648395467849729, "created_at": "Wed Apr 05 15:49:22 +0000 2017", "in_reply_to_user_id": 6328182, "geo": null, "text": "@shiruken yep. It's a distributed system", "retweet_count": 0, "in_reply_to_screen_name": "shiruken", "in_reply_to_status_id_str": "849648395467849729", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": true, "id": 849644360002129920, "in_reply_to_user_id_str": "6328182", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "shiruken", "id_str": "6328182", "name": "Colin Sullender", "id": 6328182, "indices": [0, 9]}], "hashtags": [], "urls": [{"indices": [117, 140], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/849644360002129920", "url": "https://t.co/BKEFSC92X6"}], "symbols": []}, "id_str": "849644360002129920", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849642692418166784, "created_at": "Wed Apr 05 15:26:15 +0000 2017", "in_reply_to_user_id": 6328182, "geo": null, "text": "@shiruken but that's the weakness. Figuring out who to trust. If communities like r/science had ways to pool/manage\u2026 https://t.co/BKEFSC92X6", "retweet_count": 0, "in_reply_to_screen_name": "shiruken", "in_reply_to_status_id_str": "849642692418166784", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": true, "id": 849644002299314176, "in_reply_to_user_id_str": "6328182", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "shiruken", "id_str": "6328182", "name": "Colin Sullender", "id": 6328182, "indices": [0, 9]}], "hashtags": [], "urls": [{"indices": [117, 140], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/849644002299314176", "url": "https://t.co/kfqJrpmkAZ"}], "symbols": []}, "id_str": "849644002299314176", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849642692418166784, "created_at": "Wed Apr 05 15:24:50 +0000 2017", "in_reply_to_user_id": 6328182, "geo": null, "text": "@shiruken I found one other mefites were using and read more about the sysop. They seemed very technically competen\u2026 https://t.co/kfqJrpmkAZ", "retweet_count": 0, "in_reply_to_screen_name": "shiruken", "in_reply_to_status_id_str": "849642692418166784", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 3, "truncated": false, "id": 849622673202327553, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849622673202327553", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849622260906418177, "created_at": "Wed Apr 05 14:00:05 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "People deep in tech, infosec, established online communities are starting first, and we know the popularity feedback loops this will create", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "849622260906418177", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 3, "truncated": false, "id": 849622260906418177, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849622260906418177", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 13:58:26 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "Another Mastodon pattern: following people you know. It makes sense, but this early adopter cycle leads to network discrimination overall", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 4, "truncated": false, "id": 849618644585906176, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849618644585906176", "source": "Twitter Web Client", "lang": "es", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849617363574153216, "created_at": "Wed Apr 05 13:44:04 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "also: natematias@octodon.social", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "849617363574153216", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 3, "truncated": false, "id": 849617363574153216, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849617363574153216", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849616970140053505, "created_at": "Wed Apr 05 13:38:59 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "Those laws won't protect instances from abusive/hateful content. I'll be interested to see how instance users/ops manage the collective risk", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "849616970140053505", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 4, "truncated": false, "id": 849616970140053505, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [115, 138], "display_url": "motherboard.vice.com/en_us/article/\u2026", "expanded_url": "https://motherboard.vice.com/en_us/article/mastodon-is-like-twitter-without-nazis-so-why-are-we-not-using-it", "url": "https://t.co/NoGscPhZiM"}], "symbols": []}, "id_str": "849616970140053505", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 13:37:25 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Fascinated to watch Mastodon instance operators brag that their servers are in countries with strong content laws\n\nhttps://t.co/NoGscPhZiM", "retweet_count": 1, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 418, "truncated": false, "id": 849604047648763904, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 17029640, "url": "http://t.co/lMiFeqYOGq", "id_str": "17029640", "favourites_count": 1049, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "juliaangwin.com", "expanded_url": "http://www.juliaangwin.com", "url": "http://t.co/lMiFeqYOGq"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/3429661270/09a1e02cb01fd352d9749ab27681bb25_normal.jpeg", "profile_link_color": "44A644", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/378800000168954225/o5UKK6EI.png", "listed_count": 1429, "screen_name": "JuliaAngwin", "profile_use_background_image": true, "followers_count": 22073, "statuses_count": 5252, "profile_background_color": "FFFFFF", "friends_count": 1035, "created_at": "Tue Oct 28 21:50:42 +0000 2008", "location": "New York", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/378800000168954225/o5UKK6EI.png", "has_extended_profile": false, "protected": false, "description": "Investigative journalist @ProPublica. Formerly @WSJ. Author of Dragnet Nation. PGP: F292 E93A 86B3 1713 05A6 FE9F 85C9 09BB C664 D201", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/3429661270/09a1e02cb01fd352d9749ab27681bb25_normal.jpeg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/17029640/1389381112", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "FFFFFF", "name": "Julia Angwin", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [113, 136], "display_url": "propublica.org/article/minori\u2026", "expanded_url": "https://www.propublica.org/article/minority-neighborhoods-higher-car-insurance-premiums-white-areas-same-risk", "url": "https://t.co/uwJ0AoKJoF"}], "symbols": []}, "id_str": "849604047648763904", "source": "TweetDeck", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 12:46:04 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Here\u2019s the latest in our series on algorithmic accountability - a look at disparities in auto insurance prices:\n\nhttps://t.co/uwJ0AoKJoF", "retweet_count": 451, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 849609246018859008, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "JuliaAngwin", "id_str": "17029640", "name": "Julia Angwin", "id": 17029640, "indices": [3, 15]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849609246018859008", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 13:06:43 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @JuliaAngwin: Here\u2019s the latest in our series on algorithmic accountability - a look at disparities in auto insurance prices:\n\nhttps://t\u2026", "retweet_count": 451, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 418, "truncated": false, "id": 849405935852433412, "in_reply_to_user_id_str": null, "user": {"time_zone": "Hawaii", "notifications": false, "id": 749963, "url": "http://t.co/8DxRcIoTTH", "id_str": "749963", "favourites_count": 111, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "omidyargroup.com", "expanded_url": "http://omidyargroup.com", "url": "http://t.co/8DxRcIoTTH"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/860459345/PierreCB2_normal.jpg", "profile_link_color": "2E2EEA", "lang": "en", "utc_offset": -36000, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "listed_count": 4426, "screen_name": "pierre", "profile_use_background_image": false, "followers_count": 534444, "statuses_count": 10046, "profile_background_color": "67695F", "friends_count": 457, "created_at": "Sat Feb 03 02:41:31 +0000 2007", "location": "Honolulu, HI", "is_translator": false, "verified": true, "profile_sidebar_border_color": "87BC44", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "has_extended_profile": true, "protected": false, "description": "Be you. Be cool. eBay, Omidyar Network, Peer News/Civil Beat, First Look. DCD2 BC7F 5341 A2B9 B188 928A 2CB2 7535 C8A5 4876", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/860459345/PierreCB2_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/749963/1483400066", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": false, "profile_sidebar_fill_color": "E0FF92", "name": "Pierre Omidyar", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [94, 117], "display_url": "twitter.com/sulliview/stat\u2026", "expanded_url": "https://twitter.com/sulliview/status/849401593636192258", "url": "https://t.co/RxBWy64pLn"}], "symbols": []}, "id_str": "849405935852433412", "source": "Twitter for iPad", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 1383, "truncated": false, "id": 849401593636192258, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 460470940, "url": "https://t.co/VLlTIVVRA8", "id_str": "460470940", "favourites_count": 8739, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "washingtonpost.com/people/margare\u2026", "expanded_url": "https://www.washingtonpost.com/people/margaret-sullivan?tid=a_inl", "url": "https://t.co/VLlTIVVRA8"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/723129006527225856/y9HBo1In_normal.jpg", "profile_link_color": "1DA1F2", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "listed_count": 2464, "screen_name": "Sulliview", "profile_use_background_image": true, "followers_count": 63092, "statuses_count": 10477, "profile_background_color": "C0DEED", "friends_count": 1490, "created_at": "Tue Jan 10 20:02:24 +0000 2012", "location": "Washington, DC", "is_translator": false, "verified": true, "profile_sidebar_border_color": "C0DEED", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "has_extended_profile": false, "protected": false, "description": "Wash Post media columnist. Priors: NYT public editor. Buffalo News exec editor. Nardin Kaleidoscope editor-in-chief. 'Venomous serpent' and/or 'angel of light'", "is_translation_enabled": false, "default_profile": true, "profile_image_url": "http://pbs.twimg.com/profile_images/723129006527225856/y9HBo1In_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/460470940/1394538733", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "DDEEF6", "name": "Margaret Sullivan", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "pierre", "id_str": "749963", "name": "Pierre Omidyar", "id": 749963, "indices": [111, 118]}], "hashtags": [], "urls": [{"indices": [120, 143], "display_url": "washingtonpost.com/lifestyle/styl\u2026", "expanded_url": "https://www.washingtonpost.com/lifestyle/style/omidyar-charity-gives-100-million-to-boost-journalism-and-fight-hate-speech/2017/04/04/aebb013c-193d-11e7-855e-4824bbb5d748_story.html?tid=ss_tw&utm_term=.a4a0bddbc4c5", "url": "https://t.co/C2DFELFtp6"}], "symbols": []}, "id_str": "849401593636192258", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Apr 04 23:21:35 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Huge commitment -- $100 million to support independent journalism & fight misinformation worldwide -- from @pierre. https://t.co/C2DFELFtp6", "retweet_count": 787, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Tue Apr 04 23:38:50 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 849401593636192258, "geo": null, "text": "The fight against misinformation, authoritarian lies, and online abuse is a fight we can win. https://t.co/RxBWy64pLn", "retweet_count": 199, "in_reply_to_screen_name": null, "quoted_status_id_str": "849401593636192258", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 849450864515395585, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "pierre", "id_str": "749963", "name": "Pierre Omidyar", "id": 749963, "indices": [3, 10]}], "hashtags": [], "urls": [{"indices": [106, 129], "display_url": "twitter.com/sulliview/stat\u2026", "expanded_url": "https://twitter.com/sulliview/status/849401593636192258", "url": "https://t.co/RxBWy64pLn"}], "symbols": []}, "id_str": "849450864515395585", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 02:37:22 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 849401593636192258, "geo": null, "text": "RT @pierre: The fight against misinformation, authoritarian lies, and online abuse is a fight we can win. https://t.co/RxBWy64pLn", "retweet_count": 199, "in_reply_to_screen_name": null, "quoted_status_id_str": "849401593636192258", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 7, "truncated": false, "id": 849306847999913984, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 784078, "url": "https://t.co/wJ1iQMh5yn", "id_str": "784078", "favourites_count": 3969, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "tiara.org", "expanded_url": "http://www.tiara.org", "url": "https://t.co/wJ1iQMh5yn"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/271273236/me_laughing_cropped_normal.jpg", "profile_link_color": "981CEB", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme4/bg.gif", "listed_count": 393, "screen_name": "alicetiara", "profile_use_background_image": true, "followers_count": 5292, "statuses_count": 7965, "profile_background_color": "0099B9", "friends_count": 996, "created_at": "Tue Feb 20 19:27:48 +0000 2007", "location": "New York, NY", "is_translator": false, "verified": false, "profile_sidebar_border_color": "5ED4DC", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme4/bg.gif", "has_extended_profile": false, "protected": false, "description": "Marwick, comm professor & fellow @datasociety. Former @McGannonCenter @fordhamcms @msrne. Studies social media & society. Loves kitsch, pop culture, & feminism", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/271273236/me_laughing_cropped_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/784078/1475824329", "follow_request_sent": false, "profile_text_color": "3C3940", "geo_enabled": false, "profile_sidebar_fill_color": "95E8EC", "name": "alicetiara", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "jennydeluxe", "id_str": "10454572", "name": "Jenna //\\\\ Wortham", "id": 10454572, "indices": [17, 29]}], "hashtags": [], "urls": [{"indices": [113, 136], "display_url": "nytimes.com/2017/04/04/mag\u2026", "expanded_url": "https://www.nytimes.com/2017/04/04/magazine/why-cant-silicon-valley-fix-online-harassment.html", "url": "https://t.co/swKWrtcbKG"}], "symbols": []}, "id_str": "849306847999913984", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Apr 04 17:05:06 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "So I'm quoted in @jennydeluxe's new NYT story on online harassment and I wanna qualify my \"lost cause\" statement https://t.co/swKWrtcbKG", "retweet_count": 6, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 849448639428796417, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "alicetiara", "id_str": "784078", "name": "alicetiara", "id": 784078, "indices": [3, 14]}, {"screen_name": "jennydeluxe", "id_str": "10454572", "name": "Jenna //\\\\ Wortham", "id": 10454572, "indices": [33, 45]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849448639428796417", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 02:28:32 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @alicetiara: So I'm quoted in @jennydeluxe's new NYT story on online harassment and I wanna qualify my \"lost cause\" statement https://t.\u2026", "retweet_count": 6, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 3, "truncated": false, "id": 849430000164110336, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849430000164110336", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849428875855659009, "created_at": "Wed Apr 05 01:14:28 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "Online harassment is no more a lost cause than any of the grand challenges of society that truly matter; it's much more tractable than many", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "849428875855659009", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": true, "id": 849428875855659009, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [117, 140], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/849428875855659009", "url": "https://t.co/TxGzPjNvj2"}], "symbols": []}, "id_str": "849428875855659009", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 1, "truncated": false, "id": 849416065679536128, "in_reply_to_user_id_str": null, "user": {"time_zone": "Pacific Time (US & Canada)", "notifications": false, "id": 125265789, "url": null, "id_str": "125265789", "favourites_count": 839, "entities": {"description": {"urls": []}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/733176189305528320/UxTrZVpH_normal.jpg", "profile_link_color": "1B95E0", "lang": "en", "utc_offset": -25200, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "listed_count": 17, "screen_name": "brittanheller", "profile_use_background_image": false, "followers_count": 491, "statuses_count": 1439, "profile_background_color": "000000", "friends_count": 332, "created_at": "Mon Mar 22 07:32:04 +0000 2010", "location": "San Francisco, CA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "000000", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "has_extended_profile": false, "protected": false, "description": "Director of Technology and Society @ADL_National | Imagine a world without hate | Views expressed are my own and RTs are not endorsements.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/733176189305528320/UxTrZVpH_normal.jpg", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": false, "profile_sidebar_fill_color": "000000", "name": "Brittan Heller", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [48, 71], "display_url": "nyti.ms/2nSlws4", "expanded_url": "https://nyti.ms/2nSlws4", "url": "https://t.co/HxNfvRzGWn"}], "symbols": []}, "id_str": "849416065679536128", "source": "Twitter for iPhone", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 00:19:06 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Why Can\u2019t Silicon Valley Fix Online Harassment? https://t.co/HxNfvRzGWn", "retweet_count": 1, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 01:10:00 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 849416065679536128, "geo": null, "text": "I wish we had context for Alice's quote that progress on harassment is a lost cause. I know she doesn't believe it,\u2026 https://t.co/TxGzPjNvj2", "retweet_count": 0, "in_reply_to_screen_name": null, "quoted_status_id_str": "849416065679536128", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 2, "truncated": false, "id": 849376832847785984, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "mattwallaert", "id_str": "12512312", "name": "matt wallaert", "id": 12512312, "indices": [20, 33]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849376832847785984", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Apr 04 21:43:12 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "Great conv today w/ @mattwallaert on tremendous potential from behavioral science for social good on platforms & ways to reap those benefits", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": true, "id": 849376036517228544, "in_reply_to_user_id_str": "12512312", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "mattwallaert", "id_str": "12512312", "name": "matt wallaert", "id": 12512312, "indices": [0, 13]}, {"screen_name": "andresmh", "id_str": "14392797", "name": "Andr\u00e9s Monroy", "id": 14392797, "indices": [14, 23]}], "hashtags": [], "urls": [{"indices": [117, 140], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/849376036517228544", "url": "https://t.co/aUVBZsavA6"}], "symbols": []}, "id_str": "849376036517228544", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849374590149300224, "created_at": "Tue Apr 04 21:40:02 +0000 2017", "in_reply_to_user_id": 12512312, "geo": null, "text": "@mattwallaert @andresmh Thanks for the intro Andr\u00e9s, and thanks for a great discussion today, Matt; I'm looking for\u2026 https://t.co/aUVBZsavA6", "retweet_count": 0, "in_reply_to_screen_name": "mattwallaert", "in_reply_to_status_id_str": "849374590149300224", "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 649, "truncated": true, "id": 849215231549157377, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 115763683, "url": "http://t.co/uuWFtq4Jab", "id_str": "115763683", "favourites_count": 560, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "acm.org", "expanded_url": "http://www.acm.org", "url": "http://t.co/uuWFtq4Jab"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/656872290492284928/6Vk-M4KK_normal.jpg", "profile_link_color": "1DA1F2", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "listed_count": 1252, "screen_name": "TheOfficialACM", "profile_use_background_image": true, "followers_count": 33360, "statuses_count": 5582, "profile_background_color": "C0DEED", "friends_count": 447, "created_at": "Fri Feb 19 21:27:46 +0000 2010", "location": "New York, NY", "is_translator": false, "verified": false, "profile_sidebar_border_color": "C0DEED", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "has_extended_profile": false, "protected": false, "description": "ACM is the world\u2019s largest educational and scientific computing society with more than 100,000 members. Be Creative. Stay Connected. Keep Inventing.", "is_translation_enabled": false, "default_profile": true, "profile_image_url": "http://pbs.twimg.com/profile_images/656872290492284928/6Vk-M4KK_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/115763683/1445445521", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "DDEEF6", "name": "Official ACM", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [{"indices": [81, 96], "text": "ACMTuringAward"}], "urls": [{"indices": [99, 122], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/849215231549157377", "url": "https://t.co/R5hiJIiCWm"}], "symbols": []}, "id_str": "849215231549157377", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Apr 04 11:01:03 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "ACM is pleased to announce that Sir Tim Berners-Lee is the recipient of the 2016 #ACMTuringAward!\u2026 https://t.co/R5hiJIiCWm", "retweet_count": 656, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 849375753674391554, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "TheOfficialACM", "id_str": "115763683", "name": "Official ACM", "id": 115763683, "indices": [3, 18]}], "hashtags": [{"indices": [101, 116], "text": "ACMTuringAward"}], "urls": [], "symbols": []}, "id_str": "849375753674391554", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Apr 04 21:38:54 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @TheOfficialACM: ACM is pleased to announce that Sir Tim Berners-Lee is the recipient of the 2016 #ACMTuringAward! https://t.co/NYHmuEQQ\u2026", "retweet_count": 656, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 7, "truncated": false, "id": 849366064744026112, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 14140375, "url": "http://t.co/YBD8ymWmeM", "id_str": "14140375", "favourites_count": 242, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "samidh.com", "expanded_url": "http://www.samidh.com", "url": "http://t.co/YBD8ymWmeM"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/2668458577/aa16c50b1a7eca8b87dbe460b94d79c1_normal.png", "profile_link_color": "1DA1F2", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "listed_count": 27, "screen_name": "samidh", "profile_use_background_image": true, "followers_count": 562, "statuses_count": 1298, "profile_background_color": "C0DEED", "friends_count": 160, "created_at": "Thu Mar 13 16:09:11 +0000 2008", "location": "Bay Area, CA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "C0DEED", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "has_extended_profile": false, "protected": false, "description": "PM for Civic Engagement at Facebook.", "is_translation_enabled": false, "default_profile": true, "profile_image_url": "http://pbs.twimg.com/profile_images/2668458577/aa16c50b1a7eca8b87dbe460b94d79c1_normal.png", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "DDEEF6", "name": "Samidh", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [118, 141], "display_url": "facebook.com/careers/jobs/a\u2026", "expanded_url": "https://www.facebook.com/careers/jobs/a0I1200000JYCwC/", "url": "https://t.co/FY0BEGiv05"}], "symbols": []}, "id_str": "849366064744026112", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Apr 04 21:00:24 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Want to join my team as a Product Manager leading Facebook's international elections & civic data work? Details: https://t.co/FY0BEGiv05", "retweet_count": 14, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 849375262714322944, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "samidh", "id_str": "14140375", "name": "Samidh", "id": 14140375, "indices": [3, 10]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849375262714322944", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Apr 04 21:36:57 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @samidh: Want to join my team as a Product Manager leading Facebook's international elections & civic data work? Details: https://t.co/\u2026", "retweet_count": 14, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 7, "truncated": false, "id": 849320336311111680, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849320336311111680", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Apr 04 17:58:42 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "Fascinating, provocative articles this week about online harassment & experimentation. Remembering to play the long game & finish the PhD", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 849307954654392320, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [65, 88], "display_url": "twitter.com/lizzie_wade/st\u2026", "expanded_url": "https://twitter.com/lizzie_wade/status/842395922264911872", "url": "https://t.co/IAaHXAIu94"}], "symbols": []}, "id_str": "849307954654392320", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 130, "truncated": false, "id": 842395922264911872, "in_reply_to_user_id_str": null, "user": {"time_zone": "Central Time (US & Canada)", "notifications": false, "id": 70784623, "url": "http://t.co/szjgwxKPtc", "id_str": "70784623", "favourites_count": 3006, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "lizziewade.com", "expanded_url": "http://lizziewade.com/", "url": "http://t.co/szjgwxKPtc"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/570270796522602496/ZTiD9Hhv_normal.png", "profile_link_color": "0084B4", "lang": "en", "utc_offset": -18000, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/685167118/26a5d7cd21a7c990c7b5dab9e79a3292.jpeg", "listed_count": 115, "screen_name": "lizzie_wade", "profile_use_background_image": true, "followers_count": 1957, "statuses_count": 4778, "profile_background_color": "C0DEED", "friends_count": 872, "created_at": "Tue Sep 01 21:01:48 +0000 2009", "location": "Mexico City", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/685167118/26a5d7cd21a7c990c7b5dab9e79a3292.jpeg", "has_extended_profile": false, "protected": false, "description": "Science writer, homecoming queen. Latin America correspondent for @NewsfromScience. Other words in @WIRED, @aeonmag, @Slate, and more. Eccentric enough.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/570270796522602496/ZTiD9Hhv_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/70784623/1425875151", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "DDEEF6", "name": "Lizzie Wade", "default_profile_image": false, "profile_background_tile": true, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [73, 96], "display_url": "sciencemag.org/news/2017/03/i\u2026", "expanded_url": "http://www.sciencemag.org/news/2017/03/it-wasnt-just-greece-archaeologists-find-early-democratic-societies-americas?utm_source=newsfromscience&utm_medium=facebook-text&utm_campaign=mesodemocracy-11757", "url": "https://t.co/Q77LU6H8PB"}], "symbols": []}, "id_str": "842395922264911872", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Thu Mar 16 15:23:33 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Best predictor of a democratic government? Taxes that fund public goods. https://t.co/Q77LU6H8PB", "retweet_count": 73, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Tue Apr 04 17:09:30 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 842395922264911872, "geo": null, "text": "\"Archaeologists find early democratic societies in the Americas\" https://t.co/IAaHXAIu94", "retweet_count": 2, "in_reply_to_screen_name": null, "quoted_status_id_str": "842395922264911872", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 6, "truncated": false, "id": 849236958924681217, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 37213193, "url": "http://t.co/3VA8Yzceuu", "id_str": "37213193", "favourites_count": 1236, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "davidlazer.com", "expanded_url": "http://www.davidlazer.com", "url": "http://t.co/3VA8Yzceuu"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/192936165/d_lazer_normal.jpg", "profile_link_color": "7FDBB6", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme6/bg.gif", "listed_count": 363, "screen_name": "davidlazer", "profile_use_background_image": false, "followers_count": 5354, "statuses_count": 7151, "profile_background_color": "000000", "friends_count": 1189, "created_at": "Sat May 02 15:11:37 +0000 2009", "location": "", "is_translator": false, "verified": false, "profile_sidebar_border_color": "000000", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme6/bg.gif", "has_extended_profile": true, "protected": false, "description": "Computational social scientist at Northeastern and Harvard Universities.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/192936165/d_lazer_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/37213193/1491675289", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": true, "profile_sidebar_fill_color": "000000", "name": "David Lazer", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "HelenMargetts", "id_str": "63859619", "name": "Helen Margetts", "id": 63859619, "indices": [11, 25]}, {"screen_name": "NatureHumBehav", "id_str": "706800925394997249", "name": "NatureHumanBehaviour", "id": 706800925394997249, "indices": [97, 112]}], "hashtags": [], "urls": [{"indices": [113, 136], "display_url": "go.nature.com/2ouvTVR", "expanded_url": "http://go.nature.com/2ouvTVR", "url": "https://t.co/InfqU0f1O3"}], "symbols": []}, "id_str": "849236958924681217", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Apr 04 12:27:23 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Good read: @HelenMargetts for research on social media on info consumption & pol behavior in @NatureHumBehav\nhttps://t.co/InfqU0f1O3", "retweet_count": 7, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 849263882426122240, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "davidlazer", "id_str": "37213193", "name": "David Lazer", "id": 37213193, "indices": [3, 14]}, {"screen_name": "HelenMargetts", "id_str": "63859619", "name": "Helen Margetts", "id": 63859619, "indices": [27, 41]}, {"screen_name": "NatureHumBehav", "id_str": "706800925394997249", "name": "NatureHumanBehaviour", "id": 706800925394997249, "indices": [113, 128]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849263882426122240", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Apr 04 14:14:22 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @davidlazer: Good read: @HelenMargetts for research on social media on info consumption & pol behavior in @NatureHumBehav\nhttps://t.co/I\u2026", "retweet_count": 7, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 2, "truncated": false, "id": 849243029185626114, "in_reply_to_user_id_str": "17324052", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "karineb", "id_str": "17324052", "name": "Karine Nahon", "id": 17324052, "indices": [0, 8]}, {"screen_name": "andy_sellars", "id_str": "14045642", "name": "Andy Sellars", "id": 14045642, "indices": [16, 29]}], "hashtags": [], "urls": [{"indices": [101, 124], "display_url": "papers.ssrn.com/sol3/papers.cf\u2026", "expanded_url": "https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2882244", "url": "https://t.co/GMmYLtPQ92"}], "symbols": []}, "id_str": "849243029185626114", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849157325982224385, "created_at": "Tue Apr 04 12:51:30 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": 17324052, "geo": null, "text": "@karineb Here's @andy_sellars article on defining hate speech, with traits for people identifying it https://t.co/GMmYLtPQ92", "retweet_count": 0, "in_reply_to_screen_name": "karineb", "in_reply_to_status_id_str": "849157325982224385", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 849242802596794368, "in_reply_to_user_id_str": "17324052", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "karineb", "id_str": "17324052", "name": "Karine Nahon", "id": 17324052, "indices": [0, 8]}], "hashtags": [], "urls": [{"indices": [54, 77], "display_url": "ewulczyn.github.io/images/ex_mach\u2026", "expanded_url": "https://ewulczyn.github.io/images/ex_machina.pdf", "url": "https://t.co/pR7B5JRtT1"}], "symbols": []}, "id_str": "849242802596794368", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849157325982224385, "created_at": "Tue Apr 04 12:50:36 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": 17324052, "geo": null, "text": "@karineb Here's Ellery's article on personal attacks: https://t.co/pR7B5JRtT1", "retweet_count": 0, "in_reply_to_screen_name": "karineb", "in_reply_to_status_id_str": "849157325982224385", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 849242607054204928, "in_reply_to_user_id_str": "17324052", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "karineb", "id_str": "17324052", "name": "Karine Nahon", "id": 17324052, "indices": [0, 8]}], "hashtags": [], "urls": [{"indices": [32, 55], "display_url": "ta-cos.org/sites/ta-cos.o\u2026", "expanded_url": "http://www.ta-cos.org/sites/ta-cos.org/files/tacos2016_SaleemDillionBeneschRuths.pdf", "url": "https://t.co/HlAD9oOMlI"}], "symbols": []}, "id_str": "849242607054204928", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849157325982224385, "created_at": "Tue Apr 04 12:49:50 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": 17324052, "geo": null, "text": "@karineb here's the one by Haji https://t.co/HlAD9oOMlI", "retweet_count": 0, "in_reply_to_screen_name": "karineb", "in_reply_to_status_id_str": "849157325982224385", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 849104030945206272, "in_reply_to_user_id_str": "2493", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "gleemie", "id_str": "2493", "name": "Lilly Irani", "id": 2493, "indices": [0, 8]}, {"screen_name": "lawlkat", "id_str": "92199427", "name": "Kat Lo", "id": 92199427, "indices": [9, 17]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849104030945206272", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 848978530524430338, "created_at": "Tue Apr 04 03:39:11 +0000 2017", "in_reply_to_user_id": 2493, "geo": null, "text": "@gleemie @lawlkat I love that this was not officially an accident, so it wasn't recorded", "retweet_count": 0, "in_reply_to_screen_name": "gleemie", "in_reply_to_status_id_str": "848978530524430338", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 6, "truncated": false, "id": 849064171236937729, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [110, 133], "display_url": "arxiv.org/abs/1703.04009", "expanded_url": "https://arxiv.org/abs/1703.04009", "url": "https://t.co/msE4CtcKP0"}], "symbols": []}, "id_str": "849064171236937729", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Apr 04 01:00:47 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Another hate speech detection paper; this one attempts to different hate speech from other kinds of nastiness https://t.co/msE4CtcKP0", "retweet_count": 7, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 2, "truncated": true, "id": 849019273012019201, "in_reply_to_user_id_str": "52222336", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "ConFigures", "id_str": "52222336", "name": "Sarah Elkins", "id": 52222336, "indices": [0, 11]}, {"screen_name": "jon_agar", "id_str": "206372089", "name": "Jon Agar", "id": 206372089, "indices": [12, 21]}, {"screen_name": "histoftech", "id_str": "401773648", "name": "Mar Hicks", "id": 401773648, "indices": [22, 33]}], "hashtags": [], "urls": [{"indices": [116, 139], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/849019273012019201", "url": "https://t.co/m8ZSVgWbHo"}], "symbols": []}, "id_str": "849019273012019201", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849015105601896449, "created_at": "Mon Apr 03 22:02:23 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": 52222336, "geo": null, "text": "@ConFigures @jon_agar @histoftech Andrew Meade McGee's work turned out to be just what I was looking for. Eager to\u2026 https://t.co/m8ZSVgWbHo", "retweet_count": 0, "in_reply_to_screen_name": "ConFigures", "in_reply_to_status_id_str": "849015105601896449", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": true, "id": 849008868713738240, "in_reply_to_user_id_str": "52222336", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "ConFigures", "id_str": "52222336", "name": "Sarah Elkins", "id": 52222336, "indices": [0, 11]}, {"screen_name": "jon_agar", "id_str": "206372089", "name": "Jon Agar", "id": 206372089, "indices": [12, 21]}, {"screen_name": "histoftech", "id_str": "401773648", "name": "Mar Hicks", "id": 401773648, "indices": [22, 33]}], "hashtags": [], "urls": [{"indices": [117, 140], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/849008868713738240", "url": "https://t.co/L457nUOcfl"}], "symbols": []}, "id_str": "849008868713738240", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849002073052127232, "created_at": "Mon Apr 03 21:21:02 +0000 2017", "in_reply_to_user_id": 52222336, "geo": null, "text": "@ConFigures @jon_agar @histoftech Agar's book on UK government computing does cover the ways that attitudes towards\u2026 https://t.co/L457nUOcfl", "retweet_count": 0, "in_reply_to_screen_name": "ConFigures", "in_reply_to_status_id_str": "849002073052127232", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 3, "truncated": false, "id": 848983727606816768, "in_reply_to_user_id_str": "84653850", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "BrendanNyhan", "id_str": "84653850", "name": "Brendan Nyhan", "id": 84653850, "indices": [0, 13]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "848983727606816768", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 848968780692807680, "created_at": "Mon Apr 03 19:41:08 +0000 2017", "in_reply_to_user_id": 84653850, "geo": null, "text": "@BrendanNyhan Would love to chat further about this and possible followup studies, after I defend on May 1st!", "retweet_count": 0, "in_reply_to_screen_name": "BrendanNyhan", "in_reply_to_status_id_str": "848968780692807680", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 848938503065014272, "in_reply_to_user_id_str": "15758490", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "Noleli", "id_str": "15758490", "name": "Noah Liebman", "id": 15758490, "indices": [0, 7]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "848938503065014272", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 848934156834877442, "created_at": "Mon Apr 03 16:41:26 +0000 2017", "in_reply_to_user_id": 15758490, "geo": null, "text": "@Noleli I've developed the technology infrastructure for it in my PhD project", "retweet_count": 0, "in_reply_to_screen_name": "Noleli", "in_reply_to_status_id_str": "848934156834877442", "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 11, "truncated": false, "id": 848898265550655490, "in_reply_to_user_id_str": null, "user": {"time_zone": null, "notifications": false, "id": 56341402, "url": null, "id_str": "56341402", "favourites_count": 168, "entities": {"description": {"urls": []}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000578700709/66c637100eac36a06d9312092e7fbeb7_normal.png", "profile_link_color": "1DA1F2", "lang": "en", "utc_offset": null, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "listed_count": 499, "screen_name": "barabasi", "profile_use_background_image": true, "followers_count": 9390, "statuses_count": 1512, "profile_background_color": "C0DEED", "friends_count": 126, "created_at": "Mon Jul 13 10:40:57 +0000 2009", "location": "", "is_translator": false, "verified": false, "profile_sidebar_border_color": "C0DEED", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "has_extended_profile": false, "protected": false, "description": "", "is_translation_enabled": false, "default_profile": true, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000578700709/66c637100eac36a06d9312092e7fbeb7_normal.png", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "DDEEF6", "name": "Laszlo Barabasi", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [117, 140], "display_url": "ow.ly/qmfy30arhpb", "expanded_url": "http://ow.ly/qmfy30arhpb", "url": "https://t.co/QbHTrgZTHN"}], "symbols": []}, "id_str": "848898265550655490", "source": "Hootsuite", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Mon Apr 03 14:01:32 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "How can women gain equal recognition in creative fields? Submit your abstracts for Gendered Creative Teams Workshop: https://t.co/QbHTrgZTHN", "retweet_count": 14, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 848898609928122368, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "barabasi", "id_str": "56341402", "name": "Laszlo Barabasi", "id": 56341402, "indices": [3, 12]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "848898609928122368", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Mon Apr 03 14:02:55 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @barabasi: How can women gain equal recognition in creative fields? Submit your abstracts for Gendered Creative Teams Workshop: https://\u2026", "retweet_count": 14, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 848892434260131841, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [112, 135], "display_url": "wired.com/2017/04/elusiv\u2026", "expanded_url": "https://www.wired.com/2017/04/elusive-math-proof-found-almost-lost/?mbid=social_fb_onsiteshare", "url": "https://t.co/SOgiMyqZvX"}], "symbols": []}, "id_str": "848892434260131841", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Mon Apr 03 13:38:22 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "> The \u201cfeeling of deep joy and gratitude\u201d that comes from finding an important proof has been reward enough. https://t.co/SOgiMyqZvX", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 848884763964440577, "in_reply_to_user_id_str": "414890881", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "jmreagle", "id_str": "414890881", "name": "Joseph Reagle", "id": 414890881, "indices": [0, 9]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "848884763964440577", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 848884691679809537, "created_at": "Mon Apr 03 13:07:53 +0000 2017", "in_reply_to_user_id": 414890881, "geo": null, "text": "@jmreagle chapter two of my dissertation! <3", "retweet_count": 0, "in_reply_to_screen_name": "jmreagle", "in_reply_to_status_id_str": "848884691679809537", "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 38, "truncated": false, "id": 848883902185865219, "in_reply_to_user_id_str": "65375759", "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 65375759, "url": "http://t.co/32zLRNverc", "id_str": "65375759", "favourites_count": 18609, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "technosociology.org", "expanded_url": "http://www.technosociology.org", "url": "http://t.co/32zLRNverc"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/852492056798916608/bydhBkye_normal.jpg", "profile_link_color": "0084B4", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/472471958014021632/dUj8haPh.jpeg", "listed_count": 3745, "screen_name": "zeynep", "profile_use_background_image": false, "followers_count": 242893, "statuses_count": 72176, "profile_background_color": "C0DEED", "friends_count": 861, "created_at": "Thu Aug 13 14:32:22 +0000 2009", "location": "", "is_translator": false, "verified": true, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/472471958014021632/dUj8haPh.jpeg", "has_extended_profile": false, "protected": false, "description": "Thinking about our tools, ourselves. @UNCSILS+Sociology Associate Prof. @NYTimes writer. @BKCHarvard. Former: @PrincetonCITP, @Message & Carnegie Fellow.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/852492056798916608/bydhBkye_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/65375759/1491228723", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "DDEEF6", "name": "Zeynep Tufekci", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "848883902185865219", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 848883638758502400, "created_at": "Mon Apr 03 13:04:28 +0000 2017", "in_reply_to_user_id": 65375759, "geo": null, "text": "The key is asymmetric data, surveillance & platform control merging with social science and experimentation at scale in service of control.", "retweet_count": 21, "in_reply_to_screen_name": "zeynep", "in_reply_to_status_id_str": "848883638758502400", "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 848884388762861568, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "zeynep", "id_str": "65375759", "name": "Zeynep Tufekci", "id": 65375759, "indices": [3, 10]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "848884388762861568", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Mon Apr 03 13:06:24 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @zeynep: The key is asymmetric data, surveillance & platform control merging with social science and experimentation at scale in service\u2026", "retweet_count": 21, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 8, "truncated": false, "id": 848880199034908672, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "848880199034908672", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 848878949765656576, "created_at": "Mon Apr 03 12:49:45 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "In the 1930s, unions responded to scientific management with their own data science teams to negotiate with firms. We could do the same", "retweet_count": 4, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "848878949765656576", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 2, "truncated": false, "id": 848878949765656576, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "848878949765656576", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 848878335476346880, "created_at": "Mon Apr 03 12:44:47 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "But if we generate bodies of knowledge that exclusively help employers tip all the scales, workers will complain. c.f. Scientific Management", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "848878335476346880", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 3, "truncated": false, "id": 848878335476346880, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "848878335476346880", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Mon Apr 03 12:42:21 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "Lots of colleagues are calling the language in this article overblown, preferring that we differentiate the methods from the manipulation", "retweet_count": 1, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 17, "truncated": false, "id": 848877605814247424, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "848877605814247424", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Mon Apr 03 12:39:27 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "Articles on Uber's experiments give me more motivation to finish my dissertation on platform power & behavioral science experimentation", "retweet_count": 1, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 4, "truncated": false, "id": 848876984537141248, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "noamscheiber", "id_str": "249469549", "name": "Noam Scheiber", "id": 249469549, "indices": [89, 102]}], "hashtags": [], "urls": [{"indices": [103, 126], "display_url": "nytimes.com/interactive/20\u2026", "expanded_url": "https://www.nytimes.com/interactive/2017/04/02/technology/uber-drivers-psychological-tricks.html?_r=0", "url": "https://t.co/iSCWJ6VUq1"}], "symbols": []}, "id_str": "848876984537141248", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Mon Apr 03 12:36:59 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Behind-the-schenes look at Uber's use of behavioral science to shape driver behavior, by @noamscheiber https://t.co/iSCWJ6VUq1", "retweet_count": 1, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 848874949452451840, "in_reply_to_user_id_str": "281348080", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "sarakyeo", "id_str": "281348080", "name": "Sara K. Yeo", "id": 281348080, "indices": [0, 9]}], "hashtags": [], "urls": [{"indices": [103, 126], "display_url": "civilservant.io/moderation_exp\u2026", "expanded_url": "http://civilservant.io/moderation_experiment_r_science_rule_posting.html", "url": "https://t.co/dsu28F8Hk8"}], "symbols": []}, "id_str": "848874949452451840", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 848761634575089665, "created_at": "Mon Apr 03 12:28:53 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": 281348080, "geo": null, "text": "@sarakyeo Hi Sara! I work with r/science to do a field experiments. We're always looking for new ideas https://t.co/dsu28F8Hk8", "retweet_count": 0, "in_reply_to_screen_name": "sarakyeo", "in_reply_to_status_id_str": "848761634575089665", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 848742265099038720, "in_reply_to_user_id_str": "2291049618", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "MuhammedKambal", "id_str": "2291049618", "name": "Mohamed Suliman", "id": 2291049618, "indices": [0, 15]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "848742265099038720", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 848740506557452288, "created_at": "Mon Apr 03 03:41:39 +0000 2017", "in_reply_to_user_id": 2291049618, "geo": null, "text": "@MuhammedKambal lots of studies work fine with the knowledge of the participants of the studies", "retweet_count": 0, "in_reply_to_screen_name": "MuhammedKambal", "in_reply_to_status_id_str": "848740506557452288", "coordinates": null, "retweeted": false}] \ No newline at end of file diff --git a/tests/fixture_data/twitter_username_list.json b/tests/fixture_data/twitter_username_list.json new file mode 100644 index 0000000..774d486 --- /dev/null +++ b/tests/fixture_data/twitter_username_list.json @@ -0,0 +1 @@ +["masrarabiasport", "zaynoo55", "uzomediaonline", "gmgq58j4hcb5hvb", "maria_h_k", "samiafox2", "sooos243", "itihad_vs", "aleymnews", "javimerino_93", "alhadathalyoum1", "sunil_k1", "alnah65484hy", "world_saudi2013", "fvpdn5nuufurout", "calpsoslewpcp1h", "mzi71", "sachin_6600", "kinghafimawesi", "yalla_test", "ubspa9wgqy5kqdd", "maoaal1223", "dawrisaudi4k", "wa5imm", "thilangura", "arranobaltzaa", "tabiii3live433", "thotas9999", "thatsalafi", "newnevvs", "engr_naveed111", "koraliv18715232", "tailsdoll553", "mhamdalshrary", "marceloroger435", "skdjhasjgdagshf", "abirbcse", "5barko", "ad81kbaj7bji6az", "amateursinhose", "mdesantiago1", "snd_ds", "u54547", "rizwan_gillani", "moollaooeeew", "ari_franchi", "gorodova1985", "ranukad", "gizhhfqn3ahk4hd", "alshamsiksa", "shukrytwitts", "trf_00", "a654894y", "kora2day", "sollicitatielab", "nayf1438", "vishalprash", "live7sport77", "5454564hy", "iunfm1", "nitindhanuka", "so6an_999", "dyoathletic", "a65489451thy", "bein720", "sureshrcs", "skattt4", "jojo5265", "fofo_5033", "newsrany", "aioood_303_rr", "kazztr_", "judahdavies", "alluswagg", "yalalalooooo", "alna654564thy", "al3sol1", "887fyf054", "thetruevoicetv", "footballf121", "m_abu_husam", "5845hy", "muzomamichael", "actionha_live", "mrplanner1", "uof5to5zvhrxjtw"] \ No newline at end of file diff --git a/tests/fixture_data/twitter_users.json b/tests/fixture_data/twitter_users.json new file mode 100644 index 0000000..3fe799b --- /dev/null +++ b/tests/fixture_data/twitter_users.json @@ -0,0 +1 @@ +[{"verified": false, "lang": "en", "id_str": "2768381226", "profile_link_color": "89C9FA", "default_profile": false, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 23], "url": "https://t.co/9kFpcZTPXw", "expanded_url": "https://footballtactics1415.wordpress.com", "display_url": "footballtactics1415.wordpress.com"}]}, "description": {"urls": []}}, "followers_count": 6620, "contributors_enabled": false, "name": "JD", "url": "https://t.co/9kFpcZTPXw", "profile_text_color": "000000", "profile_sidebar_fill_color": "000000", "profile_image_url": "http://pbs.twimg.com/profile_images/785404586999832576/W8L0DtZZ_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "en", "id_str": "853639883319111680", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [{"name": "JD", "indices": [3, 15], "screen_name": "JudahDavies", "id": 2768381226, "id_str": "2768381226"}]}, "favorited": false, "source": "Twitter Web Client", "text": "RT @JudahDavies: Mou's initial plan:\n6-2-2 with tight man-marking. Typical Mourinho: little pressure on 1st ball carrier, gradually increas\u2026", "contributors": null, "coordinates": null, "retweeted": false, "retweeted_status": {"lang": "en", "id_str": "841388572242522112", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [116, 139], "url": "https://t.co/xzIfXJqodj", "expanded_url": "https://twitter.com/i/web/status/841388572242522112", "display_url": "twitter.com/i/web/status/8\u2026"}], "hashtags": [], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "text": "Mou's initial plan:\n6-2-2 with tight man-marking. Typical Mourinho: little pressure on 1st ball carrier, gradually\u2026 https://t.co/xzIfXJqodj", "contributors": null, "coordinates": null, "retweeted": false, "id": 841388572242522112, "created_at": "Mon Mar 13 20:40:42 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 233, "favorite_count": 306, "truncated": true, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "id": 853639883319111680, "created_at": "Sun Apr 16 16:03:02 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 233, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "in_reply_to_status_id": null}, "description": "Opposition Scout @htafcdotcom Tactical analyst @spielvercom and Football Coach| 19", "screen_name": "JudahDavies", "id": 2768381226, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 2345, "notifications": false, "listed_count": 156, "location": "Bournemouth/London", "profile_background_color": "000000", "has_extended_profile": false, "utc_offset": 3600, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 7504, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/785404586999832576/W8L0DtZZ_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": false, "friends_count": 688, "profile_banner_url": "https://pbs.twimg.com/profile_banners/2768381226/1468441782", "created_at": "Mon Aug 25 23:42:52 +0000 2014", "time_zone": "London", "profile_sidebar_border_color": "000000"}, {"verified": false, "lang": "es", "id_str": "2760688606", "profile_link_color": "0084B4", "default_profile": false, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 22], "url": "http://t.co/W5AIavsnWq", "expanded_url": "http://www.deporteyocio.es/search/label/Athletic", "display_url": "deporteyocio.es/search/label/A\u2026"}]}, "description": {"urls": []}}, "followers_count": 3143, "contributors_enabled": false, "name": "Dyo Athletic", "url": "http://t.co/W5AIavsnWq", "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/631888485532758016/LBTLmj9N_normal.png", "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/507603077168263168/_U-f9CVF.jpeg", "status": {"lang": "es", "id_str": "853699988966256653", "place": null, "extended_entities": {"media": [{"indices": [115, 138], "media_url": "http://pbs.twimg.com/media/C9jzUV2V0AAJ9PZ.jpg", "expanded_url": "https://twitter.com/Athletic_MD/status/853699662833827840/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9jzUV2V0AAJ9PZ.jpg", "id_str": "853699660174708736", "source_status_id_str": "853699662833827840", "type": "photo", "source_user_id": 4803755908, "source_status_id": 853699662833827840, "source_user_id_str": "4803755908", "url": "https://t.co/TeE3qxEYRh", "sizes": {"small": {"resize": "fit", "w": 680, "h": 384}, "medium": {"resize": "fit", "w": 980, "h": 554}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 980, "h": 554}}, "display_url": "pic.twitter.com/TeE3qxEYRh", "id": 853699660174708736}]}, "entities": {"symbols": [], "urls": [{"indices": [71, 94], "url": "https://t.co/CJfNEyNF7u", "expanded_url": "http://www.mundodeportivo.com/futbol/athletic-bilbao/20170416/421753559467/athletic-eibar-mendilibar-ipurua.html?utm_source=dlvr.it&utm_medium=twitter", "display_url": "mundodeportivo.com/futbol/athleti\u2026"}], "hashtags": [], "user_mentions": [{"name": "Mundo Deportivo", "indices": [99, 114], "screen_name": "mundodeportivo", "id": 15748165, "id_str": "15748165"}], "media": [{"indices": [115, 138], "media_url": "http://pbs.twimg.com/media/C9jzUV2V0AAJ9PZ.jpg", "expanded_url": "https://twitter.com/Athletic_MD/status/853699662833827840/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9jzUV2V0AAJ9PZ.jpg", "id_str": "853699660174708736", "source_status_id_str": "853699662833827840", "type": "photo", "source_user_id": 4803755908, "source_status_id": 853699662833827840, "source_user_id_str": "4803755908", "url": "https://t.co/TeE3qxEYRh", "sizes": {"small": {"resize": "fit", "w": 680, "h": 384}, "medium": {"resize": "fit", "w": 980, "h": 554}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 980, "h": 554}}, "display_url": "pic.twitter.com/TeE3qxEYRh", "id": 853699660174708736}]}, "favorited": false, "source": "Twitter for Android", "text": "Eibar ya habla de \u201cpartido clave\u201d con el Athletic tras perder vs Betis https://t.co/CJfNEyNF7u v\u00eda @mundodeportivo https://t.co/TeE3qxEYRh", "contributors": null, "coordinates": null, "retweeted": false, "id": 853699988966256653, "created_at": "Sun Apr 16 20:01:53 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "in_reply_to_screen_name": null, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "Cuenta asociada a @deporteyocio. Gestionada por @jabustamante001. Sigue todas las noticias del Athletic Club. contacto@deporteyocio.es", "screen_name": "dyoathletic", "id": 2760688606, "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/507603077168263168/_U-f9CVF.jpeg", "default_profile_image": false, "following": false, "favourites_count": 3698, "notifications": false, "listed_count": 21, "location": "Bilbao, Espa\u00f1a", "profile_background_color": "C0DEED", "has_extended_profile": true, "utc_offset": 7200, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 16146, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/631888485532758016/LBTLmj9N_normal.png", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 2625, "profile_banner_url": "https://pbs.twimg.com/profile_banners/2760688606/1477472318", "created_at": "Wed Sep 03 20:19:24 +0000 2014", "time_zone": "Ljubljana", "profile_sidebar_border_color": "FFFFFF"}, {"verified": false, "lang": "en", "id_str": "793908765607202818", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 23], "url": "https://t.co/MH98cJPS5s", "expanded_url": "http://uzomediangr.wordpress.com", "display_url": "uzomediangr.wordpress.com"}]}, "description": {"urls": []}}, "followers_count": 54, "contributors_enabled": false, "name": "Michael UzomaMichael", "url": "https://t.co/MH98cJPS5s", "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/806884243406254080/ZNjLNV5K_normal.jpg", "profile_background_image_url_https": null, "status": {"lang": "en", "id_str": "853352268657115136", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [], "hashtags": [{"indices": [72, 87], "text": "SarakiProjects"}], "user_mentions": [{"name": "Shewn007", "indices": [3, 12], "screen_name": "shewn007", "id": 146947063, "id_str": "146947063"}, {"name": "Bukola Saraki", "indices": [112, 125], "screen_name": "bukolasaraki", "id": 157011426, "id_str": "157011426"}]}, "favorited": false, "source": "Naibac Influencer Network", "text": "RT @shewn007: As earlier promised and as a follow up to the read out of #SarakiProjects of this morning, the SP @bukolasaraki did some insp\u2026", "contributors": null, "coordinates": null, "retweeted": false, "retweeted_status": {"lang": "en", "id_str": "853320185104801792", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [117, 140], "url": "https://t.co/m0MAlbcaNe", "expanded_url": "https://twitter.com/i/web/status/853320185104801792", "display_url": "twitter.com/i/web/status/8\u2026"}], "hashtags": [{"indices": [58, 73], "text": "SarakiProjects"}], "user_mentions": [{"name": "Bukola Saraki", "indices": [98, 111], "screen_name": "bukolasaraki", "id": 157011426, "id_str": "157011426"}]}, "favorited": false, "source": "Twitter for Android", "text": "As earlier promised and as a follow up to the read out of #SarakiProjects of this morning, the SP @bukolasaraki did\u2026 https://t.co/m0MAlbcaNe", "contributors": null, "coordinates": null, "retweeted": false, "id": 853320185104801792, "created_at": "Sat Apr 15 18:52:40 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 252, "favorite_count": 9, "truncated": true, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "id": 853352268657115136, "created_at": "Sat Apr 15 21:00:10 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 252, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "in_reply_to_status_id": null}, "description": "Michael Uzoma Michael: Blogger, writer and founder @UzomediaOnline #Uzomedia", "screen_name": "MUzomaMichael", "id": 793908765607202818, "profile_background_image_url": null, "default_profile_image": false, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 8, "location": "World", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 10335, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/806884243406254080/ZNjLNV5K_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 50, "profile_banner_url": "https://pbs.twimg.com/profile_banners/793908765607202818/1481211218", "created_at": "Wed Nov 02 20:12:54 +0000 2016", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "1612942082", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 786, "contributors_enabled": false, "name": "\u0643\u0648\u0631\u0629 \u0645\u0628\u0627\u0634\u0631", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/848195829697568768/PU69zX9E_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "ar", "id_str": "853645421956222976", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [63, 86], "url": "https://t.co/ZunNK47QW6", "expanded_url": "https://goo.gl/ekrrSz", "display_url": "goo.gl/ekrrSz"}, {"indices": [97, 120], "url": "https://t.co/YfYMntktuc", "expanded_url": "https://twitter.com/i/web/status/853645421956222976", "display_url": "twitter.com/i/web/status/8\u2026"}], "hashtags": [{"indices": [24, 48], "text": "\u0645\u0627\u0646\u0634\u0633\u062a\u0631_\u064a\u0648\u0646\u0627\u064a\u062a\u062f_\u062a\u0634\u064a\u0644\u0633\u064a\u0650"}], "user_mentions": []}, "favorited": false, "source": "TweetDeck", "text": "\u0644\u0627\u0627\u0627\u0627\u064a\u0641 \u0631\u0648\u0627\u0628\u0637 HD \u0645\u0634\u0627\u0647\u062f\u0629 #\u0645\u0627\u0646\u0634\u0633\u062a\u0631_\u064a\u0648\u0646\u0627\u064a\u062a\u062f_\u062a\u0634\u064a\u0644\u0633\u064a\u0650 \u0631\u0627\u0628\u0637\n \u064a\u0648\u062a\u064a\u0648\u0628 \nhttps://t.co/ZunNK47QW6\n\n\u0627\u0646\u062f\u0631\u0648\u064a\u062f\u2026 https://t.co/YfYMntktuc", "contributors": null, "coordinates": null, "retweeted": false, "id": 853645421956222976, "created_at": "Sun Apr 16 16:25:03 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 206, "favorite_count": 207, "truncated": true, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "skdjhasjgdagshf", "id": 1612942082, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 54, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "C0DEED", "has_extended_profile": false, "utc_offset": -25200, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 181, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/848195829697568768/PU69zX9E_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 1841, "profile_banner_url": "https://pbs.twimg.com/profile_banners/1612942082/1462405065", "created_at": "Mon Jul 22 14:21:17 +0000 2013", "time_zone": "Pacific Time (US & Canada)", "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "398507134", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 135, "contributors_enabled": false, "name": "Thilan Gurusinghe", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/675369060029304832/hD0ay1BA_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "und", "id_str": "721534720505458688", "place": {"place_type": "admin", "url": "https://api.twitter.com/1.1/geo/id/00ecb59b0dad186e.json", "contained_within": [], "name": "Sharjah", "country": "United Arab Emirates", "attributes": {}, "country_code": "AE", "full_name": "Sharjah, United Arab Emirates", "id": "00ecb59b0dad186e", "bounding_box": {"type": "Polygon", "coordinates": [[[55.0091271, 24.7328863], [56.3816989, 24.7328863], [56.3816989, 25.8997649], [55.0091271, 25.8997649]]]}}, "extended_entities": {"media": [{"indices": [24, 47], "media_url": "http://pbs.twimg.com/media/CgNn_DqWwAAPxRJ.jpg", "expanded_url": "https://twitter.com/thilangura/status/721534720505458688/photo/1", "media_url_https": "https://pbs.twimg.com/media/CgNn_DqWwAAPxRJ.jpg", "id_str": "721534698321788928", "url": "https://t.co/t1jxIGPD9V", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 340, "h": 453}, "medium": {"resize": "fit", "w": 600, "h": 800}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 960, "h": 1280}}, "display_url": "pic.twitter.com/t1jxIGPD9V", "id": 721534698321788928}, {"indices": [24, 47], "media_url": "http://pbs.twimg.com/media/CgNn_DwWEAIf5mo.jpg", "expanded_url": "https://twitter.com/thilangura/status/721534720505458688/photo/1", "media_url_https": "https://pbs.twimg.com/media/CgNn_DwWEAIf5mo.jpg", "id_str": "721534698346909698", "url": "https://t.co/t1jxIGPD9V", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 340, "h": 255}, "medium": {"resize": "fit", "w": 600, "h": 450}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 1024, "h": 768}}, "display_url": "pic.twitter.com/t1jxIGPD9V", "id": 721534698346909698}, {"indices": [24, 47], "media_url": "http://pbs.twimg.com/media/CgNn_DuWwAUT97B.jpg", "expanded_url": "https://twitter.com/thilangura/status/721534720505458688/photo/1", "media_url_https": "https://pbs.twimg.com/media/CgNn_DuWwAUT97B.jpg", "id_str": "721534698338566149", "url": "https://t.co/t1jxIGPD9V", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 340, "h": 453}, "medium": {"resize": "fit", "w": 600, "h": 800}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 960, "h": 1280}}, "display_url": "pic.twitter.com/t1jxIGPD9V", "id": 721534698338566149}, {"indices": [24, 47], "media_url": "http://pbs.twimg.com/media/CgNn_FvWsAARiY5.jpg", "expanded_url": "https://twitter.com/thilangura/status/721534720505458688/photo/1", "media_url_https": "https://pbs.twimg.com/media/CgNn_FvWsAARiY5.jpg", "id_str": "721534698879627264", "url": "https://t.co/t1jxIGPD9V", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 340, "h": 255}, "medium": {"resize": "fit", "w": 600, "h": 450}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 1024, "h": 768}}, "display_url": "pic.twitter.com/t1jxIGPD9V", "id": 721534698879627264}]}, "entities": {"symbols": [], "urls": [{"indices": [0, 23], "url": "https://t.co/7BBu0GmwOV", "expanded_url": "https://biddi.com/item-i60679.html?p=1", "display_url": "biddi.com/item-i60679.ht\u2026"}], "hashtags": [], "user_mentions": [], "media": [{"indices": [24, 47], "media_url": "http://pbs.twimg.com/media/CgNn_DqWwAAPxRJ.jpg", "expanded_url": "https://twitter.com/thilangura/status/721534720505458688/photo/1", "media_url_https": "https://pbs.twimg.com/media/CgNn_DqWwAAPxRJ.jpg", "id_str": "721534698321788928", "url": "https://t.co/t1jxIGPD9V", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 340, "h": 453}, "medium": {"resize": "fit", "w": 600, "h": 800}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 960, "h": 1280}}, "display_url": "pic.twitter.com/t1jxIGPD9V", "id": 721534698321788928}]}, "favorited": false, "source": "Twitter for iPhone", "text": "https://t.co/7BBu0GmwOV https://t.co/t1jxIGPD9V", "contributors": null, "coordinates": null, "retweeted": false, "id": 721534720505458688, "created_at": "Sun Apr 17 03:04:17 +0000 2016", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 1, "in_reply_to_screen_name": null, "favorite_count": 39, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "thilangura", "id": 398507134, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 46, "notifications": false, "listed_count": 1, "location": "Kandana, Sri Lanka", "profile_background_color": "C0DEED", "has_extended_profile": true, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 158, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/675369060029304832/hD0ay1BA_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 970, "profile_banner_url": "https://pbs.twimg.com/profile_banners/398507134/1404925239", "created_at": "Wed Oct 26 04:48:27 +0000 2011", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "135779262", "profile_link_color": "1B95E0", "default_profile": false, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 23], "url": "https://t.co/22uXpuJzTc", "expanded_url": "http://about.me/ranukad", "display_url": "about.me/ranukad"}]}, "description": {"urls": []}}, "followers_count": 5850, "contributors_enabled": false, "name": "Ko-Kiss\ud83d\udc8b Ask-Me\ud83d\udc66", "url": "https://t.co/22uXpuJzTc", "profile_text_color": "000000", "profile_sidebar_fill_color": "00FF03", "profile_image_url": "http://pbs.twimg.com/profile_images/834458909385437185/brzUiOyC_normal.jpg", "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/378800000165055265/0DyG0Lzy.jpeg", "status": {"lang": "si", "id_str": "853646889106817025", "place": null, "in_reply_to_screen_name": "chama617", "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [{"name": "Who am I?", "indices": [0, 9], "screen_name": "chama617", "id": 190988285, "id_str": "190988285"}]}, "favorited": false, "source": "Twitter for Android", "text": "@chama617 \u0d86\u0dba\u0dd2 \u0d86\u0dba\u0dd2 \ud83e\udd17\ud83e\udd17\ud83e\udd17", "contributors": null, "coordinates": null, "retweeted": false, "id": 853646889106817025, "created_at": "Sun Apr 16 16:30:53 +0000 2017", "in_reply_to_user_id_str": "190988285", "is_quote_status": false, "in_reply_to_user_id": 190988285, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": "853645664684613632", "geo": null, "in_reply_to_status_id": 853645664684613632}, "description": "#ILLNoize Fan |Simple |Graduate |Computer Science| NIBM|NSBM|@ucddublin Snapchat|Instagram @ranukad", "screen_name": "ranukad", "id": 135779262, "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/378800000165055265/0DyG0Lzy.jpeg", "default_profile_image": false, "following": false, "favourites_count": 13901, "notifications": false, "listed_count": 47, "location": "Nugegoda,Ambalangoda,lka", "profile_background_color": "141314", "has_extended_profile": true, "utc_offset": 19800, "translator_type": "regular", "is_translator": false, "follow_request_sent": false, "statuses_count": 33599, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/834458909385437185/brzUiOyC_normal.jpg", "profile_background_tile": true, "protected": false, "profile_use_background_image": true, "friends_count": 1414, "profile_banner_url": "https://pbs.twimg.com/profile_banners/135779262/1435600572", "created_at": "Thu Apr 22 06:39:55 +0000 2010", "time_zone": "Sri Jayawardenepura", "profile_sidebar_border_color": "000000"}, {"verified": false, "lang": "ar", "id_str": "852943036803936256", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 1, "contributors_enabled": false, "name": "\u0627\u0645\u064a\u0631\u0647", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "852958881592594432", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [47, 70], "url": "https://t.co/3eY0OEztc1", "expanded_url": "http://ow.ly/699P30aRL0C", "display_url": "ow.ly/699P30aRL0C"}], "hashtags": [{"indices": [18, 36], "text": "\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0647"}, {"indices": [72, 98], "text": "\u0630\u0643\u0640\u0631_\u064a\u0639\u062a\u062f\u064a_\u0639\u0644\u064a_\u0627\u0645\u0631\u0627\u0647_\u0628\u0645\u0643\u0647"}], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "text": "\u062a\u062c\u062f\u064a\u062f \u0646\u0642\u0644 \u0645\u0628\u0627\u0631\u0627\u0629 #\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0647 \u0628\u062b \u0645\u0628\u0627\u0634\u0631\n\nhttps://t.co/3eY0OEztc1\n\n#\u0630\u0643\u0640\u0631_\u064a\u0639\u062a\u062f\u064a_\u0639\u0644\u064a_\u0627\u0645\u0631\u0627\u0647_\u0628\u0645\u0643\u0647", "contributors": null, "coordinates": null, "retweeted": false, "id": 852958881592594432, "created_at": "Fri Apr 14 18:56:59 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "GMgQ58j4hCb5HVb", "id": 852943036803936256, "profile_background_image_url": null, "default_profile_image": true, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 25, "geo_enabled": false, "profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 20, "protected": false, "created_at": "Fri Apr 14 17:54:01 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "1934219598", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 526, "contributors_enabled": false, "name": "\u0627\u0644\u0639\u0627\u0632\u0641 \u0639\u064a\u0648\u062f \u0627\u0644\u062f\u0648\u0633\u0631\u064a", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/464696148100251649/F8klw87t_normal.jpeg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "ar", "id_str": "853680288903426051", "place": null, "extended_entities": {"media": [{"indices": [56, 79], "media_url": "http://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "expanded_url": "https://twitter.com/vNw2f/status/853680261707571203/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "id_str": "853680251884457984", "source_status_id_str": "853680261707571203", "type": "photo", "source_user_id": 1321452678, "source_status_id": 853680261707571203, "source_user_id_str": "1321452678", "url": "https://t.co/0RyfRJe5zd", "sizes": {"small": {"resize": "fit", "w": 350, "h": 527}, "medium": {"resize": "fit", "w": 350, "h": 527}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 350, "h": 527}}, "display_url": "pic.twitter.com/0RyfRJe5zd", "id": 853680251884457984}]}, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [{"name": "\u0646\u0648\u0651\u0627\u0641", "indices": [3, 9], "screen_name": "vNw2f", "id": 1321452678, "id_str": "1321452678"}], "media": [{"indices": [56, 79], "media_url": "http://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "expanded_url": "https://twitter.com/vNw2f/status/853680261707571203/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "id_str": "853680251884457984", "source_status_id_str": "853680261707571203", "type": "photo", "source_user_id": 1321452678, "source_status_id": 853680261707571203, "source_user_id_str": "1321452678", "url": "https://t.co/0RyfRJe5zd", "sizes": {"small": {"resize": "fit", "w": 350, "h": 527}, "medium": {"resize": "fit", "w": 350, "h": 527}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 350, "h": 527}}, "display_url": "pic.twitter.com/0RyfRJe5zd", "id": 853680251884457984}]}, "favorited": false, "source": "TweetDeck", "text": "RT @vNw2f: \u0644\u0640\u0640\u064b\u0646 \u064a\u062a\u0645\u0643\u0646 \u0627\u0644\u0627\u0646\u064e\u0633\u0627\u0646 \u062f\u0627\u0626\u0645\u0627\u064b \u0628\u0627\u0644\u062d\u0638\u064a \u0628\u0645\u0627 \u064a\u062a\u0645\u0646\u0649 https://t.co/0RyfRJe5zd", "contributors": null, "coordinates": null, "retweeted": false, "retweeted_status": {"lang": "ar", "id_str": "853680261707571203", "place": null, "extended_entities": {"media": [{"indices": [45, 68], "media_url": "http://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "expanded_url": "https://twitter.com/vNw2f/status/853680261707571203/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "id_str": "853680251884457984", "url": "https://t.co/0RyfRJe5zd", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 350, "h": 527}, "medium": {"resize": "fit", "w": 350, "h": 527}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 350, "h": 527}}, "display_url": "pic.twitter.com/0RyfRJe5zd", "id": 853680251884457984}]}, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [], "media": [{"indices": [45, 68], "media_url": "http://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "expanded_url": "https://twitter.com/vNw2f/status/853680261707571203/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "id_str": "853680251884457984", "url": "https://t.co/0RyfRJe5zd", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 350, "h": 527}, "medium": {"resize": "fit", "w": 350, "h": 527}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 350, "h": 527}}, "display_url": "pic.twitter.com/0RyfRJe5zd", "id": 853680251884457984}]}, "favorited": false, "source": "TweetDeck", "text": "\u0644\u0640\u0640\u064b\u0646 \u064a\u062a\u0645\u0643\u0646 \u0627\u0644\u0627\u0646\u064e\u0633\u0627\u0646 \u062f\u0627\u0626\u0645\u0627\u064b \u0628\u0627\u0644\u062d\u0638\u064a \u0628\u0645\u0627 \u064a\u062a\u0645\u0646\u0649 https://t.co/0RyfRJe5zd", "contributors": null, "coordinates": null, "retweeted": false, "id": 853680261707571203, "created_at": "Sun Apr 16 18:43:29 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 195, "in_reply_to_screen_name": null, "favorite_count": 1, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "id": 853680288903426051, "created_at": "Sun Apr 16 18:43:36 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 195, "in_reply_to_screen_name": null, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "\u0645\u0628\u0631\u0648\u0643 \u064a\u0627 \u0627\u0646\u0627 \u0639\u0644\u0649 \u0627\u0644\u062e\u0637\u0628\u0647", "screen_name": "aioood_303_rr", "id": 1934219598, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 5, "notifications": false, "listed_count": 2, "location": "", "profile_background_color": "C0DEED", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 211, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/464696148100251649/F8klw87t_normal.jpeg", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 666, "protected": false, "created_at": "Fri Oct 04 13:20:08 +0000 2013", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "4691693046", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 219, "contributors_enabled": false, "name": "kora 100", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/821643265820819456/uf8ZDMHf_normal.jpg", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "853331214593404938", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [64, 87], "url": "https://t.co/vuLL7r9anr", "expanded_url": "https://goo.gl/8F4DoO", "display_url": "goo.gl/8F4DoO"}, {"indices": [89, 112], "url": "https://t.co/SELWDVATms", "expanded_url": "https://goo.gl/FdyRFL", "display_url": "goo.gl/FdyRFL"}], "hashtags": [{"indices": [114, 129], "text": "\u0627\u0644\u0647\u064c\u0644\u0627\u0644_\u0627\u0644\u0627\u0647\u0644\u064a"}], "user_mentions": [{"name": "online", "indices": [3, 15], "screen_name": "newsssss106", "id": 2184379017, "id_str": "2184379017"}]}, "favorited": false, "source": "TweetDeck", "text": "RT @newsssss106: \u0645\u0628\u0627\u0631\u0627\u0629 \u0627\u0644\u0647\u0644\u0627\u0644 \u0648\u0627\u0644\u0627\u0647\u0644\u064a \u0645\u0628\u0627\u0634\u0631 \u0627\u0648\u0646 \u0644\u0627\u064a\u0646\n\n\u0643\u0645\u0628\u064a\u0648\u062a\u0631 \nhttps://t.co/vuLL7r9anr\n\nhttps://t.co/SELWDVATms\n\n#\u0627\u0644\u0647\u064c\u0644\u0627\u0644_\u0627\u0644\u0627\u0647\u0644\u064a https://t\u2026", "contributors": null, "coordinates": null, "retweeted": false, "retweeted_status": {"lang": "ar", "id_str": "853331189918294016", "place": null, "extended_entities": {"media": [{"indices": [113, 136], "media_url": "http://pbs.twimg.com/media/C9ekL2ZW0AI_COQ.jpg", "expanded_url": "https://twitter.com/newsssss106/status/853331189918294016/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9ekL2ZW0AI_COQ.jpg", "id_str": "853331177897381890", "url": "https://t.co/erreQTywlB", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 644, "h": 366}, "medium": {"resize": "fit", "w": 644, "h": 366}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 644, "h": 366}}, "display_url": "pic.twitter.com/erreQTywlB", "id": 853331177897381890}]}, "entities": {"symbols": [], "urls": [{"indices": [47, 70], "url": "https://t.co/vuLL7r9anr", "expanded_url": "https://goo.gl/8F4DoO", "display_url": "goo.gl/8F4DoO"}, {"indices": [72, 95], "url": "https://t.co/SELWDVATms", "expanded_url": "https://goo.gl/FdyRFL", "display_url": "goo.gl/FdyRFL"}], "hashtags": [{"indices": [97, 112], "text": "\u0627\u0644\u0647\u064c\u0644\u0627\u0644_\u0627\u0644\u0627\u0647\u0644\u064a"}], "user_mentions": [], "media": [{"indices": [113, 136], "media_url": "http://pbs.twimg.com/media/C9ekL2ZW0AI_COQ.jpg", "expanded_url": "https://twitter.com/newsssss106/status/853331189918294016/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9ekL2ZW0AI_COQ.jpg", "id_str": "853331177897381890", "url": "https://t.co/erreQTywlB", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 644, "h": 366}, "medium": {"resize": "fit", "w": 644, "h": 366}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 644, "h": 366}}, "display_url": "pic.twitter.com/erreQTywlB", "id": 853331177897381890}]}, "favorited": false, "source": "TweetDeck", "text": "\u0645\u0628\u0627\u0631\u0627\u0629 \u0627\u0644\u0647\u0644\u0627\u0644 \u0648\u0627\u0644\u0627\u0647\u0644\u064a \u0645\u0628\u0627\u0634\u0631 \u0627\u0648\u0646 \u0644\u0627\u064a\u0646\n\n\u0643\u0645\u0628\u064a\u0648\u062a\u0631 \nhttps://t.co/vuLL7r9anr\n\nhttps://t.co/SELWDVATms\n\n#\u0627\u0644\u0647\u064c\u0644\u0627\u0644_\u0627\u0644\u0627\u0647\u0644\u064a https://t.co/erreQTywlB", "contributors": null, "coordinates": null, "retweeted": false, "id": 853331189918294016, "created_at": "Sat Apr 15 19:36:24 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 325, "in_reply_to_screen_name": null, "favorite_count": 328, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "id": 853331214593404938, "created_at": "Sat Apr 15 19:36:30 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 325, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "footballf121", "id": 4691693046, "profile_background_image_url": null, "default_profile_image": false, "following": false, "favourites_count": 461, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": -25200, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 618, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/821643265820819456/uf8ZDMHf_normal.jpg", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 178, "protected": false, "created_at": "Fri Jan 01 21:14:17 +0000 2016", "time_zone": "Pacific Time (US & Canada)", "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "852944096696180738", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 0, "contributors_enabled": false, "name": "\u064a\u0644\u0627 \u0634\u0648\u062a", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "852944493410230272", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "withheld_in_countries": ["XY"], "text": "This Tweet from @887fyf054 has been withheld in response to a report from the copyright holder.", "contributors": null, "coordinates": null, "retweeted": false, "withheld_copyright": true, "id": 852944493410230272, "created_at": "Fri Apr 14 17:59:48 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "withheld_scope": "status", "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "in_reply_to_status_id": null}, "description": "", "screen_name": "887fyf054", "id": 852944096696180738, "profile_background_image_url": null, "default_profile_image": true, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 5, "geo_enabled": false, "profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 0, "protected": false, "created_at": "Fri Apr 14 17:58:14 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ca", "id_str": "251831601", "profile_link_color": "19CF86", "default_profile": false, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 23], "url": "https://t.co/Kf9MCWUk8L", "expanded_url": "https://www.flickr.com/photos/mikidesantiago/", "display_url": "flickr.com/photos/mikides\u2026"}]}, "description": {"urls": []}}, "followers_count": 471, "contributors_enabled": false, "name": "Miquel de Santiago", "url": "https://t.co/Kf9MCWUk8L", "profile_text_color": "000000", "profile_sidebar_fill_color": "000000", "profile_image_url": "http://pbs.twimg.com/profile_images/830443341682704386/ZM_UUmT9_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme14/bg.gif", "status": {"lang": "und", "id_str": "853659928514502656", "place": null, "extended_entities": {"media": [{"indices": [110, 133], "media_url": "http://pbs.twimg.com/media/C9jGz__UQAApK5K.jpg", "expanded_url": "https://twitter.com/flleida/status/853650729218834433/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9jGz__UQAApK5K.jpg", "id_str": "853650726039339008", "source_status_id_str": "853650729218834433", "type": "photo", "source_user_id": 627341333, "source_status_id": 853650729218834433, "source_user_id_str": "627341333", "url": "https://t.co/YLp1eZx0Be", "sizes": {"small": {"resize": "fit", "w": 680, "h": 382}, "medium": {"resize": "fit", "w": 1200, "h": 674}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 1600, "h": 898}}, "display_url": "pic.twitter.com/YLp1eZx0Be", "id": 853650726039339008}]}, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [{"name": "Actel For\u00e7a Lleida", "indices": [3, 11], "screen_name": "flleida", "id": 627341333, "id_str": "627341333"}], "media": [{"indices": [110, 133], "media_url": "http://pbs.twimg.com/media/C9jGz__UQAApK5K.jpg", "expanded_url": "https://twitter.com/flleida/status/853650729218834433/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9jGz__UQAApK5K.jpg", "id_str": "853650726039339008", "source_status_id_str": "853650729218834433", "type": "photo", "source_user_id": 627341333, "source_status_id": 853650729218834433, "source_user_id_str": "627341333", "url": "https://t.co/YLp1eZx0Be", "sizes": {"small": {"resize": "fit", "w": 680, "h": 382}, "medium": {"resize": "fit", "w": 1200, "h": 674}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 1600, "h": 898}}, "display_url": "pic.twitter.com/YLp1eZx0Be", "id": 853650726039339008}]}, "favorited": false, "source": "Twitter for Android", "text": "RT @flleida: Una cinquantena de lleidatans donant suport a l'equip a Barcelona! Entre tots ho aconseguirem!\ud83d\udc4f\ud83d\udcaa https://t.co/YLp1eZx0Be", "contributors": null, "coordinates": null, "retweeted": false, "retweeted_status": {"lang": "und", "id_str": "853650729218834433", "place": null, "extended_entities": {"media": [{"indices": [97, 120], "media_url": "http://pbs.twimg.com/media/C9jGz__UQAApK5K.jpg", "expanded_url": "https://twitter.com/flleida/status/853650729218834433/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9jGz__UQAApK5K.jpg", "id_str": "853650726039339008", "url": "https://t.co/YLp1eZx0Be", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 680, "h": 382}, "medium": {"resize": "fit", "w": 1200, "h": 674}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 1600, "h": 898}}, "display_url": "pic.twitter.com/YLp1eZx0Be", "id": 853650726039339008}]}, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [], "media": [{"indices": [97, 120], "media_url": "http://pbs.twimg.com/media/C9jGz__UQAApK5K.jpg", "expanded_url": "https://twitter.com/flleida/status/853650729218834433/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9jGz__UQAApK5K.jpg", "id_str": "853650726039339008", "url": "https://t.co/YLp1eZx0Be", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 680, "h": 382}, "medium": {"resize": "fit", "w": 1200, "h": 674}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 1600, "h": 898}}, "display_url": "pic.twitter.com/YLp1eZx0Be", "id": 853650726039339008}]}, "favorited": false, "source": "Hootsuite", "text": "Una cinquantena de lleidatans donant suport a l'equip a Barcelona! Entre tots ho aconseguirem!\ud83d\udc4f\ud83d\udcaa https://t.co/YLp1eZx0Be", "contributors": null, "coordinates": null, "retweeted": false, "id": 853650729218834433, "created_at": "Sun Apr 16 16:46:08 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 6, "in_reply_to_screen_name": null, "favorite_count": 12, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "id": 853659928514502656, "created_at": "Sun Apr 16 17:22:41 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 6, "in_reply_to_screen_name": null, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "Fot\u00f2graf, redactor, locutor i sumant. (\u00a9 Miquel de Santiago Fotografia)", "screen_name": "mdesantiago1", "id": 251831601, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme14/bg.gif", "default_profile_image": false, "following": false, "favourites_count": 864, "notifications": false, "listed_count": 15, "location": "Lleida", "profile_background_color": "000000", "has_extended_profile": true, "utc_offset": 7200, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 2148, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/830443341682704386/ZM_UUmT9_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": false, "friends_count": 1728, "profile_banner_url": "https://pbs.twimg.com/profile_banners/251831601/1487871888", "created_at": "Sun Feb 13 23:12:19 +0000 2011", "time_zone": "Madrid", "profile_sidebar_border_color": "000000"}, {"verified": false, "lang": "ar", "id_str": "1705823862", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 1087, "contributors_enabled": false, "name": "\u0633\u0647\u0627\u0645", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/502969347908722688/7Ym5nFs4_normal.jpeg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "ar", "id_str": "853712577259593728", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": []}, "favorited": false, "source": "alshbkanews", "text": "\u0648\u0645\u0636\u0629 \u0627\u0644\u0628\u0631\u0642 \u0627\u0644\u062e\u0627\u0637\u0641\u0629 \u062a\u0633\u062a\u063a\u0631\u0642 \u0645\u0646 \u0627\u0644\u0632\u0645\u0646 \u0648\u0627\u062d\u062f \u0639\u0644\u0649 \u0627\u0644\u0627\u0644\u0641 \u0645\u0646 \u0627\u0644\u062b\u0627\u0646\u064a\u0629.", "contributors": null, "coordinates": null, "retweeted": false, "id": 853712577259593728, "created_at": "Sun Apr 16 20:51:54 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "in_reply_to_status_id": null}, "description": "\u0631\u064e\u0628\u064a \u0623\u0633\u06af\u0628\u0652 \u0641\u0650\u064a \u062c\u0633\u064e\u062f \u0623\u064f\u0645\u0650\u064a \u0648\u0623\u064f\u0645\u0650\u0647\u0627\u062a \u0627\u0644\u0645\u064b\u0633\u0644\u0653\u0645\u064a\u0646\u064c . .\n \u0646\u064e\u0647\u0631\u0627\u064b \u0645\u0650\u0646\u0652 \u0627\u0644\u0631\u064e\u0627\u062d\u064e\u0629 \u064a\u064e\u0633\u0631\u064a \u0641\u0650\u064a \u0623\u0648\u0631\u062f\u062a\u0647\u064e\u0627 .", "screen_name": "sooos243", "id": 1705823862, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 423, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "C0DEED", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 1700, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/502969347908722688/7Ym5nFs4_normal.jpeg", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 1214, "protected": false, "created_at": "Tue Aug 27 23:38:01 +0000 2013", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "2989354778", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 23], "url": "https://t.co/B8rti14CSl", "expanded_url": "https://www.youtube.com/c/TheTrueVoice", "display_url": "youtube.com/c/TheTrueVoice"}]}, "description": {"urls": []}}, "followers_count": 38, "contributors_enabled": false, "name": "Isaac Due\u00f1as", "url": "https://t.co/B8rti14CSl", "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/749475752194682884/Cxd5NFeu_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "en", "id_str": "853408696889507840", "place": null, "extended_entities": {"media": [{"indices": [97, 120], "media_url": "http://pbs.twimg.com/media/C9fqrcWUQAA57nz.jpg", "expanded_url": "https://twitter.com/Thetruevoicetv/status/853408696889507840/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9fqrcWUQAA57nz.jpg", "id_str": "853408686475067392", "url": "https://t.co/H6hxsuRaEJ", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 510, "h": 680}, "medium": {"resize": "fit", "w": 900, "h": 1200}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 1536, "h": 2048}}, "display_url": "pic.twitter.com/H6hxsuRaEJ", "id": 853408686475067392}]}, "entities": {"symbols": [], "urls": [{"indices": [73, 96], "url": "https://t.co/SBS0zmhRXJ", "expanded_url": "https://www.youtube.com/c/TheTrueVoice", "display_url": "youtube.com/c/TheTrueVoice"}], "hashtags": [], "user_mentions": [], "media": [{"indices": [97, 120], "media_url": "http://pbs.twimg.com/media/C9fqrcWUQAA57nz.jpg", "expanded_url": "https://twitter.com/Thetruevoicetv/status/853408696889507840/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9fqrcWUQAA57nz.jpg", "id_str": "853408686475067392", "url": "https://t.co/H6hxsuRaEJ", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 510, "h": 680}, "medium": {"resize": "fit", "w": 900, "h": 1200}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 1536, "h": 2048}}, "display_url": "pic.twitter.com/H6hxsuRaEJ", "id": 853408686475067392}]}, "favorited": false, "source": "Twitter for Android", "text": "I have a soccer game in 1 hour! But sleeping feels so good sometimes! :) https://t.co/SBS0zmhRXJ https://t.co/H6hxsuRaEJ", "contributors": null, "coordinates": null, "retweeted": false, "id": 853408696889507840, "created_at": "Sun Apr 16 00:44:23 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "in_reply_to_screen_name": null, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "please subscribe to my Youtube channel :)", "screen_name": "Thetruevoicetv", "id": 2989354778, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 180, "notifications": false, "listed_count": 1, "location": "", "profile_background_color": "C0DEED", "has_extended_profile": true, "utc_offset": -21600, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 923, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/749475752194682884/Cxd5NFeu_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 5, "profile_banner_url": "https://pbs.twimg.com/profile_banners/2989354778/1477601617", "created_at": "Mon Jan 19 05:15:46 +0000 2015", "time_zone": "Mountain Time (US & Canada)", "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "852523540909875202", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 0, "contributors_enabled": false, "name": "\u0631\u064a\u0647\u0627\u0645 \u0645\u062d\u0645\u062f", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_image_url_https": null, "status": {"lang": "und", "id_str": "853715790994042880", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [45, 68], "url": "https://t.co/qQ1uYf2gZ7", "expanded_url": "http://aleman-news.com/373941.html", "display_url": "aleman-news.com/373941.html"}], "hashtags": [], "user_mentions": []}, "favorited": false, "source": "WordPress.com", "text": "\u0645\u0634\u0627\u0647\u062f\u0629 \u0641\u064a\u0644\u0645 Matru ki Bijlee ka Mandola\u00a0\u0645\u062a\u0631\u062c\u0645 https://t.co/qQ1uYf2gZ7", "contributors": null, "coordinates": null, "retweeted": false, "id": 853715790994042880, "created_at": "Sun Apr 16 21:04:40 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "NewsRany", "id": 852523540909875202, "profile_background_image_url": null, "default_profile_image": true, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 840, "geo_enabled": false, "profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 20, "protected": false, "created_at": "Thu Apr 13 14:07:06 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "852955536849022976", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 0, "contributors_enabled": false, "name": "\u0627\u0644\u0628\u062b \u0627\u0644\u0645\u0628\u0627\u0634\u0631", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "852958187200315392", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [62, 85], "url": "https://t.co/SbdLaLmHEH", "expanded_url": "https://plus.google.com/103795556080144846035/posts/UqPysC52pdT?_utm_source=199-1-1", "display_url": "plus.google.com/10379555608014\u2026"}], "hashtags": [{"indices": [28, 46], "text": "\u0627\u0644\u0627\u062a\u0640\u062d\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0647"}, {"indices": [88, 106], "text": "\u0627\u0644\u0627\u062a\u0640\u062d\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0647"}, {"indices": [107, 120], "text": "\u0641\u0640\u0648\u0627\u0632_\u0627\u0644\u0642\u0631\u0646\u064a"}], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "text": "\u0631\u0627\u0628\u0637 \u0628\u062b \u0645\u0628\u0627\u0634\u0631 \u0627\u0644\u0634\u0648\u0637 \u0627\u0644\u062b\u0627\u0646\u064a #\u0627\u0644\u0627\u062a\u0640\u062d\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0647 \u064a\u062f\u0639\u0645 \u0627\u0644\u062c\u0648\u0627\u0644 \n\n https://t.co/SbdLaLmHEH \n\n#\u0627\u0644\u0627\u062a\u0640\u062d\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0647\n#\u0641\u0640\u0648\u0627\u0632_\u0627\u0644\u0642\u0631\u0646\u064a", "contributors": null, "coordinates": null, "retweeted": false, "id": 852958187200315392, "created_at": "Fri Apr 14 18:54:13 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "gIzHHFQn3aHK4hd", "id": 852955536849022976, "profile_background_image_url": null, "default_profile_image": true, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 6, "geo_enabled": false, "profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 0, "protected": false, "created_at": "Fri Apr 14 18:43:41 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "42188329", "profile_link_color": "D02B55", "default_profile": false, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 23], "url": "https://t.co/kraEyzas8Y", "expanded_url": "http://about.me/vishalprash", "display_url": "about.me/vishalprash"}]}, "description": {"urls": []}}, "followers_count": 205, "contributors_enabled": false, "name": "Vishal Prasher", "url": "https://t.co/kraEyzas8Y", "profile_text_color": "3E4415", "profile_sidebar_fill_color": "99CC33", "profile_image_url": "http://pbs.twimg.com/profile_images/772669422699962368/qtejE79D_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme5/bg.gif", "status": {"lang": "en", "id_str": "851210323281362944", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [], "hashtags": [{"indices": [55, 66], "text": "TheMasters"}], "user_mentions": [{"name": "Michael Vaughan", "indices": [3, 18], "screen_name": "MichaelVaughan", "id": 97893963, "id_str": "97893963"}]}, "favorited": false, "source": "Twitter for iPhone", "text": "RT @MichaelVaughan: Give them a Green jacket each .... #TheMasters", "contributors": null, "coordinates": null, "retweeted": false, "retweeted_status": {"lang": "en", "id_str": "851207675325108232", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [], "hashtags": [{"indices": [35, 46], "text": "TheMasters"}], "user_mentions": []}, "favorited": false, "source": "Twitter for iPhone", "text": "Give them a Green jacket each .... #TheMasters", "contributors": null, "coordinates": null, "retweeted": false, "id": 851207675325108232, "created_at": "Sun Apr 09 22:58:19 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 93, "favorite_count": 490, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "in_reply_to_status_id": null}, "id": 851210323281362944, "created_at": "Sun Apr 09 23:08:50 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 93, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "in_reply_to_status_id": null}, "description": "Hustler. Cricket tragic.", "screen_name": "vishalprash", "id": 42188329, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme5/bg.gif", "default_profile_image": false, "following": false, "favourites_count": 602, "notifications": false, "listed_count": 11, "location": "Calgary, Canada eh?", "profile_background_color": "352726", "has_extended_profile": true, "utc_offset": -21600, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 3363, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/772669422699962368/qtejE79D_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 691, "profile_banner_url": "https://pbs.twimg.com/profile_banners/42188329/1473053768", "created_at": "Sun May 24 09:11:56 +0000 2009", "time_zone": "Mountain Time (US & Canada)", "profile_sidebar_border_color": "829D5E"}, {"verified": false, "lang": "en", "id_str": "2474387118", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 173, "contributors_enabled": false, "name": "Zayn Broad", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/635811712319356929/EGX6s1gj_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "en", "id_str": "776713788313702400", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [], "hashtags": [{"indices": [106, 110], "text": "ARY"}], "user_mentions": []}, "favorited": false, "source": "Twitter for Android", "text": "Fifty Shades of Grey is only romantic bcz the guy is a billionaire.If he was some pindi boy it would be a #ARY Criminal Most Wanted episode", "contributors": null, "coordinates": null, "retweeted": false, "id": 776713788313702400, "created_at": "Fri Sep 16 09:26:12 +0000 2016", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 6, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "in_reply_to_status_id": null}, "description": "Em Zayn | Cricket is My Drug | Hate Study | TeamIK | Kharachi | innocent | Instagram= zaynoo55 |", "screen_name": "Zaynoo55", "id": 2474387118, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 1102, "notifications": false, "listed_count": 2, "location": "Karachi, Pakistan", "profile_background_color": "C0DEED", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 2657, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/635811712319356929/EGX6s1gj_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 429, "profile_banner_url": "https://pbs.twimg.com/profile_banners/2474387118/1456298851", "created_at": "Fri May 02 18:31:53 +0000 2014", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "1216017344", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 1490, "contributors_enabled": false, "name": "\u0631\u0645\u0632\u064a \u062d\u0633\u064a\u0646", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/3302478743/9074b2848b8c417beb7b727adfb91306_normal.jpeg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "ar", "id_str": "853708808769609728", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [50, 73], "url": "https://t.co/mCjqHVBOlK", "expanded_url": "http://dlvr.it/NvZzLl", "display_url": "dlvr.it/NvZzLl"}], "hashtags": [], "user_mentions": []}, "favorited": false, "source": "dlvr.it", "text": "\u00ab\u0643\u0641\u0627\u0621\u0629\u00bb: \u0648\u0632\u0646 \u00ab\u0623\u0630\u0631\u0639\u0629 \u0627\u0644\u0645\u0631\u0643\u0628\u0627\u062a\u00bb \u064a\u0642\u0644\u0644 \u0627\u0633\u062a\u0647\u0644\u0627\u0643 \u0627\u0644\u0648\u0642\u0648\u062f https://t.co/mCjqHVBOlK", "contributors": null, "coordinates": null, "retweeted": false, "id": 853708808769609728, "created_at": "Sun Apr 16 20:36:55 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "\u0623\u0645\u064a\u0632 \u0627\u0644\u062a\u063a\u0631\u064a\u062f\u0627\u062a \u0627\u0644\u0631\u0627\u0642\u064a\u0629 \u0648\u0623\u0639\u064a\u062f \u062a\u063a\u0631\u064a\u062f\u0647\u0627", "screen_name": "mzi71", "id": 1216017344, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 5, "notifications": false, "listed_count": 19, "location": "\u0647\u0646\u0627 \u0641\u064a \u0645\u0643\u0627\u0646\u064a", "profile_background_color": "C0DEED", "has_extended_profile": false, "utc_offset": 10800, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 107039, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/3302478743/9074b2848b8c417beb7b727adfb91306_normal.jpeg", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 1406, "protected": false, "created_at": "Sun Feb 24 17:01:37 +0000 2013", "time_zone": "Baghdad", "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ru", "id_str": "566822774", "profile_link_color": "FF0000", "default_profile": false, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 290, "contributors_enabled": false, "name": "\u0410\u043d\u043d\u0430 \u0413\u043e\u0440\u043e\u0434\u043e\u0432\u0430", "url": null, "profile_text_color": "0C3E53", "profile_sidebar_fill_color": "FFF7CC", "profile_image_url": "http://pbs.twimg.com/profile_images/767281658789785600/7_FPTTd2_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme12/bg.gif", "status": {"lang": "und", "id_str": "853609587093536768", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [52, 75], "url": "https://t.co/EUGklluRNO", "expanded_url": "http://www.xmusic.kz/music/3-1-0-9080", "display_url": "xmusic.kz/music/3-1-0-90\u2026"}], "hashtags": [], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "text": "\u0421\u043a\u0430\u0447\u0430\u0442\u044c \u043f\u0435\u0441\u043d\u044e Xenia - Lost In Time (2017) \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e https://t.co/EUGklluRNO", "contributors": null, "coordinates": null, "retweeted": false, "id": 853609587093536768, "created_at": "Sun Apr 16 14:02:39 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "\u041f\u0443\u0441\u0442\u0430\u044f \u0436\u0438\u0437\u043d\u044c....., \u0431\u0435\u0437 \u043f\u0440\u043e\u0448\u043b\u043e\u0433\u043e, \u0431\u0443\u0434\u0443\u0449\u0435\u0433\u043e \u0438 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0433\u043e.......", "screen_name": "Gorodova1985", "id": 566822774, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme12/bg.gif", "default_profile_image": false, "following": false, "favourites_count": 76, "notifications": false, "listed_count": 9, "location": "\u041a\u043e\u043c\u0441\u043e\u043c\u043e\u043b\u044c\u0441\u043a-\u043d\u0430-\u0410\u043c\u0443\u0440\u0435", "profile_background_color": "BADFCD", "has_extended_profile": true, "utc_offset": 39600, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 28009, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/767281658789785600/7_FPTTd2_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 805, "profile_banner_url": "https://pbs.twimg.com/profile_banners/566822774/1471769271", "created_at": "Mon Apr 30 01:54:40 +0000 2012", "time_zone": "New Caledonia", "profile_sidebar_border_color": "F2E195"}, {"verified": false, "lang": "en", "id_str": "91767550", "profile_link_color": "E81C4F", "default_profile": false, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 1343, "contributors_enabled": false, "name": "Thota\ud83d\udeb2\ud83d\udeb2", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/853620258279641088/C4AW2ZjW_normal.jpg", "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/669570238745174016/E9_9qDav.jpg", "status": {"lang": "en", "id_str": "853694982875525120", "place": null, "in_reply_to_screen_name": "Rao_Gari_Abbayi", "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [{"name": "\ud83d\ude48\ud83d\ude49\ud83d\ude4a", "indices": [0, 16], "screen_name": "Rao_Gari_Abbayi", "id": 1958494316, "id_str": "1958494316"}]}, "favorited": false, "source": "Twitter for iPhone", "text": "@Rao_Gari_Abbayi They are just entertainers and valaki ground full unte chalu", "contributors": null, "coordinates": null, "retweeted": false, "id": 853694982875525120, "created_at": "Sun Apr 16 19:41:59 +0000 2017", "in_reply_to_user_id_str": "1958494316", "is_quote_status": false, "in_reply_to_user_id": 1958494316, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": "853694751882715136", "geo": null, "in_reply_to_status_id": 853694751882715136}, "description": "Tweets are personal , No personal abuse encouraged \ud83d\udc4d\ud83c\udffb", "screen_name": "thotas9999", "id": 91767550, "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/669570238745174016/E9_9qDav.jpg", "default_profile_image": false, "following": false, "favourites_count": 3084, "notifications": false, "listed_count": 37, "location": "", "profile_background_color": "89C9FA", "has_extended_profile": false, "utc_offset": -18000, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 47402, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/853620258279641088/C4AW2ZjW_normal.jpg", "profile_background_tile": true, "protected": false, "profile_use_background_image": true, "friends_count": 114, "profile_banner_url": "https://pbs.twimg.com/profile_banners/91767550/1491987124", "created_at": "Sun Nov 22 10:46:02 +0000 2009", "time_zone": "Central Time (US & Canada)", "profile_sidebar_border_color": "FFFFFF"}, {"verified": false, "lang": "en", "id_str": "960587984", "profile_link_color": "0084B4", "default_profile": false, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 477, "contributors_enabled": false, "name": "\u0627\u0644\u063a\u0631\u0627\u0621 \u0627\u0644 \u062c\u0631\u0628\u0627", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/2873810206/075ac1416e6746879978eed78f5c9a43_normal.jpeg", "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/716730224/8084ac881771835dd52ce9dc309cd0df.jpeg", "status": {"lang": "ar", "id_str": "853628303726571520", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [65, 88], "url": "https://t.co/6SMr3QO6Vp", "expanded_url": "https://goo.gl/c0gKAC", "display_url": "goo.gl/c0gKAC"}, {"indices": [95, 118], "url": "https://t.co/01lrwTnPpZ", "expanded_url": "https://twitter.com/i/web/status/853628303726571520", "display_url": "twitter.com/i/web/status/8\u2026"}], "hashtags": [], "user_mentions": []}, "favorited": false, "source": "TweetDeck", "text": "aloostoooraYouTube\n\u0628\u062b \u0645\u0628\u0627\u0634\u0631 \u0645\u0628\u0627\u0631\u0627\u0629 \u062a\u0634\u064a\u0644\u0633\u064a \u0648\u0645\u0627\u0646 \u064a\u0648\u0646\u0627\u064a\u062a\u062f \u0628\u062b \u0645\u0628\u0627\u0634\u0631\n\nhttps://t.co/6SMr3QO6Vp\n\n+++\u2026 https://t.co/01lrwTnPpZ", "contributors": null, "coordinates": null, "retweeted": false, "id": 853628303726571520, "created_at": "Sun Apr 16 15:17:01 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 82, "favorite_count": 83, "truncated": true, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "\u0637\u0627\u0644\u0628\u0647 \u0628\u0643\u0644\u064a\u0629 \u0627\u0644\u0647\u0646\u062f\u0633\u0647", "screen_name": "samiafox2", "id": 960587984, "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/716730224/8084ac881771835dd52ce9dc309cd0df.jpeg", "default_profile_image": false, "following": false, "favourites_count": 1622, "notifications": false, "listed_count": 0, "location": "\u0627\u0644\u0645\u0645\u0644\u0643\u0629 \u0627\u0644\u0623\u0631\u062f\u0646\u064a\u0629 \u0627\u0644\u0647\u0627\u0634\u0645\u064a\u0629", "profile_background_color": "C0DEED", "has_extended_profile": true, "utc_offset": -21600, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 1731, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/2873810206/075ac1416e6746879978eed78f5c9a43_normal.jpeg", "profile_background_tile": true, "protected": false, "profile_use_background_image": true, "friends_count": 898, "profile_banner_url": "https://pbs.twimg.com/profile_banners/960587984/1353422419", "created_at": "Tue Nov 20 14:37:48 +0000 2012", "time_zone": "Central America", "profile_sidebar_border_color": "000000"}, {"verified": false, "lang": "en", "id_str": "286659133", "profile_link_color": "DD2E44", "default_profile": false, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 1442, "contributors_enabled": false, "name": "Awais ali", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "EFEFEF", "profile_image_url": "http://pbs.twimg.com/profile_images/853598119111663616/NLxWL5y-_normal.jpg", "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/586369886089154560/0YHGlBx2.jpg", "status": {"lang": "en", "id_str": "853667793069371394", "place": null, "extended_entities": {"media": [{"indices": [54, 77], "media_url": "http://pbs.twimg.com/media/C9iyUDZW0AA6LYS.jpg", "expanded_url": "https://twitter.com/Nid_Naveed/status/853628559654617090/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9iyUDZW0AA6LYS.jpg", "id_str": "853628186965495808", "source_status_id_str": "853628559654617090", "type": "photo", "source_user_id": 3236135328, "source_status_id": 853628559654617090, "source_user_id_str": "3236135328", "url": "https://t.co/XRbbRW7iQe", "sizes": {"small": {"resize": "fit", "w": 598, "h": 295}, "medium": {"resize": "fit", "w": 598, "h": 295}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 598, "h": 295}}, "display_url": "pic.twitter.com/XRbbRW7iQe", "id": 853628186965495808}, {"indices": [54, 77], "media_url": "http://pbs.twimg.com/media/C9iyVrRWAAA_Jkk.jpg", "expanded_url": "https://twitter.com/Nid_Naveed/status/853628559654617090/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9iyVrRWAAA_Jkk.jpg", "id_str": "853628214849175552", "source_status_id_str": "853628559654617090", "type": "photo", "source_user_id": 3236135328, "source_status_id": 853628559654617090, "source_user_id_str": "3236135328", "url": "https://t.co/XRbbRW7iQe", "sizes": {"small": {"resize": "fit", "w": 601, "h": 291}, "medium": {"resize": "fit", "w": 601, "h": 291}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 601, "h": 291}}, "display_url": "pic.twitter.com/XRbbRW7iQe", "id": 853628214849175552}]}, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [{"name": "\u0646\u0648\u06cc\u062f \u0627\u0631\u0634\u062f", "indices": [3, 14], "screen_name": "Nid_Naveed", "id": 3236135328, "id_str": "3236135328"}], "media": [{"indices": [54, 77], "media_url": "http://pbs.twimg.com/media/C9iyUDZW0AA6LYS.jpg", "expanded_url": "https://twitter.com/Nid_Naveed/status/853628559654617090/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9iyUDZW0AA6LYS.jpg", "id_str": "853628186965495808", "source_status_id_str": "853628559654617090", "type": "photo", "source_user_id": 3236135328, "source_status_id": 853628559654617090, "source_user_id_str": "3236135328", "url": "https://t.co/XRbbRW7iQe", "sizes": {"small": {"resize": "fit", "w": 598, "h": 295}, "medium": {"resize": "fit", "w": 598, "h": 295}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 598, "h": 295}}, "display_url": "pic.twitter.com/XRbbRW7iQe", "id": 853628186965495808}]}, "favorited": false, "source": "Twitter for iPhone", "text": "RT @Nid_Naveed: Hahahahah never laughed this hard \ud83d\ude02\ud83d\ude02\ud83d\ude02 https://t.co/XRbbRW7iQe", "contributors": null, "coordinates": null, "retweeted": false, "retweeted_status": {"lang": "en", "id_str": "853628559654617090", "place": null, "extended_entities": {"media": [{"indices": [38, 61], "media_url": "http://pbs.twimg.com/media/C9iyUDZW0AA6LYS.jpg", "expanded_url": "https://twitter.com/Nid_Naveed/status/853628559654617090/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9iyUDZW0AA6LYS.jpg", "id_str": "853628186965495808", "url": "https://t.co/XRbbRW7iQe", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 598, "h": 295}, "medium": {"resize": "fit", "w": 598, "h": 295}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 598, "h": 295}}, "display_url": "pic.twitter.com/XRbbRW7iQe", "id": 853628186965495808}, {"indices": [38, 61], "media_url": "http://pbs.twimg.com/media/C9iyVrRWAAA_Jkk.jpg", "expanded_url": "https://twitter.com/Nid_Naveed/status/853628559654617090/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9iyVrRWAAA_Jkk.jpg", "id_str": "853628214849175552", "url": "https://t.co/XRbbRW7iQe", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 601, "h": 291}, "medium": {"resize": "fit", "w": 601, "h": 291}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 601, "h": 291}}, "display_url": "pic.twitter.com/XRbbRW7iQe", "id": 853628214849175552}]}, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [], "media": [{"indices": [38, 61], "media_url": "http://pbs.twimg.com/media/C9iyUDZW0AA6LYS.jpg", "expanded_url": "https://twitter.com/Nid_Naveed/status/853628559654617090/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9iyUDZW0AA6LYS.jpg", "id_str": "853628186965495808", "url": "https://t.co/XRbbRW7iQe", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 598, "h": 295}, "medium": {"resize": "fit", "w": 598, "h": 295}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 598, "h": 295}}, "display_url": "pic.twitter.com/XRbbRW7iQe", "id": 853628186965495808}]}, "favorited": false, "source": "Twitter Web Client", "text": "Hahahahah never laughed this hard \ud83d\ude02\ud83d\ude02\ud83d\ude02 https://t.co/XRbbRW7iQe", "contributors": null, "coordinates": null, "retweeted": false, "id": 853628559654617090, "created_at": "Sun Apr 16 15:18:02 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 243, "in_reply_to_screen_name": null, "favorite_count": 222, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "id": 853667793069371394, "created_at": "Sun Apr 16 17:53:56 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 243, "in_reply_to_screen_name": null, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "love the Way i aM sincerly iNsPired by Apna Kam bnTa Bhar mai Jaye jnta love #cricket movies and music bht hi acha bacha hu feel free to follow me !", "screen_name": "MRplanner1", "id": 286659133, "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/586369886089154560/0YHGlBx2.jpg", "default_profile_image": false, "following": false, "favourites_count": 3193, "notifications": false, "listed_count": 12, "location": "Lahore, Pakistan", "profile_background_color": "232526", "has_extended_profile": true, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 66531, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/853598119111663616/NLxWL5y-_normal.jpg", "profile_background_tile": true, "protected": false, "profile_use_background_image": true, "friends_count": 410, "profile_banner_url": "https://pbs.twimg.com/profile_banners/286659133/1492348681", "created_at": "Sat Apr 23 12:46:33 +0000 2011", "time_zone": null, "profile_sidebar_border_color": "000000"}, {"verified": false, "lang": "ar", "id_str": "2709738468", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 546, "contributors_enabled": false, "name": "\u0639\u0627\u0644\u0645 \u0627\u0644\u0633\u0639\u0648\u062f\u064a\u0629", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/851201376281669632/p4BEflNh_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "ar", "id_str": "853301909356236801", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "withheld_in_countries": ["XY"], "text": "This Tweet from @World_Saudi2013 has been withheld in response to a report from the copyright holder.", "contributors": null, "coordinates": null, "retweeted": false, "withheld_copyright": true, "id": 853301909356236801, "created_at": "Sat Apr 15 17:40:03 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "withheld_scope": "status", "favorite_count": 1, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "in_reply_to_status_id": null}, "description": "\u0627\u0644\u062e\u0627\u0635 \u0645\u0647\u0645\u0644", "screen_name": "World_Saudi2013", "id": 2709738468, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 69, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "C0DEED", "has_extended_profile": false, "utc_offset": -25200, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 331, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/851201376281669632/p4BEflNh_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 1082, "profile_banner_url": "https://pbs.twimg.com/profile_banners/2709738468/1491777224", "created_at": "Tue Aug 05 16:32:09 +0000 2014", "time_zone": "Pacific Time (US & Canada)", "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "1230702126", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 1246, "contributors_enabled": false, "name": "\u062e\u0648\u0627\u0637\u0631 \u0641\u0648\u0641\u0648", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/601583534302564352/q-17At83_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "ar", "id_str": "853318331612483586", "place": null, "extended_entities": {"media": [{"indices": [113, 136], "media_url": "http://pbs.twimg.com/media/C9eYc-ZXUAAOzIL.jpg", "expanded_url": "https://twitter.com/fofo_5033/status/853318331612483586/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9eYc-ZXUAAOzIL.jpg", "id_str": "853318277963141120", "url": "https://t.co/KXglSPxk23", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 246, "h": 205}, "medium": {"resize": "fit", "w": 246, "h": 205}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 246, "h": 205}}, "display_url": "pic.twitter.com/KXglSPxk23", "id": 853318277963141120}, {"indices": [113, 136], "media_url": "http://pbs.twimg.com/media/C9eYe1XW0AIxHx3.jpg", "expanded_url": "https://twitter.com/fofo_5033/status/853318331612483586/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9eYe1XW0AIxHx3.jpg", "id_str": "853318309898539010", "url": "https://t.co/KXglSPxk23", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 346, "h": 146}, "medium": {"resize": "fit", "w": 346, "h": 146}, "thumb": {"resize": "crop", "w": 146, "h": 146}, "large": {"resize": "fit", "w": 346, "h": 146}}, "display_url": "pic.twitter.com/KXglSPxk23", "id": 853318309898539010}, {"indices": [113, 136], "media_url": "http://pbs.twimg.com/media/C9eYe1aWAAAZt32.jpg", "expanded_url": "https://twitter.com/fofo_5033/status/853318331612483586/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9eYe1aWAAAZt32.jpg", "id_str": "853318309911068672", "url": "https://t.co/KXglSPxk23", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 264, "h": 191}, "medium": {"resize": "fit", "w": 264, "h": 191}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 264, "h": 191}}, "display_url": "pic.twitter.com/KXglSPxk23", "id": 853318309911068672}]}, "entities": {"symbols": [], "urls": [{"indices": [87, 110], "url": "https://t.co/U2YeY3TFQA", "expanded_url": "https://goo.gl/ncJ02p", "display_url": "goo.gl/ncJ02p"}], "hashtags": [{"indices": [18, 33], "text": "\u0627\u0644\u0647\u0644\u0627\u0644_\u0627\u0644\u0627\u0647\u064e\u0644\u064a"}, {"indices": [36, 51], "text": "\u0627\u0644\u0646\u0635\u0631_\u0627\u0644\u062a\u0639\u0627\u0648\u0650\u0646"}], "user_mentions": [], "media": [{"indices": [113, 136], "media_url": "http://pbs.twimg.com/media/C9eYc-ZXUAAOzIL.jpg", "expanded_url": "https://twitter.com/fofo_5033/status/853318331612483586/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9eYc-ZXUAAOzIL.jpg", "id_str": "853318277963141120", "url": "https://t.co/KXglSPxk23", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 246, "h": 205}, "medium": {"resize": "fit", "w": 246, "h": 205}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 246, "h": 205}}, "display_url": "pic.twitter.com/KXglSPxk23", "id": 853318277963141120}]}, "favorited": false, "source": "Twitter Web Client", "text": "\u0645\u0634\u0627\u0647\u062f\u0629 \u0627\u0641\u0636\u0644 \u0631\u0648\u0627\u0628\u0637 #\u0627\u0644\u0647\u0644\u0627\u0644_\u0627\u0644\u0627\u0647\u064e\u0644\u064a \u0648 #\u0627\u0644\u0646\u0635\u0631_\u0627\u0644\u062a\u0639\u0627\u0648\u0650\u0646 \u0627\u0644\u0634\u0648\u0637 \u0627\u0644\u062b\u0627\u0646\u064a \u062a\u0627\u0628\u0639 \u0644\u0627\u064a\u0641\n\n\u0634\u0627\u0647\u062f \u062d\u0635\u0631\u064a: https://t.co/U2YeY3TFQA\n. https://t.co/KXglSPxk23", "contributors": null, "coordinates": null, "retweeted": false, "id": 853318331612483586, "created_at": "Sat Apr 15 18:45:18 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 53, "in_reply_to_screen_name": null, "favorite_count": 55, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "\u0627\u0644\u062e\u0627\u0635 \u0645\u0645\u0646\u0648\u0639 \u0627\u0644\u0627 \u0644\u0636\u0631\u0648\u0631\u0647", "screen_name": "fofo_5033", "id": 1230702126, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 38, "notifications": false, "listed_count": 1, "location": "", "profile_background_color": "C0DEED", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 3718, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/601583534302564352/q-17At83_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 1733, "profile_banner_url": "https://pbs.twimg.com/profile_banners/1230702126/1407987712", "created_at": "Fri Mar 01 18:03:44 +0000 2013", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "830877552541650947", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 19, "contributors_enabled": false, "name": "\u0627\u0628\u0648 \u0628\u062f\u0631", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/830879950664237057/eEXWVyuS_normal.jpg", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "852959043274637312", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": []}, "favorited": false, "source": "Twitter for iPhone", "withheld_in_countries": ["XY"], "text": "This Tweet from @CaLPSOsLEwPcP1h has been withheld in response to a report from the copyright holder.", "contributors": null, "coordinates": null, "retweeted": false, "withheld_copyright": true, "id": 852959043274637312, "created_at": "Fri Apr 14 18:57:37 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "withheld_scope": "status", "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "in_reply_to_status_id": null}, "description": "", "screen_name": "CaLPSOsLEwPcP1h", "id": 830877552541650947, "profile_background_image_url": null, "default_profile_image": false, "following": false, "favourites_count": 2, "notifications": false, "listed_count": 0, "location": "\u0627\u0644\u062f\u0645\u0627\u0645, \u0627\u0644\u0645\u0645\u0644\u0643\u0629 \u0627\u0644\u0639\u0631\u0628\u064a\u0629 \u0627\u0644\u0633\u0639\u0648\u062f\u064a\u0629", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 18, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/830879950664237057/eEXWVyuS_normal.jpg", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 97, "protected": false, "created_at": "Sun Feb 12 20:33:40 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "829607762829139968", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 18, "contributors_enabled": false, "name": "king sport", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/829608147555860480/FZg6RT7E_normal.jpg", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "853688484036575232", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [101, 124], "url": "https://t.co/S8DdSE1PXr", "expanded_url": "https://twitter.com/i/web/status/853688484036575232", "display_url": "twitter.com/i/web/status/8\u2026"}], "hashtags": [{"indices": [25, 39], "text": "\u0627\u0644\u0627\u0647\u0644\u064a_\u0627\u0633\u0648\u0627\u0646\u0651"}, {"indices": [40, 54], "text": "\u0627\u0633\u0648\u0627\u0646_\u0627\u0644\u0627\u0647\u0644\u064a\u0651"}, {"indices": [55, 70], "text": "\u0627\u0644\u0627\u0647\u0644\u064a_\u0627\u0644\u0645\u0635\u0631\u064a\u0651"}, {"indices": [74, 89], "text": "\u0627\u0644\u062f\u0648\u0631\u064a_\u0627\u0644\u0645\u0635\u0631\u064a\u0651"}, {"indices": [92, 99], "text": "\u0627\u0633\u0648\u0627\u0646\u0651"}], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "text": "\u0628\u062b \u0628\u064a \u0627\u0648\u0646 \u0633\u0628\u0648\u0631\u062a\u0633\u0651\n\u0645\u0628\u0627\u0631\u0629\u0651 #\u0627\u0644\u0627\u0647\u0644\u064a_\u0627\u0633\u0648\u0627\u0646\u0651\n#\u0627\u0633\u0648\u0627\u0646_\u0627\u0644\u0627\u0647\u0644\u064a\u0651\n#\u0627\u0644\u0627\u0647\u0644\u064a_\u0627\u0644\u0645\u0635\u0631\u064a\u0651 \u0641\u064a #\u0627\u0644\u062f\u0648\u0631\u064a_\u0627\u0644\u0645\u0635\u0631\u064a\u0651 \u0648 #\u0627\u0633\u0648\u0627\u0646\u0651\u2026 https://t.co/S8DdSE1PXr", "contributors": null, "coordinates": null, "retweeted": false, "id": 853688484036575232, "created_at": "Sun Apr 16 19:16:10 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": true, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "all thing about sports \nretwwet", "screen_name": "KingHafimawesi", "id": 829607762829139968, "profile_background_image_url": null, "default_profile_image": false, "following": false, "favourites_count": 30, "notifications": false, "listed_count": 0, "location": "Israel", "profile_background_color": "F5F8FA", "has_extended_profile": true, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 90, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/829608147555860480/FZg6RT7E_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 152, "profile_banner_url": "https://pbs.twimg.com/profile_banners/829607762829139968/1486629095", "created_at": "Thu Feb 09 08:27:58 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "81387101", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 1767, "contributors_enabled": false, "name": "nitin dhanuka", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/835182332113977344/a28UtaKN_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "en", "id_str": "853673752978223104", "place": null, "in_reply_to_screen_name": "pat_1978", "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [{"name": "Patrick Sigqwagqwa", "indices": [0, 9], "screen_name": "pat_1978", "id": 2379014259, "id_str": "2379014259"}]}, "favorited": false, "source": "Twitter for iPhone", "text": "@pat_1978 Yes we have to puncture their balloon .. need belief in the squad that's its just a setback , nothing more ..", "contributors": null, "coordinates": null, "retweeted": false, "id": 853673752978223104, "created_at": "Sun Apr 16 18:17:37 +0000 2017", "in_reply_to_user_id_str": "2379014259", "is_quote_status": false, "in_reply_to_user_id": 2379014259, "retweet_count": 1, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": "853673500363677697", "geo": null, "in_reply_to_status_id": 853673500363677697}, "description": "Member of Chelsea fc ..one life .. one club .. one passion .. chelsea fc .. ! Forever in love with Chelsea !!", "screen_name": "nitindhanuka", "id": 81387101, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 855, "notifications": false, "listed_count": 13, "location": "india ", "profile_background_color": "C0DEED", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 16562, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/835182332113977344/a28UtaKN_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 1727, "profile_banner_url": "https://pbs.twimg.com/profile_banners/81387101/1487958078", "created_at": "Sat Oct 10 16:15:26 +0000 2009", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "1894231459", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 174, "contributors_enabled": false, "name": "so6an_999", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/378800000734965956/d48be193e228a485c4219f4738c425d7_normal.jpeg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "ar", "id_str": "853330862531915776", "place": null, "extended_entities": {"media": [{"indices": [110, 133], "media_url": "http://pbs.twimg.com/media/C9ej44uWAAAkVVU.jpg", "expanded_url": "https://twitter.com/so6an_999/status/853330862531915776/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9ej44uWAAAkVVU.jpg", "id_str": "853330852104765440", "url": "https://t.co/X9F1VN0Sm4", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 225, "h": 225}, "medium": {"resize": "fit", "w": 225, "h": 225}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 225, "h": 225}}, "display_url": "pic.twitter.com/X9F1VN0Sm4", "id": 853330852104765440}]}, "entities": {"symbols": [], "urls": [{"indices": [84, 107], "url": "https://t.co/8V1tDW8eAY", "expanded_url": "https://goo.gl/m3CbiM", "display_url": "goo.gl/m3CbiM"}], "hashtags": [{"indices": [7, 22], "text": "\u0627\u0644\u0647\u0644\u0627\u0644_\u0627\u0644\u0627\u0647\u064e\u0644\u064a"}, {"indices": [25, 40], "text": "\u0627\u0644\u0646\u0635\u0631_\u0627\u0644\u062a\u0639\u0627\u0648\u0650\u0646"}], "user_mentions": [], "media": [{"indices": [110, 133], "media_url": "http://pbs.twimg.com/media/C9ej44uWAAAkVVU.jpg", "expanded_url": "https://twitter.com/so6an_999/status/853330862531915776/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9ej44uWAAAkVVU.jpg", "id_str": "853330852104765440", "url": "https://t.co/X9F1VN0Sm4", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 225, "h": 225}, "medium": {"resize": "fit", "w": 225, "h": 225}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 225, "h": 225}}, "display_url": "pic.twitter.com/X9F1VN0Sm4", "id": 853330852104765440}]}, "favorited": false, "source": "Twitter Web Client", "text": "\u0645\u0634\u0627\u0647\u062f\u0629 #\u0627\u0644\u0647\u0644\u0627\u0644_\u0627\u0644\u0627\u0647\u064e\u0644\u064a \u0648 #\u0627\u0644\u0646\u0635\u0631_\u0627\u0644\u062a\u0639\u0627\u0648\u0650\u0646 \u0627\u0644\u0634\u0648\u0637 \u0627\u0644\u062b\u0627\u0646\u064a \u0631\u0627\u0628\u0637 \u0628\u062b \u0645\u0628\u0627\u0634\u0631\n\n\u0634\u0627\u0647\u062f \u062d\u0635\u0631\u064a \u0647\u0646\u0627: https://t.co/8V1tDW8eAY\n. https://t.co/X9F1VN0Sm4", "contributors": null, "coordinates": null, "retweeted": false, "id": 853330862531915776, "created_at": "Sat Apr 15 19:35:06 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 52, "in_reply_to_screen_name": null, "favorite_count": 86, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "so6an_999", "id": 1894231459, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 1, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "C0DEED", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 95, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000734965956/d48be193e228a485c4219f4738c425d7_normal.jpeg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 569, "profile_banner_url": "https://pbs.twimg.com/profile_banners/1894231459/1384353363", "created_at": "Sun Sep 22 15:54:23 +0000 2013", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "578065467", "profile_link_color": "0084B4", "default_profile": false, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 1879, "contributors_enabled": false, "name": "\u200f\u0645\u0640\u0627\u062c\u0640\u0640\u062f \u0627\u0644\u0640\u0634\u0640\u0640\u064a\u0640\u062e\u0640\u064a", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/840979371053764608/eucvHMIZ_normal.jpg", "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/550371359/______________-_______.jpg", "status": {"lang": "ar", "id_str": "853713978379444225", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [], "hashtags": [{"indices": [15, 25], "text": "\u0641\u064a\u0646_\u0627\u0644\u0634\u064a\u0643"}], "user_mentions": [{"name": "\u0634\u064a\u0628\u0648", "indices": [3, 13], "screen_name": "ehmoode83", "id": 2683156627, "id_str": "2683156627"}]}, "favorited": false, "source": "Twitter for Android", "text": "RT @ehmoode83: #\u0641\u064a\u0646_\u0627\u0644\u0634\u064a\u0643\n.\u0627\u0635\u0639\u0628 \u0633\u0624\u0627\u0644.\u0648\u0644\u0627\u064a\u0648\u062c\u062f \u0637\u0627\u0644\u0628 \u0634\u0627\u0637\u0631 \u0641\u064a \u0627\u062f\u0627\u0631\u0629 \u0628\u0627\u0639\u0634\u0646 \u0645\u0645\u0643\u0646 \u064a\u062c\u0627\u0648\u0628 \u0639\u0644\u064a\u0647.\u062d\u062a\u0649 \u0628\u0627\u0639\u0634\u0646 \u0646\u0641\u0633\u0647.\u0648\u0644\u0627 \u0637\u0644\u0627\u0628 \u0627\u0644\u0644\u064a\u0644\u064a \u0648\u0627\u0644\u0645\u0646\u0627\u0632\u0644 \u0645\u0646 \u0627\u0639\u0644\u0627\u0645 \u0628\u0627\u0639\u0634\u2026", "contributors": null, "coordinates": null, "retweeted": false, "retweeted_status": {"lang": "ar", "id_str": "853657909707845632", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [], "hashtags": [{"indices": [0, 10], "text": "\u0641\u064a\u0646_\u0627\u0644\u0634\u064a\u0643"}], "user_mentions": []}, "favorited": false, "source": "Twitter for Android", "text": "#\u0641\u064a\u0646_\u0627\u0644\u0634\u064a\u0643\n.\u0627\u0635\u0639\u0628 \u0633\u0624\u0627\u0644.\u0648\u0644\u0627\u064a\u0648\u062c\u062f \u0637\u0627\u0644\u0628 \u0634\u0627\u0637\u0631 \u0641\u064a \u0627\u062f\u0627\u0631\u0629 \u0628\u0627\u0639\u0634\u0646 \u0645\u0645\u0643\u0646 \u064a\u062c\u0627\u0648\u0628 \u0639\u0644\u064a\u0647.\u062d\u062a\u0649 \u0628\u0627\u0639\u0634\u0646 \u0646\u0641\u0633\u0647.\u0648\u0644\u0627 \u0637\u0644\u0627\u0628 \u0627\u0644\u0644\u064a\u0644\u064a \u0648\u0627\u0644\u0645\u0646\u0627\u0632\u0644 \u0645\u0646 \u0627\u0639\u0644\u0627\u0645 \u0628\u0627\u0639\u0634\u0646.\u0631\u0633\u0648\u0628 \u062c\u0645\u0627\u0639\u064a.", "contributors": null, "coordinates": null, "retweeted": false, "id": 853657909707845632, "created_at": "Sun Apr 16 17:14:40 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 4, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "in_reply_to_status_id": null}, "id": 853713978379444225, "created_at": "Sun Apr 16 20:57:28 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 4, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "in_reply_to_status_id": null}, "description": "\u2014\u3030\u200f\u200f\u200f\u200f\u200f \u200f\u200f\u200f\u200f\u200f\u200f\u200f\u200f\u200f\u200f\u200f\u200f\u200f \u200f\u200f\u200f\u200f\u200f\u200f\u200f\u200f\u200f\u200f\u200f\u200f\u200f\u200f\u200f\u200f\u200f\u200f\u200f#\u0627\u0644\u0644\u0647_\u0627\u0644\u0644\u064a_\u0639\u0632\u0651\u0646\u0627_\u0645\u0627_\u0644\u064e\u062d\u062f_\u0645\u0650\u0646\u0651\u0647 \u3030\u2014\n@ittihad\n\u3030\u0646\u0627\u062f\u064a #\u0627\u0644\u0627\u062a\u062d\u0627\u062f \u0627\u0644\u0639\u0631\u0628\u064a \u0627\u0644\u0633\u0639\u0648\u062f\u064a\u3030\n#\u0639\u0645\u064a\u062f_\u0623\u0646\u062f\u064a\u0629_\u0627\u0644\u062c\u0632\u064a\u0631\u0629_\u0627\u0644\u0639\u0631\u0628\u064a\u0629\n#\u062c\u062f\u0629_\u063a\u0635\u0628_\u0625\u062a\u064a_\u0648\u0628\u062d\u0631", "screen_name": "M_abu_husam", "id": 578065467, "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/550371359/______________-_______.jpg", "default_profile_image": false, "following": false, "favourites_count": 8262, "notifications": false, "listed_count": 17, "location": "\u200f\u200f\u21ad\u200f/\u2026\u062c\u0640\u062f\u0629\ufe4f\u063a\u0640\u0635\u0628\u2026\u0625\u062a\u0640\u064a\ufe4f\u0648\u0628\u0640\u062d\u0640\u0631\u2026\\\u21ad", "profile_background_color": "022330", "has_extended_profile": true, "utc_offset": -36000, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 31144, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/840979371053764608/eucvHMIZ_normal.jpg", "profile_background_tile": true, "protected": false, "profile_use_background_image": true, "friends_count": 1555, "profile_banner_url": "https://pbs.twimg.com/profile_banners/578065467/1454480398", "created_at": "Sat May 12 11:46:28 +0000 2012", "time_zone": "Hawaii", "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "61503886", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 122, "contributors_enabled": false, "name": "sachin bansode", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/812416523755290624/oo0bla5H_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "en", "id_str": "853347287195463680", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [102, 125], "url": "https://t.co/ChUSe9YidX", "expanded_url": "http://www.storypick.com/bandra-girl-memes/", "display_url": "storypick.com/bandra-girl-me\u2026"}], "hashtags": [], "user_mentions": [{"name": "Bhayanak Puppy", "indices": [3, 17], "screen_name": "BhayanakPuppy", "id": 2376827797, "id_str": "2376827797"}, {"name": "StoryPick", "indices": [28, 40], "screen_name": "StoryPicker", "id": 2237652775, "id_str": "2237652775"}]}, "favorited": false, "source": "Twitter for Android", "text": "RT @BhayanakPuppy: Although @StoryPicker missed the best ones, but I take full responsibility for it. https://t.co/ChUSe9YidX", "contributors": null, "coordinates": null, "retweeted": false, "retweeted_status": {"lang": "en", "id_str": "853147945478217728", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [83, 106], "url": "https://t.co/ChUSe9YidX", "expanded_url": "http://www.storypick.com/bandra-girl-memes/", "display_url": "storypick.com/bandra-girl-me\u2026"}], "hashtags": [], "user_mentions": [{"name": "StoryPick", "indices": [9, 21], "screen_name": "StoryPicker", "id": 2237652775, "id_str": "2237652775"}]}, "favorited": false, "source": "Twitter for Android", "text": "Although @StoryPicker missed the best ones, but I take full responsibility for it. https://t.co/ChUSe9YidX", "contributors": null, "coordinates": null, "retweeted": false, "id": 853147945478217728, "created_at": "Sat Apr 15 07:28:15 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 8, "favorite_count": 16, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "id": 853347287195463680, "created_at": "Sat Apr 15 20:40:22 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 8, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "good for nothing..useless. was used once, long long ago as a bad example", "screen_name": "sachin_6600", "id": 61503886, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 58, "notifications": false, "listed_count": 1, "location": "", "profile_background_color": "C0DEED", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 475, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/812416523755290624/oo0bla5H_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 158, "profile_banner_url": "https://pbs.twimg.com/profile_banners/61503886/1482530166", "created_at": "Thu Jul 30 14:40:47 +0000 2009", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "pt", "id_str": "2606162693", "profile_link_color": "FA743E", "default_profile": false, "is_translation_enabled": false, "entities": {"description": {"urls": [{"indices": [122, 145], "url": "https://t.co/69K2paaLR4", "expanded_url": "http://Instagram.com/mcosta213", "display_url": "Instagram.com/mcosta213"}]}}, "followers_count": 3971, "contributors_enabled": false, "name": "Marcelo Costa \u2721\ufe0f\ud83c\udf1e\ud83c\udfc6", "url": null, "profile_text_color": "000000", "profile_sidebar_fill_color": "000000", "profile_image_url": "http://pbs.twimg.com/profile_images/832787134117326849/VgYWA_Kl_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme5/bg.gif", "status": {"lang": "pt", "id_str": "853706221551054848", "place": null, "extended_entities": {"media": [{"indices": [28, 51], "media_url": "http://pbs.twimg.com/ext_tw_video_thumb/853704672758181889/pu/img/QS_YEdnk19Yxm-TX.jpg", "expanded_url": "https://twitter.com/chavesmarcos/status/853704888211181568/video/1", "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/853704672758181889/pu/img/QS_YEdnk19Yxm-TX.jpg", "id_str": "853704672758181889", "source_status_id_str": "853704888211181568", "type": "video", "additional_media_info": {"monetizable": false}, "source_user_id": 57728655, "source_status_id": 853704888211181568, "source_user_id_str": "57728655", "video_info": {"variants": [{"url": "https://video.twimg.com/ext_tw_video/853704672758181889/pu/vid/640x360/zLItFvOBxsBdc67q.mp4", "content_type": "video/mp4", "bitrate": 832000}, {"url": "https://video.twimg.com/ext_tw_video/853704672758181889/pu/vid/1280x720/Mben41IP13oRDRY5.mp4", "content_type": "video/mp4", "bitrate": 2176000}, {"url": "https://video.twimg.com/ext_tw_video/853704672758181889/pu/vid/320x180/RIgqccWWx5w0qU6J.mp4", "content_type": "video/mp4", "bitrate": 320000}, {"url": "https://video.twimg.com/ext_tw_video/853704672758181889/pu/pl/SZEVRbfTKWqfUMxN.m3u8", "content_type": "application/x-mpegURL"}], "aspect_ratio": [16, 9], "duration_millis": 7508}, "url": "https://t.co/SFlwhh2Hra", "sizes": {"small": {"resize": "fit", "w": 340, "h": 191}, "medium": {"resize": "fit", "w": 600, "h": 338}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 1024, "h": 576}}, "display_url": "pic.twitter.com/SFlwhh2Hra", "id": 853704672758181889}]}, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [], "media": [{"indices": [28, 51], "media_url": "http://pbs.twimg.com/ext_tw_video_thumb/853704672758181889/pu/img/QS_YEdnk19Yxm-TX.jpg", "expanded_url": "https://twitter.com/chavesmarcos/status/853704888211181568/video/1", "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/853704672758181889/pu/img/QS_YEdnk19Yxm-TX.jpg", "id_str": "853704672758181889", "source_status_id_str": "853704888211181568", "type": "photo", "source_user_id": 57728655, "source_status_id": 853704888211181568, "source_user_id_str": "57728655", "url": "https://t.co/SFlwhh2Hra", "sizes": {"small": {"resize": "fit", "w": 340, "h": 191}, "medium": {"resize": "fit", "w": 600, "h": 338}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 1024, "h": 576}}, "display_url": "pic.twitter.com/SFlwhh2Hra", "id": 853704672758181889}]}, "favorited": false, "source": "Twitter for Android", "text": "Palavras do Felipe Melo... \nhttps://t.co/SFlwhh2Hra", "contributors": null, "coordinates": null, "retweeted": false, "id": 853706221551054848, "created_at": "Sun Apr 16 20:26:38 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "in_reply_to_screen_name": null, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "\ud83d\udc26\ud83d\udc24SEMPRE SDV! SEMPRE \ud83d\udc4d \ud83d\udcadNada melhor que um dia ap\u00f3s o outro!!!\n \n\ud83c\udde7\ud83c\uddf7\u2764\ufe0f\ud83d\ude1b\ud83d\udd4a\ufe0f\n\n\n\n \ud83d\udc26\ud83d\ude32\ud83d\udc24\n\n\n\ud83d\udd17https://t.co/69K2paaLR4", "screen_name": "marceloroger435", "id": 2606162693, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme5/bg.gif", "default_profile_image": false, "following": false, "favourites_count": 72, "notifications": false, "listed_count": 3, "location": "Guarulhos, Brasil", "profile_background_color": "000000", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 9144, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/832787134117326849/VgYWA_Kl_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": false, "friends_count": 4591, "profile_banner_url": "https://pbs.twimg.com/profile_banners/2606162693/1492181373", "created_at": "Fri Jun 13 12:05:43 +0000 2014", "time_zone": null, "profile_sidebar_border_color": "000000"}, {"verified": false, "lang": "ar", "id_str": "852961627884449792", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 0, "contributors_enabled": false, "name": "\u0627\u0645\u064a\u0631\u0629 \u0628\u0644\u0627\u062f\u064a", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "852962953934639105", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [64, 87], "url": "https://t.co/bMEndvb0tG", "expanded_url": "http://ow.ly/WS8x30aRFje", "display_url": "ow.ly/WS8x30aRFje"}], "hashtags": [{"indices": [34, 53], "text": "\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0648\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629"}, {"indices": [89, 108], "text": "\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0648\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629"}], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "text": "\u0634\u0627\u0647\u062f */*/* \u0627\u0633\u0631\u0639 \u0648\u0627\u062c\u062f\u062f \u0631\u0627\u0628\u0637 \u0645\u0628\u0627\u0631\u0627\u0629 #\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0648\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629 \u0628\u062b \u0645\u0628\u0627\u0634\u0631\n\nhttps://t.co/bMEndvb0tG\n\n#\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0648\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629", "contributors": null, "coordinates": null, "retweeted": false, "id": 852962953934639105, "created_at": "Fri Apr 14 19:13:10 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "alnah65484hy", "id": 852961627884449792, "profile_background_image_url": null, "default_profile_image": true, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 6, "geo_enabled": false, "profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 0, "protected": false, "created_at": "Fri Apr 14 19:07:54 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "2740634292", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 177, "contributors_enabled": false, "name": "waseem Aziz", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/751510555173748737/cCZq95V9_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "en", "id_str": "853714185888378880", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [{"name": "laila Khan", "indices": [3, 12], "screen_name": "iHiJabae", "id": 2344664051, "id_str": "2344664051"}]}, "favorited": false, "source": "Twitter for iPhone", "text": "RT @iHiJabae: What we can see is tht 5 Palestinian children holding the Palestn flag in their house tht was raided by Israeli forces in Heb\u2026", "contributors": null, "coordinates": null, "retweeted": false, "retweeted_status": {"lang": "en", "id_str": "853678985057886209", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [117, 140], "url": "https://t.co/eDhzWHzYJO", "expanded_url": "https://twitter.com/i/web/status/853678985057886209", "display_url": "twitter.com/i/web/status/8\u2026"}], "hashtags": [], "user_mentions": []}, "favorited": false, "source": "Twitter for Android", "text": "What we can see is tht 5 Palestinian children holding the Palestn flag in their house tht was raided by Israeli for\u2026 https://t.co/eDhzWHzYJO", "contributors": null, "coordinates": null, "retweeted": false, "id": 853678985057886209, "created_at": "Sun Apr 16 18:38:25 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 50, "favorite_count": 76, "truncated": true, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "id": 853714185888378880, "created_at": "Sun Apr 16 20:58:17 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 50, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "in_reply_to_status_id": null}, "description": "", "screen_name": "wa5imm", "id": 2740634292, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 8386, "notifications": false, "listed_count": 79, "location": "frankfurt. Germany", "profile_background_color": "C0DEED", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 26237, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/751510555173748737/cCZq95V9_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 183, "profile_banner_url": "https://pbs.twimg.com/profile_banners/2740634292/1468008918", "created_at": "Sun Aug 17 22:36:23 +0000 2014", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "852942402285338624", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 0, "contributors_enabled": false, "name": "\u0627\u0645\u064a\u0631\u0629 \u0627\u0644\u062d\u0644\u0628\u064a", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "852943775366295552", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [52, 75], "url": "https://t.co/DqFkc6AJa5", "expanded_url": "http://ow.ly/BELz30aRFwa", "display_url": "ow.ly/BELz30aRFwa"}], "hashtags": [{"indices": [22, 41], "text": "\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0648\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629"}, {"indices": [78, 97], "text": "\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0648\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629"}], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "text": "\u0634\u0627\u0647\u062f \u0627\u0642\u0648\u0649 \u0631\u0627\u0628\u0637 \u0645\u0628\u0627\u0631\u0627\u0629 #\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0648\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629 \u0628\u062b \u0645\u0628\u0627\u0634\u0631\n\nhttps://t.co/DqFkc6AJa5\n\n #\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0648\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629", "contributors": null, "coordinates": null, "retweeted": false, "id": 852943775366295552, "created_at": "Fri Apr 14 17:56:57 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "5845hy", "id": 852942402285338624, "profile_background_image_url": null, "default_profile_image": true, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 6, "geo_enabled": false, "profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 0, "protected": false, "created_at": "Fri Apr 14 17:51:30 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "779739105026539520", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 3769, "contributors_enabled": false, "name": "\u0628\u062b \u0645\u0628\u0627\u0634\u0631 \u0644\u0644\u0645\u0628\u0627\u0631\u064a\u0627\u062a", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/815635381701976064/AmUPoL-c_normal.jpg", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "853656070098694144", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [82, 105], "url": "https://t.co/j2kPvr198B", "expanded_url": "https://youtu.be/EEhKxx2LLNU", "display_url": "youtu.be/EEhKxx2LLNU"}], "hashtags": [{"indices": [0, 23], "text": "\u0645\u0627\u0646\u0634\u0633\u062a\u0631_\u064a\u0648\u0646\u0627\u064a\u062a\u062f_\u062a\u0634\u064a\u0644\u0633\u064a"}], "user_mentions": []}, "favorited": false, "source": "Twitter for Android", "text": "#\u0645\u0627\u0646\u0634\u0633\u062a\u0631_\u064a\u0648\u0646\u0627\u064a\u062a\u062f_\u062a\u0634\u064a\u0644\u0633\u064a\n\n\u0646\u0647\u0627\u0627\u0627\u064a\u0647 \u0627\u0644\u0645\u0628\u0627\u0631\u0627\u0629 \n\n\u0627\u0644\u064a\u0648\u0646\u0627\u064a\u062a\u062f 2\n\n\u062a\u0634\u0644\u0633\u064a 0\n\n\u0631\u0627\u0628\u0637 \u064a\u0648\u062a\u064a\u0648\u0628 HD \nhttps://t.co/j2kPvr198B", "contributors": null, "coordinates": null, "retweeted": false, "id": 853656070098694144, "created_at": "Sun Apr 16 17:07:21 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 2, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "\u200f\u200f\u200f\u200f\u200f\u200f\u0634\u0627\u0647\u062f \u062c\u0645\u064a\u0639 \u0627\u0644\u0645\u0628\u0627\u0631\u064a\u0627\u062a \u0628\u0631\u0627\u0628\u0637 \u0645\u0628\u0627\u0634\u0631 \u0628\u062f\u0648\u0646 \u0625\u0639\u0644\u0627\u0646\u0627\u062a \u2764", "screen_name": "live7sport77", "id": 779739105026539520, "profile_background_image_url": null, "default_profile_image": false, "following": false, "favourites_count": 95, "notifications": false, "listed_count": 15, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": 10800, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 1736, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/815635381701976064/AmUPoL-c_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 28, "profile_banner_url": "https://pbs.twimg.com/profile_banners/779739105026539520/1476551839", "created_at": "Sat Sep 24 17:47:44 +0000 2016", "time_zone": "Riyadh", "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "597611738", "profile_link_color": "2FC2EF", "default_profile": false, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 9293, "contributors_enabled": false, "name": "MNA", "url": null, "profile_text_color": "666666", "profile_sidebar_fill_color": "252429", "profile_image_url": "http://pbs.twimg.com/profile_images/848286323156938756/YpK41QzS_normal.jpg", "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/536110651676958720/EwXAHMqU.jpeg", "status": {"lang": "en", "id_str": "853715392417718278", "place": {"place_type": "admin", "url": "https://api.twitter.com/1.1/geo/id/001907e868d06e24.json", "contained_within": [], "name": "Dubai", "country": "United Arab Emirates", "attributes": {}, "country_code": "AE", "full_name": "Dubai, United Arab Emirates", "id": "001907e868d06e24", "bounding_box": {"type": "Polygon", "coordinates": [[[54.8939725, 24.6182526], [56.2083722, 24.6182526], [56.2083722, 25.3686719], [54.8939725, 25.3686719]]]}}, "in_reply_to_screen_name": "nadeemmalik", "entities": {"symbols": [], "urls": [{"indices": [121, 144], "url": "https://t.co/5GcBN05cJx", "expanded_url": "https://twitter.com/i/web/status/853715392417718278", "display_url": "twitter.com/i/web/status/8\u2026"}], "hashtags": [], "user_mentions": [{"name": "Nadeem Malik", "indices": [0, 12], "screen_name": "nadeemmalik", "id": 39927901, "id_str": "39927901"}]}, "favorited": false, "source": "Twitter for Android", "text": "@nadeemmalik most expensive in Pak & substandard Equipment being used in QA Solar power plant ,14.45 PKR by Chinese\u2026 https://t.co/5GcBN05cJx", "contributors": null, "coordinates": null, "retweeted": false, "id": 853715392417718278, "created_at": "Sun Apr 16 21:03:05 +0000 2017", "in_reply_to_user_id_str": "39927901", "is_quote_status": false, "in_reply_to_user_id": 39927901, "retweet_count": 1, "favorite_count": 0, "truncated": true, "in_reply_to_status_id_str": "853699742374567937", "geo": null, "in_reply_to_status_id": 853699742374567937}, "description": "Communication Engineer /#PTI, Extreme Insafian , Anti Mullah , Politics, Poetry", "screen_name": "Engr_Naveed111", "id": 597611738, "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/536110651676958720/EwXAHMqU.jpeg", "default_profile_image": false, "following": false, "favourites_count": 151081, "notifications": false, "listed_count": 51, "location": "Dubai, United Arab Emirates", "profile_background_color": "1A1B1F", "has_extended_profile": true, "utc_offset": null, "translator_type": "regular", "is_translator": false, "follow_request_sent": false, "statuses_count": 108773, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/848286323156938756/YpK41QzS_normal.jpg", "profile_background_tile": true, "protected": false, "profile_use_background_image": true, "friends_count": 2634, "profile_banner_url": "https://pbs.twimg.com/profile_banners/597611738/1478282852", "created_at": "Sat Jun 02 17:56:45 +0000 2012", "time_zone": null, "profile_sidebar_border_color": "FFFFFF"}, {"verified": false, "lang": "fr", "id_str": "852574026966892545", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 23], "url": "https://t.co/yJCuUOBUn6", "expanded_url": "http://www.beinmatch.com", "display_url": "beinmatch.com"}]}, "description": {"urls": []}}, "followers_count": 223, "contributors_enabled": false, "name": "\u0628\u062b \u0645\u0628\u0627\u0634\u0631 \u0644\u062f\u0648\u0631\u064a \u062c\u0645\u064a\u0644", "url": "https://t.co/yJCuUOBUn6", "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/852577427406692358/Qk1dSzkm_normal.jpg", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "853336608417996800", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "text": "\u0627\u062a\u0645\u0646\u0649 \u0627\u0646 \u0627\u0643\u0648\u0646 \u0642\u062f \u0648\u0641\u0642\u062a \u0641\u064a \u0646\u0642\u0644 \u0645\u0628\u0627\u0631\u064a\u0627\u062a \u0627\u0644\u064a\u0648\u0645 \u263a\ufe0f\u263a\ufe0f", "contributors": null, "coordinates": null, "retweeted": false, "id": 853336608417996800, "created_at": "Sat Apr 15 19:57:56 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "in_reply_to_status_id": null}, "description": "\u062d\u0633\u0627\u0628\u0646\u0627 \u0644\u0628\u062b \u062f\u0648\u0631\u064a \u062c\u0645\u064a\u0644 \u0627\u0644\u0633\u0639\u0648\u062f\u064a \u0644\u0644\u0645\u062d\u062a\u0631\u0641\u064a\u0646 \u0628\u062c\u0648\u062f\u0629 \u0639\u0627\u0644\u064a\u0629 , \u0648 \u062a\u0641\u0627\u0639\u0644 \u0645\u0639\u0643\u0645 , \u0646\u062d\u0646 \u0644\u0633\u0646\u0627 \u0643\u0628\u0627\u0642\u0649 \u0627\u0644\u062d\u0633\u0627\u0628\u0627\u062a \u0646\u062d\u0646 \u0625\u062e\u0648\u0629 , \u0645\u0631\u062d\u0628\u0627 \u0628\u0643 \u0645\u0639\u0646\u0627", "screen_name": "dawrisaudi4k", "id": 852574026966892545, "profile_background_image_url": null, "default_profile_image": false, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 1, "location": "Casablanca, Grand Casablanca", "profile_background_color": "F5F8FA", "has_extended_profile": true, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 15, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/852577427406692358/Qk1dSzkm_normal.jpg", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 1, "protected": false, "created_at": "Thu Apr 13 17:27:42 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "749576906966577152", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 23], "url": "https://t.co/dz6KJKzcRm", "expanded_url": "http://saruarabir.blogspot.com", "display_url": "saruarabir.blogspot.com"}]}, "description": {"urls": []}}, "followers_count": 18, "contributors_enabled": false, "name": "Gulam Sarwar ABir", "url": "https://t.co/dz6KJKzcRm", "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/839236482955001856/Hj7ZDhYy_normal.jpg", "profile_background_image_url_https": null, "status": {"lang": "und", "id_str": "849976436882407424", "place": null, "in_reply_to_screen_name": "MichaelVaughan", "entities": {"symbols": [], "urls": [{"indices": [16, 39], "url": "https://t.co/bvNx9wn27m", "expanded_url": "http://dhakasports.com/", "display_url": "dhakasports.com"}], "hashtags": [], "user_mentions": [{"name": "Michael Vaughan", "indices": [0, 15], "screen_name": "MichaelVaughan", "id": 97893963, "id_str": "97893963"}]}, "favorited": false, "source": "Twitter Web Client", "text": "@MichaelVaughan https://t.co/bvNx9wn27m", "contributors": null, "coordinates": null, "retweeted": false, "id": 849976436882407424, "created_at": "Thu Apr 06 13:25:49 +0000 2017", "in_reply_to_user_id_str": "97893963", "is_quote_status": false, "in_reply_to_user_id": 97893963, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": "849974375101214720", "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": 849974375101214720}, "description": "Studied CSE.", "screen_name": "AbirBCSE", "id": 749576906966577152, "profile_background_image_url": null, "default_profile_image": false, "following": false, "favourites_count": 60, "notifications": false, "listed_count": 0, "location": "Dhaka, Bangladesh", "profile_background_color": "F5F8FA", "has_extended_profile": true, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 25, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/839236482955001856/Hj7ZDhYy_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 32, "profile_banner_url": "https://pbs.twimg.com/profile_banners/749576906966577152/1480480471", "created_at": "Sun Jul 03 12:13:55 +0000 2016", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "195013676", "profile_link_color": "4B27CF", "default_profile": false, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 23], "url": "https://t.co/aGerASLhSX", "expanded_url": "https://www.instagram.com/kazztr/", "display_url": "instagram.com/kazztr/"}]}, "description": {"urls": []}}, "followers_count": 2442, "contributors_enabled": false, "name": "kasun", "url": "https://t.co/aGerASLhSX", "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/757093870135934976/kHQ7f_yi_normal.jpg", "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/616316389/4rsb662qrifdlk8jy3d6.jpeg", "status": {"lang": "en", "id_str": "853649505694040065", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [], "hashtags": [{"indices": [38, 43], "text": "Seb5"}, {"indices": [68, 78], "text": "BahrainGP"}, {"indices": [80, 86], "text": "Kimi7"}, {"indices": [90, 103], "text": "ForzaFerrari"}, {"indices": [104, 126], "text": "LaFerraridellaFerrari"}], "user_mentions": [{"name": "Scuderia Ferrari", "indices": [3, 19], "screen_name": "ScuderiaFerrari", "id": 108247668, "id_str": "108247668"}]}, "favorited": false, "source": "Twitter for Android", "text": "RT @ScuderiaFerrari: STUNNING WIN for #Seb5 and the Scuderia at the #BahrainGP! #Kimi7 P4 #ForzaFerrari #LaFerraridellaFerrari https://t.co\u2026", "contributors": null, "coordinates": null, "retweeted": false, "retweeted_status": {"lang": "en", "id_str": "853648706599624705", "place": null, "extended_entities": {"media": [{"indices": [106, 129], "media_url": "http://pbs.twimg.com/media/C9jE8YVXcAEfhGg.jpg", "expanded_url": "https://twitter.com/ScuderiaFerrari/status/853648706599624705/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9jE8YVXcAEfhGg.jpg", "id_str": "853648670989971457", "url": "https://t.co/H8pE5hGuk1", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 680, "h": 454}, "medium": {"resize": "fit", "w": 1200, "h": 800}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 2048, "h": 1366}}, "display_url": "pic.twitter.com/H8pE5hGuk1", "id": 853648670989971457}]}, "entities": {"symbols": [], "urls": [], "hashtags": [{"indices": [17, 22], "text": "Seb5"}, {"indices": [47, 57], "text": "BahrainGP"}, {"indices": [59, 65], "text": "Kimi7"}, {"indices": [69, 82], "text": "ForzaFerrari"}, {"indices": [83, 105], "text": "LaFerraridellaFerrari"}], "user_mentions": [], "media": [{"indices": [106, 129], "media_url": "http://pbs.twimg.com/media/C9jE8YVXcAEfhGg.jpg", "expanded_url": "https://twitter.com/ScuderiaFerrari/status/853648706599624705/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9jE8YVXcAEfhGg.jpg", "id_str": "853648670989971457", "url": "https://t.co/H8pE5hGuk1", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 680, "h": 454}, "medium": {"resize": "fit", "w": 1200, "h": 800}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 2048, "h": 1366}}, "display_url": "pic.twitter.com/H8pE5hGuk1", "id": 853648670989971457}]}, "favorited": false, "source": "Twitter for iPhone", "text": "STUNNING WIN for #Seb5 and the Scuderia at the #BahrainGP! #Kimi7 P4 #ForzaFerrari #LaFerraridellaFerrari https://t.co/H8pE5hGuk1", "contributors": null, "coordinates": null, "retweeted": false, "id": 853648706599624705, "created_at": "Sun Apr 16 16:38:06 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 3859, "in_reply_to_screen_name": null, "favorite_count": 5072, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "id": 853649505694040065, "created_at": "Sun Apr 16 16:41:16 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 3859, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "in_reply_to_status_id": null}, "description": "Super car freak, hardcore cricket fan, Gamer... explicit content follow with caution xD", "screen_name": "kazZtr_", "id": 195013676, "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/616316389/4rsb662qrifdlk8jy3d6.jpeg", "default_profile_image": false, "following": false, "favourites_count": 12560, "notifications": false, "listed_count": 43, "location": "Colombo. Sri lanka", "profile_background_color": "D0CDCD", "has_extended_profile": true, "utc_offset": 19800, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 41250, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/757093870135934976/kHQ7f_yi_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 996, "profile_banner_url": "https://pbs.twimg.com/profile_banners/195013676/1467866521", "created_at": "Sat Sep 25 15:33:51 +0000 2010", "time_zone": "Sri Jayawardenepura", "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "787292754766274560", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 104, "contributors_enabled": false, "name": "Duvvada Jagannadham", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/834976069442756608/swleA0kO_normal.jpg", "profile_background_image_url_https": null, "status": {"lang": "et", "id_str": "853661032807505920", "place": null, "in_reply_to_screen_name": "priyamucharla", "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [{"name": "Sense n Sensibility", "indices": [0, 14], "screen_name": "priyamucharla", "id": 60569630, "id_str": "60569630"}]}, "favorited": false, "source": "Twitter for Android", "text": "@priyamucharla Inkaaa hopes vunnaya \ud83d\ude37\ud83d\ude37\ud83d\ude4f\ud83d\ude4f", "contributors": null, "coordinates": null, "retweeted": false, "id": 853661032807505920, "created_at": "Sun Apr 16 17:27:05 +0000 2017", "in_reply_to_user_id_str": "60569630", "is_quote_status": false, "in_reply_to_user_id": 60569630, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": "853660733766156288", "geo": null, "in_reply_to_status_id": 853660733766156288}, "description": "Lieutenant General Of Allu Arjun Army. Proud Alluism follower.", "screen_name": "AlluSwagg", "id": 787292754766274560, "profile_background_image_url": null, "default_profile_image": false, "following": false, "favourites_count": 259, "notifications": false, "listed_count": 4, "location": "Hyderabad, India", "profile_background_color": "F5F8FA", "has_extended_profile": true, "utc_offset": 19800, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 981, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/834976069442756608/swleA0kO_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 197, "profile_banner_url": "https://pbs.twimg.com/profile_banners/787292754766274560/1488115365", "created_at": "Sat Oct 15 14:03:14 +0000 2016", "time_zone": "Chennai", "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "852960599956967425", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 0, "contributors_enabled": false, "name": "\u0627\u0644\u0627\u0647\u0644\u0649", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "852961189080576000", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [47, 70], "url": "https://t.co/adkF9jbYcT", "expanded_url": "http://ow.ly/SpSX30aRLCy", "display_url": "ow.ly/SpSX30aRLCy"}], "hashtags": [{"indices": [18, 36], "text": "\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0647"}, {"indices": [72, 100], "text": "\u0643\u0644\u0645\u0647_\u062a\u0642\u0648\u0644\u0647\u0640\u0627_\u0627\u0644\u0641\u064a\u0635\u0644_\u0628\u0646_\u062a\u0631\u0643\u064a"}], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "text": "\u062a\u062c\u062f\u064a\u062f \u0646\u0642\u0644 \u0645\u0628\u0627\u0631\u0627\u0629 #\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0647 \u0628\u062b \u0645\u0628\u0627\u0634\u0631\n\nhttps://t.co/adkF9jbYcT\n\n#\u0643\u0644\u0645\u0647_\u062a\u0642\u0648\u0644\u0647\u0640\u0627_\u0627\u0644\u0641\u064a\u0635\u0644_\u0628\u0646_\u062a\u0631\u0643\u064a", "contributors": null, "coordinates": null, "retweeted": false, "id": 852961189080576000, "created_at": "Fri Apr 14 19:06:09 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "U54547", "id": 852960599956967425, "profile_background_image_url": null, "default_profile_image": true, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 5, "geo_enabled": false, "profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 21, "protected": false, "created_at": "Fri Apr 14 19:03:49 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "4551905205", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 31, "contributors_enabled": false, "name": "Mohamed Shukry", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/842776309822558208/6rPQ1qH2_normal.jpg", "profile_background_image_url_https": null, "status": {"lang": "und", "id_str": "853229676524949504", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [0, 23], "url": "https://t.co/GNNbGv75fJ", "expanded_url": "http://fb.me/3p3vGoqyE", "display_url": "fb.me/3p3vGoqyE"}], "hashtags": [], "user_mentions": []}, "favorited": false, "source": "Facebook", "text": "https://t.co/GNNbGv75fJ", "contributors": null, "coordinates": null, "retweeted": false, "id": 853229676524949504, "created_at": "Sat Apr 15 12:53:01 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "85%Nallawan", "screen_name": "shukrytwitts", "id": 4551905205, "profile_background_image_url": null, "default_profile_image": false, "following": false, "favourites_count": 13, "notifications": false, "listed_count": 0, "location": "Sri Lanka", "profile_background_color": "F5F8FA", "has_extended_profile": true, "utc_offset": -25200, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 512, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/842776309822558208/6rPQ1qH2_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 26, "profile_banner_url": "https://pbs.twimg.com/profile_banners/4551905205/1489768536", "created_at": "Mon Dec 21 01:29:06 +0000 2015", "time_zone": "Pacific Time (US & Canada)", "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "852948430695649283", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 1, "contributors_enabled": false, "name": "\u0628\u0646\u062a \u0627\u0644\u0647\u0644\u0627\u0644", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "852952230848344064", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [52, 75], "url": "https://t.co/GHfQZCcZHH", "expanded_url": "http://ow.ly/b0UK30aRF3Q", "display_url": "ow.ly/b0UK30aRF3Q"}], "hashtags": [{"indices": [22, 41], "text": "\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0648\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629"}, {"indices": [78, 97], "text": "\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0648\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629"}], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "text": "\u0634\u0627\u0647\u062f \u0627\u0633\u0631\u0639 \u0631\u0627\u0628\u0637 \u0645\u0628\u0627\u0631\u0627\u0629 #\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0648\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629 \u0628\u062b \u0645\u0628\u0627\u0634\u0631\n\nhttps://t.co/GHfQZCcZHH\n\n #\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0648\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629", "contributors": null, "coordinates": null, "retweeted": false, "id": 852952230848344064, "created_at": "Fri Apr 14 18:30:33 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "alna654564thy", "id": 852948430695649283, "profile_background_image_url": null, "default_profile_image": true, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 1, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 12, "geo_enabled": false, "profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 19, "protected": false, "created_at": "Fri Apr 14 18:15:27 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "852949031525511169", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 0, "contributors_enabled": false, "name": "\u0639\u0627\u0634\u0642\u0629 \u0627\u0644\u0627\u062a\u062d\u0627\u062f", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "852950461791469569", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "withheld_in_countries": ["XY"], "text": "This Tweet from @a654894y has been withheld in response to a report from the copyright holder.", "contributors": null, "coordinates": null, "retweeted": false, "withheld_copyright": true, "id": 852950461791469569, "created_at": "Fri Apr 14 18:23:31 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "withheld_scope": "status", "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "in_reply_to_status_id": null}, "description": "", "screen_name": "a654894y", "id": 852949031525511169, "profile_background_image_url": null, "default_profile_image": true, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 6, "geo_enabled": false, "profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 0, "protected": false, "created_at": "Fri Apr 14 18:17:51 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "es", "id_str": "2203514268", "profile_link_color": "DD2E44", "default_profile": false, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 23], "url": "https://t.co/O4lTFqnBLp", "expanded_url": "http://Drunk.Vodka", "display_url": "Drunk.Vodka"}]}, "description": {"urls": []}}, "followers_count": 1230, "contributors_enabled": false, "name": "Sabinism\u00f6", "url": "https://t.co/O4lTFqnBLp", "profile_text_color": "000000", "profile_sidebar_fill_color": "000000", "profile_image_url": "http://pbs.twimg.com/profile_images/804445780119588864/3eqEdQXh_normal.jpg", "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/644972111229026304/tjgKi7K5.jpg", "status": {"lang": "es", "id_str": "853520142008975360", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [{"name": "Real Betis Balompi\u00e9", "indices": [17, 27], "screen_name": "RealBetis", "id": 296756458, "id_str": "296756458"}]}, "favorited": false, "source": "Twitter for Android", "text": "Hoy se va con mi @RealBetis querido", "contributors": null, "coordinates": null, "retweeted": false, "id": 853520142008975360, "created_at": "Sun Apr 16 08:07:14 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 12, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "in_reply_to_status_id": null}, "description": "Harrobiaz Harro", "screen_name": "ArranoBaltzaa", "id": 2203514268, "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/644972111229026304/tjgKi7K5.jpg", "default_profile_image": false, "following": false, "favourites_count": 25587, "notifications": false, "listed_count": 16, "location": "San Mames, Euskal Herria", "profile_background_color": "C0DEED", "has_extended_profile": true, "utc_offset": -25200, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 31409, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/804445780119588864/3eqEdQXh_normal.jpg", "profile_background_tile": true, "protected": false, "profile_use_background_image": false, "friends_count": 511, "profile_banner_url": "https://pbs.twimg.com/profile_banners/2203514268/1481153322", "created_at": "Tue Nov 19 18:02:47 +0000 2013", "time_zone": "Pacific Time (US & Canada)", "profile_sidebar_border_color": "000000"}, {"verified": false, "lang": "ar", "id_str": "832623312257769472", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 33, "contributors_enabled": false, "name": "\u062f\u0639\u0627\u0621 \u0627\u0644\u0634\u0627\u0645\u0633\u064a", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/832623514301591552/jjkywNCn_normal.jpg", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "852953125375942656", "place": null, "extended_entities": {"media": [{"indices": [81, 104], "media_url": "http://pbs.twimg.com/media/C9ZMVCzXUAAsPQA.jpg", "expanded_url": "https://twitter.com/alshamsiKsa/status/852953125375942656/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9ZMVCzXUAAsPQA.jpg", "id_str": "852953103846559744", "url": "https://t.co/HYfITiWesd", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 680, "h": 538}, "medium": {"resize": "fit", "w": 877, "h": 694}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 877, "h": 694}}, "display_url": "pic.twitter.com/HYfITiWesd", "id": 852953103846559744}]}, "entities": {"symbols": [], "urls": [{"indices": [26, 49], "url": "https://t.co/KqyTVLCIQW", "expanded_url": "https://goo.gl/5h7lhS", "display_url": "goo.gl/5h7lhS"}], "hashtags": [{"indices": [0, 18], "text": "\u0627\u0644\u0627\u062a\u0650\u062d\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629"}], "user_mentions": [], "media": [{"indices": [81, 104], "media_url": "http://pbs.twimg.com/media/C9ZMVCzXUAAsPQA.jpg", "expanded_url": "https://twitter.com/alshamsiKsa/status/852953125375942656/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9ZMVCzXUAAsPQA.jpg", "id_str": "852953103846559744", "url": "https://t.co/HYfITiWesd", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 680, "h": 538}, "medium": {"resize": "fit", "w": 877, "h": 694}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 877, "h": 694}}, "display_url": "pic.twitter.com/HYfITiWesd", "id": 852953103846559744}]}, "favorited": false, "source": "Twitter Web Client", "text": "#\u0627\u0644\u0627\u062a\u0650\u062d\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629\n\n\u0647\u0646\u0627: https://t.co/KqyTVLCIQW\n\n\u0627\u0648\u0646\u0644\u0627\u064a\u0646 \u0647\u0646\u0627 \u0628\u062f\u0648\u0648\u0648\u0646 \u062a\u0642\u0637\u064a\u0639 \u0627\u0644\u0627\u0646 https://t.co/HYfITiWesd", "contributors": null, "coordinates": null, "retweeted": false, "id": 852953125375942656, "created_at": "Fri Apr 14 18:34:06 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 140, "in_reply_to_screen_name": null, "favorite_count": 2, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "alshamsiKsa", "id": 832623312257769472, "profile_background_image_url": null, "default_profile_image": false, "following": false, "favourites_count": 106, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 133, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/832623514301591552/jjkywNCn_normal.jpg", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 21, "protected": false, "created_at": "Fri Feb 17 16:10:41 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "fr", "id_str": "3017682893", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 23], "url": "https://t.co/G85KVt5bPv", "expanded_url": "https://www.facebook.com/elbouhdoudi?ref=aymt_homepage_panel", "display_url": "facebook.com/elbouhdoudi?re\u2026"}]}, "description": {"urls": []}}, "followers_count": 3811, "contributors_enabled": false, "name": "\u0646\u0642\u0644 \u0645\u0628\u0627\u0634\u0631 \u0643\u0644 \u0645\u0628\u0627\u0631\u064a\u0627\u062a", "url": "https://t.co/G85KVt5bPv", "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/715686383860510720/TSW1F6nD_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "ar", "id_str": "853558616003145728", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [68, 91], "url": "https://t.co/nhjuAnnItZ", "expanded_url": "http://www.youtubbe.ga/2017/04/blog-post_80.html", "display_url": "youtubbe.ga/2017/04/blog-p\u2026"}], "hashtags": [], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "text": "\u0645\u064f\u0634\u064e\u0627\u0647\u064e\u062f\u064e\u0629 \u0645\u064f\u0628\u064e\u0627\u0631\u064e\u0627\u0629\u0650 \u0644\u064a\u062c\u0627\u0646\u064a\u0633 \u0648\u0625\u0633\u0628\u0627\u0646\u064a\u0648\u0644 \u0628\u062b \u0645\u0628\u0627\u0634\u0631 \u0627\u0644\u062f\u0648\u0631\u064a \u0627\u0644\u0627\u0633\u0628\u0627\u0646\u064a -- https://t.co/nhjuAnnItZ", "contributors": null, "coordinates": null, "retweeted": false, "id": 853558616003145728, "created_at": "Sun Apr 16 10:40:07 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "skattt4", "id": 3017682893, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 9, "notifications": false, "listed_count": 1, "location": "\u0627\u0644\u0645\u063a\u0631\u0628 \u0628\u0644\u062f \u0627\u062c\u062f\u0627\u062f\u064a", "profile_background_color": "C0DEED", "has_extended_profile": false, "utc_offset": -25200, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 5358, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/715686383860510720/TSW1F6nD_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 3133, "profile_banner_url": "https://pbs.twimg.com/profile_banners/3017682893/1459467889", "created_at": "Wed Feb 04 14:18:13 +0000 2015", "time_zone": "Pacific Time (US & Canada)", "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "779789650290479106", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 23], "url": "https://t.co/1h9Ml3rRW9", "expanded_url": "http://actionha-kooora.com", "display_url": "actionha-kooora.com"}]}, "description": {"urls": []}}, "followers_count": 270, "contributors_enabled": false, "name": "Actionha_Kooora", "url": "https://t.co/1h9Ml3rRW9", "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/819987634369994752/Gd_4gWwi_normal.jpg", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "853689486299074564", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [32, 55], "url": "https://t.co/ZB2cgxuX7w", "expanded_url": "https://goo.gl/2uykol", "display_url": "goo.gl/2uykol"}], "hashtags": [{"indices": [13, 19], "text": "\u0627\u0633\u0648\u0627\u0646"}, {"indices": [22, 29], "text": "\u0627\u0644\u0623\u0647\u0644\u064a"}, {"indices": [69, 82], "text": "\u0627\u0633\u0648\u0627\u0646_\u0627\u0644\u0623\u0647\u0644\u064a"}], "user_mentions": []}, "favorited": false, "source": "Hootsuite", "text": "\u0628\u062b \u0645\u0628\u0627\u0634\u0631 \u26bd\n[ #\u0627\u0633\u0648\u0627\u0646 \u274c #\u0627\u0644\u0623\u0647\u0644\u064a ]\nhttps://t.co/ZB2cgxuX7w\n\u231b\u062c\u0627\u0631\u064a\u0629 \u0627\u0644\u0622\u0646\u231b\n#\u0627\u0633\u0648\u0627\u0646_\u0627\u0644\u0623\u0647\u0644\u064a \u2764", "contributors": null, "coordinates": null, "retweeted": false, "id": 853689486299074564, "created_at": "Sun Apr 16 19:20:08 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "\u200f\u0646\u0628\u062b \u0627\u0644\u0645\u0628\u0627\u0631\u064a\u0627\u062a \u0628\u062c\u0648\u062f\u0629 \u0639\u0627\u0644\u064a\u0629 \u0648\u062a\u062f\u0639\u0645 \u062c\u0645\u064a\u0639 \u0627\u0644\u0623\u062c\u0647\u0632\u0629 \u0627\u0644\u0630\u0643\u064a\u0629 \u2764\ud83d\udcf1\ud83d\udcbb\ud83c\udfae ! . \u0644\u0646\u0633\u062a\u0645\u0631 \u0627\u062f\u0639\u0645\u0648\u0646\u0627 \u0628\u0631\u062a\u0648\u064a\u062a\u0633 \u0644\u0644\u0631\u0648\u0627\u0628\u0637 \ud83d\udc9c\n\u062d\u0633\u0627\u0628\u0646\u0627 \u0627\u0644\u0627\u062d\u062a\u064a\u0627\u0637\u064a\n\u200e@actionha_kooora", "screen_name": "Actionha_live", "id": 779789650290479106, "profile_background_image_url": null, "default_profile_image": false, "following": false, "favourites_count": 4, "notifications": false, "listed_count": 1, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": true, "utc_offset": 14400, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 999, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/819987634369994752/Gd_4gWwi_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 1, "profile_banner_url": "https://pbs.twimg.com/profile_banners/779789650290479106/1483807819", "created_at": "Sat Sep 24 21:08:35 +0000 2016", "time_zone": "Muscat", "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "852932930460667904", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 2, "contributors_enabled": false, "name": "\u0645\u0628\u0627\u0634\u0631", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "852962665119068160", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [49, 72], "url": "https://t.co/YW7EyBwTjk", "expanded_url": "https://plus.google.com/103795556080144846035/posts/UqPysC52pdT?_utm_source=199-1-1", "display_url": "plus.google.com/10379555608014\u2026"}], "hashtags": [{"indices": [28, 46], "text": "\u0627\u0644\u0627\u062a\u0640\u062d\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0647"}, {"indices": [76, 94], "text": "\u0627\u0644\u0627\u062a\u0640\u062d\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0647"}, {"indices": [95, 125], "text": "\u0639\u0640\u0627\u0645_\u0639\u0644\u064a_\u0627\u0639\u062a\u0642\u0627\u0644_\u0627\u0644\u0634\u064a\u062e_\u0627\u0644\u0637\u0631\u064a\u0641\u064a"}], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "text": "\u0631\u0627\u0628\u0637 \u0628\u062b \u0645\u0628\u0627\u0634\u0631 \u0627\u0644\u0634\u0648\u0637 \u0627\u0644\u062b\u0627\u0646\u064a #\u0627\u0644\u0627\u062a\u0640\u062d\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0647\n\n https://t.co/YW7EyBwTjk \u2026\n\n#\u0627\u0644\u0627\u062a\u0640\u062d\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0647\n#\u0639\u0640\u0627\u0645_\u0639\u0644\u064a_\u0627\u0639\u062a\u0642\u0627\u0644_\u0627\u0644\u0634\u064a\u062e_\u0627\u0644\u0637\u0631\u064a\u0641\u064a", "contributors": null, "coordinates": null, "retweeted": false, "id": 852962665119068160, "created_at": "Fri Apr 14 19:12:01 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "uBSpa9WGQy5kQDd", "id": 852932930460667904, "profile_background_image_url": null, "default_profile_image": true, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 1, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 39, "geo_enabled": false, "profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 21, "protected": false, "created_at": "Fri Apr 14 17:13:52 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "851347406428004353", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 150, "contributors_enabled": false, "name": "\u0627\u0644\u0643\u0648\u0631\u0629 \u0645\u0628\u0627\u0634\u0631", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/851347861757362177/M8tKoGKZ_normal.jpg", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "853531341035626496", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [84, 107], "url": "https://t.co/tfrLMHkjkd", "expanded_url": "https://goo.gl/BzD2bc", "display_url": "goo.gl/BzD2bc"}, {"indices": [109, 132], "url": "https://t.co/zT518fM4jM", "expanded_url": "https://twitter.com/i/web/status/853531341035626496", "display_url": "twitter.com/i/web/status/8\u2026"}], "hashtags": [], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "text": "\u0646\u0635 \u0627\u0644\u0627\u0648\u0627\u0645\u0631 \u0627\u0644\u0645\u0644\u0643\u064a\u0629 \u0627\u0644\u062c\u062f\u064a\u062f\u0629 \u0644\u0644\u0645\u0644\u0643 \u0633\u0644\u0645\u0627\u0646 \u0628\u0646 \u0639\u0628\u062f\u0627\u0644\u0639\u0632\u064a\u0632 \u062d\u0641\u0638\u0647 \u0627\u0644\u0644\u0647\n\n\u0627\u0644\u0623\u0648\u0627\u0645\u0631 \u0628\u0627\u0644\u062a\u0641\u0627\u0635\u064a\u0644 // https://t.co/tfrLMHkjkd\u2026 https://t.co/zT518fM4jM", "contributors": null, "coordinates": null, "retweeted": false, "id": 853531341035626496, "created_at": "Sun Apr 16 08:51:44 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 98, "favorite_count": 101, "truncated": true, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "\u0628\u062b \u0645\u0628\u0627\u0634\u0631 \u0644\u0623\u0642\u0648\u064a \u0627\u0644\u0645\u0628\u0627\u0631\u064a\u0627\u062a", "screen_name": "koraliv18715232", "id": 851347406428004353, "profile_background_image_url": null, "default_profile_image": false, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 1, "location": "Sindh, Pakistan", "profile_background_color": "F5F8FA", "has_extended_profile": true, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 10, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/851347861757362177/M8tKoGKZ_normal.jpg", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 99, "protected": false, "created_at": "Mon Apr 10 08:13:33 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "852189562273181700", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 10, "contributors_enabled": false, "name": "\u064a\u0627\u0631\u0627", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/852189737410605057/1UnhNxWQ_normal.jpg", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "853331248101588992", "place": null, "extended_entities": {"media": [{"indices": [114, 137], "media_url": "http://pbs.twimg.com/media/C9ekPNSW0AA5Pwu.jpg", "expanded_url": "https://twitter.com/Yalalalooooo/status/853331248101588992/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9ekPNSW0AA5Pwu.jpg", "id_str": "853331235581644800", "url": "https://t.co/uGv6CDCIIj", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 264, "h": 191}, "medium": {"resize": "fit", "w": 264, "h": 191}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 264, "h": 191}}, "display_url": "pic.twitter.com/uGv6CDCIIj", "id": 853331235581644800}, {"indices": [114, 137], "media_url": "http://pbs.twimg.com/media/C9ekPNdXsAMWvVL.jpg", "expanded_url": "https://twitter.com/Yalalalooooo/status/853331248101588992/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9ekPNdXsAMWvVL.jpg", "id_str": "853331235627839491", "url": "https://t.co/uGv6CDCIIj", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 275, "h": 183}, "medium": {"resize": "fit", "w": 275, "h": 183}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 275, "h": 183}}, "display_url": "pic.twitter.com/uGv6CDCIIj", "id": 853331235627839491}]}, "entities": {"symbols": [], "urls": [{"indices": [88, 111], "url": "https://t.co/NxOR9TGVYY", "expanded_url": "https://goo.gl/6mb6oD", "display_url": "goo.gl/6mb6oD"}], "hashtags": [{"indices": [14, 29], "text": "\u0627\u0644\u0647\u0644\u0627\u0644_\u0627\u0644\u0627\u0647\u064e\u0644\u064a"}, {"indices": [32, 47], "text": "\u0627\u0644\u0646\u0635\u0631_\u0627\u0644\u062a\u0639\u0627\u0648\u0650\u0646"}], "user_mentions": [], "media": [{"indices": [114, 137], "media_url": "http://pbs.twimg.com/media/C9ekPNSW0AA5Pwu.jpg", "expanded_url": "https://twitter.com/Yalalalooooo/status/853331248101588992/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9ekPNSW0AA5Pwu.jpg", "id_str": "853331235581644800", "url": "https://t.co/uGv6CDCIIj", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 264, "h": 191}, "medium": {"resize": "fit", "w": 264, "h": 191}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 264, "h": 191}}, "display_url": "pic.twitter.com/uGv6CDCIIj", "id": 853331235581644800}]}, "favorited": false, "source": "Twitter Web Client", "text": "\u0645\u0634\u0627\u0647\u062f\u0629 \u0645\u0628\u0627\u0631\u0627\u0629 #\u0627\u0644\u0647\u0644\u0627\u0644_\u0627\u0644\u0627\u0647\u064e\u0644\u064a \u0648 #\u0627\u0644\u0646\u0635\u0631_\u0627\u0644\u062a\u0639\u0627\u0648\u0650\u0646 \u0627\u0644\u0634\u0648\u0637 \u0627\u0644\u062b\u0627\u0646\u064a \u0627\u0644\u0627\u0633\u0637\u0648\u0631\u0629 \u0644\u0644\u062c\u0648\u0627\u0644\n\n\u0634\u0627\u0647\u062f \u0647\u0646\u0627: https://t.co/NxOR9TGVYY\n. https://t.co/uGv6CDCIIj", "contributors": null, "coordinates": null, "retweeted": false, "id": 853331248101588992, "created_at": "Sat Apr 15 19:36:38 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 86, "in_reply_to_screen_name": null, "favorite_count": 80, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "Yalalalooooo", "id": 852189562273181700, "profile_background_image_url": null, "default_profile_image": false, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": -25200, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 9, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/852189737410605057/1UnhNxWQ_normal.jpg", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 0, "protected": false, "created_at": "Wed Apr 12 15:59:59 +0000 2017", "time_zone": "Pacific Time (US & Canada)", "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "4668149671", "profile_link_color": "009999", "default_profile": false, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 23], "url": "https://t.co/TfuD4D3dvy", "expanded_url": "http://ow.ly/Vk3Ia", "display_url": "ow.ly/Vk3Ia"}]}, "description": {"urls": []}}, "followers_count": 7738, "contributors_enabled": false, "name": "Amateur Pantyhose", "url": "https://t.co/TfuD4D3dvy", "profile_text_color": "000000", "profile_sidebar_fill_color": "000000", "profile_image_url": "http://pbs.twimg.com/profile_images/681499371695808512/PPMuBcwj_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme14/bg.gif", "status": {"lang": "en", "id_str": "850464514852216835", "place": null, "extended_entities": {"media": [{"indices": [63, 86], "media_url": "http://pbs.twimg.com/media/C8109-ZXYAIJtMy.jpg", "expanded_url": "https://twitter.com/AmateursInHose/status/850464514852216835/photo/1", "media_url_https": "https://pbs.twimg.com/media/C8109-ZXYAIJtMy.jpg", "id_str": "850464512713121794", "url": "https://t.co/O5dEc0DKJy", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 510, "h": 680}, "medium": {"resize": "fit", "w": 600, "h": 800}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 600, "h": 800}}, "display_url": "pic.twitter.com/O5dEc0DKJy", "id": 850464512713121794}]}, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [], "media": [{"indices": [63, 86], "media_url": "http://pbs.twimg.com/media/C8109-ZXYAIJtMy.jpg", "expanded_url": "https://twitter.com/AmateursInHose/status/850464514852216835/photo/1", "media_url_https": "https://pbs.twimg.com/media/C8109-ZXYAIJtMy.jpg", "id_str": "850464512713121794", "url": "https://t.co/O5dEc0DKJy", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 510, "h": 680}, "medium": {"resize": "fit", "w": 600, "h": 800}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 600, "h": 800}}, "display_url": "pic.twitter.com/O5dEc0DKJy", "id": 850464512713121794}]}, "favorited": false, "source": "Hootsuite", "text": "Curvy girl in a very short skirt with boots and grey pantyhose https://t.co/O5dEc0DKJy", "contributors": null, "coordinates": null, "retweeted": false, "id": 850464514852216835, "created_at": "Fri Apr 07 21:45:15 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 29, "in_reply_to_screen_name": null, "favorite_count": 97, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "Lover of legs in pantyhose", "screen_name": "AmateursInHose", "id": 4668149671, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme14/bg.gif", "default_profile_image": false, "following": false, "favourites_count": 275, "notifications": false, "listed_count": 41, "location": "Canada", "profile_background_color": "131516", "has_extended_profile": false, "utc_offset": -25200, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 442, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/681499371695808512/PPMuBcwj_normal.jpg", "profile_background_tile": true, "protected": false, "profile_use_background_image": true, "friends_count": 990, "profile_banner_url": "https://pbs.twimg.com/profile_banners/4668149671/1451317592", "created_at": "Mon Dec 28 15:35:59 +0000 2015", "time_zone": "Pacific Time (US & Canada)", "profile_sidebar_border_color": "000000"}, {"verified": false, "lang": "ar", "id_str": "852950595157860353", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 0, "contributors_enabled": false, "name": "\u0627\u062d\u0644\u0627\u0645", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "852951210697121792", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [43, 66], "url": "https://t.co/ODs24Pr0WP", "expanded_url": "http://ow.ly/D6rX30aRIJX", "display_url": "ow.ly/D6rX30aRIJX"}], "hashtags": [{"indices": [14, 32], "text": "\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0647"}, {"indices": [68, 98], "text": "\u0627\u0631\u0628\u062d_50\u064000\u0631\u064a\u0627\u0644_\u0645\u0639_\u0627\u0644\u0639\u0628\u062f\u0627\u0644\u0644\u0637\u064a\u0641"}], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "text": "\u0645\u0634\u0627\u0647\u062f\u0629 \u0645\u0628\u0627\u0631\u0627\u0629 #\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0647 \u0628\u062b \u0645\u0628\u0627\u0634\u0631\n\nhttps://t.co/ODs24Pr0WP\n\n#\u0627\u0631\u0628\u062d_50\u064000\u0631\u064a\u0627\u0644_\u0645\u0639_\u0627\u0644\u0639\u0628\u062f\u0627\u0644\u0644\u0637\u064a\u0641", "contributors": null, "coordinates": null, "retweeted": false, "id": 852951210697121792, "created_at": "Fri Apr 14 18:26:30 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "iunfm1", "id": 852950595157860353, "profile_background_image_url": null, "default_profile_image": true, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 4, "geo_enabled": false, "profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 0, "protected": false, "created_at": "Fri Apr 14 18:24:03 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "852944264975843329", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 0, "contributors_enabled": false, "name": "\u0628\u0646\u062a \u0627\u0644\u0647\u0644\u0627\u0644", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "852946583188623360", "place": null, "extended_entities": {"media": [{"indices": [79, 102], "media_url": "http://pbs.twimg.com/media/C9ZGY9WXoAABg3h.jpg", "expanded_url": "https://twitter.com/5454564Hy/status/852946583188623360/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9ZGY9WXoAABg3h.jpg", "id_str": "852946574032478208", "url": "https://t.co/77loJLAGpp", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 480, "h": 480}, "medium": {"resize": "fit", "w": 480, "h": 480}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 480, "h": 480}}, "display_url": "pic.twitter.com/77loJLAGpp", "id": 852946574032478208}]}, "entities": {"symbols": [], "urls": [{"indices": [38, 61], "url": "https://t.co/DMootSD5wp", "expanded_url": "http://ow.ly/at8m30aRFqk", "display_url": "ow.ly/at8m30aRFqk"}], "hashtags": [{"indices": [63, 78], "text": "\u0627\u0644\u062e\u0644\u064a\u0640\u062c_\u0627\u0644\u0648\u062d\u062f\u0647"}], "user_mentions": [], "media": [{"indices": [79, 102], "media_url": "http://pbs.twimg.com/media/C9ZGY9WXoAABg3h.jpg", "expanded_url": "https://twitter.com/5454564Hy/status/852946583188623360/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9ZGY9WXoAABg3h.jpg", "id_str": "852946574032478208", "url": "https://t.co/77loJLAGpp", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 480, "h": 480}, "medium": {"resize": "fit", "w": 480, "h": 480}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 480, "h": 480}}, "display_url": "pic.twitter.com/77loJLAGpp", "id": 852946574032478208}]}, "favorited": false, "source": "Twitter Web Client", "text": "\u0634\u0627\u0647\u062f // \u0627\u0641\u0644\u0627\u0645 \u0627\u0628\u0627\u062d\u064a\u0629 \u0642\u0648\u064a\u0629 \u0648\u062c\u0627\u0645\u062f\u0629 +18\n\nhttps://t.co/DMootSD5wp\n\n#\u0627\u0644\u062e\u0644\u064a\u0640\u062c_\u0627\u0644\u0648\u062d\u062f\u0647 https://t.co/77loJLAGpp", "contributors": null, "coordinates": null, "retweeted": false, "id": 852946583188623360, "created_at": "Fri Apr 14 18:08:07 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "in_reply_to_screen_name": null, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "5454564Hy", "id": 852944264975843329, "profile_background_image_url": null, "default_profile_image": true, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 10, "geo_enabled": false, "profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 0, "protected": false, "created_at": "Fri Apr 14 17:58:54 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "585539111", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 23], "url": "https://t.co/KM8kOFPoht", "expanded_url": "http://www.rexpoproperty.com", "display_url": "rexpoproperty.com"}]}, "description": {"urls": []}}, "followers_count": 116, "contributors_enabled": false, "name": "rizwan zafar gillani", "url": "https://t.co/KM8kOFPoht", "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/640924908793401344/MaIkraPl_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "en", "id_str": "853302375859326976", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [{"name": "Fawad Hussain", "indices": [108, 122], "screen_name": "fawadchaudhry", "id": 113286385, "id_str": "113286385"}, {"name": "Dr Shahid Masood", "indices": [123, 138], "screen_name": "Shahidmasooddr", "id": 251060309, "id_str": "251060309"}]}, "favorited": false, "source": "Twitter for iPhone", "text": "Agr Pak mai rules of law n justice hona start ho jaye tu housing societies ki bajaye jails banana parain gi @fawadchaudhry @Shahidmasooddr", "contributors": null, "coordinates": null, "retweeted": false, "id": 853302375859326976, "created_at": "Sat Apr 15 17:41:54 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "in_reply_to_status_id": null}, "description": "Managing Director at Rexpo Real Estate Brokers, r.gillani@rexpoproperty.com, +971509223737", "screen_name": "rizwan_gillani", "id": 585539111, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 521, "notifications": false, "listed_count": 0, "location": "Dubai, United Arab Emirates", "profile_background_color": "C0DEED", "has_extended_profile": true, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 1321, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/640924908793401344/MaIkraPl_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 108, "profile_banner_url": "https://pbs.twimg.com/profile_banners/585539111/1477422978", "created_at": "Sun May 20 10:04:00 +0000 2012", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "4654870666", "profile_link_color": "990000", "default_profile": false, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 23], "url": "https://t.co/ANKvY6hvq0", "expanded_url": "http://ar.aleymnews.com/", "display_url": "ar.aleymnews.com"}]}, "description": {"urls": []}}, "followers_count": 3956, "contributors_enabled": false, "name": "\u0634\u0628\u0643\u0629 \u0627\u0644\u064a\u0648\u0645 \u0627\u0644\u0627\u062e\u0628\u0627\u0631\u064a\u0629", "url": "https://t.co/ANKvY6hvq0", "profile_text_color": "333333", "profile_sidebar_fill_color": "F3F3F3", "profile_image_url": "http://pbs.twimg.com/profile_images/682252187955781632/GhcORXvh_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme7/bg.gif", "status": {"lang": "ar", "id_str": "853618706722803713", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [117, 140], "url": "https://t.co/vauSY6jfHA", "expanded_url": "https://twitter.com/i/web/status/853618706722803713", "display_url": "twitter.com/i/web/status/8\u2026"}], "hashtags": [], "user_mentions": []}, "favorited": false, "source": "IFTTT", "text": "\u0628\u062b \u0645\u0628\u0627\u0634\u0631 \u0645\u0628\u0627\u0631\u0627\u0629 \u0627\u0644\u064a\u0631\u0645\u0648\u0643 \u0648 \u0628\u0631\u0642\u0627\u0646 \u0628\u062c\u0648\u062f\u0629 \u0639\u0627\u0644\u064a\u0629 \u0627\u0648\u0646\u0644\u0627\u064a\u0646\u060c \u0625\u064a\u0627\u0628 \u062f\u0648\u0631\u064a VIVA \u0627\u0644\u0643\u0648\u064a\u062a\u060c \u0643\u0648\u0631\u0629 \u0644\u0627\u064a\u0641 \u0648\u064a\u0644\u0627 \u0634\u0648\u062a Watch Yarmouk VS BU\u2026\u2026 https://t.co/vauSY6jfHA", "contributors": null, "coordinates": null, "retweeted": false, "id": 853618706722803713, "created_at": "Sun Apr 16 14:38:53 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": true, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "\u0634\u0628\u0643\u0629 \u0627\u0644\u064a\u0648\u0645 \u0627\u0644\u0627\u062e\u0628\u0627\u0631\u064a\u0629", "screen_name": "aleymnews", "id": 4654870666, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme7/bg.gif", "default_profile_image": false, "following": false, "favourites_count": 10, "notifications": false, "listed_count": 7, "location": "Saudi Arabia ", "profile_background_color": "EBEBEB", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 16232, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/682252187955781632/GhcORXvh_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 53, "profile_banner_url": "https://pbs.twimg.com/profile_banners/4654870666/1452462803", "created_at": "Wed Dec 30 14:51:33 +0000 2015", "time_zone": null, "profile_sidebar_border_color": "DFDFDF"}, {"verified": false, "lang": "ar", "id_str": "715546339619291136", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 168, "contributors_enabled": false, "name": "\u0641\u0636\u0627\u0626\u062d \u0627\u0644\u0645\u0634\u0627\u0647\u064a\u0631", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/839729777623851010/2caDmzso_normal.jpg", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "853715877417635841", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [70, 93], "url": "https://t.co/2ojUysbFAG", "expanded_url": "http://www.ar.ew3t.com/1225728.html", "display_url": "ar.ew3t.com/1225728.html"}], "hashtags": [], "user_mentions": []}, "favorited": false, "source": "WordPress.com", "text": "\u0633\u0639\u0631 \u0627\u0644\u0631\u064a\u0627\u0644 \u0627\u0644\u0633\u0639\u0648\u062f\u064a \u0627\u0644\u064a\u0648\u0645 \u0623\u0645\u0627\u0645 \u0627\u0644\u062f\u0648\u0644\u0627\u0631 \u0627\u0644\u0623\u0645\u0631\u064a\u0643\u064a \u0637\u0628\u0642\u0627 \u0644\u0644\u062a\u0639\u0627\u0645\u0644\u0627\u062a\u00a0\u0627\u0644\u064a\u0648\u0645\u064a\u0629 https://t.co/2ojUysbFAG", "contributors": null, "coordinates": null, "retweeted": false, "id": 853715877417635841, "created_at": "Sun Apr 16 21:05:01 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "\u0641\u0636\u0627\u0626\u062d \u0627\u0644\u0645\u0634\u0627\u0647\u064a\u0631 \u0641\u062f\u064a\u0648\u0647\u0627\u062a \u0627\u0641\u0644\u0627\u0645 \u0639\u0631\u0628\u064a\u0629 \u0627\u062c\u0646\u0628\u064a\u0629", "screen_name": "5barko", "id": 715546339619291136, "profile_background_image_url": null, "default_profile_image": false, "following": false, "favourites_count": 5767, "notifications": false, "listed_count": 2, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": -25200, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 54373, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/839729777623851010/2caDmzso_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 15, "profile_banner_url": "https://pbs.twimg.com/profile_banners/715546339619291136/1486791195", "created_at": "Thu Mar 31 14:28:36 +0000 2016", "time_zone": "Pacific Time (US & Canada)", "profile_sidebar_border_color": "C0DEED"}, {"verified": true, "lang": "en", "id_str": "2976798423", "profile_link_color": "BCAE03", "default_profile": false, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 22], "url": "http://t.co/XBeRcuNKQL", "expanded_url": "http://www.masralarabia.com/sports", "display_url": "masralarabia.com/sports"}]}, "description": {"urls": []}}, "followers_count": 88038, "contributors_enabled": false, "name": "Masralarabia Sport", "url": "http://t.co/XBeRcuNKQL", "profile_text_color": "000000", "profile_sidebar_fill_color": "000000", "profile_image_url": "http://pbs.twimg.com/profile_images/764220603616391168/3ceFIFqf_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "ar", "id_str": "853715286826131456", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [], "hashtags": [{"indices": [0, 14], "text": "\u0627\u0644\u062f\u0648\u0631\u0649_\u0627\u0644\u0645\u0635\u0631\u0649"}, {"indices": [51, 57], "text": "\u0623\u0633\u0648\u0627\u0646"}, {"indices": [60, 67], "text": "\u0627\u0644\u0623\u0647\u0644\u0649"}], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "text": "#\u0627\u0644\u062f\u0648\u0631\u0649_\u0627\u0644\u0645\u0635\u0631\u0649 : \u062f\u062e\u0648\u0644 \u0639\u0645\u0631\u0648 \u062c\u0645\u0627\u0644 \u0628\u062f\u0644\u0627\u064b \u0645\u0646 \u0643\u0648\u0644\u064a\u0628\u0627\u0644\u064a\n\n#\u0623\u0633\u0648\u0627\u0646 0\n#\u0627\u0644\u0623\u0647\u0644\u0649 2", "contributors": null, "coordinates": null, "retweeted": false, "id": 853715286826131456, "created_at": "Sun Apr 16 21:02:40 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 5, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "in_reply_to_status_id": null}, "description": "\u0627\u0644\u062d\u0633\u0627\u0628 \u0627\u0644\u0631\u064a\u0627\u0636\u0649 \u0627\u0644\u0631\u0633\u0645\u0649 \u0644\u0645\u0648\u0642\u0639 \u0645\u0635\u0631 \u0627\u0644\u0639\u0631\u0628\u064a\u0629", "screen_name": "masrarabiasport", "id": 2976798423, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 195, "location": "", "profile_background_color": "000000", "has_extended_profile": false, "utc_offset": 7200, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 43841, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/764220603616391168/3ceFIFqf_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": false, "friends_count": 1, "profile_banner_url": "https://pbs.twimg.com/profile_banners/2976798423/1471119304", "created_at": "Tue Jan 13 18:01:58 +0000 2015", "time_zone": "Cairo", "profile_sidebar_border_color": "000000"}, {"verified": false, "lang": "ar", "id_str": "318548049", "profile_link_color": "2FC2EF", "default_profile": false, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 23], "url": "https://t.co/XHbaDSpBSr", "expanded_url": "http://www.mysport-app.com/", "display_url": "mysport-app.com"}]}, "description": {"urls": []}}, "followers_count": 2208, "contributors_enabled": false, "name": "\u0631\u064a\u0627\u0636\u062a\u064a \u0627\u0644\u0633\u0639\u0648\u062f\u064a\u0647", "url": "https://t.co/XHbaDSpBSr", "profile_text_color": "666666", "profile_sidebar_fill_color": "252429", "profile_image_url": "http://pbs.twimg.com/profile_images/2801863463/538649d7a4877e3f02e5b3463817912f_normal.jpeg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme9/bg.gif", "status": {"lang": "ar", "id_str": "853643773355728898", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [45, 68], "url": "https://t.co/MrPtWdopqo", "expanded_url": "https://goo.gl/y73b3y", "display_url": "goo.gl/y73b3y"}], "hashtags": [{"indices": [70, 93], "text": "\u0645\u0627\u0646\u0634\u0633\u062a\u0631_\u064a\u0648\u0646\u0627\u064a\u062a\u062f_\u062a\u0634\u064a\u0644\u0633\u064a"}], "user_mentions": []}, "favorited": false, "source": "Twitter for Android", "text": "\u0631\u0627\u0628\u0637 \u0645\u0628\u0627\u0631\u0627\u0647 \u0645\u0627\u0646\u0634\u0633\u062a\u0631 \u064a\u0648\u0646\u0627\u064a\u062a\u062f \u0648\u062a\u0634\u064a\u0644\u0633\u064a \u0628\u062b \u0645\u0628\u0627\u0634\u0631\nhttps://t.co/MrPtWdopqo\n\n#\u0645\u0627\u0646\u0634\u0633\u062a\u0631_\u064a\u0648\u0646\u0627\u064a\u062a\u062f_\u062a\u0634\u064a\u0644\u0633\u064a", "contributors": null, "coordinates": null, "retweeted": false, "id": 853643773355728898, "created_at": "Sun Apr 16 16:18:30 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "\u200f\u0627\u062e\u0628\u0627\u0631 \u0631\u064a\u0627\u0636\u064a\u0647 | \u0627\u0647\u062f\u0627\u0641 | \u062a\u0635\u0631\u064a\u062d\u0627\u062a | \u0643\u0644 \u0634\u064a \u064a\u062a\u0639\u0644\u0642 \u0641\u064a \u0627\u0644\u0631\u064a\u0627\u0636\u0629 #\u0627\u0644\u0647\u0644\u0627\u0644 #\u0627\u0644\u0646\u0635\u0631 #\u0627\u0644\u0627\u062a\u062d\u0627\u062f #\u0627\u0644\u0627\u0647\u0644\u064a #\u0627\u0644\u0634\u0628\u0627\u0628", "screen_name": "mhamdalshrary", "id": 318548049, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme9/bg.gif", "default_profile_image": false, "following": false, "favourites_count": 40, "notifications": false, "listed_count": 4, "location": "", "profile_background_color": "1A1B1F", "has_extended_profile": false, "utc_offset": 10800, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 36818, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/2801863463/538649d7a4877e3f02e5b3463817912f_normal.jpeg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 146, "profile_banner_url": "https://pbs.twimg.com/profile_banners/318548049/1418851897", "created_at": "Thu Jun 16 17:19:13 +0000 2011", "time_zone": "Baghdad", "profile_sidebar_border_color": "181A1E"}, {"verified": false, "lang": "ar", "id_str": "28898050", "profile_link_color": "0083B3", "default_profile": false, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 22], "url": "http://t.co/0dF9pfboXg", "expanded_url": "http://favstar.fm/users/ThatSalafi", "display_url": "favstar.fm/users/ThatSala\u2026"}]}, "description": {"urls": []}}, "followers_count": 14412, "contributors_enabled": false, "name": "Salafi", "url": "http://t.co/0dF9pfboXg", "profile_text_color": "B1B1F5", "profile_sidebar_fill_color": "0A0A0A", "profile_image_url": "http://pbs.twimg.com/profile_images/1784755373/salafi_normal.jpg", "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/410399684/chmaq.jpg", "status": {"lang": "ar", "id_str": "853680288198795266", "place": null, "extended_entities": {"media": [{"indices": [56, 79], "media_url": "http://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "expanded_url": "https://twitter.com/vNw2f/status/853680261707571203/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "id_str": "853680251884457984", "source_status_id_str": "853680261707571203", "type": "photo", "source_user_id": 1321452678, "source_status_id": 853680261707571203, "source_user_id_str": "1321452678", "url": "https://t.co/0RyfRJe5zd", "sizes": {"small": {"resize": "fit", "w": 350, "h": 527}, "medium": {"resize": "fit", "w": 350, "h": 527}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 350, "h": 527}}, "display_url": "pic.twitter.com/0RyfRJe5zd", "id": 853680251884457984}]}, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [{"name": "\u0646\u0648\u0651\u0627\u0641", "indices": [3, 9], "screen_name": "vNw2f", "id": 1321452678, "id_str": "1321452678"}], "media": [{"indices": [56, 79], "media_url": "http://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "expanded_url": "https://twitter.com/vNw2f/status/853680261707571203/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "id_str": "853680251884457984", "source_status_id_str": "853680261707571203", "type": "photo", "source_user_id": 1321452678, "source_status_id": 853680261707571203, "source_user_id_str": "1321452678", "url": "https://t.co/0RyfRJe5zd", "sizes": {"small": {"resize": "fit", "w": 350, "h": 527}, "medium": {"resize": "fit", "w": 350, "h": 527}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 350, "h": 527}}, "display_url": "pic.twitter.com/0RyfRJe5zd", "id": 853680251884457984}]}, "favorited": false, "source": "TweetDeck", "text": "RT @vNw2f: \u0644\u0640\u0640\u064b\u0646 \u064a\u062a\u0645\u0643\u0646 \u0627\u0644\u0627\u0646\u064e\u0633\u0627\u0646 \u062f\u0627\u0626\u0645\u0627\u064b \u0628\u0627\u0644\u062d\u0638\u064a \u0628\u0645\u0627 \u064a\u062a\u0645\u0646\u0649 https://t.co/0RyfRJe5zd", "contributors": null, "coordinates": null, "retweeted": false, "retweeted_status": {"lang": "ar", "id_str": "853680261707571203", "place": null, "extended_entities": {"media": [{"indices": [45, 68], "media_url": "http://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "expanded_url": "https://twitter.com/vNw2f/status/853680261707571203/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "id_str": "853680251884457984", "url": "https://t.co/0RyfRJe5zd", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 350, "h": 527}, "medium": {"resize": "fit", "w": 350, "h": 527}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 350, "h": 527}}, "display_url": "pic.twitter.com/0RyfRJe5zd", "id": 853680251884457984}]}, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [], "media": [{"indices": [45, 68], "media_url": "http://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "expanded_url": "https://twitter.com/vNw2f/status/853680261707571203/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "id_str": "853680251884457984", "url": "https://t.co/0RyfRJe5zd", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 350, "h": 527}, "medium": {"resize": "fit", "w": 350, "h": 527}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 350, "h": 527}}, "display_url": "pic.twitter.com/0RyfRJe5zd", "id": 853680251884457984}]}, "favorited": false, "source": "TweetDeck", "text": "\u0644\u0640\u0640\u064b\u0646 \u064a\u062a\u0645\u0643\u0646 \u0627\u0644\u0627\u0646\u064e\u0633\u0627\u0646 \u062f\u0627\u0626\u0645\u0627\u064b \u0628\u0627\u0644\u062d\u0638\u064a \u0628\u0645\u0627 \u064a\u062a\u0645\u0646\u0649 https://t.co/0RyfRJe5zd", "contributors": null, "coordinates": null, "retweeted": false, "id": 853680261707571203, "created_at": "Sun Apr 16 18:43:29 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 195, "in_reply_to_screen_name": null, "favorite_count": 1, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "id": 853680288198795266, "created_at": "Sun Apr 16 18:43:35 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 195, "in_reply_to_screen_name": null, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "Females, don't follow me. Follow your husbands.", "screen_name": "ThatSalafi", "id": 28898050, "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/410399684/chmaq.jpg", "default_profile_image": false, "following": false, "favourites_count": 3, "notifications": false, "listed_count": 223, "location": "", "profile_background_color": "CAC1EB", "has_extended_profile": false, "utc_offset": -18000, "translator_type": "regular", "is_translator": false, "follow_request_sent": false, "statuses_count": 618, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/1784755373/salafi_normal.jpg", "profile_background_tile": true, "profile_use_background_image": true, "friends_count": 12, "protected": false, "created_at": "Sat Apr 04 23:54:12 +0000 2009", "time_zone": "Quito", "profile_sidebar_border_color": "CFC5ED"}, {"verified": false, "lang": "ar", "id_str": "2592275256", "profile_link_color": "A901DB", "default_profile": false, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 23], "url": "https://t.co/YKOvLjg8LD", "expanded_url": "http://alhadath-alyoum.blogspot.com/", "display_url": "alhadath-alyoum.blogspot.com"}]}, "description": {"urls": []}}, "followers_count": 1207, "contributors_enabled": false, "name": "\u0627\u0644\u062d\u062f\u062b \u0627\u0644\u064a\u0648\u0645", "url": "https://t.co/YKOvLjg8LD", "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/846134917289459714/6T2IzvkJ_normal.jpg", "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/574732852937408513/hUQRm_0e.jpeg", "status": {"lang": "ar", "id_str": "853702584862900225", "place": null, "in_reply_to_screen_name": "ebnzamora62", "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [{"name": "Sh \u0639 b an \ud83d\udc51", "indices": [0, 12], "screen_name": "ebnzamora62", "id": 3388805555, "id_str": "3388805555"}]}, "favorited": false, "source": "Twitter Web Client", "text": "@ebnzamora62 \u0644\u0648 \u0641\u064a\u0647 \u0627\u062a\u062d\u0627\u062f \u0645\u062d\u062a\u0631\u0645 \u0645\u0634 \u0647\u0646\u0634\u0648\u0641\u0647\u0627 \u062a\u0627\u0646\u0649", "contributors": null, "coordinates": null, "retweeted": false, "id": 853702584862900225, "created_at": "Sun Apr 16 20:12:11 +0000 2017", "in_reply_to_user_id_str": "3388805555", "is_quote_status": false, "in_reply_to_user_id": 3388805555, "retweet_count": 0, "favorite_count": 1, "truncated": false, "in_reply_to_status_id_str": "853700430395838468", "geo": null, "in_reply_to_status_id": 853700430395838468}, "description": "", "screen_name": "ALhadathALyoum1", "id": 2592275256, "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/574732852937408513/hUQRm_0e.jpeg", "default_profile_image": false, "following": false, "favourites_count": 130, "notifications": false, "listed_count": 5, "location": "", "profile_background_color": "B40431", "has_extended_profile": false, "utc_offset": 7200, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 26074, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/846134917289459714/6T2IzvkJ_normal.jpg", "profile_background_tile": true, "protected": false, "profile_use_background_image": true, "friends_count": 515, "profile_banner_url": "https://pbs.twimg.com/profile_banners/2592275256/1490569367", "created_at": "Sat Jun 28 02:07:32 +0000 2014", "time_zone": "Cairo", "profile_sidebar_border_color": "FFFFFF"}, {"verified": false, "lang": "ar", "id_str": "808020652556951552", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 6, "contributors_enabled": false, "name": "..", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/830878323370770435/SqbCl0mt_normal.jpg", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "853309309891076096", "place": null, "extended_entities": {"media": [{"indices": [109, 132], "media_url": "http://pbs.twimg.com/media/C9eQR5UXcAArZXe.jpg", "expanded_url": "https://twitter.com/trf_00/status/853309309891076096/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9eQR5UXcAArZXe.jpg", "id_str": "853309291528417280", "url": "https://t.co/qvhO9hPc2Z", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 346, "h": 146}, "medium": {"resize": "fit", "w": 346, "h": 146}, "thumb": {"resize": "crop", "w": 146, "h": 146}, "large": {"resize": "fit", "w": 346, "h": 146}}, "display_url": "pic.twitter.com/qvhO9hPc2Z", "id": 853309291528417280}, {"indices": [109, 132], "media_url": "http://pbs.twimg.com/media/C9eQSVyXkAANWNr.jpg", "expanded_url": "https://twitter.com/trf_00/status/853309309891076096/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9eQSVyXkAANWNr.jpg", "id_str": "853309299170447360", "url": "https://t.co/qvhO9hPc2Z", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 264, "h": 191}, "medium": {"resize": "fit", "w": 264, "h": 191}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 264, "h": 191}}, "display_url": "pic.twitter.com/qvhO9hPc2Z", "id": 853309299170447360}]}, "entities": {"symbols": [], "urls": [{"indices": [83, 106], "url": "https://t.co/4EHtUW8yB9", "expanded_url": "https://goo.gl/TuKWXo", "display_url": "goo.gl/TuKWXo"}], "hashtags": [{"indices": [12, 27], "text": "\u0627\u0644\u0647\u0644\u0627\u0644_\u0627\u0644\u0627\u0647\u064e\u0644\u064a"}, {"indices": [30, 45], "text": "\u0627\u0644\u0646\u0635\u0631_\u0627\u0644\u062a\u0639\u0627\u0648\u0650\u0646"}], "user_mentions": [], "media": [{"indices": [109, 132], "media_url": "http://pbs.twimg.com/media/C9eQR5UXcAArZXe.jpg", "expanded_url": "https://twitter.com/trf_00/status/853309309891076096/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9eQR5UXcAArZXe.jpg", "id_str": "853309291528417280", "url": "https://t.co/qvhO9hPc2Z", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 346, "h": 146}, "medium": {"resize": "fit", "w": 346, "h": 146}, "thumb": {"resize": "crop", "w": 146, "h": 146}, "large": {"resize": "fit", "w": 346, "h": 146}}, "display_url": "pic.twitter.com/qvhO9hPc2Z", "id": 853309291528417280}]}, "favorited": false, "source": "Twitter Web Client", "text": "\u0645\u0634\u0627\u0647\u062f\u0629 \u0631\u0627\u0628\u0637 #\u0627\u0644\u0647\u0644\u0627\u0644_\u0627\u0644\u0627\u0647\u064e\u0644\u064a \u0648 #\u0627\u0644\u0646\u0635\u0631_\u0627\u0644\u062a\u0639\u0627\u0648\u0650\u0646 \u0628\u062b \u0645\u0628\u0627\u0634\u0631 \u0627\u0644\u0627\u0633\u0637\u0648\u0631\u0629 \n\n\u0634\u0627\u0647\u062f \u0647\u0646\u0627\u0627\u0627 \u0627\u0644\u0627\u0646: https://t.co/4EHtUW8yB9\n. https://t.co/qvhO9hPc2Z", "contributors": null, "coordinates": null, "retweeted": false, "id": 853309309891076096, "created_at": "Sat Apr 15 18:09:27 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 53, "in_reply_to_screen_name": null, "favorite_count": 53, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "trf_00", "id": 808020652556951552, "profile_background_image_url": null, "default_profile_image": false, "following": false, "favourites_count": 58, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 112, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/830878323370770435/SqbCl0mt_normal.jpg", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 0, "protected": false, "created_at": "Sun Dec 11 18:48:30 +0000 2016", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "341905255", "profile_link_color": "009999", "default_profile": false, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 292, "contributors_enabled": false, "name": "\u0627\u0644\u0623\u0645\u064a\u0631\u0629 \u062e\u0644\u0648\u062f \u2728", "url": null, "profile_text_color": "666666", "profile_sidebar_fill_color": "252429", "profile_image_url": "http://pbs.twimg.com/profile_images/792089346706903040/PSlCZ162_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme14/bg.gif", "status": {"lang": "ar", "id_str": "853553755018727424", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [58, 81], "url": "https://t.co/yOUZtXUJxE", "expanded_url": "https://goo.gl/G5RvDu", "display_url": "goo.gl/G5RvDu"}], "hashtags": [{"indices": [89, 121], "text": "\u0634\u0627\u0628_\u0639\u0627\u0642_\u064a\u0636\u0631\u0628_\u0627\u0645\u0647_\u0648\u0627\u0628\u0648\u0647_\u0628\u0627\u0644\u0631\u064a\u0627\u0636\u064c"}], "user_mentions": []}, "favorited": false, "source": "TweetDeck", "text": "\u064a\u0627 \u0644\u0644\u0641\u0636\u064a\u062d\u0629\n\u0634\u0627\u0628 \u0633\u0639\u0648\u062f\u064a \u064a\u0636\u0631\u0628 \u0627\u0645\u0647 \u0648\u0627\u0628\u064a\u0647\n\u0634\u0627\u0647\u062f \u0628\u0627\u0644\u0641\u064a\u062f\u064a\u0648 \u0648\u0627\u0644\u0635\u0648\u0631\n\nhttps://t.co/yOUZtXUJxE\n\n****\n\n#\u0634\u0627\u0628_\u0639\u0627\u0642_\u064a\u0636\u0631\u0628_\u0627\u0645\u0647_\u0648\u0627\u0628\u0648\u0647_\u0628\u0627\u0644\u0631\u064a\u0627\u0636\u064c", "contributors": null, "coordinates": null, "retweeted": false, "id": 853553755018727424, "created_at": "Sun Apr 16 10:20:48 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 82, "favorite_count": 83, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "\u2648\ufe0f", "screen_name": "SND_DS", "id": 341905255, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme14/bg.gif", "default_profile_image": false, "following": false, "favourites_count": 64, "notifications": false, "listed_count": 0, "location": "Riyadh, Kingdom of Saudi Arabia", "profile_background_color": "131516", "has_extended_profile": false, "utc_offset": -18000, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 3420, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/792089346706903040/PSlCZ162_normal.jpg", "profile_background_tile": true, "protected": false, "profile_use_background_image": false, "friends_count": 189, "profile_banner_url": "https://pbs.twimg.com/profile_banners/341905255/1460134642", "created_at": "Mon Jul 25 04:22:09 +0000 2011", "time_zone": "Quito", "profile_sidebar_border_color": "000000"}, {"verified": false, "lang": "en", "id_str": "3620970629", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 23], "url": "https://t.co/dNli5Iud5H", "expanded_url": "https://uzomediangr.wordpress.com", "display_url": "uzomediangr.wordpress.com"}]}, "description": {"urls": [{"indices": [132, 155], "url": "https://t.co/OCz2CjgbnW", "expanded_url": "https://facebook.com/uzomedia", "display_url": "facebook.com/uzomedia"}]}}, "followers_count": 79, "contributors_enabled": false, "name": "Uzomedia", "url": "https://t.co/dNli5Iud5H", "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/814522288624332800/9n6YtXbk_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "en", "id_str": "852571383188131841", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [63, 86], "url": "https://t.co/LhRwmLS1P1", "expanded_url": "http://www.youtube.com/watch?v=BTwhtsQadOA&sns=tw", "display_url": "youtube.com/watch?v=BTwhts\u2026"}], "hashtags": [{"indices": [0, 8], "text": "youtube"}], "user_mentions": []}, "favorited": false, "source": "Mobile Web (M2)", "text": "#youtube World Best 2017/2018/2019/2020/ Dance Step - Uzomedia https://t.co/LhRwmLS1P1", "contributors": null, "coordinates": null, "retweeted": false, "id": 852571383188131841, "created_at": "Thu Apr 13 17:17:12 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "Breaking News | Entertainment | Politics | Gist/Gossip | Business | Biographies| Movies | Histories @UzomediaNews @MUzomaMichael\r\n\r\nhttps://t.co/OCz2CjgbnW", "screen_name": "UzomediaOnline", "id": 3620970629, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 2, "notifications": false, "listed_count": 8, "location": "World", "profile_background_color": "C0DEED", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 14138, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/814522288624332800/9n6YtXbk_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 2, "profile_banner_url": "https://pbs.twimg.com/profile_banners/3620970629/1450607018", "created_at": "Fri Sep 11 13:59:23 +0000 2015", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "1552707140", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 976, "contributors_enabled": false, "name": "Mari Way", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/848543332686938116/IfkdB3rV_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "tl", "id_str": "851352747446198275", "place": null, "in_reply_to_screen_name": "nomaldoscores", "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [{"name": "Nouman", "indices": [0, 14], "screen_name": "nomaldoscores", "id": 1633910605, "id_str": "1633910605"}]}, "favorited": false, "source": "Twitter for Android", "text": "@nomaldoscores Hahhaha dont cry \ud83d\ude05 say Masha Allah..", "contributors": null, "coordinates": null, "retweeted": false, "id": 851352747446198275, "created_at": "Mon Apr 10 08:34:47 +0000 2017", "in_reply_to_user_id_str": "1633910605", "is_quote_status": false, "in_reply_to_user_id": 1633910605, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": "851352543015968768", "geo": null, "in_reply_to_status_id": 851352543015968768}, "description": "I'm mature and immature at the same time, deep , weird , rude I'm a goof...\nlogically illogical , An Ambivert ...", "screen_name": "Maria_H_K", "id": 1552707140, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 27596, "notifications": false, "listed_count": 7, "location": "", "profile_background_color": "C0DEED", "has_extended_profile": true, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 14316, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/848543332686938116/IfkdB3rV_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 294, "profile_banner_url": "https://pbs.twimg.com/profile_banners/1552707140/1491143525", "created_at": "Fri Jun 28 09:51:31 +0000 2013", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "1120354020", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 898, "contributors_enabled": false, "name": "\u0627\u0633\u062a\u063a\u0641\u0631\u0643 \u0631\u0628\u064a", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/744688063419392000/_51ajo2E_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "ar", "id_str": "853313078154452992", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [92, 115], "url": "https://t.co/KnsLL1GgFf", "expanded_url": "https://goo.gl/FSO1Sw", "display_url": "goo.gl/FSO1Sw"}, {"indices": [117, 140], "url": "https://t.co/GEam8S8FoZ", "expanded_url": "https://twitter.com/i/web/status/853313078154452992", "display_url": "twitter.com/i/web/status/8\u2026"}], "hashtags": [{"indices": [29, 44], "text": "\u0627\u0644\u0647\u0644\u0627\u0644_\u0627\u0644\u0627\u0647\u064e\u0644\u064a"}, {"indices": [47, 62], "text": "\u0627\u0644\u0646\u0635\u0631_\u0627\u0644\u062a\u0639\u0627\u0648\u0650\u0646"}], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "text": "\u0645\u0634\u0627\u0647\u062f\u0629 \u0645\u0628\u0627\u0631\u0627\u0629 \u0627\u0644\u0627\u0647\u0644\u064a \u0648\u0627\u0644\u0647\u0644\u0627\u0644 #\u0627\u0644\u0647\u0644\u0627\u0644_\u0627\u0644\u0627\u0647\u064e\u0644\u064a \u0648 #\u0627\u0644\u0646\u0635\u0631_\u0627\u0644\u062a\u0639\u0627\u0648\u0650\u0646 \u0628\u062b \u0627\u0644\u0634\u0648\u0637 \u0627\u0644\u0627\u0648\u0644\n\n\u0645\u0646 \u0647\u0646\u0627 \u0627\u0644\u0627\u0646: https://t.co/KnsLL1GgFf\u2026 https://t.co/GEam8S8FoZ", "contributors": null, "coordinates": null, "retweeted": false, "id": 853313078154452992, "created_at": "Sat Apr 15 18:24:26 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 53, "favorite_count": 54, "truncated": true, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "\u0633\u0628\u062d\u0627\u0646 \u0627\u0644\u0644\u0647", "screen_name": "jojo5265", "id": 1120354020, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 6, "notifications": false, "listed_count": 2, "location": "", "profile_background_color": "C0DEED", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 1408, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/744688063419392000/_51ajo2E_normal.jpg", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 1860, "protected": false, "created_at": "Fri Jan 25 22:06:11 +0000 2013", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "242456021", "profile_link_color": "1F98C7", "default_profile": false, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 168, "contributors_enabled": false, "name": "smilerrrrrrr", "url": null, "profile_text_color": "663B12", "profile_sidebar_fill_color": "DAECF4", "profile_image_url": "http://pbs.twimg.com/profile_images/809111513961205760/xB4Uom9D_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme2/bg.gif", "status": {"lang": "en", "id_str": "853355429820280832", "place": null, "extended_entities": {"media": [{"indices": [36, 59], "media_url": "http://pbs.twimg.com/media/C9e3rcqWAAAHxXL.jpg", "expanded_url": "https://twitter.com/mindbiowingpost/status/853352725769318400/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9e3rcqWAAAHxXL.jpg", "id_str": "853352611466051584", "source_status_id_str": "853352725769318400", "type": "photo", "source_user_id": 417565340, "source_status_id": 853352725769318400, "source_user_id_str": "417565340", "url": "https://t.co/xwpDVCRZHB", "sizes": {"small": {"resize": "fit", "w": 680, "h": 680}, "medium": {"resize": "fit", "w": 1080, "h": 1080}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 1080, "h": 1080}}, "display_url": "pic.twitter.com/xwpDVCRZHB", "id": 853352611466051584}]}, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [{"name": "mindblowing pics.", "indices": [3, 19], "screen_name": "mindbiowingpost", "id": 417565340, "id_str": "417565340"}], "media": [{"indices": [36, 59], "media_url": "http://pbs.twimg.com/media/C9e3rcqWAAAHxXL.jpg", "expanded_url": "https://twitter.com/mindbiowingpost/status/853352725769318400/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9e3rcqWAAAHxXL.jpg", "id_str": "853352611466051584", "source_status_id_str": "853352725769318400", "type": "photo", "source_user_id": 417565340, "source_status_id": 853352725769318400, "source_user_id_str": "417565340", "url": "https://t.co/xwpDVCRZHB", "sizes": {"small": {"resize": "fit", "w": 680, "h": 680}, "medium": {"resize": "fit", "w": 1080, "h": 1080}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 1080, "h": 1080}}, "display_url": "pic.twitter.com/xwpDVCRZHB", "id": 853352611466051584}]}, "favorited": false, "source": "Twitter for iPhone", "text": "RT @mindbiowingpost: The good life. https://t.co/xwpDVCRZHB", "contributors": null, "coordinates": null, "retweeted": false, "retweeted_status": {"lang": "en", "id_str": "853352725769318400", "place": null, "extended_entities": {"media": [{"indices": [15, 38], "media_url": "http://pbs.twimg.com/media/C9e3rcqWAAAHxXL.jpg", "expanded_url": "https://twitter.com/mindbiowingpost/status/853352725769318400/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9e3rcqWAAAHxXL.jpg", "id_str": "853352611466051584", "url": "https://t.co/xwpDVCRZHB", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 680, "h": 680}, "medium": {"resize": "fit", "w": 1080, "h": 1080}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 1080, "h": 1080}}, "display_url": "pic.twitter.com/xwpDVCRZHB", "id": 853352611466051584}]}, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [], "media": [{"indices": [15, 38], "media_url": "http://pbs.twimg.com/media/C9e3rcqWAAAHxXL.jpg", "expanded_url": "https://twitter.com/mindbiowingpost/status/853352725769318400/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9e3rcqWAAAHxXL.jpg", "id_str": "853352611466051584", "url": "https://t.co/xwpDVCRZHB", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 680, "h": 680}, "medium": {"resize": "fit", "w": 1080, "h": 1080}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 1080, "h": 1080}}, "display_url": "pic.twitter.com/xwpDVCRZHB", "id": 853352611466051584}]}, "favorited": false, "source": "Twitter Web Client", "text": "The good life. https://t.co/xwpDVCRZHB", "contributors": null, "coordinates": null, "retweeted": false, "id": 853352725769318400, "created_at": "Sat Apr 15 21:01:59 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 14, "in_reply_to_screen_name": null, "favorite_count": 51, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "id": 853355429820280832, "created_at": "Sat Apr 15 21:12:43 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 14, "in_reply_to_screen_name": null, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "Smilerrrrrrrr", "screen_name": "Sunil_K1", "id": 242456021, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme2/bg.gif", "default_profile_image": false, "following": false, "favourites_count": 394, "notifications": false, "listed_count": 2, "location": "", "profile_background_color": "C6E2EE", "has_extended_profile": false, "utc_offset": 3600, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 16915, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/809111513961205760/xB4Uom9D_normal.jpg", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 700, "protected": false, "created_at": "Mon Jan 24 20:44:40 +0000 2011", "time_zone": "London", "profile_sidebar_border_color": "C6E2EE"}, {"verified": false, "lang": "ar", "id_str": "921160578", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 279, "contributors_enabled": false, "name": "\u0631\u064a\u062a\u0627\u0644 \u0627\u0644\u062d\u0631\u0628\u064a", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/3520296227/1da3202f7e44b8309b97da5bb3ae5f02_normal.jpeg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "ar", "id_str": "853314754127048704", "place": null, "extended_entities": {"media": [{"indices": [113, 136], "media_url": "http://pbs.twimg.com/media/C9eVO78XkAcgOyh.jpg", "expanded_url": "https://twitter.com/maoaal1223/status/853314754127048704/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9eVO78XkAcgOyh.jpg", "id_str": "853314738251599879", "url": "https://t.co/Dtmol2xifN", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 300, "h": 168}, "medium": {"resize": "fit", "w": 300, "h": 168}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 300, "h": 168}}, "display_url": "pic.twitter.com/Dtmol2xifN", "id": 853314738251599879}, {"indices": [113, 136], "media_url": "http://pbs.twimg.com/media/C9eVPZBW0AAEyoL.jpg", "expanded_url": "https://twitter.com/maoaal1223/status/853314754127048704/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9eVPZBW0AAEyoL.jpg", "id_str": "853314746057150464", "url": "https://t.co/Dtmol2xifN", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 319, "h": 158}, "medium": {"resize": "fit", "w": 319, "h": 158}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 319, "h": 158}}, "display_url": "pic.twitter.com/Dtmol2xifN", "id": 853314746057150464}]}, "entities": {"symbols": [], "urls": [{"indices": [87, 110], "url": "https://t.co/b8guQvlC3K", "expanded_url": "https://goo.gl/P0AmKG", "display_url": "goo.gl/P0AmKG"}], "hashtags": [{"indices": [28, 43], "text": "\u0627\u0644\u0647\u0644\u0627\u0644_\u0627\u0644\u0627\u0647\u064e\u0644\u064a"}, {"indices": [46, 61], "text": "\u0627\u0644\u0646\u0635\u0631_\u0627\u0644\u062a\u0639\u0627\u0648\u0650\u0646"}], "user_mentions": [], "media": [{"indices": [113, 136], "media_url": "http://pbs.twimg.com/media/C9eVO78XkAcgOyh.jpg", "expanded_url": "https://twitter.com/maoaal1223/status/853314754127048704/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9eVO78XkAcgOyh.jpg", "id_str": "853314738251599879", "url": "https://t.co/Dtmol2xifN", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 300, "h": 168}, "medium": {"resize": "fit", "w": 300, "h": 168}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 300, "h": 168}}, "display_url": "pic.twitter.com/Dtmol2xifN", "id": 853314738251599879}]}, "favorited": false, "source": "Twitter Web Client", "text": "\u0631\u0627\u0628\u0637 \u0645\u0645\u064a\u0632 \u0644\u0644\u0645\u0628\u0627\u0631\u0627\u0629 \u0628\u062b \u0645\u0628\u0627\u0634\u0631 #\u0627\u0644\u0647\u0644\u0627\u0644_\u0627\u0644\u0627\u0647\u064e\u0644\u064a \u0648 #\u0627\u0644\u0646\u0635\u0631_\u0627\u0644\u062a\u0639\u0627\u0648\u0650\u0646 \u0628\u062f\u0648\u0646 \u062a\u0642\u0637\u064a\u0639\n\n\u0645\u0646 \u0647\u0646\u0627 \u0627\u0644\u0627\u0646: https://t.co/b8guQvlC3K\n. https://t.co/Dtmol2xifN", "contributors": null, "coordinates": null, "retweeted": false, "id": 853314754127048704, "created_at": "Sat Apr 15 18:31:05 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 53, "in_reply_to_screen_name": null, "favorite_count": 55, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "\u200f\u0627\u0644\u0644\u0647\u0645 \u0627\u0646\u0643 \u0639\u0641\u0648 \u062a\u062d\u0628 \u0627\u0644\u0639\u0641\u0648 \u0641\u0623\u0639\u0641\u0648\u0639\u0646\u064a", "screen_name": "maoaal1223", "id": 921160578, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 14, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "C0DEED", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 164, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/3520296227/1da3202f7e44b8309b97da5bb3ae5f02_normal.jpeg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 794, "profile_banner_url": "https://pbs.twimg.com/profile_banners/921160578/1368613370", "created_at": "Fri Nov 02 14:50:43 +0000 2012", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "732486930152067073", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 561, "contributors_enabled": false, "name": "\u0627\u0645\u0627\u0631\u0627\u062a 24", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/830068025202208770/y8xwsfsC_normal.jpg", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "853715882731859968", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [70, 93], "url": "https://t.co/W2ktJkzSAv", "expanded_url": "http://www.ar.ew3t.com/1225728.html", "display_url": "ar.ew3t.com/1225728.html"}], "hashtags": [], "user_mentions": []}, "favorited": false, "source": "WordPress.com", "text": "\u0633\u0639\u0631 \u0627\u0644\u0631\u064a\u0627\u0644 \u0627\u0644\u0633\u0639\u0648\u062f\u064a \u0627\u0644\u064a\u0648\u0645 \u0623\u0645\u0627\u0645 \u0627\u0644\u062f\u0648\u0644\u0627\u0631 \u0627\u0644\u0623\u0645\u0631\u064a\u0643\u064a \u0637\u0628\u0642\u0627 \u0644\u0644\u062a\u0639\u0627\u0645\u0644\u0627\u062a\u00a0\u0627\u0644\u064a\u0648\u0645\u064a\u0629 https://t.co/W2ktJkzSAv", "contributors": null, "coordinates": null, "retweeted": false, "id": 853715882731859968, "created_at": "Sun Apr 16 21:05:02 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "\u0627\u0645\u0627\u0631\u0627\u062a 24 , \u0645\u0648\u0642\u0639 \u0627\u062e\u0628\u0627\u0631\u064a \u064a\u0647\u062a\u0645 \u0641\u064a \u0627\u0644\u0627\u062e\u0628\u0627\u0631 \u0627\u0644\u0627\u0645\u0627\u0631\u0627\u062a\u064a\u0629 \u0648\u0627\u0644\u0639\u0627\u0644\u0645\u064a\u0629", "screen_name": "al3sol1", "id": 732486930152067073, "profile_background_image_url": null, "default_profile_image": false, "following": false, "favourites_count": 5961, "notifications": false, "listed_count": 5, "location": "\u062f\u0628\u064a, \u0627\u0644\u0627\u0645\u0627\u0631\u0627\u062a \u0627\u0644\u0639\u0631\u0628\u064a\u0629 \u0627\u0644\u0645\u062a\u062d\u062f\u0629", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 99140, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/830068025202208770/y8xwsfsC_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 34, "profile_banner_url": "https://pbs.twimg.com/profile_banners/732486930152067073/1486738771", "created_at": "Tue May 17 08:24:27 +0000 2016", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "852940733933916163", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 2, "contributors_enabled": false, "name": "\u0627\u0644\u0628\u062b \u0627\u0644\u0645\u0628\u0627\u0634\u0631", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "852943284569870336", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [60, 83], "url": "https://t.co/yoW1ru99IY", "expanded_url": "https://plus.google.com/103795556080144846035/posts/UqPysC52pdT?_utm_source=199-1-1", "display_url": "plus.google.com/10379555608014\u2026"}], "hashtags": [{"indices": [26, 44], "text": "\u0627\u0644\u0627\u062a\u0640\u062d\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0647"}, {"indices": [86, 99], "text": "\u0641\u0640\u0648\u0627\u0632_\u0627\u0644\u0642\u0631\u0646\u064a"}, {"indices": [100, 113], "text": "\u0645\u0640\u062d\u0645\u062f_\u0627\u0644\u0634\u0631\u064a\u0641"}], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "text": "\u0631\u0627\u0628\u0637 \u0628\u062b \u0645\u0628\u0627\u0634\u0631 \u0627\u0644\u0634\u0648\u0637 \u0627\u0644\u0627\u0648\u0644 #\u0627\u0644\u0627\u062a\u0640\u062d\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0647 \u064a\u062f\u0639\u0645 \u0627\u0644\u062c\u0648\u0627\u0644 \n\n https://t.co/yoW1ru99IY \n\n#\u0641\u0640\u0648\u0627\u0632_\u0627\u0644\u0642\u0631\u0646\u064a\n#\u0645\u0640\u062d\u0645\u062f_\u0627\u0644\u0634\u0631\u064a\u0641", "contributors": null, "coordinates": null, "retweeted": false, "id": 852943284569870336, "created_at": "Fri Apr 14 17:55:00 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "UoF5TO5zVHRxJtW", "id": 852940733933916163, "profile_background_image_url": null, "default_profile_image": true, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 1, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 10, "geo_enabled": false, "profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 0, "protected": false, "created_at": "Fri Apr 14 17:44:52 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "852951058934530050", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 0, "contributors_enabled": false, "name": "\u0627\u0645\u064a\u0631\u0629 \u0627\u0644\u0639\u0634\u0627\u0642", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "852953018127572992", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [64, 87], "url": "https://t.co/RCFp8TMpAg", "expanded_url": "http://ow.ly/b0UK30aRF3Q", "display_url": "ow.ly/b0UK30aRF3Q"}], "hashtags": [{"indices": [34, 53], "text": "\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0648\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629"}, {"indices": [90, 109], "text": "\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0648\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629"}], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "text": "\u0634\u0627\u0647\u062f / \u0627\u0641\u0636\u0644 \u0646\u0642\u0644 \u0648\u0627\u0642\u0648\u0649 \u0631\u0627\u0628\u0637 \u0645\u0628\u0627\u0631\u0627\u0629 #\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0648\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629 \u0628\u062b \u0645\u0628\u0627\u0634\u0631\n\nhttps://t.co/RCFp8TMpAg \n\n#\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0648\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629", "contributors": null, "coordinates": null, "retweeted": false, "id": 852953018127572992, "created_at": "Fri Apr 14 18:33:41 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "a65489451thy", "id": 852951058934530050, "profile_background_image_url": null, "default_profile_image": true, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 12, "geo_enabled": false, "profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 0, "protected": false, "created_at": "Fri Apr 14 18:25:54 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "852185986146729985", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 2, "contributors_enabled": false, "name": "\u064c\u0642\u0645\u0631 \u0627\u0644\u0634\u0627\u0645\u064a", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/852186185468444672/PdrIM-gz_normal.jpg", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "853330055535177728", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [99, 122], "url": "https://t.co/VHtDQKHKiD", "expanded_url": "https://twitter.com/i/web/status/853330055535177728", "display_url": "twitter.com/i/web/status/8\u2026"}], "hashtags": [{"indices": [26, 41], "text": "\u0627\u0644\u0647\u0644\u0627\u0644_\u0627\u0644\u0627\u0647\u064e\u0644\u064a"}, {"indices": [44, 59], "text": "\u0627\u0644\u0646\u0635\u0631_\u0627\u0644\u062a\u0639\u0627\u0648\u0650\u0646"}], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "text": "\u0631\u0627\u0628\u0637 \u0627\u0644\u0634\u0648\u0637 \u0627\u0644\u062b\u0627\u0646\u064a \u0644\u0645\u0628\u0627\u0631\u0627\u0629 #\u0627\u0644\u0647\u0644\u0627\u0644_\u0627\u0644\u0627\u0647\u064e\u0644\u064a \u0648 #\u0627\u0644\u0646\u0635\u0631_\u0627\u0644\u062a\u0639\u0627\u0648\u0650\u0646 \u0628\u062b \u064a\u0648\u062a\u064a\u0648\u0628 \u0633\u0631\u064a\u0639 \u0627\u0644\u0627\u0633\u0637\u0648\u0631\u0629\n\n\u0634\u0627\u0647\u062f \u0645\u0646 \u0647\u0646\u0627:\u2026 https://t.co/VHtDQKHKiD", "contributors": null, "coordinates": null, "retweeted": false, "id": 853330055535177728, "created_at": "Sat Apr 15 19:31:54 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 63, "favorite_count": 37, "truncated": true, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "Moollaooeeew", "id": 852185986146729985, "profile_background_image_url": null, "default_profile_image": false, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 11, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/852186185468444672/PdrIM-gz_normal.jpg", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 20, "protected": false, "created_at": "Wed Apr 12 15:45:46 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "852215553469153280", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 2, "contributors_enabled": false, "name": "\u0639\u0631\u0627\u0642\u064a\u0647\u0647 \u0648\u0627\u0641\u062a\u062e\u0631", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/852215767873585153/8WEVbc9m_normal.jpg", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "852969733242707969", "place": null, "extended_entities": {"media": [{"indices": [110, 133], "media_url": "http://pbs.twimg.com/media/C9ZbbrqXUAELIAE.jpg", "expanded_url": "https://twitter.com/AD81kBaJ7bJI6az/status/852969733242707969/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9ZbbrqXUAELIAE.jpg", "id_str": "852969710568296449", "url": "https://t.co/904mwogeh0", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 302, "h": 167}, "medium": {"resize": "fit", "w": 302, "h": 167}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 302, "h": 167}}, "display_url": "pic.twitter.com/904mwogeh0", "id": 852969710568296449}]}, "entities": {"symbols": [], "urls": [{"indices": [84, 107], "url": "https://t.co/X4hdUuGj6D", "expanded_url": "https://goo.gl/og7rYl", "display_url": "goo.gl/og7rYl"}], "hashtags": [{"indices": [28, 46], "text": "\u0627\u0644\u0627\u062a\u062d\u064e\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629"}], "user_mentions": [], "media": [{"indices": [110, 133], "media_url": "http://pbs.twimg.com/media/C9ZbbrqXUAELIAE.jpg", "expanded_url": "https://twitter.com/AD81kBaJ7bJI6az/status/852969733242707969/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9ZbbrqXUAELIAE.jpg", "id_str": "852969710568296449", "url": "https://t.co/904mwogeh0", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 302, "h": 167}, "medium": {"resize": "fit", "w": 302, "h": 167}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 302, "h": 167}}, "display_url": "pic.twitter.com/904mwogeh0", "id": 852969710568296449}]}, "favorited": false, "source": "Twitter Web Client", "text": "\u0634\u0627\u0647\u062f \u0644\u0627\u064a\u0641 \u0628\u062f\u0648\u0646 \u062a\u0642\u0637\u064a\u0639 \u0645\u0628\u0627\u0631\u0627\u0629 #\u0627\u0644\u0627\u062a\u062d\u064e\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629 \u0628\u062b \u0645\u0628\u0627\u0634\u0631 \u0627\u0644\u0634\u0648\u0637 \u0627\u0644\u062b\u0627\u0646\u064a \n\n\u0634\u0627\u0647\u062f \u0645\u0646 \u0647\u0646\u0627: https://t.co/X4hdUuGj6D\n. https://t.co/904mwogeh0", "contributors": null, "coordinates": null, "retweeted": false, "id": 852969733242707969, "created_at": "Fri Apr 14 19:40:06 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 16, "in_reply_to_screen_name": null, "favorite_count": 16, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "AD81kBaJ7bJI6az", "id": 852215553469153280, "profile_background_image_url": null, "default_profile_image": false, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 6, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/852215767873585153/8WEVbc9m_normal.jpg", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 21, "protected": false, "created_at": "Wed Apr 12 17:43:16 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "852939990103465984", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 1, "contributors_enabled": false, "name": "\u0645\u0628\u0627\u0634\u0631", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "852942453208481792", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [60, 83], "url": "https://t.co/Kk3YMxIfAE", "expanded_url": "https://plus.google.com/103795556080144846035/posts/UqPysC52pdT?_utm_source=199-1-1", "display_url": "plus.google.com/10379555608014\u2026"}], "hashtags": [{"indices": [26, 44], "text": "\u0627\u0644\u0627\u062a\u0640\u062d\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0647"}, {"indices": [90, 108], "text": "\u0627\u0644\u0627\u062a\u0640\u062d\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0647"}, {"indices": [109, 122], "text": "\u0641\u0640\u0648\u0627\u0632_\u0627\u0644\u0642\u0631\u0646\u064a"}], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "text": "\u0631\u0627\u0628\u0637 \u0628\u062b \u0645\u0628\u0627\u0634\u0631 \u0627\u0644\u0634\u0648\u0637 \u0627\u0644\u0627\u0648\u0644 #\u0627\u0644\u0627\u062a\u0640\u062d\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0647 \u064a\u062f\u0639\u0645 \u0627\u0644\u062c\u0648\u0627\u0644 \n\n https://t.co/Kk3YMxIfAE \u2026 \u2026 \n\n#\u0627\u0644\u0627\u062a\u0640\u062d\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0647\n#\u0641\u0640\u0648\u0627\u0632_\u0627\u0644\u0642\u0631\u0646\u064a", "contributors": null, "coordinates": null, "retweeted": false, "id": 852942453208481792, "created_at": "Fri Apr 14 17:51:42 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "fVpdN5NUufURouT", "id": 852939990103465984, "profile_background_image_url": null, "default_profile_image": true, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 1, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 7, "geo_enabled": false, "profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 0, "protected": false, "created_at": "Fri Apr 14 17:41:55 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "2834289858", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 590, "contributors_enabled": false, "name": "\u0641\u0640\u0653\u0640\u062e\u0640\u0653\u0640\u0627\u0645\u0640\u0647\u060c \u0631\u0653\u062c\u064f\u0640\u0644", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/516551672806400000/hsssHz3v_normal.jpeg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "ar", "id_str": "853626663682400256", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [74, 97], "url": "https://t.co/8mMlAKazCy", "expanded_url": "https://goo.gl/bntZvd", "display_url": "goo.gl/bntZvd"}], "hashtags": [{"indices": [104, 128], "text": "\u0645\u0627\u0646\u0634\u0633\u062a\u0631_\u064a\u0648\u0646\u0627\u064a\u062a\u062f_\u062a\u0634\u064a\u0644\u0633\u064a\u064e"}], "user_mentions": []}, "favorited": false, "source": "TweetDeck", "text": "\u0642\u0646\u0627\u0629 \u062d\u0635\u0631\u064a \u062a\u0628\u062b \u0627\u0644\u0644\u0642\u0627\u0621 \u064a\u0648\u062a\u064a\u0648\u0628 \u062a\u0634\u064a\u0644\u0633\u064a \u0648\u0645\u0627\u0646\u0634\u0633\u062a\u0631 \u064a\u0648\u0646\u0627\u064a\u062a\u064a\u062f\n\u0634\u0627\u0647\u062f \u0627\u0644\u0645\u0628\u0627\u0631\u0627\u0629 \u0645\u0628\u0627\u0634\u0631\n\nhttps://t.co/8mMlAKazCy\n\n+++\n\n#\u0645\u0627\u0646\u0634\u0633\u062a\u0631_\u064a\u0648\u0646\u0627\u064a\u062a\u062f_\u062a\u0634\u064a\u0644\u0633\u064a\u064e", "contributors": null, "coordinates": null, "retweeted": false, "id": 853626663682400256, "created_at": "Sun Apr 16 15:10:30 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 82, "favorite_count": 83, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "\u0633\u0628\u062d\u0627\u0646 \u0627\u0644\u0644\u0647 \u0648\u0628\u062d\u0645\u062f\u0647 \u0633\u0628\u062d\u0627\u0646 \u0627\u0644\u0644\u0647 \u0627\u0644\u0639\u0638\u064a\u0645", "screen_name": "nayf1438", "id": 2834289858, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 12, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "C0DEED", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 277, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/516551672806400000/hsssHz3v_normal.jpeg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 877, "profile_banner_url": "https://pbs.twimg.com/profile_banners/2834289858/1412034061", "created_at": "Sat Sep 27 19:17:41 +0000 2014", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "852793656025141249", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 4, "contributors_enabled": false, "name": "\u0627\u0644\u0627\u062a\u062d\u0627\u062f \u0648\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/852794494638465024/ZKbtFApD_normal.jpg", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "853680832682352642", "place": null, "extended_entities": {"media": [{"indices": [56, 79], "media_url": "http://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "expanded_url": "https://twitter.com/vNw2f/status/853680261707571203/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "id_str": "853680251884457984", "source_status_id_str": "853680261707571203", "type": "photo", "source_user_id": 1321452678, "source_status_id": 853680261707571203, "source_user_id_str": "1321452678", "url": "https://t.co/0RyfRJe5zd", "sizes": {"small": {"resize": "fit", "w": 350, "h": 527}, "medium": {"resize": "fit", "w": 350, "h": 527}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 350, "h": 527}}, "display_url": "pic.twitter.com/0RyfRJe5zd", "id": 853680251884457984}]}, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [{"name": "\u0646\u0648\u0651\u0627\u0641", "indices": [3, 9], "screen_name": "vNw2f", "id": 1321452678, "id_str": "1321452678"}], "media": [{"indices": [56, 79], "media_url": "http://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "expanded_url": "https://twitter.com/vNw2f/status/853680261707571203/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "id_str": "853680251884457984", "source_status_id_str": "853680261707571203", "type": "photo", "source_user_id": 1321452678, "source_status_id": 853680261707571203, "source_user_id_str": "1321452678", "url": "https://t.co/0RyfRJe5zd", "sizes": {"small": {"resize": "fit", "w": 350, "h": 527}, "medium": {"resize": "fit", "w": 350, "h": 527}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 350, "h": 527}}, "display_url": "pic.twitter.com/0RyfRJe5zd", "id": 853680251884457984}]}, "favorited": false, "source": "TweetDeck", "text": "RT @vNw2f: \u0644\u0640\u0640\u064b\u0646 \u064a\u062a\u0645\u0643\u0646 \u0627\u0644\u0627\u0646\u064e\u0633\u0627\u0646 \u062f\u0627\u0626\u0645\u0627\u064b \u0628\u0627\u0644\u062d\u0638\u064a \u0628\u0645\u0627 \u064a\u062a\u0645\u0646\u0649 https://t.co/0RyfRJe5zd", "contributors": null, "coordinates": null, "retweeted": false, "retweeted_status": {"lang": "ar", "id_str": "853680261707571203", "place": null, "extended_entities": {"media": [{"indices": [45, 68], "media_url": "http://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "expanded_url": "https://twitter.com/vNw2f/status/853680261707571203/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "id_str": "853680251884457984", "url": "https://t.co/0RyfRJe5zd", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 350, "h": 527}, "medium": {"resize": "fit", "w": 350, "h": 527}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 350, "h": 527}}, "display_url": "pic.twitter.com/0RyfRJe5zd", "id": 853680251884457984}]}, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [], "media": [{"indices": [45, 68], "media_url": "http://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "expanded_url": "https://twitter.com/vNw2f/status/853680261707571203/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "id_str": "853680251884457984", "url": "https://t.co/0RyfRJe5zd", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 350, "h": 527}, "medium": {"resize": "fit", "w": 350, "h": 527}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 350, "h": 527}}, "display_url": "pic.twitter.com/0RyfRJe5zd", "id": 853680251884457984}]}, "favorited": false, "source": "TweetDeck", "text": "\u0644\u0640\u0640\u064b\u0646 \u064a\u062a\u0645\u0643\u0646 \u0627\u0644\u0627\u0646\u064e\u0633\u0627\u0646 \u062f\u0627\u0626\u0645\u0627\u064b \u0628\u0627\u0644\u062d\u0638\u064a \u0628\u0645\u0627 \u064a\u062a\u0645\u0646\u0649 https://t.co/0RyfRJe5zd", "contributors": null, "coordinates": null, "retweeted": false, "id": 853680261707571203, "created_at": "Sun Apr 16 18:43:29 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 195, "in_reply_to_screen_name": null, "favorite_count": 1, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "id": 853680832682352642, "created_at": "Sun Apr 16 18:45:45 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 195, "in_reply_to_screen_name": null, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "\u0645\u062c\u0646\u0648\u0646 \u0628\u0627\u0644\u0627\u062a\u062d\u0627\u062f", "screen_name": "itihad_vs", "id": 852793656025141249, "profile_background_image_url": null, "default_profile_image": false, "following": false, "favourites_count": 36, "notifications": false, "listed_count": 0, "location": "\u062c\u062f\u0629, \u0627\u0644\u0645\u0645\u0644\u0643\u0629 \u0627\u0644\u0639\u0631\u0628\u064a\u0629 \u0627\u0644\u0633\u0639\u0648\u062f\u064a\u0629", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 42, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/852794494638465024/ZKbtFApD_normal.jpg", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 0, "protected": false, "created_at": "Fri Apr 14 08:00:26 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "2467503511", "profile_link_color": "4A913C", "default_profile": false, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 23], "url": "https://t.co/uX9L6x1Mcj", "expanded_url": "http://www.aramental.com", "display_url": "aramental.com"}]}, "description": {"urls": []}}, "followers_count": 748, "contributors_enabled": false, "name": "\u0b8f\u0bb2\u0b95\u0bc8\u0bb5\u0ba9\u0bcd", "url": "https://t.co/uX9L6x1Mcj", "profile_text_color": "000000", "profile_sidebar_fill_color": "000000", "profile_image_url": "http://pbs.twimg.com/profile_images/821967499239522304/P5bjGjQW_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "ta", "id_str": "853609153335631874", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [{"name": "\u0b85\u0bb4\u0b95\u0bbf\u0baf \u0ba4\u0bae\u0bbf\u0bb4\u0bcd \u0bae\u0b95\u0ba9\u0bcd", "indices": [3, 16], "screen_name": "kaviintamizh", "id": 2485104318, "id_str": "2485104318"}]}, "favorited": false, "source": "Twitter for iPhone", "text": "RT @kaviintamizh: \u0baa\u0bc1\u0bb0\u0bbf\u0b9e\u0bcd\u0b9a\u0bbf\u0b95\u0bcd\u0b95\u0bcb\u0b99\u0bcd\u0b95 \u0b9a\u0bc0\u0bae\u0bbe\u0ba9\u0bcd.. 2011\u0b95\u0bcd\u0b95\u0bc1 \u0b85\u0baa\u0bcd\u0baa\u0bc1\u0bb1\u0bae\u0bcd \u0b9c\u0bc6, \u0b93\u0baa\u0bbf\u0b8e\u0bb8\u0bcd, \u0b87\u0baa\u0bbf\u0b8e\u0bb8\u0bcd \u0ba9\u0bc1 \u0bae\u0bc2\u0ba3\u0bc1 \u0bae\u0bc1\u0ba4\u0bb2\u0bcd\u0bb5\u0bb0\u0bcd \u0bb5\u0ba8\u0bcd\u0ba4\u0bc1\u0b9f\u0bcd\u0b9f\u0bbe\u0b99\u0bcd\u0b95.. \u0b87\u0ba9\u0bcd\u0ba9\u0bc1\u0bae\u0bcd \u0ba4\u0bbf\u0bae\u0bc1\u0b95 \u0b86\u0b9f\u0bcd\u0b9a\u0bbf\u0ba9\u0bc7 \u0ba8\u0bbf\u0ba9\u0bc8\u2026", "contributors": null, "coordinates": null, "retweeted": false, "retweeted_status": {"lang": "ta", "id_str": "853567447542181889", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [117, 140], "url": "https://t.co/LsToDSzStP", "expanded_url": "https://twitter.com/i/web/status/853567447542181889", "display_url": "twitter.com/i/web/status/8\u2026"}], "hashtags": [], "user_mentions": []}, "favorited": false, "source": "Twitter for Android", "text": "\u0baa\u0bc1\u0bb0\u0bbf\u0b9e\u0bcd\u0b9a\u0bbf\u0b95\u0bcd\u0b95\u0bcb\u0b99\u0bcd\u0b95 \u0b9a\u0bc0\u0bae\u0bbe\u0ba9\u0bcd.. 2011\u0b95\u0bcd\u0b95\u0bc1 \u0b85\u0baa\u0bcd\u0baa\u0bc1\u0bb1\u0bae\u0bcd \u0b9c\u0bc6, \u0b93\u0baa\u0bbf\u0b8e\u0bb8\u0bcd, \u0b87\u0baa\u0bbf\u0b8e\u0bb8\u0bcd \u0ba9\u0bc1 \u0bae\u0bc2\u0ba3\u0bc1 \u0bae\u0bc1\u0ba4\u0bb2\u0bcd\u0bb5\u0bb0\u0bcd \u0bb5\u0ba8\u0bcd\u0ba4\u0bc1\u0b9f\u0bcd\u0b9f\u0bbe\u0b99\u0bcd\u0b95.. \u0b87\u0ba9\u0bcd\u0ba9\u0bc1\u0bae\u0bcd \u0ba4\u0bbf\u0bae\u0bc1\u0b95 \u0b86\u0b9f\u0bcd\u0b9a\u0bbf\u0ba9\u0bc7\u2026 https://t.co/LsToDSzStP", "contributors": null, "coordinates": null, "retweeted": false, "id": 853567447542181889, "created_at": "Sun Apr 16 11:15:12 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 256, "favorite_count": 204, "truncated": true, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "id": 853609153335631874, "created_at": "Sun Apr 16 14:00:56 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 256, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "in_reply_to_status_id": null}, "description": "\u0b85\u0baf\u0bb2\u0bcd\u0ba8\u0bbe\u0b9f\u0bc1 \u0b89\u0ba8\u0bcd\u0ba4\u0ba9\u0bcd \u0bb5\u0bc0\u0b9f\u0bc1 \u0b85\u0bb2\u0bcd\u0bb2 \u0bb5\u0bbf\u0b9f\u0bc1\u0ba4\u0bbf\u0baf\u0b9f\u0bbe \u0ba4\u0bae\u0bbf\u0bb4\u0bbe.....!!!", "screen_name": "sureshrcs", "id": 2467503511, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 863, "notifications": false, "listed_count": 5, "location": "\u0b85\u0bae\u0bc0\u0bb0\u0b95\u0bae\u0bcd", "profile_background_color": "000000", "has_extended_profile": false, "utc_offset": 14400, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 2493, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/821967499239522304/P5bjGjQW_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": false, "friends_count": 1016, "profile_banner_url": "https://pbs.twimg.com/profile_banners/2467503511/1454088267", "created_at": "Mon Apr 28 09:41:47 +0000 2014", "time_zone": "Abu Dhabi", "profile_sidebar_border_color": "000000"}, {"verified": false, "lang": "es", "id_str": "350248899", "profile_link_color": "009999", "default_profile": false, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 146, "contributors_enabled": false, "name": "Javier Merino", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "EFEFEF", "profile_image_url": "http://pbs.twimg.com/profile_images/460745670232526848/kEGibGrH_normal.png", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme14/bg.gif", "status": {"lang": "es", "id_str": "853625282376478720", "place": null, "in_reply_to_screen_name": "laligaennumeros", "entities": {"symbols": [], "urls": [{"indices": [117, 140], "url": "https://t.co/xwRKDEH9pz", "expanded_url": "https://twitter.com/i/web/status/853625282376478720", "display_url": "twitter.com/i/web/status/8\u2026"}], "hashtags": [], "user_mentions": [{"name": "La Liga en 11\u00fameros", "indices": [0, 16], "screen_name": "laligaennumeros", "id": 60983606, "id_str": "60983606"}]}, "favorited": false, "source": "Twitter for Android", "text": "@laligaennumeros Un portero no puede jugar en 1a cuando tiene ese nivel en los balones por alto (por ejemplo). Y es\u2026 https://t.co/xwRKDEH9pz", "contributors": null, "coordinates": null, "retweeted": false, "id": 853625282376478720, "created_at": "Sun Apr 16 15:05:01 +0000 2017", "in_reply_to_user_id_str": "60983606", "is_quote_status": false, "in_reply_to_user_id": 60983606, "retweet_count": 0, "favorite_count": 0, "truncated": true, "in_reply_to_status_id_str": "853553213043339265", "geo": null, "in_reply_to_status_id": 853553213043339265}, "description": "S\u00ed, soy estad\u00edstico, soy raro, pero molo.", "screen_name": "JaviMerino_93", "id": 350248899, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme14/bg.gif", "default_profile_image": false, "following": false, "favourites_count": 62, "notifications": false, "listed_count": 4, "location": "", "profile_background_color": "131535", "has_extended_profile": false, "utc_offset": 7200, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 10449, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/460745670232526848/kEGibGrH_normal.png", "profile_background_tile": true, "protected": false, "profile_use_background_image": false, "friends_count": 234, "profile_banner_url": "https://pbs.twimg.com/profile_banners/350248899/1348185203", "created_at": "Sun Aug 07 13:11:48 +0000 2011", "time_zone": "Madrid", "profile_sidebar_border_color": "FFFFFF"}, {"verified": false, "lang": "nl", "id_str": "949463634", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 22], "url": "http://t.co/Qfprq84U2P", "expanded_url": "http://www.sollicitatieLAB.nl", "display_url": "sollicitatieLAB.nl"}]}, "description": {"urls": []}}, "followers_count": 11504, "contributors_enabled": false, "name": "SollicitatieLAB", "url": "http://t.co/Qfprq84U2P", "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/2851807340/7cb28547fad6aa04cbc9c617e51071a2_normal.png", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "nl", "id_str": "853606156287131648", "place": null, "extended_entities": {"media": [{"indices": [112, 135], "media_url": "http://pbs.twimg.com/media/C9iCzGOXUAABaqT.jpg", "expanded_url": "https://twitter.com/SollicitatieLAB/status/853606156287131648/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9iCzGOXUAABaqT.jpg", "id_str": "853575943742509056", "url": "https://t.co/74c261XXs2", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 680, "h": 510}, "medium": {"resize": "fit", "w": 960, "h": 720}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 960, "h": 720}}, "display_url": "pic.twitter.com/74c261XXs2", "id": 853575943742509056}]}, "entities": {"symbols": [], "urls": [{"indices": [88, 111], "url": "https://t.co/qEHXYnfvpb", "expanded_url": "http://sollicitatielab.nl/Het-cv-van-de-maand/De-beste-cv-s-van-2017/", "display_url": "sollicitatielab.nl/Het-cv-van-de-\u2026"}], "hashtags": [{"indices": [16, 22], "text": "Pasen"}], "user_mentions": [{"name": "Karina Brouwer", "indices": [80, 87], "screen_name": "Kaakje", "id": 25294252, "id_str": "25294252"}], "media": [{"indices": [112, 135], "media_url": "http://pbs.twimg.com/media/C9iCzGOXUAABaqT.jpg", "expanded_url": "https://twitter.com/SollicitatieLAB/status/853606156287131648/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9iCzGOXUAABaqT.jpg", "id_str": "853575943742509056", "url": "https://t.co/74c261XXs2", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 680, "h": 510}, "medium": {"resize": "fit", "w": 960, "h": 720}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 960, "h": 720}}, "display_url": "pic.twitter.com/74c261XXs2", "id": 853575943742509056}]}, "favorited": false, "source": "TweetDeck", "text": "Niet alleen met #Pasen \nvind je bij ons PAASBESTE cv's \nBijvoorbeeld het cv van\n@Kaakje\nhttps://t.co/qEHXYnfvpb https://t.co/74c261XXs2", "contributors": null, "coordinates": null, "retweeted": false, "id": 853606156287131648, "created_at": "Sun Apr 16 13:49:01 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 1, "in_reply_to_screen_name": null, "favorite_count": 1, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "SollicitatieLAB maakt van je sollicitatie een succes! info@sollicitatielab.nl \u270606-53790492(Cees)\u270606-26946198(Ton) *Outplacement *Het cv van de maand *Training", "screen_name": "SollicitatieLAB", "id": 949463634, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 1365, "notifications": false, "listed_count": 367, "location": "", "profile_background_color": "C0DEED", "has_extended_profile": false, "utc_offset": 7200, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 39759, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/2851807340/7cb28547fad6aa04cbc9c617e51071a2_normal.png", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 12478, "protected": false, "created_at": "Thu Nov 15 10:31:17 +0000 2012", "time_zone": "Amsterdam", "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "851372779001831424", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 21, "contributors_enabled": false, "name": "\u062a\u0627\u0628\u0639 \u0644\u0627\u064a\u0641", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/851373192841134080/2A1pts2i_normal.jpg", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "852932528117862400", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "withheld_in_countries": ["XY"], "text": "This Tweet from @TABIII3LIVE433 has been withheld in response to a report from the copyright holder.", "contributors": null, "coordinates": null, "retweeted": false, "withheld_copyright": true, "id": 852932528117862400, "created_at": "Fri Apr 14 17:12:16 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 371, "withheld_scope": "status", "favorite_count": 376, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "in_reply_to_status_id": null}, "description": "\u0645\u0644\u0627\u0639\u0628 \u062a\u064a\u0641\u064a", "screen_name": "TABIII3LIVE433", "id": 851372779001831424, "profile_background_image_url": null, "default_profile_image": false, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 0, "location": "Kingdom of Saudi Arabia", "profile_background_color": "F5F8FA", "has_extended_profile": true, "utc_offset": -25200, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 2, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/851373192841134080/2A1pts2i_normal.jpg", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 20, "protected": false, "created_at": "Mon Apr 10 09:54:23 +0000 2017", "time_zone": "Pacific Time (US & Canada)", "profile_sidebar_border_color": "C0DEED"}] \ No newline at end of file diff --git a/tests/test_controllers.py b/tests/test_controllers.py index 5999acd..e18f0a2 100644 --- a/tests/test_controllers.py +++ b/tests/test_controllers.py @@ -12,11 +12,12 @@ import app.controllers.moderator_controller import app.controllers.lumen_controller import app.controllers.twitter_controller -from utils.common import PageType, DbEngine, json2obj +from utils.common import PageType, DbEngine, json2obj, TwitterUserState import requests +from twitter import TwitterError ### LOAD THE CLASSES TO TEST -from app.models import Base, FrontPage, SubredditPage, Subreddit, Post, ModAction, Comment, User, LumenNotice, LumenNoticeToTwitterUser +from app.models import Base, FrontPage, SubredditPage, Subreddit, Post, ModAction, Comment, User, LumenNotice, LumenNoticeToTwitterUser, TwitterUser, TwitterStatus import app.cs_logger ## SET UP THE DATABASE ENGINE @@ -36,7 +37,9 @@ def clear_all_tables(): db_session.query(ModAction).delete() db_session.query(Comment).delete() db_session.query(LumenNotice).delete() - db_session.query(LumenNoticeToTwitterUser).delete() + db_session.query(LumenNoticeToTwitterUser).delete() + db_session.query(TwitterUser).delete() + db_session.query(TwitterStatus).delete() db_session.commit() def setup_function(function): @@ -45,6 +48,7 @@ def setup_function(function): def teardown_function(function): clear_all_tables() + @patch('praw.Reddit', autospec=True) @patch('praw.objects.Subreddit', autospec=True) def test_archive_reddit_front_page(mock_subreddit, mock_reddit): @@ -65,7 +69,6 @@ def test_archive_reddit_front_page(mock_subreddit, mock_reddit): r.get_subreddit.return_value = mock_subreddit - assert len(db_session.query(FrontPage).all()) == 0 ## NOW START THE TEST for top, controversial, new @@ -709,13 +712,12 @@ def test_archive_mod_action_page(mock_reddit): assert last_action_id == mod_action_fixtures[1][-1]['id'] - @patch('lumen_connect.connection.LumenConnect', autospec=True) @patch('twitter_connect.connection.TwitterConnect', autospec=True) def test_archive_lumen_notices(mock_TwitterConnect, mock_LumenConnect): lc = mock_LumenConnect.return_value tc = mock_TwitterConnect.return_value - with open("{script_dir}/fixture_data/lumen_notices.json".format(script_dir=TEST_DIR)) as f: + with open("{script_dir}/fixture_data/lumen_notices_1.json".format(script_dir=TEST_DIR)) as f: data = f.read() lc.get_search.return_value = json.loads(data) @@ -772,10 +774,105 @@ def test_parse_notices_archive_users(mock_TwitterConnect, mock_LumenConnect, moc log = app.cs_logger.get_logger(ENV, BASE_DIR) lumen = app.controllers.lumen_controller.LumenController(db_session, lc, tc, log) - with open("{script_dir}/fixture_data/lumen_notices.json".format(script_dir=TEST_DIR)) as f: + with open("{script_dir}/fixture_data/lumen_notices_0.json".format(script_dir=TEST_DIR)) as f: data = json.loads(f.read()) - notices = data["notices"][:5] # to make test faster + notices = data["notices"][:30] # to make test faster, but get >100 users lumen.parse_notices_archive_users(notices, False) all_notices = db_session.query(LumenNoticeToTwitterUser).all() - assert len(all_notices) == 8 \ No newline at end of file + assert len(all_notices) == 140 + + + +# TODO: currently this test does not test user list with len>90, so as to not call api.UsersLookup more than once, which is difficult to mock +@patch('twitter.Api', autospec=True) +@patch('twitter_connect.connection.TwitterConnect', autospec=True) +def test_archive_users(mock_TwitterConnect, mock_twitter): + tc = mock_TwitterConnect.return_value + api = mock_twitter.return_value + with open("{script_dir}/fixture_data/twitter_users.json".format(script_dir=TEST_DIR)) as f: + data = f.read() + api.UsersLookup.return_value = json.loads(data) + tc.api = api + patch('twitter.') + patch('twitter_connect.') + + + assert len(db_session.query(TwitterUser).all()) == 0 + + log = app.cs_logger.get_logger(ENV, BASE_DIR) + twitter = app.controllers.twitter_controller.TwitterController(db_session, tc, log) + + with open("{script_dir}/fixture_data/twitter_username_list.json".format(script_dir=TEST_DIR)) as f: + users = json.loads(f.read()) + + twitter.archive_users(set(users), False) + all_notices = db_session.query(TwitterUser).all() + assert len(all_notices) == len(users) + + found_notices = db_session.query(TwitterUser).filter(TwitterUser.user_state == TwitterUserState.FOUND.value).all() + assert len(found_notices) == 80 + + not_found_notices = db_session.query(TwitterUser).filter(TwitterUser.user_state == TwitterUserState.NOT_FOUND.value).all() + assert len(not_found_notices) == 6 + + + + +# TODO: currently this test does not test users with lots of statuses/tweets, so as to not call api.GetUserTimeline more than once, which is difficult to mock +@patch('twitter.Api', autospec=True) +@patch('twitter_connect.connection.TwitterConnect', autospec=True) +def test_archive_user_tweets(mock_TwitterConnect, mock_twitter): #, mock_twitter_error): + tc = mock_TwitterConnect.return_value + api = mock_twitter.return_value + + def mocked_GetUserTimeline(screen_name, count=None, max_id=None): + if screen_name == "existing_user": + with open("{script_dir}/fixture_data/twitter_tweets.json".format(script_dir=TEST_DIR)) as f: + data = json.loads(f.read()) + return data + elif screen_name == "suspended_user": + # not mocking TwitterErrors + raise TwitterError("Not authorized.") + elif screen_name == "deleted_user": + raise TwitterError({'message': 'Sorry, that page does not exist.', 'code': 34}) + + m = Mock() + m.side_effect = mocked_GetUserTimeline + api.GetUserTimeline = m + tc.api = api + patch('twitter.') + patch('twitter_connect.') + + + assert len(db_session.query(TwitterStatus).all()) == 0 + + log = app.cs_logger.get_logger(ENV, BASE_DIR) + + #### + import twitter_connect.connection + tc = twitter_connect.connection.TwitterConnect(log) + + + t_conroller = app.controllers.twitter_controller.TwitterController(db_session, tc, log) + + user_results = [ + ("existing_user", {"status_count": 200, "user_state": TwitterUserState.FOUND.value}), + ("suspended_user", {"status_count": 0, "user_state": TwitterUserState.SUSPENDED.value}), + ("deleted_user", {"status_count": 0, "user_state": TwitterUserState.NOT_FOUND.value})] + + for i, (user, result) in enumerate(user_results): + user_record = TwitterUser( + id = i if user != "existing_user" else 52332354, + screen_name = user, + user_state = None if user != "existing_user" else TwitterUserState.FOUND.value) + db_session.add(user_record) + db_session.commit() + + t_conroller.archive_user_tweets(user) + user_record = db_session.query(TwitterUser).filter(TwitterUser.screen_name == user).first() + all_tweets = db_session.query(TwitterStatus).filter(TwitterStatus.user_id == user_record.id).all() + assert len(all_tweets) == result["status_count"] + assert user_record.user_state == result["user_state"] + + diff --git a/tests/test_lumen.py b/tests/test_lumen.py index 1e1826e..51c9879 100644 --- a/tests/test_lumen.py +++ b/tests/test_lumen.py @@ -18,12 +18,10 @@ def setup_function(function): def teardown_function(function): pass - -# TODO: write tests @patch('lumen_connect.connection.LumenConnect', autospec=True) def test_archive_lumen_notices(mock_LumenConnect): lc = mock_LumenConnect.return_value - with open("{script_dir}/fixture_data/lumen_notices.json".format(script_dir=TEST_DIR)) as f: + with open("{script_dir}/fixture_data/lumen_notices_0.json".format(script_dir=TEST_DIR)) as f: data = f.read() lc.get_search.return_value = json.loads(data) patch('lumen_connect.') @@ -39,34 +37,4 @@ def test_archive_lumen_notices(mock_LumenConnect): data_json = lc.get_search(payload) notices_json = data_json["notices"] assert type(notices_json) == list - assert len(notices_json) == 50 - -""" -@patch('lumen.connection.LumenConnect', autospec=True) -def test_post_get_notes(mock_Lumenconnect): - snc = mock_Lumenconnect.return_value - users = ["natematias", "merrymou"] - with open("{script_dir}/fixture_data/lumen_notes.json".format(script_dir=TEST_DIR)) as f: - data = f.read() - snc.post_get_notes.return_value = json.loads(data) - patch('lumen.') - - ## NOW START THE TEST - res_json = snc.post_get_notes(users) - assert type(res_json) == dict - assert len(res_json) == 2 - assert len(res_json[users[0]]) == 3 - -@patch('lumen.connection.LumenConnect', autospec=True) -def test_get_schemas(mock_Lumenconnect): - snc = mock_Lumenconnect.return_value - with open("{script_dir}/fixture_data/lumen_schemas.json".format(script_dir=TEST_DIR)) as f: - data = f.read() - snc.get_schemas.return_value = json.loads(data) - patch('lumen.') - - ## NOW START THE TEST - res_json = snc.get_schemas() - assert type(res_json) == list - assert len(res_json) == 2 -""" \ No newline at end of file + assert len(notices_json) == 50 \ No newline at end of file diff --git a/tests/test_twitter.py b/tests/test_twitter.py new file mode 100644 index 0000000..3708f79 --- /dev/null +++ b/tests/test_twitter.py @@ -0,0 +1,21 @@ +import twitter_connect.connection +import os +import simplejson as json +from sqlalchemy import create_engine +from sqlalchemy.orm import sessionmaker +import glob, datetime +from mock import Mock, patch +from app.models import Base, PrawKey +from utils.common import DbEngine + +TEST_DIR = os.path.dirname(os.path.realpath(__file__)) + +os.environ['CS_ENV'] ="test" + +def setup_function(function): + pass + +def teardown_function(function): + pass + +# currently no tests since class TwitterConnect has no methods \ No newline at end of file diff --git a/twitter_connect/__init__.py b/twitter_connect/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/twitter_connect/connection.py b/twitter_connect/connection.py new file mode 100644 index 0000000..52f32d5 --- /dev/null +++ b/twitter_connect/connection.py @@ -0,0 +1,20 @@ +import requests +import simplejson as json +import os, inspect +import twitter + +ENV = os.environ['CS_ENV'] + +class TwitterConnect(): + def __init__(self, log): + BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), "..") + twitter_config_path = os.path.join(BASE_DIR, "config", "twitter_auth_" + ENV + ".json") + + with open(twitter_config_path, 'r') as config: + TWITTERCONFIG = json.loads(config.read()) + + self.api = twitter.Api(consumer_key=TWITTERCONFIG["consumer_key"], + consumer_secret=TWITTERCONFIG["consumer_secret"], + access_token_key=TWITTERCONFIG["access_token_key"], + access_token_secret=TWITTERCONFIG["access_token_secret"], + sleep_on_rate_limit=True) \ No newline at end of file diff --git a/utils/common.py b/utils/common.py index 9608aef..96686eb 100644 --- a/utils/common.py +++ b/utils/common.py @@ -15,6 +15,12 @@ class ThingType(Enum): SUBREDDIT = 3 USER = 4 +# not formalized... +class TwitterUserState(Enum): + FOUND = 1 + NOT_FOUND = 2 + SUSPENDED = 3 + class DbEngine: def __init__(self, config_path): self.config_path = config_path From 6e5612be28ad1f5d294f44e2b2502132a9577607 Mon Sep 17 00:00:00 2001 From: mmou Date: Mon, 17 Apr 2017 02:40:27 -0400 Subject: [PATCH 004/221] make string types bigger, redo alembic, other small changes --- .../561b31230723_add_lumen_twitter_tables.py | 199 ++++++++++++++++++ .../8e190130ba36_add_twitter_user_table.py | 109 ---------- .../9b5335a74312_add_twitter_status_table.py | 94 --------- .../versions/9c8b30569bdf_add_lumen_tables.py | 112 ---------- app/controllers/lumen_controller.py | 9 +- app/controllers/twitter_controller.py | 2 +- app/models.py | 12 +- 7 files changed, 214 insertions(+), 323 deletions(-) create mode 100644 alembic/versions/561b31230723_add_lumen_twitter_tables.py delete mode 100644 alembic/versions/8e190130ba36_add_twitter_user_table.py delete mode 100644 alembic/versions/9b5335a74312_add_twitter_status_table.py delete mode 100644 alembic/versions/9c8b30569bdf_add_lumen_tables.py diff --git a/alembic/versions/561b31230723_add_lumen_twitter_tables.py b/alembic/versions/561b31230723_add_lumen_twitter_tables.py new file mode 100644 index 0000000..f74e88d --- /dev/null +++ b/alembic/versions/561b31230723_add_lumen_twitter_tables.py @@ -0,0 +1,199 @@ +"""add lumen twitter tables + +Revision ID: 561b31230723 +Revises: 16dbded8a5cf +Create Date: 2017-04-17 02:28:10.599352 + +""" + +# revision identifiers, used by Alembic. +revision = '561b31230723' +down_revision = '16dbded8a5cf' +branch_labels = None +depends_on = None + +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import mysql + +def upgrade(engine_name): + globals()["upgrade_%s" % engine_name]() + + +def downgrade(engine_name): + globals()["downgrade_%s" % engine_name]() + + + + + +def upgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('lumen_notice_to_twitter_user', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('notice_id', sa.Integer(), nullable=True), + sa.Column('twitter_username', sa.String(length=256), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_table('lumen_notices', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('date_received', sa.DateTime(), nullable=True), + sa.Column('sender', sa.String(length=256), nullable=True), + sa.Column('principal', sa.String(length=256), nullable=True), + sa.Column('recipient', sa.String(length=256), nullable=True), + sa.Column('num_infringing_urls', sa.Integer(), nullable=True), + sa.Column('notice_data', mysql.MEDIUMTEXT(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_table('twitter_statuses', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('user_id', sa.BigInteger(), nullable=True), + sa.Column('in_reply_to_user_id', sa.BigInteger(), nullable=True), + sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('favorite_count', sa.Integer(), nullable=True), + sa.Column('retweet_count', sa.Integer(), nullable=True), + sa.Column('retweeted', sa.Boolean(), nullable=True), + sa.Column('status_data', mysql.MEDIUMTEXT(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_table('twitter_users', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('screen_name', sa.String(length=256), nullable=True), + sa.Column('name', sa.String(length=256), nullable=True), + sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('followers_count', sa.Integer(), nullable=True), + sa.Column('friends_count', sa.Integer(), nullable=True), + sa.Column('lang', sa.String(length=64), nullable=True), + sa.Column('statuses_count', sa.Integer(), nullable=True), + sa.Column('verified', sa.Boolean(), nullable=True), + sa.Column('default_profile', sa.Boolean(), nullable=True), + sa.Column('default_profile_image', sa.Boolean(), nullable=True), + sa.Column('user_json', mysql.MEDIUMTEXT(), nullable=True), + sa.Column('user_state', sa.Integer(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + # ### end Alembic commands ### + + +def downgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_table('twitter_users') + op.drop_table('twitter_statuses') + op.drop_table('lumen_notices') + op.drop_table('lumen_notice_to_twitter_user') + # ### end Alembic commands ### + + +def upgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('lumen_notice_to_twitter_user', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('notice_id', sa.Integer(), nullable=True), + sa.Column('twitter_username', sa.String(length=256), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_table('lumen_notices', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('date_received', sa.DateTime(), nullable=True), + sa.Column('sender', sa.String(length=256), nullable=True), + sa.Column('principal', sa.String(length=256), nullable=True), + sa.Column('recipient', sa.String(length=256), nullable=True), + sa.Column('num_infringing_urls', sa.Integer(), nullable=True), + sa.Column('notice_data', mysql.MEDIUMTEXT(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_table('twitter_statuses', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('user_id', sa.BigInteger(), nullable=True), + sa.Column('in_reply_to_user_id', sa.BigInteger(), nullable=True), + sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('favorite_count', sa.Integer(), nullable=True), + sa.Column('retweet_count', sa.Integer(), nullable=True), + sa.Column('retweeted', sa.Boolean(), nullable=True), + sa.Column('status_data', mysql.MEDIUMTEXT(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_table('twitter_users', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('screen_name', sa.String(length=256), nullable=True), + sa.Column('name', sa.String(length=256), nullable=True), + sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('followers_count', sa.Integer(), nullable=True), + sa.Column('friends_count', sa.Integer(), nullable=True), + sa.Column('lang', sa.String(length=64), nullable=True), + sa.Column('statuses_count', sa.Integer(), nullable=True), + sa.Column('verified', sa.Boolean(), nullable=True), + sa.Column('default_profile', sa.Boolean(), nullable=True), + sa.Column('default_profile_image', sa.Boolean(), nullable=True), + sa.Column('user_json', mysql.MEDIUMTEXT(), nullable=True), + sa.Column('user_state', sa.Integer(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + # ### end Alembic commands ### + + +def downgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_table('twitter_users') + op.drop_table('twitter_statuses') + op.drop_table('lumen_notices') + op.drop_table('lumen_notice_to_twitter_user') + # ### end Alembic commands ### + + +def upgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('lumen_notice_to_twitter_user', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('notice_id', sa.Integer(), nullable=True), + sa.Column('twitter_username', sa.String(length=256), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_table('lumen_notices', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('date_received', sa.DateTime(), nullable=True), + sa.Column('sender', sa.String(length=256), nullable=True), + sa.Column('principal', sa.String(length=256), nullable=True), + sa.Column('recipient', sa.String(length=256), nullable=True), + sa.Column('num_infringing_urls', sa.Integer(), nullable=True), + sa.Column('notice_data', mysql.MEDIUMTEXT(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_table('twitter_statuses', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('user_id', sa.BigInteger(), nullable=True), + sa.Column('in_reply_to_user_id', sa.BigInteger(), nullable=True), + sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('favorite_count', sa.Integer(), nullable=True), + sa.Column('retweet_count', sa.Integer(), nullable=True), + sa.Column('retweeted', sa.Boolean(), nullable=True), + sa.Column('status_data', mysql.MEDIUMTEXT(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_table('twitter_users', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('screen_name', sa.String(length=256), nullable=True), + sa.Column('name', sa.String(length=256), nullable=True), + sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('followers_count', sa.Integer(), nullable=True), + sa.Column('friends_count', sa.Integer(), nullable=True), + sa.Column('lang', sa.String(length=64), nullable=True), + sa.Column('statuses_count', sa.Integer(), nullable=True), + sa.Column('verified', sa.Boolean(), nullable=True), + sa.Column('default_profile', sa.Boolean(), nullable=True), + sa.Column('default_profile_image', sa.Boolean(), nullable=True), + sa.Column('user_json', mysql.MEDIUMTEXT(), nullable=True), + sa.Column('user_state', sa.Integer(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + # ### end Alembic commands ### + + +def downgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_table('twitter_users') + op.drop_table('twitter_statuses') + op.drop_table('lumen_notices') + op.drop_table('lumen_notice_to_twitter_user') + # ### end Alembic commands ### + diff --git a/alembic/versions/8e190130ba36_add_twitter_user_table.py b/alembic/versions/8e190130ba36_add_twitter_user_table.py deleted file mode 100644 index b21e326..0000000 --- a/alembic/versions/8e190130ba36_add_twitter_user_table.py +++ /dev/null @@ -1,109 +0,0 @@ -"""add twitter user table - -Revision ID: 8e190130ba36 -Revises: 9c8b30569bdf -Create Date: 2017-04-16 16:21:40.214726 - -""" - -# revision identifiers, used by Alembic. -revision = '8e190130ba36' -down_revision = '9c8b30569bdf' -branch_labels = None -depends_on = None - -from alembic import op -import sqlalchemy as sa -from sqlalchemy.dialects import mysql - -def upgrade(engine_name): - globals()["upgrade_%s" % engine_name]() - - -def downgrade(engine_name): - globals()["downgrade_%s" % engine_name]() - - - - - -def upgrade_development(): - # ### commands auto generated by Alembic - please adjust! ### - op.create_table('twitter_users', - sa.Column('id', sa.BigInteger(), nullable=False), - sa.Column('screen_name', sa.String(length=64), nullable=True), - sa.Column('name', sa.String(length=64), nullable=True), - sa.Column('created_at', sa.DateTime(), nullable=True), - sa.Column('followers_count', sa.Integer(), nullable=True), - sa.Column('friends_count', sa.Integer(), nullable=True), - sa.Column('lang', sa.String(length=64), nullable=True), - sa.Column('statuses_count', sa.Integer(), nullable=True), - sa.Column('verified', sa.Boolean(), nullable=True), - sa.Column('default_profile', sa.Boolean(), nullable=True), - sa.Column('default_profile_image', sa.Boolean(), nullable=True), - sa.Column('user_json', mysql.MEDIUMTEXT(), nullable=True), - sa.Column('user_state', sa.Integer(), nullable=True), - sa.PrimaryKeyConstraint('id') - ) - # ### end Alembic commands ### - - -def downgrade_development(): - # ### commands auto generated by Alembic - please adjust! ### - op.drop_table('twitter_users') - # ### end Alembic commands ### - - -def upgrade_test(): - # ### commands auto generated by Alembic - please adjust! ### - op.create_table('twitter_users', - sa.Column('id', sa.BigInteger(), nullable=False), - sa.Column('screen_name', sa.String(length=64), nullable=True), - sa.Column('name', sa.String(length=64), nullable=True), - sa.Column('created_at', sa.DateTime(), nullable=True), - sa.Column('followers_count', sa.Integer(), nullable=True), - sa.Column('friends_count', sa.Integer(), nullable=True), - sa.Column('lang', sa.String(length=64), nullable=True), - sa.Column('statuses_count', sa.Integer(), nullable=True), - sa.Column('verified', sa.Boolean(), nullable=True), - sa.Column('default_profile', sa.Boolean(), nullable=True), - sa.Column('default_profile_image', sa.Boolean(), nullable=True), - sa.Column('user_json', mysql.MEDIUMTEXT(), nullable=True), - sa.Column('user_state', sa.Integer(), nullable=True), - sa.PrimaryKeyConstraint('id') - ) - # ### end Alembic commands ### - - -def downgrade_test(): - # ### commands auto generated by Alembic - please adjust! ### - op.drop_table('twitter_users') - # ### end Alembic commands ### - - -def upgrade_production(): - # ### commands auto generated by Alembic - please adjust! ### - op.create_table('twitter_users', - sa.Column('id', sa.BigInteger(), nullable=False), - sa.Column('screen_name', sa.String(length=64), nullable=True), - sa.Column('name', sa.String(length=64), nullable=True), - sa.Column('created_at', sa.DateTime(), nullable=True), - sa.Column('followers_count', sa.Integer(), nullable=True), - sa.Column('friends_count', sa.Integer(), nullable=True), - sa.Column('lang', sa.String(length=64), nullable=True), - sa.Column('statuses_count', sa.Integer(), nullable=True), - sa.Column('verified', sa.Boolean(), nullable=True), - sa.Column('default_profile', sa.Boolean(), nullable=True), - sa.Column('default_profile_image', sa.Boolean(), nullable=True), - sa.Column('user_json', mysql.MEDIUMTEXT(), nullable=True), - sa.Column('user_state', sa.Integer(), nullable=True), - sa.PrimaryKeyConstraint('id') - ) - # ### end Alembic commands ### - - -def downgrade_production(): - # ### commands auto generated by Alembic - please adjust! ### - op.drop_table('twitter_users') - # ### end Alembic commands ### - diff --git a/alembic/versions/9b5335a74312_add_twitter_status_table.py b/alembic/versions/9b5335a74312_add_twitter_status_table.py deleted file mode 100644 index 3d4cfaa..0000000 --- a/alembic/versions/9b5335a74312_add_twitter_status_table.py +++ /dev/null @@ -1,94 +0,0 @@ -"""add twitter status table - -Revision ID: 9b5335a74312 -Revises: 8e190130ba36 -Create Date: 2017-04-16 18:01:03.226479 - -""" - -# revision identifiers, used by Alembic. -revision = '9b5335a74312' -down_revision = '8e190130ba36' -branch_labels = None -depends_on = None - -from alembic import op -import sqlalchemy as sa -from sqlalchemy.dialects import mysql - -def upgrade(engine_name): - globals()["upgrade_%s" % engine_name]() - - -def downgrade(engine_name): - globals()["downgrade_%s" % engine_name]() - - - - - -def upgrade_development(): - # ### commands auto generated by Alembic - please adjust! ### - op.create_table('twitter_statuses', - sa.Column('id', sa.BigInteger(), nullable=False), - sa.Column('user_id', sa.BigInteger(), nullable=True), - sa.Column('in_reply_to_user_id', sa.BigInteger(), nullable=True), - sa.Column('created_at', sa.DateTime(), nullable=True), - sa.Column('favorite_count', sa.Integer(), nullable=True), - sa.Column('retweet_count', sa.Integer(), nullable=True), - sa.Column('retweeted', sa.Boolean(), nullable=True), - sa.Column('status_data', mysql.MEDIUMTEXT(), nullable=True), - sa.PrimaryKeyConstraint('id') - ) - # ### end Alembic commands ### - - -def downgrade_development(): - # ### commands auto generated by Alembic - please adjust! ### - op.drop_table('twitter_statuses') - # ### end Alembic commands ### - - -def upgrade_test(): - # ### commands auto generated by Alembic - please adjust! ### - op.create_table('twitter_statuses', - sa.Column('id', sa.BigInteger(), nullable=False), - sa.Column('user_id', sa.BigInteger(), nullable=True), - sa.Column('in_reply_to_user_id', sa.BigInteger(), nullable=True), - sa.Column('created_at', sa.DateTime(), nullable=True), - sa.Column('favorite_count', sa.Integer(), nullable=True), - sa.Column('retweet_count', sa.Integer(), nullable=True), - sa.Column('retweeted', sa.Boolean(), nullable=True), - sa.Column('status_data', mysql.MEDIUMTEXT(), nullable=True), - sa.PrimaryKeyConstraint('id') - ) - # ### end Alembic commands ### - - -def downgrade_test(): - # ### commands auto generated by Alembic - please adjust! ### - op.drop_table('twitter_statuses') - # ### end Alembic commands ### - - -def upgrade_production(): - # ### commands auto generated by Alembic - please adjust! ### - op.create_table('twitter_statuses', - sa.Column('id', sa.BigInteger(), nullable=False), - sa.Column('user_id', sa.BigInteger(), nullable=True), - sa.Column('in_reply_to_user_id', sa.BigInteger(), nullable=True), - sa.Column('created_at', sa.DateTime(), nullable=True), - sa.Column('favorite_count', sa.Integer(), nullable=True), - sa.Column('retweet_count', sa.Integer(), nullable=True), - sa.Column('retweeted', sa.Boolean(), nullable=True), - sa.Column('status_data', mysql.MEDIUMTEXT(), nullable=True), - sa.PrimaryKeyConstraint('id') - ) - # ### end Alembic commands ### - - -def downgrade_production(): - # ### commands auto generated by Alembic - please adjust! ### - op.drop_table('twitter_statuses') - # ### end Alembic commands ### - diff --git a/alembic/versions/9c8b30569bdf_add_lumen_tables.py b/alembic/versions/9c8b30569bdf_add_lumen_tables.py deleted file mode 100644 index 515396e..0000000 --- a/alembic/versions/9c8b30569bdf_add_lumen_tables.py +++ /dev/null @@ -1,112 +0,0 @@ -"""add lumen tables - -Revision ID: 9c8b30569bdf -Revises: 16dbded8a5cf -Create Date: 2017-04-16 00:00:36.296975 - -""" - -# revision identifiers, used by Alembic. -revision = '9c8b30569bdf' -down_revision = '16dbded8a5cf' -branch_labels = None -depends_on = None - -from alembic import op -import sqlalchemy as sa -from sqlalchemy.dialects import mysql - -def upgrade(engine_name): - globals()["upgrade_%s" % engine_name]() - - -def downgrade(engine_name): - globals()["downgrade_%s" % engine_name]() - - - - - -def upgrade_development(): - # ### commands auto generated by Alembic - please adjust! ### - op.create_table('lumen_notice_to_twitter_user', - sa.Column('id', sa.Integer(), nullable=False), - sa.Column('notice_id', sa.Integer(), nullable=True), - sa.Column('twitter_username', sa.String(length=64), nullable=True), - sa.PrimaryKeyConstraint('id') - ) - op.create_table('lumen_notices', - sa.Column('id', sa.Integer(), nullable=False), - sa.Column('date_received', sa.DateTime(), nullable=True), - sa.Column('sender', sa.String(length=64), nullable=True), - sa.Column('principal', sa.String(length=64), nullable=True), - sa.Column('recipient', sa.String(length=64), nullable=True), - sa.Column('num_infringing_urls', sa.Integer(), nullable=True), - sa.Column('notice_data', mysql.MEDIUMTEXT(), nullable=True), - sa.PrimaryKeyConstraint('id') - ) - # ### end Alembic commands ### - - -def downgrade_development(): - # ### commands auto generated by Alembic - please adjust! ### - op.drop_table('lumen_notices') - op.drop_table('lumen_notice_to_twitter_user') - # ### end Alembic commands ### - - -def upgrade_test(): - # ### commands auto generated by Alembic - please adjust! ### - op.create_table('lumen_notice_to_twitter_user', - sa.Column('id', sa.Integer(), nullable=False), - sa.Column('notice_id', sa.Integer(), nullable=True), - sa.Column('twitter_username', sa.String(length=64), nullable=True), - sa.PrimaryKeyConstraint('id') - ) - op.create_table('lumen_notices', - sa.Column('id', sa.Integer(), nullable=False), - sa.Column('date_received', sa.DateTime(), nullable=True), - sa.Column('sender', sa.String(length=64), nullable=True), - sa.Column('principal', sa.String(length=64), nullable=True), - sa.Column('recipient', sa.String(length=64), nullable=True), - sa.Column('num_infringing_urls', sa.Integer(), nullable=True), - sa.Column('notice_data', mysql.MEDIUMTEXT(), nullable=True), - sa.PrimaryKeyConstraint('id') - ) - # ### end Alembic commands ### - - -def downgrade_test(): - # ### commands auto generated by Alembic - please adjust! ### - op.drop_table('lumen_notices') - op.drop_table('lumen_notice_to_twitter_user') - # ### end Alembic commands ### - - -def upgrade_production(): - # ### commands auto generated by Alembic - please adjust! ### - op.create_table('lumen_notice_to_twitter_user', - sa.Column('id', sa.Integer(), nullable=False), - sa.Column('notice_id', sa.Integer(), nullable=True), - sa.Column('twitter_username', sa.String(length=64), nullable=True), - sa.PrimaryKeyConstraint('id') - ) - op.create_table('lumen_notices', - sa.Column('id', sa.Integer(), nullable=False), - sa.Column('date_received', sa.DateTime(), nullable=True), - sa.Column('sender', sa.String(length=64), nullable=True), - sa.Column('principal', sa.String(length=64), nullable=True), - sa.Column('recipient', sa.String(length=64), nullable=True), - sa.Column('num_infringing_urls', sa.Integer(), nullable=True), - sa.Column('notice_data', mysql.MEDIUMTEXT(), nullable=True), - sa.PrimaryKeyConstraint('id') - ) - # ### end Alembic commands ### - - -def downgrade_production(): - # ### commands auto generated by Alembic - please adjust! ### - op.drop_table('lumen_notices') - op.drop_table('lumen_notice_to_twitter_user') - # ### end Alembic commands ### - diff --git a/app/controllers/lumen_controller.py b/app/controllers/lumen_controller.py index 5415da6..3a91abb 100644 --- a/app/controllers/lumen_controller.py +++ b/app/controllers/lumen_controller.py @@ -37,12 +37,17 @@ def archive_lumen_notices(self, topics, date, parse_for_users=True): } } + self.log.info("archive_lumen_notices: about to call get_search") data = self.l.get_search(payload) + #with open("tests/fixture_data/lumen_notices_0.json") as f: + # data = json.loads(f.read()) notices_json = data["notices"] next_page = data["meta"]["next_page"] + self.log.info(data) added_notices = [] for notice in notices_json: + self.log.info(notice["id"]) if not self.db_session.query(LumenNotice).filter(LumenNotice.id == notice["id"]).first(): try: date_received = datetime.datetime.strptime(notice["date_received"], '%Y-%m-%dT%H:%M:%S.000Z') # expect string like "2017-04-15T22:28:26.000Z" @@ -50,6 +55,7 @@ def archive_lumen_notices(self, topics, date, parse_for_users=True): principal = (notice["principal_name"].encode("utf-8", "replace") if notice["principal_name"] else "") recipient = (notice["recipient_name"].encode("utf-8", "replace") if notice["recipient_name"] else "") num_infringing_urls = sum(len(work["infringing_urls"]) for work in notice["works"]) + self.log.info(num_infringing_urls) notice_record = LumenNotice( id = notice["id"], date_received = date_received, @@ -59,6 +65,7 @@ def archive_lumen_notices(self, topics, date, parse_for_users=True): num_infringing_urls = num_infringing_urls, notice_data = json.dumps(notice).encode("utf-8", "replace")) self.db_session.add(notice_record) + self.log.info("added {0}".format(notice["id"])) added_notices.append(notice) except: self.log.error("Error while creating LumenNotice object for notice {0}".format(notice["id"])) @@ -95,7 +102,7 @@ def parse_notices_archive_users(self, notices, archive_users=True): for username in notice_users: notice_user_record = LumenNoticeToTwitterUser( notice_id = notice["id"], - twitter_username = username) + twitter_username = username.lower()) self.db_session.add(notice_user_record) try: self.db_session.commit() diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 4b1283d..e8ad477 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -76,7 +76,7 @@ def archive_users(self, users_set, archive_tweets=True): try: if not self.db_session.query(TwitterUser).filter(TwitterUser.screen_name == user).first(): user_record = TwitterUser( - screen_name = user, + screen_name = user.lower(), user_state = TwitterUserState.NOT_FOUND.value) self.db_session.add(user_record) except: diff --git a/app/models.py b/app/models.py index ad6d1c9..781bb86 100644 --- a/app/models.py +++ b/app/models.py @@ -178,9 +178,9 @@ class LumenNotice(Base): __tablename__ = 'lumen_notices' id = Column(BigInteger, primary_key = True) date_received = Column(DateTime, default=datetime.datetime.utcnow) - sender = Column(String(64)) - principal = Column(String(64)) - recipient = Column(String(64)) + sender = Column(String(256)) + principal = Column(String(256)) + recipient = Column(String(256)) num_infringing_urls = Column(Integer) notice_data = Column(MEDIUMTEXT) @@ -191,14 +191,14 @@ class LumenNoticeToTwitterUser(Base): __tablename__ = 'lumen_notice_to_twitter_user' id = Column(Integer, primary_key = True) notice_id = Column(Integer) - twitter_username = Column(String(64)) + twitter_username = Column(String(256)) class TwitterUser(Base): __tablename__ = 'twitter_users' id = Column(BigInteger, primary_key = True) - screen_name = Column(String(64)) - name = Column(String(64)) + screen_name = Column(String(256)) + name = Column(String(256)) created_at = Column(DateTime) followers_count = Column(Integer) friends_count = Column(Integer) From 50158a3df658ded29106eabda2fe49d7560f2a14 Mon Sep 17 00:00:00 2001 From: mmou Date: Mon, 17 Apr 2017 13:56:42 -0400 Subject: [PATCH 005/221] add TwitterUserState.PROTECTED --- app/controllers/lumen_controller.py | 3 --- app/controllers/twitter_controller.py | 12 ++++++----- tests/test_controllers.py | 31 +++++++++++++++------------ utils/common.py | 3 ++- 4 files changed, 26 insertions(+), 23 deletions(-) diff --git a/app/controllers/lumen_controller.py b/app/controllers/lumen_controller.py index 3a91abb..6bb3343 100644 --- a/app/controllers/lumen_controller.py +++ b/app/controllers/lumen_controller.py @@ -37,17 +37,14 @@ def archive_lumen_notices(self, topics, date, parse_for_users=True): } } - self.log.info("archive_lumen_notices: about to call get_search") data = self.l.get_search(payload) #with open("tests/fixture_data/lumen_notices_0.json") as f: # data = json.loads(f.read()) notices_json = data["notices"] next_page = data["meta"]["next_page"] - self.log.info(data) added_notices = [] for notice in notices_json: - self.log.info(notice["id"]) if not self.db_session.query(LumenNotice).filter(LumenNotice.id == notice["id"]).first(): try: date_received = datetime.datetime.strptime(notice["date_received"], '%Y-%m-%dT%H:%M:%S.000Z') # expect string like "2017-04-15T22:28:26.000Z" diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index e8ad477..c31fd55 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -58,7 +58,7 @@ def archive_users(self, users_set, archive_tweets=True): default_profile = user_json["default_profile"], default_profile_image = user_json["default_profile_image"], user_json = json.dumps(user_json), #already encoded - user_state = TwitterUserState.FOUND.value) + user_state = TwitterUserState.FOUND.value if not user_json["protected"] else TwitterUserState.PROTECTED.value) self.db_session.add(user_record) new_users_set.discard(screen_name) # discard doesn't throw an error except: @@ -140,20 +140,22 @@ def archive_user_tweets(self, screen_name): else: break except twitter.error.TwitterError as e: - + self.log.info(e) # TODO: un-jankify this error handling/parsing code state = None if e.message == "Not authorized.": - # Account is suspended + # Account is either protected or suspended state = TwitterUserState.SUSPENDED.value - elif e.message['code'] == 34: # message = "Sorry, that page does not exist.": + elif e.message[0]['code'] == 34: # message = "Sorry, that page does not exist." state = TwitterUserState.NOT_FOUND.value else: self.log.error("Unexpected exception while calling api.GetUserTimeline on user {0}: {1}".format(screen_name, e)) if state: queried_user = self.db_session.query(TwitterUser).filter(TwitterUser.screen_name == screen_name).first() # record should exist - queried_user.user_state = state + if queried_user.user_state is not TwitterUserState.PROTECTED.value: + # if user is protected, this update will not have been helpful + queried_user.user_state = state try: self.db_session.commit() self.log.info("Updated twitter user {0}'s state to {1}.".format(screen_name, state)) diff --git a/tests/test_controllers.py b/tests/test_controllers.py index e18f0a2..78adf4c 100644 --- a/tests/test_controllers.py +++ b/tests/test_controllers.py @@ -48,7 +48,7 @@ def setup_function(function): def teardown_function(function): clear_all_tables() - +""" @patch('praw.Reddit', autospec=True) @patch('praw.objects.Subreddit', autospec=True) def test_archive_reddit_front_page(mock_subreddit, mock_reddit): @@ -817,7 +817,7 @@ def test_archive_users(mock_TwitterConnect, mock_twitter): assert len(not_found_notices) == 6 - +""" # TODO: currently this test does not test users with lots of statuses/tweets, so as to not call api.GetUserTimeline more than once, which is difficult to mock @patch('twitter.Api', autospec=True) @@ -831,11 +831,11 @@ def mocked_GetUserTimeline(screen_name, count=None, max_id=None): with open("{script_dir}/fixture_data/twitter_tweets.json".format(script_dir=TEST_DIR)) as f: data = json.loads(f.read()) return data - elif screen_name == "suspended_user": + elif screen_name == "suspended_user" or screen_name=="protected_user": # not mocking TwitterErrors raise TwitterError("Not authorized.") elif screen_name == "deleted_user": - raise TwitterError({'message': 'Sorry, that page does not exist.', 'code': 34}) + raise TwitterError([{'message': 'Sorry, that page does not exist.', 'code': 34}]) m = Mock() m.side_effect = mocked_GetUserTimeline @@ -850,27 +850,30 @@ def mocked_GetUserTimeline(screen_name, count=None, max_id=None): log = app.cs_logger.get_logger(ENV, BASE_DIR) #### - import twitter_connect.connection - tc = twitter_connect.connection.TwitterConnect(log) + #import twitter_connect.connection + #tc = twitter_connect.connection.TwitterConnect(log) t_conroller = app.controllers.twitter_controller.TwitterController(db_session, tc, log) user_results = [ - ("existing_user", {"status_count": 200, "user_state": TwitterUserState.FOUND.value}), - ("suspended_user", {"status_count": 0, "user_state": TwitterUserState.SUSPENDED.value}), - ("deleted_user", {"status_count": 0, "user_state": TwitterUserState.NOT_FOUND.value})] + ({"screen_name": "existing_user", "id": 52332354, "user_state": TwitterUserState.FOUND.value}, {"status_count": 200, "user_state": TwitterUserState.FOUND.value}), + ({"screen_name": "deleted_user", "id": 1, "user_state": TwitterUserState.NOT_FOUND.value}, {"status_count": 0, "user_state": TwitterUserState.NOT_FOUND.value}), + ({"screen_name": "suspended_user", "id": 2, "user_state": TwitterUserState.NOT_FOUND.value}, {"status_count": 0, "user_state": TwitterUserState.SUSPENDED.value}), + ({"screen_name": "protected_user", "id": 3, "user_state": TwitterUserState.PROTECTED.value}, {"status_count": 0, "user_state": TwitterUserState.PROTECTED.value}) + ] for i, (user, result) in enumerate(user_results): + # need to create TwitterUser records first user_record = TwitterUser( - id = i if user != "existing_user" else 52332354, - screen_name = user, - user_state = None if user != "existing_user" else TwitterUserState.FOUND.value) + id = user["id"], + screen_name = user["screen_name"], + user_state = user["user_state"]) db_session.add(user_record) db_session.commit() - t_conroller.archive_user_tweets(user) - user_record = db_session.query(TwitterUser).filter(TwitterUser.screen_name == user).first() + t_conroller.archive_user_tweets(user["screen_name"]) + user_record = db_session.query(TwitterUser).filter(TwitterUser.screen_name == user["screen_name"]).first() all_tweets = db_session.query(TwitterStatus).filter(TwitterStatus.user_id == user_record.id).all() assert len(all_tweets) == result["status_count"] assert user_record.user_state == result["user_state"] diff --git a/utils/common.py b/utils/common.py index 96686eb..13ec607 100644 --- a/utils/common.py +++ b/utils/common.py @@ -18,8 +18,9 @@ class ThingType(Enum): # not formalized... class TwitterUserState(Enum): FOUND = 1 - NOT_FOUND = 2 + NOT_FOUND = 2 # deleted (or never existed) SUSPENDED = 3 + PROTECTED = 4 class DbEngine: def __init__(self, config_path): From b2ce785d832b013f57fb73c3d5090aa07d93f2f8 Mon Sep 17 00:00:00 2001 From: mmou Date: Thu, 20 Apr 2017 13:18:04 -0400 Subject: [PATCH 006/221] partial work and notes, committing so i can switch branches --- app/controllers/lumen_controller.py | 8 +++-- app/controllers/twitter_controller.py | 8 ++++- app/models.py | 44 +++++++++++++++------------ lumen_connect/connection.py | 2 +- tests/test_controllers.py | 4 +-- 5 files changed, 39 insertions(+), 27 deletions(-) diff --git a/app/controllers/lumen_controller.py b/app/controllers/lumen_controller.py index 6bb3343..1d899ba 100644 --- a/app/controllers/lumen_controller.py +++ b/app/controllers/lumen_controller.py @@ -25,6 +25,7 @@ def archive_lumen_notices(self, topics, date, parse_for_users=True): next_page = 1 while next_page is not None: + # TODO: move payload construction into get_search() payload = { "topics": [topic], "per_page": 50, @@ -45,14 +46,15 @@ def archive_lumen_notices(self, topics, date, parse_for_users=True): added_notices = [] for notice in notices_json: + # TODO: instead query for list of ids that were received in the last n days.... if not self.db_session.query(LumenNotice).filter(LumenNotice.id == notice["id"]).first(): try: date_received = datetime.datetime.strptime(notice["date_received"], '%Y-%m-%dT%H:%M:%S.000Z') # expect string like "2017-04-15T22:28:26.000Z" + # make sure mysql string encoding setting is utf-8 sender = (notice["sender_name"].encode("utf-8", "replace") if notice["sender_name"] else "") principal = (notice["principal_name"].encode("utf-8", "replace") if notice["principal_name"] else "") recipient = (notice["recipient_name"].encode("utf-8", "replace") if notice["recipient_name"] else "") num_infringing_urls = sum(len(work["infringing_urls"]) for work in notice["works"]) - self.log.info(num_infringing_urls) notice_record = LumenNotice( id = notice["id"], date_received = date_received, @@ -62,7 +64,6 @@ def archive_lumen_notices(self, topics, date, parse_for_users=True): num_infringing_urls = num_infringing_urls, notice_data = json.dumps(notice).encode("utf-8", "replace")) self.db_session.add(notice_record) - self.log.info("added {0}".format(notice["id"])) added_notices.append(notice) except: self.log.error("Error while creating LumenNotice object for notice {0}".format(notice["id"])) @@ -108,6 +109,7 @@ def parse_notices_archive_users(self, notices, archive_users=True): sum(len(work["infringing_urls"]) for work in notice["works"]), notice["id"])) except: + # TODO: make error messages more specific, aka Error while saving n LumenNoticeToTwitterUsers.... self.log.error("Error while saving DB Session") # for every batch of ~50 notices, calls the twitter controller. @@ -130,6 +132,7 @@ def helper_parse_url_for_username(url): if len(url_split) >= 3 and url_split[2] == tco_domain: # try to get request and unshorten the url try: + # TODO: better way to unshorten t.co links?? header-only requests?? r = requests.get(url) if r: url = r.url @@ -142,6 +145,7 @@ def helper_parse_url_for_username(url): if url == "https://twitter.com/account/suspended": # TODO: then we have no information. what should we do about them? should we count these? + # save a LumenNoticeToTwitterUser record, with username = "SUSPENDED" return None if len(url_split) >= 3 and url_split[2] == twitter_domain: diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index c31fd55..e02fad9 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -15,6 +15,9 @@ def __init__(self, db_session, t, log): # users_set is a set def archive_users(self, users_set, archive_tweets=True): + if len(users_set) <= 0: + return None + # make all Twitter usernames lowercase users_set = set([x.lower() for x in list(users_set)]) existing_users = self.db_session.query(TwitterUser).filter(TwitterUser.screen_name.in_(list(users_set))).all() @@ -40,14 +43,16 @@ def archive_users(self, users_set, archive_tweets=True): # for found users, commit to db for user in users_info: + # also update LumenNoticeToTwitterUser record user_json = json.loads(json.dumps(user._json).encode("utf-8", "replace")) if type(user) is twitter.models.User else user # to accomodate test fixture data screen_name = user_json["screen_name"].lower() try: + # TODO: is this query necessary? if not self.db_session.query(TwitterUser).filter(TwitterUser.screen_name == screen_name).first(): created_at = datetime.datetime.strptime(user_json["created_at"], "%a %b %d %H:%M:%S %z %Y") user_record = TwitterUser( id = user_json["id"], - screen_name = screen_name, + screen_name = screen_name, #usernames change! index/search on id when possible name = user_json["name"].encode("utf-8", "replace"), created_at = created_at, # is UTC; expected string format: "Mon Nov 29 21:18:15 +0000 2010" followers_count = user_json["followers_count"], @@ -76,6 +81,7 @@ def archive_users(self, users_set, archive_tweets=True): try: if not self.db_session.query(TwitterUser).filter(TwitterUser.screen_name == user).first(): user_record = TwitterUser( + #id = "SUSPENDED-[rand int]" # make this field a string screen_name = user.lower(), user_state = TwitterUserState.NOT_FOUND.value) self.db_session.add(user_record) diff --git a/app/models.py b/app/models.py index 781bb86..33b7361 100644 --- a/app/models.py +++ b/app/models.py @@ -173,7 +173,8 @@ class ExperimentAction(Base): action_object_id = Column(String(256), index=True) metadata_json = Column(MEDIUMTEXT) - + +# TODO: index cols! class LumenNotice(Base): __tablename__ = 'lumen_notices' id = Column(BigInteger, primary_key = True) @@ -181,44 +182,47 @@ class LumenNotice(Base): sender = Column(String(256)) principal = Column(String(256)) recipient = Column(String(256)) - num_infringing_urls = Column(Integer) + #num_infringing_urls = Column(Integer) notice_data = Column(MEDIUMTEXT) - - + CS_parsed_usernames = Column(Boolean, default=False) # TODO: don't do foreign keys?? class LumenNoticeToTwitterUser(Base): __tablename__ = 'lumen_notice_to_twitter_user' id = Column(Integer, primary_key = True) notice_id = Column(Integer) - twitter_username = Column(String(256)) - + twitter_username = Column(String(256), index = True) + twitter_user_id = Column(String(256), index = True) # how long? + CS_account_queried = Column(Boolean, default=False) class TwitterUser(Base): __tablename__ = 'twitter_users' - id = Column(BigInteger, primary_key = True) - screen_name = Column(String(256)) - name = Column(String(256)) + id = Column(BigInteger, primary_key = True) # TODO: make this a string + screen_name = Column(String(256), index = True) created_at = Column(DateTime) - followers_count = Column(Integer) - friends_count = Column(Integer) lang = Column(String(64)) - statuses_count = Column(Integer) + +class TwitterUserSnapshot(Base): + __tablename__ = 'twitter_user_snapshots' + id = Column(BigInteger, primary_key = True) # TODO: make this a string + created_at = # verified = Column(Boolean) - default_profile = Column(Boolean) - default_profile_image = Column(Boolean) - user_json = Column(MEDIUMTEXT) user_state = Column(Integer) # utils/common.py + user_json = Column(MEDIUMTEXT) + statuses_count = Column(Integer) + followers_count = Column(Integer) + friends_count = Column(Integer) # TODO: foreign keys???? class TwitterStatus(Base): __tablename__ = 'twitter_statuses' id = Column(BigInteger, primary_key = True) - user_id = Column(BigInteger) - in_reply_to_user_id = Column(BigInteger) + user_id = Column(BigInteger, index = True) # string! + #in_reply_to_user_id = Column(BigInteger) #string! + is_reply = Column(Boolean) # created_at = Column(DateTime) - favorite_count = Column(Integer) - retweet_count = Column(Integer) - retweeted = Column(Boolean) status_data = Column(MEDIUMTEXT) + +#TODO: multiple keys??? +#TODO: learn of lumen's API \ No newline at end of file diff --git a/lumen_connect/connection.py b/lumen_connect/connection.py index 458a562..971a58f 100644 --- a/lumen_connect/connection.py +++ b/lumen_connect/connection.py @@ -32,7 +32,7 @@ def get(self, url, payload): if r.status_code == 200: return json.loads(r.text) else: - self.log.info("Error querying usernames with notes. Status code {0}".format(r.status_code)) + self.log.error("Error querying usernames with notes. Status code {0}".format(r.status_code)) def get_search(self, payload): return self.get("https://Lumendatabase.org/notices/search", payload) \ No newline at end of file diff --git a/tests/test_controllers.py b/tests/test_controllers.py index 78adf4c..7e9bc14 100644 --- a/tests/test_controllers.py +++ b/tests/test_controllers.py @@ -48,7 +48,7 @@ def setup_function(function): def teardown_function(function): clear_all_tables() -""" + @patch('praw.Reddit', autospec=True) @patch('praw.objects.Subreddit', autospec=True) def test_archive_reddit_front_page(mock_subreddit, mock_reddit): @@ -817,8 +817,6 @@ def test_archive_users(mock_TwitterConnect, mock_twitter): assert len(not_found_notices) == 6 -""" - # TODO: currently this test does not test users with lots of statuses/tweets, so as to not call api.GetUserTimeline more than once, which is difficult to mock @patch('twitter.Api', autospec=True) @patch('twitter_connect.connection.TwitterConnect', autospec=True) From 3ed1b1bb599ddf8fb96d2684febd4fb78ae2ebc2 Mon Sep 17 00:00:00 2001 From: mmou Date: Thu, 27 Apr 2017 23:11:04 -0400 Subject: [PATCH 007/221] basic work to refactor connect classes. probably doesn't pass all tests --- .../connections}/__init__.py | 0 app/connections/lumen_connect.py | 53 +++++++++++++++++++ {reddit => app/connections}/praw_utils.py | 0 {reddit => app/connections}/queries.py | 4 +- .../connections/reddit_connect.py | 4 +- .../connections/twitter_connect.py | 0 lumen_connect/connection.py | 38 ------------- twitter_connect/__init__.py | 0 {reddit => utils}/__init__.py | 0 ...3.2016.add_authorized_user_to_praw_keys.py | 2 +- ...nerate_anonymized_fixtures_from_mod_log.py | 4 +- 11 files changed, 60 insertions(+), 45 deletions(-) rename {lumen_connect => app/connections}/__init__.py (100%) create mode 100644 app/connections/lumen_connect.py rename {reddit => app/connections}/praw_utils.py (100%) rename {reddit => app/connections}/queries.py (73%) rename reddit/connection.py => app/connections/reddit_connect.py (98%) rename twitter_connect/connection.py => app/connections/twitter_connect.py (100%) delete mode 100644 lumen_connect/connection.py delete mode 100644 twitter_connect/__init__.py rename {reddit => utils}/__init__.py (100%) diff --git a/lumen_connect/__init__.py b/app/connections/__init__.py similarity index 100% rename from lumen_connect/__init__.py rename to app/connections/__init__.py diff --git a/app/connections/lumen_connect.py b/app/connections/lumen_connect.py new file mode 100644 index 0000000..39cd68f --- /dev/null +++ b/app/connections/lumen_connect.py @@ -0,0 +1,53 @@ +import requests +import simplejson as json +import os, inspect +#import pickle +#from app.models import Base +#from sqlalchemy import create_engine +#from sqlalchemy.orm import sessionmaker +#import sqlalchemy +#from utils.common import DbEngine + +ENV = os.environ['CS_ENV'] + +class LumenConnect(): + def __init__(self, log): + BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), "..") + lumen_config_path = os.path.join(BASE_DIR, "config") + "/lumen_auth_" + ENV + ".json" + + with open(lumen_config_path, 'r') as config: + LUMENCONFIG = json.loads(config.read()) + + self.headers = { + "Content-type": "application/json", + "Accept": "application/json", + "X-Authentication-Token": LUMENCONFIG["X-Authentication-Token"] + } + self.log = log + + def get(self, url, payload): + r = requests.get(url, + params=payload, + headers=self.headers) + if r.status_code == 200: + return json.loads(r.text) + else: + self.log.error("Error querying usernames with notes. Status code {0}".format(r.status_code)) + + def get_search(self, payload): + return self.get("https://Lumendatabase.org/notices/search", payload) + + def get_notices_to_twitter(self, topics, count, page, from_date, to_date): + payload = { + "topics": topics, + "per_page": count, + "page": page, + "sort_by": "date_received desc", + "recipient_name": "Twitter", + "date_received_facet": { + "from": utils.common.time_since_epoch_ms(from_date), + "to": utils.common.time_since_epoch_ms(to_date) + } + } + + return self.get_search(payload) diff --git a/reddit/praw_utils.py b/app/connections/praw_utils.py similarity index 100% rename from reddit/praw_utils.py rename to app/connections/praw_utils.py diff --git a/reddit/queries.py b/app/connections/queries.py similarity index 73% rename from reddit/queries.py rename to app/connections/queries.py index 7f0fa6b..e3006e3 100644 --- a/reddit/queries.py +++ b/app/connections/queries.py @@ -1,6 +1,6 @@ import praw -import reddit.connection -import reddit.praw_utils as praw_utils +import app.connections.reddit_connect +import app.connections.praw_utils as praw_utils import copy diff --git a/reddit/connection.py b/app/connections/reddit_connect.py similarity index 98% rename from reddit/connection.py rename to app/connections/reddit_connect.py index d526632..5b87181 100644 --- a/reddit/connection.py +++ b/app/connections/reddit_connect.py @@ -12,7 +12,7 @@ ENV = os.environ['CS_ENV'] -class Connect: +class RedditConnect: # this initializer accepts a database session # and if it doesn't exist, initializes one @@ -31,7 +31,7 @@ def __init__(self, db_session = None, base_dir="", env=None): self.db_session = DbEngine(os.path.join(self.base_dir, "config","{env}.json".format(env=self.env))).new_session() else: self.db_session = db_session - + def connect(self, controller="Main"): r = None #Praw Connection Object handler = MultiprocessHandler() diff --git a/twitter_connect/connection.py b/app/connections/twitter_connect.py similarity index 100% rename from twitter_connect/connection.py rename to app/connections/twitter_connect.py diff --git a/lumen_connect/connection.py b/lumen_connect/connection.py deleted file mode 100644 index 971a58f..0000000 --- a/lumen_connect/connection.py +++ /dev/null @@ -1,38 +0,0 @@ -import requests -import simplejson as json -import os, inspect -#import pickle -#from app.models import Base -#from sqlalchemy import create_engine -#from sqlalchemy.orm import sessionmaker -#import sqlalchemy -#from utils.common import DbEngine - -ENV = os.environ['CS_ENV'] - -class LumenConnect(): - def __init__(self, log): - BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), "..") - lumen_config_path = os.path.join(BASE_DIR, "config") + "/lumen_auth_" + ENV + ".json" - - with open(lumen_config_path, 'r') as config: - LUMENCONFIG = json.loads(config.read()) - - self.headers = { - "Content-type": "application/json", - "Accept": "application/json", - "X-Authentication-Token": LUMENCONFIG["X-Authentication-Token"] - } - self.log = log - - def get(self, url, payload): - r = requests.get(url, - params=payload, - headers=self.headers) - if r.status_code == 200: - return json.loads(r.text) - else: - self.log.error("Error querying usernames with notes. Status code {0}".format(r.status_code)) - - def get_search(self, payload): - return self.get("https://Lumendatabase.org/notices/search", payload) \ No newline at end of file diff --git a/twitter_connect/__init__.py b/twitter_connect/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/reddit/__init__.py b/utils/__init__.py similarity index 100% rename from reddit/__init__.py rename to utils/__init__.py diff --git a/utils/data_migrations/07.23.2016.add_authorized_user_to_praw_keys.py b/utils/data_migrations/07.23.2016.add_authorized_user_to_praw_keys.py index 53bbc8e..6de5534 100644 --- a/utils/data_migrations/07.23.2016.add_authorized_user_to_praw_keys.py +++ b/utils/data_migrations/07.23.2016.add_authorized_user_to_praw_keys.py @@ -2,7 +2,7 @@ BASE_DIR = os.path.join(os.path.dirname(os.path.realpath(__file__)), "../", "../") sys.path.append(BASE_DIR) -import reddit.connection +import app.connections.reddit_connect from app.models import PrawKey from utils.common import DbEngine from praw.handlers import MultiprocessHandler diff --git a/utils/generate_anonymized_fixtures_from_mod_log.py b/utils/generate_anonymized_fixtures_from_mod_log.py index 90bf8b0..1d5fa07 100644 --- a/utils/generate_anonymized_fixtures_from_mod_log.py +++ b/utils/generate_anonymized_fixtures_from_mod_log.py @@ -2,7 +2,7 @@ BASEDIR = os.path.join(os.path.dirname(os.path.realpath(__file__)), "../") sys.path.append(BASEDIR) import simplejson as json -import reddit.connection +import app.connections.reddit_connect # GENERATES FOUR PAGES PAGE OF ANONYMIZED FIXTURE DATA # FROM THE ACTUAL MODERATION LOG OF A SUBREDDIT @@ -14,7 +14,7 @@ def randstring(n): return ''.join(random.choice(string.ascii_lowercase + string.digits) for _ in range(n)) -conn = reddit.connection.Connect() +conn = app.connections.reddit_connect r = conn.connect(controller="ModLog") actions = [x.json_dict for x in r.get_mod_log(subreddit, limit=500)] From 2dfa0ea0c152c7fd2cdc213662a25e68cd4a435e Mon Sep 17 00:00:00 2001 From: mmou Date: Thu, 27 Apr 2017 23:12:27 -0400 Subject: [PATCH 008/221] split twitter, lumen code into 4 main controller methods. rough work - passes all tests, but tests aren't comprehensive. --- ...4b7c595daf2_create_lumen_twitter_tables.py | 217 +++++++++++ .../561b31230723_add_lumen_twitter_tables.py | 199 ---------- app/controller.py | 60 ++- app/controllers/comment_controller.py | 6 +- app/controllers/front_page_controller.py | 6 +- app/controllers/lumen_controller.py | 132 ++++--- app/controllers/moderator_controller.py | 6 +- .../sticky_comment_experiment_controller.py | 6 +- app/controllers/subreddit_controller.py | 6 +- app/controllers/twitter_controller.py | 368 +++++++++++++----- app/models.py | 36 +- get_latest_science_posts.py | 8 +- tests/fixture_data/twitter_id_list.json | 1 + tests/test_controllers.py | 125 ++++-- tests/test_lumen.py | 22 +- tests/test_reddit.py | 12 +- tests/test_twitter.py | 2 +- utils/common.py | 8 + 18 files changed, 742 insertions(+), 478 deletions(-) create mode 100644 alembic/versions/04b7c595daf2_create_lumen_twitter_tables.py delete mode 100644 alembic/versions/561b31230723_add_lumen_twitter_tables.py create mode 100644 tests/fixture_data/twitter_id_list.json diff --git a/alembic/versions/04b7c595daf2_create_lumen_twitter_tables.py b/alembic/versions/04b7c595daf2_create_lumen_twitter_tables.py new file mode 100644 index 0000000..bed8478 --- /dev/null +++ b/alembic/versions/04b7c595daf2_create_lumen_twitter_tables.py @@ -0,0 +1,217 @@ +"""create lumen twitter tables + +Revision ID: 04b7c595daf2 +Revises: 16dbded8a5cf +Create Date: 2017-04-27 18:55:11.873606 + +""" + +# revision identifiers, used by Alembic. +revision = '04b7c595daf2' +down_revision = '16dbded8a5cf' +branch_labels = None +depends_on = None + +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import mysql + +def upgrade(engine_name): + globals()["upgrade_%s" % engine_name]() + + +def downgrade(engine_name): + globals()["downgrade_%s" % engine_name]() + + + + + +def upgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('lumen_notice_to_twitter_user', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('notice_id', sa.BigInteger(), nullable=True), + sa.Column('twitter_username', sa.String(length=256), nullable=True), + sa.Column('twitter_user_id', sa.String(length=64), nullable=True), + sa.Column('CS_account_queried', sa.Boolean(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_index(op.f('ix_lumen_notice_to_twitter_user_notice_id'), 'lumen_notice_to_twitter_user', ['notice_id'], unique=False) + op.create_index(op.f('ix_lumen_notice_to_twitter_user_twitter_user_id'), 'lumen_notice_to_twitter_user', ['twitter_user_id'], unique=False) + op.create_index(op.f('ix_lumen_notice_to_twitter_user_twitter_username'), 'lumen_notice_to_twitter_user', ['twitter_username'], unique=False) + op.create_table('lumen_notices', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('date_received', sa.DateTime(), nullable=True), + sa.Column('sender', sa.String(length=256), nullable=True), + sa.Column('principal', sa.String(length=256), nullable=True), + sa.Column('recipient', sa.String(length=256), nullable=True), + sa.Column('notice_data', mysql.MEDIUMTEXT(), nullable=True), + sa.Column('CS_parsed_usernames', sa.Boolean(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_table('twitter_statuses', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('user_id', sa.String(length=64), nullable=True), + sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('status_data', mysql.MEDIUMTEXT(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_index(op.f('ix_twitter_statuses_user_id'), 'twitter_statuses', ['user_id'], unique=False) + op.create_table('twitter_user_snapshots', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('twitter_user_id', sa.String(length=64), nullable=True), + sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('user_state', sa.Integer(), nullable=True), + sa.Column('user_json', mysql.MEDIUMTEXT(), nullable=True), + sa.Column('statuses_count', sa.Integer(), nullable=True), + sa.Column('followers_count', sa.Integer(), nullable=True), + sa.Column('friends_count', sa.Integer(), nullable=True), + sa.Column('verified', sa.Boolean(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_index(op.f('ix_twitter_user_snapshots_twitter_user_id'), 'twitter_user_snapshots', ['twitter_user_id'], unique=False) + op.create_table('twitter_users', + sa.Column('id', sa.String(length=64), nullable=False), + sa.Column('screen_name', sa.String(length=256), nullable=True), + sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('lang', sa.String(length=32), nullable=True), + sa.Column('user_state', sa.Integer(), nullable=True), + sa.Column('CS_most_tweets_queried', sa.Boolean(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_index(op.f('ix_twitter_users_screen_name'), 'twitter_users', ['screen_name'], unique=False) + # ### end Alembic commands ### + + +def downgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index(op.f('ix_twitter_users_screen_name'), table_name='twitter_users') + op.drop_table('twitter_users') + op.drop_index(op.f('ix_twitter_user_snapshots_twitter_user_id'), table_name='twitter_user_snapshots') + op.drop_table('twitter_user_snapshots') + op.drop_index(op.f('ix_twitter_statuses_user_id'), table_name='twitter_statuses') + op.drop_table('twitter_statuses') + op.drop_table('lumen_notices') + op.drop_index(op.f('ix_lumen_notice_to_twitter_user_twitter_username'), table_name='lumen_notice_to_twitter_user') + op.drop_index(op.f('ix_lumen_notice_to_twitter_user_twitter_user_id'), table_name='lumen_notice_to_twitter_user') + op.drop_index(op.f('ix_lumen_notice_to_twitter_user_notice_id'), table_name='lumen_notice_to_twitter_user') + op.drop_table('lumen_notice_to_twitter_user') + # ### end Alembic commands ### + + +def upgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('lumen_notice_to_twitter_user', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('notice_id', sa.BigInteger(), nullable=True), + sa.Column('twitter_username', sa.String(length=256), nullable=True), + sa.Column('twitter_user_id', sa.String(length=64), nullable=True), + sa.Column('CS_account_queried', sa.Boolean(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_index(op.f('ix_lumen_notice_to_twitter_user_notice_id'), 'lumen_notice_to_twitter_user', ['notice_id'], unique=False) + op.create_index(op.f('ix_lumen_notice_to_twitter_user_twitter_user_id'), 'lumen_notice_to_twitter_user', ['twitter_user_id'], unique=False) + op.create_index(op.f('ix_lumen_notice_to_twitter_user_twitter_username'), 'lumen_notice_to_twitter_user', ['twitter_username'], unique=False) + op.create_table('lumen_notices', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('date_received', sa.DateTime(), nullable=True), + sa.Column('sender', sa.String(length=256), nullable=True), + sa.Column('principal', sa.String(length=256), nullable=True), + sa.Column('recipient', sa.String(length=256), nullable=True), + sa.Column('notice_data', mysql.MEDIUMTEXT(), nullable=True), + sa.Column('CS_parsed_usernames', sa.Boolean(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_table('twitter_statuses', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('user_id', sa.String(length=64), nullable=True), + sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('status_data', mysql.MEDIUMTEXT(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_index(op.f('ix_twitter_statuses_user_id'), 'twitter_statuses', ['user_id'], unique=False) + op.create_table('twitter_users', + sa.Column('id', sa.String(length=64), nullable=False), + sa.Column('screen_name', sa.String(length=256), nullable=True), + sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('lang', sa.String(length=32), nullable=True), + sa.Column('user_state', sa.Integer(), nullable=True), + sa.Column('CS_most_tweets_queried', sa.Boolean(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_index(op.f('ix_twitter_users_screen_name'), 'twitter_users', ['screen_name'], unique=False) + # ### end Alembic commands ### + + +def downgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index(op.f('ix_twitter_users_screen_name'), table_name='twitter_users') + op.drop_table('twitter_users') + op.drop_index(op.f('ix_twitter_statuses_user_id'), table_name='twitter_statuses') + op.drop_table('twitter_statuses') + op.drop_table('lumen_notices') + op.drop_index(op.f('ix_lumen_notice_to_twitter_user_twitter_username'), table_name='lumen_notice_to_twitter_user') + op.drop_index(op.f('ix_lumen_notice_to_twitter_user_twitter_user_id'), table_name='lumen_notice_to_twitter_user') + op.drop_index(op.f('ix_lumen_notice_to_twitter_user_notice_id'), table_name='lumen_notice_to_twitter_user') + op.drop_table('lumen_notice_to_twitter_user') + # ### end Alembic commands ### + + +def upgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('lumen_notice_to_twitter_user', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('notice_id', sa.BigInteger(), nullable=True), + sa.Column('twitter_username', sa.String(length=256), nullable=True), + sa.Column('twitter_user_id', sa.String(length=64), nullable=True), + sa.Column('CS_account_queried', sa.Boolean(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_index(op.f('ix_lumen_notice_to_twitter_user_notice_id'), 'lumen_notice_to_twitter_user', ['notice_id'], unique=False) + op.create_index(op.f('ix_lumen_notice_to_twitter_user_twitter_user_id'), 'lumen_notice_to_twitter_user', ['twitter_user_id'], unique=False) + op.create_index(op.f('ix_lumen_notice_to_twitter_user_twitter_username'), 'lumen_notice_to_twitter_user', ['twitter_username'], unique=False) + op.create_table('lumen_notices', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('date_received', sa.DateTime(), nullable=True), + sa.Column('sender', sa.String(length=256), nullable=True), + sa.Column('principal', sa.String(length=256), nullable=True), + sa.Column('recipient', sa.String(length=256), nullable=True), + sa.Column('notice_data', mysql.MEDIUMTEXT(), nullable=True), + sa.Column('CS_parsed_usernames', sa.Boolean(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_table('twitter_statuses', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('user_id', sa.String(length=64), nullable=True), + sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('status_data', mysql.MEDIUMTEXT(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_index(op.f('ix_twitter_statuses_user_id'), 'twitter_statuses', ['user_id'], unique=False) + op.create_table('twitter_users', + sa.Column('id', sa.String(length=64), nullable=False), + sa.Column('screen_name', sa.String(length=256), nullable=True), + sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('lang', sa.String(length=32), nullable=True), + sa.Column('user_state', sa.Integer(), nullable=True), + sa.Column('CS_most_tweets_queried', sa.Boolean(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_index(op.f('ix_twitter_users_screen_name'), 'twitter_users', ['screen_name'], unique=False) + # ### end Alembic commands ### + + +def downgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index(op.f('ix_twitter_users_screen_name'), table_name='twitter_users') + op.drop_table('twitter_users') + op.drop_index(op.f('ix_twitter_statuses_user_id'), table_name='twitter_statuses') + op.drop_table('twitter_statuses') + op.drop_table('lumen_notices') + op.drop_index(op.f('ix_lumen_notice_to_twitter_user_twitter_username'), table_name='lumen_notice_to_twitter_user') + op.drop_index(op.f('ix_lumen_notice_to_twitter_user_twitter_user_id'), table_name='lumen_notice_to_twitter_user') + op.drop_index(op.f('ix_lumen_notice_to_twitter_user_notice_id'), table_name='lumen_notice_to_twitter_user') + op.drop_table('lumen_notice_to_twitter_user') + # ### end Alembic commands ### + diff --git a/alembic/versions/561b31230723_add_lumen_twitter_tables.py b/alembic/versions/561b31230723_add_lumen_twitter_tables.py deleted file mode 100644 index f74e88d..0000000 --- a/alembic/versions/561b31230723_add_lumen_twitter_tables.py +++ /dev/null @@ -1,199 +0,0 @@ -"""add lumen twitter tables - -Revision ID: 561b31230723 -Revises: 16dbded8a5cf -Create Date: 2017-04-17 02:28:10.599352 - -""" - -# revision identifiers, used by Alembic. -revision = '561b31230723' -down_revision = '16dbded8a5cf' -branch_labels = None -depends_on = None - -from alembic import op -import sqlalchemy as sa -from sqlalchemy.dialects import mysql - -def upgrade(engine_name): - globals()["upgrade_%s" % engine_name]() - - -def downgrade(engine_name): - globals()["downgrade_%s" % engine_name]() - - - - - -def upgrade_development(): - # ### commands auto generated by Alembic - please adjust! ### - op.create_table('lumen_notice_to_twitter_user', - sa.Column('id', sa.Integer(), nullable=False), - sa.Column('notice_id', sa.Integer(), nullable=True), - sa.Column('twitter_username', sa.String(length=256), nullable=True), - sa.PrimaryKeyConstraint('id') - ) - op.create_table('lumen_notices', - sa.Column('id', sa.BigInteger(), nullable=False), - sa.Column('date_received', sa.DateTime(), nullable=True), - sa.Column('sender', sa.String(length=256), nullable=True), - sa.Column('principal', sa.String(length=256), nullable=True), - sa.Column('recipient', sa.String(length=256), nullable=True), - sa.Column('num_infringing_urls', sa.Integer(), nullable=True), - sa.Column('notice_data', mysql.MEDIUMTEXT(), nullable=True), - sa.PrimaryKeyConstraint('id') - ) - op.create_table('twitter_statuses', - sa.Column('id', sa.BigInteger(), nullable=False), - sa.Column('user_id', sa.BigInteger(), nullable=True), - sa.Column('in_reply_to_user_id', sa.BigInteger(), nullable=True), - sa.Column('created_at', sa.DateTime(), nullable=True), - sa.Column('favorite_count', sa.Integer(), nullable=True), - sa.Column('retweet_count', sa.Integer(), nullable=True), - sa.Column('retweeted', sa.Boolean(), nullable=True), - sa.Column('status_data', mysql.MEDIUMTEXT(), nullable=True), - sa.PrimaryKeyConstraint('id') - ) - op.create_table('twitter_users', - sa.Column('id', sa.BigInteger(), nullable=False), - sa.Column('screen_name', sa.String(length=256), nullable=True), - sa.Column('name', sa.String(length=256), nullable=True), - sa.Column('created_at', sa.DateTime(), nullable=True), - sa.Column('followers_count', sa.Integer(), nullable=True), - sa.Column('friends_count', sa.Integer(), nullable=True), - sa.Column('lang', sa.String(length=64), nullable=True), - sa.Column('statuses_count', sa.Integer(), nullable=True), - sa.Column('verified', sa.Boolean(), nullable=True), - sa.Column('default_profile', sa.Boolean(), nullable=True), - sa.Column('default_profile_image', sa.Boolean(), nullable=True), - sa.Column('user_json', mysql.MEDIUMTEXT(), nullable=True), - sa.Column('user_state', sa.Integer(), nullable=True), - sa.PrimaryKeyConstraint('id') - ) - # ### end Alembic commands ### - - -def downgrade_development(): - # ### commands auto generated by Alembic - please adjust! ### - op.drop_table('twitter_users') - op.drop_table('twitter_statuses') - op.drop_table('lumen_notices') - op.drop_table('lumen_notice_to_twitter_user') - # ### end Alembic commands ### - - -def upgrade_test(): - # ### commands auto generated by Alembic - please adjust! ### - op.create_table('lumen_notice_to_twitter_user', - sa.Column('id', sa.Integer(), nullable=False), - sa.Column('notice_id', sa.Integer(), nullable=True), - sa.Column('twitter_username', sa.String(length=256), nullable=True), - sa.PrimaryKeyConstraint('id') - ) - op.create_table('lumen_notices', - sa.Column('id', sa.BigInteger(), nullable=False), - sa.Column('date_received', sa.DateTime(), nullable=True), - sa.Column('sender', sa.String(length=256), nullable=True), - sa.Column('principal', sa.String(length=256), nullable=True), - sa.Column('recipient', sa.String(length=256), nullable=True), - sa.Column('num_infringing_urls', sa.Integer(), nullable=True), - sa.Column('notice_data', mysql.MEDIUMTEXT(), nullable=True), - sa.PrimaryKeyConstraint('id') - ) - op.create_table('twitter_statuses', - sa.Column('id', sa.BigInteger(), nullable=False), - sa.Column('user_id', sa.BigInteger(), nullable=True), - sa.Column('in_reply_to_user_id', sa.BigInteger(), nullable=True), - sa.Column('created_at', sa.DateTime(), nullable=True), - sa.Column('favorite_count', sa.Integer(), nullable=True), - sa.Column('retweet_count', sa.Integer(), nullable=True), - sa.Column('retweeted', sa.Boolean(), nullable=True), - sa.Column('status_data', mysql.MEDIUMTEXT(), nullable=True), - sa.PrimaryKeyConstraint('id') - ) - op.create_table('twitter_users', - sa.Column('id', sa.BigInteger(), nullable=False), - sa.Column('screen_name', sa.String(length=256), nullable=True), - sa.Column('name', sa.String(length=256), nullable=True), - sa.Column('created_at', sa.DateTime(), nullable=True), - sa.Column('followers_count', sa.Integer(), nullable=True), - sa.Column('friends_count', sa.Integer(), nullable=True), - sa.Column('lang', sa.String(length=64), nullable=True), - sa.Column('statuses_count', sa.Integer(), nullable=True), - sa.Column('verified', sa.Boolean(), nullable=True), - sa.Column('default_profile', sa.Boolean(), nullable=True), - sa.Column('default_profile_image', sa.Boolean(), nullable=True), - sa.Column('user_json', mysql.MEDIUMTEXT(), nullable=True), - sa.Column('user_state', sa.Integer(), nullable=True), - sa.PrimaryKeyConstraint('id') - ) - # ### end Alembic commands ### - - -def downgrade_test(): - # ### commands auto generated by Alembic - please adjust! ### - op.drop_table('twitter_users') - op.drop_table('twitter_statuses') - op.drop_table('lumen_notices') - op.drop_table('lumen_notice_to_twitter_user') - # ### end Alembic commands ### - - -def upgrade_production(): - # ### commands auto generated by Alembic - please adjust! ### - op.create_table('lumen_notice_to_twitter_user', - sa.Column('id', sa.Integer(), nullable=False), - sa.Column('notice_id', sa.Integer(), nullable=True), - sa.Column('twitter_username', sa.String(length=256), nullable=True), - sa.PrimaryKeyConstraint('id') - ) - op.create_table('lumen_notices', - sa.Column('id', sa.BigInteger(), nullable=False), - sa.Column('date_received', sa.DateTime(), nullable=True), - sa.Column('sender', sa.String(length=256), nullable=True), - sa.Column('principal', sa.String(length=256), nullable=True), - sa.Column('recipient', sa.String(length=256), nullable=True), - sa.Column('num_infringing_urls', sa.Integer(), nullable=True), - sa.Column('notice_data', mysql.MEDIUMTEXT(), nullable=True), - sa.PrimaryKeyConstraint('id') - ) - op.create_table('twitter_statuses', - sa.Column('id', sa.BigInteger(), nullable=False), - sa.Column('user_id', sa.BigInteger(), nullable=True), - sa.Column('in_reply_to_user_id', sa.BigInteger(), nullable=True), - sa.Column('created_at', sa.DateTime(), nullable=True), - sa.Column('favorite_count', sa.Integer(), nullable=True), - sa.Column('retweet_count', sa.Integer(), nullable=True), - sa.Column('retweeted', sa.Boolean(), nullable=True), - sa.Column('status_data', mysql.MEDIUMTEXT(), nullable=True), - sa.PrimaryKeyConstraint('id') - ) - op.create_table('twitter_users', - sa.Column('id', sa.BigInteger(), nullable=False), - sa.Column('screen_name', sa.String(length=256), nullable=True), - sa.Column('name', sa.String(length=256), nullable=True), - sa.Column('created_at', sa.DateTime(), nullable=True), - sa.Column('followers_count', sa.Integer(), nullable=True), - sa.Column('friends_count', sa.Integer(), nullable=True), - sa.Column('lang', sa.String(length=64), nullable=True), - sa.Column('statuses_count', sa.Integer(), nullable=True), - sa.Column('verified', sa.Boolean(), nullable=True), - sa.Column('default_profile', sa.Boolean(), nullable=True), - sa.Column('default_profile_image', sa.Boolean(), nullable=True), - sa.Column('user_json', mysql.MEDIUMTEXT(), nullable=True), - sa.Column('user_state', sa.Integer(), nullable=True), - sa.PrimaryKeyConstraint('id') - ) - # ### end Alembic commands ### - - -def downgrade_production(): - # ### commands auto generated by Alembic - please adjust! ### - op.drop_table('twitter_users') - op.drop_table('twitter_statuses') - op.drop_table('lumen_notices') - op.drop_table('lumen_notice_to_twitter_user') - # ### end Alembic commands ### - diff --git a/app/controller.py b/app/controller.py index 79a2338..88dff85 100644 --- a/app/controller.py +++ b/app/controller.py @@ -1,8 +1,8 @@ import inspect, os, sys, yaml import simplejson as json -import reddit.connection -import lumen_connect.connection -import twitter_connect.connection +import app.connections.reddit_connect +import app.connections.lumen_connect +import app.connections.twitter_connect import app.controllers.front_page_controller import app.controllers.subreddit_controller import app.controllers.comment_controller @@ -25,9 +25,9 @@ # LOAD LOGGER log = app.cs_logger.get_logger(ENV, BASE_DIR) -conn = reddit.connection.Connect() -lumen_conn = lumen_connect.connection.LumenConnect(log) -twitter_conn = twitter_connect.connection.TwitterConnect(log) +conn = app.connections.reddit_connect.RedditConnect() +lumen_conn = app.connections.lumen_connect.LumenConnect(log) +twitter_conn = app.connections.twitter_connect.TwitterConnect(log) def fetch_reddit_front(page_type=PageType.TOP): r = conn.connect(controller="FetchRedditFront") @@ -127,22 +127,42 @@ def archive_experiment_submission_metadata(experiment_name): ) sce.archive_experiment_submission_metadata() - -def archive_lumen_notices(): - l = app.controllers.lumen_controller.LumenController(db_session, lumen_conn, twitter_conn, log) - - topics = ["Copyright"] # "Government Requests", #["Defamation","Protest, Parody and Criticism Sites","Law Enforcement Requests","International","Government Requests","DMCA Subpoenas","Court Orders"] - date = datetime.datetime.utcnow() - datetime.timedelta(days=2) # now-1day +""" +Archive lumen notices. +""" +def fetch_lumen_notices(topics=None, date=None): + l = app.controllers.lumen_controller.LumenController(db_session, lumen_conn, log) + + topics = topics if topics else ["Copyright"] # "Government Requests", #["Defamation","Protest, Parody and Criticism Sites","Law Enforcement Requests","International","Government Requests","DMCA Subpoenas","Court Orders"] + date = date if dates else datetime.datetime.utcnow() - datetime.timedelta(days=2) # now-2days l.archive_lumen_notices(topics, date) -# TODO: confirm args? -def archive_twitter_users(users_file): +""" +For all LumenNotices with CS_parsed_usernames=False, parse for twitter accounts +""" +def parse_lumen_notices_for_twitter_accounts(): + l = app.controllers.lumen_controller.LumenController(db_session, lumen_conn, log) + l.query_and_parse_notices_archive_users() + +""" +For all LumenNoticeToTwitterUser with CS_account_queried=False, +archive Twitter accounts in TwitterUser objects, and create 1st TwitterUserSnapshot +""" +def fetch_twitter_users(): + t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) + t.query_and_archive_new_users() + +""" +For all TwitterUserSnapshot.created_at older than x hours, fetch another snapshot +""" +def fetch_twitter_snapshot_and_tweets(): t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) - with open(users_file) as f: - users = json.loads(f.read()) - t.archive_users(users) + date = date if dates else datetime.datetime.utcnow() - datetime.timedelta(minutes=60) # now-1hour + t.query_and_archive_user_snapshots_and_tweets(date) -# TODO: confirm args? -def archive_user_tweets(username): +""" +For all TwitterUsers with CS_most_tweets_queried=False, fetch tweets +""" +def fetch_twitter_tweets(): t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) - t.archive_user_tweets(username) \ No newline at end of file + t.query_and_archive_tweets(username) \ No newline at end of file diff --git a/app/controllers/comment_controller.py b/app/controllers/comment_controller.py index 2569995..3609857 100644 --- a/app/controllers/comment_controller.py +++ b/app/controllers/comment_controller.py @@ -2,9 +2,9 @@ import inspect, os, sys # set the BASE_DIR import simplejson as json import datetime -import reddit.connection -import reddit.praw_utils as praw_utils -import reddit.queries +import app.connections.reddit_connect +import app.connections.praw_utils as praw_utils +import app.connections.queries from utils.common import PageType from app.models import Base, SubredditPage, Subreddit, Post, Comment from sqlalchemy import and_ diff --git a/app/controllers/front_page_controller.py b/app/controllers/front_page_controller.py index 331e26a..a19098f 100644 --- a/app/controllers/front_page_controller.py +++ b/app/controllers/front_page_controller.py @@ -2,9 +2,9 @@ import inspect, os, sys # set the BASE_DIR import simplejson as json import datetime -import reddit.connection -import reddit.praw_utils as praw_utils -import reddit.queries +import app.connections.reddit_connect +import app.connections.praw_utils as praw_utils +import app.connections.queries from utils.common import PageType from app.models import Base, FrontPage diff --git a/app/controllers/lumen_controller.py b/app/controllers/lumen_controller.py index 1d899ba..35d2676 100644 --- a/app/controllers/lumen_controller.py +++ b/app/controllers/lumen_controller.py @@ -1,6 +1,6 @@ import simplejson as json import datetime -from app.models import Base, LumenNotice, LumenNoticeToTwitterUser +from app.models import Base, LumenNotice, LumenNoticeToTwitterUser, TwitterUser from app.controllers.twitter_controller import TwitterController import utils.common import requests @@ -8,37 +8,23 @@ import sqlalchemy class LumenController(): - def __init__(self, db_session, l, t, log): + def __init__(self, db_session, l, log): self.db_session = db_session self.l = l - self.t = t # TwitterConnect self.log = log - self.tc = TwitterController(self.db_session, self.t, self.log) # TwitterController - - # archives lumen notices since date til now(+1day) - # if parse_for_users True, calls self.parse_notices_archive_users - def archive_lumen_notices(self, topics, date, parse_for_users=True): + def archive_lumen_notices(self, topics, date): nowish = datetime.datetime.utcnow() + datetime.timedelta(days=1) + + recent_notices = self.db_session.query(LumenNotice).filter(LumenNotice.date_received >= date).all() + recent_notices_ids = set([notice.id for notice in recent_notices]) + for topic in topics: next_page = 1 while next_page is not None: - - # TODO: move payload construction into get_search() - payload = { - "topics": [topic], - "per_page": 50, - "page": next_page, - "sort_by": "date_received desc", - "recipient_name": "Twitter", - "date_received_facet": { - "from": utils.common.time_since_epoch_ms(date), - "to": utils.common.time_since_epoch_ms(nowish) - } - } - - data = self.l.get_search(payload) + data = self.l.get_notices_to_twitter([topic], 50, next_page, date, nowish) + #with open("tests/fixture_data/lumen_notices_0.json") as f: # data = json.loads(f.read()) notices_json = data["notices"] @@ -46,23 +32,20 @@ def archive_lumen_notices(self, topics, date, parse_for_users=True): added_notices = [] for notice in notices_json: - # TODO: instead query for list of ids that were received in the last n days.... - if not self.db_session.query(LumenNotice).filter(LumenNotice.id == notice["id"]).first(): + if notice["id"] not in recent_notices_ids: try: date_received = datetime.datetime.strptime(notice["date_received"], '%Y-%m-%dT%H:%M:%S.000Z') # expect string like "2017-04-15T22:28:26.000Z" - # make sure mysql string encoding setting is utf-8 sender = (notice["sender_name"].encode("utf-8", "replace") if notice["sender_name"] else "") principal = (notice["principal_name"].encode("utf-8", "replace") if notice["principal_name"] else "") recipient = (notice["recipient_name"].encode("utf-8", "replace") if notice["recipient_name"] else "") - num_infringing_urls = sum(len(work["infringing_urls"]) for work in notice["works"]) notice_record = LumenNotice( id = notice["id"], date_received = date_received, sender = sender, principal = principal, recipient = recipient, - num_infringing_urls = num_infringing_urls, - notice_data = json.dumps(notice).encode("utf-8", "replace")) + notice_data = json.dumps(notice).encode("utf-8", "replace"), + CS_parsed_usernames = False) self.db_session.add(notice_record) added_notices.append(notice) except: @@ -71,51 +54,83 @@ def archive_lumen_notices(self, topics, date, parse_for_users=True): self.db_session.commit() self.log.info("Saved {0} lumen notices.".format(len(added_notices))) except: - self.log.error("Error while saving DB Session") + self.log.error("Error while saving {0} lumen notices in DB Session".format(len(added_notices))) + + + """ + For all LumenNotices with CS_parsed_usernames=False, parse for twitter accounts + """ + def query_and_parse_notices_archive_users(self): + unparsed_notices = self.db_session.query(LumenNotice).filter(LumenNotice.CS_parsed_usernames == False).all() + parse_notices_archive_users(unparsed_notices) + + for notice in unparsed_notices: + notice.CS_parsed_usernames = True # update LumenNotice + try: + self.db_session.commit() + self.log.info("Updated {0} LumenNotice CS_parsed_usernames fields.".format(len(unparsed_notices))) + except: + self.log.error("Error while saving DB Session for updating {0} LumenNotice CS_parsed_usernames fields.".format(len(unparsed_notices))) - if parse_for_users: # this boolean is for unit testing purposes - self.parse_notices_archive_users(added_notices) - # if archive_users true, also calls TwitterController (boolean exists for testing purposes) - def parse_notices_archive_users(self, notices, archive_users=True): - all_users = set([]) - for notice in notices: # expecting ~50 notices = several hundred users + """ + unparsed_notices = listo of LumenNotice + """ + def parse_notices_archive_users(self, unparsed_notices): + for notice in unparsed_notices: + notice_json = json.loads(notice.notice_data) if type(notice) is LumenNotice else notice # to accomodate test fixture data notice_users = set([]) - for work in notice["works"]: + suspended_user_count = 0 + for work in notice_json["works"]: # infringing_urls is known to contain urls for url_obj in work["infringing_urls"]: url = url_obj["url"] - username = helper_parse_url_for_username(url) - if username: - notice_users.add(username) - all_users.add(username) - if notice["body"]: # I've only seen this null - self.log.error("method helper_parse_notices_archive_users: maybe missed something in notice['body']; notice id = {0}".format(notice["id"])) + try: + username = helper_parse_url_for_username(url) + if username: + notice_users.add(username) + except utils.common.ParseUsernameSuspendedUserFound: + suspended_user_count += 1 if len(work["copyrighted_urls"]) > 0: # I've only seen this empty - self.log.error("method helper_parse_notices_archive_users: maybe missed something in notice['works']['copyrighted_urls']; notice id = {0}".format(notice["id"])) + self.log.error("method helper_parse_notices_archive_users: maybe missed something in notice_json['works']['copyrighted_urls']; notice id = {0}".format(notice_json["id"])) if work["description"]: # I've only seen this null - self.log.error("method helper_parse_notices_archive_users: maybe missed something in notice['works']['description']; notice id = {0}".format(notice["id"])) + self.log.error("method helper_parse_notices_archive_users: maybe missed something in notice_json['works']['description']; notice id = {0}".format(notice_json["id"])) + if notice_json["body"]: # I've only seen this null + self.log.error("method helper_parse_notices_archive_users: maybe missed something in notice_json['body']; notice id = {0}".format(notice_json["id"])) + + + existing_users = [] + if len(notice_users) > 0: + existing_users = self.db_session.query(TwitterUser).filter(TwitterUser.screen_name.in_(list(notice_users))).all() # for every notice, commit LumenNoticeToTwitterUser records for username in notice_users: notice_user_record = LumenNoticeToTwitterUser( - notice_id = notice["id"], - twitter_username = username.lower()) + notice_id = notice_json["id"], + twitter_username = username.lower(), + twitter_user_id = None, + CS_account_queried = username in existing_users) self.db_session.add(notice_user_record) + for i in range(suspended_user_count): + notice_user_record = LumenNoticeToTwitterUser( + notice_id = notice_json["id"], + twitter_username = utils.common.SUSPENDED_TWITTER_USER_STR, + twitter_user_id = utils.common.SUSPENDED_TWITTER_USER_STR, + CS_account_queried = False) + self.db_session.add(notice_user_record) + try: self.db_session.commit() self.log.info("Saved {0} twitter users from {1} infringing_urls in notice {2}.".format( - len(notice_users), - sum(len(work["infringing_urls"]) for work in notice["works"]), - notice["id"])) + len(notice_users), + sum(len(work["infringing_urls"]) for work in notice_json["works"]), + notice_json["id"])) except: # TODO: make error messages more specific, aka Error while saving n LumenNoticeToTwitterUsers.... - self.log.error("Error while saving DB Session") - - # for every batch of ~50 notices, calls the twitter controller. - # self.tc.archive_users is most efficient when you have >100 users - if archive_users: - self.tc.archive_users(all_users) + self.log.error("Error while saving {0} twitter users from {1} infringing_urls in notice {2} DB Session".format( + len(notice_users), + sum(len(work["infringing_urls"]) for work in notice_json["works"]), + notice_json["id"])) # assume url is of the form 'https://twitter.com/sooos243/status/852942353321140224' @@ -140,13 +155,12 @@ def helper_parse_url_for_username(url): else: raise Exception except: - return None - #""" + raise utils.common.ParseUsernameNoUserFound if url == "https://twitter.com/account/suspended": # TODO: then we have no information. what should we do about them? should we count these? # save a LumenNoticeToTwitterUser record, with username = "SUSPENDED" - return None + raise utils.common.ParseUsernameSuspendedUserFound if len(url_split) >= 3 and url_split[2] == twitter_domain: username = url_split[3] diff --git a/app/controllers/moderator_controller.py b/app/controllers/moderator_controller.py index 668c7ea..8e1f957 100644 --- a/app/controllers/moderator_controller.py +++ b/app/controllers/moderator_controller.py @@ -2,9 +2,9 @@ import inspect, os, sys # set the BASE_DIR import simplejson as json import datetime -import reddit.connection -import reddit.praw_utils as praw_utils -import reddit.queries +import app.connections.reddit_connect +import app.connections.praw_utils as praw_utils +import app.connections.queries import sqlalchemy from utils.common import PageType from app.models import Base, SubredditPage, Subreddit, Post, ModAction diff --git a/app/controllers/sticky_comment_experiment_controller.py b/app/controllers/sticky_comment_experiment_controller.py index d49a2e6..eaac231 100644 --- a/app/controllers/sticky_comment_experiment_controller.py +++ b/app/controllers/sticky_comment_experiment_controller.py @@ -2,9 +2,9 @@ import inspect, os, sys # set the BASE_DIR import simplejson as json import datetime, yaml, time, csv -import reddit.connection -import reddit.praw_utils as praw_utils -import reddit.queries +import app.connections.reddit_connect +import app.connections.praw_utils as praw_utils +import app.connections.queries import sqlalchemy from dateutil import parser from utils.common import * diff --git a/app/controllers/subreddit_controller.py b/app/controllers/subreddit_controller.py index 2b4bbf1..53923b0 100644 --- a/app/controllers/subreddit_controller.py +++ b/app/controllers/subreddit_controller.py @@ -2,9 +2,9 @@ import inspect, os, sys # set the BASE_DIR import simplejson as json import datetime -import reddit.connection -import reddit.praw_utils as praw_utils -import reddit.queries +import app.connections.reddit_connect +import app.connections.praw_utils as praw_utils +import app.connections.queries from utils.common import PageType from app.models import Base, SubredditPage, Subreddit, Post, User diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index e02fad9..b39de3c 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -1,11 +1,13 @@ import twitter import simplejson as json import datetime -from app.models import Base, TwitterUser, TwitterStatus +from app.models import Base, TwitterUser, TwitterStatus, LumenNoticeToTwitterUser, TwitterUserSnapshot import utils.common import requests import sqlalchemy -from utils.common import TwitterUserState +from sqlalchemy import and_, func +import utils.common +from utils.common import TwitterUserState, SUSPENDED_TWITTER_USER_STR class TwitterController(): def __init__(self, db_session, t, log): @@ -13,136 +15,305 @@ def __init__(self, db_session, t, log): self.db_session = db_session self.log = log - # users_set is a set - def archive_users(self, users_set, archive_tweets=True): - if len(users_set) <= 0: + """ + for each new username parsed from a lumen notice: + if user found: + update lumennoticetouser record + store twitteruser record + store twitterusersnapshot record + if user not found: + store twitteruserrecord + """ + def query_and_archive_new_users(self): + unarchived_notice_users = self.db_session.query(LumenNoticeToTwitterUser).filter(and_( + LumenNoticeToTwitterUser.CS_account_queried == False, + LumenNoticeToTwitterUser.twitter_username != SUSPENDED_TWITTER_USER_STR + ).all()) + unarchived_users = set([nu.twitter_username for nu in unarchived_notice_users]) + all_users_info = self.archive_users(unarchived_users, self.new_found_users_store_func, self.new_not_found_users_store_func, has_ids=False) + + unarchived_notice_users_dict = {nu.twitter_username: nu for nu in unarchived_notice_users} + for user in all_users_info: + user_json = json.loads(json.dumps(user._json).encode("utf-8", "replace")) if type(user) is twitter.models.User else user # to accomodate test fixture data + screen_name = user_json["screen_name"].lower() + if screen_name in unarchived_notice_users_dict: + unarchived_notice_users_dict[screen_name].twitter_user_id = user_json["id"] + unarchived_notice_users_dict[screen_name].CS_account_queried = True + unarchived_notice_users_dict.remove(screen_name) + for screen_name in unarchived_notice_users_dict: + # for the ones left, still should update CS_account_queried + unarchived_notice_users_dict[screen_name].CS_account_queried = True + try: + self.db_session.commit() + self.log.info("Updated {0} LumenNoticeToTwitterUser.CS_account_queried fields.".format(len(unarchived_notice_users))) + except: + self.log.error("Error while saving DB Session for {0} LumenNoticeToTwitterUser.CS_account_queried fields.".format(len(unarchived_notice_users))) + + + + """ + for each user in twitterusersnapshot with too old most recent snapshot: + if user found: + store twitterusersnapshot record + if user not found: + store twitterusersnapshot record + """ + def query_and_archive_user_snapshots_and_tweets(self, min_time): + need_snapshot_users = self.db_session.query( + TwitterUserSnapshot.twitter_user_id, func.max(TwitterUserSnapshot.created_at)).filter( + TwitterUserSnapshot.created_at < min_time).all() + + unarchived_users = set([snapshot.twitter_user_id for snapshot in need_snapshot_users]) + self.archive_users(unarchived_users, self.old_found_users_store_func, self.old_not_found_users_store_func, has_ids=True) + + for user_id in unarchived_users: + self.archive_user_tweets(user_id) + + + def query_and_archive_tweets(self): + unarchived_users = self.db_session.query(TwitterUser).filter( + TwitterUser.CS_most_tweets_queried == False).all() + for user in unarchived_users: + self.archive_user_tweets(user.id) + user.CS_most_tweets_queried = True + try: + self.db_session.commit() + self.log.info("Updated {0} TwitterUser.CS_most_tweets_queried fields.".format(len(unarchived_users))) + except: + self.log.error("Error while saving DB Session for {0} TwitterUser.CS_most_tweets_queried fields.".format(len(unarchived_users))) + + + + """ + users_info: from twitter.api.UsersLookup + not_found_users: set of usernames still not found + + returns: updated not_found_users + + """ + def new_found_users_store_func(self, users_info, not_found_users): + for user in users_info: + user_json = json.loads(json.dumps(user._json).encode("utf-8", "replace")) if type(user) is twitter.models.User else user # to accomodate test fixture data + screen_name = user_json["screen_name"].lower() + try: + created_at = datetime.datetime.strptime(user_json["created_at"], "%a %b %d %H:%M:%S %z %Y") + user_record = TwitterUser( + id = user_json["id"], + screen_name = screen_name, #usernames change! index/search on id when possible + created_at = created_at, # is UTC; expected string format: "Mon Nov 29 21:18:15 +0000 2010" + lang = user_json["lang"], + user_state = TwitterUserState.FOUND.value if not user_json["protected"] else TwitterUserState.PROTECTED.value, + CS_most_tweets_queried = False) + self.db_session.add(user_record) + + # also create first TwitterUserSnapshot record + user_snapshot_record = TwitterUserSnapshot( + twitter_user_id = user_json["id"], + created_at = created_at, # is UTC; expected string format: "Mon Nov 29 21:18:15 +0000 2010" + # should we have thses??? + statuses_count = user_json["statuses_count"], + followers_count = user_json["followers_count"], + friends_count = user_json["friends_count"], + verified = user_json["verified"], + user_state = TwitterUserState.FOUND.value if not user_json["protected"] else TwitterUserState.PROTECTED.value, + user_json = json.dumps(user_json)) #already encoded + self.db_session.add(user_snapshot_record) + + not_found_users.discard(screen_name) # discard doesn't throw an error + except: + self.log.error("Error while creating TwitterUser, TwitterUserSnapshot, LumenNoticeToTwitterUser object for user {0}".format(screen_name)) + try: + self.db_session.commit() + self.log.info("Saved {0} found twitter users' info.".format(len(users_info))) + except: + self.log.error("Error while saving DB Session for TwitterUser, TwitterUserSnapshot, LumenNoticeToTwitterUser object for user {0}".format(screen_name)) + + return not_found_users + + """ + not_found_users: set of usernames still not found + """ + def new_not_found_users_store_func(self, not_found_users): + for username in list(not_found_users): + try: + user_record = TwitterUser( + id = "{0}_{1}".format(SUSPENDED_TWITTER_USER_STR, utils.common.time_since_epoch_ms(datetime.datetime.utcnow())), + screen_name = username.lower(), + user_state = TwitterUserState.NOT_FOUND.value) + self.db_session.add(user_record) + except: + self.log.error("Error while creating TwitterUser object for user {0}".format(username)) + try: + self.db_session.commit() + self.log.info("Saved {0} not_found twitter users' info.".format(len(not_found_users))) + except: + self.log.error("Error while saving DB Session for {0} not_found twitter users' info.".format(len(not_found_users))) + + + """ + users_info: from twitter.api.UsersLookup + not_found_users: set of usernames still not found + + returns: updated not_found_users + + """ + def old_found_users_store_func(self, users_info, not_found_users): + for user in users_info: + user_json = json.loads(json.dumps(user._json).encode("utf-8", "replace")) if type(user) is twitter.models.User else user # to accomodate test fixture data + screen_name = user_json["screen_name"].lower() + try: + created_at = datetime.datetime.strptime(user_json["created_at"], "%a %b %d %H:%M:%S %z %Y") + + # create TwitterUserSnapshot record + user_snapshot_record = TwitterUserSnapshot( + twitter_user_id = user_json["id"], + created_at = created_at, # is UTC; expected string format: "Mon Nov 29 21:18:15 +0000 2010" + # should we have thses??? + statuses_count = user_json["statuses_count"], + followers_count = user_json["followers_count"], + friends_count = user_json["friends_count"], + verified = user_json["verified"], + user_state = TwitterUserState.FOUND.value if not user_json["protected"] else TwitterUserState.PROTECTED.value, + user_json = json.dumps(user_json)) #already encoded + self.db_session.add(user_snapshot_record) + + not_found_users.discard(screen_name) # discard doesn't throw an error + except: + self.log.error("Error while creating TwitterUserSnapshot object for user {0}".format(screen_name)) + try: + self.db_session.commit() + self.log.info("Saved {0} found twitter users' info.".format(len(users_info))) + except: + self.log.error("Error while saving DB Session for {0} found twitter users' info.".format(len(users_info))) + + return not_found_users + + """ + not_found_users: set of usernames still not found + """ + def old_not_found_users_store_func(self, not_found_users): + # we expect not found old users if an existing user (with TwitterUser and + # TwitterUserSnapshot records) is deleted/suspended... + # we still want to keep snapshots + for user_id in list(not_found_users): + try: + if not self.db_session.query(TwitterUser).filter(TwitterUser.screen_name == user_id).first(): + user_snapshot_record = TwitterUserSnapshot( + twitter_user_id = user_id, + created_at = created_at, # is UTC; expected string format: "Mon Nov 29 21:18:15 +0000 2010" + # should we have thses??? + statuses_count = None, + followers_count = None, + friends_count = None, + verified = None, + user_state = TwitterUserState.NOT_FOUND.value, + user_json = None) + self.db_session.add(user_snapshot_record) + + + except: + self.log.error("Error while creating TwitterUserSnapshot object for user {0}".format(user_id)) + try: + self.db_session.commit() + self.log.info("Saved {0} not_found twitter users' info.".format(len(not_found_users))) + except: + self.log.error("Error while saving DB Session for {0} not_found twitter users' info.".format(len(not_found_users))) + + + # unarchived_users is a set + def archive_users(self, unarchived_users, found_users_store_func, not_found_users_store_func, has_ids=False): + if len(unarchived_users) <= 0: return None - # make all Twitter usernames lowercase - users_set = set([x.lower() for x in list(users_set)]) - existing_users = self.db_session.query(TwitterUser).filter(TwitterUser.screen_name.in_(list(users_set))).all() batch_size = 100 # limit should be 100 - new_users_set = users_set - set(existing_users) # is mutated to be set of users still not found - new_users = list(new_users_set) # is not mutated + not_found_users = unarchived_users # not_found_users references unarchived_users + users = list(unarchived_users) # copy as a list + + all_users_info = [] # query batch_size at a time prev_limit = 0 - for i in range(1,int(len(new_users)/batch_size)+2): + for i in range(1,int(len(users)/batch_size)+2): rows = [] - limit = min(i*batch_size, len(new_users)) + limit = min(i*batch_size, len(users)) if limit > prev_limit: # query twitter API for user info users_info = [] try: - users_info = self.t.api.UsersLookup(screen_name=new_users[prev_limit:limit]) + this_users = users[prev_limit:limit] + if has_ids: + users_info = self.t.api.UsersLookup(user_id=this_users) + else: + users_info = self.t.api.UsersLookup(screen_name=this_users) self.log.info("Queried for {0} Twitter users out of a total of {1} users, got {2} users".format( - limit-prev_limit, len(new_users), len(users_info))) + limit-prev_limit, len(users), len(users_info))) except twitter.error.TwitterError as e: self.log.error("Failed to query for Twitter users using api.UsersLookup: {0}".format(str(e))) prev_limit = limit # for found users, commit to db - for user in users_info: - # also update LumenNoticeToTwitterUser record - user_json = json.loads(json.dumps(user._json).encode("utf-8", "replace")) if type(user) is twitter.models.User else user # to accomodate test fixture data - screen_name = user_json["screen_name"].lower() - try: - # TODO: is this query necessary? - if not self.db_session.query(TwitterUser).filter(TwitterUser.screen_name == screen_name).first(): - created_at = datetime.datetime.strptime(user_json["created_at"], "%a %b %d %H:%M:%S %z %Y") - user_record = TwitterUser( - id = user_json["id"], - screen_name = screen_name, #usernames change! index/search on id when possible - name = user_json["name"].encode("utf-8", "replace"), - created_at = created_at, # is UTC; expected string format: "Mon Nov 29 21:18:15 +0000 2010" - followers_count = user_json["followers_count"], - friends_count = user_json["friends_count"], - lang = user_json["lang"], - statuses_count = user_json["statuses_count"], - verified = user_json["verified"], - default_profile = user_json["default_profile"], - default_profile_image = user_json["default_profile_image"], - user_json = json.dumps(user_json), #already encoded - user_state = TwitterUserState.FOUND.value if not user_json["protected"] else TwitterUserState.PROTECTED.value) - self.db_session.add(user_record) - new_users_set.discard(screen_name) # discard doesn't throw an error - except: - self.log.error("Error while creating TwitterUser object for user {0}".format(screen_name)) - try: - self.db_session.commit() - self.log.info("Saved {0} found twitter users' info.".format(len(users_info))) - except: - self.log.error("Error while saving DB Session") + not_found_users = found_users_store_func(users_info, not_found_users) + all_users_info += users_info # TODO: at the end, for not found users, determine suspended or deleted in a better way than right now. # right now, we can tell when we call self.archive_user_tweets(user) - self.log.info(new_users_set) - for user in list(new_users_set): - try: - if not self.db_session.query(TwitterUser).filter(TwitterUser.screen_name == user).first(): - user_record = TwitterUser( - #id = "SUSPENDED-[rand int]" # make this field a string - screen_name = user.lower(), - user_state = TwitterUserState.NOT_FOUND.value) - self.db_session.add(user_record) - except: - self.log.error("Error while creating TwitterUser object for user {0}".format(user)) - try: - self.db_session.commit() - self.log.info("Saved {0} not_found twitter users' info.".format(len(new_users_set))) - except: - self.log.error("Error while saving DB Session") + not_found_users_store_func(not_found_users) - if archive_tweets: - for user in new_users: # all users - self.archive_user_tweets(user) + if not has_ids: + return all_users_info - # TODO: do we need a method like this that will go through all the users, and archive more tweets? - def archive_all_users_tweets(self): - pass + def archive_user_tweets(self, user_id): + query_newest_tweet_stored_time = self.db_session.query( + func.max(TwitterStatus.created_at)).filter( + TwitterStatus.user_id == user_id).first() - def archive_user_tweets(self, screen_name): - max_id = None - oldest_id_seen = None + # probably a bit redundant but can fix later + newest_tweet_stored_time = query_newest_tweet_stored_time if query_newest_tweet_stored_time is None else query_newest_tweet_stored_time[0] + max_id_queried = None # oldest seen ever from GetUserTimeline + oldest_id_queried = None # oldest seen in each GetUserTimeline batch seen_statuses = set([]) try: while True: prev_seen_statuses_length = len(seen_statuses) - statuses = self.t.api.GetUserTimeline(screen_name=screen_name, count=200, max_id=max_id) - self.log.info("Queried total of {0} tweets for account {1}".format(len(statuses), screen_name)) - for status in statuses: - status_json = json.loads(json.dumps(status._json).encode("utf-8", "replace")) if type(status) is twitter.models.Status else status # to accomodate test fixture data - status_id = status_json["id"] - - # if status hasn't been stored before, store - if not self.db_session.query(TwitterStatus).filter(TwitterStatus.id == status_id).first(): - try: - # TODO: should we store anything about entities? - status_record = TwitterStatus( - id = status_id, - user_id = status_json["user"]["id"], - in_reply_to_user_id = status_json["favorite_count"], - created_at = datetime.datetime.strptime(status_json["created_at"], "%a %b %d %H:%M:%S %z %Y"), #"Sun Apr 16 17:11:30 +0000 2017" - favorite_count = status_json["favorite_count"], - retweet_count = status_json["retweet_count"], - retweeted = status_json["retweeted"], - status_data = json.dumps(status_json)) - self.db_session.add(status_record) - seen_statuses.add(status_id) - except: - self.log.error("Error while creating TwitterStatus object for user {0}, status id {1}".format(status_json["user"]["id"]["screen_name"], status_id)) - oldest_id_seen = min(oldest_id_seen, status_id) if oldest_id_seen else status_id + statuses = self.t.api.GetUserTimeline(user_id=user_id, count=200, max_id=max_id_queried) + + if statuses: + self.log.info("Queried total of {0} tweets for account {1}".format(len(statuses), user_id)) + statuses_jsons = [json.loads(json.dumps(status._json).encode("utf-8", "replace")) if type(status) is twitter.models.Status else status for status in statuses] # to accomodate test fixture data] + sorted_statuses_jsons = sorted(statuses_jsons, key=lambda s: datetime.datetime.strptime(s["created_at"], "%a %b %d %H:%M:%S %z %Y")) + for i, status_json in enumerate(sorted_statuses_jsons): + self.log.info("{0}: {1}".format(i, status_json["created_at"])) + status_id = status_json["id"] + created_at = datetime.datetime.strptime(status_json["created_at"], "%a %b %d %H:%M:%S %z %Y") + # if status hasn't been stored before, store + if not newest_tweet_stored_time or created_at > newest_tweet_stored_time: + self.log.info("^saved") + try: + status_record = TwitterStatus( + id = status_id, + user_id = status_json["user"]["id"], + created_at = created_at, #"Sun Apr 16 17:11:30 +0000 2017" + status_data = json.dumps(status_json)) + self.db_session.add(status_record) + seen_statuses.add(status_id) + except: + self.log.error("Error while creating TwitterStatus object for user {0}, status id {1}".format(status_json["user"]["id"]["screen_name"], status_id)) + newest_tweet_stored_time = max(created_at, newest_tweet_stored_time) if newest_tweet_stored_time else created_at + oldest_id_queried = min(oldest_id_queried, status_id) if oldest_id_queried else status_id + else: + self.log.error("Unexpected error while calling api.GetUserTimeline on user_id {0}: nothing returned".format(user_id)) + try: self.db_session.commit() - self.log.info("Saved {0} statuses for user {1}.".format(len(seen_statuses) - prev_seen_statuses_length, screen_name)) + self.log.info("Saved {0} statuses for user {1}.".format(len(seen_statuses) - prev_seen_statuses_length, user_id)) except: - self.log.error("Error while saving DB Session") + self.log.error("Error while saving DB Session for {0} statuses for user {1}.".format(len(seen_statuses) - prev_seen_statuses_length, user_id)) if len(statuses) == 0 or prev_seen_statuses_length == len(seen_statuses): break - if max_id is None or oldest_id_seen < max_id: - max_id = oldest_id_seen + if max_id_queried is None or oldest_id_queried < max_id_queried: + max_id_queried = oldest_id_queried else: break except twitter.error.TwitterError as e: @@ -158,6 +329,7 @@ def archive_user_tweets(self, screen_name): self.log.error("Unexpected exception while calling api.GetUserTimeline on user {0}: {1}".format(screen_name, e)) if state: + # TODO: this is updating TwitterUser object. should we instead update the snapshots? queried_user = self.db_session.query(TwitterUser).filter(TwitterUser.screen_name == screen_name).first() # record should exist if queried_user.user_state is not TwitterUserState.PROTECTED.value: # if user is protected, this update will not have been helpful diff --git a/app/models.py b/app/models.py index 33b7361..172d28c 100644 --- a/app/models.py +++ b/app/models.py @@ -174,7 +174,6 @@ class ExperimentAction(Base): metadata_json = Column(MEDIUMTEXT) -# TODO: index cols! class LumenNotice(Base): __tablename__ = 'lumen_notices' id = Column(BigInteger, primary_key = True) @@ -182,47 +181,44 @@ class LumenNotice(Base): sender = Column(String(256)) principal = Column(String(256)) recipient = Column(String(256)) - #num_infringing_urls = Column(Integer) notice_data = Column(MEDIUMTEXT) - CS_parsed_usernames = Column(Boolean, default=False) + CS_parsed_usernames = Column(Boolean, default=False) -# TODO: don't do foreign keys?? class LumenNoticeToTwitterUser(Base): __tablename__ = 'lumen_notice_to_twitter_user' id = Column(Integer, primary_key = True) - notice_id = Column(Integer) + notice_id = Column(BigInteger, index=True) twitter_username = Column(String(256), index = True) - twitter_user_id = Column(String(256), index = True) # how long? - CS_account_queried = Column(Boolean, default=False) + twitter_user_id = Column(String(64), index = True) + CS_account_queried = Column(Boolean, default=False) class TwitterUser(Base): __tablename__ = 'twitter_users' - id = Column(BigInteger, primary_key = True) # TODO: make this a string + id = Column(String(64), primary_key = True) # should be lowercase screen_name = Column(String(256), index = True) created_at = Column(DateTime) - lang = Column(String(64)) + lang = Column(String(32)) + user_state = Column(Integer) # utils/common.py + CS_most_tweets_queried = Column(Boolean, default=False) class TwitterUserSnapshot(Base): __tablename__ = 'twitter_user_snapshots' - id = Column(BigInteger, primary_key = True) # TODO: make this a string - created_at = # - verified = Column(Boolean) + id = Column(Integer, primary_key = True) + twitter_user_id = Column(String(64), index = True) + created_at = Column(DateTime, default=datetime.datetime.utcnow) user_state = Column(Integer) # utils/common.py user_json = Column(MEDIUMTEXT) + # should we have thses??? statuses_count = Column(Integer) followers_count = Column(Integer) friends_count = Column(Integer) + verified = Column(Boolean) -# TODO: foreign keys???? class TwitterStatus(Base): __tablename__ = 'twitter_statuses' id = Column(BigInteger, primary_key = True) - user_id = Column(BigInteger, index = True) # string! - #in_reply_to_user_id = Column(BigInteger) #string! - is_reply = Column(Boolean) # + user_id = Column(String(64), index = True) + #is_reply = Column(Boolean) # i'm going delete? created_at = Column(DateTime) - status_data = Column(MEDIUMTEXT) - -#TODO: multiple keys??? -#TODO: learn of lumen's API \ No newline at end of file + status_data = Column(MEDIUMTEXT) \ No newline at end of file diff --git a/get_latest_science_posts.py b/get_latest_science_posts.py index efc1c3a..26ffb4d 100644 --- a/get_latest_science_posts.py +++ b/get_latest_science_posts.py @@ -1,15 +1,15 @@ -import reddit.connection +import app.connections.reddit_connect import simplejson as json import copy -import reddit.praw_utils as praw_utils -import reddit.queries +import app.connections.praw_utils as praw_utils +import app.connections..queries """ DEPRECATED - use queue_jobs.py instead """ def get_posts(): - conn = reddit.connection.Connect() + conn = app.connections.reddit_connect r = conn.connect(controller="GetTopScience") print(json.dumps(reddit.queries.get_new_as_dict(r, "science"))) diff --git a/tests/fixture_data/twitter_id_list.json b/tests/fixture_data/twitter_id_list.json new file mode 100644 index 0000000..2b40ada --- /dev/null +++ b/tests/fixture_data/twitter_id_list.json @@ -0,0 +1 @@ +["1120354020", "1216017344", "1230702126", "135779262", "1552707140", "1612942082", "1705823862", "1894231459", "1934219598", "195013676", "2203514268", "242456021", "2467503511", "2474387118", "251831601", "2592275256", "2606162693", "2709738468", "2740634292", "2760688606", "2768381226", "2834289858", "286659133", "28898050", "2976798423", "2989354778", "3017682893", "318548049", "341905255", "350248899", "3620970629", "398507134", "42188329", "4551905205", "4654870666", "4668149671", "4691693046", "566822774", "578065467", "585539111", "597611738", "61503886", "715546339619291136", "732486930152067073", "749576906966577152", "779739105026539520", "779789650290479106", "787292754766274560", "793908765607202818", "808020652556951552", "81387101", "829607762829139968", "830877552541650947", "832623312257769472", "851347406428004353", "851372779001831424", "852185986146729985", "852189562273181700", "852215553469153280", "852523540909875202", "852574026966892545", "852793656025141249", "852932930460667904", "852939990103465984", "852940733933916163", "852942402285338624", "852943036803936256", "852944096696180738", "852944264975843329", "852948430695649283", "852949031525511169", "852950595157860353", "852951058934530050", "852955536849022976", "852960599956967425", "852961627884449792", "91767550", "921160578", "949463634", "960587984"] \ No newline at end of file diff --git a/tests/test_controllers.py b/tests/test_controllers.py index 7e9bc14..88ef230 100644 --- a/tests/test_controllers.py +++ b/tests/test_controllers.py @@ -17,7 +17,7 @@ from twitter import TwitterError ### LOAD THE CLASSES TO TEST -from app.models import Base, FrontPage, SubredditPage, Subreddit, Post, ModAction, Comment, User, LumenNotice, LumenNoticeToTwitterUser, TwitterUser, TwitterStatus +from app.models import Base, FrontPage, SubredditPage, Subreddit, Post, ModAction, Comment, User, LumenNotice, LumenNoticeToTwitterUser, TwitterUser, TwitterStatus, TwitterUserSnapshot import app.cs_logger ## SET UP THE DATABASE ENGINE @@ -29,6 +29,7 @@ db_session = DbEngine(os.path.join(TEST_DIR, "../", "config") + "/{env}.json".format(env=ENV)).new_session() def clear_all_tables(): + db_session.rollback() db_session.query(FrontPage).delete() db_session.query(SubredditPage).delete() db_session.query(Subreddit).delete() @@ -39,6 +40,7 @@ def clear_all_tables(): db_session.query(LumenNotice).delete() db_session.query(LumenNoticeToTwitterUser).delete() db_session.query(TwitterUser).delete() + db_session.query(TwitterUserSnapshot).delete() db_session.query(TwitterStatus).delete() db_session.commit() @@ -49,6 +51,7 @@ def teardown_function(function): clear_all_tables() + @patch('praw.Reddit', autospec=True) @patch('praw.objects.Subreddit', autospec=True) def test_archive_reddit_front_page(mock_subreddit, mock_reddit): @@ -710,33 +713,30 @@ def test_archive_mod_action_page(mock_reddit): last_action_id = mac.archive_mod_action_page(after_id = mod_action_fixtures[0][-1]['id']) assert db_session.query(ModAction).count() == len(mod_action_fixtures[0]) + len(mod_action_fixtures[1]) assert last_action_id == mod_action_fixtures[1][-1]['id'] +""" +""" - -@patch('lumen_connect.connection.LumenConnect', autospec=True) -@patch('twitter_connect.connection.TwitterConnect', autospec=True) -def test_archive_lumen_notices(mock_TwitterConnect, mock_LumenConnect): +@patch('app.connections.lumen_connect.LumenConnect', autospec=True) +def test_archive_lumen_notices(mock_LumenConnect): lc = mock_LumenConnect.return_value - tc = mock_TwitterConnect.return_value with open("{script_dir}/fixture_data/lumen_notices_1.json".format(script_dir=TEST_DIR)) as f: data = f.read() - lc.get_search.return_value = json.loads(data) + lc.get_notices_to_twitter.return_value = json.loads(data) - patch('lumen_connect.') - patch('twitter_connect.') + patch('app.connections.lumen_connect.') assert len(db_session.query(LumenNotice).all()) == 0 log = app.cs_logger.get_logger(ENV, BASE_DIR) - lumen = app.controllers.lumen_controller.LumenController(db_session, lc, tc, log) + lumen = app.controllers.lumen_controller.LumenController(db_session, lc, log) topics = ["Copyright"] date = datetime.datetime.utcnow() # dummy date - lumen.archive_lumen_notices(topics, date, False) + lumen.archive_lumen_notices(topics, date) all_notices = db_session.query(LumenNotice).all() assert len(all_notices) == 50 - def mocked_requests_get(url): class MockResponse: def __init__(self, url): @@ -761,33 +761,29 @@ def test_helper_parse_url_for_username(mock_get): assert app.controllers.lumen_controller.helper_parse_url_for_username(url) == result @patch('requests.get', autospec=True) -@patch('lumen_connect.connection.LumenConnect', autospec=True) -@patch('twitter_connect.connection.TwitterConnect', autospec=True) -def test_parse_notices_archive_users(mock_TwitterConnect, mock_LumenConnect, mock_get): +@patch('app.connections.lumen_connect.LumenConnect', autospec=True) +def test_parse_notices_archive_users(mock_LumenConnect, mock_get): lc = mock_LumenConnect.return_value - tc = mock_TwitterConnect.return_value - patch('lumen_connect.') - patch('twitter_connect.') + patch('app.connections.lumen_connect.') assert len(db_session.query(LumenNoticeToTwitterUser).all()) == 0 log = app.cs_logger.get_logger(ENV, BASE_DIR) - lumen = app.controllers.lumen_controller.LumenController(db_session, lc, tc, log) + lumen = app.controllers.lumen_controller.LumenController(db_session, lc, log) with open("{script_dir}/fixture_data/lumen_notices_0.json".format(script_dir=TEST_DIR)) as f: data = json.loads(f.read()) notices = data["notices"][:30] # to make test faster, but get >100 users - lumen.parse_notices_archive_users(notices, False) + lumen.parse_notices_archive_users(notices) all_notices = db_session.query(LumenNoticeToTwitterUser).all() assert len(all_notices) == 140 - # TODO: currently this test does not test user list with len>90, so as to not call api.UsersLookup more than once, which is difficult to mock @patch('twitter.Api', autospec=True) -@patch('twitter_connect.connection.TwitterConnect', autospec=True) -def test_archive_users(mock_TwitterConnect, mock_twitter): +@patch('app.connections.twitter_connect.TwitterConnect', autospec=True) +def test_archive_new_users(mock_TwitterConnect, mock_twitter): tc = mock_TwitterConnect.return_value api = mock_twitter.return_value with open("{script_dir}/fixture_data/twitter_users.json".format(script_dir=TEST_DIR)) as f: @@ -795,7 +791,7 @@ def test_archive_users(mock_TwitterConnect, mock_twitter): api.UsersLookup.return_value = json.loads(data) tc.api = api patch('twitter.') - patch('twitter_connect.') + patch('app.connections.twitter_connect.') assert len(db_session.query(TwitterUser).all()) == 0 @@ -806,9 +802,10 @@ def test_archive_users(mock_TwitterConnect, mock_twitter): with open("{script_dir}/fixture_data/twitter_username_list.json".format(script_dir=TEST_DIR)) as f: users = json.loads(f.read()) - twitter.archive_users(set(users), False) - all_notices = db_session.query(TwitterUser).all() - assert len(all_notices) == len(users) + + ####### essentially query_and_archive_new_users + all_users_info = twitter.archive_users(set(users), twitter.new_found_users_store_func, twitter.new_not_found_users_store_func, has_ids=False) + assert len(all_users_info) == 80 found_notices = db_session.query(TwitterUser).filter(TwitterUser.user_state == TwitterUserState.FOUND.value).all() assert len(found_notices) == 80 @@ -816,31 +813,65 @@ def test_archive_users(mock_TwitterConnect, mock_twitter): not_found_notices = db_session.query(TwitterUser).filter(TwitterUser.user_state == TwitterUserState.NOT_FOUND.value).all() assert len(not_found_notices) == 6 + all_notices = db_session.query(TwitterUser).all() + assert len(all_notices) == len(users) + + +# TODO: currently this test does not test user list with len>90, so as to not call api.UsersLookup more than once, which is difficult to mock +@patch('twitter.Api', autospec=True) +@patch('app.connections.twitter_connect.TwitterConnect', autospec=True) +def test_archive_old_users(mock_TwitterConnect, mock_twitter): + tc = mock_TwitterConnect.return_value + api = mock_twitter.return_value + with open("{script_dir}/fixture_data/twitter_users.json".format(script_dir=TEST_DIR)) as f: + data = f.read() + api.UsersLookup.return_value = json.loads(data) + tc.api = api + patch('twitter.') + patch('app.connections.twitter_connect.') + + + assert len(db_session.query(TwitterUser).all()) == 0 + + log = app.cs_logger.get_logger(ENV, BASE_DIR) + twitter = app.controllers.twitter_controller.TwitterController(db_session, tc, log) + + with open("{script_dir}/fixture_data/twitter_id_list.json".format(script_dir=TEST_DIR)) as f: + users = json.loads(f.read()) + + ####### essentially query_and_archive_user_snapshots_and_tweets + all_users_info = twitter.archive_users(set(users), twitter.old_found_users_store_func, twitter.old_not_found_users_store_func, has_ids=True) + + found_notices = db_session.query(TwitterUserSnapshot).all() + assert len(found_notices) == 80 + # TODO: currently this test does not test users with lots of statuses/tweets, so as to not call api.GetUserTimeline more than once, which is difficult to mock @patch('twitter.Api', autospec=True) -@patch('twitter_connect.connection.TwitterConnect', autospec=True) +@patch('app.connections.twitter_connect.TwitterConnect', autospec=True) def test_archive_user_tweets(mock_TwitterConnect, mock_twitter): #, mock_twitter_error): tc = mock_TwitterConnect.return_value api = mock_twitter.return_value - def mocked_GetUserTimeline(screen_name, count=None, max_id=None): - if screen_name == "existing_user": - with open("{script_dir}/fixture_data/twitter_tweets.json".format(script_dir=TEST_DIR)) as f: - data = json.loads(f.read()) - return data - elif screen_name == "suspended_user" or screen_name=="protected_user": + def mocked_GetUserTimeline(user_id, count=None, max_id=None): + with open("{script_dir}/fixture_data/twitter_tweets.json".format(script_dir=TEST_DIR)) as f: + data = json.loads(f.read()) + assert len(data) == 200 + if user_id == "2" or user_id == "3": # suspended_user or protected_user # not mocking TwitterErrors raise TwitterError("Not authorized.") - elif screen_name == "deleted_user": + elif user_id == "1": # deleted_user raise TwitterError([{'message': 'Sorry, that page does not exist.', 'code': 34}]) + else: # # existing_user ? + return data + m = Mock() m.side_effect = mocked_GetUserTimeline api.GetUserTimeline = m tc.api = api patch('twitter.') - patch('twitter_connect.') + patch('app.connections.twitter_connect.') assert len(db_session.query(TwitterStatus).all()) == 0 @@ -848,17 +879,17 @@ def mocked_GetUserTimeline(screen_name, count=None, max_id=None): log = app.cs_logger.get_logger(ENV, BASE_DIR) #### - #import twitter_connect.connection - #tc = twitter_connect.connection.TwitterConnect(log) + #import app.connections.twitter_connect + #tc = app.connections.twitter_connect.TwitterConnect(log) t_conroller = app.controllers.twitter_controller.TwitterController(db_session, tc, log) user_results = [ - ({"screen_name": "existing_user", "id": 52332354, "user_state": TwitterUserState.FOUND.value}, {"status_count": 200, "user_state": TwitterUserState.FOUND.value}), - ({"screen_name": "deleted_user", "id": 1, "user_state": TwitterUserState.NOT_FOUND.value}, {"status_count": 0, "user_state": TwitterUserState.NOT_FOUND.value}), - ({"screen_name": "suspended_user", "id": 2, "user_state": TwitterUserState.NOT_FOUND.value}, {"status_count": 0, "user_state": TwitterUserState.SUSPENDED.value}), - ({"screen_name": "protected_user", "id": 3, "user_state": TwitterUserState.PROTECTED.value}, {"status_count": 0, "user_state": TwitterUserState.PROTECTED.value}) + ({"screen_name": "existing_user", "id": "52332354", "user_state": TwitterUserState.FOUND.value}, {"status_count": 200, "user_state": TwitterUserState.FOUND.value}), + ({"screen_name": "deleted_user", "id": "1", "user_state": TwitterUserState.NOT_FOUND.value}, {"status_count": 0, "user_state": TwitterUserState.NOT_FOUND.value}), + ({"screen_name": "suspended_user", "id": "2", "user_state": TwitterUserState.NOT_FOUND.value}, {"status_count": 0, "user_state": TwitterUserState.SUSPENDED.value}), + ({"screen_name": "protected_user", "id": "3", "user_state": TwitterUserState.PROTECTED.value}, {"status_count": 0, "user_state": TwitterUserState.PROTECTED.value}) ] for i, (user, result) in enumerate(user_results): @@ -870,10 +901,18 @@ def mocked_GetUserTimeline(screen_name, count=None, max_id=None): db_session.add(user_record) db_session.commit() - t_conroller.archive_user_tweets(user["screen_name"]) + t_conroller.archive_user_tweets(user["id"]) user_record = db_session.query(TwitterUser).filter(TwitterUser.screen_name == user["screen_name"]).first() all_tweets = db_session.query(TwitterStatus).filter(TwitterStatus.user_id == user_record.id).all() assert len(all_tweets) == result["status_count"] assert user_record.user_state == result["user_state"] + break +""" +Should also test: + lumen.query_and_parse_notices_archive_users() + t.query_and_archive_new_users() + t.query_and_archive_user_snapshots_and_tweets(date) + t.query_and_archive_tweets(username) +""" \ No newline at end of file diff --git a/tests/test_lumen.py b/tests/test_lumen.py index 51c9879..434c42f 100644 --- a/tests/test_lumen.py +++ b/tests/test_lumen.py @@ -1,4 +1,4 @@ -import lumen_connect.connection +import app.connections.lumen_connect import os import simplejson as json from sqlalchemy import create_engine @@ -18,23 +18,19 @@ def setup_function(function): def teardown_function(function): pass -@patch('lumen_connect.connection.LumenConnect', autospec=True) +@patch('app.connections.lumen_connect.LumenConnect', autospec=True) def test_archive_lumen_notices(mock_LumenConnect): lc = mock_LumenConnect.return_value with open("{script_dir}/fixture_data/lumen_notices_0.json".format(script_dir=TEST_DIR)) as f: data = f.read() - lc.get_search.return_value = json.loads(data) - patch('lumen_connect.') + lc.get_notices_to_twitter.return_value = json.loads(data) + patch('app.connections.lumen_connect.') ## NOW START THE TEST - payload = { - "topics": ["Copyright"], - "per_page": 50, - "page": 1, - "sort_by": "date_received desc", - "recipient_name": "Twitter" - } - data_json = lc.get_search(payload) + from_date = datetime.datetime.utcnow() - datetime.timedelta(days=2) + to_date = datetime.datetime.utcnow() + data_json = lc.get_notices_to_twitter(["Copyright"], 50, 1, from_date, to_date) notices_json = data_json["notices"] + assert len(notices_json) == 50 + assert type(notices_json[0]) == dict assert type(notices_json) == list - assert len(notices_json) == 50 \ No newline at end of file diff --git a/tests/test_reddit.py b/tests/test_reddit.py index 86fff9d..402abcc 100644 --- a/tests/test_reddit.py +++ b/tests/test_reddit.py @@ -1,5 +1,5 @@ -import reddit.connection -import reddit.queries +import app.connections.reddit_connect +import app.connections.queries import os import praw from mock import Mock, patch @@ -62,19 +62,19 @@ def test_get_new_as_dict(mock_subreddit, mock_reddit): patch('praw.') ## NOW START THE TEST - d = reddit.queries.get_new_as_dict(r, "subreddit") + d = app.connections.queries.get_new_as_dict(r, "subreddit") assert len(d) == 100 ### TEST THE SYSTEM THAT STORES ACCESS KEYS ### IN THE DATABASE #@patch('praw.Reddit', autospec=True) -@patch('reddit.connection.praw.Reddit', autoSpec=True) +@patch('app.connections.reddit_connect.praw.Reddit', autoSpec=True) def test_connect_to_reddit_with_auth(mock_reddit): assert db_session.query(PrawKey).count() == 0 - reddit.connection.ENV= "test" - conn = reddit.connection.Connect() + app.connections.reddit_connect.ENV= "test" + conn = app.connections.reddit_connect.RedditConnect() conn.connect() db_session.commit() ## update the objects diff --git a/tests/test_twitter.py b/tests/test_twitter.py index 3708f79..c3e4938 100644 --- a/tests/test_twitter.py +++ b/tests/test_twitter.py @@ -1,4 +1,4 @@ -import twitter_connect.connection +import app.connections.twitter_connect import os import simplejson as json from sqlalchemy import create_engine diff --git a/utils/common.py b/utils/common.py index 13ec607..30fa823 100644 --- a/utils/common.py +++ b/utils/common.py @@ -3,6 +3,8 @@ from collections import namedtuple import datetime +SUSPENDED_TWITTER_USER_STR = "" + class PageType(Enum): TOP = 1 CONTR = 2 # controversial @@ -22,6 +24,12 @@ class TwitterUserState(Enum): SUSPENDED = 3 PROTECTED = 4 +class ParseUsernameNoUserFound(Exception): + pass + +class ParseUsernameSuspendedUserFound(Exception): + pass + class DbEngine: def __init__(self, config_path): self.config_path = config_path From 2d251e3b4de5745ede31c6f8802f86ddd08d00ba Mon Sep 17 00:00:00 2001 From: mmou Date: Tue, 2 May 2017 16:57:38 -0400 Subject: [PATCH 009/221] make query_and_archive_tweets work. nothing else confirmed to work. --- ...b4e932ff39_create_lumen_twitter_tables.py} | 56 +++++-- app/connections/lumen_connect.py | 3 +- app/connections/twitter_connect.py | 2 +- app/controller.py | 23 ++- app/controllers/lumen_controller.py | 40 +++-- utils/common.py | 155 +++++++++++------- 6 files changed, 185 insertions(+), 94 deletions(-) rename alembic/versions/{04b7c595daf2_create_lumen_twitter_tables.py => dcb4e932ff39_create_lumen_twitter_tables.py} (77%) diff --git a/alembic/versions/04b7c595daf2_create_lumen_twitter_tables.py b/alembic/versions/dcb4e932ff39_create_lumen_twitter_tables.py similarity index 77% rename from alembic/versions/04b7c595daf2_create_lumen_twitter_tables.py rename to alembic/versions/dcb4e932ff39_create_lumen_twitter_tables.py index bed8478..7eaeada 100644 --- a/alembic/versions/04b7c595daf2_create_lumen_twitter_tables.py +++ b/alembic/versions/dcb4e932ff39_create_lumen_twitter_tables.py @@ -1,13 +1,13 @@ """create lumen twitter tables -Revision ID: 04b7c595daf2 +Revision ID: dcb4e932ff39 Revises: 16dbded8a5cf -Create Date: 2017-04-27 18:55:11.873606 +Create Date: 2017-05-02 16:45:45.912337 """ # revision identifiers, used by Alembic. -revision = '04b7c595daf2' +revision = 'dcb4e932ff39' down_revision = '16dbded8a5cf' branch_labels = None depends_on = None @@ -31,10 +31,11 @@ def upgrade_development(): # ### commands auto generated by Alembic - please adjust! ### op.create_table('lumen_notice_to_twitter_user', sa.Column('id', sa.Integer(), nullable=False), + sa.Column('created_at', sa.DateTime(), nullable=True), sa.Column('notice_id', sa.BigInteger(), nullable=True), sa.Column('twitter_username', sa.String(length=256), nullable=True), sa.Column('twitter_user_id', sa.String(length=64), nullable=True), - sa.Column('CS_account_queried', sa.Boolean(), nullable=True), + sa.Column('CS_account_archived', sa.Integer(), nullable=True), sa.PrimaryKeyConstraint('id') ) op.create_index(op.f('ix_lumen_notice_to_twitter_user_notice_id'), 'lumen_notice_to_twitter_user', ['notice_id'], unique=False) @@ -42,18 +43,20 @@ def upgrade_development(): op.create_index(op.f('ix_lumen_notice_to_twitter_user_twitter_username'), 'lumen_notice_to_twitter_user', ['twitter_username'], unique=False) op.create_table('lumen_notices', sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('created_at', sa.DateTime(), nullable=True), sa.Column('date_received', sa.DateTime(), nullable=True), sa.Column('sender', sa.String(length=256), nullable=True), sa.Column('principal', sa.String(length=256), nullable=True), sa.Column('recipient', sa.String(length=256), nullable=True), sa.Column('notice_data', mysql.MEDIUMTEXT(), nullable=True), - sa.Column('CS_parsed_usernames', sa.Boolean(), nullable=True), + sa.Column('CS_parsed_usernames', sa.Integer(), nullable=True), sa.PrimaryKeyConstraint('id') ) op.create_table('twitter_statuses', sa.Column('id', sa.BigInteger(), nullable=False), sa.Column('user_id', sa.String(length=64), nullable=True), sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('status_created_at', sa.DateTime(), nullable=True), sa.Column('status_data', mysql.MEDIUMTEXT(), nullable=True), sa.PrimaryKeyConstraint('id') ) @@ -64,10 +67,6 @@ def upgrade_development(): sa.Column('created_at', sa.DateTime(), nullable=True), sa.Column('user_state', sa.Integer(), nullable=True), sa.Column('user_json', mysql.MEDIUMTEXT(), nullable=True), - sa.Column('statuses_count', sa.Integer(), nullable=True), - sa.Column('followers_count', sa.Integer(), nullable=True), - sa.Column('friends_count', sa.Integer(), nullable=True), - sa.Column('verified', sa.Boolean(), nullable=True), sa.PrimaryKeyConstraint('id') ) op.create_index(op.f('ix_twitter_user_snapshots_twitter_user_id'), 'twitter_user_snapshots', ['twitter_user_id'], unique=False) @@ -75,9 +74,10 @@ def upgrade_development(): sa.Column('id', sa.String(length=64), nullable=False), sa.Column('screen_name', sa.String(length=256), nullable=True), sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('account_created_at', sa.DateTime(), nullable=True), sa.Column('lang', sa.String(length=32), nullable=True), sa.Column('user_state', sa.Integer(), nullable=True), - sa.Column('CS_most_tweets_queried', sa.Boolean(), nullable=True), + sa.Column('CS_oldest_tweets_archived', sa.Integer(), nullable=True), sa.PrimaryKeyConstraint('id') ) op.create_index(op.f('ix_twitter_users_screen_name'), 'twitter_users', ['screen_name'], unique=False) @@ -104,10 +104,11 @@ def upgrade_test(): # ### commands auto generated by Alembic - please adjust! ### op.create_table('lumen_notice_to_twitter_user', sa.Column('id', sa.Integer(), nullable=False), + sa.Column('created_at', sa.DateTime(), nullable=True), sa.Column('notice_id', sa.BigInteger(), nullable=True), sa.Column('twitter_username', sa.String(length=256), nullable=True), sa.Column('twitter_user_id', sa.String(length=64), nullable=True), - sa.Column('CS_account_queried', sa.Boolean(), nullable=True), + sa.Column('CS_account_archived', sa.Integer(), nullable=True), sa.PrimaryKeyConstraint('id') ) op.create_index(op.f('ix_lumen_notice_to_twitter_user_notice_id'), 'lumen_notice_to_twitter_user', ['notice_id'], unique=False) @@ -115,18 +116,20 @@ def upgrade_test(): op.create_index(op.f('ix_lumen_notice_to_twitter_user_twitter_username'), 'lumen_notice_to_twitter_user', ['twitter_username'], unique=False) op.create_table('lumen_notices', sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('created_at', sa.DateTime(), nullable=True), sa.Column('date_received', sa.DateTime(), nullable=True), sa.Column('sender', sa.String(length=256), nullable=True), sa.Column('principal', sa.String(length=256), nullable=True), sa.Column('recipient', sa.String(length=256), nullable=True), sa.Column('notice_data', mysql.MEDIUMTEXT(), nullable=True), - sa.Column('CS_parsed_usernames', sa.Boolean(), nullable=True), + sa.Column('CS_parsed_usernames', sa.Integer(), nullable=True), sa.PrimaryKeyConstraint('id') ) op.create_table('twitter_statuses', sa.Column('id', sa.BigInteger(), nullable=False), sa.Column('user_id', sa.String(length=64), nullable=True), sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('status_created_at', sa.DateTime(), nullable=True), sa.Column('status_data', mysql.MEDIUMTEXT(), nullable=True), sa.PrimaryKeyConstraint('id') ) @@ -135,17 +138,26 @@ def upgrade_test(): sa.Column('id', sa.String(length=64), nullable=False), sa.Column('screen_name', sa.String(length=256), nullable=True), sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('account_created_at', sa.DateTime(), nullable=True), sa.Column('lang', sa.String(length=32), nullable=True), sa.Column('user_state', sa.Integer(), nullable=True), - sa.Column('CS_most_tweets_queried', sa.Boolean(), nullable=True), + sa.Column('CS_oldest_tweets_archived', sa.Integer(), nullable=True), sa.PrimaryKeyConstraint('id') ) op.create_index(op.f('ix_twitter_users_screen_name'), 'twitter_users', ['screen_name'], unique=False) + op.drop_column('twitter_user_snapshots', 'verified') + op.drop_column('twitter_user_snapshots', 'friends_count') + op.drop_column('twitter_user_snapshots', 'statuses_count') + op.drop_column('twitter_user_snapshots', 'followers_count') # ### end Alembic commands ### def downgrade_test(): # ### commands auto generated by Alembic - please adjust! ### + op.add_column('twitter_user_snapshots', sa.Column('followers_count', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True)) + op.add_column('twitter_user_snapshots', sa.Column('statuses_count', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True)) + op.add_column('twitter_user_snapshots', sa.Column('friends_count', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True)) + op.add_column('twitter_user_snapshots', sa.Column('verified', mysql.TINYINT(display_width=1), autoincrement=False, nullable=True)) op.drop_index(op.f('ix_twitter_users_screen_name'), table_name='twitter_users') op.drop_table('twitter_users') op.drop_index(op.f('ix_twitter_statuses_user_id'), table_name='twitter_statuses') @@ -162,10 +174,11 @@ def upgrade_production(): # ### commands auto generated by Alembic - please adjust! ### op.create_table('lumen_notice_to_twitter_user', sa.Column('id', sa.Integer(), nullable=False), + sa.Column('created_at', sa.DateTime(), nullable=True), sa.Column('notice_id', sa.BigInteger(), nullable=True), sa.Column('twitter_username', sa.String(length=256), nullable=True), sa.Column('twitter_user_id', sa.String(length=64), nullable=True), - sa.Column('CS_account_queried', sa.Boolean(), nullable=True), + sa.Column('CS_account_archived', sa.Integer(), nullable=True), sa.PrimaryKeyConstraint('id') ) op.create_index(op.f('ix_lumen_notice_to_twitter_user_notice_id'), 'lumen_notice_to_twitter_user', ['notice_id'], unique=False) @@ -173,18 +186,20 @@ def upgrade_production(): op.create_index(op.f('ix_lumen_notice_to_twitter_user_twitter_username'), 'lumen_notice_to_twitter_user', ['twitter_username'], unique=False) op.create_table('lumen_notices', sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('created_at', sa.DateTime(), nullable=True), sa.Column('date_received', sa.DateTime(), nullable=True), sa.Column('sender', sa.String(length=256), nullable=True), sa.Column('principal', sa.String(length=256), nullable=True), sa.Column('recipient', sa.String(length=256), nullable=True), sa.Column('notice_data', mysql.MEDIUMTEXT(), nullable=True), - sa.Column('CS_parsed_usernames', sa.Boolean(), nullable=True), + sa.Column('CS_parsed_usernames', sa.Integer(), nullable=True), sa.PrimaryKeyConstraint('id') ) op.create_table('twitter_statuses', sa.Column('id', sa.BigInteger(), nullable=False), sa.Column('user_id', sa.String(length=64), nullable=True), sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('status_created_at', sa.DateTime(), nullable=True), sa.Column('status_data', mysql.MEDIUMTEXT(), nullable=True), sa.PrimaryKeyConstraint('id') ) @@ -193,17 +208,26 @@ def upgrade_production(): sa.Column('id', sa.String(length=64), nullable=False), sa.Column('screen_name', sa.String(length=256), nullable=True), sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('account_created_at', sa.DateTime(), nullable=True), sa.Column('lang', sa.String(length=32), nullable=True), sa.Column('user_state', sa.Integer(), nullable=True), - sa.Column('CS_most_tweets_queried', sa.Boolean(), nullable=True), + sa.Column('CS_oldest_tweets_archived', sa.Integer(), nullable=True), sa.PrimaryKeyConstraint('id') ) op.create_index(op.f('ix_twitter_users_screen_name'), 'twitter_users', ['screen_name'], unique=False) + op.drop_column('twitter_user_snapshots', 'verified') + op.drop_column('twitter_user_snapshots', 'friends_count') + op.drop_column('twitter_user_snapshots', 'statuses_count') + op.drop_column('twitter_user_snapshots', 'followers_count') # ### end Alembic commands ### def downgrade_production(): # ### commands auto generated by Alembic - please adjust! ### + op.add_column('twitter_user_snapshots', sa.Column('followers_count', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True)) + op.add_column('twitter_user_snapshots', sa.Column('statuses_count', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True)) + op.add_column('twitter_user_snapshots', sa.Column('friends_count', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True)) + op.add_column('twitter_user_snapshots', sa.Column('verified', mysql.TINYINT(display_width=1), autoincrement=False, nullable=True)) op.drop_index(op.f('ix_twitter_users_screen_name'), table_name='twitter_users') op.drop_table('twitter_users') op.drop_index(op.f('ix_twitter_statuses_user_id'), table_name='twitter_statuses') diff --git a/app/connections/lumen_connect.py b/app/connections/lumen_connect.py index 39cd68f..aab154b 100644 --- a/app/connections/lumen_connect.py +++ b/app/connections/lumen_connect.py @@ -1,6 +1,7 @@ import requests import simplejson as json import os, inspect +import utils.common #import pickle #from app.models import Base #from sqlalchemy import create_engine @@ -12,7 +13,7 @@ class LumenConnect(): def __init__(self, log): - BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), "..") + BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), "../..") lumen_config_path = os.path.join(BASE_DIR, "config") + "/lumen_auth_" + ENV + ".json" with open(lumen_config_path, 'r') as config: diff --git a/app/connections/twitter_connect.py b/app/connections/twitter_connect.py index 52f32d5..b9c69af 100644 --- a/app/connections/twitter_connect.py +++ b/app/connections/twitter_connect.py @@ -7,7 +7,7 @@ class TwitterConnect(): def __init__(self, log): - BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), "..") + BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), "../..") twitter_config_path = os.path.join(BASE_DIR, "config", "twitter_auth_" + ENV + ".json") with open(twitter_config_path, 'r') as config: diff --git a/app/controller.py b/app/controller.py index 88dff85..c8c86c2 100644 --- a/app/controller.py +++ b/app/controller.py @@ -1,4 +1,10 @@ import inspect, os, sys, yaml +### LOAD ENVIRONMENT VARIABLES +BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), "..") +ENV = os.environ['CS_ENV'] + +sys.path.append(BASE_DIR) + import simplejson as json import app.connections.reddit_connect import app.connections.lumen_connect @@ -134,7 +140,7 @@ def fetch_lumen_notices(topics=None, date=None): l = app.controllers.lumen_controller.LumenController(db_session, lumen_conn, log) topics = topics if topics else ["Copyright"] # "Government Requests", #["Defamation","Protest, Parody and Criticism Sites","Law Enforcement Requests","International","Government Requests","DMCA Subpoenas","Court Orders"] - date = date if dates else datetime.datetime.utcnow() - datetime.timedelta(days=2) # now-2days + date = date if date else datetime.datetime.utcnow() - datetime.timedelta(days=2) # now-2days l.archive_lumen_notices(topics, date) """ @@ -155,14 +161,21 @@ def fetch_twitter_users(): """ For all TwitterUserSnapshot.created_at older than x hours, fetch another snapshot """ -def fetch_twitter_snapshot_and_tweets(): +def fetch_twitter_snapshot_and_tweets(cutoff_date=None): t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) - date = date if dates else datetime.datetime.utcnow() - datetime.timedelta(minutes=60) # now-1hour - t.query_and_archive_user_snapshots_and_tweets(date) + date = date if cutoff_date else datetime.datetime.utcnow() - datetime.timedelta(minutes=60) # now-1hour + t.query_and_archive_user_snapshots_and_tweets(date, prioritize_new_users) # add boolean prioritize_new_users """ For all TwitterUsers with CS_most_tweets_queried=False, fetch tweets """ def fetch_twitter_tweets(): t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) - t.query_and_archive_tweets(username) \ No newline at end of file + t.query_and_archive_tweets() + + + +if __name__ == "__main__": + fnc = sys.argv[1] + args = sys.argv[2:] + locals()[fnc](*args) \ No newline at end of file diff --git a/app/controllers/lumen_controller.py b/app/controllers/lumen_controller.py index 35d2676..49744f7 100644 --- a/app/controllers/lumen_controller.py +++ b/app/controllers/lumen_controller.py @@ -3,6 +3,7 @@ from app.models import Base, LumenNotice, LumenNoticeToTwitterUser, TwitterUser from app.controllers.twitter_controller import TwitterController import utils.common +from utils.common import CS_JobState import requests import app.controllers.twitter_controller import sqlalchemy @@ -40,12 +41,13 @@ def archive_lumen_notices(self, topics, date): recipient = (notice["recipient_name"].encode("utf-8", "replace") if notice["recipient_name"] else "") notice_record = LumenNotice( id = notice["id"], + created_at = datetime.datetime.utcnow(), date_received = date_received, sender = sender, principal = principal, recipient = recipient, notice_data = json.dumps(notice).encode("utf-8", "replace"), - CS_parsed_usernames = False) + CS_parsed_usernames = CS_JobState.NOT_PROCESSED) self.db_session.add(notice_record) added_notices.append(notice) except: @@ -58,12 +60,18 @@ def archive_lumen_notices(self, topics, date): """ - For all LumenNotices with CS_parsed_usernames=False, parse for twitter accounts + For all LumenNotices with CS_parsed_usernames=NOT_PROCESSED, parse for twitter accounts """ def query_and_parse_notices_archive_users(self): unparsed_notices = self.db_session.query(LumenNotice).filter(LumenNotice.CS_parsed_usernames == False).all() - parse_notices_archive_users(unparsed_notices) + utils.common.update_CS_JobState(unparsed_notices, "CS_parsed_usernames", CS_JobState.IN_PROGRESS, self.db_session, self.log) + + notice_to_state = self.parse_notices_archive_users(unparsed_notices) + + utils.common.update_all_CS_JobState(notice_to_state, "CS_parsed_usernames", self.db_session, self.log) + + """ for notice in unparsed_notices: notice.CS_parsed_usernames = True # update LumenNotice try: @@ -71,12 +79,13 @@ def query_and_parse_notices_archive_users(self): self.log.info("Updated {0} LumenNotice CS_parsed_usernames fields.".format(len(unparsed_notices))) except: self.log.error("Error while saving DB Session for updating {0} LumenNotice CS_parsed_usernames fields.".format(len(unparsed_notices))) - + """ """ - unparsed_notices = listo of LumenNotice + unparsed_notices = list of LumenNotice """ def parse_notices_archive_users(self, unparsed_notices): + notice_to_state = {notice: CS_JobState.PROCESSED for notice in unparsed_notices} for notice in unparsed_notices: notice_json = json.loads(notice.notice_data) if type(notice) is LumenNotice else notice # to accomodate test fixture data notice_users = set([]) @@ -88,17 +97,21 @@ def parse_notices_archive_users(self, unparsed_notices): try: username = helper_parse_url_for_username(url) if username: + # if no username, then no username found notice_users.add(username) except utils.common.ParseUsernameSuspendedUserFound: suspended_user_count += 1 if len(work["copyrighted_urls"]) > 0: # I've only seen this empty self.log.error("method helper_parse_notices_archive_users: maybe missed something in notice_json['works']['copyrighted_urls']; notice id = {0}".format(notice_json["id"])) + notice_to_state[notice] = CS_JobState.NEEDS_RETRY if work["description"]: # I've only seen this null self.log.error("method helper_parse_notices_archive_users: maybe missed something in notice_json['works']['description']; notice id = {0}".format(notice_json["id"])) + notice_to_state[notice] = CS_JobState.NEEDS_RETRY if notice_json["body"]: # I've only seen this null self.log.error("method helper_parse_notices_archive_users: maybe missed something in notice_json['body']; notice id = {0}".format(notice_json["id"])) + notice_to_state[notice] = CS_JobState.NEEDS_RETRY - + # don't process these users existing_users = [] if len(notice_users) > 0: existing_users = self.db_session.query(TwitterUser).filter(TwitterUser.screen_name.in_(list(notice_users))).all() @@ -106,17 +119,20 @@ def parse_notices_archive_users(self, unparsed_notices): # for every notice, commit LumenNoticeToTwitterUser records for username in notice_users: notice_user_record = LumenNoticeToTwitterUser( + created_at = datetime.datetime.utcnow(), notice_id = notice_json["id"], twitter_username = username.lower(), twitter_user_id = None, - CS_account_queried = username in existing_users) + CS_account_queried = CS_JobState.PROCESSED if username in existing_users else CS_JobState.NOT_PROCESSED) self.db_session.add(notice_user_record) + for i in range(suspended_user_count): notice_user_record = LumenNoticeToTwitterUser( + created_at = datetime.datetime.utcnow(), notice_id = notice_json["id"], - twitter_username = utils.common.SUSPENDED_TWITTER_USER_STR, - twitter_user_id = utils.common.SUSPENDED_TWITTER_USER_STR, - CS_account_queried = False) + twitter_username = utils.common.NOT_FOUND_TWITTER_USER_STR, + twitter_user_id = utils.common.NOT_FOUND_TWITTER_USER_STR, + CS_account_queried = CS_JobState.NOT_PROCESSED) self.db_session.add(notice_user_record) try: @@ -131,7 +147,9 @@ def parse_notices_archive_users(self, unparsed_notices): len(notice_users), sum(len(work["infringing_urls"]) for work in notice_json["works"]), notice_json["id"])) + notice_to_state[notice] = CS_JobState.FAILED + return notice_to_state # assume url is of the form 'https://twitter.com/sooos243/status/852942353321140224' # OR check if a t.co url extends to a twitter.com url @@ -155,7 +173,7 @@ def helper_parse_url_for_username(url): else: raise Exception except: - raise utils.common.ParseUsernameNoUserFound + return None if url == "https://twitter.com/account/suspended": # TODO: then we have no information. what should we do about them? should we count these? diff --git a/utils/common.py b/utils/common.py index 30fa823..d2d7709 100644 --- a/utils/common.py +++ b/utils/common.py @@ -3,7 +3,7 @@ from collections import namedtuple import datetime -SUSPENDED_TWITTER_USER_STR = "" +NOT_FOUND_TWITTER_USER_STR = "" class PageType(Enum): TOP = 1 @@ -12,84 +12,119 @@ class PageType(Enum): HOT = 4 class ThingType(Enum): - SUBMISSION = 1 - COMMENT = 2 - SUBREDDIT = 3 - USER = 4 + SUBMISSION = 1 + COMMENT = 2 + SUBREDDIT = 3 + USER = 4 # not formalized... class TwitterUserState(Enum): - FOUND = 1 - NOT_FOUND = 2 # deleted (or never existed) - SUSPENDED = 3 - PROTECTED = 4 + FOUND = 1 + NOT_FOUND = 2 # deleted (or never existed) + SUSPENDED = 3 + PROTECTED = 4 + +# for model fields CS_* +class CS_JobState(Enum): + NOT_PROCESSED = 1 # haven't run yet; need to run + IN_PROGRESS = 2 # also means it was at least attempted + PROCESSED = 3 # finished running + FAILED = 4 # in_progress but never succeeded processing; because e.g. internet went down or system crashed + NEEDS_RETRY = 5 # for flagging purposes... + +def update_all_CS_JobState(row_to_state, field, db_session, log): + if len(row_to_state) == 0: + log.info("Updated 0 CS_JobState fields.") + return + + + for row in row_to_state: + setattr(row, field, row_to_state[row]) + + try: + db_session.commit() + log.info("Updated {0} {1} {2} fields to new CS_JobState.".format(len(row_to_state), type(list(row_to_state.keys)()[0]), field)) + except: + log.error("Error while saving DB Session for updating {0} {1} {2} fields to new CS_JobState.".format(len(row_to_state), type(list(row_to_state.keys())[0]), field)) + + +def update_CS_JobState(rows, field, to_state, db_session, log): + if len(rows) == 0: + log.info("Updated 0 CS_JobState fields.") + return + + for row in rows: + setattr(row, field, to_state) + try: + db_session.commit() + log.info("Updated {0} {1} {2} fields to {3}.".format(len(rows), type(rows[0]), field, to_state)) + except: + log.error("Error while saving DB Session for updating {0} {1} {2} fields to {3}.".format(len(rows), type(rows[0]), field, to_state)) -class ParseUsernameNoUserFound(Exception): - pass class ParseUsernameSuspendedUserFound(Exception): - pass + pass class DbEngine: - def __init__(self, config_path): - self.config_path = config_path - - def new_session(self): - with open(self.config_path, "r") as config: - DBCONFIG = json.loads(config.read()) - - from sqlalchemy import create_engine - from sqlalchemy.orm import sessionmaker - from app.models import Base - db_engine = create_engine("mysql://{user}:{password}@{host}/{database}".format( - host = DBCONFIG['host'], - user = DBCONFIG['user'], - password = DBCONFIG['password'], - database = DBCONFIG['database'])) - - Base.metadata.bind = db_engine - DBSession = sessionmaker(bind=db_engine) - db_session = DBSession() - return db_session + def __init__(self, config_path): + self.config_path = config_path + + def new_session(self): + with open(self.config_path, "r") as config: + DBCONFIG = json.loads(config.read()) + + from sqlalchemy import create_engine + from sqlalchemy.orm import sessionmaker + from app.models import Base + db_engine = create_engine("mysql://{user}:{password}@{host}/{database}".format( + host = DBCONFIG['host'], + user = DBCONFIG['user'], + password = DBCONFIG['password'], + database = DBCONFIG['database'])) + + Base.metadata.bind = db_engine + DBSession = sessionmaker(bind=db_engine) + db_session = DBSession() + return db_session def _json_object_hook(dobj): - dobj['json_dict'] = dobj.copy() - X = namedtuple('X', dobj.keys(), rename=True) - X.remove = lambda x: None - return(X(*dobj.values())) + dobj['json_dict'] = dobj.copy() + X = namedtuple('X', dobj.keys(), rename=True) + X.remove = lambda x: None + return(X(*dobj.values())) def json2obj(data): - return json.loads(data, object_hook=_json_object_hook) + return json.loads(data, object_hook=_json_object_hook) class CommentNode: - def __init__(self, id, data, link_id = None, toplevel = False, parent=None): - self.id = id - self.children = list() - self.parent = parent - self.link_id = link_id - self.toplevel = toplevel - self.data = data + def __init__(self, id, data, link_id = None, toplevel = False, parent=None): + self.id = id + self.children = list() + self.parent = parent + self.link_id = link_id + self.toplevel = toplevel + self.data = data - def add_child(self, child): - self.children.append(child) + def add_child(self, child): + self.children.append(child) - def set_parent(self,parent): - self.parent = parent + def set_parent(self,parent): + self.parent = parent - def get_all_children(self): - all_children = self.children - for child in self.children: - all_children = all_children + child.get_all_children() - if(len(all_children)>0): - return all_children - else: - return [] + def get_all_children(self): + all_children = self.children + for child in self.children: + all_children = all_children + child.get_all_children() + if(len(all_children)>0): + return all_children + else: + return [] - def __str__(self): - return str(self.id) + def __str__(self): + return str(self.id) def time_since_epoch_ms(dt): - epoch = datetime.datetime.utcfromtimestamp(0) - return (dt - epoch).total_seconds() * 1000.0 \ No newline at end of file + epoch = datetime.datetime.utcfromtimestamp(0) + return (dt - epoch).total_seconds() * 1000.0 \ No newline at end of file From 132a844994a477264d8b2898376fe219fd23fcb2 Mon Sep 17 00:00:00 2001 From: mmou Date: Tue, 2 May 2017 23:07:44 -0400 Subject: [PATCH 010/221] 5 controller methods seem to work. --- ...d8d9abcb93_create_lumen_twitter_tables.py} | 56 +- app/connections/lumen_connect.py | 19 +- app/controller.py | 6 +- app/controllers/lumen_controller.py | 56 +- app/controllers/twitter_controller.py | 604 ++++++++++-------- app/models.py | 56 +- tests/test_controllers.py | 14 +- utils/common.py | 14 +- 8 files changed, 457 insertions(+), 368 deletions(-) rename alembic/versions/{dcb4e932ff39_create_lumen_twitter_tables.py => 76d8d9abcb93_create_lumen_twitter_tables.py} (88%) diff --git a/alembic/versions/dcb4e932ff39_create_lumen_twitter_tables.py b/alembic/versions/76d8d9abcb93_create_lumen_twitter_tables.py similarity index 88% rename from alembic/versions/dcb4e932ff39_create_lumen_twitter_tables.py rename to alembic/versions/76d8d9abcb93_create_lumen_twitter_tables.py index 7eaeada..d083467 100644 --- a/alembic/versions/dcb4e932ff39_create_lumen_twitter_tables.py +++ b/alembic/versions/76d8d9abcb93_create_lumen_twitter_tables.py @@ -1,13 +1,13 @@ """create lumen twitter tables -Revision ID: dcb4e932ff39 +Revision ID: 76d8d9abcb93 Revises: 16dbded8a5cf -Create Date: 2017-05-02 16:45:45.912337 +Create Date: 2017-05-02 20:25:42.854191 """ # revision identifiers, used by Alembic. -revision = 'dcb4e932ff39' +revision = '76d8d9abcb93' down_revision = '16dbded8a5cf' branch_labels = None depends_on = None @@ -31,7 +31,7 @@ def upgrade_development(): # ### commands auto generated by Alembic - please adjust! ### op.create_table('lumen_notice_to_twitter_user', sa.Column('id', sa.Integer(), nullable=False), - sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('record_created_at', sa.DateTime(), nullable=True), sa.Column('notice_id', sa.BigInteger(), nullable=True), sa.Column('twitter_username', sa.String(length=256), nullable=True), sa.Column('twitter_user_id', sa.String(length=64), nullable=True), @@ -43,7 +43,7 @@ def upgrade_development(): op.create_index(op.f('ix_lumen_notice_to_twitter_user_twitter_username'), 'lumen_notice_to_twitter_user', ['twitter_username'], unique=False) op.create_table('lumen_notices', sa.Column('id', sa.BigInteger(), nullable=False), - sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('record_created_at', sa.DateTime(), nullable=True), sa.Column('date_received', sa.DateTime(), nullable=True), sa.Column('sender', sa.String(length=256), nullable=True), sa.Column('principal', sa.String(length=256), nullable=True), @@ -56,7 +56,7 @@ def upgrade_development(): sa.Column('id', sa.BigInteger(), nullable=False), sa.Column('user_id', sa.String(length=64), nullable=True), sa.Column('created_at', sa.DateTime(), nullable=True), - sa.Column('status_created_at', sa.DateTime(), nullable=True), + sa.Column('record_created_at', sa.DateTime(), nullable=True), sa.Column('status_data', mysql.MEDIUMTEXT(), nullable=True), sa.PrimaryKeyConstraint('id') ) @@ -64,7 +64,7 @@ def upgrade_development(): op.create_table('twitter_user_snapshots', sa.Column('id', sa.Integer(), nullable=False), sa.Column('twitter_user_id', sa.String(length=64), nullable=True), - sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('record_created_at', sa.DateTime(), nullable=True), sa.Column('user_state', sa.Integer(), nullable=True), sa.Column('user_json', mysql.MEDIUMTEXT(), nullable=True), sa.PrimaryKeyConstraint('id') @@ -74,7 +74,7 @@ def upgrade_development(): sa.Column('id', sa.String(length=64), nullable=False), sa.Column('screen_name', sa.String(length=256), nullable=True), sa.Column('created_at', sa.DateTime(), nullable=True), - sa.Column('account_created_at', sa.DateTime(), nullable=True), + sa.Column('record_created_at', sa.DateTime(), nullable=True), sa.Column('lang', sa.String(length=32), nullable=True), sa.Column('user_state', sa.Integer(), nullable=True), sa.Column('CS_oldest_tweets_archived', sa.Integer(), nullable=True), @@ -104,7 +104,7 @@ def upgrade_test(): # ### commands auto generated by Alembic - please adjust! ### op.create_table('lumen_notice_to_twitter_user', sa.Column('id', sa.Integer(), nullable=False), - sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('record_created_at', sa.DateTime(), nullable=True), sa.Column('notice_id', sa.BigInteger(), nullable=True), sa.Column('twitter_username', sa.String(length=256), nullable=True), sa.Column('twitter_user_id', sa.String(length=64), nullable=True), @@ -116,7 +116,7 @@ def upgrade_test(): op.create_index(op.f('ix_lumen_notice_to_twitter_user_twitter_username'), 'lumen_notice_to_twitter_user', ['twitter_username'], unique=False) op.create_table('lumen_notices', sa.Column('id', sa.BigInteger(), nullable=False), - sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('record_created_at', sa.DateTime(), nullable=True), sa.Column('date_received', sa.DateTime(), nullable=True), sa.Column('sender', sa.String(length=256), nullable=True), sa.Column('principal', sa.String(length=256), nullable=True), @@ -129,7 +129,7 @@ def upgrade_test(): sa.Column('id', sa.BigInteger(), nullable=False), sa.Column('user_id', sa.String(length=64), nullable=True), sa.Column('created_at', sa.DateTime(), nullable=True), - sa.Column('status_created_at', sa.DateTime(), nullable=True), + sa.Column('record_created_at', sa.DateTime(), nullable=True), sa.Column('status_data', mysql.MEDIUMTEXT(), nullable=True), sa.PrimaryKeyConstraint('id') ) @@ -138,26 +138,30 @@ def upgrade_test(): sa.Column('id', sa.String(length=64), nullable=False), sa.Column('screen_name', sa.String(length=256), nullable=True), sa.Column('created_at', sa.DateTime(), nullable=True), - sa.Column('account_created_at', sa.DateTime(), nullable=True), + sa.Column('record_created_at', sa.DateTime(), nullable=True), sa.Column('lang', sa.String(length=32), nullable=True), sa.Column('user_state', sa.Integer(), nullable=True), sa.Column('CS_oldest_tweets_archived', sa.Integer(), nullable=True), sa.PrimaryKeyConstraint('id') ) op.create_index(op.f('ix_twitter_users_screen_name'), 'twitter_users', ['screen_name'], unique=False) - op.drop_column('twitter_user_snapshots', 'verified') - op.drop_column('twitter_user_snapshots', 'friends_count') + op.add_column('twitter_user_snapshots', sa.Column('record_created_at', sa.DateTime(), nullable=True)) op.drop_column('twitter_user_snapshots', 'statuses_count') + op.drop_column('twitter_user_snapshots', 'verified') + op.drop_column('twitter_user_snapshots', 'created_at') op.drop_column('twitter_user_snapshots', 'followers_count') + op.drop_column('twitter_user_snapshots', 'friends_count') # ### end Alembic commands ### def downgrade_test(): # ### commands auto generated by Alembic - please adjust! ### - op.add_column('twitter_user_snapshots', sa.Column('followers_count', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True)) - op.add_column('twitter_user_snapshots', sa.Column('statuses_count', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True)) op.add_column('twitter_user_snapshots', sa.Column('friends_count', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True)) + op.add_column('twitter_user_snapshots', sa.Column('followers_count', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True)) + op.add_column('twitter_user_snapshots', sa.Column('created_at', mysql.DATETIME(), nullable=True)) op.add_column('twitter_user_snapshots', sa.Column('verified', mysql.TINYINT(display_width=1), autoincrement=False, nullable=True)) + op.add_column('twitter_user_snapshots', sa.Column('statuses_count', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True)) + op.drop_column('twitter_user_snapshots', 'record_created_at') op.drop_index(op.f('ix_twitter_users_screen_name'), table_name='twitter_users') op.drop_table('twitter_users') op.drop_index(op.f('ix_twitter_statuses_user_id'), table_name='twitter_statuses') @@ -174,7 +178,7 @@ def upgrade_production(): # ### commands auto generated by Alembic - please adjust! ### op.create_table('lumen_notice_to_twitter_user', sa.Column('id', sa.Integer(), nullable=False), - sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('record_created_at', sa.DateTime(), nullable=True), sa.Column('notice_id', sa.BigInteger(), nullable=True), sa.Column('twitter_username', sa.String(length=256), nullable=True), sa.Column('twitter_user_id', sa.String(length=64), nullable=True), @@ -186,7 +190,7 @@ def upgrade_production(): op.create_index(op.f('ix_lumen_notice_to_twitter_user_twitter_username'), 'lumen_notice_to_twitter_user', ['twitter_username'], unique=False) op.create_table('lumen_notices', sa.Column('id', sa.BigInteger(), nullable=False), - sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('record_created_at', sa.DateTime(), nullable=True), sa.Column('date_received', sa.DateTime(), nullable=True), sa.Column('sender', sa.String(length=256), nullable=True), sa.Column('principal', sa.String(length=256), nullable=True), @@ -199,7 +203,7 @@ def upgrade_production(): sa.Column('id', sa.BigInteger(), nullable=False), sa.Column('user_id', sa.String(length=64), nullable=True), sa.Column('created_at', sa.DateTime(), nullable=True), - sa.Column('status_created_at', sa.DateTime(), nullable=True), + sa.Column('record_created_at', sa.DateTime(), nullable=True), sa.Column('status_data', mysql.MEDIUMTEXT(), nullable=True), sa.PrimaryKeyConstraint('id') ) @@ -208,26 +212,30 @@ def upgrade_production(): sa.Column('id', sa.String(length=64), nullable=False), sa.Column('screen_name', sa.String(length=256), nullable=True), sa.Column('created_at', sa.DateTime(), nullable=True), - sa.Column('account_created_at', sa.DateTime(), nullable=True), + sa.Column('record_created_at', sa.DateTime(), nullable=True), sa.Column('lang', sa.String(length=32), nullable=True), sa.Column('user_state', sa.Integer(), nullable=True), sa.Column('CS_oldest_tweets_archived', sa.Integer(), nullable=True), sa.PrimaryKeyConstraint('id') ) op.create_index(op.f('ix_twitter_users_screen_name'), 'twitter_users', ['screen_name'], unique=False) - op.drop_column('twitter_user_snapshots', 'verified') - op.drop_column('twitter_user_snapshots', 'friends_count') + op.add_column('twitter_user_snapshots', sa.Column('record_created_at', sa.DateTime(), nullable=True)) op.drop_column('twitter_user_snapshots', 'statuses_count') + op.drop_column('twitter_user_snapshots', 'verified') + op.drop_column('twitter_user_snapshots', 'created_at') op.drop_column('twitter_user_snapshots', 'followers_count') + op.drop_column('twitter_user_snapshots', 'friends_count') # ### end Alembic commands ### def downgrade_production(): # ### commands auto generated by Alembic - please adjust! ### - op.add_column('twitter_user_snapshots', sa.Column('followers_count', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True)) - op.add_column('twitter_user_snapshots', sa.Column('statuses_count', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True)) op.add_column('twitter_user_snapshots', sa.Column('friends_count', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True)) + op.add_column('twitter_user_snapshots', sa.Column('followers_count', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True)) + op.add_column('twitter_user_snapshots', sa.Column('created_at', mysql.DATETIME(), nullable=True)) op.add_column('twitter_user_snapshots', sa.Column('verified', mysql.TINYINT(display_width=1), autoincrement=False, nullable=True)) + op.add_column('twitter_user_snapshots', sa.Column('statuses_count', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True)) + op.drop_column('twitter_user_snapshots', 'record_created_at') op.drop_index(op.f('ix_twitter_users_screen_name'), table_name='twitter_users') op.drop_table('twitter_users') op.drop_index(op.f('ix_twitter_statuses_user_id'), table_name='twitter_statuses') diff --git a/app/connections/lumen_connect.py b/app/connections/lumen_connect.py index aab154b..163edb1 100644 --- a/app/connections/lumen_connect.py +++ b/app/connections/lumen_connect.py @@ -2,6 +2,7 @@ import simplejson as json import os, inspect import utils.common +import time #import pickle #from app.models import Base #from sqlalchemy import create_engine @@ -27,13 +28,17 @@ def __init__(self, log): self.log = log def get(self, url, payload): - r = requests.get(url, - params=payload, - headers=self.headers) - if r.status_code == 200: - return json.loads(r.text) - else: - self.log.error("Error querying usernames with notes. Status code {0}".format(r.status_code)) + retries = 3 + while retries > 0: + r = requests.get(url, + params=payload, + headers=self.headers) + if r.status_code == 200: + return json.loads(r.text) + else: + retries -= 1 + self.log.error("Error querying usernames with notes. Status code {0}. Retrying ({1} retries left)".format(r.status_code, retries)) + time.sleep(30) # "If you do not have a researcher API token you will limited to 25 results per request and 3 requests per minute. " def get_search(self, payload): return self.get("https://Lumendatabase.org/notices/search", payload) diff --git a/app/controller.py b/app/controller.py index c8c86c2..3881a8c 100644 --- a/app/controller.py +++ b/app/controller.py @@ -161,10 +161,10 @@ def fetch_twitter_users(): """ For all TwitterUserSnapshot.created_at older than x hours, fetch another snapshot """ -def fetch_twitter_snapshot_and_tweets(cutoff_date=None): +def fetch_twitter_snapshot_and_tweets(max_time_delta_min=60): t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) - date = date if cutoff_date else datetime.datetime.utcnow() - datetime.timedelta(minutes=60) # now-1hour - t.query_and_archive_user_snapshots_and_tweets(date, prioritize_new_users) # add boolean prioritize_new_users + date = datetime.datetime.utcnow() - datetime.timedelta(minutes=int(max_time_delta_min)) # now-1hour + t.query_and_archive_user_snapshots_and_tweets(date) """ For all TwitterUsers with CS_most_tweets_queried=False, fetch tweets diff --git a/app/controllers/lumen_controller.py b/app/controllers/lumen_controller.py index 49744f7..684fe0a 100644 --- a/app/controllers/lumen_controller.py +++ b/app/controllers/lumen_controller.py @@ -7,6 +7,7 @@ import requests import app.controllers.twitter_controller import sqlalchemy +import sys class LumenController(): def __init__(self, db_session, l, log): @@ -27,7 +28,7 @@ def archive_lumen_notices(self, topics, date): data = self.l.get_notices_to_twitter([topic], 50, next_page, date, nowish) #with open("tests/fixture_data/lumen_notices_0.json") as f: - # data = json.loads(f.read()) + # data = json.loads(f.read())[:10] notices_json = data["notices"] next_page = data["meta"]["next_page"] @@ -41,29 +42,29 @@ def archive_lumen_notices(self, topics, date): recipient = (notice["recipient_name"].encode("utf-8", "replace") if notice["recipient_name"] else "") notice_record = LumenNotice( id = notice["id"], - created_at = datetime.datetime.utcnow(), + record_created_at = datetime.datetime.utcnow(), date_received = date_received, sender = sender, principal = principal, recipient = recipient, notice_data = json.dumps(notice).encode("utf-8", "replace"), - CS_parsed_usernames = CS_JobState.NOT_PROCESSED) + CS_parsed_usernames = CS_JobState.NOT_PROCESSED.value) self.db_session.add(notice_record) added_notices.append(notice) except: - self.log.error("Error while creating LumenNotice object for notice {0}".format(notice["id"])) + self.log.error("Error while creating LumenNotice object for notice {0}".format(notice["id"]), extra=sys.exc_info()[0]) try: self.db_session.commit() self.log.info("Saved {0} lumen notices.".format(len(added_notices))) except: - self.log.error("Error while saving {0} lumen notices in DB Session".format(len(added_notices))) + self.log.error("Error while saving {0} lumen notices in DB Session".format(len(added_notices)), extra=sys.exc_info()[0]) """ For all LumenNotices with CS_parsed_usernames=NOT_PROCESSED, parse for twitter accounts """ def query_and_parse_notices_archive_users(self): - unparsed_notices = self.db_session.query(LumenNotice).filter(LumenNotice.CS_parsed_usernames == False).all() + unparsed_notices = self.db_session.query(LumenNotice).filter(LumenNotice.CS_parsed_usernames == CS_JobState.NOT_PROCESSED.value).all() utils.common.update_CS_JobState(unparsed_notices, "CS_parsed_usernames", CS_JobState.IN_PROGRESS, self.db_session, self.log) @@ -71,25 +72,21 @@ def query_and_parse_notices_archive_users(self): utils.common.update_all_CS_JobState(notice_to_state, "CS_parsed_usernames", self.db_session, self.log) - """ - for notice in unparsed_notices: - notice.CS_parsed_usernames = True # update LumenNotice - try: - self.db_session.commit() - self.log.info("Updated {0} LumenNotice CS_parsed_usernames fields.".format(len(unparsed_notices))) - except: - self.log.error("Error while saving DB Session for updating {0} LumenNotice CS_parsed_usernames fields.".format(len(unparsed_notices))) - """ """ unparsed_notices = list of LumenNotice """ def parse_notices_archive_users(self, unparsed_notices): - notice_to_state = {notice: CS_JobState.PROCESSED for notice in unparsed_notices} + is_test = type(unparsed_notices[0]) is not LumenNotice + if not is_test: # to accomodate test fixture data + notice_to_state = {notice: CS_JobState.FAILED for notice in unparsed_notices } + else: + notice_to_state = {json.dumps(notice): CS_JobState.FAILED for notice in unparsed_notices } for notice in unparsed_notices: - notice_json = json.loads(notice.notice_data) if type(notice) is LumenNotice else notice # to accomodate test fixture data + notice_json = json.loads(notice.notice_data) if not is_test else notice # to accomodate test fixture data notice_users = set([]) suspended_user_count = 0 + job_state = None for work in notice_json["works"]: # infringing_urls is known to contain urls for url_obj in work["infringing_urls"]: @@ -103,13 +100,13 @@ def parse_notices_archive_users(self, unparsed_notices): suspended_user_count += 1 if len(work["copyrighted_urls"]) > 0: # I've only seen this empty self.log.error("method helper_parse_notices_archive_users: maybe missed something in notice_json['works']['copyrighted_urls']; notice id = {0}".format(notice_json["id"])) - notice_to_state[notice] = CS_JobState.NEEDS_RETRY + job_state = CS_JobState.NEEDS_RETRY if work["description"]: # I've only seen this null self.log.error("method helper_parse_notices_archive_users: maybe missed something in notice_json['works']['description']; notice id = {0}".format(notice_json["id"])) - notice_to_state[notice] = CS_JobState.NEEDS_RETRY + job_state = CS_JobState.NEEDS_RETRY if notice_json["body"]: # I've only seen this null self.log.error("method helper_parse_notices_archive_users: maybe missed something in notice_json['body']; notice id = {0}".format(notice_json["id"])) - notice_to_state[notice] = CS_JobState.NEEDS_RETRY + job_state = CS_JobState.NEEDS_RETRY # don't process these users existing_users = [] @@ -119,20 +116,20 @@ def parse_notices_archive_users(self, unparsed_notices): # for every notice, commit LumenNoticeToTwitterUser records for username in notice_users: notice_user_record = LumenNoticeToTwitterUser( - created_at = datetime.datetime.utcnow(), + record_created_at = datetime.datetime.utcnow(), notice_id = notice_json["id"], twitter_username = username.lower(), twitter_user_id = None, - CS_account_queried = CS_JobState.PROCESSED if username in existing_users else CS_JobState.NOT_PROCESSED) + CS_account_archived = CS_JobState.PROCESSED.value if username in existing_users else CS_JobState.NOT_PROCESSED.value) self.db_session.add(notice_user_record) for i in range(suspended_user_count): notice_user_record = LumenNoticeToTwitterUser( - created_at = datetime.datetime.utcnow(), + record_created_at = datetime.datetime.utcnow(), notice_id = notice_json["id"], twitter_username = utils.common.NOT_FOUND_TWITTER_USER_STR, twitter_user_id = utils.common.NOT_FOUND_TWITTER_USER_STR, - CS_account_queried = CS_JobState.NOT_PROCESSED) + CS_account_archived = CS_JobState.NOT_PROCESSED.value) self.db_session.add(notice_user_record) try: @@ -141,13 +138,20 @@ def parse_notices_archive_users(self, unparsed_notices): len(notice_users), sum(len(work["infringing_urls"]) for work in notice_json["works"]), notice_json["id"])) + + job_state = CS_JobState.PROCESSED if (job_state is not CS_JobState.NEEDS_RETRY) else CS_JobState.NEEDS_RETRY + if job_state is not None: + if not is_test: + notice_to_state[notice] = job_state + else: + notice_to_state[json.dumps(notice)] = job_state except: # TODO: make error messages more specific, aka Error while saving n LumenNoticeToTwitterUsers.... self.log.error("Error while saving {0} twitter users from {1} infringing_urls in notice {2} DB Session".format( len(notice_users), sum(len(work["infringing_urls"]) for work in notice_json["works"]), - notice_json["id"])) - notice_to_state[notice] = CS_JobState.FAILED + notice_json["id"]), extra=sys.exc_info()[0]) + return notice_to_state return notice_to_state diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index b39de3c..4476a88 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -7,7 +7,14 @@ import sqlalchemy from sqlalchemy import and_, func import utils.common -from utils.common import TwitterUserState, SUSPENDED_TWITTER_USER_STR +from utils.common import TwitterUserState, NOT_FOUND_TWITTER_USER_STR, CS_JobState +import sys + +TWITTER_DATETIME_STR_FORMAT = "%a %b %d %H:%M:%S %z %Y" + +def generate_not_found_twitter_user_id(screen_name=""): + capped_screen_name = screen_name if len(screen_name)<30 else screen_name[:30] + "..." + return "{0}_{1}_{2}".format(NOT_FOUND_TWITTER_USER_STR, capped_screen_name, utils.common.time_since_epoch_ms(datetime.datetime.utcnow())) class TwitterController(): def __init__(self, db_session, t, log): @@ -15,328 +22,393 @@ def __init__(self, db_session, t, log): self.db_session = db_session self.log = log - """ - for each new username parsed from a lumen notice: - if user found: - update lumennoticetouser record - store twitteruser record - store twitterusersnapshot record - if user not found: - store twitteruserrecord - """ + ######################################################### + ################### ARCHIVE NEW USERS CODE + ######################################################### + def query_and_archive_new_users(self): - unarchived_notice_users = self.db_session.query(LumenNoticeToTwitterUser).filter(and_( - LumenNoticeToTwitterUser.CS_account_queried == False, - LumenNoticeToTwitterUser.twitter_username != SUSPENDED_TWITTER_USER_STR - ).all()) - unarchived_users = set([nu.twitter_username for nu in unarchived_notice_users]) - all_users_info = self.archive_users(unarchived_users, self.new_found_users_store_func, self.new_not_found_users_store_func, has_ids=False) - - unarchived_notice_users_dict = {nu.twitter_username: nu for nu in unarchived_notice_users} - for user in all_users_info: - user_json = json.loads(json.dumps(user._json).encode("utf-8", "replace")) if type(user) is twitter.models.User else user # to accomodate test fixture data - screen_name = user_json["screen_name"].lower() - if screen_name in unarchived_notice_users_dict: - unarchived_notice_users_dict[screen_name].twitter_user_id = user_json["id"] - unarchived_notice_users_dict[screen_name].CS_account_queried = True - unarchived_notice_users_dict.remove(screen_name) - for screen_name in unarchived_notice_users_dict: - # for the ones left, still should update CS_account_queried - unarchived_notice_users_dict[screen_name].CS_account_queried = True - try: - self.db_session.commit() - self.log.info("Updated {0} LumenNoticeToTwitterUser.CS_account_queried fields.".format(len(unarchived_notice_users))) - except: - self.log.error("Error while saving DB Session for {0} LumenNoticeToTwitterUser.CS_account_queried fields.".format(len(unarchived_notice_users))) - + unarchived_notice_users = self.db_session.query(LumenNoticeToTwitterUser).filter( + LumenNoticeToTwitterUser.CS_account_archived == CS_JobState.NOT_PROCESSED.value).all() + utils.common.update_CS_JobState(unarchived_notice_users, "CS_account_archived", CS_JobState.IN_PROGRESS, self.db_session, self.log) - """ - for each user in twitterusersnapshot with too old most recent snapshot: - if user found: - store twitterusersnapshot record - if user not found: - store twitterusersnapshot record - """ - def query_and_archive_user_snapshots_and_tweets(self, min_time): - need_snapshot_users = self.db_session.query( - TwitterUserSnapshot.twitter_user_id, func.max(TwitterUserSnapshot.created_at)).filter( - TwitterUserSnapshot.created_at < min_time).all() + (user_name_to_id, noticeuser_to_state) = self.archive_new_users(unarchived_notice_users) - unarchived_users = set([snapshot.twitter_user_id for snapshot in need_snapshot_users]) - self.archive_users(unarchived_users, self.old_found_users_store_func, self.old_not_found_users_store_func, has_ids=True) - - for user_id in unarchived_users: - self.archive_user_tweets(user_id) + # update LumenNoticeToTwitterUser records + if user_name_to_id and noticeuser_to_state: + for noticeuser in noticeuser_to_state: + noticeuser.CS_account_archived = noticeuser_to_state[noticeuser].value + noticeuser.twitter_user_id = user_name_to_id[noticeuser.twitter_username] + try: + self.db_session.commit() + self.log.info("Updated {0} LumenNoticeToTwitterUser.CS_account_archived,twitter_user_id fields.".format(len(noticeuser_to_state))) + except: + self.log.error("Error while saving DB Session for {0} LumenNoticeToTwitterUser.CS_account_archived,twitter_user_id fields.".format( + len(noticeuser_to_state)), extra=sys.exc_info()[0]) - def query_and_archive_tweets(self): - unarchived_users = self.db_session.query(TwitterUser).filter( - TwitterUser.CS_most_tweets_queried == False).all() - for user in unarchived_users: - self.archive_user_tweets(user.id) - user.CS_most_tweets_queried = True - try: - self.db_session.commit() - self.log.info("Updated {0} TwitterUser.CS_most_tweets_queried fields.".format(len(unarchived_users))) - except: - self.log.error("Error while saving DB Session for {0} TwitterUser.CS_most_tweets_queried fields.".format(len(unarchived_users))) + def archive_new_users(self, unarchived_notice_users): + is_test = type(unarchived_notice_users[0]) is not LumenNoticeToTwitterUser + if len(unarchived_notice_users) <= 0: + return (None, None) + unarchived_user_names = set([nu.twitter_username for nu in unarchived_notice_users]) if not is_test else set(unarchived_notice_users) # to accomodate tests... + user_names = list(unarchived_user_names) + # to return + user_name_to_id = {name: None for name in user_names} + noticeuser_to_state = {nu: CS_JobState.FAILED for nu in unarchived_notice_users} if not is_test else {} # to accomodate tests.... + failed_users = set([]) + # query batch_size at a time + batch_size = 100 # limit should be 100 + prev_limit = 0 + left_users = unarchived_user_names # reference - """ - users_info: from twitter.api.UsersLookup - not_found_users: set of usernames still not found + for i in range(1,int(len(user_names)/batch_size)+2): + rows = [] + limit = min(i*batch_size, len(user_names)) + if limit > prev_limit: + # query twitter API for user info + users_info = [] + this_users = user_names[prev_limit:limit] + try: + users_info = self.t.api.UsersLookup(screen_name=this_users) + self.log.info("Queried for {0} Twitter users out of a total of {1} users, got {2} users".format( + limit-prev_limit, len(user_names), len(users_info))) + prev_limit = limit + except twitter.error.TwitterError as e: + failed_users.update(this_users) + self.log.error("Failed to query for Twitter users using api.UsersLookup: {0}".format(str(e))) - returns: updated not_found_users - """ - def new_found_users_store_func(self, users_info, not_found_users): - for user in users_info: - user_json = json.loads(json.dumps(user._json).encode("utf-8", "replace")) if type(user) is twitter.models.User else user # to accomodate test fixture data - screen_name = user_json["screen_name"].lower() + # for found users, commit to db + all_user_names = [] + for user_info in users_info: + user_json = json.loads(json.dumps(user_info._json).encode("utf-8", "replace")) if type(user_info) is twitter.models.User else user_info # to accomodate test fixture data + all_user_names.append(user_json["screen_name"]) + screen_name = user_json["screen_name"].lower() + uid = user_json["id"] + created_at = datetime.datetime.strptime(user_json["created_at"], TWITTER_DATETIME_STR_FORMAT) + + # determine user state + user_state = TwitterUserState.FOUND if not user_json["protected"] else TwitterUserState.PROTECTED + if user_state == TwitterUserState.PROTECTED: + # disambiguate with user timeline call. throw away statuses, job_state + (statuses, t_user_state, job_state) = self.get_statuses_user_state(self, user_id, count=1) + self.log.info(t_user_state) + if t_user_state and t_user_state is not TwitterUserState.PROTECTED: + user_state = t_user_state + + user_name_to_id[screen_name] = uid + + try: + # create TwitterUser record + user_record = TwitterUser( + id = uid, + screen_name = screen_name, #usernames change! index/search on id when possible + created_at = created_at, # is UTC; expected string format: "Mon Nov 29 21:18:15 +0000 2010" + record_created_at = datetime.datetime.utcnow(), + lang = user_json["lang"], + user_state = user_state.value, + CS_oldest_tweets_archived = CS_JobState.NOT_PROCESSED.value) + self.db_session.add(user_record) + + # create first TwitterUserSnapshot record + user_snapshot_record = TwitterUserSnapshot( + twitter_user_id = uid, + record_created_at = datetime.datetime.utcnow(), + user_state = user_state.value, + user_json = json.dumps(user_json)) #already encoded + self.db_session.add(user_snapshot_record) + + left_users.discard(screen_name) # discard doesn't throw an error + except: + self.log.error("Error while updating TwitterUser, creating TwitterUserSnapshot object for user {0}".format(user_json["id"])) + failed_users.add(screen_name) + try: + self.db_session.commit() + self.log.info("Saved {0} found twitter users' info.".format(len(users_info))) + except: + self.log.error("Error while saving DB Session for TwitterUser, TwitterUserSnapshot object for {0} users".format( + len(users_info)), extra=sys.exc_info()[0]) + failed_users.update(all_user_names) + + + # at end, for left_users (users not found), commit to db + for name in left_users: + uid = generate_not_found_twitter_user_id(name) + user_name_to_id[name] = uid + try: - created_at = datetime.datetime.strptime(user_json["created_at"], "%a %b %d %H:%M:%S %z %Y") + # create TwitterUser record user_record = TwitterUser( - id = user_json["id"], - screen_name = screen_name, #usernames change! index/search on id when possible - created_at = created_at, # is UTC; expected string format: "Mon Nov 29 21:18:15 +0000 2010" - lang = user_json["lang"], - user_state = TwitterUserState.FOUND.value if not user_json["protected"] else TwitterUserState.PROTECTED.value, - CS_most_tweets_queried = False) + id = uid, + screen_name = name, + created_at = None, + record_created_at = datetime.datetime.utcnow(), + lang = None, + user_state = TwitterUserState.NOT_FOUND.value, + CS_oldest_tweets_archived = CS_JobState.NOT_PROCESSED.value) self.db_session.add(user_record) # also create first TwitterUserSnapshot record user_snapshot_record = TwitterUserSnapshot( - twitter_user_id = user_json["id"], - created_at = created_at, # is UTC; expected string format: "Mon Nov 29 21:18:15 +0000 2010" - # should we have thses??? - statuses_count = user_json["statuses_count"], - followers_count = user_json["followers_count"], - friends_count = user_json["friends_count"], - verified = user_json["verified"], - user_state = TwitterUserState.FOUND.value if not user_json["protected"] else TwitterUserState.PROTECTED.value, - user_json = json.dumps(user_json)) #already encoded + twitter_user_id = uid, + record_created_at = datetime.datetime.utcnow(), + user_state = TwitterUserState.NOT_FOUND.value, + user_json = None) self.db_session.add(user_snapshot_record) - not_found_users.discard(screen_name) # discard doesn't throw an error except: - self.log.error("Error while creating TwitterUser, TwitterUserSnapshot, LumenNoticeToTwitterUser object for user {0}".format(screen_name)) + self.log.error("Error while updating TwitterUser, creating TwitterUserSnapshot object for user {0}".format(user_json["id"])) + failed_users.update(name) try: self.db_session.commit() - self.log.info("Saved {0} found twitter users' info.".format(len(users_info))) + self.log.info("Saved {0} not_found twitter users' info.".format(len(left_users))) except: - self.log.error("Error while saving DB Session for TwitterUser, TwitterUserSnapshot, LumenNoticeToTwitterUser object for user {0}".format(screen_name)) + self.log.error("Error while saving DB Session for {0} not_found twitter users' info.".format( + len(left_users)), extra=sys.exc_info()[0]) + failed_users.update(list(left_users)) - return not_found_users + for nu in noticeuser_to_state: + if nu.twitter_username not in failed_users: + noticeuser_to_state[nu] = CS_JobState.PROCESSED - """ - not_found_users: set of usernames still not found - """ - def new_not_found_users_store_func(self, not_found_users): - for username in list(not_found_users): - try: - user_record = TwitterUser( - id = "{0}_{1}".format(SUSPENDED_TWITTER_USER_STR, utils.common.time_since_epoch_ms(datetime.datetime.utcnow())), - screen_name = username.lower(), - user_state = TwitterUserState.NOT_FOUND.value) - self.db_session.add(user_record) - except: - self.log.error("Error while creating TwitterUser object for user {0}".format(username)) - try: - self.db_session.commit() - self.log.info("Saved {0} not_found twitter users' info.".format(len(not_found_users))) - except: - self.log.error("Error while saving DB Session for {0} not_found twitter users' info.".format(len(not_found_users))) + return (user_name_to_id, noticeuser_to_state) - """ - users_info: from twitter.api.UsersLookup - not_found_users: set of usernames still not found - returns: updated not_found_users + ######################################################### + ################### ARCHIVE SNAPSHOTS AND NEW TWEETS CODE + ######################################################### """ - def old_found_users_store_func(self, users_info, not_found_users): - for user in users_info: - user_json = json.loads(json.dumps(user._json).encode("utf-8", "replace")) if type(user) is twitter.models.User else user # to accomodate test fixture data - screen_name = user_json["screen_name"].lower() - try: - created_at = datetime.datetime.strptime(user_json["created_at"], "%a %b %d %H:%M:%S %z %Y") - - # create TwitterUserSnapshot record - user_snapshot_record = TwitterUserSnapshot( - twitter_user_id = user_json["id"], - created_at = created_at, # is UTC; expected string format: "Mon Nov 29 21:18:15 +0000 2010" - # should we have thses??? - statuses_count = user_json["statuses_count"], - followers_count = user_json["followers_count"], - friends_count = user_json["friends_count"], - verified = user_json["verified"], - user_state = TwitterUserState.FOUND.value if not user_json["protected"] else TwitterUserState.PROTECTED.value, - user_json = json.dumps(user_json)) #already encoded - self.db_session.add(user_snapshot_record) - - not_found_users.discard(screen_name) # discard doesn't throw an error - except: - self.log.error("Error while creating TwitterUserSnapshot object for user {0}".format(screen_name)) - try: - self.db_session.commit() - self.log.info("Saved {0} found twitter users' info.".format(len(users_info))) - except: - self.log.error("Error while saving DB Session for {0} found twitter users' info.".format(len(users_info))) - - return not_found_users + for each user in twitterusersnapshot with too old most recent snapshot: + store twitterusersnapshot record + update twitteruser? + store tweets? + doesn't need to update any CS_JobState fields. """ - not_found_users: set of usernames still not found - """ - def old_not_found_users_store_func(self, not_found_users): - # we expect not found old users if an existing user (with TwitterUser and - # TwitterUserSnapshot records) is deleted/suspended... - # we still want to keep snapshots - for user_id in list(not_found_users): - try: - if not self.db_session.query(TwitterUser).filter(TwitterUser.screen_name == user_id).first(): - user_snapshot_record = TwitterUserSnapshot( - twitter_user_id = user_id, - created_at = created_at, # is UTC; expected string format: "Mon Nov 29 21:18:15 +0000 2010" - # should we have thses??? - statuses_count = None, - followers_count = None, - friends_count = None, - verified = None, - user_state = TwitterUserState.NOT_FOUND.value, - user_json = None) - self.db_session.add(user_snapshot_record) - - - except: - self.log.error("Error while creating TwitterUserSnapshot object for user {0}".format(user_id)) - try: - self.db_session.commit() - self.log.info("Saved {0} not_found twitter users' info.".format(len(not_found_users))) - except: - self.log.error("Error while saving DB Session for {0} not_found twitter users' info.".format(len(not_found_users))) - - - # unarchived_users is a set - def archive_users(self, unarchived_users, found_users_store_func, not_found_users_store_func, has_ids=False): - if len(unarchived_users) <= 0: + def query_and_archive_user_snapshots_and_tweets(self, min_time): + need_snapshot_user_snapshots = self.db_session.query( + TwitterUserSnapshot.twitter_user_id, func.max(TwitterUserSnapshot.record_created_at)).filter( + TwitterUserSnapshot.record_created_at < min_time).group_by(TwitterUserSnapshot.twitter_user_id).all() + need_snapshot_user_ids_set = set([us.twitter_user_id for us in need_snapshot_user_snapshots]) # make sure to get unique ids + need_snapshot_user_ids = list(need_snapshot_user_ids_set) + + self.log.info("Need to update snapshots for {0} users".format(len(need_snapshot_user_ids_set))) + if len(need_snapshot_user_ids_set) <= 0: + return + + need_snapshot_users = self.db_session.query(TwitterUser).filter( + TwitterUser.id.in_(need_snapshot_user_ids)).all() + + # store TwitterUserSnapshot, update TwitterUser for all queried users + need_snapshot_id_to_user = {u.id: u for u in need_snapshot_users} + self.archive_old_users(need_snapshot_id_to_user) # TwitterUsers + + # store new tweets for users with CS_oldest_tweets_archived = PROCESSED + need_new_tweets_users = [u for u in need_snapshot_users if u.CS_oldest_tweets_archived == CS_JobState.PROCESSED.value] + self.log.info("Need to get new tweets for {0} users".format(len(need_new_tweets_users))) + self.with_user_records_archive_tweets(need_new_tweets_users) # TwitterUsers + + def archive_old_users(self, id_to_users): + is_test = type(id_to_users) is not dict + if len(id_to_users) <= 0: return None + user_ids = list(id_to_users.keys()) if not is_test else id_to_users # to accomodate tests.... - batch_size = 100 # limit should be 100 - not_found_users = unarchived_users # not_found_users references unarchived_users - users = list(unarchived_users) # copy as a list + if is_test: + id_to_users = {uid: None for uid in id_to_users} # to accomodate tests... - all_users_info = [] - # query batch_size at a time + batch_size = 100 # limit should be 100 prev_limit = 0 - for i in range(1,int(len(users)/batch_size)+2): + left_users = set(user_ids) + for i in range(1,int(len(user_ids)/batch_size)+2): rows = [] - limit = min(i*batch_size, len(users)) + limit = min(i*batch_size, len(user_ids)) if limit > prev_limit: # query twitter API for user info users_info = [] try: - this_users = users[prev_limit:limit] - if has_ids: - users_info = self.t.api.UsersLookup(user_id=this_users) - else: - users_info = self.t.api.UsersLookup(screen_name=this_users) + this_users = user_ids[prev_limit:limit] + users_info = self.t.api.UsersLookup(user_id=this_users) self.log.info("Queried for {0} Twitter users out of a total of {1} users, got {2} users".format( - limit-prev_limit, len(users), len(users_info))) + limit-prev_limit, len(user_ids), len(users_info))) + prev_limit = limit except twitter.error.TwitterError as e: self.log.error("Failed to query for Twitter users using api.UsersLookup: {0}".format(str(e))) - prev_limit = limit - + # for found users, commit to db - not_found_users = found_users_store_func(users_info, not_found_users) - all_users_info += users_info + for user_info in users_info: + user_json = json.loads(json.dumps(user_info._json).encode("utf-8", "replace")) if type(user_info) is twitter.models.User else user_info # to accomodate test fixture data + screen_name = user_json["screen_name"].lower() + uid = str(user_json["id"]) + user = id_to_users[uid] # TwitterUser record + + user_state = TwitterUserState.FOUND if not user_json["protected"] else TwitterUserState.PROTECTED + if user_state == TwitterUserState.PROTECTED: + # disambiguate with user timeline call. throw away statuses, job_state + (statuses, t_user_state, job_state) = self.get_statuses_user_state(self, user_id, count=1) + if t_user_state and t_user_state is not TwitterUserState.PROTECTED: + user_state = t_user_state + + try: + # update TwitterUser record + user = id_to_users[uid] + user.screen_name = screen_name + user.record_updated_at = datetime.datetime.utcnow() + user.lang = user_json["lang"] + user.state = user_state.value + + # create first TwitterUserSnapshot record + user_snapshot_record = TwitterUserSnapshot( + twitter_user_id = uid, + record_created_at = datetime.datetime.utcnow(), + user_state = user_state.value, + user_json = json.dumps(user_json)) #already encoded + self.db_session.add(user_snapshot_record) + + left_users.discard(uid) # discard doesn't throw an error + except: + self.log.error("Error while updating TwitterUser, creating TwitterUserSnapshot object for user {0}".format(user_json["id"])) - # TODO: at the end, for not found users, determine suspended or deleted in a better way than right now. - # right now, we can tell when we call self.archive_user_tweets(user) - not_found_users_store_func(not_found_users) - - if not has_ids: - return all_users_info + try: + self.db_session.commit() + self.log.info("Saved {0} found twitter users' info.".format(len(users_info))) + except: + self.log.error("Error while saving DB Session for TwitterUser, TwitterUserSnapshot object for {0} users".format( + len(users_info)), extra=sys.exc_info()[0]) + # at end, for left_users (users not found), commit to db + for uid in list(left_users): + try: + # update TwitterUser record + user = id_to_users[uid] + user.record_updated_at = datetime.datetime.utcnow() + user.user_state = TwitterUserState.NOT_FOUND.value - def archive_user_tweets(self, user_id): - query_newest_tweet_stored_time = self.db_session.query( - func.max(TwitterStatus.created_at)).filter( - TwitterStatus.user_id == user_id).first() + # create first TwitterUserSnapshot record + user_snapshot_record = TwitterUserSnapshot( + twitter_user_id = uid, + record_created_at = datetime.datetime.utcnow(), + user_state = TwitterUserState.NOT_FOUND.value) + self.db_session.add(user_snapshot_record) - # probably a bit redundant but can fix later - newest_tweet_stored_time = query_newest_tweet_stored_time if query_newest_tweet_stored_time is None else query_newest_tweet_stored_time[0] - max_id_queried = None # oldest seen ever from GetUserTimeline - oldest_id_queried = None # oldest seen in each GetUserTimeline batch - seen_statuses = set([]) + except: + self.log.error("Error while updating TwitterUser, creating TwitterUserSnapshot object for user {0}".format(user_json["id"])) try: - while True: - prev_seen_statuses_length = len(seen_statuses) - statuses = self.t.api.GetUserTimeline(user_id=user_id, count=200, max_id=max_id_queried) - - if statuses: - self.log.info("Queried total of {0} tweets for account {1}".format(len(statuses), user_id)) - statuses_jsons = [json.loads(json.dumps(status._json).encode("utf-8", "replace")) if type(status) is twitter.models.Status else status for status in statuses] # to accomodate test fixture data] - sorted_statuses_jsons = sorted(statuses_jsons, key=lambda s: datetime.datetime.strptime(s["created_at"], "%a %b %d %H:%M:%S %z %Y")) - for i, status_json in enumerate(sorted_statuses_jsons): - self.log.info("{0}: {1}".format(i, status_json["created_at"])) - status_id = status_json["id"] - created_at = datetime.datetime.strptime(status_json["created_at"], "%a %b %d %H:%M:%S %z %Y") - # if status hasn't been stored before, store - if not newest_tweet_stored_time or created_at > newest_tweet_stored_time: - self.log.info("^saved") - try: - status_record = TwitterStatus( - id = status_id, - user_id = status_json["user"]["id"], - created_at = created_at, #"Sun Apr 16 17:11:30 +0000 2017" - status_data = json.dumps(status_json)) - self.db_session.add(status_record) - seen_statuses.add(status_id) - except: - self.log.error("Error while creating TwitterStatus object for user {0}, status id {1}".format(status_json["user"]["id"]["screen_name"], status_id)) - newest_tweet_stored_time = max(created_at, newest_tweet_stored_time) if newest_tweet_stored_time else created_at - oldest_id_queried = min(oldest_id_queried, status_id) if oldest_id_queried else status_id - else: - self.log.error("Unexpected error while calling api.GetUserTimeline on user_id {0}: nothing returned".format(user_id)) + self.db_session.commit() + self.log.info("Saved {0} not_found twitter users' info.".format(len(left_users))) + except: + self.log.error("Error while saving DB Session for {0} not_found twitter users' info.".format( + len(left_users)), extra=sys.exc_info()[0]) - try: - self.db_session.commit() - self.log.info("Saved {0} statuses for user {1}.".format(len(seen_statuses) - prev_seen_statuses_length, user_id)) - except: - self.log.error("Error while saving DB Session for {0} statuses for user {1}.".format(len(seen_statuses) - prev_seen_statuses_length, user_id)) - - if len(statuses) == 0 or prev_seen_statuses_length == len(seen_statuses): - break - if max_id_queried is None or oldest_id_queried < max_id_queried: - max_id_queried = oldest_id_queried - else: - break + + + ######################################################### + ################### ARCHIVE TWEET CODE + ######################################################### + + def query_and_archive_tweets(self): + unarchived_users = self.db_session.query(TwitterUser).filter( + TwitterUser.CS_oldest_tweets_archived == CS_JobState.NOT_PROCESSED.value).all() + + self.with_user_records_archive_tweets(unarchived_users) + + + def with_user_records_archive_tweets(self, user_records): + utils.common.update_CS_JobState(user_records, "CS_oldest_tweets_archived", CS_JobState.IN_PROGRESS, self.db_session, self.log) + + user_to_state = {} + for user in user_records: + state = self.archive_user_tweets(user.id) + user_to_state[user] = state + + utils.common.update_all_CS_JobState(user_to_state, "CS_oldest_tweets_archived", self.db_session, self.log) + + # returns (statuses, user_state, job_state) + def get_statuses_user_state(self, user_id, count=200, max_id=None, job_state=CS_JobState.FAILED): + (statuses, user_state, job_state) = (None, None, job_state) + try: + statuses = self.t.api.GetUserTimeline(user_id=user_id, count=count, max_id=max_id) except twitter.error.TwitterError as e: self.log.info(e) - # TODO: un-jankify this error handling/parsing code + # TODO: un-jankify this error handling/parsing code. might not get much better though state = None if e.message == "Not authorized.": # Account is either protected or suspended - state = TwitterUserState.SUSPENDED.value + user_state = TwitterUserState.SUSPENDED.value elif e.message[0]['code'] == 34: # message = "Sorry, that page does not exist." - state = TwitterUserState.NOT_FOUND.value + user_state = TwitterUserState.NOT_FOUND.value else: - self.log.error("Unexpected exception while calling api.GetUserTimeline on user {0}: {1}".format(screen_name, e)) - - if state: - # TODO: this is updating TwitterUser object. should we instead update the snapshots? - queried_user = self.db_session.query(TwitterUser).filter(TwitterUser.screen_name == screen_name).first() # record should exist - if queried_user.user_state is not TwitterUserState.PROTECTED.value: - # if user is protected, this update will not have been helpful - queried_user.user_state = state - try: - self.db_session.commit() - self.log.info("Updated twitter user {0}'s state to {1}.".format(screen_name, state)) - except: - self.log.error("Error while saving DB Session") + self.log.error("Unexpected twitter.error.TwitterError exception while calling api.GetUserTimeline on user {0}: {1}".format(screen_name, e)) + job_state = CS_JobState.NEEDS_RETRY + job_state = CS_JobState.PROCESSED + return (statuses, user_state, job_state) + + + # given user_id, archive user tweets. + # also updates TwitterUser record if new user_state info + def archive_user_tweets(self, user_id): + job_state = CS_JobState.PROCESSED + + query_oldest_id = self.db_session.query( + func.max(TwitterStatus.id)).filter( + TwitterStatus.user_id == user_id).first() + + oldest_id_queried = None if query_oldest_id is None else query_oldest_id[0] + seen_statuses = set([]) # set of ids added this time + count = 200 + while True: + + # get statuses and job_state from twitter API. don't use user_state + (statuses, user_state, job_state) = self.get_statuses_user_state(user_id, count, oldest_id_queried) + + if not statuses: + self.log.error("Unexpected error while calling api.GetUserTimeline on user_id {0}: nothing returned".format(user_id)) + job_state = CS_JobState.FAILED + break + if len(statuses) == 0: + break + self.log.info("Queried total of {0} tweets for account {1}".format(len(statuses), user_id)) + + # store TwitterStatus es + statuses_jsons = [json.loads(json.dumps(status._json).encode("utf-8", "replace")) if type(status) is twitter.models.Status else status for status in statuses] # to accomodate test fixture data] + sorted_statuses_jsons = sorted(statuses_jsons, key=lambda s: datetime.datetime.strptime(s["created_at"], TWITTER_DATETIME_STR_FORMAT)) + prev_seen_statuses_length = len(seen_statuses) + for i, status_json in enumerate(sorted_statuses_jsons): + status_id = status_json["id"] + created_at = datetime.datetime.strptime(status_json["created_at"], TWITTER_DATETIME_STR_FORMAT) + # if status hasn't been stored before, store + if ((not oldest_id_queried) or (status_id > oldest_id_queried)) and (status_id not in seen_statuses): + try: + status_record = TwitterStatus( + id = status_id, + user_id = str(status_json["user"]["id"]), + record_created_at = datetime.datetime.utcnow(), + created_at = created_at, #"Sun Apr 16 17:11:30 +0000 2017" + status_data = json.dumps(status_json)) + self.db_session.add(status_record) + seen_statuses.add(status_id) + except: + self.log.error("Error while creating TwitterStatus object for user {0}, status id {1}".format(status_json["user"]["id"]["screen_name"], status_id)) + job_state = CS_JobState.FAILED + try: + self.db_session.commit() + self.log.info("Saved {0} statuses for user {1}.".format(len(seen_statuses) - prev_seen_statuses_length, user_id)) + except: + self.log.error("Error while saving DB Session for {0} statuses for user {1}.".format( + len(seen_statuses) - prev_seen_statuses_length, user_id), extra=sys.exc_info()[0]) + job_state = CS_JobState.FAILED + if prev_seen_statuses_length == len(seen_statuses): + break + if oldest_id_queried is None or min(seen_statuses) < oldest_id_queried: + oldest_id_queried = min(seen_statuses) + else: + break + + return job_state diff --git a/app/models.py b/app/models.py index 172d28c..20d4dbc 100644 --- a/app/models.py +++ b/app/models.py @@ -37,11 +37,9 @@ class SubredditPage(Base): page_data = Column(MEDIUMTEXT) is_utc = Column(Boolean, default=False) -# TODO: just noticed there are 2 created_at columns???? class Post(Base): __tablename__ = 'posts' id = Column(String(32), primary_key = True, unique=True, autoincrement=False) # post id - created_at = Column(DateTime, default=datetime.datetime.utcnow) subreddit_id = Column(String(32)) # "subreddit_id" created = Column(DateTime) # "created" #when this record was created: @@ -177,48 +175,48 @@ class ExperimentAction(Base): class LumenNotice(Base): __tablename__ = 'lumen_notices' id = Column(BigInteger, primary_key = True) - date_received = Column(DateTime, default=datetime.datetime.utcnow) + record_created_at = Column(DateTime, default=datetime.datetime.utcnow) + date_received = Column(DateTime, default=None) sender = Column(String(256)) principal = Column(String(256)) recipient = Column(String(256)) notice_data = Column(MEDIUMTEXT) - CS_parsed_usernames = Column(Boolean, default=False) + CS_parsed_usernames = Column(Integer, default=1) # see CS_JobState Enum +# twitter_username is the username parsed from the notice; may change later, but these changes will not be reflected in this record. +# use twitter_use_id to join with TwitterUser, TwitterUserSnapshot, TwitterStatus class LumenNoticeToTwitterUser(Base): __tablename__ = 'lumen_notice_to_twitter_user' id = Column(Integer, primary_key = True) + record_created_at = Column(DateTime, default=datetime.datetime.utcnow) notice_id = Column(BigInteger, index=True) - twitter_username = Column(String(256), index = True) - twitter_user_id = Column(String(64), index = True) - CS_account_queried = Column(Boolean, default=False) + twitter_username = Column(String(256), index = True) # if not found, NOT_FOUND_TWITTER_USER_STR + twitter_user_id = Column(String(64), index = True) # if not found, NOT_FOUND_TWITTER_USER_STR_[date] + CS_account_archived = Column(Integer, default=1) # see CS_JobState Enum +# most up to date knowledge about a user at a current time class TwitterUser(Base): __tablename__ = 'twitter_users' - id = Column(String(64), primary_key = True) # should be lowercase - screen_name = Column(String(256), index = True) - created_at = Column(DateTime) - lang = Column(String(32)) - user_state = Column(Integer) # utils/common.py - CS_most_tweets_queried = Column(Boolean, default=False) + id = Column(String(64), primary_key = True) # should be lowercase; if not found, # if not found, NOT_FOUND_TWITTER_USER_STR_[date] + screen_name = Column(String(256), index = True) # if not found, # if not found, NOT_FOUND_TWITTER_USER_STR + created_at = Column(DateTime) + record_created_at = Column(DateTime, default=datetime.datetime.utcnow) + lang = Column(String(32)) + user_state = Column(Integer) # utils/common.py + CS_oldest_tweets_archived = Column(Integer, default=1) # see CS_JobState Enum class TwitterUserSnapshot(Base): __tablename__ = 'twitter_user_snapshots' - id = Column(Integer, primary_key = True) - twitter_user_id = Column(String(64), index = True) - created_at = Column(DateTime, default=datetime.datetime.utcnow) - user_state = Column(Integer) # utils/common.py - user_json = Column(MEDIUMTEXT) - - # should we have thses??? - statuses_count = Column(Integer) - followers_count = Column(Integer) - friends_count = Column(Integer) - verified = Column(Boolean) + id = Column(Integer, primary_key = True) + twitter_user_id = Column(String(64), index = True) + record_created_at = Column(DateTime, default=datetime.datetime.utcnow) + user_state = Column(Integer) # utils/common.py + user_json = Column(MEDIUMTEXT) class TwitterStatus(Base): __tablename__ = 'twitter_statuses' - id = Column(BigInteger, primary_key = True) - user_id = Column(String(64), index = True) - #is_reply = Column(Boolean) # i'm going delete? - created_at = Column(DateTime) - status_data = Column(MEDIUMTEXT) \ No newline at end of file + id = Column(BigInteger, primary_key = True) + user_id = Column(String(64), index = True) + created_at = Column(DateTime) + record_created_at = Column(DateTime, default=datetime.datetime.utcnow) + status_data = Column(MEDIUMTEXT) \ No newline at end of file diff --git a/tests/test_controllers.py b/tests/test_controllers.py index 88ef230..9727c29 100644 --- a/tests/test_controllers.py +++ b/tests/test_controllers.py @@ -51,7 +51,7 @@ def teardown_function(function): clear_all_tables() - +""" @patch('praw.Reddit', autospec=True) @patch('praw.objects.Subreddit', autospec=True) def test_archive_reddit_front_page(mock_subreddit, mock_reddit): @@ -714,7 +714,7 @@ def test_archive_mod_action_page(mock_reddit): assert db_session.query(ModAction).count() == len(mod_action_fixtures[0]) + len(mod_action_fixtures[1]) assert last_action_id == mod_action_fixtures[1][-1]['id'] """ -""" + @patch('app.connections.lumen_connect.LumenConnect', autospec=True) def test_archive_lumen_notices(mock_LumenConnect): @@ -779,7 +779,7 @@ def test_parse_notices_archive_users(mock_LumenConnect, mock_get): all_notices = db_session.query(LumenNoticeToTwitterUser).all() assert len(all_notices) == 140 - +# TODO: need to patch get_statuses_user_state # TODO: currently this test does not test user list with len>90, so as to not call api.UsersLookup more than once, which is difficult to mock @patch('twitter.Api', autospec=True) @patch('app.connections.twitter_connect.TwitterConnect', autospec=True) @@ -804,8 +804,7 @@ def test_archive_new_users(mock_TwitterConnect, mock_twitter): ####### essentially query_and_archive_new_users - all_users_info = twitter.archive_users(set(users), twitter.new_found_users_store_func, twitter.new_not_found_users_store_func, has_ids=False) - assert len(all_users_info) == 80 + twitter.archive_new_users(users) found_notices = db_session.query(TwitterUser).filter(TwitterUser.user_state == TwitterUserState.FOUND.value).all() assert len(found_notices) == 80 @@ -817,6 +816,7 @@ def test_archive_new_users(mock_TwitterConnect, mock_twitter): assert len(all_notices) == len(users) +# TODO: need to patch get_statuses_user_state # TODO: currently this test does not test user list with len>90, so as to not call api.UsersLookup more than once, which is difficult to mock @patch('twitter.Api', autospec=True) @patch('app.connections.twitter_connect.TwitterConnect', autospec=True) @@ -840,7 +840,7 @@ def test_archive_old_users(mock_TwitterConnect, mock_twitter): users = json.loads(f.read()) ####### essentially query_and_archive_user_snapshots_and_tweets - all_users_info = twitter.archive_users(set(users), twitter.old_found_users_store_func, twitter.old_not_found_users_store_func, has_ids=True) + twitter.archive_old_users(users) found_notices = db_session.query(TwitterUserSnapshot).all() assert len(found_notices) == 80 @@ -909,6 +909,8 @@ def mocked_GetUserTimeline(user_id, count=None, max_id=None): break +""" +""" """ Should also test: lumen.query_and_parse_notices_archive_users() diff --git a/utils/common.py b/utils/common.py index d2d7709..36dd6af 100644 --- a/utils/common.py +++ b/utils/common.py @@ -3,7 +3,7 @@ from collections import namedtuple import datetime -NOT_FOUND_TWITTER_USER_STR = "" +NOT_FOUND_TWITTER_USER_STR = "" class PageType(Enum): TOP = 1 @@ -37,15 +37,15 @@ def update_all_CS_JobState(row_to_state, field, db_session, log): log.info("Updated 0 CS_JobState fields.") return - for row in row_to_state: - setattr(row, field, row_to_state[row]) + log.info(row_to_state[row].value) + setattr(row, field, row_to_state[row].value) try: db_session.commit() - log.info("Updated {0} {1} {2} fields to new CS_JobState.".format(len(row_to_state), type(list(row_to_state.keys)()[0]), field)) + log.info("Updated {0} {1} {2} fields to new CS_JobState.".format(len(row_to_state), type(list(row_to_state.keys())[0]), field)) except: - log.error("Error while saving DB Session for updating {0} {1} {2} fields to new CS_JobState.".format(len(row_to_state), type(list(row_to_state.keys())[0]), field)) + log.error("Error while saving DB Session for updating {0} {1} {2} fields to new CS_JobState.".format(len(row_to_state), type(list(row_to_state.keys())[0]), field), extra=sys.exc_info()[0]) def update_CS_JobState(rows, field, to_state, db_session, log): @@ -54,12 +54,12 @@ def update_CS_JobState(rows, field, to_state, db_session, log): return for row in rows: - setattr(row, field, to_state) + setattr(row, field, to_state.value) try: db_session.commit() log.info("Updated {0} {1} {2} fields to {3}.".format(len(rows), type(rows[0]), field, to_state)) except: - log.error("Error while saving DB Session for updating {0} {1} {2} fields to {3}.".format(len(rows), type(rows[0]), field, to_state)) + log.error("Error while saving DB Session for updating {0} {1} {2} fields to {3}.".format(len(rows), type(rows[0]), field, to_state), extra=sys.exc_info()[0]) class ParseUsernameSuspendedUserFound(Exception): From e948782e2fd8ca49bb4b07f62a3affad0705ff20 Mon Sep 17 00:00:00 2001 From: = <=> Date: Fri, 12 May 2017 00:11:11 -0400 Subject: [PATCH 011/221] updated alembic scripts to keep dev, production, and test synchronized --- ...6d8d9abcb93_create_lumen_twitter_tables.py | 44 +++++++++---------- 1 file changed, 20 insertions(+), 24 deletions(-) diff --git a/alembic/versions/76d8d9abcb93_create_lumen_twitter_tables.py b/alembic/versions/76d8d9abcb93_create_lumen_twitter_tables.py index d083467..81b213d 100644 --- a/alembic/versions/76d8d9abcb93_create_lumen_twitter_tables.py +++ b/alembic/versions/76d8d9abcb93_create_lumen_twitter_tables.py @@ -145,23 +145,21 @@ def upgrade_test(): sa.PrimaryKeyConstraint('id') ) op.create_index(op.f('ix_twitter_users_screen_name'), 'twitter_users', ['screen_name'], unique=False) - op.add_column('twitter_user_snapshots', sa.Column('record_created_at', sa.DateTime(), nullable=True)) - op.drop_column('twitter_user_snapshots', 'statuses_count') - op.drop_column('twitter_user_snapshots', 'verified') - op.drop_column('twitter_user_snapshots', 'created_at') - op.drop_column('twitter_user_snapshots', 'followers_count') - op.drop_column('twitter_user_snapshots', 'friends_count') + op.create_table('twitter_user_snapshots', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('twitter_user_id', sa.String(length=64), nullable=True), + sa.Column('record_created_at', sa.DateTime(), nullable=True), + sa.Column('user_state', sa.Integer(), nullable=True), + sa.Column('user_json', mysql.MEDIUMTEXT(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) # ### end Alembic commands ### def downgrade_test(): # ### commands auto generated by Alembic - please adjust! ### - op.add_column('twitter_user_snapshots', sa.Column('friends_count', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True)) - op.add_column('twitter_user_snapshots', sa.Column('followers_count', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True)) - op.add_column('twitter_user_snapshots', sa.Column('created_at', mysql.DATETIME(), nullable=True)) - op.add_column('twitter_user_snapshots', sa.Column('verified', mysql.TINYINT(display_width=1), autoincrement=False, nullable=True)) - op.add_column('twitter_user_snapshots', sa.Column('statuses_count', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True)) - op.drop_column('twitter_user_snapshots', 'record_created_at') + op.drop_index(op.f('ix_twitter_user_snapshots_twitter_user_id'), table_name='twitter_user_snapshots') + op.drop_table('twitter_user_snapshots') op.drop_index(op.f('ix_twitter_users_screen_name'), table_name='twitter_users') op.drop_table('twitter_users') op.drop_index(op.f('ix_twitter_statuses_user_id'), table_name='twitter_statuses') @@ -219,23 +217,21 @@ def upgrade_production(): sa.PrimaryKeyConstraint('id') ) op.create_index(op.f('ix_twitter_users_screen_name'), 'twitter_users', ['screen_name'], unique=False) - op.add_column('twitter_user_snapshots', sa.Column('record_created_at', sa.DateTime(), nullable=True)) - op.drop_column('twitter_user_snapshots', 'statuses_count') - op.drop_column('twitter_user_snapshots', 'verified') - op.drop_column('twitter_user_snapshots', 'created_at') - op.drop_column('twitter_user_snapshots', 'followers_count') - op.drop_column('twitter_user_snapshots', 'friends_count') + op.create_table('twitter_user_snapshots', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('twitter_user_id', sa.String(length=64), nullable=True), + sa.Column('record_created_at', sa.DateTime(), nullable=True), + sa.Column('user_state', sa.Integer(), nullable=True), + sa.Column('user_json', mysql.MEDIUMTEXT(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) # ### end Alembic commands ### def downgrade_production(): # ### commands auto generated by Alembic - please adjust! ### - op.add_column('twitter_user_snapshots', sa.Column('friends_count', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True)) - op.add_column('twitter_user_snapshots', sa.Column('followers_count', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True)) - op.add_column('twitter_user_snapshots', sa.Column('created_at', mysql.DATETIME(), nullable=True)) - op.add_column('twitter_user_snapshots', sa.Column('verified', mysql.TINYINT(display_width=1), autoincrement=False, nullable=True)) - op.add_column('twitter_user_snapshots', sa.Column('statuses_count', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True)) - op.drop_column('twitter_user_snapshots', 'record_created_at') + op.drop_index(op.f('ix_twitter_user_snapshots_twitter_user_id'), table_name='twitter_user_snapshots') + op.drop_table('twitter_user_snapshots') op.drop_index(op.f('ix_twitter_users_screen_name'), table_name='twitter_users') op.drop_table('twitter_users') op.drop_index(op.f('ix_twitter_statuses_user_id'), table_name='twitter_statuses') From 40b3fc3de1741eb0af2d6dd0dfcb5494501699ac Mon Sep 17 00:00:00 2001 From: mmou Date: Fri, 12 May 2017 04:19:10 -0400 Subject: [PATCH 012/221] make twitter lumen code work. add schedule_twitter_jobs.py. tests don't work. --- ...05f7dda83a_create_lumen_twitter_tables.py} | 66 ++- app/connections/lumen_connect.py | 9 +- app/controller.py | 11 +- app/controllers/lumen_controller.py | 92 ++-- app/controllers/twitter_controller.py | 419 ++++++++++++------ app/controllers/twitter_controller_old.py | 355 +++++++++++++++ app/models.py | 4 + common-commands.txt | 10 + schedule_twitter_jobs.py | 113 +++++ utils/common.py | 10 +- 10 files changed, 878 insertions(+), 211 deletions(-) rename alembic/versions/{76d8d9abcb93_create_lumen_twitter_tables.py => 6605f7dda83a_create_lumen_twitter_tables.py} (85%) create mode 100644 app/controllers/twitter_controller_old.py create mode 100644 schedule_twitter_jobs.py diff --git a/alembic/versions/76d8d9abcb93_create_lumen_twitter_tables.py b/alembic/versions/6605f7dda83a_create_lumen_twitter_tables.py similarity index 85% rename from alembic/versions/76d8d9abcb93_create_lumen_twitter_tables.py rename to alembic/versions/6605f7dda83a_create_lumen_twitter_tables.py index 81b213d..f4822e0 100644 --- a/alembic/versions/76d8d9abcb93_create_lumen_twitter_tables.py +++ b/alembic/versions/6605f7dda83a_create_lumen_twitter_tables.py @@ -1,13 +1,13 @@ """create lumen twitter tables -Revision ID: 76d8d9abcb93 +Revision ID: 6605f7dda83a Revises: 16dbded8a5cf -Create Date: 2017-05-02 20:25:42.854191 +Create Date: 2017-05-12 01:53:47.112675 """ # revision identifiers, used by Alembic. -revision = '76d8d9abcb93' +revision = '6605f7dda83a' down_revision = '16dbded8a5cf' branch_labels = None depends_on = None @@ -64,14 +64,17 @@ def upgrade_development(): op.create_table('twitter_user_snapshots', sa.Column('id', sa.Integer(), nullable=False), sa.Column('twitter_user_id', sa.String(length=64), nullable=True), + sa.Column('twitter_not_found_id', sa.String(length=64), nullable=True), sa.Column('record_created_at', sa.DateTime(), nullable=True), sa.Column('user_state', sa.Integer(), nullable=True), sa.Column('user_json', mysql.MEDIUMTEXT(), nullable=True), sa.PrimaryKeyConstraint('id') ) + op.create_index(op.f('ix_twitter_user_snapshots_twitter_not_found_id'), 'twitter_user_snapshots', ['twitter_not_found_id'], unique=False) op.create_index(op.f('ix_twitter_user_snapshots_twitter_user_id'), 'twitter_user_snapshots', ['twitter_user_id'], unique=False) op.create_table('twitter_users', sa.Column('id', sa.String(length=64), nullable=False), + sa.Column('not_found_id', sa.String(length=64), nullable=True), sa.Column('screen_name', sa.String(length=256), nullable=True), sa.Column('created_at', sa.DateTime(), nullable=True), sa.Column('record_created_at', sa.DateTime(), nullable=True), @@ -80,6 +83,7 @@ def upgrade_development(): sa.Column('CS_oldest_tweets_archived', sa.Integer(), nullable=True), sa.PrimaryKeyConstraint('id') ) + op.create_index(op.f('ix_twitter_users_not_found_id'), 'twitter_users', ['not_found_id'], unique=False) op.create_index(op.f('ix_twitter_users_screen_name'), 'twitter_users', ['screen_name'], unique=False) # ### end Alembic commands ### @@ -87,8 +91,10 @@ def upgrade_development(): def downgrade_development(): # ### commands auto generated by Alembic - please adjust! ### op.drop_index(op.f('ix_twitter_users_screen_name'), table_name='twitter_users') + op.drop_index(op.f('ix_twitter_users_not_found_id'), table_name='twitter_users') op.drop_table('twitter_users') op.drop_index(op.f('ix_twitter_user_snapshots_twitter_user_id'), table_name='twitter_user_snapshots') + op.drop_index(op.f('ix_twitter_user_snapshots_twitter_not_found_id'), table_name='twitter_user_snapshots') op.drop_table('twitter_user_snapshots') op.drop_index(op.f('ix_twitter_statuses_user_id'), table_name='twitter_statuses') op.drop_table('twitter_statuses') @@ -134,8 +140,20 @@ def upgrade_test(): sa.PrimaryKeyConstraint('id') ) op.create_index(op.f('ix_twitter_statuses_user_id'), 'twitter_statuses', ['user_id'], unique=False) + op.create_table('twitter_user_snapshots', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('twitter_user_id', sa.String(length=64), nullable=True), + sa.Column('twitter_not_found_id', sa.String(length=64), nullable=True), + sa.Column('record_created_at', sa.DateTime(), nullable=True), + sa.Column('user_state', sa.Integer(), nullable=True), + sa.Column('user_json', mysql.MEDIUMTEXT(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_index(op.f('ix_twitter_user_snapshots_twitter_not_found_id'), 'twitter_user_snapshots', ['twitter_not_found_id'], unique=False) + op.create_index(op.f('ix_twitter_user_snapshots_twitter_user_id'), 'twitter_user_snapshots', ['twitter_user_id'], unique=False) op.create_table('twitter_users', sa.Column('id', sa.String(length=64), nullable=False), + sa.Column('not_found_id', sa.String(length=64), nullable=True), sa.Column('screen_name', sa.String(length=256), nullable=True), sa.Column('created_at', sa.DateTime(), nullable=True), sa.Column('record_created_at', sa.DateTime(), nullable=True), @@ -144,24 +162,19 @@ def upgrade_test(): sa.Column('CS_oldest_tweets_archived', sa.Integer(), nullable=True), sa.PrimaryKeyConstraint('id') ) + op.create_index(op.f('ix_twitter_users_not_found_id'), 'twitter_users', ['not_found_id'], unique=False) op.create_index(op.f('ix_twitter_users_screen_name'), 'twitter_users', ['screen_name'], unique=False) - op.create_table('twitter_user_snapshots', - sa.Column('id', sa.Integer(), nullable=False), - sa.Column('twitter_user_id', sa.String(length=64), nullable=True), - sa.Column('record_created_at', sa.DateTime(), nullable=True), - sa.Column('user_state', sa.Integer(), nullable=True), - sa.Column('user_json', mysql.MEDIUMTEXT(), nullable=True), - sa.PrimaryKeyConstraint('id') - ) # ### end Alembic commands ### def downgrade_test(): # ### commands auto generated by Alembic - please adjust! ### - op.drop_index(op.f('ix_twitter_user_snapshots_twitter_user_id'), table_name='twitter_user_snapshots') - op.drop_table('twitter_user_snapshots') op.drop_index(op.f('ix_twitter_users_screen_name'), table_name='twitter_users') + op.drop_index(op.f('ix_twitter_users_not_found_id'), table_name='twitter_users') op.drop_table('twitter_users') + op.drop_index(op.f('ix_twitter_user_snapshots_twitter_user_id'), table_name='twitter_user_snapshots') + op.drop_index(op.f('ix_twitter_user_snapshots_twitter_not_found_id'), table_name='twitter_user_snapshots') + op.drop_table('twitter_user_snapshots') op.drop_index(op.f('ix_twitter_statuses_user_id'), table_name='twitter_statuses') op.drop_table('twitter_statuses') op.drop_table('lumen_notices') @@ -206,8 +219,20 @@ def upgrade_production(): sa.PrimaryKeyConstraint('id') ) op.create_index(op.f('ix_twitter_statuses_user_id'), 'twitter_statuses', ['user_id'], unique=False) + op.create_table('twitter_user_snapshots', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('twitter_user_id', sa.String(length=64), nullable=True), + sa.Column('twitter_not_found_id', sa.String(length=64), nullable=True), + sa.Column('record_created_at', sa.DateTime(), nullable=True), + sa.Column('user_state', sa.Integer(), nullable=True), + sa.Column('user_json', mysql.MEDIUMTEXT(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_index(op.f('ix_twitter_user_snapshots_twitter_not_found_id'), 'twitter_user_snapshots', ['twitter_not_found_id'], unique=False) + op.create_index(op.f('ix_twitter_user_snapshots_twitter_user_id'), 'twitter_user_snapshots', ['twitter_user_id'], unique=False) op.create_table('twitter_users', sa.Column('id', sa.String(length=64), nullable=False), + sa.Column('not_found_id', sa.String(length=64), nullable=True), sa.Column('screen_name', sa.String(length=256), nullable=True), sa.Column('created_at', sa.DateTime(), nullable=True), sa.Column('record_created_at', sa.DateTime(), nullable=True), @@ -216,24 +241,19 @@ def upgrade_production(): sa.Column('CS_oldest_tweets_archived', sa.Integer(), nullable=True), sa.PrimaryKeyConstraint('id') ) + op.create_index(op.f('ix_twitter_users_not_found_id'), 'twitter_users', ['not_found_id'], unique=False) op.create_index(op.f('ix_twitter_users_screen_name'), 'twitter_users', ['screen_name'], unique=False) - op.create_table('twitter_user_snapshots', - sa.Column('id', sa.Integer(), nullable=False), - sa.Column('twitter_user_id', sa.String(length=64), nullable=True), - sa.Column('record_created_at', sa.DateTime(), nullable=True), - sa.Column('user_state', sa.Integer(), nullable=True), - sa.Column('user_json', mysql.MEDIUMTEXT(), nullable=True), - sa.PrimaryKeyConstraint('id') - ) # ### end Alembic commands ### def downgrade_production(): # ### commands auto generated by Alembic - please adjust! ### - op.drop_index(op.f('ix_twitter_user_snapshots_twitter_user_id'), table_name='twitter_user_snapshots') - op.drop_table('twitter_user_snapshots') op.drop_index(op.f('ix_twitter_users_screen_name'), table_name='twitter_users') + op.drop_index(op.f('ix_twitter_users_not_found_id'), table_name='twitter_users') op.drop_table('twitter_users') + op.drop_index(op.f('ix_twitter_user_snapshots_twitter_user_id'), table_name='twitter_user_snapshots') + op.drop_index(op.f('ix_twitter_user_snapshots_twitter_not_found_id'), table_name='twitter_user_snapshots') + op.drop_table('twitter_user_snapshots') op.drop_index(op.f('ix_twitter_statuses_user_id'), table_name='twitter_statuses') op.drop_table('twitter_statuses') op.drop_table('lumen_notices') diff --git a/app/connections/lumen_connect.py b/app/connections/lumen_connect.py index 163edb1..c856262 100644 --- a/app/connections/lumen_connect.py +++ b/app/connections/lumen_connect.py @@ -3,12 +3,6 @@ import os, inspect import utils.common import time -#import pickle -#from app.models import Base -#from sqlalchemy import create_engine -#from sqlalchemy.orm import sessionmaker -#import sqlalchemy -#from utils.common import DbEngine ENV = os.environ['CS_ENV'] @@ -23,7 +17,8 @@ def __init__(self, log): self.headers = { "Content-type": "application/json", "Accept": "application/json", - "X-Authentication-Token": LUMENCONFIG["X-Authentication-Token"] + "X-Authentication-Token": LUMENCONFIG["X-Authentication-Token"], + "User-Agent": "MerryMouCSBot/1.0" } self.log = log diff --git a/app/controller.py b/app/controller.py index 3881a8c..4a7c10b 100644 --- a/app/controller.py +++ b/app/controller.py @@ -136,11 +136,11 @@ def archive_experiment_submission_metadata(experiment_name): """ Archive lumen notices. """ -def fetch_lumen_notices(topics=None, date=None): +def fetch_lumen_notices(num_days=2): l = app.controllers.lumen_controller.LumenController(db_session, lumen_conn, log) - topics = topics if topics else ["Copyright"] # "Government Requests", #["Defamation","Protest, Parody and Criticism Sites","Law Enforcement Requests","International","Government Requests","DMCA Subpoenas","Court Orders"] - date = date if date else datetime.datetime.utcnow() - datetime.timedelta(days=2) # now-2days + topics = ["Copyright"] # "Government Requests", #["Defamation","Protest, Parody and Criticism Sites","Law Enforcement Requests","International","Government Requests","DMCA Subpoenas","Court Orders"] + date = date if date else datetime.datetime.utcnow() - datetime.timedelta(days=num_days) # now-2days l.archive_lumen_notices(topics, date) """ @@ -159,11 +159,12 @@ def fetch_twitter_users(): t.query_and_archive_new_users() """ -For all TwitterUserSnapshot.created_at older than x hours, fetch another snapshot +For all TwitterUserSnapshot.created_at older than x min, fetch another snapshot """ def fetch_twitter_snapshot_and_tweets(max_time_delta_min=60): t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) - date = datetime.datetime.utcnow() - datetime.timedelta(minutes=int(max_time_delta_min)) # now-1hour + now = datetime.datetime.utcnow() + date = now - datetime.timedelta(minutes=int(max_time_delta_min)) # now-1hour t.query_and_archive_user_snapshots_and_tweets(date) """ diff --git a/app/controllers/lumen_controller.py b/app/controllers/lumen_controller.py index 684fe0a..d31cc71 100644 --- a/app/controllers/lumen_controller.py +++ b/app/controllers/lumen_controller.py @@ -25,11 +25,12 @@ def archive_lumen_notices(self, topics, date): for topic in topics: next_page = 1 while next_page is not None: - data = self.l.get_notices_to_twitter([topic], 50, next_page, date, nowish) + #data = self.l.get_notices_to_twitter([topic], 50, next_page, date, nowish) - #with open("tests/fixture_data/lumen_notices_0.json") as f: - # data = json.loads(f.read())[:10] - notices_json = data["notices"] + with open("tests/fixture_data/lumen_notices_0.json") as f: + data = json.loads(f.read()) + + notices_json = data["notices"][13:20] next_page = data["meta"]["next_page"] added_notices = [] @@ -55,9 +56,10 @@ def archive_lumen_notices(self, topics, date): self.log.error("Error while creating LumenNotice object for notice {0}".format(notice["id"]), extra=sys.exc_info()[0]) try: self.db_session.commit() - self.log.info("Saved {0} lumen notices.".format(len(added_notices))) except: self.log.error("Error while saving {0} lumen notices in DB Session".format(len(added_notices)), extra=sys.exc_info()[0]) + else: + self.log.info("Saved {0} lumen notices.".format(len(added_notices))) """ @@ -74,14 +76,21 @@ def query_and_parse_notices_archive_users(self): """ - unparsed_notices = list of LumenNotice + unparsed_notices = list of LumenNotices + + returns: + notice_to_state = {LumenNotice: CS_JobState} """ def parse_notices_archive_users(self, unparsed_notices): + if len(unparsed_notices) == 0: + return {} + is_test = type(unparsed_notices[0]) is not LumenNotice if not is_test: # to accomodate test fixture data notice_to_state = {notice: CS_JobState.FAILED for notice in unparsed_notices } else: notice_to_state = {json.dumps(notice): CS_JobState.FAILED for notice in unparsed_notices } + for notice in unparsed_notices: notice_json = json.loads(notice.notice_data) if not is_test else notice # to accomodate test fixture data notice_users = set([]) @@ -93,11 +102,15 @@ def parse_notices_archive_users(self, unparsed_notices): url = url_obj["url"] try: username = helper_parse_url_for_username(url) + except utils.common.ParseUsernameSuspendedUserFound: + suspended_user_count += 1 + except Exception as e: + self.log.error("Unexpected error while calling helper_parse_url_for_username on url {0}: {1}".format(url, e)) + else: if username: # if no username, then no username found notice_users.add(username) - except utils.common.ParseUsernameSuspendedUserFound: - suspended_user_count += 1 + if len(work["copyrighted_urls"]) > 0: # I've only seen this empty self.log.error("method helper_parse_notices_archive_users: maybe missed something in notice_json['works']['copyrighted_urls']; notice id = {0}".format(notice_json["id"])) job_state = CS_JobState.NEEDS_RETRY @@ -108,53 +121,50 @@ def parse_notices_archive_users(self, unparsed_notices): self.log.error("method helper_parse_notices_archive_users: maybe missed something in notice_json['body']; notice id = {0}".format(notice_json["id"])) job_state = CS_JobState.NEEDS_RETRY - # don't process these users - existing_users = [] - if len(notice_users) > 0: - existing_users = self.db_session.query(TwitterUser).filter(TwitterUser.screen_name.in_(list(notice_users))).all() - + now = datetime.datetime.utcnow() # for every notice, commit LumenNoticeToTwitterUser records for username in notice_users: notice_user_record = LumenNoticeToTwitterUser( - record_created_at = datetime.datetime.utcnow(), + record_created_at = now, notice_id = notice_json["id"], twitter_username = username.lower(), twitter_user_id = None, - CS_account_archived = CS_JobState.PROCESSED.value if username in existing_users else CS_JobState.NOT_PROCESSED.value) + CS_account_archived = CS_JobState.NOT_PROCESSED.value + ) self.db_session.add(notice_user_record) + # this notice has suspended_user_count not found users (t.co URL redirected to an account/suspended page) for i in range(suspended_user_count): notice_user_record = LumenNoticeToTwitterUser( - record_created_at = datetime.datetime.utcnow(), + record_created_at = now, notice_id = notice_json["id"], twitter_username = utils.common.NOT_FOUND_TWITTER_USER_STR, twitter_user_id = utils.common.NOT_FOUND_TWITTER_USER_STR, - CS_account_archived = CS_JobState.NOT_PROCESSED.value) + CS_account_archived = CS_JobState.PROCESSED.value # can't do anything about these records. don't process + ) self.db_session.add(notice_user_record) try: self.db_session.commit() + except: + self.log.error("Error while saving {0} twitter users from {1} infringing_urls in notice {2} DB Session".format( + len(notice_users), + sum(len(work["infringing_urls"]) for work in notice_json["works"]), + notice_json["id"]), extra=sys.exc_info()[0]) + ####return notice_to_state + else: self.log.info("Saved {0} twitter users from {1} infringing_urls in notice {2}.".format( len(notice_users), sum(len(work["infringing_urls"]) for work in notice_json["works"]), notice_json["id"])) job_state = CS_JobState.PROCESSED if (job_state is not CS_JobState.NEEDS_RETRY) else CS_JobState.NEEDS_RETRY - if job_state is not None: - if not is_test: - notice_to_state[notice] = job_state - else: - notice_to_state[json.dumps(notice)] = job_state - except: - # TODO: make error messages more specific, aka Error while saving n LumenNoticeToTwitterUsers.... - self.log.error("Error while saving {0} twitter users from {1} infringing_urls in notice {2} DB Session".format( - len(notice_users), - sum(len(work["infringing_urls"]) for work in notice_json["works"]), - notice_json["id"]), extra=sys.exc_info()[0]) - return notice_to_state + key = notice if not is_test else json.dumps(notice) + notice_to_state[key] = job_state return notice_to_state + # assume url is of the form 'https://twitter.com/sooos243/status/852942353321140224' # OR check if a t.co url extends to a twitter.com url # interesting later study: see how many t.co links resolve to twitter links? @@ -163,27 +173,29 @@ def helper_parse_url_for_username(url): tco_domain = "t.co" username = None url_split = url.split("/") + retries = 3 # calling requests.get is very time inefficient - #""" - if len(url_split) >= 3 and url_split[2] == tco_domain: + if False: #len(url_split) >= 3 and url_split[2] == tco_domain: # try to get request and unshorten the url - try: - # TODO: better way to unshorten t.co links?? header-only requests?? - r = requests.get(url) - if r: + + r = None + while retries > 0: + try: + r = requests.get(url) url = r.url url_split = url.split("/") - else: - raise Exception - except: - return None + except: + retries -=1 + if retries == 0 and not r: + raise Exception if url == "https://twitter.com/account/suspended": - # TODO: then we have no information. what should we do about them? should we count these? + # TODO: then we have no information. # save a LumenNoticeToTwitterUser record, with username = "SUSPENDED" raise utils.common.ParseUsernameSuspendedUserFound if len(url_split) >= 3 and url_split[2] == twitter_domain: username = url_split[3] + return username diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 4476a88..0c59a96 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -12,9 +12,52 @@ TWITTER_DATETIME_STR_FORMAT = "%a %b %d %H:%M:%S %z %Y" -def generate_not_found_twitter_user_id(screen_name=""): - capped_screen_name = screen_name if len(screen_name)<30 else screen_name[:30] + "..." - return "{0}_{1}_{2}".format(NOT_FOUND_TWITTER_USER_STR, capped_screen_name, utils.common.time_since_epoch_ms(datetime.datetime.utcnow())) + +""" + +Some notes about twitter users: + +if in a LumenNoticeToTwitterUser record + twitter_username = utils.common.NOT_FOUND_TWITTER_USER_STR, + twitter_user_id = utils.common.NOT_FOUND_TWITTER_USER_STR, + + then + the account parsed from the link (a t.co link) now suspended. + we don't know the username or the userid, and never will. + we don't know if there are users mentioned more than once + so we do not store TwitterUser records for these users + +if in a TwitterUser record + id = [actual twitter id] + not_found_id = None + screen_name = name + + then + we had parsed a username from a link + and we found the user info + and the user has never been "not found" (NOT_FOUND or SUSPENDED) + +if in a TwitterUser record + id = utils.common.generate_not_found_twitter_user_id(name) + not_found_id = utils.common.generate_not_found_twitter_user_id(name) + screen_name = name + + then + we had parsed a username from a link + but we have never found the user info + the user has always been seen to be NOT_FOUND or SUSPENDED + +if in a TwitterUser record + id = [actualy twitter id] + not_found_id = utils.common.generate_not_found_twitter_user_id(name) + screen_name = name + + then + we had parsed a username from a link + at some point the user has also been FOUND or PROTECTED, since we found the user info + at some point the user has been NOT_FOUND or SUSPENDED (since we once assigned a not_found_id to them), + +""" class TwitterController(): def __init__(self, db_session, t, log): @@ -28,11 +71,24 @@ def __init__(self, db_session, t, log): def query_and_archive_new_users(self): unarchived_notice_users = self.db_session.query(LumenNoticeToTwitterUser).filter( - LumenNoticeToTwitterUser.CS_account_archived == CS_JobState.NOT_PROCESSED.value).all() + LumenNoticeToTwitterUser.CS_account_archived == CS_JobState.NOT_PROCESSED.value).filter( + LumenNoticeToTwitterUser.twitter_username != utils.common.NOT_FOUND_TWITTER_USER_STR).all() + + unarchived_names = [nu.twitter_username for nu in unarchived_notice_users] + + # don't process these users + existing_users = [] + if len(unarchived_names) > 0: + existing_users = self.db_session.query(TwitterUser).filter(TwitterUser.screen_name.in_(list(unarchived_names))).all() - utils.common.update_CS_JobState(unarchived_notice_users, "CS_account_archived", CS_JobState.IN_PROGRESS, self.db_session, self.log) + processed_unarchived_notice_users = [nu for nu in unarchived_notice_users if nu.twitter_username in existing_users] + utils.common.update_CS_JobState(processed_unarchived_notice_users, "CS_account_archived", CS_JobState.PROCESSED, self.db_session, self.log) - (user_name_to_id, noticeuser_to_state) = self.archive_new_users(unarchived_notice_users) + + unprocessed_unarchived_notice_users = [nu for nu in unarchived_notice_users if nu.twitter_username not in existing_users] + utils.common.update_CS_JobState(unprocessed_unarchived_notice_users, "CS_account_archived", CS_JobState.IN_PROGRESS, self.db_session, self.log) + + (user_name_to_id, noticeuser_to_state) = self.archive_new_users(unprocessed_unarchived_notice_users) # update LumenNoticeToTwitterUser records if user_name_to_id and noticeuser_to_state: @@ -41,28 +97,38 @@ def query_and_archive_new_users(self): noticeuser.twitter_user_id = user_name_to_id[noticeuser.twitter_username] try: self.db_session.commit() - self.log.info("Updated {0} LumenNoticeToTwitterUser.CS_account_archived,twitter_user_id fields.".format(len(noticeuser_to_state))) except: self.log.error("Error while saving DB Session for {0} LumenNoticeToTwitterUser.CS_account_archived,twitter_user_id fields.".format( len(noticeuser_to_state)), extra=sys.exc_info()[0]) + else: + self.log.info("Updated {0} LumenNoticeToTwitterUser.CS_account_archived,twitter_user_id fields.".format(len(noticeuser_to_state))) + + """ + returns + user_name_to_id = {name: id} + noticeuser_to_state = {LumenNoticeToTwitterUser: CS_JobState} + """ def archive_new_users(self, unarchived_notice_users): + if len(unarchived_notice_users) == 0: + return None, None + is_test = type(unarchived_notice_users[0]) is not LumenNoticeToTwitterUser if len(unarchived_notice_users) <= 0: return (None, None) - unarchived_user_names = set([nu.twitter_username for nu in unarchived_notice_users]) if not is_test else set(unarchived_notice_users) # to accomodate tests... + unarchived_user_names = set([nu.twitter_username for nu in unarchived_notice_users if utils.common.NOT_FOUND_TWITTER_USER_STR not in nu.twitter_username]) if not is_test else set([name for name in unarchived_notice_users if utils.common.NOT_FOUND_TWITTER_USER_STR not in name]) # to accomodate tests... user_names = list(unarchived_user_names) # to return user_name_to_id = {name: None for name in user_names} noticeuser_to_state = {nu: CS_JobState.FAILED for nu in unarchived_notice_users} if not is_test else {} # to accomodate tests.... - failed_users = set([]) # query batch_size at a time batch_size = 100 # limit should be 100 prev_limit = 0 left_users = unarchived_user_names # reference + failed_users = set([]) for i in range(1,int(len(user_names)/batch_size)+2): rows = [] @@ -73,41 +139,37 @@ def archive_new_users(self, unarchived_notice_users): this_users = user_names[prev_limit:limit] try: users_info = self.t.api.UsersLookup(screen_name=this_users) - self.log.info("Queried for {0} Twitter users out of a total of {1} users, got {2} users".format( - limit-prev_limit, len(user_names), len(users_info))) - prev_limit = limit except twitter.error.TwitterError as e: failed_users.update(this_users) self.log.error("Failed to query for Twitter users using api.UsersLookup: {0}".format(str(e))) - + else: + self.log.info("Queried for {0} Twitter users out of a total of {1} users, got {2} users".format( + limit-prev_limit, len(user_names), len(users_info))) + prev_limit = limit # for found users, commit to db - all_user_names = [] + all_found_users = [] for user_info in users_info: user_json = json.loads(json.dumps(user_info._json).encode("utf-8", "replace")) if type(user_info) is twitter.models.User else user_info # to accomodate test fixture data - all_user_names.append(user_json["screen_name"]) + all_found_users.append(user_json["screen_name"]) screen_name = user_json["screen_name"].lower() uid = user_json["id"] created_at = datetime.datetime.strptime(user_json["created_at"], TWITTER_DATETIME_STR_FORMAT) # determine user state user_state = TwitterUserState.FOUND if not user_json["protected"] else TwitterUserState.PROTECTED - if user_state == TwitterUserState.PROTECTED: - # disambiguate with user timeline call. throw away statuses, job_state - (statuses, t_user_state, job_state) = self.get_statuses_user_state(self, user_id, count=1) - self.log.info(t_user_state) - if t_user_state and t_user_state is not TwitterUserState.PROTECTED: - user_state = t_user_state - + user_name_to_id[screen_name] = uid + now = datetime.datetime.utcnow() try: # create TwitterUser record user_record = TwitterUser( id = uid, + not_found_id = None, screen_name = screen_name, #usernames change! index/search on id when possible created_at = created_at, # is UTC; expected string format: "Mon Nov 29 21:18:15 +0000 2010" - record_created_at = datetime.datetime.utcnow(), + record_created_at = now, lang = user_json["lang"], user_state = user_state.value, CS_oldest_tweets_archived = CS_JobState.NOT_PROCESSED.value) @@ -116,59 +178,70 @@ def archive_new_users(self, unarchived_notice_users): # create first TwitterUserSnapshot record user_snapshot_record = TwitterUserSnapshot( twitter_user_id = uid, - record_created_at = datetime.datetime.utcnow(), + twitter_not_found_id = None, + record_created_at = now, user_state = user_state.value, user_json = json.dumps(user_json)) #already encoded self.db_session.add(user_snapshot_record) left_users.discard(screen_name) # discard doesn't throw an error except: - self.log.error("Error while updating TwitterUser, creating TwitterUserSnapshot object for user {0}".format(user_json["id"])) + self.log.error("Error while creating TwitterUser, TwitterUserSnapshot objects for user {0}".format(user_json["id"]), extra=sys.exc_info()[0]) failed_users.add(screen_name) - try: - self.db_session.commit() - self.log.info("Saved {0} found twitter users' info.".format(len(users_info))) - except: - self.log.error("Error while saving DB Session for TwitterUser, TwitterUserSnapshot object for {0} users".format( - len(users_info)), extra=sys.exc_info()[0]) - failed_users.update(all_user_names) + if len(users_info) > 0: + try: + self.db_session.commit() + except: + self.log.error("Error while saving DB Session for TwitterUser, TwitterUserSnapshot object for {0} users".format( + len(users_info)), extra=sys.exc_info()[0]) + failed_users.update(all_found_users) + else: + self.log.info("Saved {0} found twitter users' info.".format(len(users_info))) # at end, for left_users (users not found), commit to db for name in left_users: - uid = generate_not_found_twitter_user_id(name) + uid = utils.common.generate_not_found_twitter_user_id(name) user_name_to_id[name] = uid + # disambiguate between NOT_FOUND, SUSPENDED + user_state = self.is_user_suspended_or_deleted(name) + + now = datetime.datetime.utcnow() try: # create TwitterUser record user_record = TwitterUser( id = uid, + not_found_id = uid, screen_name = name, created_at = None, - record_created_at = datetime.datetime.utcnow(), + record_created_at = now, lang = None, - user_state = TwitterUserState.NOT_FOUND.value, - CS_oldest_tweets_archived = CS_JobState.NOT_PROCESSED.value) + user_state = user_state.value, + CS_oldest_tweets_archived = CS_JobState.PROCESSED.value) # no tweets to find self.db_session.add(user_record) # also create first TwitterUserSnapshot record user_snapshot_record = TwitterUserSnapshot( twitter_user_id = uid, - record_created_at = datetime.datetime.utcnow(), - user_state = TwitterUserState.NOT_FOUND.value, + twitter_not_found_id = None, + record_created_at = now, + user_state = user_state.value, user_json = None) self.db_session.add(user_snapshot_record) except: - self.log.error("Error while updating TwitterUser, creating TwitterUserSnapshot object for user {0}".format(user_json["id"])) + self.log.error("Error while updating TwitterUser, creating TwitterUserSnapshot object for user {0}".format(user_json["id"]), extra=sys.exc_info()[0]) failed_users.update(name) - try: - self.db_session.commit() - self.log.info("Saved {0} not_found twitter users' info.".format(len(left_users))) - except: - self.log.error("Error while saving DB Session for {0} not_found twitter users' info.".format( - len(left_users)), extra=sys.exc_info()[0]) - failed_users.update(list(left_users)) + if len(left_users) > 0: + try: + self.db_session.commit() + except: + self.log.error("Error while saving DB Session for {0} not_found twitter users' info.".format( + len(left_users)), extra=sys.exc_info()[0]) + failed_users.update(list(left_users)) + else: + self.log.info("Saved {0} not_found twitter users' info.".format(len(left_users))) for nu in noticeuser_to_state: if nu.twitter_username not in failed_users: @@ -177,6 +250,18 @@ def archive_new_users(self, unarchived_notice_users): return (user_name_to_id, noticeuser_to_state) + def is_user_suspended_or_deleted(self, username): + user_state = TwitterUserState.NOT_FOUND + try: + user = self.t.api.GetUser(screen_name=username) + except twitter.error.TwitterError as e: + if e.message[0]['code'] == 50 and e.message[0]['message'] == 'User not found.': + user_state = TwitterUserState.NOT_FOUND + elif e.message[0]['code'] == 63 and e.message[0]['message'] == 'User has been suspended.': + user_state = TwitterUserState.SUSPENDED + else: + self.log.error("Unexpected twitter.error.TwitterError exception while calling api.GetUser on user {0}: {1}".format(screen_name, e)) + return user_state ######################################################### ################### ARCHIVE SNAPSHOTS AND NEW TWEETS CODE @@ -184,7 +269,7 @@ def archive_new_users(self, unarchived_notice_users): """ for each user in twitterusersnapshot with too old most recent snapshot: - store twitterusersnapshot record + user_state twitterusersnapshot record update twitteruser? store tweets? @@ -192,120 +277,155 @@ def archive_new_users(self, unarchived_notice_users): """ def query_and_archive_user_snapshots_and_tweets(self, min_time): need_snapshot_user_snapshots = self.db_session.query( - TwitterUserSnapshot.twitter_user_id, func.max(TwitterUserSnapshot.record_created_at)).filter( - TwitterUserSnapshot.record_created_at < min_time).group_by(TwitterUserSnapshot.twitter_user_id).all() - need_snapshot_user_ids_set = set([us.twitter_user_id for us in need_snapshot_user_snapshots]) # make sure to get unique ids - need_snapshot_user_ids = list(need_snapshot_user_ids_set) - - self.log.info("Need to update snapshots for {0} users".format(len(need_snapshot_user_ids_set))) - if len(need_snapshot_user_ids_set) <= 0: + TwitterUserSnapshot.twitter_user_id).group_by( + TwitterUserSnapshot.twitter_user_id).having( + func.max(TwitterUserSnapshot.record_created_at) < min_time).all() + + # make sure to get unique ids + need_snapshot_user_ids = list(set([us.twitter_user_id for us in need_snapshot_user_snapshots])) + self.log.info("Need to update snapshots for {0} users".format(len(need_snapshot_user_ids))) + if len(need_snapshot_user_ids) <= 0: return need_snapshot_users = self.db_session.query(TwitterUser).filter( TwitterUser.id.in_(need_snapshot_user_ids)).all() # store TwitterUserSnapshot, update TwitterUser for all queried users - need_snapshot_id_to_user = {u.id: u for u in need_snapshot_users} - self.archive_old_users(need_snapshot_id_to_user) # TwitterUsers - - # store new tweets for users with CS_oldest_tweets_archived = PROCESSED - need_new_tweets_users = [u for u in need_snapshot_users if u.CS_oldest_tweets_archived == CS_JobState.PROCESSED.value] + need_snapshot_id_to_all_user = {u.id: u for u in need_snapshot_users} + need_snapshot_id_to_found_user = {uid: need_snapshot_id_to_all_user[uid] for uid in need_snapshot_id_to_all_user if utils.common.NOT_FOUND_TWITTER_USER_STR not in uid} + self.archive_old_users(need_snapshot_id_to_found_user , has_ids=True) + need_snapshot_names_to_not_found_user = {need_snapshot_id_to_all_user[uid].screen_name: need_snapshot_id_to_all_user[uid] for uid in need_snapshot_id_to_all_user if utils.common.NOT_FOUND_TWITTER_USER_STR in uid} + self.archive_old_users(need_snapshot_names_to_not_found_user, has_ids=False) + + # store new tweets for users with found id and CS_oldest_tweets_archived = PROCESSED + # (if a user doesn't have a found id, then it is either deleted (NOT_FOUND) or suspended (SUSPENDED). + # in both cases, we will not find tweets) + need_new_tweets_users = [u for u in need_snapshot_users if u.CS_oldest_tweets_archived == CS_JobState.PROCESSED.value and utils.common.NOT_FOUND_TWITTER_USER_STR not in u.id] self.log.info("Need to get new tweets for {0} users".format(len(need_new_tweets_users))) self.with_user_records_archive_tweets(need_new_tweets_users) # TwitterUsers - def archive_old_users(self, id_to_users): - is_test = type(id_to_users) is not dict - if len(id_to_users) <= 0: + """ + key_to_users = {user id (if has_ids is True) OR username (if has_ids is False): TwitterUser} + we send {id: TwitterUser} if the user has an actual twitter id (the user is FOUND or PROTECTED) + + doesn't return anything + """ + def archive_old_users(self, key_to_users, has_ids=True): + if len(key_to_users) <= 0: return None - user_ids = list(id_to_users.keys()) if not is_test else id_to_users # to accomodate tests.... + is_test = type(key_to_users) is not dict + user_keys = list(key_to_users.keys()) if not is_test else key_to_users # to accomodate tests.... if is_test: - id_to_users = {uid: None for uid in id_to_users} # to accomodate tests... + key_to_users = {key: None for key in key_to_users} # to accomodate tests... - # query batch_size at a time batch_size = 100 # limit should be 100 + # query batch_size at a time prev_limit = 0 - left_users = set(user_ids) - for i in range(1,int(len(user_ids)/batch_size)+2): + left_users = set(user_keys) + + for i in range(1,int(len(user_keys)/batch_size)+2): rows = [] - limit = min(i*batch_size, len(user_ids)) + limit = min(i*batch_size, len(user_keys)) if limit > prev_limit: # query twitter API for user info users_info = [] + this_users = user_keys[prev_limit:limit] try: - this_users = user_ids[prev_limit:limit] - users_info = self.t.api.UsersLookup(user_id=this_users) + if has_ids: + users_info = self.t.api.UsersLookup(user_id=this_users) + else: + users_info = self.t.api.UsersLookup(screen_name=this_users) + except twitter.error.TwitterError as e: + # this message means no users_info found: "[{'code': 17, 'message': 'No user matches for specified terms.'}]" + if e.message[0]['code'] != 17: + self.log.error("Unexpected error while querying for Twitter users using api.UsersLookup: {0}".format(str(e))) + else: self.log.info("Queried for {0} Twitter users out of a total of {1} users, got {2} users".format( - limit-prev_limit, len(user_ids), len(users_info))) + limit-prev_limit, len(user_keys), len(users_info))) prev_limit = limit - except twitter.error.TwitterError as e: - self.log.error("Failed to query for Twitter users using api.UsersLookup: {0}".format(str(e))) # for found users, commit to db for user_info in users_info: user_json = json.loads(json.dumps(user_info._json).encode("utf-8", "replace")) if type(user_info) is twitter.models.User else user_info # to accomodate test fixture data - screen_name = user_json["screen_name"].lower() - uid = str(user_json["id"]) - user = id_to_users[uid] # TwitterUser record + + uid = str(user_json["id"]) + screen_name = user_json["screen_name"].lower() user_state = TwitterUserState.FOUND if not user_json["protected"] else TwitterUserState.PROTECTED - if user_state == TwitterUserState.PROTECTED: - # disambiguate with user timeline call. throw away statuses, job_state - (statuses, t_user_state, job_state) = self.get_statuses_user_state(self, user_id, count=1) - if t_user_state and t_user_state is not TwitterUserState.PROTECTED: - user_state = t_user_state + created_at = datetime.datetime.strptime(user_json["created_at"], TWITTER_DATETIME_STR_FORMAT) + user = key_to_users[uid] if has_ids else key_to_users[screen_name] # TwitterUser record + + now = datetime.datetime.utcnow() try: # update TwitterUser record - user = id_to_users[uid] + user.id = uid user.screen_name = screen_name - user.record_updated_at = datetime.datetime.utcnow() + user.created_at = created_at + user.record_updated_at = now user.lang = user_json["lang"] user.state = user_state.value - # create first TwitterUserSnapshot record + # create TwitterUserSnapshot record user_snapshot_record = TwitterUserSnapshot( twitter_user_id = uid, - record_created_at = datetime.datetime.utcnow(), + twitter_not_found_id = user.not_found_id, # get from TwitterUser object + record_created_at = now, user_state = user_state.value, user_json = json.dumps(user_json)) #already encoded self.db_session.add(user_snapshot_record) - left_users.discard(uid) # discard doesn't throw an error except: - self.log.error("Error while updating TwitterUser, creating TwitterUserSnapshot object for user {0}".format(user_json["id"])) - - try: - self.db_session.commit() - self.log.info("Saved {0} found twitter users' info.".format(len(users_info))) - except: - self.log.error("Error while saving DB Session for TwitterUser, TwitterUserSnapshot object for {0} users".format( - len(users_info)), extra=sys.exc_info()[0]) + self.log.error("Error while updating TwitterUser, creating TwitterUserSnapshot object for user {0}".format(user_json["id"]), extra=sys.exc_info()[0]) + else: + if has_ids: + left_users.discard(uid) # discard doesn't throw an error + else: + left_users.discard(screen_name) + + if len(users_info) > 0: + try: + self.db_session.commit() + except: + self.log.error("Error while saving DB Session for TwitterUser, TwitterUserSnapshot object for {0} users".format( + len(users_info)), extra=sys.exc_info()[0]) + else: + self.log.info("Saved {0} found twitter users' info.".format(len(users_info))) # at end, for left_users (users not found), commit to db - for uid in list(left_users): + for key in list(left_users): + + user = key_to_users[key] + + # disambiguate between NOT_FOUND, SUSPENDED + user_state = self.is_user_suspended_or_deleted(user.screen_name) + try: - # update TwitterUser record - user = id_to_users[uid] - user.record_updated_at = datetime.datetime.utcnow() - user.user_state = TwitterUserState.NOT_FOUND.value + now = datetime.datetime.utcnow() + # update TwitterUser record + user.not_found_id = user.not_found_id if user.not_found_id else utils.common.generate_not_found_twitter_user_id(user.screen_name) + user.record_updated_at = now + user.user_state = user_state.value - # create first TwitterUserSnapshot record + # create TwitterUserSnapshot record user_snapshot_record = TwitterUserSnapshot( - twitter_user_id = uid, - record_created_at = datetime.datetime.utcnow(), - user_state = TwitterUserState.NOT_FOUND.value) + twitter_user_id = user.id, + twitter_not_found_id = user.not_found_id, + record_created_at = now, + user_state = user_state.value) self.db_session.add(user_snapshot_record) except: - self.log.error("Error while updating TwitterUser, creating TwitterUserSnapshot object for user {0}".format(user_json["id"])) - try: - self.db_session.commit() - self.log.info("Saved {0} not_found twitter users' info.".format(len(left_users))) - except: - self.log.error("Error while saving DB Session for {0} not_found twitter users' info.".format( - len(left_users)), extra=sys.exc_info()[0]) - + self.log.error("Error while updating TwitterUser, creating TwitterUserSnapshot object for user {0}".format(user_json["id"]), extra=sys.exc_info()[0]) + if len(left_users) > 0: + try: + self.db_session.commit() + except: + self.log.error("Error while saving DB Session for {0} not_found twitter users' info.".format( + len(left_users)), extra=sys.exc_info()[0]) + else: + self.log.info("Saved {0} not_found twitter users' info.".format(len(left_users))) ######################################################### @@ -320,40 +440,60 @@ def query_and_archive_tweets(self): def with_user_records_archive_tweets(self, user_records): - utils.common.update_CS_JobState(user_records, "CS_oldest_tweets_archived", CS_JobState.IN_PROGRESS, self.db_session, self.log) + if len(user_records) == 0: + return - user_to_state = {} + # expect all CS_oldest_tweets_archived fields to be either CS_JobState.PROCESSED or .NOT_PROCESSED + oldest_tweets_archived = user_records[0].CS_oldest_tweets_archived == CS_JobState.PROCESSED + + if not oldest_tweets_archived: + utils.common.update_CS_JobState(user_records, "CS_oldest_tweets_archived", CS_JobState.IN_PROGRESS, self.db_session, self.log) + + user_to_state = {} # only need for when CS_JobState.NOT_PROCESSED... for user in user_records: - state = self.archive_user_tweets(user.id) - user_to_state[user] = state + job_state = self.archive_user_tweets(user) + user_to_state[user] = job_state - utils.common.update_all_CS_JobState(user_to_state, "CS_oldest_tweets_archived", self.db_session, self.log) + if not oldest_tweets_archived: + utils.common.update_all_CS_JobState(user_to_state, "CS_oldest_tweets_archived", self.db_session, self.log) # returns (statuses, user_state, job_state) - def get_statuses_user_state(self, user_id, count=200, max_id=None, job_state=CS_JobState.FAILED): - (statuses, user_state, job_state) = (None, None, job_state) + # possible user_state: SUSPENDED, NOT_FOUND + + # not responsible for updating user_state; user_state in TwitterUser is updated solely by archive_old/new_users methods + def get_statuses_user_state(self, user_id, count=200, max_id=None, user_state=TwitterUserState.NOT_FOUND, job_state=CS_JobState.FAILED): + (statuses, user_state, job_state) = ([], user_state, job_state) try: statuses = self.t.api.GetUserTimeline(user_id=user_id, count=count, max_id=max_id) except twitter.error.TwitterError as e: - self.log.info(e) # TODO: un-jankify this error handling/parsing code. might not get much better though - state = None if e.message == "Not authorized.": # Account is either protected or suspended - user_state = TwitterUserState.SUSPENDED.value + if user_state is not TwitterUserState.PROTECTED: + user_state = TwitterUserState.SUSPENDED elif e.message[0]['code'] == 34: # message = "Sorry, that page does not exist." - user_state = TwitterUserState.NOT_FOUND.value + user_state = TwitterUserState.NOT_FOUND else: self.log.error("Unexpected twitter.error.TwitterError exception while calling api.GetUserTimeline on user {0}: {1}".format(screen_name, e)) job_state = CS_JobState.NEEDS_RETRY - job_state = CS_JobState.PROCESSED + else: + user_state = TwitterUserState.FOUND + job_state = CS_JobState.PROCESSED return (statuses, user_state, job_state) # given user_id, archive user tweets. # also updates TwitterUser record if new user_state info - def archive_user_tweets(self, user_id): - job_state = CS_JobState.PROCESSED + def archive_user_tweets(self, user): + user_id = user.id + + if utils.common.NOT_FOUND_TWITTER_USER_STR in user_id or user.user_state is TwitterUserState.PROTECTED: + # no tweets to be found with a NOT_FOUND id, or a protected user + job_state = CS_JobState.PROCESSED + return job_state + + + job_state = CS_JobState.FAILED query_oldest_id = self.db_session.query( func.max(TwitterStatus.id)).filter( @@ -365,21 +505,29 @@ def archive_user_tweets(self, user_id): while True: # get statuses and job_state from twitter API. don't use user_state - (statuses, user_state, job_state) = self.get_statuses_user_state(user_id, count, oldest_id_queried) + (statuses, user_state, job_state) = self.get_statuses_user_state(user_id, count, oldest_id_queried, user_state=user.user_state, job_state=CS_JobState.FAILED) + + if job_state is not CS_JobState.PROCESSED: + return job_state if not statuses: self.log.error("Unexpected error while calling api.GetUserTimeline on user_id {0}: nothing returned".format(user_id)) - job_state = CS_JobState.FAILED + return job_state + self.log.info("Queried total of {0} tweets for account {1}".format(len(statuses), user_id)) + + if user_state is not TwitterUserState.FOUND: + # thought we had a found user, turns out we don't. we should update our user records + self.archive_old_users(key_to_users={user_id:user}, has_ids=True) break + if len(statuses) == 0: break - self.log.info("Queried total of {0} tweets for account {1}".format(len(statuses), user_id)) # store TwitterStatus es statuses_jsons = [json.loads(json.dumps(status._json).encode("utf-8", "replace")) if type(status) is twitter.models.Status else status for status in statuses] # to accomodate test fixture data] sorted_statuses_jsons = sorted(statuses_jsons, key=lambda s: datetime.datetime.strptime(s["created_at"], TWITTER_DATETIME_STR_FORMAT)) prev_seen_statuses_length = len(seen_statuses) - for i, status_json in enumerate(sorted_statuses_jsons): + for i, status_json in enumerate(sorted_statuses_jsons): # go through statuses from oldest to newest status_id = status_json["id"] created_at = datetime.datetime.strptime(status_json["created_at"], TWITTER_DATETIME_STR_FORMAT) # if status hasn't been stored before, store @@ -394,15 +542,16 @@ def archive_user_tweets(self, user_id): self.db_session.add(status_record) seen_statuses.add(status_id) except: - self.log.error("Error while creating TwitterStatus object for user {0}, status id {1}".format(status_json["user"]["id"]["screen_name"], status_id)) - job_state = CS_JobState.FAILED + self.log.error("Error while creating TwitterStatus object for user {0}, status id {1}".format(status_json["user"]["id"]["screen_name"], status_id), extra=sys.exc_info()[0]) + return job_state try: self.db_session.commit() - self.log.info("Saved {0} statuses for user {1}.".format(len(seen_statuses) - prev_seen_statuses_length, user_id)) except: self.log.error("Error while saving DB Session for {0} statuses for user {1}.".format( len(seen_statuses) - prev_seen_statuses_length, user_id), extra=sys.exc_info()[0]) - job_state = CS_JobState.FAILED + return job_state + else: + self.log.info("Saved {0} statuses for user {1}.".format(len(seen_statuses) - prev_seen_statuses_length, user_id)) if prev_seen_statuses_length == len(seen_statuses): break if oldest_id_queried is None or min(seen_statuses) < oldest_id_queried: @@ -410,5 +559,5 @@ def archive_user_tweets(self, user_id): else: break - return job_state - + job_state = CS_JobState.PROCESSED + return job_state \ No newline at end of file diff --git a/app/controllers/twitter_controller_old.py b/app/controllers/twitter_controller_old.py new file mode 100644 index 0000000..890d5df --- /dev/null +++ b/app/controllers/twitter_controller_old.py @@ -0,0 +1,355 @@ +import twitter +import simplejson as json +import datetime +from app.models import Base, TwitterUser, TwitterStatus, LumenNoticeToTwitterUser, TwitterUserSnapshot +import utils.common +import requests +import sqlalchemy +from sqlalchemy import and_, func +import utils.common +from utils.common import TwitterUserState, NOT_FOUND_TWITTER_USER_STR, CS_JobState + +TWITTER_DATETIME_STR_FORMAT = "%a %b %d %H:%M:%S %z %Y" + +class TwitterController(): + def __init__(self, db_session, t, log): + self.t = t + self.db_session = db_session + self.log = log + + """ + for each new username parsed from a lumen notice: + update lumennoticetouser record + update CS_user_archived field + update twitter user id + store twitteruserrecord + store 1st twitterusersnapshot + """ + def query_and_archive_new_users(self): + unarchived_notice_users = self.db_session.query( + LumenNoticeToTwitterUser).filter(and_( + LumenNoticeToTwitterUser.CS_account_queried == CS_JobState.NOT_PROCESSED, + LumenNoticeToTwitterUser.twitter_username != NOT_FOUND_TWITTER_USER_STR)).all() + unarchived_users = set([nu.twitter_username for nu in unarchived_notice_users]) + + utils.common.update_CS_JobState(unarchived_notice_users, "CS_account_queried", CS_JobState.IN_PROGRESS) + + (all_users_info, noticeuser_to_state) = self.archive_new_users(unarchived_users) + + for noticeuser in noticeuser_to_state: + + + ######### + ##row_to_state = self.archive_users(unarchived_users, self.new_found_users_store_func, self.new_not_found_users_store_func, has_ids=False) + # + ######### + #unarchived_notice_users_dict = {nu.twitter_username: nu for nu in unarchived_notice_users} + #for user in all_users_info: + # user_json = json.loads(json.dumps(user._json).encode("utf-8", "replace")) if type(user) is twitter.models.User else user # to accomodate test fixture data + # screen_name = user_json["screen_name"].lower() + # if screen_name in unarchived_notice_users_dict: + # unarchived_notice_users_dict[screen_name].twitter_user_id = user_json["id"] + # unarchived_notice_users_dict[screen_name].CS_account_queried = True + # unarchived_notice_users_dict.pop(screen_name) + #for screen_name in unarchived_notice_users_dict: + # # for the ones left, still should update CS_account_queried + # unarchived_notice_users_dict[screen_name].CS_account_queried = True + #try: + # self.db_session.commit() + # self.log.info("Updated {0} LumenNoticeToTwitterUser.CS_account_queried fields.".format(len(unarchived_notice_users))) + #except: + # self.log.error("Error while saving DB Session for {0} LumenNoticeToTwitterUser.CS_account_queried fields.".format(len(unarchived_notice_users))) + + + + """ + for each user in twitterusersnapshot with too old most recent snapshot: + store twitterusersnapshot record + update twitteruser? + store tweets? + """ + def query_and_archive_user_snapshots_and_tweets(self, min_time, prioritize_new_users): + need_snapshot_users = self.db_session.query( + TwitterUserSnapshot.twitter_user_id, func.max(TwitterUserSnapshot.created_at)).filter( + TwitterUserSnapshot.created_at < min_time).all() + + need_snapshot_user_ids_set = set([us.twitter_user_id for us in need_snapshot_users]) + need_snapshot_user_ids = list(need_snapshot_user_ids_set) + new_need_snapshot_user_ids_set = set([]) + new_need_snapshot_user_ids = [] + if prioritize_new_users: + # TODO: is this this the desired behavior? + new_need_snapshot_users = self.db_session.query(TwitterUser).filter( + TwitterUser.id.in_(need_snapshot_user_ids)).filter( + TwitterUser.CS_most_tweets_queried == False).all() + new_need_snapshot_user_ids_set = set([us.twitter_user_id for us in new_need_snapshot_users]) + new_need_snapshot_user_ids = list(new_need_snapshot_user_ids_set) + + # call on new users first + (noticeuser_to_state, all_users_info) = self.archive_old_users(new_need_snapshot_user_ids) + self.with_user_records_archive_tweets(new_need_snapshot_users) # TwitterUsers + + need_snapshot_user_ids = need_snapshot_user_ids - new_need_snapshot_user_ids + (noticeuser_to_state, all_users_info) = self.archive_old_users(new_need_snapshot_user_ids) + self.with_user_records_archive_tweets(new_need_snapshot_users) + + + def with_user_records_archive_tweets(self, user_records): + utils.common.update_CS_JobState(user_records, "CS_most_tweets_queried", CS_JobState.IN_PROGRESS) + + user_to_state = {} + for user in user_records: + state = self.archive_user_tweets(user.id) + user_to_state[user] = state + + utils.common.update_all_CS_JobState(user_to_state, "CS_most_tweets_queried") + + + def query_and_archive_tweets(self): + unarchived_users = self.db_session.query(TwitterUser).filter( + TwitterUser.CS_most_tweets_queried == False).all() + + self.with_user_records_archive_tweets(unarchived_users) + + def get_users_by_id(self, user_ids): + return self.t.api.UsersLookup(user_id=user_ids) + + def get_users_by_name(self, user_names): + return self.t.api.UsersLookup(screen_name=user_names) + + """ + for each new username parsed from a lumen notice: + (update lumennoticetouser record, not in this function) + store twitteruserrecord + store 1st twitterusersnapshot + + return not_found_users, record_to_state + """ + def store_new_found_users(self, users_info, not_found_users, record_to_state): + failed_users = + for user in users_info: + user_json = json.loads(json.dumps(user._json).encode("utf-8", "replace")) if type(user) is twitter.models.User else user # to accomodate test fixture data + screen_name = user_json["screen_name"].lower() + try: + created_at = datetime.datetime.strptime(user_json["created_at"], TWITTER_DATETIME_STR_FORMAT) + + # create TwitterUser record + user_record = TwitterUser( + id = user_json["id"], + screen_name = screen_name, #usernames change! index/search on id when possible + created_at = created_at, # is UTC; expected string format: "Mon Nov 29 21:18:15 +0000 2010" + account_created_at = datetime.datetime.utcnow(), + lang = user_json["lang"], + user_state = TwitterUserState.FOUND.value if not user_json["protected"] else TwitterUserState.PROTECTED.value, + CS_most_tweets_queried = CS_JobState.NOT_PROCESSED) + self.db_session.add(user_record) + + + # also create first TwitterUserSnapshot record + user_snapshot_record = TwitterUserSnapshot( + twitter_user_id = user_json["id"], + created_at = datetime.datetime.utcnow(), + user_state = TwitterUserState.FOUND.value if not user_json["protected"] else TwitterUserState.PROTECTED.value, + user_json = json.dumps(user_json)) #already encoded + self.db_session.add(user_snapshot_record) + + # also update LumenNoticeToTwitterUser.twitter_user_id field + ################## TODO + + not_found_users.discard(screen_name) # discard doesn't throw an error + except: + self.log.error("Error while creating TwitterUser, TwitterUserSnapshot, LumenNoticeToTwitterUser object for user {0}".format(screen_name)) + + try: + self.db_session.commit() + self.log.info("Saved {0} found twitter users' info.".format(len(users_info))) + except: + self.log.error("Error while saving DB Session for TwitterUser, TwitterUserSnapshot, LumenNoticeToTwitterUser object for user {0}".format(screen_name)) + + return not_found_users + + """ + for each new username parsed from a lumen notice: + (update lumennoticetouser record, not in this function) + store twitteruserrecord + store 1st twitterusersnapshot + + return record_to_state + + """ + def store_new_not_found_users(self, not_found_users, record_to_state): + for username in list(not_found_users): + try: + user_record = TwitterUser( + id = "{0}_{1}".format(NOT_FOUND_TWITTER_USER_STR, utils.common.time_since_epoch_ms(datetime.datetime.utcnow())), + screen_name = username.lower(), + created_at = datetime.datetime.utcnow(), + user_state = TwitterUserState.NOT_FOUND.value, + CS_oldest_tweets_archived = CS_JobState.NOT_PROCESSED) + self.db_session.add(user_record) + + # also create first TwitterUserSnapshot record + user_snapshot_record = TwitterUserSnapshot( + twitter_user_id = user_json["id"], + created_at = created_at, # is UTC; expected string format: "Mon Nov 29 21:18:15 +0000 2010" + # should we have thses??? + statuses_count = user_json["statuses_count"], + followers_count = user_json["followers_count"], + friends_count = user_json["friends_count"], + verified = user_json["verified"], + user_state = TwitterUserState.FOUND.value if not user_json["protected"] else TwitterUserState.PROTECTED.value, + user_json = json.dumps(user_json)) #already encoded + self.db_session.add(user_snapshot_record) + + except: + self.log.error("Error while creating TwitterUser object for user {0}".format(username)) + try: + self.db_session.commit() + self.log.info("Saved {0} not_found twitter users' info.".format(len(not_found_users))) + except: + self.log.error("Error while saving DB Session for {0} not_found twitter users' info.".format(len(not_found_users))) + + + + + def archive_new_users(self, unarchived_users): + noticeuser_to_state = {} + return self.archive_users(noticeuser_to_state, unarchived_users, self.get_users_by_id, self.store_new_found_users, self.store_new_not_found_users, has_ids=False) + + def archive_old_users(self, unarchived_users): + record_to_state = {} + return self.archive_users(record_to_state, archived_users, self.get_users_by_name, self.store_old_found_users, self.store_old_not_found_users,has_ids=True) + + # unarchived_users is a set + def archive_users(self, record_to_state, unarchived_users, get_users_func, store_found_users_func, store_not_found_users_func, has_ids=False): + if len(unarchived_users) <= 0: + return record_to_state + + batch_size = 100 # limit should be 100 + not_found_users = unarchived_users # not_found_users references unarchived_users + users = list(unarchived_users) # copy as a list + + all_users_info = [] + + # query batch_size at a time + prev_limit = 0 + for i in range(1,int(len(users)/batch_size)+2): + rows = [] + limit = min(i*batch_size, len(users)) + if limit > prev_limit: + # query twitter API for user info + users_info = [] + try: + this_users = users[prev_limit:limit] + users_info = get_users_func(this_users) + all_users_info += users_info + prev_limit = limit + self.log.info("Queried for {0} Twitter users out of a total of {1} users, got {2} users".format( + limit-prev_limit, len(users), len(users_info))) + except twitter.error.TwitterError as e: + self.log.error("Failed to query for Twitter users using api.UsersLookup: {0}".format(str(e))) + + # for found users, commit to db + not_found_users, record_to_state = store_users_func(users_info, not_found_users, record_to_state) + + # at end, for not found users, commit to db + record_to_state = self.store_not_found_users_func(not_found_users, record_to_state) + + return all_users_info, record_to_state + + + + + + + + + def archive_user_tweets(self, user_id): + state = CS_JobState.PROCESSED + + query_oldest_id = self.db_session.query( + func.max(TwitterStatus.id)).filter( + TwitterStatus.user_id == user_id).first() + + oldest_id_queried = None if query_oldest_id is None else query_oldest_id[0] + seen_statuses = set([]) # set of ids added this time + while True: + + # get statuses from twitter API + try: + statuses = self.t.api.GetUserTimeline(user_id=user_id, count=200, max_id=oldest_id_queried) + except twitter.error.TwitterError as e: + self.log.info(e) + # TODO: un-jankify this error handling/parsing code. might not get much better though + state = None + if e.message == "Not authorized.": + # Account is either protected or suspended + state = TwitterUserState.SUSPENDED.value + elif e.message[0]['code'] == 34: # message = "Sorry, that page does not exist." + state = TwitterUserState.NOT_FOUND.value + else: + self.log.error("Unexpected twitter.error.TwitterError exception while calling api.GetUserTimeline on user {0}: {1}".format(screen_name, e)) + state = CS_JobState.NEEDS_RETRY + + # if either protected/suspended or not found + if state: + # store TwitterUser + queried_user = self.db_session.query(TwitterUser).filter(TwitterUser.screen_name == screen_name).first() # record should exist + if queried_user.user_state is not TwitterUserState.PROTECTED.value: + # if user is protected, this update will not have been helpful + queried_user.user_state = state + + # TODO: store TwitterUserSnapshot to mark this state change + + + try: + self.db_session.commit() + self.log.info("Updated twitter user {0}'s state to {1}.".format(screen_name, state)) + except: + self.log.error("Error while saving DB Session") + state = CS_JobState.FAILED + break + + if not statuses: + self.log.error("Unexpected error while calling api.GetUserTimeline on user_id {0}: nothing returned".format(user_id)) + state = CS_JobState.FAILED + break + if len(statuses) == 0: + break + self.log.info("Queried total of {0} tweets for account {1}".format(len(statuses), user_id)) + + # store TwitterStatus es + statuses_jsons = [json.loads(json.dumps(status._json).encode("utf-8", "replace")) if type(status) is twitter.models.Status else status for status in statuses] # to accomodate test fixture data] + sorted_statuses_jsons = sorted(statuses_jsons, key=lambda s: datetime.datetime.strptime(s["created_at"], TWITTER_DATETIME_STR_FORMAT)) + prev_seen_statuses_length = len(seen_statuses) + for i, status_json in enumerate(sorted_statuses_jsons): + status_id = status_json["id"] + created_at = datetime.datetime.strptime(status_json["created_at"], TWITTER_DATETIME_STR_FORMAT) + # if status hasn't been stored before, store + if (not oldest_id_queried) or (status_id > oldest_id_queried) or (status_id not in seen_statuses): + try: + status_record = TwitterStatus( + id = status_id, + user_id = status_json["user"]["id"], + created_at = created_at, #"Sun Apr 16 17:11:30 +0000 2017" + status_data = json.dumps(status_json)) + self.db_session.add(status_record) + seen_statuses.add(status_id) + except: + self.log.error("Error while creating TwitterStatus object for user {0}, status id {1}".format(status_json["user"]["id"]["screen_name"], status_id)) + state = CS_JobState.FAILED + try: + self.db_session.commit() + self.log.info("Saved {0} statuses for user {1}.".format(len(seen_statuses) - prev_seen_statuses_length, user_id)) + except: + self.log.error("Error while saving DB Session for {0} statuses for user {1}.".format(len(seen_statuses) - prev_seen_statuses_length, user_id)) + state = CS_JobState.FAILED + if prev_seen_statuses_length == len(seen_statuses): + break + if oldest_id_queried is None or min(seen_statuses) < oldest_id_queried: + oldest_id_queried = min(seen_statuses) + else: + break + + return state + diff --git a/app/models.py b/app/models.py index 20d4dbc..c0f635d 100644 --- a/app/models.py +++ b/app/models.py @@ -198,6 +198,8 @@ class LumenNoticeToTwitterUser(Base): class TwitterUser(Base): __tablename__ = 'twitter_users' id = Column(String(64), primary_key = True) # should be lowercase; if not found, # if not found, NOT_FOUND_TWITTER_USER_STR_[date] + not_found_id = Column(String(64), index = True, default=None) # if a user ever goes between e.g. FOUND and NOT_FOUND (either direction), + # we want to be able to map between the actual id and the ... id screen_name = Column(String(256), index = True) # if not found, # if not found, NOT_FOUND_TWITTER_USER_STR created_at = Column(DateTime) record_created_at = Column(DateTime, default=datetime.datetime.utcnow) @@ -209,6 +211,8 @@ class TwitterUserSnapshot(Base): __tablename__ = 'twitter_user_snapshots' id = Column(Integer, primary_key = True) twitter_user_id = Column(String(64), index = True) + twitter_not_found_id= Column(String(64), index = True, default=None) # if a user ever goes between e.g. FOUND and NOT_FOUND (either direction), + # we want to be able to map between the actual id and the ... id record_created_at = Column(DateTime, default=datetime.datetime.utcnow) user_state = Column(Integer) # utils/common.py user_json = Column(MEDIUMTEXT) diff --git a/common-commands.txt b/common-commands.txt index 7dd470f..e9e8528 100644 --- a/common-commands.txt +++ b/common-commands.txt @@ -63,3 +63,13 @@ civilservant-error-handler.herokuapp.com ## Monitoring errors and info, locally ./logs + + + +#### SUMMARY: COMMANDS TO RUN WHEN STARTING UP ##### + +redis-server & +rqworker development & +praw-multiprocess & +rq-dashboard & +rqscheduler & diff --git a/schedule_twitter_jobs.py b/schedule_twitter_jobs.py new file mode 100644 index 0000000..ee345f0 --- /dev/null +++ b/schedule_twitter_jobs.py @@ -0,0 +1,113 @@ +from redis import Redis +from rq_scheduler import Scheduler +from datetime import datetime +import app.controller +import os,argparse +from utils.common import PageType + +#documentation at +#https://github.com/ui/rq-scheduler + +""" + +when starting up these jobs, best to offset them all a bit (by a couple minutes) +fetch_lumen_notices: every 3 hours, look for posts that are from at most 2 days ago +parse_lumen_notices_for_twitter_accounts: every 2 hours +fetch_twitter_users: every 2 hours +fetch_twitter_snapshot_and_tweets: every 24 hours, get new snapshots for users who haven't had a snapshot in the last 23.3 hours +fetch_twitter_tweets: every 2 hours + +python twitter_schedule_jobs.py --function fetch_lumen_notices --lumen_delta_days 2 --interval 180 --env development +python twitter_schedule_jobs.py --function parse_lumen_notices_for_twitter_accounts --interval 120 --env development +python twitter_schedule_jobs.py --function fetch_twitter_users --interval 120 --env development +python twitter_schedule_jobs.py --function fetch_twitter_snapshot_and_tweets --snapshot_delta_min 1400 --interval 1440 --env development +python twitter_schedule_jobs.py --function fetch_twitter_tweets --interval 120 --env development + + +""" + + +def main(): + parser = argparse.ArgumentParser() + + parser.add_argument("--function", + required = True, + choices=["fetch_lumen_notices", "parse_lumen_notices_for_twitter_accounts", "fetch_twitter_users", "fetch_twitter_snapshot_and_tweets", "fetch_twitter_tweets"], + help="The controller function to call.") + + parser.add_argument("--lumen_delta_days", + required = False, + default= None, + help="For fetch_lumen_notices; fetch all notices received more than lumen_delta_days (in days) ago .") + + parser.add_argument("--snapshot_delta_min", + required = False, + default= None, + help="For fetch_twitter_snapshot_and_tweets; for all users older than snapshot_delta_min (in minutes), need to fetch new snapshots.") + + parser.add_argument("--interval", + default = 60, # default 60 min + help="Interval (in minutes) between tasks in seconds (default 60 minutes)") + + parser.add_argument("-e", '--env', + choices=['development', 'test', 'production'], + required = False, + help="Run within a specific environment. Otherwise run under the environment defined in the environment variable CS_ENV") + + args = parser.parse_args() + + # if the user specified the environment, set it here + if args.env!=None: + os.environ['CS_ENV'] = args.env + + queue_name = os.environ['CS_ENV'] + scheduler = Scheduler(queue_name = os.environ['CS_ENV'], connection=Redis()) + + ttl = 172800 ## two days in seconds + if(ttl <= int(args.interval) + 3600): + ttl = int(args.interval) + 3600 # args.interval + 1 hr + + if args.function =="fetch_lumen_notices": + scheduler.schedule( + scheduled_time=datetime.utcnow(), + func=app.controller.fetch_lumen_notices, + args=[args.lumen_date], + interval=int(args.interval), + repeat=None, + result_ttl = ttl) + elif args.function =="parse_lumen_notices_for_twitter_accounts": + scheduler.schedule( + scheduled_time=datetime.utcnow(), + func=app.controller.parse_lumen_notices_for_twitter_accounts, + args=[], + interval=int(args.interval), + repeat=None, + result_ttl = ttl) + elif args.function =="fetch_twitter_users": + scheduler.schedule( + scheduled_time=datetime.utcnow(), + func=app.controller.fetch_twitter_users, + args=[], + interval=int(args.interval), + repeat=None, + result_ttl = ttl) + elif args.function =="fetch_twitter_snapshot_and_tweets": + scheduler.schedule( + scheduled_time=datetime.utcnow(), + func=app.controller.fetch_twitter_snapshot_and_tweets, + args=[args.snapshot_delta_min], + interval=int(args.interval), + repeat=None, + result_ttl = ttl) + elif args.function =="fetch_twitter_tweets": + scheduler.schedule( + scheduled_time=datetime.utcnow(), + func=app.controller.fetch_twitter_tweets, + args=[args.lumen_date], + interval=int(args.interval), + repeat=None, + result_ttl = ttl) + + +if __name__ == '__main__': + main() diff --git a/utils/common.py b/utils/common.py index 36dd6af..cd96ecc 100644 --- a/utils/common.py +++ b/utils/common.py @@ -32,13 +32,21 @@ class CS_JobState(Enum): FAILED = 4 # in_progress but never succeeded processing; because e.g. internet went down or system crashed NEEDS_RETRY = 5 # for flagging purposes... +def generate_not_found_twitter_user_id(screen_name=""): + capped_screen_name = screen_name if len(screen_name)<30 else screen_name[:30] + "..." + return "{0}_{1}_{2}".format( + NOT_FOUND_TWITTER_USER_STR, + capped_screen_name, + time_since_epoch_ms(datetime.datetime.utcnow()) + ) + + def update_all_CS_JobState(row_to_state, field, db_session, log): if len(row_to_state) == 0: log.info("Updated 0 CS_JobState fields.") return for row in row_to_state: - log.info(row_to_state[row].value) setattr(row, field, row_to_state[row].value) try: From 5b21661ee396619a09219f7e5c908d4dc921401b Mon Sep 17 00:00:00 2001 From: = <=> Date: Fri, 12 May 2017 06:59:13 -0400 Subject: [PATCH 013/221] fix bugs. redo alembic again... --- .../757925d8e6eb_add_twitter_key_table.py | 234 ++++++++++++++++++ ...a6a61aa26c_create_lumen_twitter_tables.py} | 36 +-- app/controller.py | 4 +- app/controllers/lumen_controller.py | 30 ++- app/controllers/twitter_controller.py | 161 ++++++++---- config/development.json.example | 9 +- schedule_twitter_jobs.py | 43 ++-- 7 files changed, 413 insertions(+), 104 deletions(-) create mode 100644 alembic/versions/757925d8e6eb_add_twitter_key_table.py rename alembic/versions/{6605f7dda83a_create_lumen_twitter_tables.py => 89a6a61aa26c_create_lumen_twitter_tables.py} (94%) diff --git a/alembic/versions/757925d8e6eb_add_twitter_key_table.py b/alembic/versions/757925d8e6eb_add_twitter_key_table.py new file mode 100644 index 0000000..5eec9a5 --- /dev/null +++ b/alembic/versions/757925d8e6eb_add_twitter_key_table.py @@ -0,0 +1,234 @@ +"""add twitter key table + +Revision ID: 757925d8e6eb +Revises: 16dbded8a5cf +Create Date: 2017-05-12 04:45:06.386576 + +""" + +# revision identifiers, used by Alembic. +revision = '757925d8e6eb' +down_revision = '16dbded8a5cf' +branch_labels = None +depends_on = None + +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import mysql + +def upgrade(engine_name): + globals()["upgrade_%s" % engine_name]() + + +def downgrade(engine_name): + globals()["downgrade_%s" % engine_name]() + + + + + +def upgrade_development(): + ### commands auto generated by Alembic - please adjust! ### + op.create_table('twitter_keys', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('screen_name', sa.String(length=64), nullable=True), + sa.Column('twitter_id', sa.BigInteger(), nullable=True), + sa.Column('oauth_token_secret', sa.String(length=256), nullable=True), + sa.Column('oauth_token', sa.String(length=256), nullable=True), + sa.Column('updated_at', sa.DateTime(), nullable=True), + sa.Column('rate_limit_until', sa.DateTime(), nullable=True), + sa.Column('rate_limit_remaining', sa.Integer(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_index(op.f('ix_twitter_keys_rate_limit_until'), 'twitter_keys', ['rate_limit_until'], unique=False) + op.create_index(op.f('ix_twitter_keys_screen_name'), 'twitter_keys', ['screen_name'], unique=False) + op.create_index(op.f('ix_twitter_keys_updated_at'), 'twitter_keys', ['updated_at'], unique=False) + ### end Alembic commands ### + + +def downgrade_development(): + ### commands auto generated by Alembic - please adjust! ### + op.drop_index(op.f('ix_twitter_keys_updated_at'), table_name='twitter_keys') + op.drop_index(op.f('ix_twitter_keys_screen_name'), table_name='twitter_keys') + op.drop_index(op.f('ix_twitter_keys_rate_limit_until'), table_name='twitter_keys') + op.drop_table('twitter_keys') + ### end Alembic commands ### + + +def upgrade_test(): + ### commands auto generated by Alembic - please adjust! ### + op.create_table('twitter_keys', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('screen_name', sa.String(length=64), nullable=True), + sa.Column('twitter_id', sa.BigInteger(), nullable=True), + sa.Column('oauth_token_secret', sa.String(length=256), nullable=True), + sa.Column('oauth_token', sa.String(length=256), nullable=True), + sa.Column('updated_at', sa.DateTime(), nullable=True), + sa.Column('rate_limit_until', sa.DateTime(), nullable=True), + sa.Column('rate_limit_remaining', sa.Integer(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_index(op.f('ix_twitter_keys_rate_limit_until'), 'twitter_keys', ['rate_limit_until'], unique=False) + op.create_index(op.f('ix_twitter_keys_screen_name'), 'twitter_keys', ['screen_name'], unique=False) + op.create_index(op.f('ix_twitter_keys_updated_at'), 'twitter_keys', ['updated_at'], unique=False) + op.drop_table('lumen_notices') + op.drop_table('twitter_statuses') + op.drop_table('twitter_user_snapshots') + op.drop_table('twitter_users') + op.drop_table('lumen_notice_to_twitter_user') + ### end Alembic commands ### + + +def downgrade_test(): + ### commands auto generated by Alembic - please adjust! ### + op.create_table('lumen_notice_to_twitter_user', + sa.Column('id', mysql.INTEGER(display_width=11), nullable=False), + sa.Column('record_created_at', mysql.DATETIME(), nullable=True), + sa.Column('notice_id', mysql.BIGINT(display_width=20), autoincrement=False, nullable=True), + sa.Column('twitter_username', mysql.VARCHAR(length=256), nullable=True), + sa.Column('twitter_user_id', mysql.VARCHAR(length=64), nullable=True), + sa.Column('CS_account_archived', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True), + sa.PrimaryKeyConstraint('id'), + mysql_default_charset='latin1', + mysql_engine='InnoDB' + ) + op.create_table('twitter_users', + sa.Column('id', mysql.VARCHAR(length=64), nullable=False), + sa.Column('screen_name', mysql.VARCHAR(length=256), nullable=True), + sa.Column('created_at', mysql.DATETIME(), nullable=True), + sa.Column('record_created_at', mysql.DATETIME(), nullable=True), + sa.Column('lang', mysql.VARCHAR(length=32), nullable=True), + sa.Column('user_state', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True), + sa.Column('CS_oldest_tweets_archived', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True), + sa.PrimaryKeyConstraint('id'), + mysql_default_charset='latin1', + mysql_engine='InnoDB' + ) + op.create_table('twitter_user_snapshots', + sa.Column('id', mysql.INTEGER(display_width=11), nullable=False), + sa.Column('twitter_user_id', mysql.VARCHAR(length=64), nullable=True), + sa.Column('record_created_at', mysql.DATETIME(), nullable=True), + sa.Column('user_state', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True), + sa.Column('user_json', mysql.MEDIUMTEXT(), nullable=True), + sa.PrimaryKeyConstraint('id'), + mysql_default_charset='latin1', + mysql_engine='InnoDB' + ) + op.create_table('twitter_statuses', + sa.Column('id', mysql.BIGINT(display_width=20), nullable=False), + sa.Column('user_id', mysql.VARCHAR(length=64), nullable=True), + sa.Column('created_at', mysql.DATETIME(), nullable=True), + sa.Column('record_created_at', mysql.DATETIME(), nullable=True), + sa.Column('status_data', mysql.MEDIUMTEXT(), nullable=True), + sa.PrimaryKeyConstraint('id'), + mysql_default_charset='latin1', + mysql_engine='InnoDB' + ) + op.create_table('lumen_notices', + sa.Column('id', mysql.BIGINT(display_width=20), nullable=False), + sa.Column('record_created_at', mysql.DATETIME(), nullable=True), + sa.Column('date_received', mysql.DATETIME(), nullable=True), + sa.Column('sender', mysql.VARCHAR(length=256), nullable=True), + sa.Column('principal', mysql.VARCHAR(length=256), nullable=True), + sa.Column('recipient', mysql.VARCHAR(length=256), nullable=True), + sa.Column('notice_data', mysql.MEDIUMTEXT(), nullable=True), + sa.Column('CS_parsed_usernames', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True), + sa.PrimaryKeyConstraint('id'), + mysql_default_charset='latin1', + mysql_engine='InnoDB' + ) + op.drop_index(op.f('ix_twitter_keys_updated_at'), table_name='twitter_keys') + op.drop_index(op.f('ix_twitter_keys_screen_name'), table_name='twitter_keys') + op.drop_index(op.f('ix_twitter_keys_rate_limit_until'), table_name='twitter_keys') + op.drop_table('twitter_keys') + ### end Alembic commands ### + + +def upgrade_production(): + ### commands auto generated by Alembic - please adjust! ### + op.create_table('twitter_keys', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('screen_name', sa.String(length=64), nullable=True), + sa.Column('twitter_id', sa.BigInteger(), nullable=True), + sa.Column('oauth_token_secret', sa.String(length=256), nullable=True), + sa.Column('oauth_token', sa.String(length=256), nullable=True), + sa.Column('updated_at', sa.DateTime(), nullable=True), + sa.Column('rate_limit_until', sa.DateTime(), nullable=True), + sa.Column('rate_limit_remaining', sa.Integer(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_index(op.f('ix_twitter_keys_rate_limit_until'), 'twitter_keys', ['rate_limit_until'], unique=False) + op.create_index(op.f('ix_twitter_keys_screen_name'), 'twitter_keys', ['screen_name'], unique=False) + op.create_index(op.f('ix_twitter_keys_updated_at'), 'twitter_keys', ['updated_at'], unique=False) + op.drop_table('lumen_notices') + op.drop_table('twitter_statuses') + op.drop_table('twitter_user_snapshots') + op.drop_table('twitter_users') + op.drop_table('lumen_notice_to_twitter_user') + ### end Alembic commands ### + + +def downgrade_production(): + ### commands auto generated by Alembic - please adjust! ### + op.create_table('lumen_notice_to_twitter_user', + sa.Column('id', mysql.INTEGER(display_width=11), nullable=False), + sa.Column('record_created_at', mysql.DATETIME(), nullable=True), + sa.Column('notice_id', mysql.BIGINT(display_width=20), autoincrement=False, nullable=True), + sa.Column('twitter_username', mysql.VARCHAR(length=256), nullable=True), + sa.Column('twitter_user_id', mysql.VARCHAR(length=64), nullable=True), + sa.Column('CS_account_archived', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True), + sa.PrimaryKeyConstraint('id'), + mysql_default_charset='latin1', + mysql_engine='InnoDB' + ) + op.create_table('twitter_users', + sa.Column('id', mysql.VARCHAR(length=64), nullable=False), + sa.Column('screen_name', mysql.VARCHAR(length=256), nullable=True), + sa.Column('created_at', mysql.DATETIME(), nullable=True), + sa.Column('record_created_at', mysql.DATETIME(), nullable=True), + sa.Column('lang', mysql.VARCHAR(length=32), nullable=True), + sa.Column('user_state', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True), + sa.Column('CS_oldest_tweets_archived', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True), + sa.PrimaryKeyConstraint('id'), + mysql_default_charset='latin1', + mysql_engine='InnoDB' + ) + op.create_table('twitter_user_snapshots', + sa.Column('id', mysql.INTEGER(display_width=11), nullable=False), + sa.Column('twitter_user_id', mysql.VARCHAR(length=64), nullable=True), + sa.Column('record_created_at', mysql.DATETIME(), nullable=True), + sa.Column('user_state', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True), + sa.Column('user_json', mysql.MEDIUMTEXT(), nullable=True), + sa.PrimaryKeyConstraint('id'), + mysql_default_charset='latin1', + mysql_engine='InnoDB' + ) + op.create_table('twitter_statuses', + sa.Column('id', mysql.BIGINT(display_width=20), nullable=False), + sa.Column('user_id', mysql.VARCHAR(length=64), nullable=True), + sa.Column('created_at', mysql.DATETIME(), nullable=True), + sa.Column('record_created_at', mysql.DATETIME(), nullable=True), + sa.Column('status_data', mysql.MEDIUMTEXT(), nullable=True), + sa.PrimaryKeyConstraint('id'), + mysql_default_charset='latin1', + mysql_engine='InnoDB' + ) + op.create_table('lumen_notices', + sa.Column('id', mysql.BIGINT(display_width=20), nullable=False), + sa.Column('record_created_at', mysql.DATETIME(), nullable=True), + sa.Column('date_received', mysql.DATETIME(), nullable=True), + sa.Column('sender', mysql.VARCHAR(length=256), nullable=True), + sa.Column('principal', mysql.VARCHAR(length=256), nullable=True), + sa.Column('recipient', mysql.VARCHAR(length=256), nullable=True), + sa.Column('notice_data', mysql.MEDIUMTEXT(), nullable=True), + sa.Column('CS_parsed_usernames', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True), + sa.PrimaryKeyConstraint('id'), + mysql_default_charset='latin1', + mysql_engine='InnoDB' + ) + op.drop_index(op.f('ix_twitter_keys_updated_at'), table_name='twitter_keys') + op.drop_index(op.f('ix_twitter_keys_screen_name'), table_name='twitter_keys') + op.drop_index(op.f('ix_twitter_keys_rate_limit_until'), table_name='twitter_keys') + op.drop_table('twitter_keys') + ### end Alembic commands ### + diff --git a/alembic/versions/6605f7dda83a_create_lumen_twitter_tables.py b/alembic/versions/89a6a61aa26c_create_lumen_twitter_tables.py similarity index 94% rename from alembic/versions/6605f7dda83a_create_lumen_twitter_tables.py rename to alembic/versions/89a6a61aa26c_create_lumen_twitter_tables.py index f4822e0..556c8bf 100644 --- a/alembic/versions/6605f7dda83a_create_lumen_twitter_tables.py +++ b/alembic/versions/89a6a61aa26c_create_lumen_twitter_tables.py @@ -1,14 +1,14 @@ -"""create lumen twitter tables +"""create_lumen_twitter_tables -Revision ID: 6605f7dda83a -Revises: 16dbded8a5cf -Create Date: 2017-05-12 01:53:47.112675 +Revision ID: 89a6a61aa26c +Revises: 757925d8e6eb +Create Date: 2017-05-12 04:46:53.229688 """ # revision identifiers, used by Alembic. -revision = '6605f7dda83a' -down_revision = '16dbded8a5cf' +revision = '89a6a61aa26c' +down_revision = '757925d8e6eb' branch_labels = None depends_on = None @@ -28,7 +28,7 @@ def downgrade(engine_name): def upgrade_development(): - # ### commands auto generated by Alembic - please adjust! ### + ### commands auto generated by Alembic - please adjust! ### op.create_table('lumen_notice_to_twitter_user', sa.Column('id', sa.Integer(), nullable=False), sa.Column('record_created_at', sa.DateTime(), nullable=True), @@ -85,11 +85,11 @@ def upgrade_development(): ) op.create_index(op.f('ix_twitter_users_not_found_id'), 'twitter_users', ['not_found_id'], unique=False) op.create_index(op.f('ix_twitter_users_screen_name'), 'twitter_users', ['screen_name'], unique=False) - # ### end Alembic commands ### + ### end Alembic commands ### def downgrade_development(): - # ### commands auto generated by Alembic - please adjust! ### + ### commands auto generated by Alembic - please adjust! ### op.drop_index(op.f('ix_twitter_users_screen_name'), table_name='twitter_users') op.drop_index(op.f('ix_twitter_users_not_found_id'), table_name='twitter_users') op.drop_table('twitter_users') @@ -103,11 +103,11 @@ def downgrade_development(): op.drop_index(op.f('ix_lumen_notice_to_twitter_user_twitter_user_id'), table_name='lumen_notice_to_twitter_user') op.drop_index(op.f('ix_lumen_notice_to_twitter_user_notice_id'), table_name='lumen_notice_to_twitter_user') op.drop_table('lumen_notice_to_twitter_user') - # ### end Alembic commands ### + ### end Alembic commands ### def upgrade_test(): - # ### commands auto generated by Alembic - please adjust! ### + ### commands auto generated by Alembic - please adjust! ### op.create_table('lumen_notice_to_twitter_user', sa.Column('id', sa.Integer(), nullable=False), sa.Column('record_created_at', sa.DateTime(), nullable=True), @@ -164,11 +164,11 @@ def upgrade_test(): ) op.create_index(op.f('ix_twitter_users_not_found_id'), 'twitter_users', ['not_found_id'], unique=False) op.create_index(op.f('ix_twitter_users_screen_name'), 'twitter_users', ['screen_name'], unique=False) - # ### end Alembic commands ### + ### end Alembic commands ### def downgrade_test(): - # ### commands auto generated by Alembic - please adjust! ### + ### commands auto generated by Alembic - please adjust! ### op.drop_index(op.f('ix_twitter_users_screen_name'), table_name='twitter_users') op.drop_index(op.f('ix_twitter_users_not_found_id'), table_name='twitter_users') op.drop_table('twitter_users') @@ -182,11 +182,11 @@ def downgrade_test(): op.drop_index(op.f('ix_lumen_notice_to_twitter_user_twitter_user_id'), table_name='lumen_notice_to_twitter_user') op.drop_index(op.f('ix_lumen_notice_to_twitter_user_notice_id'), table_name='lumen_notice_to_twitter_user') op.drop_table('lumen_notice_to_twitter_user') - # ### end Alembic commands ### + ### end Alembic commands ### def upgrade_production(): - # ### commands auto generated by Alembic - please adjust! ### + ### commands auto generated by Alembic - please adjust! ### op.create_table('lumen_notice_to_twitter_user', sa.Column('id', sa.Integer(), nullable=False), sa.Column('record_created_at', sa.DateTime(), nullable=True), @@ -243,11 +243,11 @@ def upgrade_production(): ) op.create_index(op.f('ix_twitter_users_not_found_id'), 'twitter_users', ['not_found_id'], unique=False) op.create_index(op.f('ix_twitter_users_screen_name'), 'twitter_users', ['screen_name'], unique=False) - # ### end Alembic commands ### + ### end Alembic commands ### def downgrade_production(): - # ### commands auto generated by Alembic - please adjust! ### + ### commands auto generated by Alembic - please adjust! ### op.drop_index(op.f('ix_twitter_users_screen_name'), table_name='twitter_users') op.drop_index(op.f('ix_twitter_users_not_found_id'), table_name='twitter_users') op.drop_table('twitter_users') @@ -261,5 +261,5 @@ def downgrade_production(): op.drop_index(op.f('ix_lumen_notice_to_twitter_user_twitter_user_id'), table_name='lumen_notice_to_twitter_user') op.drop_index(op.f('ix_lumen_notice_to_twitter_user_notice_id'), table_name='lumen_notice_to_twitter_user') op.drop_table('lumen_notice_to_twitter_user') - # ### end Alembic commands ### + ### end Alembic commands ### diff --git a/app/controller.py b/app/controller.py index 4a7c10b..0750f84 100644 --- a/app/controller.py +++ b/app/controller.py @@ -140,7 +140,7 @@ def fetch_lumen_notices(num_days=2): l = app.controllers.lumen_controller.LumenController(db_session, lumen_conn, log) topics = ["Copyright"] # "Government Requests", #["Defamation","Protest, Parody and Criticism Sites","Law Enforcement Requests","International","Government Requests","DMCA Subpoenas","Court Orders"] - date = date if date else datetime.datetime.utcnow() - datetime.timedelta(days=num_days) # now-2days + date = datetime.datetime.utcnow() - datetime.timedelta(days=int(float(num_days))) # now-2days l.archive_lumen_notices(topics, date) """ @@ -164,7 +164,7 @@ def fetch_twitter_users(): def fetch_twitter_snapshot_and_tweets(max_time_delta_min=60): t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) now = datetime.datetime.utcnow() - date = now - datetime.timedelta(minutes=int(max_time_delta_min)) # now-1hour + date = now - datetime.timedelta(minutes=int(float(max_time_delta_min))) # now-1hour t.query_and_archive_user_snapshots_and_tweets(date) """ diff --git a/app/controllers/lumen_controller.py b/app/controllers/lumen_controller.py index d31cc71..6a5046a 100644 --- a/app/controllers/lumen_controller.py +++ b/app/controllers/lumen_controller.py @@ -25,24 +25,27 @@ def archive_lumen_notices(self, topics, date): for topic in topics: next_page = 1 while next_page is not None: - #data = self.l.get_notices_to_twitter([topic], 50, next_page, date, nowish) + data = self.l.get_notices_to_twitter([topic], 50, next_page, date, nowish) - with open("tests/fixture_data/lumen_notices_0.json") as f: - data = json.loads(f.read()) + #with open("tests/fixture_data/lumen_notices_0.json") as f: + # data = json.loads(f.read()) - notices_json = data["notices"][13:20] + notices_json = data["notices"] next_page = data["meta"]["next_page"] - added_notices = [] + + added_notices_ids = set([]) + prev_add_notices_size = len(added_notices_ids) for notice in notices_json: - if notice["id"] not in recent_notices_ids: + nid = notice["id"] + date_received = datetime.datetime.strptime(notice["date_received"], '%Y-%m-%dT%H:%M:%S.000Z') # expect string like "2017-04-15T22:28:26.000Z" + if nid not in recent_notices_ids and date_received >= date and date_received <= nowish: try: - date_received = datetime.datetime.strptime(notice["date_received"], '%Y-%m-%dT%H:%M:%S.000Z') # expect string like "2017-04-15T22:28:26.000Z" sender = (notice["sender_name"].encode("utf-8", "replace") if notice["sender_name"] else "") principal = (notice["principal_name"].encode("utf-8", "replace") if notice["principal_name"] else "") recipient = (notice["recipient_name"].encode("utf-8", "replace") if notice["recipient_name"] else "") notice_record = LumenNotice( - id = notice["id"], + id = nid, record_created_at = datetime.datetime.utcnow(), date_received = date_received, sender = sender, @@ -51,15 +54,20 @@ def archive_lumen_notices(self, topics, date): notice_data = json.dumps(notice).encode("utf-8", "replace"), CS_parsed_usernames = CS_JobState.NOT_PROCESSED.value) self.db_session.add(notice_record) - added_notices.append(notice) + recent_notices_ids.add(nid) + added_notices_ids.add(nid) except: self.log.error("Error while creating LumenNotice object for notice {0}".format(notice["id"]), extra=sys.exc_info()[0]) + if len(added_notices_ids) == prev_add_notices_size: + break + + prev_add_notices_size = len(added_notices_ids) try: self.db_session.commit() except: - self.log.error("Error while saving {0} lumen notices in DB Session".format(len(added_notices)), extra=sys.exc_info()[0]) + self.log.error("Error while saving {0} lumen notices in DB Session".format(len(added_notices_ids)), extra=sys.exc_info()[0]) else: - self.log.info("Saved {0} lumen notices.".format(len(added_notices))) + self.log.info("Saved {0} lumen notices.".format(len(added_notices_ids))) """ diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 0c59a96..3b326e6 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -57,6 +57,8 @@ at some point the user has also been FOUND or PROTECTED, since we found the user info at some point the user has been NOT_FOUND or SUSPENDED (since we once assigned a not_found_id to them), +Note that if a username changes for an account that we don't have the id for, we will have no idea. + """ class TwitterController(): @@ -105,6 +107,8 @@ def query_and_archive_new_users(self): """ + unarchived_notice_users: list of LumenNoticeToTwitterUser + returns user_name_to_id = {name: id} noticeuser_to_state = {LumenNoticeToTwitterUser: CS_JobState} @@ -130,6 +134,11 @@ def archive_new_users(self, unarchived_notice_users): left_users = unarchived_user_names # reference failed_users = set([]) + + + all_found_ids = set([]) # all ids returned by UsersLookup + all_existing_ids = set([]) # all ids already stored in db + for i in range(1,int(len(user_names)/batch_size)+2): rows = [] limit = min(i*batch_size, len(user_names)) @@ -148,53 +157,62 @@ def archive_new_users(self, unarchived_notice_users): prev_limit = limit # for found users, commit to db - all_found_users = [] - for user_info in users_info: - user_json = json.loads(json.dumps(user_info._json).encode("utf-8", "replace")) if type(user_info) is twitter.models.User else user_info # to accomodate test fixture data - all_found_users.append(user_json["screen_name"]) - screen_name = user_json["screen_name"].lower() - uid = user_json["id"] - created_at = datetime.datetime.strptime(user_json["created_at"], TWITTER_DATETIME_STR_FORMAT) - # determine user state - user_state = TwitterUserState.FOUND if not user_json["protected"] else TwitterUserState.PROTECTED + users_json = [json.loads(json.dumps(user_info._json).encode("utf-8", "replace")) if type(user_info) is twitter.models.User else user_info for user_info in users_info] # to accomodate test fixture data - user_name_to_id[screen_name] = uid + this_found_ids = set([user_json["id"] for user_json in users_json]) + all_found_ids.update(this_found_ids) + existing_ids = self.db_session.query(TwitterUser).filter(TwitterUser.id.in_(list(this_found_ids))).all() + all_existing_ids.update(existing_ids) - now = datetime.datetime.utcnow() - try: - # create TwitterUser record - user_record = TwitterUser( - id = uid, - not_found_id = None, - screen_name = screen_name, #usernames change! index/search on id when possible - created_at = created_at, # is UTC; expected string format: "Mon Nov 29 21:18:15 +0000 2010" - record_created_at = now, - lang = user_json["lang"], - user_state = user_state.value, - CS_oldest_tweets_archived = CS_JobState.NOT_PROCESSED.value) - self.db_session.add(user_record) - - # create first TwitterUserSnapshot record - user_snapshot_record = TwitterUserSnapshot( - twitter_user_id = uid, - twitter_not_found_id = None, - record_created_at = now, - user_state = user_state.value, - user_json = json.dumps(user_json)) #already encoded - self.db_session.add(user_snapshot_record) + for user_json in users_json: + uid = str(user_json["id"]) + screen_name = user_json["screen_name"].lower() - left_users.discard(screen_name) # discard doesn't throw an error - except: - self.log.error("Error while creating TwitterUser, TwitterUserSnapshot objects for user {0}".format(user_json["id"]), extra=sys.exc_info()[0]) - failed_users.add(screen_name) + if uid not in all_existing_ids and screen_name in left_users: + # if uid not in all_existing_ids: if this id hasn't been seen before. need to do this if querying off usernames, since usernames can change. + # if (uid in left_users or screen_name in left_users): then we haven't seen this screen_name before. else, don't archive. actually this is a redundant check + created_at = datetime.datetime.strptime(user_json["created_at"], TWITTER_DATETIME_STR_FORMAT) + + # determine user state + user_state = TwitterUserState.FOUND if not user_json["protected"] else TwitterUserState.PROTECTED + + user_name_to_id[screen_name] = uid + + now = datetime.datetime.utcnow() + try: + # create TwitterUser record + user_record = TwitterUser( + id = uid, + not_found_id = None, + screen_name = screen_name, #usernames change! index/search on id when possible + created_at = created_at, # is UTC; expected string format: "Mon Nov 29 21:18:15 +0000 2010" + record_created_at = now, + lang = user_json["lang"], + user_state = user_state.value, + CS_oldest_tweets_archived = CS_JobState.NOT_PROCESSED.value) + self.db_session.add(user_record) + + # create first TwitterUserSnapshot record + user_snapshot_record = TwitterUserSnapshot( + twitter_user_id = uid, + twitter_not_found_id = None, + record_created_at = now, + user_state = user_state.value, + user_json = json.dumps(user_json)) #already encoded + self.db_session.add(user_snapshot_record) + + left_users.discard(screen_name) # discard doesn't throw an error + except: + self.log.error("Error while creating TwitterUser, TwitterUserSnapshot objects for user {0}".format(user_json["id"]), extra=sys.exc_info()[0]) + failed_users.add(screen_name) if len(users_info) > 0: try: self.db_session.commit() except: self.log.error("Error while saving DB Session for TwitterUser, TwitterUserSnapshot object for {0} users".format( len(users_info)), extra=sys.exc_info()[0]) - failed_users.update(all_found_users) + failed_users.update(this_found_ids) else: self.log.info("Saved {0} found twitter users' info.".format(len(users_info))) @@ -345,27 +363,54 @@ def archive_old_users(self, key_to_users, has_ids=True): limit-prev_limit, len(user_keys), len(users_info))) prev_limit = limit - # for found users, commit to db - for user_info in users_info: - user_json = json.loads(json.dumps(user_info._json).encode("utf-8", "replace")) if type(user_info) is twitter.models.User else user_info # to accomodate test fixture data + # for found users, commit to db + users_json = [json.loads(json.dumps(user_info._json).encode("utf-8", "replace")) if type(user_info) is twitter.models.User else user_info for user_info in users_info] # to accomodate test fixture data + for user_json in users_json: uid = str(user_json["id"]) screen_name = user_json["screen_name"].lower() + user_state = TwitterUserState.FOUND if not user_json["protected"] else TwitterUserState.PROTECTED created_at = datetime.datetime.strptime(user_json["created_at"], TWITTER_DATETIME_STR_FORMAT) + now = datetime.datetime.utcnow() + + # get TwitterUser record + new_user_record_created = False + if has_ids: + user = key_to_users[uid] + else: + if screen_name in key_to_users: + # then screen_name hasn't changed. update the existing user record. + user = key_to_users[screen_name] + else: + # we wouldn't have called UsersLookup with screen_names unless we didn't have the ids (users not found) + # if a previously not found user changed their screen name, AND their account got unsuspended, + # such that we are able to get their account info now, we'd get an id we haven't seen before, and there is + # NO WAY for us to match up these records. + # so we create a new record. + user = TwitterUser( + id = uid, + not_found_id = None, + screen_name = screen_name, + created_at = created_at, + record_created_at = now, + lang = user_json["lang"], + user_state = user_state.value, + CS_oldest_tweets_archived = CS_JobState.NOT_PROCESSED.value) + self.db_session.add(user_record) + new_user_record_created = True - user = key_to_users[uid] if has_ids else key_to_users[screen_name] # TwitterUser record - now = datetime.datetime.utcnow() try: - # update TwitterUser record - user.id = uid - user.screen_name = screen_name - user.created_at = created_at - user.record_updated_at = now - user.lang = user_json["lang"] - user.state = user_state.value + if not new_user_record_created: + # update TwitterUser record + user.id = uid + user.screen_name = screen_name + user.created_at = created_at + user.record_updated_at = now + user.lang = user_json["lang"] + user.state = user_state.value # create TwitterUserSnapshot record user_snapshot_record = TwitterUserSnapshot( @@ -439,6 +484,9 @@ def query_and_archive_tweets(self): self.with_user_records_archive_tweets(unarchived_users) + """ + user_records: list of TwitterUser records + """ def with_user_records_archive_tweets(self, user_records): if len(user_records) == 0: return @@ -457,10 +505,11 @@ def with_user_records_archive_tweets(self, user_records): if not oldest_tweets_archived: utils.common.update_all_CS_JobState(user_to_state, "CS_oldest_tweets_archived", self.db_session, self.log) - # returns (statuses, user_state, job_state) - # possible user_state: SUSPENDED, NOT_FOUND - - # not responsible for updating user_state; user_state in TwitterUser is updated solely by archive_old/new_users methods + """ + returns (statuses, user_state, job_state) + + possible user_state: SUSPENDED, NOT_FOUND + """ def get_statuses_user_state(self, user_id, count=200, max_id=None, user_state=TwitterUserState.NOT_FOUND, job_state=CS_JobState.FAILED): (statuses, user_state, job_state) = ([], user_state, job_state) try: @@ -482,8 +531,10 @@ def get_statuses_user_state(self, user_id, count=200, max_id=None, user_state=Tw return (statuses, user_state, job_state) - # given user_id, archive user tweets. - # also updates TwitterUser record if new user_state info + """ + given TwitterUser user, archive user tweets. + also updates TwitterUser record if unexpected user state, by calling self.archive_old_users + """ def archive_user_tweets(self, user): user_id = user.id diff --git a/config/development.json.example b/config/development.json.example index d0e44a8..0599367 100644 --- a/config/development.json.example +++ b/config/development.json.example @@ -1,8 +1,11 @@ { "database": "", "user": "", + "host": "", "password": "", - "client_id" : "", - "client_secret" : "", - "redirect_uri" : "" + "reddit_client_id" : "", + "reddit_client_secret" : "", + "reddit_redirect_uri" : "", + "twitter_consumer_key" : "", + "twitter_consumer_secret" : "" } diff --git a/schedule_twitter_jobs.py b/schedule_twitter_jobs.py index ee345f0..e652cd4 100644 --- a/schedule_twitter_jobs.py +++ b/schedule_twitter_jobs.py @@ -17,11 +17,19 @@ fetch_twitter_snapshot_and_tweets: every 24 hours, get new snapshots for users who haven't had a snapshot in the last 23.3 hours fetch_twitter_tweets: every 2 hours -python twitter_schedule_jobs.py --function fetch_lumen_notices --lumen_delta_days 2 --interval 180 --env development -python twitter_schedule_jobs.py --function parse_lumen_notices_for_twitter_accounts --interval 120 --env development -python twitter_schedule_jobs.py --function fetch_twitter_users --interval 120 --env development -python twitter_schedule_jobs.py --function fetch_twitter_snapshot_and_tweets --snapshot_delta_min 1400 --interval 1440 --env development -python twitter_schedule_jobs.py --function fetch_twitter_tweets --interval 120 --env development +python schedule_twitter_jobs.py --function fetch_lumen_notices --lumen_delta_days 2 --interval 180 --env development +python schedule_twitter_jobs.py --function parse_lumen_notices_for_twitter_accounts --interval 120 --env development +python schedule_twitter_jobs.py --function fetch_twitter_users --interval 120 --env development +python schedule_twitter_jobs.py --function fetch_twitter_snapshot_and_tweets --snapshot_delta_min 1400 --interval 1440 --env development +python schedule_twitter_jobs.py --function fetch_twitter_tweets --interval 120 --env development + + +for testing purposes: +python schedule_twitter_jobs.py --function fetch_lumen_notices --lumen_delta_days 2 --interval 20 --env development +python schedule_twitter_jobs.py --function parse_lumen_notices_for_twitter_accounts --interval 15 --env development +python schedule_twitter_jobs.py --function fetch_twitter_users --interval 15 --env development +python schedule_twitter_jobs.py --function fetch_twitter_snapshot_and_tweets --snapshot_delta_min 15 --interval 20 --env development +python schedule_twitter_jobs.py --function fetch_twitter_tweets --interval 20 --env development """ @@ -63,18 +71,19 @@ def main(): queue_name = os.environ['CS_ENV'] scheduler = Scheduler(queue_name = os.environ['CS_ENV'], connection=Redis()) - ttl = 172800 ## two days in seconds - if(ttl <= int(args.interval) + 3600): - ttl = int(args.interval) + 3600 # args.interval + 1 hr + ttl = max(172800, int(args.interval) + 3600) # max of (2days in seconds, args.interval + 1 hr) + timeout = max(60*60*3, int(args.interval) + 300) # max of (3hrs in seconds, args.interval + 50min) + if args.function =="fetch_lumen_notices": scheduler.schedule( scheduled_time=datetime.utcnow(), func=app.controller.fetch_lumen_notices, - args=[args.lumen_date], + args=[args.lumen_delta_days], interval=int(args.interval), repeat=None, - result_ttl = ttl) + result_ttl = ttl, + timeout = timeout) elif args.function =="parse_lumen_notices_for_twitter_accounts": scheduler.schedule( scheduled_time=datetime.utcnow(), @@ -82,7 +91,8 @@ def main(): args=[], interval=int(args.interval), repeat=None, - result_ttl = ttl) + result_ttl = ttl, + timeout = timeout) elif args.function =="fetch_twitter_users": scheduler.schedule( scheduled_time=datetime.utcnow(), @@ -90,7 +100,8 @@ def main(): args=[], interval=int(args.interval), repeat=None, - result_ttl = ttl) + result_ttl = ttl, + timeout = timeout) elif args.function =="fetch_twitter_snapshot_and_tweets": scheduler.schedule( scheduled_time=datetime.utcnow(), @@ -98,15 +109,17 @@ def main(): args=[args.snapshot_delta_min], interval=int(args.interval), repeat=None, - result_ttl = ttl) + result_ttl = ttl, + timeout = timeout) elif args.function =="fetch_twitter_tweets": scheduler.schedule( scheduled_time=datetime.utcnow(), func=app.controller.fetch_twitter_tweets, - args=[args.lumen_date], + args=[], interval=int(args.interval), repeat=None, - result_ttl = ttl) + result_ttl = ttl, + timeout = timeout) if __name__ == '__main__': From 85a0837e667bd0d76b553ed1f534e73aa35e54b0 Mon Sep 17 00:00:00 2001 From: mmou Date: Fri, 12 May 2017 17:02:22 -0400 Subject: [PATCH 014/221] fix small bugs in lumen twitter code --- app/controllers/lumen_controller.py | 24 ++++++++++++---------- app/controllers/twitter_controller.py | 12 +++++------ schedule_twitter_jobs.py | 29 +++++++++------------------ 3 files changed, 29 insertions(+), 36 deletions(-) diff --git a/app/controllers/lumen_controller.py b/app/controllers/lumen_controller.py index 6a5046a..a6c3498 100644 --- a/app/controllers/lumen_controller.py +++ b/app/controllers/lumen_controller.py @@ -183,20 +183,22 @@ def helper_parse_url_for_username(url): url_split = url.split("/") retries = 3 + # TODO: how to resolve t.co urls without hitting twitter.com without auth tokens (since we're getting rate limited?) # calling requests.get is very time inefficient - if False: #len(url_split) >= 3 and url_split[2] == tco_domain: + if len(url_split) >= 3 and url_split[2] == tco_domain: + self.log.error("t.co url that we didn't attempt to resolve: {0}".format(url)) # try to get request and unshorten the url - r = None - while retries > 0: - try: - r = requests.get(url) - url = r.url - url_split = url.split("/") - except: - retries -=1 - if retries == 0 and not r: - raise Exception + #####r = None + #####while retries > 0: + ##### try: + ##### r = requests.get(url) + ##### url = r.url + ##### url_split = url.split("/") + ##### except: + ##### retries -=1 + #####if retries == 0 and not r: + ##### raise Exception if url == "https://twitter.com/account/suspended": # TODO: then we have no information. diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 3b326e6..6bbd742 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -140,7 +140,6 @@ def archive_new_users(self, unarchived_notice_users): all_existing_ids = set([]) # all ids already stored in db for i in range(1,int(len(user_names)/batch_size)+2): - rows = [] limit = min(i*batch_size, len(user_names)) if limit > prev_limit: # query twitter API for user info @@ -150,11 +149,11 @@ def archive_new_users(self, unarchived_notice_users): users_info = self.t.api.UsersLookup(screen_name=this_users) except twitter.error.TwitterError as e: failed_users.update(this_users) - self.log.error("Failed to query for Twitter users using api.UsersLookup: {0}".format(str(e))) + self.log.error("Failed to query for {0} Twitter users using api.UsersLookup: {1}".format(limit-prev_limit, str(e))) else: self.log.info("Queried for {0} Twitter users out of a total of {1} users, got {2} users".format( limit-prev_limit, len(user_names), len(users_info))) - prev_limit = limit + prev_limit = limit # for found users, commit to db @@ -343,12 +342,13 @@ def archive_old_users(self, key_to_users, has_ids=True): left_users = set(user_keys) for i in range(1,int(len(user_keys)/batch_size)+2): - rows = [] limit = min(i*batch_size, len(user_keys)) if limit > prev_limit: # query twitter API for user info users_info = [] this_users = user_keys[prev_limit:limit] + if len(this_users) > batch_size: + self.log.error("Caught error where this_users is too long??? : len(this_users) = {0}".format(len(this_users))) try: if has_ids: users_info = self.t.api.UsersLookup(user_id=this_users) @@ -357,11 +357,11 @@ def archive_old_users(self, key_to_users, has_ids=True): except twitter.error.TwitterError as e: # this message means no users_info found: "[{'code': 17, 'message': 'No user matches for specified terms.'}]" if e.message[0]['code'] != 17: - self.log.error("Unexpected error while querying for Twitter users using api.UsersLookup: {0}".format(str(e))) + self.log.error("Unexpected error while querying for {0} Twitter users using api.UsersLookup: {1}; users: {2}".format(limit-prev_limit, str(e), this_users)) else: self.log.info("Queried for {0} Twitter users out of a total of {1} users, got {2} users".format( limit-prev_limit, len(user_keys), len(users_info))) - prev_limit = limit + prev_limit = limit # for found users, commit to db diff --git a/schedule_twitter_jobs.py b/schedule_twitter_jobs.py index e652cd4..9b57335 100644 --- a/schedule_twitter_jobs.py +++ b/schedule_twitter_jobs.py @@ -12,25 +12,16 @@ when starting up these jobs, best to offset them all a bit (by a couple minutes) fetch_lumen_notices: every 3 hours, look for posts that are from at most 2 days ago -parse_lumen_notices_for_twitter_accounts: every 2 hours -fetch_twitter_users: every 2 hours +parse_lumen_notices_for_twitter_accounts: every 1 hour +fetch_twitter_users: every 1 hour fetch_twitter_snapshot_and_tweets: every 24 hours, get new snapshots for users who haven't had a snapshot in the last 23.3 hours -fetch_twitter_tweets: every 2 hours - -python schedule_twitter_jobs.py --function fetch_lumen_notices --lumen_delta_days 2 --interval 180 --env development -python schedule_twitter_jobs.py --function parse_lumen_notices_for_twitter_accounts --interval 120 --env development -python schedule_twitter_jobs.py --function fetch_twitter_users --interval 120 --env development -python schedule_twitter_jobs.py --function fetch_twitter_snapshot_and_tweets --snapshot_delta_min 1400 --interval 1440 --env development -python schedule_twitter_jobs.py --function fetch_twitter_tweets --interval 120 --env development - - -for testing purposes: -python schedule_twitter_jobs.py --function fetch_lumen_notices --lumen_delta_days 2 --interval 20 --env development -python schedule_twitter_jobs.py --function parse_lumen_notices_for_twitter_accounts --interval 15 --env development -python schedule_twitter_jobs.py --function fetch_twitter_users --interval 15 --env development -python schedule_twitter_jobs.py --function fetch_twitter_snapshot_and_tweets --snapshot_delta_min 15 --interval 20 --env development -python schedule_twitter_jobs.py --function fetch_twitter_tweets --interval 20 --env development +fetch_twitter_tweets: every 1 hour +python schedule_twitter_jobs.py --function fetch_lumen_notices --lumen_delta_days 2 --interval 10800 --env development +python schedule_twitter_jobs.py --function parse_lumen_notices_for_twitter_accounts --interval 3600 --env development +python schedule_twitter_jobs.py --function fetch_twitter_users --interval 3600 --env development +python schedule_twitter_jobs.py --function fetch_twitter_snapshot_and_tweets --snapshot_delta_min 1400 --interval 86400 --env development +python schedule_twitter_jobs.py --function fetch_twitter_tweets --interval 3600 --env development """ @@ -54,8 +45,8 @@ def main(): help="For fetch_twitter_snapshot_and_tweets; for all users older than snapshot_delta_min (in minutes), need to fetch new snapshots.") parser.add_argument("--interval", - default = 60, # default 60 min - help="Interval (in minutes) between tasks in seconds (default 60 minutes)") + default = 3600, # default 60 min = 60*60 = 3600 seconds + help="Interval (in seconds) between tasks in seconds (default 60 seconds)") parser.add_argument("-e", '--env', choices=['development', 'test', 'production'], From 3c1441d595c7d2efa663d6ea183867ccc4e94884 Mon Sep 17 00:00:00 2001 From: = <=> Date: Tue, 30 May 2017 12:24:42 -0400 Subject: [PATCH 015/221] edit alembic versions. add some log statements. --- .../757925d8e6eb_add_twitter_key_table.py | 244 +++++++++--------- app/connections/lumen_connect.py | 3 +- app/controller.py | 5 + app/controllers/lumen_controller.py | 10 +- app/controllers/twitter_controller.py | 8 +- 5 files changed, 140 insertions(+), 130 deletions(-) diff --git a/alembic/versions/757925d8e6eb_add_twitter_key_table.py b/alembic/versions/757925d8e6eb_add_twitter_key_table.py index 5eec9a5..6e17aac 100644 --- a/alembic/versions/757925d8e6eb_add_twitter_key_table.py +++ b/alembic/versions/757925d8e6eb_add_twitter_key_table.py @@ -71,72 +71,72 @@ def upgrade_test(): op.create_index(op.f('ix_twitter_keys_rate_limit_until'), 'twitter_keys', ['rate_limit_until'], unique=False) op.create_index(op.f('ix_twitter_keys_screen_name'), 'twitter_keys', ['screen_name'], unique=False) op.create_index(op.f('ix_twitter_keys_updated_at'), 'twitter_keys', ['updated_at'], unique=False) - op.drop_table('lumen_notices') - op.drop_table('twitter_statuses') - op.drop_table('twitter_user_snapshots') - op.drop_table('twitter_users') - op.drop_table('lumen_notice_to_twitter_user') +# op.drop_table('lumen_notices') +# op.drop_table('twitter_statuses') +# op.drop_table('twitter_user_snapshots') +# op.drop_table('twitter_users') +# op.drop_table('lumen_notice_to_twitter_user') ### end Alembic commands ### def downgrade_test(): ### commands auto generated by Alembic - please adjust! ### - op.create_table('lumen_notice_to_twitter_user', - sa.Column('id', mysql.INTEGER(display_width=11), nullable=False), - sa.Column('record_created_at', mysql.DATETIME(), nullable=True), - sa.Column('notice_id', mysql.BIGINT(display_width=20), autoincrement=False, nullable=True), - sa.Column('twitter_username', mysql.VARCHAR(length=256), nullable=True), - sa.Column('twitter_user_id', mysql.VARCHAR(length=64), nullable=True), - sa.Column('CS_account_archived', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('id'), - mysql_default_charset='latin1', - mysql_engine='InnoDB' - ) - op.create_table('twitter_users', - sa.Column('id', mysql.VARCHAR(length=64), nullable=False), - sa.Column('screen_name', mysql.VARCHAR(length=256), nullable=True), - sa.Column('created_at', mysql.DATETIME(), nullable=True), - sa.Column('record_created_at', mysql.DATETIME(), nullable=True), - sa.Column('lang', mysql.VARCHAR(length=32), nullable=True), - sa.Column('user_state', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True), - sa.Column('CS_oldest_tweets_archived', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('id'), - mysql_default_charset='latin1', - mysql_engine='InnoDB' - ) - op.create_table('twitter_user_snapshots', - sa.Column('id', mysql.INTEGER(display_width=11), nullable=False), - sa.Column('twitter_user_id', mysql.VARCHAR(length=64), nullable=True), - sa.Column('record_created_at', mysql.DATETIME(), nullable=True), - sa.Column('user_state', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True), - sa.Column('user_json', mysql.MEDIUMTEXT(), nullable=True), - sa.PrimaryKeyConstraint('id'), - mysql_default_charset='latin1', - mysql_engine='InnoDB' - ) - op.create_table('twitter_statuses', - sa.Column('id', mysql.BIGINT(display_width=20), nullable=False), - sa.Column('user_id', mysql.VARCHAR(length=64), nullable=True), - sa.Column('created_at', mysql.DATETIME(), nullable=True), - sa.Column('record_created_at', mysql.DATETIME(), nullable=True), - sa.Column('status_data', mysql.MEDIUMTEXT(), nullable=True), - sa.PrimaryKeyConstraint('id'), - mysql_default_charset='latin1', - mysql_engine='InnoDB' - ) - op.create_table('lumen_notices', - sa.Column('id', mysql.BIGINT(display_width=20), nullable=False), - sa.Column('record_created_at', mysql.DATETIME(), nullable=True), - sa.Column('date_received', mysql.DATETIME(), nullable=True), - sa.Column('sender', mysql.VARCHAR(length=256), nullable=True), - sa.Column('principal', mysql.VARCHAR(length=256), nullable=True), - sa.Column('recipient', mysql.VARCHAR(length=256), nullable=True), - sa.Column('notice_data', mysql.MEDIUMTEXT(), nullable=True), - sa.Column('CS_parsed_usernames', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('id'), - mysql_default_charset='latin1', - mysql_engine='InnoDB' - ) +# op.create_table('lumen_notice_to_twitter_user', +# sa.Column('id', mysql.INTEGER(display_width=11), nullable=False), +# sa.Column('record_created_at', mysql.DATETIME(), nullable=True), +# sa.Column('notice_id', mysql.BIGINT(display_width=20), autoincrement=False, nullable=True), +# sa.Column('twitter_username', mysql.VARCHAR(length=256), nullable=True), +# sa.Column('twitter_user_id', mysql.VARCHAR(length=64), nullable=True), +# sa.Column('CS_account_archived', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True), +# sa.PrimaryKeyConstraint('id'), +# mysql_default_charset='latin1', +# mysql_engine='InnoDB' +# ) +# op.create_table('twitter_users', +# sa.Column('id', mysql.VARCHAR(length=64), nullable=False), +# sa.Column('screen_name', mysql.VARCHAR(length=256), nullable=True), +# sa.Column('created_at', mysql.DATETIME(), nullable=True), +# sa.Column('record_created_at', mysql.DATETIME(), nullable=True), +# sa.Column('lang', mysql.VARCHAR(length=32), nullable=True), +# sa.Column('user_state', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True), +# sa.Column('CS_oldest_tweets_archived', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True), +# sa.PrimaryKeyConstraint('id'), +# mysql_default_charset='latin1', +# mysql_engine='InnoDB' +# ) +# op.create_table('twitter_user_snapshots', +# sa.Column('id', mysql.INTEGER(display_width=11), nullable=False), +# sa.Column('twitter_user_id', mysql.VARCHAR(length=64), nullable=True), +# sa.Column('record_created_at', mysql.DATETIME(), nullable=True), +# sa.Column('user_state', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True), +# sa.Column('user_json', mysql.MEDIUMTEXT(), nullable=True), +# sa.PrimaryKeyConstraint('id'), +# mysql_default_charset='latin1', +# mysql_engine='InnoDB' +# ) +# op.create_table('twitter_statuses', +# sa.Column('id', mysql.BIGINT(display_width=20), nullable=False), +# sa.Column('user_id', mysql.VARCHAR(length=64), nullable=True), +# sa.Column('created_at', mysql.DATETIME(), nullable=True), +# sa.Column('record_created_at', mysql.DATETIME(), nullable=True), +# sa.Column('status_data', mysql.MEDIUMTEXT(), nullable=True), +# sa.PrimaryKeyConstraint('id'), +# mysql_default_charset='latin1', +# mysql_engine='InnoDB' +# ) +# op.create_table('lumen_notices', +# sa.Column('id', mysql.BIGINT(display_width=20), nullable=False), +# sa.Column('record_created_at', mysql.DATETIME(), nullable=True), +# sa.Column('date_received', mysql.DATETIME(), nullable=True), +# sa.Column('sender', mysql.VARCHAR(length=256), nullable=True), +# sa.Column('principal', mysql.VARCHAR(length=256), nullable=True), +# sa.Column('recipient', mysql.VARCHAR(length=256), nullable=True), +# sa.Column('notice_data', mysql.MEDIUMTEXT(), nullable=True), +# sa.Column('CS_parsed_usernames', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True), +# sa.PrimaryKeyConstraint('id'), +# mysql_default_charset='latin1', +# mysql_engine='InnoDB' +# ) op.drop_index(op.f('ix_twitter_keys_updated_at'), table_name='twitter_keys') op.drop_index(op.f('ix_twitter_keys_screen_name'), table_name='twitter_keys') op.drop_index(op.f('ix_twitter_keys_rate_limit_until'), table_name='twitter_keys') @@ -160,72 +160,72 @@ def upgrade_production(): op.create_index(op.f('ix_twitter_keys_rate_limit_until'), 'twitter_keys', ['rate_limit_until'], unique=False) op.create_index(op.f('ix_twitter_keys_screen_name'), 'twitter_keys', ['screen_name'], unique=False) op.create_index(op.f('ix_twitter_keys_updated_at'), 'twitter_keys', ['updated_at'], unique=False) - op.drop_table('lumen_notices') - op.drop_table('twitter_statuses') - op.drop_table('twitter_user_snapshots') - op.drop_table('twitter_users') - op.drop_table('lumen_notice_to_twitter_user') +# op.drop_table('lumen_notices') +# op.drop_table('twitter_statuses') +# op.drop_table('twitter_user_snapshots') +# op.drop_table('twitter_users') +# op.drop_table('lumen_notice_to_twitter_user') ### end Alembic commands ### def downgrade_production(): ### commands auto generated by Alembic - please adjust! ### - op.create_table('lumen_notice_to_twitter_user', - sa.Column('id', mysql.INTEGER(display_width=11), nullable=False), - sa.Column('record_created_at', mysql.DATETIME(), nullable=True), - sa.Column('notice_id', mysql.BIGINT(display_width=20), autoincrement=False, nullable=True), - sa.Column('twitter_username', mysql.VARCHAR(length=256), nullable=True), - sa.Column('twitter_user_id', mysql.VARCHAR(length=64), nullable=True), - sa.Column('CS_account_archived', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('id'), - mysql_default_charset='latin1', - mysql_engine='InnoDB' - ) - op.create_table('twitter_users', - sa.Column('id', mysql.VARCHAR(length=64), nullable=False), - sa.Column('screen_name', mysql.VARCHAR(length=256), nullable=True), - sa.Column('created_at', mysql.DATETIME(), nullable=True), - sa.Column('record_created_at', mysql.DATETIME(), nullable=True), - sa.Column('lang', mysql.VARCHAR(length=32), nullable=True), - sa.Column('user_state', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True), - sa.Column('CS_oldest_tweets_archived', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('id'), - mysql_default_charset='latin1', - mysql_engine='InnoDB' - ) - op.create_table('twitter_user_snapshots', - sa.Column('id', mysql.INTEGER(display_width=11), nullable=False), - sa.Column('twitter_user_id', mysql.VARCHAR(length=64), nullable=True), - sa.Column('record_created_at', mysql.DATETIME(), nullable=True), - sa.Column('user_state', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True), - sa.Column('user_json', mysql.MEDIUMTEXT(), nullable=True), - sa.PrimaryKeyConstraint('id'), - mysql_default_charset='latin1', - mysql_engine='InnoDB' - ) - op.create_table('twitter_statuses', - sa.Column('id', mysql.BIGINT(display_width=20), nullable=False), - sa.Column('user_id', mysql.VARCHAR(length=64), nullable=True), - sa.Column('created_at', mysql.DATETIME(), nullable=True), - sa.Column('record_created_at', mysql.DATETIME(), nullable=True), - sa.Column('status_data', mysql.MEDIUMTEXT(), nullable=True), - sa.PrimaryKeyConstraint('id'), - mysql_default_charset='latin1', - mysql_engine='InnoDB' - ) - op.create_table('lumen_notices', - sa.Column('id', mysql.BIGINT(display_width=20), nullable=False), - sa.Column('record_created_at', mysql.DATETIME(), nullable=True), - sa.Column('date_received', mysql.DATETIME(), nullable=True), - sa.Column('sender', mysql.VARCHAR(length=256), nullable=True), - sa.Column('principal', mysql.VARCHAR(length=256), nullable=True), - sa.Column('recipient', mysql.VARCHAR(length=256), nullable=True), - sa.Column('notice_data', mysql.MEDIUMTEXT(), nullable=True), - sa.Column('CS_parsed_usernames', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('id'), - mysql_default_charset='latin1', - mysql_engine='InnoDB' - ) +# op.create_table('lumen_notice_to_twitter_user', +# sa.Column('id', mysql.INTEGER(display_width=11), nullable=False), +# sa.Column('record_created_at', mysql.DATETIME(), nullable=True), +# sa.Column('notice_id', mysql.BIGINT(display_width=20), autoincrement=False, nullable=True), +# sa.Column('twitter_username', mysql.VARCHAR(length=256), nullable=True), +# sa.Column('twitter_user_id', mysql.VARCHAR(length=64), nullable=True), +# sa.Column('CS_account_archived', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True), +# sa.PrimaryKeyConstraint('id'), +# mysql_default_charset='latin1', +# mysql_engine='InnoDB' +# ) +# op.create_table('twitter_users', +# sa.Column('id', mysql.VARCHAR(length=64), nullable=False), +# sa.Column('screen_name', mysql.VARCHAR(length=256), nullable=True), +# sa.Column('created_at', mysql.DATETIME(), nullable=True), +# sa.Column('record_created_at', mysql.DATETIME(), nullable=True), +# sa.Column('lang', mysql.VARCHAR(length=32), nullable=True), +# sa.Column('user_state', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True), +# sa.Column('CS_oldest_tweets_archived', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True), +# sa.PrimaryKeyConstraint('id'), +# mysql_default_charset='latin1', +# mysql_engine='InnoDB' +# ) +# op.create_table('twitter_user_snapshots', +# sa.Column('id', mysql.INTEGER(display_width=11), nullable=False), +# sa.Column('twitter_user_id', mysql.VARCHAR(length=64), nullable=True), +# sa.Column('record_created_at', mysql.DATETIME(), nullable=True), +# sa.Column('user_state', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True), +# sa.Column('user_json', mysql.MEDIUMTEXT(), nullable=True), +# sa.PrimaryKeyConstraint('id'), +# mysql_default_charset='latin1', +# mysql_engine='InnoDB' +# ) +# op.create_table('twitter_statuses', +# sa.Column('id', mysql.BIGINT(display_width=20), nullable=False), +# sa.Column('user_id', mysql.VARCHAR(length=64), nullable=True), +# sa.Column('created_at', mysql.DATETIME(), nullable=True), +# sa.Column('record_created_at', mysql.DATETIME(), nullable=True), +# sa.Column('status_data', mysql.MEDIUMTEXT(), nullable=True), +# sa.PrimaryKeyConstraint('id'), +# mysql_default_charset='latin1', +# mysql_engine='InnoDB' +# ) +# op.create_table('lumen_notices', +# sa.Column('id', mysql.BIGINT(display_width=20), nullable=False), +# sa.Column('record_created_at', mysql.DATETIME(), nullable=True), +# sa.Column('date_received', mysql.DATETIME(), nullable=True), +# sa.Column('sender', mysql.VARCHAR(length=256), nullable=True), +# sa.Column('principal', mysql.VARCHAR(length=256), nullable=True), +# sa.Column('recipient', mysql.VARCHAR(length=256), nullable=True), +# sa.Column('notice_data', mysql.MEDIUMTEXT(), nullable=True), +# sa.Column('CS_parsed_usernames', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True), +# sa.PrimaryKeyConstraint('id'), +# mysql_default_charset='latin1', +# mysql_engine='InnoDB' +# ) op.drop_index(op.f('ix_twitter_keys_updated_at'), table_name='twitter_keys') op.drop_index(op.f('ix_twitter_keys_screen_name'), table_name='twitter_keys') op.drop_index(op.f('ix_twitter_keys_rate_limit_until'), table_name='twitter_keys') diff --git a/app/connections/lumen_connect.py b/app/connections/lumen_connect.py index c856262..153370e 100644 --- a/app/connections/lumen_connect.py +++ b/app/connections/lumen_connect.py @@ -32,8 +32,9 @@ def get(self, url, payload): return json.loads(r.text) else: retries -= 1 - self.log.error("Error querying usernames with notes. Status code {0}. Retrying ({1} retries left)".format(r.status_code, retries)) + self.log.error("Error querying lumen url: {0}. Status code {1}. Retrying ({2} retries left)".format(url, r.status_code, retries)) time.sleep(30) # "If you do not have a researcher API token you will limited to 25 results per request and 3 requests per minute. " + self.log.error("Failed to query lumen url: {0}. Status code {1}.".format(url, r.status_code)) def get_search(self, payload): return self.get("https://Lumendatabase.org/notices/search", payload) diff --git a/app/controller.py b/app/controller.py index 0750f84..dafd866 100644 --- a/app/controller.py +++ b/app/controller.py @@ -137,6 +137,7 @@ def archive_experiment_submission_metadata(experiment_name): Archive lumen notices. """ def fetch_lumen_notices(num_days=2): + log.info("Calling fetch_lumen_notices, num_days={0}".format(num_days)) l = app.controllers.lumen_controller.LumenController(db_session, lumen_conn, log) topics = ["Copyright"] # "Government Requests", #["Defamation","Protest, Parody and Criticism Sites","Law Enforcement Requests","International","Government Requests","DMCA Subpoenas","Court Orders"] @@ -147,6 +148,7 @@ def fetch_lumen_notices(num_days=2): For all LumenNotices with CS_parsed_usernames=False, parse for twitter accounts """ def parse_lumen_notices_for_twitter_accounts(): + log.info("Calling parse_lumen_notices_for_twitter_accounts.") l = app.controllers.lumen_controller.LumenController(db_session, lumen_conn, log) l.query_and_parse_notices_archive_users() @@ -155,6 +157,7 @@ def parse_lumen_notices_for_twitter_accounts(): archive Twitter accounts in TwitterUser objects, and create 1st TwitterUserSnapshot """ def fetch_twitter_users(): + log.info("Calling fetch_twitter_users.") t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) t.query_and_archive_new_users() @@ -162,6 +165,7 @@ def fetch_twitter_users(): For all TwitterUserSnapshot.created_at older than x min, fetch another snapshot """ def fetch_twitter_snapshot_and_tweets(max_time_delta_min=60): + log.info("Calling fetch_twitter_snapshot_and_tweets, max_time_delta_min={0}".format(max_time_delta_min)) t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) now = datetime.datetime.utcnow() date = now - datetime.timedelta(minutes=int(float(max_time_delta_min))) # now-1hour @@ -171,6 +175,7 @@ def fetch_twitter_snapshot_and_tweets(max_time_delta_min=60): For all TwitterUsers with CS_most_tweets_queried=False, fetch tweets """ def fetch_twitter_tweets(): + log.info("Calling fetch_twitter_tweets.") t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) t.query_and_archive_tweets() diff --git a/app/controllers/lumen_controller.py b/app/controllers/lumen_controller.py index a6c3498..d848be6 100644 --- a/app/controllers/lumen_controller.py +++ b/app/controllers/lumen_controller.py @@ -30,6 +30,10 @@ def archive_lumen_notices(self, topics, date): #with open("tests/fixture_data/lumen_notices_0.json") as f: # data = json.loads(f.read()) + if not data: + # error is already logged by get_notices_to_twitter + return + notices_json = data["notices"] next_page = data["meta"]["next_page"] @@ -109,7 +113,7 @@ def parse_notices_archive_users(self, unparsed_notices): for url_obj in work["infringing_urls"]: url = url_obj["url"] try: - username = helper_parse_url_for_username(url) + username = helper_parse_url_for_username(url, self.log) except utils.common.ParseUsernameSuspendedUserFound: suspended_user_count += 1 except Exception as e: @@ -176,7 +180,7 @@ def parse_notices_archive_users(self, unparsed_notices): # assume url is of the form 'https://twitter.com/sooos243/status/852942353321140224' # OR check if a t.co url extends to a twitter.com url # interesting later study: see how many t.co links resolve to twitter links? -def helper_parse_url_for_username(url): +def helper_parse_url_for_username(url, log): twitter_domain = "twitter.com" tco_domain = "t.co" username = None @@ -186,7 +190,7 @@ def helper_parse_url_for_username(url): # TODO: how to resolve t.co urls without hitting twitter.com without auth tokens (since we're getting rate limited?) # calling requests.get is very time inefficient if len(url_split) >= 3 and url_split[2] == tco_domain: - self.log.error("t.co url that we didn't attempt to resolve: {0}".format(url)) + log.error("t.co url that we didn't attempt to resolve: {0}".format(url)) # try to get request and unshorten the url #####r = None diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 6bbd742..73663f9 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -241,7 +241,7 @@ def archive_new_users(self, unarchived_notice_users): # also create first TwitterUserSnapshot record user_snapshot_record = TwitterUserSnapshot( twitter_user_id = uid, - twitter_not_found_id = None, + twitter_not_found_id = uid, record_created_at = now, user_state = user_state.value, user_json = None) @@ -394,7 +394,7 @@ def archive_old_users(self, key_to_users, has_ids=True): not_found_id = None, screen_name = screen_name, created_at = created_at, - record_created_at = now, + record_created_at = now, # uh lang = user_json["lang"], user_state = user_state.value, CS_oldest_tweets_archived = CS_JobState.NOT_PROCESSED.value) @@ -408,7 +408,7 @@ def archive_old_users(self, key_to_users, has_ids=True): user.id = uid user.screen_name = screen_name user.created_at = created_at - user.record_updated_at = now + user.record_updated_at = now # TODO: fix this. models doesn't have this field right now user.lang = user_json["lang"] user.state = user_state.value @@ -450,7 +450,7 @@ def archive_old_users(self, key_to_users, has_ids=True): now = datetime.datetime.utcnow() # update TwitterUser record user.not_found_id = user.not_found_id if user.not_found_id else utils.common.generate_not_found_twitter_user_id(user.screen_name) - user.record_updated_at = now + user.record_updated_at = now # TODO: fix this. models doesn't have this field right now user.user_state = user_state.value # create TwitterUserSnapshot record From 51dd05f35b3c8653dc53682800da3f29b8ab8eaf Mon Sep 17 00:00:00 2001 From: mmou Date: Wed, 7 Jun 2017 13:31:20 -0400 Subject: [PATCH 016/221] fix fetch_twitter_tweets bugs. add backfill option. fix random typos --- alembic/env.py | 2 +- app/connections/lumen_connect.py | 2 +- app/controller.py | 6 +-- app/controllers/lumen_controller.py | 21 +++++--- app/controllers/twitter_controller.py | 73 ++++++++++++++------------- app/models.py | 2 +- common-commands.txt | 3 +- schedule_twitter_jobs.py | 10 +++- 8 files changed, 68 insertions(+), 51 deletions(-) diff --git a/alembic/env.py b/alembic/env.py index f6e299a..178c247 100644 --- a/alembic/env.py +++ b/alembic/env.py @@ -33,7 +33,7 @@ # 'engine2':mymodel.metadata2 #} -import inspect, os, sys # first update the path to actually lode the base models +import inspect, os, sys # first update the path to actually load the base models sys.path.append(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))) + "/..") # then import the models and load them from app import models diff --git a/app/connections/lumen_connect.py b/app/connections/lumen_connect.py index 153370e..d373aaa 100644 --- a/app/connections/lumen_connect.py +++ b/app/connections/lumen_connect.py @@ -37,7 +37,7 @@ def get(self, url, payload): self.log.error("Failed to query lumen url: {0}. Status code {1}.".format(url, r.status_code)) def get_search(self, payload): - return self.get("https://Lumendatabase.org/notices/search", payload) + return self.get("https://lumendatabase.org/notices/search", payload) def get_notices_to_twitter(self, topics, count, page, from_date, to_date): payload = { diff --git a/app/controller.py b/app/controller.py index dafd866..bae7157 100644 --- a/app/controller.py +++ b/app/controller.py @@ -174,10 +174,10 @@ def fetch_twitter_snapshot_and_tweets(max_time_delta_min=60): """ For all TwitterUsers with CS_most_tweets_queried=False, fetch tweets """ -def fetch_twitter_tweets(): - log.info("Calling fetch_twitter_tweets.") +def fetch_twitter_tweets(backfill=False): + log.info("Calling fetch_twitter_tweets, backfill={0}.".format(backfill)) t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) - t.query_and_archive_tweets() + t.query_and_archive_tweets(backfill) diff --git a/app/controllers/lumen_controller.py b/app/controllers/lumen_controller.py index d848be6..e3b0bd7 100644 --- a/app/controllers/lumen_controller.py +++ b/app/controllers/lumen_controller.py @@ -19,12 +19,18 @@ def __init__(self, db_session, l, log): def archive_lumen_notices(self, topics, date): nowish = datetime.datetime.utcnow() + datetime.timedelta(days=1) - recent_notices = self.db_session.query(LumenNotice).filter(LumenNotice.date_received >= date).all() - recent_notices_ids = set([notice.id for notice in recent_notices]) + # notices already stored in db + added_notices = self.db_session.query(LumenNotice).filter(LumenNotice.date_received >= date).all() + added_notices_ids = set([notice.id for notice in recent_notices]) for topic in topics: next_page = 1 while next_page is not None: + # sleep for 2 seconds if we're calling page 2 or more + # for now, implement this here. In future add to connection library + if(next_page > 1): + time.sleep(2) + data = self.l.get_notices_to_twitter([topic], 50, next_page, date, nowish) #with open("tests/fixture_data/lumen_notices_0.json") as f: @@ -36,14 +42,13 @@ def archive_lumen_notices(self, topics, date): notices_json = data["notices"] next_page = data["meta"]["next_page"] - - - added_notices_ids = set([]) + max_date_received = None prev_add_notices_size = len(added_notices_ids) for notice in notices_json: nid = notice["id"] date_received = datetime.datetime.strptime(notice["date_received"], '%Y-%m-%dT%H:%M:%S.000Z') # expect string like "2017-04-15T22:28:26.000Z" - if nid not in recent_notices_ids and date_received >= date and date_received <= nowish: + max_date_received = max(date_received, max_date_received) if max_date_received else date_received + if nid not in added_notices_ids and date_received >= date and date_received <= nowish: try: sender = (notice["sender_name"].encode("utf-8", "replace") if notice["sender_name"] else "") principal = (notice["principal_name"].encode("utf-8", "replace") if notice["principal_name"] else "") @@ -58,11 +63,11 @@ def archive_lumen_notices(self, topics, date): notice_data = json.dumps(notice).encode("utf-8", "replace"), CS_parsed_usernames = CS_JobState.NOT_PROCESSED.value) self.db_session.add(notice_record) - recent_notices_ids.add(nid) added_notices_ids.add(nid) except: self.log.error("Error while creating LumenNotice object for notice {0}".format(notice["id"]), extra=sys.exc_info()[0]) - if len(added_notices_ids) == prev_add_notices_size: + if max_date_received <= nowish and len(added_notices_ids) == prev_add_notices_size: + # if we got lumen notices that are from at most nowish and we have seen them all before, break prev_add_notices_size = len(added_notices_ids) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 73663f9..d524295 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -145,6 +145,7 @@ def archive_new_users(self, unarchived_notice_users): # query twitter API for user info users_info = [] this_users = user_names[prev_limit:limit] + users_info = [] try: users_info = self.t.api.UsersLookup(screen_name=this_users) except twitter.error.TwitterError as e: @@ -215,6 +216,7 @@ def archive_new_users(self, unarchived_notice_users): else: self.log.info("Saved {0} found twitter users' info.".format(len(users_info))) + added_users = 0 # at end, for left_users (users not found), commit to db for name in left_users: @@ -247,10 +249,11 @@ def archive_new_users(self, unarchived_notice_users): user_json = None) self.db_session.add(user_snapshot_record) + added_users += 1 except: self.log.error("Error while updating TwitterUser, creating TwitterUserSnapshot object for user {0}".format(user_json["id"]), extra=sys.exc_info()[0]) failed_users.update(name) - if len(left_users) > 0: + if added_users > 0: try: self.db_session.commit() except: @@ -394,7 +397,7 @@ def archive_old_users(self, key_to_users, has_ids=True): not_found_id = None, screen_name = screen_name, created_at = created_at, - record_created_at = now, # uh + record_created_at = now, lang = user_json["lang"], user_state = user_state.value, CS_oldest_tweets_archived = CS_JobState.NOT_PROCESSED.value) @@ -408,7 +411,7 @@ def archive_old_users(self, key_to_users, has_ids=True): user.id = uid user.screen_name = screen_name user.created_at = created_at - user.record_updated_at = now # TODO: fix this. models doesn't have this field right now + #user.record_updated_at = now # THIS SHOULDN'T BE UPDATED. old TwitterUser records probably have wrong record_updated_at user.lang = user_json["lang"] user.state = user_state.value @@ -477,33 +480,32 @@ def archive_old_users(self, key_to_users, has_ids=True): ################### ARCHIVE TWEET CODE ######################################################### - def query_and_archive_tweets(self): - unarchived_users = self.db_session.query(TwitterUser).filter( - TwitterUser.CS_oldest_tweets_archived == CS_JobState.NOT_PROCESSED.value).all() + def query_and_archive_tweets(self, backfill=False): + if backfill: + unarchived_users = self.db_session.query(TwitterUser).all() + else: + unarchived_users = self.db_session.query(TwitterUser).filter( + TwitterUser.CS_oldest_tweets_archived == CS_JobState.NOT_PROCESSED.value).all() - self.with_user_records_archive_tweets(unarchived_users) + utils.common.update_CS_JobState(unarchived_users, "CS_oldest_tweets_archived", CS_JobState.IN_PROGRESS, self.db_session, self.log) + user_to_state = self.with_user_records_archive_tweets(unarchived_users) + utils.common.update_all_CS_JobState(user_to_state, "CS_oldest_tweets_archived", self.db_session, self.log) """ user_records: list of TwitterUser records + + returns user_to_state """ def with_user_records_archive_tweets(self, user_records): if len(user_records) == 0: return - # expect all CS_oldest_tweets_archived fields to be either CS_JobState.PROCESSED or .NOT_PROCESSED - oldest_tweets_archived = user_records[0].CS_oldest_tweets_archived == CS_JobState.PROCESSED - - if not oldest_tweets_archived: - utils.common.update_CS_JobState(user_records, "CS_oldest_tweets_archived", CS_JobState.IN_PROGRESS, self.db_session, self.log) - user_to_state = {} # only need for when CS_JobState.NOT_PROCESSED... for user in user_records: job_state = self.archive_user_tweets(user) user_to_state[user] = job_state - - if not oldest_tweets_archived: - utils.common.update_all_CS_JobState(user_to_state, "CS_oldest_tweets_archived", self.db_session, self.log) + return user_to_state """ returns (statuses, user_state, job_state) @@ -543,27 +545,29 @@ def archive_user_tweets(self, user): job_state = CS_JobState.PROCESSED return job_state - job_state = CS_JobState.FAILED - query_oldest_id = self.db_session.query( - func.max(TwitterStatus.id)).filter( - TwitterStatus.user_id == user_id).first() + query_seen_statuses = self.db_session.query( + TwitterStatus.id).filter( + TwitterStatus.user_id == user_id).all() + + seen_statuses = set([s[0] for s in query_seen_statuses]) # set of ids already in db; s = (872295416376823808,) + new_seen_statuses = set([]) # set of ids added this time - oldest_id_queried = None if query_oldest_id is None else query_oldest_id[0] - seen_statuses = set([]) # set of ids added this time + oldest_id_queried = None # if query_oldest_id is None else query_oldest_id[0] count = 200 while True: # get statuses and job_state from twitter API. don't use user_state - (statuses, user_state, job_state) = self.get_statuses_user_state(user_id, count, oldest_id_queried, user_state=user.user_state, job_state=CS_JobState.FAILED) + (statuses, user_state, sub_job_state) = self.get_statuses_user_state(user_id, count, oldest_id_queried, user_state=user.user_state, job_state=CS_JobState.FAILED) - if job_state is not CS_JobState.PROCESSED: - return job_state + if sub_job_state is not CS_JobState.PROCESSED: + return sub_job_state - if not statuses: + if statuses is None: self.log.error("Unexpected error while calling api.GetUserTimeline on user_id {0}: nothing returned".format(user_id)) return job_state + self.log.info("Queried total of {0} tweets for account {1}".format(len(statuses), user_id)) if user_state is not TwitterUserState.FOUND: @@ -577,12 +581,13 @@ def archive_user_tweets(self, user): # store TwitterStatus es statuses_jsons = [json.loads(json.dumps(status._json).encode("utf-8", "replace")) if type(status) is twitter.models.Status else status for status in statuses] # to accomodate test fixture data] sorted_statuses_jsons = sorted(statuses_jsons, key=lambda s: datetime.datetime.strptime(s["created_at"], TWITTER_DATETIME_STR_FORMAT)) - prev_seen_statuses_length = len(seen_statuses) + prev_new_seen_statuses_length = len(new_seen_statuses) + this_oldest_id = min([status_json["id"] for status_json in sorted_statuses_jsons]) for i, status_json in enumerate(sorted_statuses_jsons): # go through statuses from oldest to newest status_id = status_json["id"] created_at = datetime.datetime.strptime(status_json["created_at"], TWITTER_DATETIME_STR_FORMAT) # if status hasn't been stored before, store - if ((not oldest_id_queried) or (status_id > oldest_id_queried)) and (status_id not in seen_statuses): + if status_id not in seen_statuses and status_id not in new_seen_statuses: try: status_record = TwitterStatus( id = status_id, @@ -591,7 +596,7 @@ def archive_user_tweets(self, user): created_at = created_at, #"Sun Apr 16 17:11:30 +0000 2017" status_data = json.dumps(status_json)) self.db_session.add(status_record) - seen_statuses.add(status_id) + new_seen_statuses.add(status_id) except: self.log.error("Error while creating TwitterStatus object for user {0}, status id {1}".format(status_json["user"]["id"]["screen_name"], status_id), extra=sys.exc_info()[0]) return job_state @@ -599,14 +604,12 @@ def archive_user_tweets(self, user): self.db_session.commit() except: self.log.error("Error while saving DB Session for {0} statuses for user {1}.".format( - len(seen_statuses) - prev_seen_statuses_length, user_id), extra=sys.exc_info()[0]) + len(new_seen_statuses) - prev_new_seen_statuses_length, user_id), extra=sys.exc_info()[0]) return job_state else: - self.log.info("Saved {0} statuses for user {1}.".format(len(seen_statuses) - prev_seen_statuses_length, user_id)) - if prev_seen_statuses_length == len(seen_statuses): - break - if oldest_id_queried is None or min(seen_statuses) < oldest_id_queried: - oldest_id_queried = min(seen_statuses) + self.log.info("Saved {0} statuses for user {1}.".format(len(new_seen_statuses) - prev_new_seen_statuses_length, user_id)) + if oldest_id_queried is None or this_oldest_id < oldest_id_queried: + oldest_id_queried = this_oldest_id else: break diff --git a/app/models.py b/app/models.py index c0f635d..d30d66a 100644 --- a/app/models.py +++ b/app/models.py @@ -184,7 +184,7 @@ class LumenNotice(Base): CS_parsed_usernames = Column(Integer, default=1) # see CS_JobState Enum # twitter_username is the username parsed from the notice; may change later, but these changes will not be reflected in this record. -# use twitter_use_id to join with TwitterUser, TwitterUserSnapshot, TwitterStatus +# use twitter_use_id to join with TwitterUser, TwitterUserSnapshot, TwistterStatus class LumenNoticeToTwitterUser(Base): __tablename__ = 'lumen_notice_to_twitter_user' id = Column(Integer, primary_key = True) diff --git a/common-commands.txt b/common-commands.txt index e9e8528..3fe0c9a 100644 --- a/common-commands.txt +++ b/common-commands.txt @@ -71,5 +71,6 @@ civilservant-error-handler.herokuapp.com redis-server & rqworker development & praw-multiprocess & -rq-dashboard & rqscheduler & + +(rq-dashboard &) \ No newline at end of file diff --git a/schedule_twitter_jobs.py b/schedule_twitter_jobs.py index 9b57335..e868449 100644 --- a/schedule_twitter_jobs.py +++ b/schedule_twitter_jobs.py @@ -23,6 +23,8 @@ python schedule_twitter_jobs.py --function fetch_twitter_snapshot_and_tweets --snapshot_delta_min 1400 --interval 86400 --env development python schedule_twitter_jobs.py --function fetch_twitter_tweets --interval 3600 --env development +python schedule_twitter_jobs.py --function fetch_twitter_tweets --statuses_backfill --interval 3600 --env development + """ @@ -44,6 +46,12 @@ def main(): default= None, help="For fetch_twitter_snapshot_and_tweets; for all users older than snapshot_delta_min (in minutes), need to fetch new snapshots.") + parser.add_argument("--statuses_backfill", + required = False, + default= None, + action='store_true', + help="For fetch_twitter_tweets; if backfill, finds tweetes for all twitter users, disregarding TwitterUser.CS_oldest_tweets_archived job state.") + parser.add_argument("--interval", default = 3600, # default 60 min = 60*60 = 3600 seconds help="Interval (in seconds) between tasks in seconds (default 60 seconds)") @@ -106,7 +114,7 @@ def main(): scheduler.schedule( scheduled_time=datetime.utcnow(), func=app.controller.fetch_twitter_tweets, - args=[], + args=[args.statuses_backfill], interval=int(args.interval), repeat=None, result_ttl = ttl, From 42d12d7e03ee3ec0b00d89e3e5f7eee23734f176 Mon Sep 17 00:00:00 2001 From: = <=> Date: Thu, 15 Jun 2017 14:19:49 -0400 Subject: [PATCH 017/221] add tweets backfill option. fix other small things. --- app/controller.py | 11 +- app/controllers/lumen_controller.py | 21 +-- app/controllers/twitter_controller.py | 113 ++++++++++------ ...itter_observational_analysis_controller.py | 127 ++++++++++++++++++ schedule_twitter_jobs.py | 10 +- 5 files changed, 229 insertions(+), 53 deletions(-) create mode 100644 app/controllers/twitter_observational_analysis_controller.py diff --git a/app/controller.py b/app/controller.py index dafd866..10e3cfe 100644 --- a/app/controller.py +++ b/app/controller.py @@ -16,6 +16,7 @@ import app.controllers.sticky_comment_experiment_controller import app.controllers.lumen_controller import app.controllers.twitter_controller +import app.controllers.twitter_observational_analysis_controller from utils.common import PageType, DbEngine import app.cs_logger from app.models import Base, SubredditPage, Subreddit, Post, ModAction, Experiment @@ -174,12 +175,16 @@ def fetch_twitter_snapshot_and_tweets(max_time_delta_min=60): """ For all TwitterUsers with CS_most_tweets_queried=False, fetch tweets """ -def fetch_twitter_tweets(): - log.info("Calling fetch_twitter_tweets.") +def fetch_twitter_tweets(backfill=False): + log.info("Calling fetch_twitter_tweets, backfill={0}.".format(backfill)) t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) - t.query_and_archive_tweets() + t.query_and_archive_tweets(backfill) +def twitter_observational_analysis_basic_profiling(): + to = app.controllers.twitter_observational_analysis_controller.TwitterObservationalAnalysisController( + "/home/mmou/Dropbox/Documents/Chronos/MIT/CM/CivilServant",db_session, log) + to.basic_profiling_create_dataset() if __name__ == "__main__": fnc = sys.argv[1] diff --git a/app/controllers/lumen_controller.py b/app/controllers/lumen_controller.py index d848be6..e3b0bd7 100644 --- a/app/controllers/lumen_controller.py +++ b/app/controllers/lumen_controller.py @@ -19,12 +19,18 @@ def __init__(self, db_session, l, log): def archive_lumen_notices(self, topics, date): nowish = datetime.datetime.utcnow() + datetime.timedelta(days=1) - recent_notices = self.db_session.query(LumenNotice).filter(LumenNotice.date_received >= date).all() - recent_notices_ids = set([notice.id for notice in recent_notices]) + # notices already stored in db + added_notices = self.db_session.query(LumenNotice).filter(LumenNotice.date_received >= date).all() + added_notices_ids = set([notice.id for notice in recent_notices]) for topic in topics: next_page = 1 while next_page is not None: + # sleep for 2 seconds if we're calling page 2 or more + # for now, implement this here. In future add to connection library + if(next_page > 1): + time.sleep(2) + data = self.l.get_notices_to_twitter([topic], 50, next_page, date, nowish) #with open("tests/fixture_data/lumen_notices_0.json") as f: @@ -36,14 +42,13 @@ def archive_lumen_notices(self, topics, date): notices_json = data["notices"] next_page = data["meta"]["next_page"] - - - added_notices_ids = set([]) + max_date_received = None prev_add_notices_size = len(added_notices_ids) for notice in notices_json: nid = notice["id"] date_received = datetime.datetime.strptime(notice["date_received"], '%Y-%m-%dT%H:%M:%S.000Z') # expect string like "2017-04-15T22:28:26.000Z" - if nid not in recent_notices_ids and date_received >= date and date_received <= nowish: + max_date_received = max(date_received, max_date_received) if max_date_received else date_received + if nid not in added_notices_ids and date_received >= date and date_received <= nowish: try: sender = (notice["sender_name"].encode("utf-8", "replace") if notice["sender_name"] else "") principal = (notice["principal_name"].encode("utf-8", "replace") if notice["principal_name"] else "") @@ -58,11 +63,11 @@ def archive_lumen_notices(self, topics, date): notice_data = json.dumps(notice).encode("utf-8", "replace"), CS_parsed_usernames = CS_JobState.NOT_PROCESSED.value) self.db_session.add(notice_record) - recent_notices_ids.add(nid) added_notices_ids.add(nid) except: self.log.error("Error while creating LumenNotice object for notice {0}".format(notice["id"]), extra=sys.exc_info()[0]) - if len(added_notices_ids) == prev_add_notices_size: + if max_date_received <= nowish and len(added_notices_ids) == prev_add_notices_size: + # if we got lumen notices that are from at most nowish and we have seen them all before, break prev_add_notices_size = len(added_notices_ids) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 73663f9..8a3015f 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -145,6 +145,7 @@ def archive_new_users(self, unarchived_notice_users): # query twitter API for user info users_info = [] this_users = user_names[prev_limit:limit] + users_info = [] try: users_info = self.t.api.UsersLookup(screen_name=this_users) except twitter.error.TwitterError as e: @@ -215,6 +216,7 @@ def archive_new_users(self, unarchived_notice_users): else: self.log.info("Saved {0} found twitter users' info.".format(len(users_info))) + added_users = 0 # at end, for left_users (users not found), commit to db for name in left_users: @@ -247,10 +249,11 @@ def archive_new_users(self, unarchived_notice_users): user_json = None) self.db_session.add(user_snapshot_record) + added_users += 1 except: self.log.error("Error while updating TwitterUser, creating TwitterUserSnapshot object for user {0}".format(user_json["id"]), extra=sys.exc_info()[0]) failed_users.update(name) - if len(left_users) > 0: + if added_users > 0: try: self.db_session.commit() except: @@ -277,7 +280,7 @@ def is_user_suspended_or_deleted(self, username): elif e.message[0]['code'] == 63 and e.message[0]['message'] == 'User has been suspended.': user_state = TwitterUserState.SUSPENDED else: - self.log.error("Unexpected twitter.error.TwitterError exception while calling api.GetUser on user {0}: {1}".format(screen_name, e)) + self.log.error("Unexpected twitter.error.TwitterError exception while calling api.GetUser on user {0}: {1}".format(username, e)) return user_state ######################################################### @@ -394,7 +397,7 @@ def archive_old_users(self, key_to_users, has_ids=True): not_found_id = None, screen_name = screen_name, created_at = created_at, - record_created_at = now, # uh + record_created_at = now, lang = user_json["lang"], user_state = user_state.value, CS_oldest_tweets_archived = CS_JobState.NOT_PROCESSED.value) @@ -408,7 +411,7 @@ def archive_old_users(self, key_to_users, has_ids=True): user.id = uid user.screen_name = screen_name user.created_at = created_at - user.record_updated_at = now # TODO: fix this. models doesn't have this field right now + #user.record_updated_at = now # THIS SHOULDN'T BE UPDATED. old TwitterUser records probably have wrong record_updated_at user.lang = user_json["lang"] user.state = user_state.value @@ -477,33 +480,46 @@ def archive_old_users(self, key_to_users, has_ids=True): ################### ARCHIVE TWEET CODE ######################################################### - def query_and_archive_tweets(self): - unarchived_users = self.db_session.query(TwitterUser).filter( - TwitterUser.CS_oldest_tweets_archived == CS_JobState.NOT_PROCESSED.value).all() + def query_and_archive_tweets(self, backfill=False): + if backfill: + unarchived_users = self.db_session.query(TwitterUser).filter( + TwitterUser.CS_oldest_tweets_archived != CS_JobState.PROCESSED.value).all() + else: + unarchived_users = self.db_session.query(TwitterUser).filter( + TwitterUser.CS_oldest_tweets_archived == CS_JobState.NOT_PROCESSED.value).all() + + self.log.info("About to query and archive tweets {0} users; backfill={1}".format(len(unarchived_users), backfill)) + + batch_size = 100 # limit should be 100 + # query batch_size at a time in order to update job states more often + prev_limit = 0 + for i in range(1,int(len(unarchived_users)/batch_size)+2): + limit = min(i*batch_size, len(unarchived_users)) + if limit > prev_limit: + this_users = unarchived_users[prev_limit:limit] + utils.common.update_CS_JobState(this_users, "CS_oldest_tweets_archived", CS_JobState.IN_PROGRESS, self.db_session, self.log) + user_to_state = self.with_user_records_archive_tweets(this_users, backfill=backfill) # backfill hacky + utils.common.update_all_CS_JobState(user_to_state, "CS_oldest_tweets_archived", self.db_session, self.log) + prev_limit = limit + + self.log.info("Queried and archived tweets for {0} out of {1} users; backfill={2}".format(prev_limit, len(unarchived_users), backfill)) - self.with_user_records_archive_tweets(unarchived_users) """ user_records: list of TwitterUser records + + returns user_to_state """ - def with_user_records_archive_tweets(self, user_records): + def with_user_records_archive_tweets(self, user_records, backfill=False): if len(user_records) == 0: return - # expect all CS_oldest_tweets_archived fields to be either CS_JobState.PROCESSED or .NOT_PROCESSED - oldest_tweets_archived = user_records[0].CS_oldest_tweets_archived == CS_JobState.PROCESSED - - if not oldest_tweets_archived: - utils.common.update_CS_JobState(user_records, "CS_oldest_tweets_archived", CS_JobState.IN_PROGRESS, self.db_session, self.log) - user_to_state = {} # only need for when CS_JobState.NOT_PROCESSED... for user in user_records: - job_state = self.archive_user_tweets(user) + job_state = self.archive_user_tweets(user, backfill=backfill) user_to_state[user] = job_state - - if not oldest_tweets_archived: - utils.common.update_all_CS_JobState(user_to_state, "CS_oldest_tweets_archived", self.db_session, self.log) + return user_to_state """ returns (statuses, user_state, job_state) @@ -523,11 +539,11 @@ def get_statuses_user_state(self, user_id, count=200, max_id=None, user_state=Tw elif e.message[0]['code'] == 34: # message = "Sorry, that page does not exist." user_state = TwitterUserState.NOT_FOUND else: - self.log.error("Unexpected twitter.error.TwitterError exception while calling api.GetUserTimeline on user {0}: {1}".format(screen_name, e)) + self.log.error("Unexpected twitter.error.TwitterError exception while calling api.GetUserTimeline on user {0}: {1}".format(user_id, e)) job_state = CS_JobState.NEEDS_RETRY else: user_state = TwitterUserState.FOUND - job_state = CS_JobState.PROCESSED + job_state = CS_JobState.PROCESSED return (statuses, user_state, job_state) @@ -535,7 +551,7 @@ def get_statuses_user_state(self, user_id, count=200, max_id=None, user_state=Tw given TwitterUser user, archive user tweets. also updates TwitterUser record if unexpected user state, by calling self.archive_old_users """ - def archive_user_tweets(self, user): + def archive_user_tweets(self, user, backfill=False): user_id = user.id if utils.common.NOT_FOUND_TWITTER_USER_STR in user_id or user.user_state is TwitterUserState.PROTECTED: @@ -543,27 +559,38 @@ def archive_user_tweets(self, user): job_state = CS_JobState.PROCESSED return job_state - job_state = CS_JobState.FAILED - query_oldest_id = self.db_session.query( - func.max(TwitterStatus.id)).filter( - TwitterStatus.user_id == user_id).first() + if backfill: + # need to get all statuses + query_seen_statuses = self.db_session.query( + TwitterStatus.id).filter( + TwitterStatus.user_id == user_id).all() + else: + # believe that we have all statuses older than func.max(TwitterStatus.id), + # so we only need to get func.max(TwitterStatus.id) + query_seen_statuses = self.db_session.query( + func.max(TwitterStatus.id)).filter( + TwitterStatus.user_id == user_id).first() + + + seen_statuses = set([s[0] for s in query_seen_statuses]) # set of ids already in db; s = (872295416376823808,) + new_seen_statuses = set([]) # set of ids added this time - oldest_id_queried = None if query_oldest_id is None else query_oldest_id[0] - seen_statuses = set([]) # set of ids added this time + oldest_id_queried = None # if query_oldest_id is None else query_oldest_id[0] count = 200 while True: # get statuses and job_state from twitter API. don't use user_state - (statuses, user_state, job_state) = self.get_statuses_user_state(user_id, count, oldest_id_queried, user_state=user.user_state, job_state=CS_JobState.FAILED) - - if job_state is not CS_JobState.PROCESSED: - return job_state + (statuses, user_state, sub_job_state) = self.get_statuses_user_state(user_id, count, oldest_id_queried, user_state=user.user_state, job_state=CS_JobState.FAILED) - if not statuses: + if sub_job_state is not CS_JobState.PROCESSED: + self.log.error("Unexpected error while calling api.GetUserTimeline on user_id {0}: sub_job_state is {1}".format(user_id, sub_job_state)) + return sub_job_state + if statuses is None: self.log.error("Unexpected error while calling api.GetUserTimeline on user_id {0}: nothing returned".format(user_id)) return job_state + self.log.info("Queried total of {0} tweets for account {1}".format(len(statuses), user_id)) if user_state is not TwitterUserState.FOUND: @@ -577,12 +604,13 @@ def archive_user_tweets(self, user): # store TwitterStatus es statuses_jsons = [json.loads(json.dumps(status._json).encode("utf-8", "replace")) if type(status) is twitter.models.Status else status for status in statuses] # to accomodate test fixture data] sorted_statuses_jsons = sorted(statuses_jsons, key=lambda s: datetime.datetime.strptime(s["created_at"], TWITTER_DATETIME_STR_FORMAT)) - prev_seen_statuses_length = len(seen_statuses) + prev_new_seen_statuses_length = len(new_seen_statuses) + this_oldest_id = min([status_json["id"] for status_json in sorted_statuses_jsons]) for i, status_json in enumerate(sorted_statuses_jsons): # go through statuses from oldest to newest status_id = status_json["id"] created_at = datetime.datetime.strptime(status_json["created_at"], TWITTER_DATETIME_STR_FORMAT) # if status hasn't been stored before, store - if ((not oldest_id_queried) or (status_id > oldest_id_queried)) and (status_id not in seen_statuses): + if status_id not in seen_statuses and status_id not in new_seen_statuses: try: status_record = TwitterStatus( id = status_id, @@ -591,7 +619,7 @@ def archive_user_tweets(self, user): created_at = created_at, #"Sun Apr 16 17:11:30 +0000 2017" status_data = json.dumps(status_json)) self.db_session.add(status_record) - seen_statuses.add(status_id) + new_seen_statuses.add(status_id) except: self.log.error("Error while creating TwitterStatus object for user {0}, status id {1}".format(status_json["user"]["id"]["screen_name"], status_id), extra=sys.exc_info()[0]) return job_state @@ -599,14 +627,17 @@ def archive_user_tweets(self, user): self.db_session.commit() except: self.log.error("Error while saving DB Session for {0} statuses for user {1}.".format( - len(seen_statuses) - prev_seen_statuses_length, user_id), extra=sys.exc_info()[0]) + len(new_seen_statuses) - prev_new_seen_statuses_length, user_id), extra=sys.exc_info()[0]) return job_state else: - self.log.info("Saved {0} statuses for user {1}.".format(len(seen_statuses) - prev_seen_statuses_length, user_id)) - if prev_seen_statuses_length == len(seen_statuses): + self.log.info("Saved {0} statuses for user {1}.".format(len(new_seen_statuses) - prev_new_seen_statuses_length, user_id)) + + if not backfill and this_oldest_id in seen_statuses: + # if not backfill, we don't try to go back in time beyond the newest status we've already stored break - if oldest_id_queried is None or min(seen_statuses) < oldest_id_queried: - oldest_id_queried = min(seen_statuses) + elif oldest_id_queried is None or this_oldest_id < oldest_id_queried: + # else, keep looking back until we don't get anymore new statuses from our query + oldest_id_queried = this_oldest_id else: break diff --git a/app/controllers/twitter_observational_analysis_controller.py b/app/controllers/twitter_observational_analysis_controller.py new file mode 100644 index 0000000..3d08128 --- /dev/null +++ b/app/controllers/twitter_observational_analysis_controller.py @@ -0,0 +1,127 @@ +import inspect, os, sys, pytz +import simplejson as json +import datetime +import numpy as np +from app.models import Base, TwitterUser, TwitterStatus +from sqlalchemy import and_, func + +utc=pytz.UTC + +class TwitterObservationalAnalysisController: + def __init__(self, output_dir, db_session, log): + self.output_dir = output_dir + self.db_session = db_session + self.log = log + + self.basic_profiling_header = ["user_id", "user_created_at_time", "num_tweets", "first_notice_time", "oldest_snapshot_status", "newest_snapshot_status", "oldest_tweet_time", "newest_tweet_time", \ + "first_notice-created_at_time", "first_notice-oldest_tweet_time", "newest_tweet-first_notice_time"] + + def basic_profiling_create_csv(self, dataset): + fname = "basic_profiling.csv" + + def basic_profiling_get_statuses(self, dataset): + statuses_info = self.db_session.query( + TwitterStatus.user_id, func.count(TwitterStatus.id), + func.min(TwitterStatus.created_at), func.max(TwitterStatus.created_at)).group_by( + TwitterStatus.user_id).all() + + self.log.info(statuses_info) + + #dataset[user.id]["num_tweets"] = statuses_info[0][0] + #dataset[user.id]["oldest_tweet_time"] = statuses_info[0][1] + #dataset[user.id]["newest_tweet_time"] = statuses_info[0][1] + + + def basic_profiling_create_dataset(self): + dataset = {} + all_users = self.db_session.query(TwitterUser).all() + + for user in all_users: + dataset[user.id] = {key:None for key in self.basic_profiling_header} + dataset[user.id]["user_id"] = user.id + dataset[user.id]["user_created_at_time"] = user.created_at + + dataset = self.basic_profiling_get_statuses(dataset) + + """ + + self.db_session.query(TwitterStatus).filter() + + statuses_info = self.db_session.query( + func.count(TwitterStatus.id), func.min(TwitterStatus.created_at), func.max(TwitterStatus.created_at)).filter( + TwitterStatus.user_id == user.id).all() + + self.log.info(statuses_info) + #dataset[user.id]["num_tweets"] = statuses_info[0][0] + #dataset[user.id]["oldest_tweet_time"] = statuses_info[0][1] + #dataset[user.id]["newest_tweet_time"] = statuses_info[0][1] + """ + + """ + # calls create_datasets() and produces two different csv files, + # twitter_observational_analysis_{0}_{1}_{2}_posts.csv + + # timestamped, from these lists of dicts + # + # expecting id of subbreddit, e.g. "2qh13" + # dates passed as strings "MM.YYYY" + # dates passed as strings "MM.YYYY" + # "/mnt/samba/reddit-archive/03.2017" + # start_date = datetime.datetime.strptime(start_date, "%m.%Y") + # end_date = datetime.datetime.strptime(end_date, "%m.%Y") + def create_csvs(self, frontpage_limit=10): + self.log.info("Creating csvs for posts and comments from {0} to {1}".format(self.begin_date_utc, self.end_date_utc)) + start_date_str = "{0}.{1}".format(self.start_date_utc.month, self.start_date_utc.year) + end_date_str = "{0}.{1}".format(self.end_date_utc.month, self.end_date_utc.year) + + posts_fname = "sticky_comment_power_analysis_{0}_{1}_{2}_posts.csv".format(self.subreddit.id, start_date_str, end_date_str) + post_heading = ["id","created.utc","author","body.length","weekday","url","is.selftext","visible","num.comments","num.comments.removed","front_page","author.prev.posts","author.prev.participation"] + with open(os.path.join(self.output_dir, posts_fname), "w") as f: + f.write(",".join(post_heading) + "\n") + + comments_fname = "sticky_comment_power_analysis_{0}_{1}_{2}_comments.csv".format(self.subreddit.id, start_date_str, end_date_str) + comment_heading = ["id","created.utc","author","body.length","toplevel","post.id","visible","post.visible","post.author","author.prev.comments","author.prev.participation"] + with open(os.path.join(self.output_dir, comments_fname), "w") as f: + f.write(",".join(comment_heading) + "\n") + + self.create_datasets(frontpage_limit) + + pruned_posts = {pid: self.posts[pid] for pid in self.posts if self.posts[pid]["created.utc"] >= self.start_date_utc} + pruned_comments = {cid: self.comments[cid] for cid in self.comments if self.comments[cid]["created.utc"] >= self.start_date_utc} + with open(os.path.join(self.output_dir, posts_fname), "a") as f: + for post_id in pruned_posts: + row = [str(post_id)] + [str(self.posts[post_id][label]) for label in post_heading[1:]] + f.write(",".join(row) + "\n") + with open(os.path.join(self.output_dir, comments_fname), "a") as f: + for comment_id in pruned_comments: + row = [str(comment_id)] + [str(self.comments[comment_id][label]) for label in comment_heading[1:]] + f.write(",".join(row) + "\n") + + def get_subreddit(self, subreddit_id): + subreddit = self.db_session.query(Subreddit).filter(Subreddit.id == subreddit_id).first() + return subreddit + + # Returns Two Lists of Dicts, Where Each Dict Contains One Row + def create_datasets(self, frontpage_limit): + # get posts, comments, modlog from (self.start_date_utc - 6 months) to self.end_date_utc + + self.log.info("Getting posts...") + self.posts = self.get_posts() + self.log.info("Getting comments...") + self.comments = self.get_comments() + + self.log.info("Getting modlog...") + (self.mod_actions_comments, self.mod_actions_posts) = self.get_modlog() + self.post_to_comment_info = self.get_post_to_comment_info() # needs mod_actions + self.log.info("Getting frontpages...") + self.frontpages = self.get_frontpage_data() + + + # posts, comments = apply_post_flair(posts, comments) # get post flair - don't do right now + self.log.info("Applying modlog...") + self.apply_mod_actions() # posts, comments # get visible posts + self.log.info("Applying frontpages...") + self.apply_frontpage_data(frontpage_limit) # posts # get front page minutes + self.log.info("Applying participation and post to comment info...") + self.apply_participation_and_post_to_comment_info() # posts, comments # count prev posts + """ \ No newline at end of file diff --git a/schedule_twitter_jobs.py b/schedule_twitter_jobs.py index 9b57335..e868449 100644 --- a/schedule_twitter_jobs.py +++ b/schedule_twitter_jobs.py @@ -23,6 +23,8 @@ python schedule_twitter_jobs.py --function fetch_twitter_snapshot_and_tweets --snapshot_delta_min 1400 --interval 86400 --env development python schedule_twitter_jobs.py --function fetch_twitter_tweets --interval 3600 --env development +python schedule_twitter_jobs.py --function fetch_twitter_tweets --statuses_backfill --interval 3600 --env development + """ @@ -44,6 +46,12 @@ def main(): default= None, help="For fetch_twitter_snapshot_and_tweets; for all users older than snapshot_delta_min (in minutes), need to fetch new snapshots.") + parser.add_argument("--statuses_backfill", + required = False, + default= None, + action='store_true', + help="For fetch_twitter_tweets; if backfill, finds tweetes for all twitter users, disregarding TwitterUser.CS_oldest_tweets_archived job state.") + parser.add_argument("--interval", default = 3600, # default 60 min = 60*60 = 3600 seconds help="Interval (in seconds) between tasks in seconds (default 60 seconds)") @@ -106,7 +114,7 @@ def main(): scheduler.schedule( scheduled_time=datetime.utcnow(), func=app.controller.fetch_twitter_tweets, - args=[], + args=[args.statuses_backfill], interval=int(args.interval), repeat=None, result_ttl = ttl, From 3829fa3859b579b79609f9154c4768fde5e31157 Mon Sep 17 00:00:00 2001 From: mmou Date: Thu, 15 Jun 2017 14:28:59 -0400 Subject: [PATCH 018/221] twitter observational analysis basic profiling code --- ...itter_observational_analysis_controller.py | 84 ++++++++++++++----- 1 file changed, 61 insertions(+), 23 deletions(-) diff --git a/app/controllers/twitter_observational_analysis_controller.py b/app/controllers/twitter_observational_analysis_controller.py index 3d08128..314eadb 100644 --- a/app/controllers/twitter_observational_analysis_controller.py +++ b/app/controllers/twitter_observational_analysis_controller.py @@ -2,46 +2,84 @@ import simplejson as json import datetime import numpy as np -from app.models import Base, TwitterUser, TwitterStatus -from sqlalchemy import and_, func +from app.models import Base, TwitterUser, TwitterStatus, LumenNotice, TwitterUserSnapshot, LumenNoticeToTwitterUser +from sqlalchemy import and_, or_, func utc=pytz.UTC +def append_to_csv(fname, row): + with open(fname, "a") as f: + f.write(",".join(row) + "\n") + class TwitterObservationalAnalysisController: def __init__(self, output_dir, db_session, log): self.output_dir = output_dir self.db_session = db_session self.log = log - self.basic_profiling_header = ["user_id", "user_created_at_time", "num_tweets", "first_notice_time", "oldest_snapshot_status", "newest_snapshot_status", "oldest_tweet_time", "newest_tweet_time", \ - "first_notice-created_at_time", "first_notice-oldest_tweet_time", "newest_tweet-first_notice_time"] - - def basic_profiling_create_csv(self, dataset): - fname = "basic_profiling.csv" - - def basic_profiling_get_statuses(self, dataset): - statuses_info = self.db_session.query( - TwitterStatus.user_id, func.count(TwitterStatus.id), - func.min(TwitterStatus.created_at), func.max(TwitterStatus.created_at)).group_by( - TwitterStatus.user_id).all() + self.basic_profiling_header = sorted(["user_id", "user_created_at_time", "num_tweets", "first_notice_time", "oldest_snapshot_status", "newest_snapshot_status", "oldest_tweet_time", "newest_tweet_time", \ + "first_notice-created_at_time", "first_notice-oldest_tweet_time", "newest_tweet-first_notice_time"]) + self.basic_profiling_fname = "basic_profiling3.csv" - self.log.info(statuses_info) - - #dataset[user.id]["num_tweets"] = statuses_info[0][0] - #dataset[user.id]["oldest_tweet_time"] = statuses_info[0][1] - #dataset[user.id]["newest_tweet_time"] = statuses_info[0][1] + def basic_profiling_create_csv(self): + with open(self.basic_profiling_fname, "w") as f: + f.write(",".join(self.basic_profiling_header) + "\n") def basic_profiling_create_dataset(self): - dataset = {} + self.basic_profiling_create_csv() + #dataset = {} all_users = self.db_session.query(TwitterUser).all() for user in all_users: - dataset[user.id] = {key:None for key in self.basic_profiling_header} - dataset[user.id]["user_id"] = user.id - dataset[user.id]["user_created_at_time"] = user.created_at + #data = dataset[user.id] + data = {key:None for key in self.basic_profiling_header} + data["user_id"] = user.id + data["user_created_at_time"] = user.created_at - dataset = self.basic_profiling_get_statuses(dataset) + statuses_info = self.db_session.query( + func.count(TwitterStatus.id), + func.min(TwitterStatus.created_at), + func.max(TwitterStatus.created_at)).filter( + or_(TwitterStatus.user_id == user.id, + TwitterStatus.user_id == user.not_found_id)).all() + + data["num_tweets"] = statuses_info[0][0] + data["oldest_tweet_time"] = statuses_info[0][1] + data["newest_tweet_time"] = statuses_info[0][2] + + snapshots = self.db_session.query( + TwitterUserSnapshot.user_state).filter( + or_(TwitterUserSnapshot.twitter_user_id == user.id, + TwitterUserSnapshot.twitter_user_id == user.not_found_id)).order_by( + TwitterUserSnapshot.record_created_at).all() + + data["oldest_snapshot_status"] = snapshots[0][0] + data["newest_snapshot_status"] = snapshots[-1][0] + + notice_ids = self.db_session.query( + LumenNoticeToTwitterUser.notice_id).filter( + or_(LumenNoticeToTwitterUser.twitter_user_id == user.id, + LumenNoticeToTwitterUser.twitter_user_id == user.not_found_id, + LumenNoticeToTwitterUser.twitter_username == user.screen_name)).all() + + notice_ids = [n[0] for n in notice_ids] + + notice_time = self.db_session.query( + func.min(LumenNotice.record_created_at)).filter( + LumenNotice.id.in_(notice_ids)).all() + + data["first_notice_time"] = notice_time[0][0] + + if data["first_notice_time"] is not None and data["user_created_at_time"] is not None: + data["first_notice-created_at_time"] = (data["first_notice_time"] - data["user_created_at_time"]).days + if data["first_notice_time"] is not None and data["oldest_tweet_time"] is not None: + data["first_notice-oldest_tweet_time"] = (data["first_notice_time"] - data["oldest_tweet_time"]).days + if data["newest_tweet_time"] is not None and data["first_notice_time"] is not None: + data["newest_tweet-first_notice_time"] = (data["newest_tweet_time"] - data["first_notice_time"]).days + + row = [str(data[k]) for k in self.basic_profiling_header] + append_to_csv(self.basic_profiling_fname, row) """ From 54129a04ee92079c2ea5057c6839aa9e4244bdd2 Mon Sep 17 00:00:00 2001 From: mmou Date: Tue, 20 Jun 2017 18:08:43 -0400 Subject: [PATCH 019/221] initial work on TwitterObservationalAnalysisController --- app/controller.py | 16 +- app/controllers/twitter_controller_old.py | 355 -------------- ...itter_observational_analysis_controller.py | 449 ++++++++++++++---- 3 files changed, 374 insertions(+), 446 deletions(-) delete mode 100644 app/controllers/twitter_controller_old.py diff --git a/app/controller.py b/app/controller.py index 10e3cfe..bccbdb7 100644 --- a/app/controller.py +++ b/app/controller.py @@ -182,9 +182,21 @@ def fetch_twitter_tweets(backfill=False): def twitter_observational_analysis_basic_profiling(): + tb = app.controllers.twitter_observational_analysis_controller.TwitterBasicProfilingController( + "/home/mmou/Dropbox/Documents/Chronos/MIT/CM/CivilServant", db_session, log) + tb.basic_profiling_create_dataset() + + +# python app/controller.py twitter_observational_analysis 2017-05-31 2017-06-02 7 /home/mmou/Dropbox/Documents/Chronos/MIT/CM/CivilServant +def twitter_observational_analysis(start_date, end_date, min_observed_days, output_dir): + start_date = datetime.datetime.strptime(start_date, "%Y-%m-%d") + end_date = datetime.datetime.strptime(end_date, "%Y-%m-%d") + min_observed_days = int(min_observed_days) + to = app.controllers.twitter_observational_analysis_controller.TwitterObservationalAnalysisController( - "/home/mmou/Dropbox/Documents/Chronos/MIT/CM/CivilServant",db_session, log) - to.basic_profiling_create_dataset() + start_date, end_date, min_observed_days, output_dir, db_session, log) + to.create_csvs() + if __name__ == "__main__": fnc = sys.argv[1] diff --git a/app/controllers/twitter_controller_old.py b/app/controllers/twitter_controller_old.py deleted file mode 100644 index 890d5df..0000000 --- a/app/controllers/twitter_controller_old.py +++ /dev/null @@ -1,355 +0,0 @@ -import twitter -import simplejson as json -import datetime -from app.models import Base, TwitterUser, TwitterStatus, LumenNoticeToTwitterUser, TwitterUserSnapshot -import utils.common -import requests -import sqlalchemy -from sqlalchemy import and_, func -import utils.common -from utils.common import TwitterUserState, NOT_FOUND_TWITTER_USER_STR, CS_JobState - -TWITTER_DATETIME_STR_FORMAT = "%a %b %d %H:%M:%S %z %Y" - -class TwitterController(): - def __init__(self, db_session, t, log): - self.t = t - self.db_session = db_session - self.log = log - - """ - for each new username parsed from a lumen notice: - update lumennoticetouser record - update CS_user_archived field - update twitter user id - store twitteruserrecord - store 1st twitterusersnapshot - """ - def query_and_archive_new_users(self): - unarchived_notice_users = self.db_session.query( - LumenNoticeToTwitterUser).filter(and_( - LumenNoticeToTwitterUser.CS_account_queried == CS_JobState.NOT_PROCESSED, - LumenNoticeToTwitterUser.twitter_username != NOT_FOUND_TWITTER_USER_STR)).all() - unarchived_users = set([nu.twitter_username for nu in unarchived_notice_users]) - - utils.common.update_CS_JobState(unarchived_notice_users, "CS_account_queried", CS_JobState.IN_PROGRESS) - - (all_users_info, noticeuser_to_state) = self.archive_new_users(unarchived_users) - - for noticeuser in noticeuser_to_state: - - - ######### - ##row_to_state = self.archive_users(unarchived_users, self.new_found_users_store_func, self.new_not_found_users_store_func, has_ids=False) - # - ######### - #unarchived_notice_users_dict = {nu.twitter_username: nu for nu in unarchived_notice_users} - #for user in all_users_info: - # user_json = json.loads(json.dumps(user._json).encode("utf-8", "replace")) if type(user) is twitter.models.User else user # to accomodate test fixture data - # screen_name = user_json["screen_name"].lower() - # if screen_name in unarchived_notice_users_dict: - # unarchived_notice_users_dict[screen_name].twitter_user_id = user_json["id"] - # unarchived_notice_users_dict[screen_name].CS_account_queried = True - # unarchived_notice_users_dict.pop(screen_name) - #for screen_name in unarchived_notice_users_dict: - # # for the ones left, still should update CS_account_queried - # unarchived_notice_users_dict[screen_name].CS_account_queried = True - #try: - # self.db_session.commit() - # self.log.info("Updated {0} LumenNoticeToTwitterUser.CS_account_queried fields.".format(len(unarchived_notice_users))) - #except: - # self.log.error("Error while saving DB Session for {0} LumenNoticeToTwitterUser.CS_account_queried fields.".format(len(unarchived_notice_users))) - - - - """ - for each user in twitterusersnapshot with too old most recent snapshot: - store twitterusersnapshot record - update twitteruser? - store tweets? - """ - def query_and_archive_user_snapshots_and_tweets(self, min_time, prioritize_new_users): - need_snapshot_users = self.db_session.query( - TwitterUserSnapshot.twitter_user_id, func.max(TwitterUserSnapshot.created_at)).filter( - TwitterUserSnapshot.created_at < min_time).all() - - need_snapshot_user_ids_set = set([us.twitter_user_id for us in need_snapshot_users]) - need_snapshot_user_ids = list(need_snapshot_user_ids_set) - new_need_snapshot_user_ids_set = set([]) - new_need_snapshot_user_ids = [] - if prioritize_new_users: - # TODO: is this this the desired behavior? - new_need_snapshot_users = self.db_session.query(TwitterUser).filter( - TwitterUser.id.in_(need_snapshot_user_ids)).filter( - TwitterUser.CS_most_tweets_queried == False).all() - new_need_snapshot_user_ids_set = set([us.twitter_user_id for us in new_need_snapshot_users]) - new_need_snapshot_user_ids = list(new_need_snapshot_user_ids_set) - - # call on new users first - (noticeuser_to_state, all_users_info) = self.archive_old_users(new_need_snapshot_user_ids) - self.with_user_records_archive_tweets(new_need_snapshot_users) # TwitterUsers - - need_snapshot_user_ids = need_snapshot_user_ids - new_need_snapshot_user_ids - (noticeuser_to_state, all_users_info) = self.archive_old_users(new_need_snapshot_user_ids) - self.with_user_records_archive_tweets(new_need_snapshot_users) - - - def with_user_records_archive_tweets(self, user_records): - utils.common.update_CS_JobState(user_records, "CS_most_tweets_queried", CS_JobState.IN_PROGRESS) - - user_to_state = {} - for user in user_records: - state = self.archive_user_tweets(user.id) - user_to_state[user] = state - - utils.common.update_all_CS_JobState(user_to_state, "CS_most_tweets_queried") - - - def query_and_archive_tweets(self): - unarchived_users = self.db_session.query(TwitterUser).filter( - TwitterUser.CS_most_tweets_queried == False).all() - - self.with_user_records_archive_tweets(unarchived_users) - - def get_users_by_id(self, user_ids): - return self.t.api.UsersLookup(user_id=user_ids) - - def get_users_by_name(self, user_names): - return self.t.api.UsersLookup(screen_name=user_names) - - """ - for each new username parsed from a lumen notice: - (update lumennoticetouser record, not in this function) - store twitteruserrecord - store 1st twitterusersnapshot - - return not_found_users, record_to_state - """ - def store_new_found_users(self, users_info, not_found_users, record_to_state): - failed_users = - for user in users_info: - user_json = json.loads(json.dumps(user._json).encode("utf-8", "replace")) if type(user) is twitter.models.User else user # to accomodate test fixture data - screen_name = user_json["screen_name"].lower() - try: - created_at = datetime.datetime.strptime(user_json["created_at"], TWITTER_DATETIME_STR_FORMAT) - - # create TwitterUser record - user_record = TwitterUser( - id = user_json["id"], - screen_name = screen_name, #usernames change! index/search on id when possible - created_at = created_at, # is UTC; expected string format: "Mon Nov 29 21:18:15 +0000 2010" - account_created_at = datetime.datetime.utcnow(), - lang = user_json["lang"], - user_state = TwitterUserState.FOUND.value if not user_json["protected"] else TwitterUserState.PROTECTED.value, - CS_most_tweets_queried = CS_JobState.NOT_PROCESSED) - self.db_session.add(user_record) - - - # also create first TwitterUserSnapshot record - user_snapshot_record = TwitterUserSnapshot( - twitter_user_id = user_json["id"], - created_at = datetime.datetime.utcnow(), - user_state = TwitterUserState.FOUND.value if not user_json["protected"] else TwitterUserState.PROTECTED.value, - user_json = json.dumps(user_json)) #already encoded - self.db_session.add(user_snapshot_record) - - # also update LumenNoticeToTwitterUser.twitter_user_id field - ################## TODO - - not_found_users.discard(screen_name) # discard doesn't throw an error - except: - self.log.error("Error while creating TwitterUser, TwitterUserSnapshot, LumenNoticeToTwitterUser object for user {0}".format(screen_name)) - - try: - self.db_session.commit() - self.log.info("Saved {0} found twitter users' info.".format(len(users_info))) - except: - self.log.error("Error while saving DB Session for TwitterUser, TwitterUserSnapshot, LumenNoticeToTwitterUser object for user {0}".format(screen_name)) - - return not_found_users - - """ - for each new username parsed from a lumen notice: - (update lumennoticetouser record, not in this function) - store twitteruserrecord - store 1st twitterusersnapshot - - return record_to_state - - """ - def store_new_not_found_users(self, not_found_users, record_to_state): - for username in list(not_found_users): - try: - user_record = TwitterUser( - id = "{0}_{1}".format(NOT_FOUND_TWITTER_USER_STR, utils.common.time_since_epoch_ms(datetime.datetime.utcnow())), - screen_name = username.lower(), - created_at = datetime.datetime.utcnow(), - user_state = TwitterUserState.NOT_FOUND.value, - CS_oldest_tweets_archived = CS_JobState.NOT_PROCESSED) - self.db_session.add(user_record) - - # also create first TwitterUserSnapshot record - user_snapshot_record = TwitterUserSnapshot( - twitter_user_id = user_json["id"], - created_at = created_at, # is UTC; expected string format: "Mon Nov 29 21:18:15 +0000 2010" - # should we have thses??? - statuses_count = user_json["statuses_count"], - followers_count = user_json["followers_count"], - friends_count = user_json["friends_count"], - verified = user_json["verified"], - user_state = TwitterUserState.FOUND.value if not user_json["protected"] else TwitterUserState.PROTECTED.value, - user_json = json.dumps(user_json)) #already encoded - self.db_session.add(user_snapshot_record) - - except: - self.log.error("Error while creating TwitterUser object for user {0}".format(username)) - try: - self.db_session.commit() - self.log.info("Saved {0} not_found twitter users' info.".format(len(not_found_users))) - except: - self.log.error("Error while saving DB Session for {0} not_found twitter users' info.".format(len(not_found_users))) - - - - - def archive_new_users(self, unarchived_users): - noticeuser_to_state = {} - return self.archive_users(noticeuser_to_state, unarchived_users, self.get_users_by_id, self.store_new_found_users, self.store_new_not_found_users, has_ids=False) - - def archive_old_users(self, unarchived_users): - record_to_state = {} - return self.archive_users(record_to_state, archived_users, self.get_users_by_name, self.store_old_found_users, self.store_old_not_found_users,has_ids=True) - - # unarchived_users is a set - def archive_users(self, record_to_state, unarchived_users, get_users_func, store_found_users_func, store_not_found_users_func, has_ids=False): - if len(unarchived_users) <= 0: - return record_to_state - - batch_size = 100 # limit should be 100 - not_found_users = unarchived_users # not_found_users references unarchived_users - users = list(unarchived_users) # copy as a list - - all_users_info = [] - - # query batch_size at a time - prev_limit = 0 - for i in range(1,int(len(users)/batch_size)+2): - rows = [] - limit = min(i*batch_size, len(users)) - if limit > prev_limit: - # query twitter API for user info - users_info = [] - try: - this_users = users[prev_limit:limit] - users_info = get_users_func(this_users) - all_users_info += users_info - prev_limit = limit - self.log.info("Queried for {0} Twitter users out of a total of {1} users, got {2} users".format( - limit-prev_limit, len(users), len(users_info))) - except twitter.error.TwitterError as e: - self.log.error("Failed to query for Twitter users using api.UsersLookup: {0}".format(str(e))) - - # for found users, commit to db - not_found_users, record_to_state = store_users_func(users_info, not_found_users, record_to_state) - - # at end, for not found users, commit to db - record_to_state = self.store_not_found_users_func(not_found_users, record_to_state) - - return all_users_info, record_to_state - - - - - - - - - def archive_user_tweets(self, user_id): - state = CS_JobState.PROCESSED - - query_oldest_id = self.db_session.query( - func.max(TwitterStatus.id)).filter( - TwitterStatus.user_id == user_id).first() - - oldest_id_queried = None if query_oldest_id is None else query_oldest_id[0] - seen_statuses = set([]) # set of ids added this time - while True: - - # get statuses from twitter API - try: - statuses = self.t.api.GetUserTimeline(user_id=user_id, count=200, max_id=oldest_id_queried) - except twitter.error.TwitterError as e: - self.log.info(e) - # TODO: un-jankify this error handling/parsing code. might not get much better though - state = None - if e.message == "Not authorized.": - # Account is either protected or suspended - state = TwitterUserState.SUSPENDED.value - elif e.message[0]['code'] == 34: # message = "Sorry, that page does not exist." - state = TwitterUserState.NOT_FOUND.value - else: - self.log.error("Unexpected twitter.error.TwitterError exception while calling api.GetUserTimeline on user {0}: {1}".format(screen_name, e)) - state = CS_JobState.NEEDS_RETRY - - # if either protected/suspended or not found - if state: - # store TwitterUser - queried_user = self.db_session.query(TwitterUser).filter(TwitterUser.screen_name == screen_name).first() # record should exist - if queried_user.user_state is not TwitterUserState.PROTECTED.value: - # if user is protected, this update will not have been helpful - queried_user.user_state = state - - # TODO: store TwitterUserSnapshot to mark this state change - - - try: - self.db_session.commit() - self.log.info("Updated twitter user {0}'s state to {1}.".format(screen_name, state)) - except: - self.log.error("Error while saving DB Session") - state = CS_JobState.FAILED - break - - if not statuses: - self.log.error("Unexpected error while calling api.GetUserTimeline on user_id {0}: nothing returned".format(user_id)) - state = CS_JobState.FAILED - break - if len(statuses) == 0: - break - self.log.info("Queried total of {0} tweets for account {1}".format(len(statuses), user_id)) - - # store TwitterStatus es - statuses_jsons = [json.loads(json.dumps(status._json).encode("utf-8", "replace")) if type(status) is twitter.models.Status else status for status in statuses] # to accomodate test fixture data] - sorted_statuses_jsons = sorted(statuses_jsons, key=lambda s: datetime.datetime.strptime(s["created_at"], TWITTER_DATETIME_STR_FORMAT)) - prev_seen_statuses_length = len(seen_statuses) - for i, status_json in enumerate(sorted_statuses_jsons): - status_id = status_json["id"] - created_at = datetime.datetime.strptime(status_json["created_at"], TWITTER_DATETIME_STR_FORMAT) - # if status hasn't been stored before, store - if (not oldest_id_queried) or (status_id > oldest_id_queried) or (status_id not in seen_statuses): - try: - status_record = TwitterStatus( - id = status_id, - user_id = status_json["user"]["id"], - created_at = created_at, #"Sun Apr 16 17:11:30 +0000 2017" - status_data = json.dumps(status_json)) - self.db_session.add(status_record) - seen_statuses.add(status_id) - except: - self.log.error("Error while creating TwitterStatus object for user {0}, status id {1}".format(status_json["user"]["id"]["screen_name"], status_id)) - state = CS_JobState.FAILED - try: - self.db_session.commit() - self.log.info("Saved {0} statuses for user {1}.".format(len(seen_statuses) - prev_seen_statuses_length, user_id)) - except: - self.log.error("Error while saving DB Session for {0} statuses for user {1}.".format(len(seen_statuses) - prev_seen_statuses_length, user_id)) - state = CS_JobState.FAILED - if prev_seen_statuses_length == len(seen_statuses): - break - if oldest_id_queried is None or min(seen_statuses) < oldest_id_queried: - oldest_id_queried = min(seen_statuses) - else: - break - - return state - diff --git a/app/controllers/twitter_observational_analysis_controller.py b/app/controllers/twitter_observational_analysis_controller.py index 314eadb..9462ec8 100644 --- a/app/controllers/twitter_observational_analysis_controller.py +++ b/app/controllers/twitter_observational_analysis_controller.py @@ -1,4 +1,13 @@ import inspect, os, sys, pytz + + +### LOAD ENVIRONMENT VARIABLES +BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), "..") +ENV = os.environ['CS_ENV'] + +sys.path.append(BASE_DIR) + + import simplejson as json import datetime import numpy as np @@ -6,26 +15,371 @@ from sqlalchemy import and_, or_, func utc=pytz.UTC +TWITTER_DATETIME_STR_FORMAT = "%a %b %d %H:%M:%S %z %Y" -def append_to_csv(fname, row): - with open(fname, "a") as f: - f.write(",".join(row) + "\n") + +def append_rows_to_csv(dataframe, header, output_dir, fname): + with open(os.path.join(output_dir, fname), "a") as f: + for uid in dataframe: + row = [str(dataframe[uid][label]) for label in header[1:]] + f.write(",".join(row) + "\n") + +def date_to_str(date): + return "{0}-{1}-{2}".format(date.year, date.month, date.day) class TwitterObservationalAnalysisController: - def __init__(self, output_dir, db_session, log): + def __init__(self, start_date, end_date, min_observed_days, output_dir, db_session, log): + self.start_date_utc = utc.localize(start_date) if (start_date.tzinfo is None or start_date.tzinfo.utcoffset(d) is None) else start_date + self.end_date_utc = utc.localize(end_date) if (end_date.tzinfo is None or end_date.tzinfo.utcoffset(d) is None) else end_date + + self.min_observed_days = min_observed_days + now = utc.localize(datetime.datetime.utcnow()) + self.end_date_utc = min( + self.end_date_utc, now - datetime.timedelta(days=self.min_observed_days)) + self.output_dir = output_dir self.db_session = db_session self.log = log + # basic_profiling was used for initial data exploration self.basic_profiling_header = sorted(["user_id", "user_created_at_time", "num_tweets", "first_notice_time", "oldest_snapshot_status", "newest_snapshot_status", "oldest_tweet_time", "newest_tweet_time", \ "first_notice-created_at_time", "first_notice-oldest_tweet_time", "newest_tweet-first_notice_time"]) self.basic_profiling_fname = "basic_profiling3.csv" + + + self.user_ids = [] + + self.tweet_day_header = ["id", "created_at", "user_language", "user_default_profile", \ + "user_verified", "date_first_notice_received", "notices_received", \ + "notices_received_on_day", "day_num", "before_first_notice", \ + "after_first_notice", "num_tweets", "num_media_tweets", "hours_unavailable", \ + "account_suspended", "account_deleted", "account_protected"] + self.tweet_day_fname = "{0}_obs_analysis_tweet_day_{1}-{2}_n={3}.csv".format( + date_to_str(now), + date_to_str(self.start_date_utc), date_to_str(self.end_date_utc), + self.min_observed_days) + + self.user_header = ["id", "created_at", "user_language", "user_default_profile", + "user_verified", "date_first_notice_received", "notices_received", "tweets_per_day_before_first_notice", + "tweets_per_day_after_first_notice", "hours_unavailable", "account_suspended", + "account_deleted", "account_protected", "notices_received"] + self.user_fname = "{0}_obs_analysis_user_{1}-{2}_n={3}.csv".format( + date_to_str(now), + date_to_str(self.start_date_utc), date_to_str(self.end_date_utc), + self.min_observed_days) + + self.twitter_users_to_notice_dates = None + self.twitter_users_to_snapshots = None + self.twitter_users_to_tweets = None + self.twitter_users_day_nums = None + self.default_day_num_dict_template = { + "num_tweets": 0, + "num_media_tweets": 0, + "num_notices": 0, + "suspended": False, + "deleted": False, + "protected": False + } + self.twitter_users_aggregates = None + + self.tweet_day_dataframe = {} + self.user_dataframe = {} + + + + """ + calls create_datasets() and produces two different csv files, + self.tweet_day_fname + self.user_fname + timestamped, from these lists of dicts + + + Range of date_received for lumen notices + from which to analyze users from + (needed because of fetch twitter statuses bug) + Minimum Observed Time Since First Observation of Account, in days + (for example: 14 days would mean all accounts + whose notice was received by Lumen at least 14 days ago or more, + guaranteeing that we get at least 14 days for each observation). + Return only N days of observations before and after + """ + def create_csvs(self): + self.log.info("Creating csvs for tweet_days and users, from {0} to {1}; min_observed_days = {2}".format( + date_to_str(self.start_date_utc), date_to_str(self.end_date_utc), self.min_observed_days)) + + with open(os.path.join(self.output_dir, self.tweet_day_fname), "w") as f: + f.write(",".join(self.tweet_day_header) + "\n") + + with open(os.path.join(self.output_dir, self.user_fname), "w") as f: + f.write(",".join(self.user_header) + "\n") + + self.create_datasets() + + append_rows_to_csv(self.tweet_day_dataframe, self.tweet_day_header, self.output_dir, self.tweet_day_fname) + append_rows_to_csv(self.user_dataframe, self.user_header, self.output_dir, self.user_fname) + + + # Returns Two Lists of Dicts, Where Each Dict Contains One Row + def create_datasets(self): + + # For all lumen notices received in [range of time] and were at least [x] days ago, + self.log.info("Getting notice dates...") + self.twitter_users_to_notice_dates = self.get_users_to_notice_dates() # {user_id: [notice_date_received_day]} + self.user_ids = self.twitter_users_to_notice_dates.keys() + + # Get user info + # Get twitter users (use first snapshot for user info) + self.log.info("Getting user snapshots...") + self.twitter_users_to_snapshots = self.get_users_to_snapshots() + + #Get tweets + #Need to do something about tweet deletion + self.log.info("Getting user tweets...") + self.twitter_users_to_tweets = self.get_users_to_tweets() # {user_id: [tweet_created_at_day]} + + #Calculate day_num relative to 1st notice day + #Get user state per day, suspended/deleted/protected + self.log.info("Getting user day nums...") + self.twitter_users_day_nums = self.get_users_day_nums() + + #Calculate aggregates + self.log.info("Getting user aggregates...") + self.twitter_users_aggregates = self.get_aggregates() + + + self.log.info("Creating dataframes...") + self.create_dataframes() + + def get_users_to_notice_dates(self): + + twitter_users_to_notice_dates = {} # {user_id: [notice_date_received_day]} + notices = self.db_session.query(LumenNotice).filter( + and_(LumenNotice.date_received >= self.start_date_utc, + LumenNotice.date_received <= self.end_date_utc)).all() + self.log.info("Retrieved {0} LumenNotice.".format(len(notices))) + + notice_id_to_date = {n.id: n.date_received for n in notices} + notice_to_twitter_users = [] + if len(notice_id_to_date) > 0: + notice_to_twitter_users = self.db_session.query(LumenNoticeToTwitterUser).filter( + LumenNoticeToTwitterUser.notice_id.in_(notice_id_to_date.keys())).all() + self.log.info("Retrieved {0} LumenNoticeToTwitterUser.".format(len(notice_to_twitter_users))) + + for ntu in notice_to_twitter_users: + uid = ntu.twitter_user_id + if uid not in twitter_users_to_notice_dates: + twitter_users_to_notice_dates[uid] = [] + notice_date = notice_id_to_date[ntu.notice_id] + twitter_users_to_notice_dates[uid].append(notice_date) + + self.log.info("Retrieved {0} TwitterUser.".format(len(twitter_users_to_notice_dates))) + return twitter_users_to_notice_dates + + def get_users_to_snapshots(self): + twitter_users_to_snapshots = {} # {user_id: [snapshot]} + num_snapshots = 0 + for uid in self.user_ids: + snapshots = self.db_session.query(TwitterUserSnapshot).filter( + or_(TwitterUserSnapshot.twitter_user_id == uid, + TwitterUserSnapshot.twitter_not_found_id == uid)).order_by( + TwitterUserSnapshot.record_created_at).all() + twitter_users_to_snapshots[uid] = snapshots + num_snapshots += len(snapshots) + self.log.info("Retrieved {0} TwitterUserSnapshot.".format(num_snapshots)) + return twitter_users_to_snapshots + + def get_users_to_tweets(self): + twitter_users_to_tweets = {} # {user_id: [tweet_created_at_day]} + + num_tweets = 0 + for uid in self.user_ids: + tweets = self.db_session(TwitterStatus).filter( + TwitterStatus.user_id == uid).order_by( + TwitterUserSnapshot.created_at).all() + twitter_users_to_tweets[uid] = tweets + num_tweets += len(tweets) + self.log.info("Retrieved {0} TwitterStatus.".format(num_tweets)) + return twitter_users_to_tweets + + def get_users_day_nums(self): + #??? should we remove day_nums that are too large/small? + twitter_users_day_nums = {} + for uid in self.user_ids: + twitter_users_day_nums[uid] = {} + first_notice_date = self.twitter_users_to_notice_dates[uid][0] + day_0 = datetime.datetime(first_notice_date.year, first_notice_date.month, first_notice_date.day) + + # num_notices + for notice_date in self.twitter_users_to_notice_dates[uid]: + day_num = (notice_date - day_0).days + if day_num not in twitter_users_day_nums: + twitter_users_day_nums[day_num] = copy.deepcopy(self.default_day_num_dict_template) + twitter_users_day_nums[day_num]["num_notices"] += 1 + + # num_tweets, num_media_tweets + tweets = self.twitter_users_to_tweets[uid] if uid in self.twitter_users_to_tweets else [] + for tweet in tweets: + day_num = (tweet.created_at - day_0).days + if day_num not in twitter_users_day_nums: + twitter_users_day_nums[day_num] = copy.deepcopy(self.default_day_num_dict_template) + twitter_users_day_nums[day_num]["num_tweets"] += 1 + + # look for media entities + # https://dev.twitter.com/overview/api/entities-in-twitter-objects + status_data_json = json.loads(tweet.status_data) + if "entities" in status_data_json and "media" in status_data_json["entities"]["media"]: + twitter_users_day_nums[day_num]["num_media_tweets"] += 1 + + # suspended, deleted, protected + for snapshot in self.twitter_users_to_snapshots: + day_num = (snapshot.record_created_at - day_0).days + if day_num not in twitter_users_day_nums: + twitter_users_day_nums[day_num] = copy.deepcopy(self.default_day_num_dict_template) + if snapshot.user_state == TwitterUserState.NOT_FOUND: + twitter_users_day_nums[day_num]["deleted"] = True + if snapshot.user_state == TwitterUserState.SUSPENDED: + twitter_users_day_nums[day_num]["suspended"] = True + if snapshot.user_state == TwitterUserState.PROTECTED: + twitter_users_day_nums[day_num]["protected"] = True + + return twitter_users_day_nums + + def get_aggregates(self): + #Calculate aggregates + #prune ids. ???? should we do this? + pruned_user_ids = [] + twitter_users_aggregates = {} + for uid in self.user_ids: + aggregates = { + "total_unavailable_hours": 0, # how to calculate this ???? + "num_days_before_day_0": 0, + "num_days_after_day_0": 0, + "ave_tweets_before_day_0": 0, + "ave_tweets_after_day_0": 0, + "account_suspended": False, # ever + "account_deleted": False, # ever + "account_protected": False, # ever + } + + aggregates["num_days_before_day_0"] = min(0, 0 - min(self.twitter_users_day_nums[uid])) + aggregates["num_days_after_day_0"] = max(0, max(self.twitter_users_day_nums[uid])) + if aggregates["num_days_before_day_0"] >= self.min_observed_days and aggregates["num_days_after_day_0"] >= self.min_observed_days: + pruned_user_ids.append(uid) + + aggregates["total_unavailable_hours"] = 24*sum([1 for dn in self.twitter_users_day_nums[uid] if (dn["suspended"] or dn["deleted"] or dn["protected"])]) + aggregates["ave_tweets_before_day_0"] = sum( + [self.twitter_users_day_nums[uid][dn]["num_tweets"] + for dn in self.twitter_users_day_nums[uid] if dn < 0] + ) / aggregates["num_days_before_day_0"] + aggregates["ave_tweets_after_day_0"] = sum( + [self.twitter_users_day_nums[uid][dn]["num_tweets"] + for dn in self.twitter_users_day_nums[uid] if dn > 0] + ) / aggregates["num_days_after_day_0"] + + aggregates["account_suspended"] = any([self.twitter_users_day_nums[uid][dn]["suspended"] for dn in self.twitter_users_day_nums[uid]]) + aggregates["account_deleted"] = any([self.twitter_users_day_nums[uid][dn]["deleted"] for dn in self.twitter_users_day_nums[uid]]) + aggregates["account_protected"] = any([self.twitter_users_day_nums[uid][dn]["protected"] for dn in self.twitter_users_day_nums[uid]]) + + twitter_users_aggregates[user] = aggregates + + self.log.info("Pruned user_ids. {0} qualifying user_ids from {1} total.".format(len(pruned_user_ids), len(self.user_ids))) + self.user_ids = pruned_user_ids + + return twitter_users_aggregates + + def create_dataframes(self): + for uid in self.user_ids: + user_json = json.loads(self.twitter_users_to_snapshots[uid][0].user_json) + self.tweet_day_dataframe[uid] = {label: None for label in self.tweet_day_header} + + self.user_dataframe[uid] = {label: None for label in self.user_header} + self.user_dataframe[uid] = { + "id": None, + "created_at": None, + "user_language": None, + "user_default_profile": None, + "user_verified": None, + "date_first_notice_received": self.twitter_users_to_notice_dates[uid][0], + "notices_received": len(self.twitter_users_to_notice_dates[uid]), + "tweets_per_day_before_first_notice": self.twitter_users_aggregates[uid]["ave_tweets_before_day_0"], + "tweets_per_day_after_first_notice": self.twitter_users_aggregates[uid]["ave_tweets_before_day_0"], + "hours_unavailable": self.twitter_users_aggregates[uid]["total_unavailable_hours"], + "account_suspended": self.twitter_users_aggregates[uid]["account_suspended"], + "account_deleted": self.twitter_users_aggregates[uid]["account_deleted"], + "account_protected": self.twitter_users_aggregates[uid]["account_protected"], + } + + if user_json is not None: + self.tweet_day_dataframe[uid]["id"] = uid + self.tweet_day_dataframe[uid]["created_at"] = datetime.datetime.strptime(user_json["created_at"], TWITTER_DATETIME_STR_FORMAT) + self.tweet_day_dataframe[uid]["user_language"] = user_json["lang"] + self.tweet_day_dataframe[uid]["user_default_profile"] = user_json["default_profile"] and user_json["default_profile_image"] #???? profile and/or profile_image? + self.tweet_day_dataframe[uid]["user_verified"] = user_json["verified"] + + self.user_dataframe[uid]["id"] = uid + self.user_dataframe[uid]["created_at"] = datetime.datetime.strptime(user_json["created_at"], TWITTER_DATETIME_STR_FORMAT) + self.user_dataframe[uid]["user_language"] = user_json["lang"] + self.user_dataframe[uid]["user_default_profile"] = user_json["default_profile"] and user_json["default_profile_image"] #???? profile and/or profile_image? + self.user_dataframe[uid]["user_verified"] = user_json["verified"] + + self.tweet_day_dataframe[uid]["date_first_notice_received"] = self.twitter_users_to_notice_dates[uid][0] + self.tweet_day_dataframe[uid]["notices_received"] = len(self.twitter_users_to_notice_dates[uid]) + + for i in range(-self.twitter_users_aggregates[uid]["num_days_before_day_0"], self.twitter_users_aggregates[uid]["num_days_after_day_0"]+1): + self.tweet_day_dataframe[uid]["day_num"] = i + self.tweet_day_dataframe[uid]["notices_received_on_day"] = 0 + self.tweet_day_dataframe[uid]["before_first_notice"] = i < 0 + self.tweet_day_dataframe[uid]["after_first_notice"] = i > 0 + self.tweet_day_dataframe[uid]["num_tweets"] = 0 + self.tweet_day_dataframe[uid]["num_media_tweets"] = 0 + self.tweet_day_dataframe[uid]["hours_unavailable"] = 0 # ???? how to count number of hours during this day? + self.tweet_day_dataframe[uid]["account_suspended"] = False + self.tweet_day_dataframe[uid]["account_deleted"] = False + self.tweet_day_dataframe[uid]["account_protected"] = False + + if i in self.twitter_users_day_nums[uid]: + self.tweet_day_dataframe[uid]["notices_received_on_day"] = self.twitter_users_day_nums[uid][i]["num_notices"] + self.tweet_day_dataframe[uid]["before_first_notice"] = i < 0 + self.tweet_day_dataframe[uid]["after_first_notice"] = i > 0 + self.tweet_day_dataframe[uid]["num_tweets"] = self.twitter_users_day_nums[uid][i]["num_tweets"] + self.tweet_day_dataframe[uid]["num_media_tweets"] = self.twitter_users_day_nums[uid][i]["num_media_tweets"] + + self.tweet_day_dataframe[uid]["account_suspended"] = self.twitter_users_day_nums[uid][i]["suspended"] + self.tweet_day_dataframe[uid]["account_deleted"] = self.twitter_users_day_nums[uid][i]["deleted"] + self.tweet_day_dataframe[uid]["account_protected"] = self.twitter_users_day_nums[uid][i]["protected"] + + self.tweet_day_dataframe[uid]["hours_unavailable"] = 24 if ( + self.twitter_users_day_nums[uid][i]["suspended"] or + self.twitter_users_day_nums[uid][i]["deleted"] or + self.twitter_users_day_nums[uid][i]["protected"]) else 0 # ???? how to count number of hours during this day? + + + +################################################ +############## basic_profiling +################################################ + +# was used for basic_profiling +def append_to_csv(fname, row): + with open(fname, "a") as f: + f.write(",".join(row) + "\n") + +class TwitterBasicProfilingController: + def __init__(self, output_dir, db_session, log): + self.output_dir = output_dir + self.db_session = db_session + self.log = log + + self.basic_profiling_header = sorted(["user_id", "user_created_at_time", "num_tweets", "first_notice_time", "oldest_snapshot_status", "newest_snapshot_status", "oldest_tweet_time", "newest_tweet_time", \ + "first_notice-created_at_time", "first_notice-oldest_tweet_time", "newest_tweet-first_notice_time"]) + self.basic_profiling_fname = "basic_profiling3.csv" + + def basic_profiling_create_csv(self): with open(self.basic_profiling_fname, "w") as f: f.write(",".join(self.basic_profiling_header) + "\n") - def basic_profiling_create_dataset(self): self.basic_profiling_create_csv() #dataset = {} @@ -79,87 +433,4 @@ def basic_profiling_create_dataset(self): data["newest_tweet-first_notice_time"] = (data["newest_tweet_time"] - data["first_notice_time"]).days row = [str(data[k]) for k in self.basic_profiling_header] - append_to_csv(self.basic_profiling_fname, row) - - """ - - self.db_session.query(TwitterStatus).filter() - - statuses_info = self.db_session.query( - func.count(TwitterStatus.id), func.min(TwitterStatus.created_at), func.max(TwitterStatus.created_at)).filter( - TwitterStatus.user_id == user.id).all() - - self.log.info(statuses_info) - #dataset[user.id]["num_tweets"] = statuses_info[0][0] - #dataset[user.id]["oldest_tweet_time"] = statuses_info[0][1] - #dataset[user.id]["newest_tweet_time"] = statuses_info[0][1] - """ - - """ - # calls create_datasets() and produces two different csv files, - # twitter_observational_analysis_{0}_{1}_{2}_posts.csv - - # timestamped, from these lists of dicts - # - # expecting id of subbreddit, e.g. "2qh13" - # dates passed as strings "MM.YYYY" - # dates passed as strings "MM.YYYY" - # "/mnt/samba/reddit-archive/03.2017" - # start_date = datetime.datetime.strptime(start_date, "%m.%Y") - # end_date = datetime.datetime.strptime(end_date, "%m.%Y") - def create_csvs(self, frontpage_limit=10): - self.log.info("Creating csvs for posts and comments from {0} to {1}".format(self.begin_date_utc, self.end_date_utc)) - start_date_str = "{0}.{1}".format(self.start_date_utc.month, self.start_date_utc.year) - end_date_str = "{0}.{1}".format(self.end_date_utc.month, self.end_date_utc.year) - - posts_fname = "sticky_comment_power_analysis_{0}_{1}_{2}_posts.csv".format(self.subreddit.id, start_date_str, end_date_str) - post_heading = ["id","created.utc","author","body.length","weekday","url","is.selftext","visible","num.comments","num.comments.removed","front_page","author.prev.posts","author.prev.participation"] - with open(os.path.join(self.output_dir, posts_fname), "w") as f: - f.write(",".join(post_heading) + "\n") - - comments_fname = "sticky_comment_power_analysis_{0}_{1}_{2}_comments.csv".format(self.subreddit.id, start_date_str, end_date_str) - comment_heading = ["id","created.utc","author","body.length","toplevel","post.id","visible","post.visible","post.author","author.prev.comments","author.prev.participation"] - with open(os.path.join(self.output_dir, comments_fname), "w") as f: - f.write(",".join(comment_heading) + "\n") - - self.create_datasets(frontpage_limit) - - pruned_posts = {pid: self.posts[pid] for pid in self.posts if self.posts[pid]["created.utc"] >= self.start_date_utc} - pruned_comments = {cid: self.comments[cid] for cid in self.comments if self.comments[cid]["created.utc"] >= self.start_date_utc} - with open(os.path.join(self.output_dir, posts_fname), "a") as f: - for post_id in pruned_posts: - row = [str(post_id)] + [str(self.posts[post_id][label]) for label in post_heading[1:]] - f.write(",".join(row) + "\n") - with open(os.path.join(self.output_dir, comments_fname), "a") as f: - for comment_id in pruned_comments: - row = [str(comment_id)] + [str(self.comments[comment_id][label]) for label in comment_heading[1:]] - f.write(",".join(row) + "\n") - - def get_subreddit(self, subreddit_id): - subreddit = self.db_session.query(Subreddit).filter(Subreddit.id == subreddit_id).first() - return subreddit - - # Returns Two Lists of Dicts, Where Each Dict Contains One Row - def create_datasets(self, frontpage_limit): - # get posts, comments, modlog from (self.start_date_utc - 6 months) to self.end_date_utc - - self.log.info("Getting posts...") - self.posts = self.get_posts() - self.log.info("Getting comments...") - self.comments = self.get_comments() - - self.log.info("Getting modlog...") - (self.mod_actions_comments, self.mod_actions_posts) = self.get_modlog() - self.post_to_comment_info = self.get_post_to_comment_info() # needs mod_actions - self.log.info("Getting frontpages...") - self.frontpages = self.get_frontpage_data() - - - # posts, comments = apply_post_flair(posts, comments) # get post flair - don't do right now - self.log.info("Applying modlog...") - self.apply_mod_actions() # posts, comments # get visible posts - self.log.info("Applying frontpages...") - self.apply_frontpage_data(frontpage_limit) # posts # get front page minutes - self.log.info("Applying participation and post to comment info...") - self.apply_participation_and_post_to_comment_info() # posts, comments # count prev posts - """ \ No newline at end of file + append_to_csv(self.basic_profiling_fname, row) \ No newline at end of file From 741d6bf38ad2cf5c546adccc04f500c5f1407dbb Mon Sep 17 00:00:00 2001 From: mmou Date: Wed, 28 Jun 2017 11:23:23 -0400 Subject: [PATCH 020/221] data migration code to remove duplicate twitter user records. --- .../06.22.2017.remove_dup_twitter_users.py | 118 ++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 utils/data_migrations/06.22.2017.remove_dup_twitter_users.py diff --git a/utils/data_migrations/06.22.2017.remove_dup_twitter_users.py b/utils/data_migrations/06.22.2017.remove_dup_twitter_users.py new file mode 100644 index 0000000..612a3ff --- /dev/null +++ b/utils/data_migrations/06.22.2017.remove_dup_twitter_users.py @@ -0,0 +1,118 @@ +""" +dump of database prior to migration: dump_civilservant_development_2017-06-22.sql +ENV = development + +for all screen_names with more than 1 record: + merge twitter_user + merge twitter_user_snapshot + ... + + update lumen_notice_to_twitter_user +""" + + + +import inspect, os, sys, copy, pytz, re, glob, time, gzip, random, csv +import simplejson as json +from collections import Counter + +ENV = os.environ['CS_ENV'] +BASE_DIR = "/home/reddit/cs-branches/CivilServant-mmou-twitter" +sys.path.append(BASE_DIR) + + +with open(os.path.join(BASE_DIR, "config") + "/{env}.json".format(env=ENV), "r") as config: + DBCONFIG = json.loads(config.read()) + +### LOAD SQLALCHEMY +from sqlalchemy import create_engine +from sqlalchemy.orm import sessionmaker +from sqlalchemy import text, and_, or_ +from app.models import Base, LumenNoticeToTwitterUser, TwitterUser, TwitterUserSnapshot +from utils.common import PageType + +db_engine = create_engine("mysql://{user}:{password}@{host}/{database}".format( + host = DBCONFIG['host'], + user = DBCONFIG['user'], + password = DBCONFIG['password'], + database = DBCONFIG['database'])) +DBSession = sessionmaker(bind=db_engine) +db_session = DBSession() + +### FILTER OUT DEPRECATION WARNINGS ASSOCIATED WITH DECORATORS +# https://github.com/ipython/ipython/issues/9242 +import warnings +warnings.filterwarnings('ignore', category=DeprecationWarning, message='.*use @default decorator instead.*') + +count = 0 +to_delete = 0 +query = "SELECT screen_name FROM twitter_users GROUP BY screen_name HAVING count(id) > 1;" +rows = db_engine.execute(text(query)) + + +for row in rows: # example row = ('007abdullahalm1',) + print("...row {0}, screen_name={1}".format(count, row[0])) + + + screen_name = row[0] + records = db_session.query(TwitterUser).filter(TwitterUser.screen_name==screen_name).order_by(TwitterUser.record_created_at).all() + + seen_ids = set([]) + for record in records: + seen_ids.add(record.id) + seen_ids.add(record.not_found_id) + seen_ids = list(seen_ids) + + + master_record = records[0] + for record in records[1:]: + if "NOT_FOUND" not in record.id: + if master_record.id is None or "NOT_FOUND" in master_record.id: + master_record.id = record.id + + # only expect these to run once!! + if record.created_at is not None: + master_record.created_at = record.created_at + if record.lang is not None: + master_record.lang = record.lang + if record.user_state is not None: + master_record.user_state = record.user_state + if record.CS_oldest_tweets_archived is not None: + master_record.CS_oldest_tweets_archived = record.CS_oldest_tweets_archived + + else: + print("ERROR - multiple ids for screen_name {0}: master_record.id={0}, record.id={1}".format(screen_name, master_record.id, record.id)) + sys.exit(1) + if record.not_found_id is not None: + master_record.not_found_id = min(record.not_found_id, master_record.not_found_id) if master_record.not_found_id is not None else record.not_found_id + + # for all records but the first, make field record_created_at=None. + # Prerequisite is that no records should have record_created_at=None + # This is the hacky marker to later filter on for rows to delete. + # All rows with record_ created_at=None should be deleted + record.record_created_at = None + to_delete += 1 + + nu_records = db_session.query(LumenNoticeToTwitterUser).filter(LumenNoticeToTwitterUser.twitter_username==screen_name).all() + for nu_record in nu_records: + nu_record.twitter_user_id = master_record.id + CS_oldest_tweets_archived = master_record.CS_oldest_tweets_archived + + us_records = db_session.query(TwitterUserSnapshot).filter( + or_(TwitterUserSnapshot.twitter_user_id.in_(seen_ids), + TwitterUserSnapshot.twitter_not_found_id.in_(seen_ids) + )).all() + + for us_record in us_records: + us_record.twitter_user_id = master_record.id + us_record.twitter_not_found_id = master_record.not_found_id + + count += 1 + if count % 50 == 0: + db_session.query(TwitterUser).filter(TwitterUser.record_created_at==None).delete() + db_session.commit() + print("Committed {0} updated records.".format(count)) + +db_session.query(TwitterUser).filter(TwitterUser.record_created_at==None).delete() +db_session.commit() +print("Finished. Updated {0} unique screen_name records. Deleted {1} rows.".format(count, to_delete)) \ No newline at end of file From fd8e4fce6ac8e9ade47cf8af5a16f772efdd971d Mon Sep 17 00:00:00 2001 From: mmou Date: Wed, 28 Jun 2017 11:27:31 -0400 Subject: [PATCH 021/221] fixes to twitter_controller, twitter_observational_analysis_controller. --- app/controllers/lumen_controller.py | 2 + app/controllers/twitter_controller.py | 36 +- ...itter_observational_analysis_controller.py | 347 +++++++++++------- 3 files changed, 244 insertions(+), 141 deletions(-) diff --git a/app/controllers/lumen_controller.py b/app/controllers/lumen_controller.py index e3b0bd7..6ae00ab 100644 --- a/app/controllers/lumen_controller.py +++ b/app/controllers/lumen_controller.py @@ -7,8 +7,10 @@ import requests import app.controllers.twitter_controller import sqlalchemy +from sqlalchemy import or_ import sys + class LumenController(): def __init__(self, db_session, l, log): self.db_session = db_session diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 62d23e1..3c99dae 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -5,7 +5,7 @@ import utils.common import requests import sqlalchemy -from sqlalchemy import and_, func +from sqlalchemy import and_, or_, func import utils.common from utils.common import TwitterUserState, NOT_FOUND_TWITTER_USER_STR, CS_JobState import sys @@ -72,22 +72,30 @@ def __init__(self, db_session, t, log): ######################################################### def query_and_archive_new_users(self): + # get unprocessed LumenNoticeToTwitterUser records with real twitter usernames unarchived_notice_users = self.db_session.query(LumenNoticeToTwitterUser).filter( - LumenNoticeToTwitterUser.CS_account_archived == CS_JobState.NOT_PROCESSED.value).filter( - LumenNoticeToTwitterUser.twitter_username != utils.common.NOT_FOUND_TWITTER_USER_STR).all() + #or_( + LumenNoticeToTwitterUser.CS_account_archived == CS_JobState.NOT_PROCESSED.value #, + #LumenNoticeToTwitterUser.CS_account_archived == CS_JobState.IN_PROGRESS.value) + ).filter( + LumenNoticeToTwitterUser.twitter_username != utils.common.NOT_FOUND_TWITTER_USER_STR # you may get these from t.co links + ).all() unarchived_names = [nu.twitter_username for nu in unarchived_notice_users] - # don't process these users + # process all usernames that DON'T have TwitterUser records OR have records but don't have real ids existing_users = [] if len(unarchived_names) > 0: - existing_users = self.db_session.query(TwitterUser).filter(TwitterUser.screen_name.in_(list(unarchived_names))).all() + existing_users = self.db_session.query(TwitterUser).filter( + TwitterUser.screen_name.in_(list(unarchived_names))).filter( + ).all() - processed_unarchived_notice_users = [nu for nu in unarchived_notice_users if nu.twitter_username in existing_users] + existing_usernames = set([e.screen_name for e in existing_users if utils.common.NOT_FOUND_TWITTER_USER_STR not in e.id]) + + processed_unarchived_notice_users = [nu for nu in unarchived_notice_users if nu.twitter_username in existing_usernames] utils.common.update_CS_JobState(processed_unarchived_notice_users, "CS_account_archived", CS_JobState.PROCESSED, self.db_session, self.log) - - unprocessed_unarchived_notice_users = [nu for nu in unarchived_notice_users if nu.twitter_username not in existing_users] + unprocessed_unarchived_notice_users = [nu for nu in unarchived_notice_users if nu.twitter_username not in existing_usernames] utils.common.update_CS_JobState(unprocessed_unarchived_notice_users, "CS_account_archived", CS_JobState.IN_PROGRESS, self.db_session, self.log) (user_name_to_id, noticeuser_to_state) = self.archive_new_users(unprocessed_unarchived_notice_users) @@ -116,7 +124,7 @@ def query_and_archive_new_users(self): """ def archive_new_users(self, unarchived_notice_users): if len(unarchived_notice_users) == 0: - return None, None + return (None, None) is_test = type(unarchived_notice_users[0]) is not LumenNoticeToTwitterUser if len(unarchived_notice_users) <= 0: @@ -134,8 +142,6 @@ def archive_new_users(self, unarchived_notice_users): left_users = unarchived_user_names # reference failed_users = set([]) - - all_found_ids = set([]) # all ids returned by UsersLookup all_existing_ids = set([]) # all ids already stored in db @@ -143,7 +149,6 @@ def archive_new_users(self, unarchived_notice_users): limit = min(i*batch_size, len(user_names)) if limit > prev_limit: # query twitter API for user info - users_info = [] this_users = user_names[prev_limit:limit] users_info = [] try: @@ -162,7 +167,7 @@ def archive_new_users(self, unarchived_notice_users): this_found_ids = set([user_json["id"] for user_json in users_json]) all_found_ids.update(this_found_ids) - existing_ids = self.db_session.query(TwitterUser).filter(TwitterUser.id.in_(list(this_found_ids))).all() + existing_ids = [uid[0] for uid in self.db_session.query(TwitterUser.id).filter(TwitterUser.id.in_(list(this_found_ids))).all()] all_existing_ids.update(existing_ids) for user_json in users_json: @@ -185,7 +190,7 @@ def archive_new_users(self, unarchived_notice_users): user_record = TwitterUser( id = uid, not_found_id = None, - screen_name = screen_name, #usernames change! index/search on id when possible + screen_name = screen_name, #usernames change! index/search on id when possible. created_at = created_at, # is UTC; expected string format: "Mon Nov 29 21:18:15 +0000 2010" record_created_at = now, lang = user_json["lang"], @@ -202,6 +207,7 @@ def archive_new_users(self, unarchived_notice_users): user_json = json.dumps(user_json)) #already encoded self.db_session.add(user_snapshot_record) + all_existing_ids.add(uid) left_users.discard(screen_name) # discard doesn't throw an error except: self.log.error("Error while creating TwitterUser, TwitterUserSnapshot objects for user {0}".format(user_json["id"]), extra=sys.exc_info()[0]) @@ -571,7 +577,7 @@ def archive_user_tweets(self, user, backfill=False): func.max(TwitterStatus.id)).filter( TwitterStatus.user_id == user_id).first() - seen_statuses = set([s[0] for s in query_seen_statuses]) # set of ids already in db; s = (872295416376823808,) + seen_statuses = set([s[0] for s in query_seen_statuses if s is not None]) # set of ids already in db; s = (872295416376823808,) new_seen_statuses = set([]) # set of ids added this time oldest_id_queried = None # if query_oldest_id is None else query_oldest_id[0] diff --git a/app/controllers/twitter_observational_analysis_controller.py b/app/controllers/twitter_observational_analysis_controller.py index 9462ec8..60d9cc4 100644 --- a/app/controllers/twitter_observational_analysis_controller.py +++ b/app/controllers/twitter_observational_analysis_controller.py @@ -13,6 +13,8 @@ import numpy as np from app.models import Base, TwitterUser, TwitterStatus, LumenNotice, TwitterUserSnapshot, LumenNoticeToTwitterUser from sqlalchemy import and_, or_, func +from utils.common import TwitterUserState, NOT_FOUND_TWITTER_USER_STR +import copy utc=pytz.UTC TWITTER_DATETIME_STR_FORMAT = "%a %b %d %H:%M:%S %z %Y" @@ -21,8 +23,13 @@ def append_rows_to_csv(dataframe, header, output_dir, fname): with open(os.path.join(output_dir, fname), "a") as f: for uid in dataframe: - row = [str(dataframe[uid][label]) for label in header[1:]] - f.write(",".join(row) + "\n") + if "tweet_day" in fname: # hacky but works... + for dn in dataframe[uid]: + row = [str(dataframe[uid][dn][label]) for label in header] + f.write(",".join(row) + "\n") + elif "user" in fname: + row = [str(dataframe[uid][label]) for label in header] + f.write(",".join(row) + "\n") def date_to_str(date): return "{0}-{1}-{2}".format(date.year, date.month, date.day) @@ -34,36 +41,28 @@ def __init__(self, start_date, end_date, min_observed_days, output_dir, db_sessi self.min_observed_days = min_observed_days now = utc.localize(datetime.datetime.utcnow()) - self.end_date_utc = min( - self.end_date_utc, now - datetime.timedelta(days=self.min_observed_days)) + #self.end_date_utc = min(self.end_date_utc, now - datetime.timedelta(days=self.min_observed_days)) self.output_dir = output_dir self.db_session = db_session self.log = log - # basic_profiling was used for initial data exploration - self.basic_profiling_header = sorted(["user_id", "user_created_at_time", "num_tweets", "first_notice_time", "oldest_snapshot_status", "newest_snapshot_status", "oldest_tweet_time", "newest_tweet_time", \ - "first_notice-created_at_time", "first_notice-oldest_tweet_time", "newest_tweet-first_notice_time"]) - self.basic_profiling_fname = "basic_profiling3.csv" + self.user_ids_to_not_found_ids = {} - - - self.user_ids = [] - - self.tweet_day_header = ["id", "created_at", "user_language", "user_default_profile", \ + self.tweet_day_header = ["id", "not_found_id", "created_at", "user_language", "user_default_profile", \ "user_verified", "date_first_notice_received", "notices_received", \ "notices_received_on_day", "day_num", "before_first_notice", \ "after_first_notice", "num_tweets", "num_media_tweets", "hours_unavailable", \ - "account_suspended", "account_deleted", "account_protected"] + "account_suspended", "account_deleted", "account_protected", "total_tweets", "total_past_tweets"] self.tweet_day_fname = "{0}_obs_analysis_tweet_day_{1}-{2}_n={3}.csv".format( date_to_str(now), date_to_str(self.start_date_utc), date_to_str(self.end_date_utc), self.min_observed_days) - self.user_header = ["id", "created_at", "user_language", "user_default_profile", - "user_verified", "date_first_notice_received", "notices_received", "tweets_per_day_before_first_notice", + self.user_header = ["id", "not_found_id", "created_at", "user_language", "user_default_profile", + "user_verified", "date_first_notice_received", "tweets_per_day_before_first_notice", "tweets_per_day_after_first_notice", "hours_unavailable", "account_suspended", - "account_deleted", "account_protected", "notices_received"] + "account_deleted", "account_protected", "notices_received", "total_tweets", "total_past_tweets"] self.user_fname = "{0}_obs_analysis_user_{1}-{2}_n={3}.csv".format( date_to_str(now), date_to_str(self.start_date_utc), date_to_str(self.end_date_utc), @@ -116,43 +115,72 @@ def create_csvs(self): self.create_datasets() - append_rows_to_csv(self.tweet_day_dataframe, self.tweet_day_header, self.output_dir, self.tweet_day_fname) - append_rows_to_csv(self.user_dataframe, self.user_header, self.output_dir, self.user_fname) - # Returns Two Lists of Dicts, Where Each Dict Contains One Row def create_datasets(self): - # For all lumen notices received in [range of time] and were at least [x] days ago, + # For all lumen notices received in [range of time] self.log.info("Getting notice dates...") self.twitter_users_to_notice_dates = self.get_users_to_notice_dates() # {user_id: [notice_date_received_day]} - self.user_ids = self.twitter_users_to_notice_dates.keys() + self.user_ids_to_not_found_ids = {uid: None for uid in self.twitter_users_to_notice_dates.keys()} # Get user info # Get twitter users (use first snapshot for user info) self.log.info("Getting user snapshots...") - self.twitter_users_to_snapshots = self.get_users_to_snapshots() + self.twitter_users_to_snapshots = self.get_users_to_snapshots() # get all snapshots, modifies self.user_ids_to_not_found_ids!!! - #Get tweets - #Need to do something about tweet deletion - self.log.info("Getting user tweets...") - self.twitter_users_to_tweets = self.get_users_to_tweets() # {user_id: [tweet_created_at_day]} - #Calculate day_num relative to 1st notice day - #Get user state per day, suspended/deleted/protected - self.log.info("Getting user day nums...") - self.twitter_users_day_nums = self.get_users_day_nums() + #### + uids = [id for id in self.user_ids_to_not_found_ids if "NOT_FOUND" not in id] + self.log.info("Out of total {0} users, {1} have found ids".format(len(self.user_ids_to_not_found_ids), len(uids))) + partially_unavailable_ids = {id: self.user_ids_to_not_found_ids[id] for id in uids if self.user_ids_to_not_found_ids[id] is not None} + self.log.info("Out of {0} found ids, {1} also have corresponding not_found_ids: {2}".format(len(uids), len(partially_unavailable_ids), partially_unavailable_ids)) + + + + # query batch_size at a time in order to update job states more often + batch_size = 20 + prev_limit = 0 + for i in range(1,int(len(uids)/batch_size)+2): + limit = min(i*batch_size, len(uids)) + self.log.info("Now about to process users indexed {0}-{1}, out of {2} users".format(prev_limit, limit, len(uids))) + if limit > prev_limit: + this_uids = uids[prev_limit:limit] + + + #Get tweets + #Need to do something about tweet deletion + self.log.info("> Getting user tweets...") + self.twitter_users_to_tweets = self.get_users_to_tweets(this_uids) # {user_id: [tweet_created_at_day]} + + #Calculate day_num relative to 1st notice day + #Get user state per day, suspended/deleted/protected + self.log.info("> Getting user day nums...") + self.twitter_users_day_nums = self.get_users_day_nums(this_uids) + + #Calculate aggregates + self.log.info("> Getting user aggregates...") + self.twitter_users_aggregates = self.get_aggregates(this_uids) + + + self.log.info("> Creating dataframes...") + self.create_dataframes(this_uids) + + append_rows_to_csv(self.tweet_day_dataframe, self.tweet_day_header, self.output_dir, self.tweet_day_fname) + append_rows_to_csv(self.user_dataframe, self.user_header, self.output_dir, self.user_fname) + + self.tweet_day_dataframe = {} + self.user_dataframe = {} + + prev_limit = limit + + self.log.info("Processed {0} out of {1} users".format(prev_limit, len(uids))) - #Calculate aggregates - self.log.info("Getting user aggregates...") - self.twitter_users_aggregates = self.get_aggregates() - self.log.info("Creating dataframes...") - self.create_dataframes() - def get_users_to_notice_dates(self): + def get_users_to_notice_dates(self): twitter_users_to_notice_dates = {} # {user_id: [notice_date_received_day]} notices = self.db_session.query(LumenNotice).filter( and_(LumenNotice.date_received >= self.start_date_utc, @@ -168,6 +196,8 @@ def get_users_to_notice_dates(self): for ntu in notice_to_twitter_users: uid = ntu.twitter_user_id + + # remove None because that means if uid not in twitter_users_to_notice_dates: twitter_users_to_notice_dates[uid] = [] notice_date = notice_id_to_date[ntu.notice_id] @@ -179,33 +209,60 @@ def get_users_to_notice_dates(self): def get_users_to_snapshots(self): twitter_users_to_snapshots = {} # {user_id: [snapshot]} num_snapshots = 0 - for uid in self.user_ids: + for uid in self.user_ids_to_not_found_ids: snapshots = self.db_session.query(TwitterUserSnapshot).filter( or_(TwitterUserSnapshot.twitter_user_id == uid, TwitterUserSnapshot.twitter_not_found_id == uid)).order_by( TwitterUserSnapshot.record_created_at).all() + + + for snapshot in snapshots: + if snapshot.twitter_user_id and snapshot.twitter_not_found_id and snapshot.twitter_user_id != snapshot.twitter_not_found_id: + if snapshot.twitter_not_found_id==uid and NOT_FOUND_TWITTER_USER_STR in uid: + # only 2 class attributes that are set before get_users_to_snapshots is run: + self.user_ids_to_not_found_ids.pop(uid, None) + self.user_ids_to_not_found_ids[snapshot.twitter_user_id] = uid + + self.twitter_users_to_notice_dates[snapshot.twitter_user_id] = copy.deepcopy(self.twitter_users_to_notice_dates[uid]) + self.twitter_users_to_notice_dates.pop(uid, None) + + uid = snapshot.twitter_user_id + + elif snapshot.twitter_user_id==uid: + if self.user_ids_to_not_found_ids[uid] is not None and self.user_ids_to_not_found_ids[uid] != snapshot.twitter_not_found_id: + self.log.info("Unexpected multiple-id-switches= uid: {0}, not_found: {1}, new_not_found: {2}".format( + uid, self.user_ids_to_not_found_ids[uid], snapshot.twitter_not_found_id)) + self.user_ids_to_not_found_ids[uid] = snapshot.twitter_not_found_id + # and this doesn't change self.twitter_users_to_notice_dates keys + twitter_users_to_snapshots[uid] = snapshots num_snapshots += len(snapshots) + self.log.info("Retrieved {0} TwitterUserSnapshot.".format(num_snapshots)) return twitter_users_to_snapshots - def get_users_to_tweets(self): + def get_users_to_tweets(self, this_uids): twitter_users_to_tweets = {} # {user_id: [tweet_created_at_day]} + + ### + batch_size = 20/2 num_tweets = 0 - for uid in self.user_ids: - tweets = self.db_session(TwitterStatus).filter( - TwitterStatus.user_id == uid).order_by( - TwitterUserSnapshot.created_at).all() + for (i, uid) in enumerate(this_uids): + tweets = self.db_session.query(TwitterStatus).filter( + or_(TwitterStatus.user_id == uid, + TwitterStatus.user_id == self.user_ids_to_not_found_ids[uid])).all() twitter_users_to_tweets[uid] = tweets num_tweets += len(tweets) + if i % batch_size == 0 and i != 0: + self.log.info("...{0} of {1} users; retrieved {2} TwitterStatus so far".format(i, len(this_uids), num_tweets)) self.log.info("Retrieved {0} TwitterStatus.".format(num_tweets)) return twitter_users_to_tweets - def get_users_day_nums(self): + def get_users_day_nums(self, this_uids): #??? should we remove day_nums that are too large/small? twitter_users_day_nums = {} - for uid in self.user_ids: + for uid in this_uids: twitter_users_day_nums[uid] = {} first_notice_date = self.twitter_users_to_notice_dates[uid][0] day_0 = datetime.datetime(first_notice_date.year, first_notice_date.month, first_notice_date.day) @@ -213,89 +270,134 @@ def get_users_day_nums(self): # num_notices for notice_date in self.twitter_users_to_notice_dates[uid]: day_num = (notice_date - day_0).days - if day_num not in twitter_users_day_nums: - twitter_users_day_nums[day_num] = copy.deepcopy(self.default_day_num_dict_template) - twitter_users_day_nums[day_num]["num_notices"] += 1 + if day_num not in twitter_users_day_nums[uid]: + twitter_users_day_nums[uid][day_num] = copy.deepcopy(self.default_day_num_dict_template) + twitter_users_day_nums[uid][day_num]["num_notices"] += 1 # num_tweets, num_media_tweets tweets = self.twitter_users_to_tweets[uid] if uid in self.twitter_users_to_tweets else [] for tweet in tweets: day_num = (tweet.created_at - day_0).days - if day_num not in twitter_users_day_nums: - twitter_users_day_nums[day_num] = copy.deepcopy(self.default_day_num_dict_template) - twitter_users_day_nums[day_num]["num_tweets"] += 1 + if day_num not in twitter_users_day_nums[uid]: + twitter_users_day_nums[uid][day_num] = copy.deepcopy(self.default_day_num_dict_template) + twitter_users_day_nums[uid][day_num]["num_tweets"] += 1 # look for media entities # https://dev.twitter.com/overview/api/entities-in-twitter-objects status_data_json = json.loads(tweet.status_data) - if "entities" in status_data_json and "media" in status_data_json["entities"]["media"]: - twitter_users_day_nums[day_num]["num_media_tweets"] += 1 + if "entities" in status_data_json and "media" in status_data_json["entities"]: + twitter_users_day_nums[uid][day_num]["num_media_tweets"] += 1 # suspended, deleted, protected - for snapshot in self.twitter_users_to_snapshots: + for snapshot in self.twitter_users_to_snapshots[uid]: day_num = (snapshot.record_created_at - day_0).days - if day_num not in twitter_users_day_nums: - twitter_users_day_nums[day_num] = copy.deepcopy(self.default_day_num_dict_template) - if snapshot.user_state == TwitterUserState.NOT_FOUND: - twitter_users_day_nums[day_num]["deleted"] = True - if snapshot.user_state == TwitterUserState.SUSPENDED: - twitter_users_day_nums[day_num]["suspended"] = True - if snapshot.user_state == TwitterUserState.PROTECTED: - twitter_users_day_nums[day_num]["protected"] = True + + if day_num not in twitter_users_day_nums[uid]: + twitter_users_day_nums[uid][day_num] = copy.deepcopy(self.default_day_num_dict_template) + + twitter_users_day_nums[uid][day_num]["deleted"] = (snapshot.user_state == TwitterUserState.NOT_FOUND.value) + twitter_users_day_nums[uid][day_num]["suspended"] = (snapshot.user_state == TwitterUserState.SUSPENDED.value) + twitter_users_day_nums[uid][day_num]["protected"] = (snapshot.user_state == TwitterUserState.PROTECTED.value) return twitter_users_day_nums - def get_aggregates(self): + def get_aggregates(self, this_uids, prune=True): #Calculate aggregates #prune ids. ???? should we do this? - pruned_user_ids = [] + qualifying_user_ids = set([]) twitter_users_aggregates = {} - for uid in self.user_ids: + for uid in this_uids: aggregates = { "total_unavailable_hours": 0, # how to calculate this ???? "num_days_before_day_0": 0, "num_days_after_day_0": 0, "ave_tweets_before_day_0": 0, "ave_tweets_after_day_0": 0, + "total_tweets": 0, "account_suspended": False, # ever "account_deleted": False, # ever - "account_protected": False, # ever + "account_protected": False, # ever } - aggregates["num_days_before_day_0"] = min(0, 0 - min(self.twitter_users_day_nums[uid])) - aggregates["num_days_after_day_0"] = max(0, max(self.twitter_users_day_nums[uid])) - if aggregates["num_days_before_day_0"] >= self.min_observed_days and aggregates["num_days_after_day_0"] >= self.min_observed_days: - pruned_user_ids.append(uid) + this_day_nums = [dn for dn in self.twitter_users_day_nums[uid].keys()] + if min(this_day_nums) <= -self.min_observed_days and max(this_day_nums) >= self.min_observed_days: + qualifying_user_ids.add(uid) + else: + # not best design... + self.user_ids_to_not_found_ids.pop(uid, None) - aggregates["total_unavailable_hours"] = 24*sum([1 for dn in self.twitter_users_day_nums[uid] if (dn["suspended"] or dn["deleted"] or dn["protected"])]) - aggregates["ave_tweets_before_day_0"] = sum( - [self.twitter_users_day_nums[uid][dn]["num_tweets"] - for dn in self.twitter_users_day_nums[uid] if dn < 0] - ) / aggregates["num_days_before_day_0"] - aggregates["ave_tweets_after_day_0"] = sum( - [self.twitter_users_day_nums[uid][dn]["num_tweets"] - for dn in self.twitter_users_day_nums[uid] if dn > 0] - ) / aggregates["num_days_after_day_0"] + if (prune and uid in qualifying_user_ids) or (not prune): + # prune this_day_nums so that aggregate calculations are accurate + if prune: + this_day_num_dicts = {dn: self.twitter_users_day_nums[uid][dn] for dn in self.twitter_users_day_nums[uid] if dn >= -self.min_observed_days and dn <= self.min_observed_days} + else: + this_day_num_dicts = self.twitter_users_day_nums[uid] - aggregates["account_suspended"] = any([self.twitter_users_day_nums[uid][dn]["suspended"] for dn in self.twitter_users_day_nums[uid]]) - aggregates["account_deleted"] = any([self.twitter_users_day_nums[uid][dn]["deleted"] for dn in self.twitter_users_day_nums[uid]]) - aggregates["account_protected"] = any([self.twitter_users_day_nums[uid][dn]["protected"] for dn in self.twitter_users_day_nums[uid]]) + #if uid in ['851658170455994368', '788958311714398208', '846706659732865025', '784022010456182785', '772763098239283201', '859037528858304513', '847768318232494080']: + # self.log.info(uid) + # self.log.info(this_day_num_dicts) - twitter_users_aggregates[user] = aggregates + aggregates["num_days_before_day_0"] = max(0, 0 - min(this_day_num_dicts)) if len(this_day_num_dicts) > 0 else 0 + aggregates["num_days_after_day_0"] = max(0, max(this_day_num_dicts)) if len(this_day_num_dicts) > 0 else 0 - self.log.info("Pruned user_ids. {0} qualifying user_ids from {1} total.".format(len(pruned_user_ids), len(self.user_ids))) - self.user_ids = pruned_user_ids + aggregates["total_unavailable_hours"] = 24*sum([1 for dn in this_day_num_dicts if (this_day_num_dicts[dn]["suspended"] or this_day_num_dicts[dn]["deleted"] or this_day_num_dicts[dn]["protected"])]) + + ###### why do these 2 fields have identical values??? ##### + aggregates["ave_tweets_before_day_0"] = round(sum([this_day_num_dicts[dn]["num_tweets"] for dn in this_day_num_dicts if dn < 0]) / aggregates["num_days_before_day_0"], 2) if aggregates["num_days_before_day_0"] > 0 else 0 + aggregates["ave_tweets_after_day_0"] = round(sum([this_day_num_dicts[dn]["num_tweets"] for dn in this_day_num_dicts if dn > 0]) / aggregates["num_days_after_day_0"], 2) if aggregates["num_days_after_day_0"] > 0 else 0 + aggregates["total_tweets"] = sum([this_day_num_dicts[dn]["num_tweets"] for dn in this_day_num_dicts]) + + aggregates["account_suspended"] = any([this_day_num_dicts[dn]["suspended"] for dn in this_day_num_dicts]) + aggregates["account_deleted"] = any([this_day_num_dicts[dn]["deleted"] for dn in this_day_num_dicts]) + aggregates["account_protected"] = any([this_day_num_dicts[dn]["protected"] for dn in this_day_num_dicts]) + + twitter_users_aggregates[uid] = aggregates + + self.log.info("Pruned user_ids (prune={3}). {0} qualifying user_ids from {1} in this batch, {2} total.".format(len(qualifying_user_ids), len(this_uids), len(self.user_ids_to_not_found_ids), prune)) + return twitter_users_aggregates - def create_dataframes(self): - for uid in self.user_ids: - user_json = json.loads(self.twitter_users_to_snapshots[uid][0].user_json) - self.tweet_day_dataframe[uid] = {label: None for label in self.tweet_day_header} + def create_dataframes(self, this_uids): + for uid in this_uids: + if uid not in self.user_ids_to_not_found_ids: + # was pruned + continue + + user_json = None + for snapshot in self.twitter_users_to_snapshots[uid]: + if snapshot.user_json and snapshot.user_json != "": + user_json = json.loads(snapshot.user_json) + break + + self.tweet_day_dataframe[uid] = {} + user_tweet_day = { + "id": uid, + "not_found_id": self.user_ids_to_not_found_ids[uid], + "created_at": None, + "user_language": None, + "user_default_profile": None, + "user_verified": None, + "date_first_notice_received": None, + "notices_received": 0, + "notices_received_on_day": 0, + "day_num": None, + "before_first_notice": None, + "after_first_notice": None, + "total_tweets": self.twitter_users_aggregates[uid]["total_tweets"], + "total_past_tweets": 0, + "num_tweets": 0, + "num_media_tweets": 0, + "hours_unavailable": 0, + "account_suspended": False, + "account_deleted": False, + "account_protected": False + } self.user_dataframe[uid] = {label: None for label in self.user_header} self.user_dataframe[uid] = { - "id": None, + "id": uid, + "not_found_id": self.user_ids_to_not_found_ids[uid], "created_at": None, "user_language": None, "user_default_profile": None, @@ -303,58 +405,51 @@ def create_dataframes(self): "date_first_notice_received": self.twitter_users_to_notice_dates[uid][0], "notices_received": len(self.twitter_users_to_notice_dates[uid]), "tweets_per_day_before_first_notice": self.twitter_users_aggregates[uid]["ave_tweets_before_day_0"], - "tweets_per_day_after_first_notice": self.twitter_users_aggregates[uid]["ave_tweets_before_day_0"], + "tweets_per_day_after_first_notice": self.twitter_users_aggregates[uid]["ave_tweets_after_day_0"], + "total_tweets": self.twitter_users_aggregates[uid]["total_tweets"], "hours_unavailable": self.twitter_users_aggregates[uid]["total_unavailable_hours"], "account_suspended": self.twitter_users_aggregates[uid]["account_suspended"], "account_deleted": self.twitter_users_aggregates[uid]["account_deleted"], "account_protected": self.twitter_users_aggregates[uid]["account_protected"], } + if user_json is not None: - self.tweet_day_dataframe[uid]["id"] = uid - self.tweet_day_dataframe[uid]["created_at"] = datetime.datetime.strptime(user_json["created_at"], TWITTER_DATETIME_STR_FORMAT) - self.tweet_day_dataframe[uid]["user_language"] = user_json["lang"] - self.tweet_day_dataframe[uid]["user_default_profile"] = user_json["default_profile"] and user_json["default_profile_image"] #???? profile and/or profile_image? - self.tweet_day_dataframe[uid]["user_verified"] = user_json["verified"] + user_tweet_day["created_at"] = datetime.datetime.strptime(user_json["created_at"], TWITTER_DATETIME_STR_FORMAT) + user_tweet_day["user_language"] = user_json["lang"] + user_tweet_day["user_default_profile"] = user_json["default_profile_image"] + user_tweet_day["user_verified"] = user_json["verified"] + user_tweet_day["total_past_tweets"] = user_json["statuses_count"] - self.user_dataframe[uid]["id"] = uid self.user_dataframe[uid]["created_at"] = datetime.datetime.strptime(user_json["created_at"], TWITTER_DATETIME_STR_FORMAT) self.user_dataframe[uid]["user_language"] = user_json["lang"] - self.user_dataframe[uid]["user_default_profile"] = user_json["default_profile"] and user_json["default_profile_image"] #???? profile and/or profile_image? + self.user_dataframe[uid]["user_default_profile"] = user_json["default_profile_image"] self.user_dataframe[uid]["user_verified"] = user_json["verified"] + self.user_dataframe[uid]["total_past_tweets"] = user_json["statuses_count"] - self.tweet_day_dataframe[uid]["date_first_notice_received"] = self.twitter_users_to_notice_dates[uid][0] - self.tweet_day_dataframe[uid]["notices_received"] = len(self.twitter_users_to_notice_dates[uid]) - - for i in range(-self.twitter_users_aggregates[uid]["num_days_before_day_0"], self.twitter_users_aggregates[uid]["num_days_after_day_0"]+1): - self.tweet_day_dataframe[uid]["day_num"] = i - self.tweet_day_dataframe[uid]["notices_received_on_day"] = 0 - self.tweet_day_dataframe[uid]["before_first_notice"] = i < 0 - self.tweet_day_dataframe[uid]["after_first_notice"] = i > 0 - self.tweet_day_dataframe[uid]["num_tweets"] = 0 - self.tweet_day_dataframe[uid]["num_media_tweets"] = 0 - self.tweet_day_dataframe[uid]["hours_unavailable"] = 0 # ???? how to count number of hours during this day? - self.tweet_day_dataframe[uid]["account_suspended"] = False - self.tweet_day_dataframe[uid]["account_deleted"] = False - self.tweet_day_dataframe[uid]["account_protected"] = False - - if i in self.twitter_users_day_nums[uid]: - self.tweet_day_dataframe[uid]["notices_received_on_day"] = self.twitter_users_day_nums[uid][i]["num_notices"] - self.tweet_day_dataframe[uid]["before_first_notice"] = i < 0 - self.tweet_day_dataframe[uid]["after_first_notice"] = i > 0 - self.tweet_day_dataframe[uid]["num_tweets"] = self.twitter_users_day_nums[uid][i]["num_tweets"] - self.tweet_day_dataframe[uid]["num_media_tweets"] = self.twitter_users_day_nums[uid][i]["num_media_tweets"] + user_tweet_day["date_first_notice_received"] = self.twitter_users_to_notice_dates[uid][0] + user_tweet_day["notices_received"] = len(self.twitter_users_to_notice_dates[uid]) - self.tweet_day_dataframe[uid]["account_suspended"] = self.twitter_users_day_nums[uid][i]["suspended"] - self.tweet_day_dataframe[uid]["account_deleted"] = self.twitter_users_day_nums[uid][i]["deleted"] - self.tweet_day_dataframe[uid]["account_protected"] = self.twitter_users_day_nums[uid][i]["protected"] + # only include day_nums of interest + for i in range(-self.min_observed_days, self.min_observed_days+1): + this_user_tweet_day = copy.deepcopy(user_tweet_day) + this_user_tweet_day["day_num"] = i + this_user_tweet_day["before_first_notice"] = i < 0 + this_user_tweet_day["after_first_notice"] = i > 0 - self.tweet_day_dataframe[uid]["hours_unavailable"] = 24 if ( - self.twitter_users_day_nums[uid][i]["suspended"] or - self.twitter_users_day_nums[uid][i]["deleted"] or - self.twitter_users_day_nums[uid][i]["protected"]) else 0 # ???? how to count number of hours during this day? + this_user_tweet_day["hours_unavailable"] = 0 # ???? how to count number of hours during this day? + if i in self.twitter_users_day_nums[uid]: + this_user_tweet_day["notices_received_on_day"] = self.twitter_users_day_nums[uid][i]["num_notices"] + this_user_tweet_day["num_tweets"] = self.twitter_users_day_nums[uid][i]["num_tweets"] + this_user_tweet_day["num_media_tweets"] = self.twitter_users_day_nums[uid][i]["num_media_tweets"] + this_user_tweet_day["account_suspended"] = self.twitter_users_day_nums[uid][i]["suspended"] + this_user_tweet_day["account_deleted"] = self.twitter_users_day_nums[uid][i]["deleted"] + this_user_tweet_day["account_protected"] = self.twitter_users_day_nums[uid][i]["protected"] + this_user_tweet_day["hours_unavailable"] = 24 if (self.twitter_users_day_nums[uid][i]["suspended"] or self.twitter_users_day_nums[uid][i]["deleted"] or self.twitter_users_day_nums[uid][i]["protected"]) else 0 # ???? how to count number of hours during this day? + + self.tweet_day_dataframe[uid][i] = this_user_tweet_day ################################################ ############## basic_profiling From 7e8234cb128523ac609a4b9770f56eb83b1598f7 Mon Sep 17 00:00:00 2001 From: = <=> Date: Mon, 10 Jul 2017 14:58:54 -0400 Subject: [PATCH 022/221] merge diffs in twitter_observational_analysis_controller --- .../twitter_observational_analysis_controller.py | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/app/controllers/twitter_observational_analysis_controller.py b/app/controllers/twitter_observational_analysis_controller.py index 60d9cc4..7785bd7 100644 --- a/app/controllers/twitter_observational_analysis_controller.py +++ b/app/controllers/twitter_observational_analysis_controller.py @@ -137,7 +137,6 @@ def create_datasets(self): self.log.info("Out of {0} found ids, {1} also have corresponding not_found_ids: {2}".format(len(uids), len(partially_unavailable_ids), partially_unavailable_ids)) - # query batch_size at a time in order to update job states more often batch_size = 20 prev_limit = 0 @@ -177,9 +176,6 @@ def create_datasets(self): self.log.info("Processed {0} out of {1} users".format(prev_limit, len(uids))) - - - def get_users_to_notice_dates(self): twitter_users_to_notice_dates = {} # {user_id: [notice_date_received_day]} notices = self.db_session.query(LumenNotice).filter( @@ -333,14 +329,9 @@ def get_aggregates(self, this_uids, prune=True): else: this_day_num_dicts = self.twitter_users_day_nums[uid] - #if uid in ['851658170455994368', '788958311714398208', '846706659732865025', '784022010456182785', '772763098239283201', '859037528858304513', '847768318232494080']: - # self.log.info(uid) - # self.log.info(this_day_num_dicts) - aggregates["num_days_before_day_0"] = max(0, 0 - min(this_day_num_dicts)) if len(this_day_num_dicts) > 0 else 0 aggregates["num_days_after_day_0"] = max(0, max(this_day_num_dicts)) if len(this_day_num_dicts) > 0 else 0 - aggregates["total_unavailable_hours"] = 24*sum([1 for dn in this_day_num_dicts if (this_day_num_dicts[dn]["suspended"] or this_day_num_dicts[dn]["deleted"] or this_day_num_dicts[dn]["protected"])]) ###### why do these 2 fields have identical values??? ##### @@ -528,4 +519,4 @@ def basic_profiling_create_dataset(self): data["newest_tweet-first_notice_time"] = (data["newest_tweet_time"] - data["first_notice_time"]).days row = [str(data[k]) for k in self.basic_profiling_header] - append_to_csv(self.basic_profiling_fname, row) \ No newline at end of file + append_to_csv(self.basic_profiling_fname, row) From bf59e442384ef3efee3fabf82f40dd4d6a150409 Mon Sep 17 00:00:00 2001 From: mmou Date: Tue, 18 Jul 2017 02:52:11 -0400 Subject: [PATCH 023/221] fix twitter/lumen bugs. update all tests. all tests pass. anonymize fixture data. --- app/controllers/lumen_controller.py | 32 +- app/controllers/twitter_controller.py | 117 +- tests/fixture_data/anon_lumen_notices_0.json | 1 + tests/fixture_data/anon_twitter_tweets.json | 1 + .../fixture_data/anon_twitter_tweets_ex.json | 1 + tests/fixture_data/anon_twitter_user_A.json | 1 + tests/fixture_data/anon_twitter_user_B.json | 1 + tests/fixture_data/anon_twitter_user_ex.json | 1 + .../anon_twitter_username_list.json | 1 + tests/fixture_data/anon_twitter_users.json | 1 + tests/fixture_data/lumen_notices_0.json | 5316 ----------------- tests/fixture_data/lumen_notices_1.json | 1 - tests/fixture_data/twitter_id_list.json | 1 - tests/fixture_data/twitter_tweets.json | 1 - tests/fixture_data/twitter_username_list.json | 1 - tests/fixture_data/twitter_users.json | 1 - tests/test_controllers.py | 541 +- utils/anonymize_lumen_twitter_fixture_data.py | 190 + 18 files changed, 647 insertions(+), 5562 deletions(-) create mode 100644 tests/fixture_data/anon_lumen_notices_0.json create mode 100644 tests/fixture_data/anon_twitter_tweets.json create mode 100644 tests/fixture_data/anon_twitter_tweets_ex.json create mode 100644 tests/fixture_data/anon_twitter_user_A.json create mode 100644 tests/fixture_data/anon_twitter_user_B.json create mode 100644 tests/fixture_data/anon_twitter_user_ex.json create mode 100644 tests/fixture_data/anon_twitter_username_list.json create mode 100644 tests/fixture_data/anon_twitter_users.json delete mode 100644 tests/fixture_data/lumen_notices_0.json delete mode 100644 tests/fixture_data/lumen_notices_1.json delete mode 100644 tests/fixture_data/twitter_id_list.json delete mode 100644 tests/fixture_data/twitter_tweets.json delete mode 100644 tests/fixture_data/twitter_username_list.json delete mode 100644 tests/fixture_data/twitter_users.json create mode 100644 utils/anonymize_lumen_twitter_fixture_data.py diff --git a/app/controllers/lumen_controller.py b/app/controllers/lumen_controller.py index 6ae00ab..a6b673a 100644 --- a/app/controllers/lumen_controller.py +++ b/app/controllers/lumen_controller.py @@ -9,7 +9,7 @@ import sqlalchemy from sqlalchemy import or_ import sys - +import time class LumenController(): def __init__(self, db_session, l, log): @@ -23,7 +23,8 @@ def archive_lumen_notices(self, topics, date): # notices already stored in db added_notices = self.db_session.query(LumenNotice).filter(LumenNotice.date_received >= date).all() - added_notices_ids = set([notice.id for notice in recent_notices]) + added_notices_ids = set([notice.id for notice in added_notices]) + newly_added_notices_ids = set([]) for topic in topics: next_page = 1 @@ -34,10 +35,6 @@ def archive_lumen_notices(self, topics, date): time.sleep(2) data = self.l.get_notices_to_twitter([topic], 50, next_page, date, nowish) - - #with open("tests/fixture_data/lumen_notices_0.json") as f: - # data = json.loads(f.read()) - if not data: # error is already logged by get_notices_to_twitter return @@ -45,12 +42,13 @@ def archive_lumen_notices(self, topics, date): notices_json = data["notices"] next_page = data["meta"]["next_page"] max_date_received = None - prev_add_notices_size = len(added_notices_ids) + + prev_add_notices_size = len(newly_added_notices_ids) for notice in notices_json: nid = notice["id"] date_received = datetime.datetime.strptime(notice["date_received"], '%Y-%m-%dT%H:%M:%S.000Z') # expect string like "2017-04-15T22:28:26.000Z" max_date_received = max(date_received, max_date_received) if max_date_received else date_received - if nid not in added_notices_ids and date_received >= date and date_received <= nowish: + if nid not in added_notices_ids and nid not in newly_added_notices_ids and date_received >= date and date_received <= nowish: try: sender = (notice["sender_name"].encode("utf-8", "replace") if notice["sender_name"] else "") principal = (notice["principal_name"].encode("utf-8", "replace") if notice["principal_name"] else "") @@ -65,20 +63,23 @@ def archive_lumen_notices(self, topics, date): notice_data = json.dumps(notice).encode("utf-8", "replace"), CS_parsed_usernames = CS_JobState.NOT_PROCESSED.value) self.db_session.add(notice_record) - added_notices_ids.add(nid) + newly_added_notices_ids.add(nid) except: self.log.error("Error while creating LumenNotice object for notice {0}".format(notice["id"]), extra=sys.exc_info()[0]) - if max_date_received <= nowish and len(added_notices_ids) == prev_add_notices_size: - # if we got lumen notices that are from at most nowish and we have seen them all before, - break - prev_add_notices_size = len(added_notices_ids) try: self.db_session.commit() except: self.log.error("Error while saving {0} lumen notices in DB Session".format(len(added_notices_ids)), extra=sys.exc_info()[0]) else: - self.log.info("Saved {0} lumen notices.".format(len(added_notices_ids))) + self.log.info("Saved {0} lumen notices.".format(len(newly_added_notices_ids) - prev_add_notices_size)) + + if next_page and next_page > 4 and len(newly_added_notices_ids) == prev_add_notices_size and max_date_received <= nowish: + # if we got lumen notices that are from at most nowish and we have seen them all before, + # hacky: always look at at least 3 pages + break + + self.log.info("fetch_lumen_notices saved {0} total new lumen notices.".format(len(newly_added_notices_ids))) """ @@ -217,6 +218,7 @@ def helper_parse_url_for_username(url, log): raise utils.common.ParseUsernameSuspendedUserFound if len(url_split) >= 3 and url_split[2] == twitter_domain: - username = url_split[3] + username = url_split[3].lower() + return username diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 3c99dae..7a76278 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -81,7 +81,7 @@ def query_and_archive_new_users(self): LumenNoticeToTwitterUser.twitter_username != utils.common.NOT_FOUND_TWITTER_USER_STR # you may get these from t.co links ).all() - unarchived_names = [nu.twitter_username for nu in unarchived_notice_users] + unarchived_names = [nu.twitter_username.lower() for nu in unarchived_notice_users] # process all usernames that DON'T have TwitterUser records OR have records but don't have real ids existing_users = [] @@ -90,12 +90,12 @@ def query_and_archive_new_users(self): TwitterUser.screen_name.in_(list(unarchived_names))).filter( ).all() - existing_usernames = set([e.screen_name for e in existing_users if utils.common.NOT_FOUND_TWITTER_USER_STR not in e.id]) + existing_usernames = set([e.screen_name.lower() for e in existing_users if utils.common.NOT_FOUND_TWITTER_USER_STR not in e.id]) - processed_unarchived_notice_users = [nu for nu in unarchived_notice_users if nu.twitter_username in existing_usernames] + processed_unarchived_notice_users = [nu for nu in unarchived_notice_users if nu.twitter_username.lower() in existing_usernames] utils.common.update_CS_JobState(processed_unarchived_notice_users, "CS_account_archived", CS_JobState.PROCESSED, self.db_session, self.log) - unprocessed_unarchived_notice_users = [nu for nu in unarchived_notice_users if nu.twitter_username not in existing_usernames] + unprocessed_unarchived_notice_users = [nu for nu in unarchived_notice_users if nu.twitter_username.lower() not in existing_usernames] utils.common.update_CS_JobState(unprocessed_unarchived_notice_users, "CS_account_archived", CS_JobState.IN_PROGRESS, self.db_session, self.log) (user_name_to_id, noticeuser_to_state) = self.archive_new_users(unprocessed_unarchived_notice_users) @@ -117,12 +117,34 @@ def query_and_archive_new_users(self): """ unarchived_notice_users: list of LumenNoticeToTwitterUser + archive_new_users makes sure that new users get a TwitterUser and TwitterUserSnapshot stored for them + currently, it is NOT responsible for updating existing TwitterUser objects + (archive_old_users is responsible for that, e.g. in the case that a user goes from found to not found) + however, it should make sure that it doesn't add duplicate entries for the same user + + + for username in unarchived_notice_users: + if user id found: + if user id not already stored: + store new TwitterUser, TwitterUserSnapshot + else: + do nothing + elif no user id (or user info) found: + if username not already stored (gives approx correct behavior): + store new TwitterUser, TwitterUserSnapshot + else: + do nothing + returns user_name_to_id = {name: id} noticeuser_to_state = {LumenNoticeToTwitterUser: CS_JobState} + + """ def archive_new_users(self, unarchived_notice_users): + + if len(unarchived_notice_users) == 0: return (None, None) @@ -142,7 +164,6 @@ def archive_new_users(self, unarchived_notice_users): left_users = unarchived_user_names # reference failed_users = set([]) - all_found_ids = set([]) # all ids returned by UsersLookup all_existing_ids = set([]) # all ids already stored in db for i in range(1,int(len(user_names)/batch_size)+2): @@ -166,7 +187,6 @@ def archive_new_users(self, unarchived_notice_users): users_json = [json.loads(json.dumps(user_info._json).encode("utf-8", "replace")) if type(user_info) is twitter.models.User else user_info for user_info in users_info] # to accomodate test fixture data this_found_ids = set([user_json["id"] for user_json in users_json]) - all_found_ids.update(this_found_ids) existing_ids = [uid[0] for uid in self.db_session.query(TwitterUser.id).filter(TwitterUser.id.in_(list(this_found_ids))).all()] all_existing_ids.update(existing_ids) @@ -225,6 +245,10 @@ def archive_new_users(self, unarchived_notice_users): added_users = 0 # at end, for left_users (users not found), commit to db + # first, remove left_users that already have a TwitterUser record (with the same screen_name) + left_existing_users = self.db_session.query(TwitterUser).filter(TwitterUser.screen_name.in_(list(left_users))).all() + left_users = left_users - set([u.screen_name for u in left_existing_users]) + for name in left_users: uid = utils.common.generate_not_found_twitter_user_id(name) user_name_to_id[name] = uid @@ -294,6 +318,9 @@ def is_user_suspended_or_deleted(self, username): ######################################################### """ + precondition: a TwitterUser and TwitterUserSnapshot must exist for + the user, for archive_old_user to run + for each user in twitterusersnapshot with too old most recent snapshot: user_state twitterusersnapshot record update twitteruser? @@ -301,7 +328,7 @@ def is_user_suspended_or_deleted(self, username): doesn't need to update any CS_JobState fields. """ - def query_and_archive_user_snapshots_and_tweets(self, min_time): + def query_and_archive_user_snapshots_and_tweets(self, min_time, is_test=False): need_snapshot_user_snapshots = self.db_session.query( TwitterUserSnapshot.twitter_user_id).group_by( TwitterUserSnapshot.twitter_user_id).having( @@ -320,7 +347,7 @@ def query_and_archive_user_snapshots_and_tweets(self, min_time): need_snapshot_id_to_all_user = {u.id: u for u in need_snapshot_users} need_snapshot_id_to_found_user = {uid: need_snapshot_id_to_all_user[uid] for uid in need_snapshot_id_to_all_user if utils.common.NOT_FOUND_TWITTER_USER_STR not in uid} self.archive_old_users(need_snapshot_id_to_found_user , has_ids=True) - need_snapshot_names_to_not_found_user = {need_snapshot_id_to_all_user[uid].screen_name: need_snapshot_id_to_all_user[uid] for uid in need_snapshot_id_to_all_user if utils.common.NOT_FOUND_TWITTER_USER_STR in uid} + need_snapshot_names_to_not_found_user = {need_snapshot_id_to_all_user[uid].screen_name.lower(): need_snapshot_id_to_all_user[uid] for uid in need_snapshot_id_to_all_user if utils.common.NOT_FOUND_TWITTER_USER_STR in uid} self.archive_old_users(need_snapshot_names_to_not_found_user, has_ids=False) # store new tweets for users with found id and CS_oldest_tweets_archived = PROCESSED @@ -328,9 +355,10 @@ def query_and_archive_user_snapshots_and_tweets(self, min_time): # in both cases, we will not find tweets) need_new_tweets_users = [u for u in need_snapshot_users if u.CS_oldest_tweets_archived == CS_JobState.PROCESSED.value and utils.common.NOT_FOUND_TWITTER_USER_STR not in u.id] self.log.info("Need to get new tweets for {0} users".format(len(need_new_tweets_users))) - self.with_user_records_archive_tweets(need_new_tweets_users) # TwitterUsers + self.with_user_records_archive_tweets(need_new_tweets_users, is_test) # TwitterUsers """ + key_to_users = {user id (if has_ids is True) OR username (if has_ids is False): TwitterUser} we send {id: TwitterUser} if the user has an actual twitter id (the user is FOUND or PROTECTED) @@ -340,10 +368,7 @@ def archive_old_users(self, key_to_users, has_ids=True): if len(key_to_users) <= 0: return None is_test = type(key_to_users) is not dict - user_keys = list(key_to_users.keys()) if not is_test else key_to_users # to accomodate tests.... - - if is_test: - key_to_users = {key: None for key in key_to_users} # to accomodate tests... + user_keys = list(key_to_users.keys()) batch_size = 100 # limit should be 100 # query batch_size at a time @@ -377,6 +402,7 @@ def archive_old_users(self, key_to_users, has_ids=True): users_json = [json.loads(json.dumps(user_info._json).encode("utf-8", "replace")) if type(user_info) is twitter.models.User else user_info for user_info in users_info] # to accomodate test fixture data for user_json in users_json: + uid = str(user_json["id"]) screen_name = user_json["screen_name"].lower() @@ -385,7 +411,7 @@ def archive_old_users(self, key_to_users, has_ids=True): now = datetime.datetime.utcnow() # get TwitterUser record - new_user_record_created = False + user = None if has_ids: user = key_to_users[uid] else: @@ -393,26 +419,19 @@ def archive_old_users(self, key_to_users, has_ids=True): # then screen_name hasn't changed. update the existing user record. user = key_to_users[screen_name] else: + # we don't expect to have called UsersLookup with some screen_names and get back + # any different screen_names + # if this did happen... # we wouldn't have called UsersLookup with screen_names unless we didn't have the ids (users not found) # if a previously not found user changed their screen name, AND their account got unsuspended, # such that we are able to get their account info now, we'd get an id we haven't seen before, and there is # NO WAY for us to match up these records. - # so we create a new record. - user = TwitterUser( - id = uid, - not_found_id = None, - screen_name = screen_name, - created_at = created_at, - record_created_at = now, - lang = user_json["lang"], - user_state = user_state.value, - CS_oldest_tweets_archived = CS_JobState.NOT_PROCESSED.value) - self.db_session.add(user_record) - new_user_record_created = True - + # so we would want to create a new record. + self.log.error("Unexpected screen_name change: {0} is not in key_to_users. key_to_users' keys (screen_names): {1}".format( + screen_name, key_to_users.keys())) try: - if not new_user_record_created: + if user: # update TwitterUser record user.id = uid user.screen_name = screen_name @@ -421,14 +440,14 @@ def archive_old_users(self, key_to_users, has_ids=True): user.lang = user_json["lang"] user.state = user_state.value - # create TwitterUserSnapshot record - user_snapshot_record = TwitterUserSnapshot( - twitter_user_id = uid, - twitter_not_found_id = user.not_found_id, # get from TwitterUser object - record_created_at = now, - user_state = user_state.value, - user_json = json.dumps(user_json)) #already encoded - self.db_session.add(user_snapshot_record) + # create TwitterUserSnapshot record + user_snapshot_record = TwitterUserSnapshot( + twitter_user_id = uid, + twitter_not_found_id = user.not_found_id, # get from TwitterUser object. don't expect to not find TwitterUser object + record_created_at = now, + user_state = user_state.value, + user_json = json.dumps(user_json)) #already encoded + self.db_session.add(user_snapshot_record) except: self.log.error("Error while updating TwitterUser, creating TwitterUserSnapshot object for user {0}".format(user_json["id"]), extra=sys.exc_info()[0]) @@ -459,7 +478,7 @@ def archive_old_users(self, key_to_users, has_ids=True): now = datetime.datetime.utcnow() # update TwitterUser record user.not_found_id = user.not_found_id if user.not_found_id else utils.common.generate_not_found_twitter_user_id(user.screen_name) - user.record_updated_at = now # TODO: fix this. models doesn't have this field right now + #user.record_updated_at = now # TODO: fix this. models doesn't have this field right now user.user_state = user_state.value # create TwitterUserSnapshot record @@ -486,7 +505,7 @@ def archive_old_users(self, key_to_users, has_ids=True): ################### ARCHIVE TWEET CODE ######################################################### - def query_and_archive_tweets(self, backfill=False): + def query_and_archive_tweets(self, backfill=False, is_test=False): if backfill: unarchived_users = self.db_session.query(TwitterUser).filter( TwitterUser.CS_oldest_tweets_archived != CS_JobState.PROCESSED.value).all() @@ -504,7 +523,7 @@ def query_and_archive_tweets(self, backfill=False): if limit > prev_limit: this_users = unarchived_users[prev_limit:limit] utils.common.update_CS_JobState(this_users, "CS_oldest_tweets_archived", CS_JobState.IN_PROGRESS, self.db_session, self.log) - user_to_state = self.with_user_records_archive_tweets(this_users, backfill=backfill) # backfill hacky + user_to_state = self.with_user_records_archive_tweets(this_users, backfill=backfill, is_test=is_test) # backfill hacky utils.common.update_all_CS_JobState(user_to_state, "CS_oldest_tweets_archived", self.db_session, self.log) prev_limit = limit @@ -515,13 +534,13 @@ def query_and_archive_tweets(self, backfill=False): returns user_to_state """ - def with_user_records_archive_tweets(self, user_records, backfill=False): + def with_user_records_archive_tweets(self, user_records, backfill=False, is_test=False): if len(user_records) == 0: return user_to_state = {} # only need for when CS_JobState.NOT_PROCESSED... for user in user_records: - job_state = self.archive_user_tweets(user, backfill=backfill) + job_state = self.archive_user_tweets(user, backfill=backfill, is_test=is_test) user_to_state[user] = job_state return user_to_state @@ -535,9 +554,11 @@ def get_statuses_user_state(self, user_id, count=200, max_id=None, user_state=Tw try: statuses = self.t.api.GetUserTimeline(user_id=user_id, count=count, max_id=max_id) except twitter.error.TwitterError as e: + self.log.info(e) # TODO: un-jankify this error handling/parsing code. might not get much better though if e.message == "Not authorized.": # Account is either protected or suspended + self.log.info(user_state is TwitterUserState.PROTECTED) if user_state is not TwitterUserState.PROTECTED: user_state = TwitterUserState.SUSPENDED elif e.message[0]['code'] == 34: # message = "Sorry, that page does not exist." @@ -555,7 +576,7 @@ def get_statuses_user_state(self, user_id, count=200, max_id=None, user_state=Tw given TwitterUser user, archive user tweets. also updates TwitterUser record if unexpected user state, by calling self.archive_old_users """ - def archive_user_tweets(self, user, backfill=False): + def archive_user_tweets(self, user, backfill=False, is_test=False): user_id = user.id if utils.common.NOT_FOUND_TWITTER_USER_STR in user_id or user.user_state is TwitterUserState.PROTECTED: @@ -585,7 +606,7 @@ def archive_user_tweets(self, user, backfill=False): while True: # get statuses and job_state from twitter API. don't use user_state - (statuses, user_state, sub_job_state) = self.get_statuses_user_state(user_id, count, oldest_id_queried, user_state=user.user_state, job_state=CS_JobState.FAILED) + (statuses, user_state, sub_job_state) = self.get_statuses_user_state(user_id, count, oldest_id_queried, user_state=TwitterUserState(user.user_state), job_state=CS_JobState.FAILED) if sub_job_state is not CS_JobState.PROCESSED: self.log.error("Unexpected error while calling api.GetUserTimeline on user_id {0}: sub_job_state is {1}".format(user_id, sub_job_state)) @@ -597,8 +618,14 @@ def archive_user_tweets(self, user, backfill=False): self.log.info("Queried total of {0} tweets for account {1}".format(len(statuses), user_id)) if user_state is not TwitterUserState.FOUND: - # thought we had a found user, turns out we don't. we should update our user records - self.archive_old_users(key_to_users={user_id:user}, has_ids=True) + if not is_test: + # thought we probably had a found user, turns out we don't. + # to be safe, we should try to update our user records, create new snapshot + self.archive_old_users(key_to_users={user_id:user}, has_ids=True) + else: + # if test, just update the user object here (since i don't want to mock out archive_old_users stuff...) + user.user_state = user_state.value + self.db_session.commit() break if len(statuses) == 0: diff --git a/tests/fixture_data/anon_lumen_notices_0.json b/tests/fixture_data/anon_lumen_notices_0.json new file mode 100644 index 0000000..d6b1308 --- /dev/null +++ b/tests/fixture_data/anon_lumen_notices_0.json @@ -0,0 +1 @@ +{"notices": [{"date_sent": null, "id": 16656231, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "svzmyto", "tags": [], "sender_name": "hdspgvngrhuralwjjyfaiisxfumn", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/atzhladiftoezhf/status/852988222137389058"}, {"url_original": null, "url": "https://t.co/kGA6kEjVSr"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-15T21:59:11.000Z"}, {"date_sent": null, "id": 94388974, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "edvzswc", "tags": [], "sender_name": "wzmcuijkw", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/ksznxnpyagr/status/725073537535479808"}, {"url_original": null, "url": "https://t.co/RclrCP43tF"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-15T19:53:33.000Z"}, {"date_sent": null, "id": 61586954, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "azmmido", "tags": [], "sender_name": "plcarnctivbzjm", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/hmzozrpojquui/status/852877864512966656"}, {"url_original": null, "url": "https://t.co/PLVakt0orP"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-12T19:52:20.000Z"}, {"date_sent": null, "id": 23648268, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "iagwxjb", "tags": [], "sender_name": "syvcnwppodusgokrjreltctgiwphjhsmgyl", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/xdbnbhkotpqmgk/status/852970600641384448"}, {"url_original": null, "url": "https://twitter.com/lazxqybabxh/status/825817401832923137"}, {"url_original": null, "url": "https://twitter.com/wreimhtrfylfttb/status/826038557026430976"}, {"url_original": null, "url": "https://t.co/Spw7fmvYLc"}, {"url_original": null, "url": "https://t.co/MPbS4ehu2N"}, {"url_original": null, "url": "https://t.co/d790du2o7R"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-12T19:50:58.000Z"}, {"date_sent": null, "id": 34088506, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "xpxhhzn", "tags": [], "sender_name": "easmjfjmhzcicioudfzcrptwjryqvmufdgb", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/wujhjuzasxcqmbv/status/852962549712773120"}, {"url_original": null, "url": "https://twitter.com/turungsfvbmks/status/849386261567680512"}, {"url_original": null, "url": "https://t.co/wpWJOm6y7x"}, {"url_original": null, "url": "https://t.co/vGFavPfYW8"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-12T19:20:42.000Z"}, {"date_sent": null, "id": 46150050, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "ogtwupq", "tags": [], "sender_name": "hxa", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/frblwtbksbkd/status/845623793057906690"}, {"url_original": null, "url": "https://t.co/LzUYQNEOWc"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-16T19:20:09.000Z"}, {"date_sent": null, "id": 88706017, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "casbzkp", "tags": [], "sender_name": "uue", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/geemicomtvst/status/845945455729029120"}, {"url_original": null, "url": "https://t.co/5edNziCjCH"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-12T19:19:40.000Z"}, {"date_sent": null, "id": 68867135, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "ryivuij", "tags": [], "sender_name": "ylepkajisn", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/czihooriwzaa/status/852961176258576387"}, {"url_original": null, "url": "https://twitter.com/qvsbhwyepgrlkxm/status/852957624026976256"}, {"url_original": null, "url": "https://twitter.com/wimgmg/status/852960895189889024"}, {"url_original": null, "url": "https://twitter.com/spkmuz/status/852961922161025025"}, {"url_original": null, "url": "https://twitter.com/vqymlinwblytwvv/status/852956711535210499"}, {"url_original": null, "url": "https://twitter.com/rlcqtjne/status/852962666503184384"}, {"url_original": null, "url": "https://twitter.com/xkhbh/status/852952965572952064"}, {"url_original": null, "url": "https://twitter.com/pnfoqhqqgzkq/status/852946469795618816"}, {"url_original": null, "url": "https://twitter.com/axedgzseljgrpiz/status/852959043274637312"}, {"url_original": null, "url": "https://twitter.com/ckgucxbfikta/status/852962783733977089"}, {"url_original": null, "url": "https://twitter.com/drrqwjsxy/status/852962199022817280"}, {"url_original": null, "url": "https://twitter.com/jwismxxoe/status/852956792158113794"}, {"url_original": null, "url": "https://t.co/vX4cB2cvf3"}, {"url_original": null, "url": "https://t.co/UyXGvOY6zN"}, {"url_original": null, "url": "https://t.co/P2bqfvSays"}, {"url_original": null, "url": "https://t.co/nnFd2Ta5Jm"}, {"url_original": null, "url": "https://t.co/lKqJAID0DE"}, {"url_original": null, "url": "https://t.co/lFawVum8fU"}, {"url_original": null, "url": "https://t.co/HtLXzLMs8d"}, {"url_original": null, "url": "https://t.co/E00IRKzlXl"}, {"url_original": null, "url": "https://t.co/DU5ibJujV1"}, {"url_original": null, "url": "https://t.co/bMEndvb0tG"}, {"url_original": null, "url": "https://t.co/aWSSZjUjga"}, {"url_original": null, "url": "https://t.co/adkF9jbYcT"}, {"url_original": null, "url": "https://t.co/9K36aSIWsJ"}, {"url_original": null, "url": "https://t.co/4RTg08zxs1"}, {"url_original": null, "url": "https://t.co/4jVxPwvt1l"}, {"url_original": null, "url": "https://t.co/3bRGXiBIad"}, {"url_original": null, "url": "https://t.co/ZauN6bCvui"}, {"url_original": null, "url": "https://t.co/nqGu6WNIk3"}, {"url_original": null, "url": "https://t.co/GQnkktwgpt"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-16T19:18:24.000Z"}, {"date_sent": null, "id": 13239013, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "jtumhvi", "tags": [], "sender_name": "rdovlluxxqhzstrrzermpncijcmjnfyey", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "http://twitter.com/yaqgbwkv/status/698227988672937984"}, {"url_original": null, "url": "http://twitter.com/eqsxuokl/status/702175324050690050"}, {"url_original": null, "url": "http://twitter.com/mozuqn/status/702548651151912960"}, {"url_original": null, "url": "http://twitter.com/orpjlxahtbu/status/704496060513660928"}, {"url_original": null, "url": "http://twitter.com/wirlfaqfby/status/849652757640355840"}, {"url_original": null, "url": "http://twitter.com/dbmdvizrmc/status/697081932304224256"}, {"url_original": null, "url": "http://twitter.com/tdotepqod/status/703481506921054208"}, {"url_original": null, "url": "http://twitter.com/asscsxqm/status/711141430727741440"}, {"url_original": null, "url": "https://t.co/vFLag2DSPl"}, {"url_original": null, "url": "https://t.co/uuGyZzvdAC."}, {"url_original": null, "url": "https://t.co/sSo70tyPfL"}, {"url_original": null, "url": "https://t.co/qNCYyflMbN"}, {"url_original": null, "url": "https://t.co/pM4R5hyo7x"}, {"url_original": null, "url": "https://t.co/HfYtT0Qhm3"}, {"url_original": null, "url": "https://t.co/czIaSu6pC8"}, {"url_original": null, "url": "https://t.co/b2mRstHqty"}, {"url_original": null, "url": "https://t.co/1Ftx5vUSfs"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-15T19:16:56.000Z"}, {"date_sent": null, "id": 38913900, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "nfkqnpg", "tags": [], "sender_name": "dtjoqpreljerazgwbkwqqiimzckljijlwhk", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/qdrdluwq/status/848253391914631168"}, {"url_original": null, "url": "https://t.co/SCfefmTF1O"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-12T19:10:40.000Z"}, {"date_sent": null, "id": 40756942, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "wkslxty", "tags": [], "sender_name": "vbpnvyiswp", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/tuztqolhy/status/852957664493654018"}, {"url_original": null, "url": "https://twitter.com/ihvcjgdzw/status/852957384020566017"}, {"url_original": null, "url": "https://twitter.com/nuifnfdr/status/852957156349546497"}, {"url_original": null, "url": "https://twitter.com/jexmocbtnehth/status/852955497561034752"}, {"url_original": null, "url": "https://twitter.com/fnqmfafcauzuq/status/852957848355053572"}, {"url_original": null, "url": "https://twitter.com/gmgrtla/status/852960552359997440"}, {"url_original": null, "url": "https://t.co/ZJ7Ov2oqUg"}, {"url_original": null, "url": "https://t.co/xn4xCD02oQ"}, {"url_original": null, "url": "https://t.co/vNHxo9fgNG"}, {"url_original": null, "url": "https://t.co/uc43oQ3q1K"}, {"url_original": null, "url": "https://t.co/iNdKsStaBH"}, {"url_original": null, "url": "https://t.co/igWHeUPJRO"}, {"url_original": null, "url": "https://t.co/b4NBRg78vS"}, {"url_original": null, "url": "https://twitter.com/ohjwsbqhmrzzgvb/status/852957624026976256"}, {"url_original": null, "url": "https://t.co/ZauN6bCvui"}, {"url_original": null, "url": "https://t.co/4RTg08zxs1"}, {"url_original": null, "url": "https://t.co/1vIlhj68jX"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-13T19:08:38.000Z"}, {"date_sent": null, "id": 19043495, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "shyezdb", "tags": [], "sender_name": "gafwkhdwllyxrxztemllnlnqrsjmnhjqx", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "http://twitter.com/qrcmelji/status/702192510219763712"}, {"url_original": null, "url": "http://twitter.com/fnmlxrqnlgsh/status/849631335971000320"}, {"url_original": null, "url": "http://twitter.com/tuwlodxvqvj/status/703580540889337856"}, {"url_original": null, "url": "http://twitter.com/olsxgpufkzphd/status/852564755122466816"}, {"url_original": null, "url": "http://twitter.com/jmobkjlatxtvkr/status/849617136754601984"}, {"url_original": null, "url": "http://twitter.com/puaiwrarhl/status/849992940587859968"}, {"url_original": null, "url": "http://twitter.com/hdtrlch/status/833245598438526976"}, {"url_original": null, "url": "http://twitter.com/rwyslnygocbz/status/702525706983469057"}, {"url_original": null, "url": "http://twitter.com/fdzgfztfwx/status/703299999275290624"}, {"url_original": null, "url": "http://twitter.com/rfkpxdfbc/status/697781471277408257"}, {"url_original": null, "url": "http://twitter.com/ofzklhmtj/status/702192728789164032"}, {"url_original": null, "url": "http://twitter.com/munqxdc/status/850003359687901184"}, {"url_original": null, "url": "http://twitter.com/bmpoohv/status/849277634148270081"}, {"url_original": null, "url": "http://twitter.com/nkcvpqqocb/status/697755127189499904"}, {"url_original": null, "url": "http://twitter.com/oiodqbakfask/status/837730569010151424"}, {"url_original": null, "url": "http://twitter.com/xbxpfemwmewq/status/837698517829320704"}, {"url_original": null, "url": "http://twitter.com/yuxyewmdgfbahd/status/702192176554442752"}, {"url_original": null, "url": "http://twitter.com/qtocturthjn/status/852171617035800576"}, {"url_original": null, "url": "http://twitter.com/lopgulznk/status/850715240052477952"}, {"url_original": null, "url": "http://twitter.com/esviyasi/status/849976337435578369"}, {"url_original": null, "url": "https://t.co/zrPnQ61RmB"}, {"url_original": null, "url": "https://t.co/ZOLR2kP8Zp"}, {"url_original": null, "url": "https://t.co/yVtUkg9W9K"}, {"url_original": null, "url": "https://t.co/Y7izWRt5TG"}, {"url_original": null, "url": "https://t.co/vlLO3rFSyV"}, {"url_original": null, "url": "https://t.co/V5QVKJMcnA"}, {"url_original": null, "url": "https://t.co/u37GEyOvKb"}, {"url_original": null, "url": "https://t.co/rdcWlb4cmZ"}, {"url_original": null, "url": "https://t.co/P4eVWRHJDG"}, {"url_original": null, "url": "https://t.co/o1SI0aj4y9"}, {"url_original": null, "url": "https://t.co/M5x7kq76zn"}, {"url_original": null, "url": "https://t.co/KVxmVrLD8X"}, {"url_original": null, "url": "https://t.co/HyCqVPgWy1"}, {"url_original": null, "url": "https://t.co/hVAV4BtVo3"}, {"url_original": null, "url": "https://t.co/h3MdVa5YtS"}, {"url_original": null, "url": "https://t.co/gqIcTcg2Yh"}, {"url_original": null, "url": "https://t.co/G9OmxLaahT"}, {"url_original": null, "url": "https://t.co/fPSUS0sdxy"}, {"url_original": null, "url": "https://t.co/bvNx9wn27m"}, {"url_original": null, "url": "https://t.co/8uAXceJvco"}, {"url_original": null, "url": "https://t.co/11Ao0RTxfs"}, {"url_original": null, "url": "https://t.co/xY7eGJX5Kn"}, {"url_original": null, "url": "https://t.co/db4XwDZcYH"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-14T19:07:54.000Z"}, {"date_sent": null, "id": 35830670, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "ffopoon", "tags": [], "sender_name": "bgu", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/snixhmpopssh/status/850195372647436289"}, {"url_original": null, "url": "https://t.co/ezSc10QJGL"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-14T19:06:53.000Z"}, {"date_sent": null, "id": 98225935, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "luxvvmv", "tags": [], "sender_name": "tsh", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/vbntbingndat/status/851336503212949504"}, {"url_original": null, "url": "https://t.co/bouPCStk9F"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-13T19:06:46.000Z"}, {"date_sent": null, "id": 96373591, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "upowqyr", "tags": [], "sender_name": "ite", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/kkmiunzqpaxh/status/852896025773658112"}, {"url_original": null, "url": "https://t.co/phyeVlUlBZ"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-12T19:06:46.000Z"}, {"date_sent": null, "id": 94355901, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "wvemajy", "tags": [], "sender_name": "bsw", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/evxxvsldzyza/status/852900106638512129"}, {"url_original": null, "url": "https://t.co/h2WBzt6Ruk"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-15T19:06:20.000Z"}, {"date_sent": null, "id": 64383798, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "kzzvvcd", "tags": [], "sender_name": "iil", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/ycspozlfhpbl/status/852901778479751170"}, {"url_original": null, "url": "https://t.co/ESFZc9ktJr"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-14T19:06:24.000Z"}, {"date_sent": null, "id": 16796640, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "izlmsjq", "tags": [], "sender_name": "rwutzhwlrtytyoilkxrhsrnrllygzoiajtg", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/imgsouaafw/status/852268915505991680"}, {"url_original": null, "url": "https://twitter.com/ckooceqeox/status/848255148434575360"}, {"url_original": null, "url": "https://twitter.com/rushnskmpd/status/837417093935087616"}, {"url_original": null, "url": "https://twitter.com/etdnykimxhfx/status/848254510032146433"}, {"url_original": null, "url": "https://twitter.com/umsbxhrdpfi/status/848928639920087046"}, {"url_original": null, "url": "https://twitter.com/iqzqaxiurzeac/status/848254104858234885"}, {"url_original": null, "url": "https://twitter.com/biuctaphkwrf/status/848257619479453698"}, {"url_original": null, "url": "https://twitter.com/dpbltspw/status/848259115252162561"}, {"url_original": null, "url": "https://twitter.com/izoccuthfmlmu/status/840985732676120576"}, {"url_original": null, "url": "https://t.co/z1MFzoKgTj"}, {"url_original": null, "url": "https://t.co/uxIMPdjMRX"}, {"url_original": null, "url": "https://t.co/OroBwRpmYO"}, {"url_original": null, "url": "https://t.co/kGXUx8lQ2h"}, {"url_original": null, "url": "https://t.co/hMinOVBuP6"}, {"url_original": null, "url": "https://t.co/bBetRbcFgx"}, {"url_original": null, "url": "https://t.co/9Q8uN6b5j4"}, {"url_original": null, "url": "https://t.co/38oIxHupPb"}, {"url_original": null, "url": "https://t.co/0C3vPq3CoZ"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-14T19:00:40.000Z"}, {"date_sent": null, "id": 56065422, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "cmgzhpf", "tags": [], "sender_name": "bqa", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/fhypfvgvpcsn/status/852906700294115328"}, {"url_original": null, "url": "https://t.co/hR7M3aGH19"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-15T18:57:24.000Z"}, {"date_sent": null, "id": 49205675, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "byljvir", "tags": [], "sender_name": "hqbtutqrgc", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/qaejupkgbcpooty/status/852956171891871746"}, {"url_original": null, "url": "https://twitter.com/wbdbid/status/852953572149006338"}, {"url_original": null, "url": "https://twitter.com/cdkulkrjjkzvegg/status/852956187003957248"}, {"url_original": null, "url": "https://twitter.com/lrjjjappnvih/status/852956133652389888"}, {"url_original": null, "url": "https://twitter.com/hwuzxwqyvipygqc/status/852956370542440448"}, {"url_original": null, "url": "https://twitter.com/tuhzvhjza/status/852954196982849538"}, {"url_original": null, "url": "https://twitter.com/vytnjhjaeud/status/852956165533249536"}, {"url_original": null, "url": "https://twitter.com/kmzmixsocqg/status/852950965565218816"}, {"url_original": null, "url": "https://twitter.com/qswuumpjepn/status/852948476036087808"}, {"url_original": null, "url": "https://twitter.com/efcnlwrkkpl/status/852946259396702208"}, {"url_original": null, "url": "https://twitter.com/jpquzryywrr/status/852943183998791680"}, {"url_original": null, "url": "https://twitter.com/azpmwmhhzwx/status/852940791433625600"}, {"url_original": null, "url": "https://twitter.com/ditvjxjpcvc/status/852936757574336512"}, {"url_original": null, "url": "https://twitter.com/xeziucbx/status/852951241873395712"}, {"url_original": null, "url": "https://twitter.com/ghrmygb/status/852951277025845249"}, {"url_original": null, "url": "https://twitter.com/mjvmjxc/status/852947802187608066"}, {"url_original": null, "url": "https://t.co/zcRmmHDJYG"}, {"url_original": null, "url": "https://t.co/XzazKotvHr"}, {"url_original": null, "url": "https://t.co/SbdLaLmHEH"}, {"url_original": null, "url": "https://t.co/QuW6eU52dY"}, {"url_original": null, "url": "https://t.co/QUaV9duRQp"}, {"url_original": null, "url": "https://t.co/MfzjMpiPXf"}, {"url_original": null, "url": "https://t.co/KgY4zvHyxO"}, {"url_original": null, "url": "https://t.co/IyCVY2isvA"}, {"url_original": null, "url": "https://t.co/IQ2dqPHdjY"}, {"url_original": null, "url": "https://t.co/9Ucewfrc36"}, {"url_original": null, "url": "https://t.co/5MlunCQofA"}, {"url_original": null, "url": "https://t.co/3MjUasu54K"}, {"url_original": null, "url": "https://t.co/1Gc1T4xk7b"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-16T18:54:05.000Z"}, {"date_sent": null, "id": 33343357, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "vdcqdsh", "tags": [], "sender_name": "cez", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/nautcghfvbqurt/status/847706330383040512"}, {"url_original": null, "url": "https://twitter.com/pmxpwcqengrb/status/847706353569157120"}, {"url_original": null, "url": "https://twitter.com/erlbwka/status/847796427807969280"}, {"url_original": null, "url": "https://twitter.com/dgletns/status/847792373866409984"}, {"url_original": null, "url": "https://twitter.com/goywrfrgxtnkn/status/847706343255425029"}, {"url_original": null, "url": "https://twitter.com/pbbmffkdfems/status/848039765043576832"}, {"url_original": null, "url": "https://twitter.com/irimhxrp/status/850564012664381440"}, {"url_original": null, "url": "https://t.co/ZPyw3LiDsi"}, {"url_original": null, "url": "https://t.co/zlKb2mGeUD"}, {"url_original": null, "url": "https://t.co/Yju0rHZZii"}, {"url_original": null, "url": "https://t.co/UNDT59Tvu0"}, {"url_original": null, "url": "https://t.co/syN6F6DFNJ"}, {"url_original": null, "url": "https://t.co/K6VgI1cNFi"}, {"url_original": null, "url": "https://t.co/iUPvIQpuPv"}, {"url_original": null, "url": "https://t.co/IHWkQqa4sD"}, {"url_original": null, "url": "https://t.co/iDa1PRhVAA"}, {"url_original": null, "url": "https://t.co/D0MNsN1dUa"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-14T18:48:39.000Z"}, {"date_sent": null, "id": 68050775, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "tcnqfpy", "tags": [], "sender_name": "eyuhkm", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/hcoohjhhxicmxh/status/845775533606625280"}, {"url_original": null, "url": "https://t.co/fW0Y1R7jF8"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-16T18:46:24.000Z"}, {"date_sent": null, "id": 61409918, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "xgphtdy", "tags": [], "sender_name": "vmjjbqfeon", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/kufkmqxhxzq/status/852951820259528704"}, {"url_original": null, "url": "https://twitter.com/ciuwrwyqvwgemlw/status/852951780883353600"}, {"url_original": null, "url": "https://twitter.com/qdfvkhcola/status/852952619475771392"}, {"url_original": null, "url": "https://twitter.com/zxdfpsq/status/852951405707108352"}, {"url_original": null, "url": "https://twitter.com/kpfhurv/status/852951233442828288"}, {"url_original": null, "url": "https://twitter.com/wernqypx/status/852951227252002816"}, {"url_original": null, "url": "https://twitter.com/ykfpzz/status/852951060297785344"}, {"url_original": null, "url": "https://twitter.com/ybmckvaspmuow/status/852952015986733060"}, {"url_original": null, "url": "https://twitter.com/xlntkwuywnhk/status/852952587355795456"}, {"url_original": null, "url": "https://twitter.com/vyoporccqszv/status/852952863928180736"}, {"url_original": null, "url": "https://t.co/ZauN6bCvui"}, {"url_original": null, "url": "https://t.co/RCFp8TMpAg"}, {"url_original": null, "url": "https://t.co/Oqjr7678Mt"}, {"url_original": null, "url": "https://t.co/ODs24Pr0WP"}, {"url_original": null, "url": "https://t.co/NRaq8d2IB9"}, {"url_original": null, "url": "https://t.co/IE3A7Z5WGb"}, {"url_original": null, "url": "https://t.co/HYSn5Ujdfh"}, {"url_original": null, "url": "https://t.co/GHfQZCcZHH"}, {"url_original": null, "url": "https://t.co/ECm79GbpTl"}, {"url_original": null, "url": "https://t.co/B4TQsEzoMN"}, {"url_original": null, "url": "https://t.co/AxQNSdX7FY"}, {"url_original": null, "url": "https://t.co/5ke4fB1YsS"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-12T18:36:25.000Z"}, {"date_sent": null, "id": 45737805, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "ruhxhdn", "tags": [], "sender_name": "hxondqfhwo", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/cqbzajb/status/852949137507135493"}, {"url_original": null, "url": "https://twitter.com/swmnyhe/status/852949079948742658"}, {"url_original": null, "url": "https://twitter.com/hkrkjbs/status/852948606730600449"}, {"url_original": null, "url": "https://twitter.com/pafnfsk/status/852948293458034690"}, {"url_original": null, "url": "https://twitter.com/ohwnrlp/status/852948072946700288"}, {"url_original": null, "url": "https://twitter.com/gdnrjqj/status/852940722550566912"}, {"url_original": null, "url": "https://twitter.com/vhqewyk/status/852937818489966592"}, {"url_original": null, "url": "https://twitter.com/vfkpyxx/status/852585427135598592"}, {"url_original": null, "url": "https://twitter.com/onrvujgdpdlps/status/852947042108309505"}, {"url_original": null, "url": "https://twitter.com/lfgeflbemxibj/status/852941534320353283"}, {"url_original": null, "url": "https://twitter.com/fgcyugmevvqve/status/852937126249463808"}, {"url_original": null, "url": "https://twitter.com/dunmnfcsmwdeavg/status/852948856711114752"}, {"url_original": null, "url": "https://twitter.com/xmuxxvrugvxaq/status/852945650052366337"}, {"url_original": null, "url": "https://twitter.com/acpzrefdmlzm/status/852943385019260928"}, {"url_original": null, "url": "https://twitter.com/dhiyhfkh/status/852950461791469569"}, {"url_original": null, "url": "https://t.co/zJgI6HoS4G"}, {"url_original": null, "url": "https://t.co/Y82IFUMHUl"}, {"url_original": null, "url": "https://t.co/XLK4j4e9qC"}, {"url_original": null, "url": "https://t.co/wN4MZWqmSn"}, {"url_original": null, "url": "https://t.co/TscOe4vpnT"}, {"url_original": null, "url": "https://t.co/SH8MLz7yD7"}, {"url_original": null, "url": "https://t.co/sFme7Co95h"}, {"url_original": null, "url": "https://t.co/RxPEKtk9By"}, {"url_original": null, "url": "https://t.co/r4SLkcTppi"}, {"url_original": null, "url": "https://t.co/qlZOgyDaPc"}, {"url_original": null, "url": "https://t.co/Qh4JAoOiSr"}, {"url_original": null, "url": "https://t.co/MwYwjXe1qd"}, {"url_original": null, "url": "https://t.co/iq2ptM8vuf"}, {"url_original": null, "url": "https://t.co/ikVDDYRP8u"}, {"url_original": null, "url": "https://t.co/AX7D2XV08B"}, {"url_original": null, "url": "https://t.co/8gmF1G2tn2"}, {"url_original": null, "url": "https://t.co/1vIlhj68jX"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-15T18:27:55.000Z"}, {"date_sent": null, "id": 59325018, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "wjyxgjy", "tags": [], "sender_name": "bseiiyqfvc", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/hcoymzttul/status/852941649504333825"}, {"url_original": null, "url": "https://twitter.com/ncbcxgmwjxnn/status/852939085551460352"}, {"url_original": null, "url": "https://twitter.com/iypkqjhzlypdvwi/status/852942229589164032"}, {"url_original": null, "url": "https://twitter.com/fipdqsulhemdpey/status/852942464554020864"}, {"url_original": null, "url": "https://twitter.com/wtshiaoohgnsun/status/852932528117862400"}, {"url_original": null, "url": "https://twitter.com/ulwqgspd/status/852942353321140224"}, {"url_original": null, "url": "https://twitter.com/fyrbnn/status/852941906044751872"}, {"url_original": null, "url": "https://twitter.com/snkdngckycwmkgm/status/852943338454102016"}, {"url_original": null, "url": "https://twitter.com/lijbbkzb/status/852942396270751746"}, {"url_original": null, "url": "https://twitter.com/stbaztsetxxjmxu/status/852942439933411330"}, {"url_original": null, "url": "https://twitter.com/azasnhnjoczajx/status/852940748551065600"}, {"url_original": null, "url": "https://twitter.com/tkgjzbrpxglvldy/status/852943322721259520"}, {"url_original": null, "url": "https://twitter.com/ktydeloilqebbpj/status/852941899006709760"}, {"url_original": null, "url": "https://twitter.com/wfwjjpxtowop/status/852942462213664768"}, {"url_original": null, "url": "https://twitter.com/uiqdcdyecvt/status/852941906422235136"}, {"url_original": null, "url": "https://twitter.com/ageiyardlvon/status/852942174782189568"}, {"url_original": null, "url": "https://twitter.com/ahooqfwvchcev/status/852942294315659264"}, {"url_original": null, "url": "https://twitter.com/puoonqwcy/status/852944493410230272"}, {"url_original": null, "url": "https://twitter.com/mncerm/status/852943625201876994"}, {"url_original": null, "url": "https://twitter.com/kpazvjrvh/status/852944507209486337"}, {"url_original": null, "url": "https://t.co/ZU1eisgVR1"}, {"url_original": null, "url": "https://t.co/YW7EyBwTjk"}, {"url_original": null, "url": "https://t.co/yoW1ru99IY"}, {"url_original": null, "url": "https://t.co/Yb56MtCYPi"}, {"url_original": null, "url": "https://t.co/XuuCpxZIxU"}, {"url_original": null, "url": "https://t.co/x6J8ZWL0Gh"}, {"url_original": null, "url": "https://t.co/VVKoJUpuds"}, {"url_original": null, "url": "https://t.co/vd6IbNvLgC"}, {"url_original": null, "url": "https://t.co/uMEXfRypt0"}, {"url_original": null, "url": "https://t.co/tDbttrXJd7"}, {"url_original": null, "url": "https://t.co/sqNW8ycU6t"}, {"url_original": null, "url": "https://t.co/S0IqlxmAYR"}, {"url_original": null, "url": "https://t.co/LZXIpoEPLa"}, {"url_original": null, "url": "https://t.co/Kk3YMxIfAE"}, {"url_original": null, "url": "https://t.co/JKPcTviS7w"}, {"url_original": null, "url": "https://t.co/JB4y6CbgNl"}, {"url_original": null, "url": "https://t.co/iE95Y9KGOL"}, {"url_original": null, "url": "https://t.co/i5dkBildiD"}, {"url_original": null, "url": "https://t.co/gMo3I4jXyM"}, {"url_original": null, "url": "https://t.co/foeThUW6Bi"}, {"url_original": null, "url": "https://t.co/FLlNdI768J"}, {"url_original": null, "url": "https://t.co/F1mlDHnDRU"}, {"url_original": null, "url": "https://t.co/DVz8dsznks"}, {"url_original": null, "url": "https://t.co/dveSW5vxOv"}, {"url_original": null, "url": "https://t.co/DqFkc6AJa5"}, {"url_original": null, "url": "https://t.co/dMlZB5VWPr"}, {"url_original": null, "url": "https://t.co/bWUDFwwD8l"}, {"url_original": null, "url": "https://t.co/9Knl5Yiw7s"}, {"url_original": null, "url": "https://t.co/4wV7wIvcbw"}, {"url_original": null, "url": "https://t.co/1ZwquJMOvv"}, {"url_original": null, "url": "https://t.co/XuTLIZ42s9"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-13T18:02:45.000Z"}, {"date_sent": null, "id": 26378876, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "piosyga", "tags": [], "sender_name": "grbdqpkuro", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/lmkuwqdqay/status/852941963649310720"}, {"url_original": null, "url": "https://twitter.com/peycinjnxz/status/852940200636542976"}, {"url_original": null, "url": "https://twitter.com/jsshssrq/status/852943791816355842"}, {"url_original": null, "url": "https://twitter.com/mlrpcrcn/status/852942322614640640"}, {"url_original": null, "url": "https://twitter.com/czshcruzd/status/852937157866082307"}, {"url_original": null, "url": "https://twitter.com/bxhvtsmze/status/852928625162809344"}, {"url_original": null, "url": "https://twitter.com/zyhdzvncxrudb/status/852943165124476932"}, {"url_original": null, "url": "https://t.co/Zn21MjOjY2"}, {"url_original": null, "url": "https://t.co/ylXiESplf2"}, {"url_original": null, "url": "https://t.co/pBpmlQNPiI"}, {"url_original": null, "url": "https://t.co/N0kqyuZw0y"}, {"url_original": null, "url": "https://t.co/lSfiDUpU19"}, {"url_original": null, "url": "https://t.co/ksxneyBUp6"}, {"url_original": null, "url": "https://t.co/iu8QutOPfv"}, {"url_original": null, "url": "https://t.co/FJYPX90dHA"}, {"url_original": null, "url": "https://t.co/aBNNLnA2aQ"}, {"url_original": null, "url": "https://t.co/7KeiIAMVV8"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-14T18:00:12.000Z"}, {"date_sent": null, "id": 87167951, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "ncfwofs", "tags": [], "sender_name": "bwoqoypq", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "http://t.co/ZL7xQB7byq"}, {"url_original": null, "url": "http://t.co/ovknwnrtEq"}, {"url_original": null, "url": "https://twitter.com/fxuhetawitfjrvg/status/570186642549579776"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-14T17:54:19.000Z"}, {"date_sent": null, "id": 69823869, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "nwardns", "tags": [], "sender_name": "njstptbfpt", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/duokjgdvwuiaxmg/status/852939504113549312"}, {"url_original": null, "url": "https://twitter.com/ccfaulvi/status/852939484710809603"}, {"url_original": null, "url": "https://twitter.com/cmehqwmeduq/status/852938298431504384"}, {"url_original": null, "url": "https://twitter.com/fdythftnsmwr/status/852938263618867200"}, {"url_original": null, "url": "https://twitter.com/vjrbposofttf/status/852935082914570242"}, {"url_original": null, "url": "https://twitter.com/lowscgekixkn/status/852921107648827392"}, {"url_original": null, "url": "https://twitter.com/ngwwqjgvdkju/status/852578138177646593"}, {"url_original": null, "url": "https://twitter.com/kexgrvnkkkpbeud/status/852938263996321792"}, {"url_original": null, "url": "https://twitter.com/yaxnmugnxqsuecs/status/852938755036110848"}, {"url_original": null, "url": "https://twitter.com/zufuucxpwyms/status/852937642945769473"}, {"url_original": null, "url": "https://twitter.com/ydwetkobya/status/852938268144435200"}, {"url_original": null, "url": "https://t.co/z70QwRt7dD"}, {"url_original": null, "url": "https://t.co/XuTLIZ42s9"}, {"url_original": null, "url": "https://t.co/x6xrB7jR5O"}, {"url_original": null, "url": "https://t.co/PSLiYz9rVl"}, {"url_original": null, "url": "https://t.co/PdxAMOSZlm"}, {"url_original": null, "url": "https://t.co/nTfuy3fLBu"}, {"url_original": null, "url": "https://t.co/nqGu6WNIk3"}, {"url_original": null, "url": "https://t.co/mhsK80pNAM"}, {"url_original": null, "url": "https://t.co/KmRh5D9n1F"}, {"url_original": null, "url": "https://t.co/HoTmgwqsDN"}, {"url_original": null, "url": "https://t.co/GQnkktwgpt"}, {"url_original": null, "url": "https://t.co/dAiIkq13Ep"}, {"url_original": null, "url": "https://t.co/bVURfDOpcl"}, {"url_original": null, "url": "https://t.co/bCPW4yz814"}, {"url_original": null, "url": "https://t.co/aKnu2KqRjk"}, {"url_original": null, "url": "https://t.co/AiUL2Gi2WJ"}, {"url_original": null, "url": "https://t.co/97xuD2Noxd"}, {"url_original": null, "url": "https://t.co/3bXHk9nqIN"}, {"url_original": null, "url": "https://t.co/2KZmEnNaB5"}, {"url_original": null, "url": "https://t.co/BuQzowE0Y4"}, {"url_original": null, "url": "https://t.co/b3CTn60ZuC"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-14T17:46:12.000Z"}, {"date_sent": null, "id": 94719995, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "nuwceui", "tags": [], "sender_name": "qzcxgoeiurs", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/usyerxgcrsbf"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-15T17:30:29.000Z"}, {"date_sent": null, "id": 86557228, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "zrcfcmp", "tags": [], "sender_name": "zmgztdcqnv", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/fjsaukri/status/852914774983704576"}, {"url_original": null, "url": "https://twitter.com/fjddpcoq/status/852925546451357697"}, {"url_original": null, "url": "https://twitter.com/hfubxjwc/status/852924112972505089"}, {"url_original": null, "url": "https://twitter.com/coocuzlb/status/852921565222195200"}, {"url_original": null, "url": "https://twitter.com/lwotiqaa/status/852920380373303296"}, {"url_original": null, "url": "https://twitter.com/nlcxswmp/status/852919060983676934"}, {"url_original": null, "url": "https://twitter.com/yopawrzcu/status/852915194103726084"}, {"url_original": null, "url": "https://twitter.com/flwfumefw/status/852914044944097280"}, {"url_original": null, "url": "https://twitter.com/ugumrmq/status/852931606209855491"}, {"url_original": null, "url": "https://twitter.com/xcqmuid/status/852921570884562946"}, {"url_original": null, "url": "https://twitter.com/pyndbrb/status/852920387025371138"}, {"url_original": null, "url": "https://twitter.com/silfict/status/852919066692128768"}, {"url_original": null, "url": "https://twitter.com/vnpate/status/852927952312573953"}, {"url_original": null, "url": "https://t.co/r7rGp9UlYK"}, {"url_original": null, "url": "https://t.co/R6twMZ89QQ"}, {"url_original": null, "url": "https://t.co/qooAIjyPAx"}, {"url_original": null, "url": "https://t.co/or5ep4PwJ1"}, {"url_original": null, "url": "https://t.co/kWdAMAQIW4"}, {"url_original": null, "url": "https://t.co/g7RZEfGevL"}, {"url_original": null, "url": "https://t.co/eBtpjpqZET"}, {"url_original": null, "url": "https://t.co/dGTPeyghgV"}, {"url_original": null, "url": "https://t.co/BVnHIvhN2w"}, {"url_original": null, "url": "https://t.co/6VQBjizh79"}, {"url_original": null, "url": "https://t.co/6Jqt6lZ339"}, {"url_original": null, "url": "https://t.co/5J7iTBmOaN"}, {"url_original": null, "url": "https://t.co/4wcIdHhl0o"}, {"url_original": null, "url": "https://t.co/1oRrtAkJHi"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-15T17:17:59.000Z"}, {"date_sent": null, "id": 20760271, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "yupncsk", "tags": [], "sender_name": "zwpgepb", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/nnwnvndxatx/status/852897156033892353"}, {"url_original": null, "url": "https://t.co/tPO5o270Nb"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-15T17:14:37.000Z"}, {"date_sent": null, "id": 43051093, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "gagnkuf", "tags": [], "sender_name": "wgikxlqkhfnpepjjjtrzfozuadcpteivvynxmjpbljkjqrigvztlqf", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/xuelmrnrccwiqyt/status/835871182746353666"}, {"url_original": null, "url": "https://twitter.com/fkfyjybiueibar/status/852747102828380160"}, {"url_original": null, "url": "https://twitter.com/clzcmxwb/status/851949944252633088"}, {"url_original": null, "url": "https://twitter.com/qbndjbgbzloa/status/779122058793934848"}, {"url_original": null, "url": "https://twitter.com/nvfjprqggyuv/status/848764850331365377"}, {"url_original": null, "url": "https://twitter.com/iqpxjjbvjpxdu/status/852383228073836544"}, {"url_original": null, "url": "https://t.co/zH5Ub1W7Kw"}, {"url_original": null, "url": "https://t.co/t9oYpObQNz"}, {"url_original": null, "url": "https://t.co/K4eeMKm631"}, {"url_original": null, "url": "https://t.co/hDvarakRV6"}, {"url_original": null, "url": "https://t.co/a3iUtA6ZR8"}, {"url_original": null, "url": "https://t.co/8RPGAnGV7k"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-12T17:05:29.000Z"}, {"date_sent": null, "id": 91899, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "axfojfu", "tags": [], "sender_name": "qxitqoqvtvnhmqaewowfumaabnifdzdyvfvkrtwiethrsgtopmbjcb", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/asdbiavyx/status/852230498772537347"}, {"url_original": null, "url": "https://twitter.com/fuiaqsmzdu/status/822424747493376005"}, {"url_original": null, "url": "https://twitter.com/vhhaabsawy/status/813539045649350657"}, {"url_original": null, "url": "https://twitter.com/pkzkmkzsz/status/851568609503608833"}, {"url_original": null, "url": "https://twitter.com/aqkpcopz/status/823743614765273088"}, {"url_original": null, "url": "https://twitter.com/mrxquvg/status/852124230183522304"}, {"url_original": null, "url": "https://twitter.com/nrzxpjb/status/852331561299173376"}, {"url_original": null, "url": "https://twitter.com/bmscaoxhl/status/852390699991531520"}, {"url_original": null, "url": "https://twitter.com/uuoqdpuwwfrt/status/852064503198076928"}, {"url_original": null, "url": "https://twitter.com/hddjqr/status/852045024187400192"}, {"url_original": null, "url": "https://twitter.com/bhiklpybaj/status/852464982100918272"}, {"url_original": null, "url": "https://twitter.com/rltfxshfnumil/status/852743232404336640"}, {"url_original": null, "url": "https://twitter.com/baugafod/status/852722872732631040"}, {"url_original": null, "url": "https://twitter.com/plriesulrmg/status/852754919152959488"}, {"url_original": null, "url": "https://twitter.com/ywduqawqqhaopo/status/852224861594427392"}, {"url_original": null, "url": "https://twitter.com/gtgxjtut/status/851448362125709312"}, {"url_original": null, "url": "https://twitter.com/pihpkercuwo/status/852316741745090560"}, {"url_original": null, "url": "https://twitter.com/czpixdxurep/status/851840876406034434"}, {"url_original": null, "url": "https://twitter.com/ikqechobzzz/status/852077215424667650"}, {"url_original": null, "url": "https://twitter.com/syxnyctw/status/846317342468390912"}, {"url_original": null, "url": "https://t.co/ZfQnzHmclx"}, {"url_original": null, "url": "https://t.co/VbSUJMP1Z4"}, {"url_original": null, "url": "https://t.co/SrxfC7QVbE"}, {"url_original": null, "url": "https://t.co/S5Sgh1s1GO"}, {"url_original": null, "url": "https://t.co/QiaFSQlTe4"}, {"url_original": null, "url": "https://t.co/PE8gtOUZoh"}, {"url_original": null, "url": "https://t.co/nipqDyhhRJ"}, {"url_original": null, "url": "https://t.co/L6Sl2T132m"}, {"url_original": null, "url": "https://t.co/J6aw4l3odr"}, {"url_original": null, "url": "https://t.co/i3xlGNxBGn"}, {"url_original": null, "url": "https://t.co/Gf3IZWyosL"}, {"url_original": null, "url": "https://t.co/GAVAWoUc5o"}, {"url_original": null, "url": "https://t.co/FUpbfDypzB"}, {"url_original": null, "url": "https://t.co/cRtKrokWLy"}, {"url_original": null, "url": "https://t.co/AEIzKbjW9l"}, {"url_original": null, "url": "https://t.co/6OC9YPFEIz"}, {"url_original": null, "url": "https://t.co/4XeOCN1U8g"}, {"url_original": null, "url": "https://t.co/3fXIx6oZjq"}, {"url_original": null, "url": "https://t.co/3ekcFuSAOk"}, {"url_original": null, "url": "https://t.co/1kkQ6nYkgz"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-15T17:04:01.000Z"}, {"date_sent": null, "id": 21229568, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "umxeyil", "tags": [], "sender_name": "gkgsxmrjvwhykgwndspsafnvnhlwajsdhvphppwslpsoyudgbqtofj", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/yofhyzxahqgiguw/status/844537197743128582"}, {"url_original": null, "url": "https://twitter.com/twhgtsjzheuv/status/844532544225751041"}, {"url_original": null, "url": "https://twitter.com/bcsvjgdvxhas/status/772770662951813120"}, {"url_original": null, "url": "https://twitter.com/buioqpjenzgye/status/852465884778160128"}, {"url_original": null, "url": "https://twitter.com/unswhhjslupj/status/851888343436713985"}, {"url_original": null, "url": "https://twitter.com/xifzokhre/status/847094188017500162"}, {"url_original": null, "url": "https://twitter.com/mclrxnfn/status/822377718725521409"}, {"url_original": null, "url": "https://twitter.com/gpnyhtia/status/843354687172620288"}, {"url_original": null, "url": "https://twitter.com/gcafnpxtwtyr/status/851513415721943041"}, {"url_original": null, "url": "https://twitter.com/okykyherdh/status/681469316559155200"}, {"url_original": null, "url": "https://twitter.com/ytyxdfhoo/status/852339888280051712"}, {"url_original": null, "url": "https://twitter.com/sfadkxaxj/status/852712374737936384"}, {"url_original": null, "url": "https://twitter.com/hzkxfcuxxoe/status/852388589404958720"}, {"url_original": null, "url": "https://twitter.com/dlbxqsasfzj/status/826817278922600448"}, {"url_original": null, "url": "https://twitter.com/jomymhkcxaj/status/829603877603282944"}, {"url_original": null, "url": "https://twitter.com/ojvfbdqcole/status/695223534751080454"}, {"url_original": null, "url": "https://twitter.com/zxykonesnpk/status/811875926950768640"}, {"url_original": null, "url": "https://twitter.com/qhtnkvemfchqw/status/851425449150365696"}, {"url_original": null, "url": "https://twitter.com/wfpppskqrgkxwv/status/851615287799566336"}, {"url_original": null, "url": "https://twitter.com/tkrvttlnc/status/851943341273092101"}, {"url_original": null, "url": "https://t.co/WuufgpspK1"}, {"url_original": null, "url": "https://t.co/wGQIuQW0L6"}, {"url_original": null, "url": "https://t.co/W3AuWDjgkN"}, {"url_original": null, "url": "https://t.co/UQ0EUJaN8C"}, {"url_original": null, "url": "https://t.co/UOEeY9uceq"}, {"url_original": null, "url": "https://t.co/ty2frJgRih"}, {"url_original": null, "url": "https://t.co/rTJblG9Y17"}, {"url_original": null, "url": "https://t.co/oBxYjS4x2Z"}, {"url_original": null, "url": "https://t.co/NRB2WRbYny"}, {"url_original": null, "url": "https://t.co/lIhTmEvvxN"}, {"url_original": null, "url": "https://t.co/Jw2hc4fsAd"}, {"url_original": null, "url": "https://t.co/gqhb6oVcVu"}, {"url_original": null, "url": "https://t.co/Fwhj8kfhuz"}, {"url_original": null, "url": "https://t.co/EZD3ZBr0ui"}, {"url_original": null, "url": "https://t.co/cGk3sYrr8K"}, {"url_original": null, "url": "https://t.co/8YxdD0JrUG"}, {"url_original": null, "url": "https://t.co/8DaS5eUvqj"}, {"url_original": null, "url": "https://t.co/7T1EmJ7kqj"}, {"url_original": null, "url": "https://t.co/7OqqjO9hMu"}, {"url_original": null, "url": "https://t.co/7B87e186EP"}, {"url_original": null, "url": "https://t.co/2jMps8fMJm"}, {"url_original": null, "url": "https://t.co/0LY47nJIDz"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-15T17:01:44.000Z"}, {"date_sent": null, "id": 95216318, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "yvpukie", "tags": [], "sender_name": "utmhjdfmagiwobsuzchpllgkqrzfpfpcylllqojpibkwccegibneuc", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/niqcvdu/status/851943188369596416"}, {"url_original": null, "url": "https://twitter.com/yfoooeofjpsh/status/850692826627178496"}, {"url_original": null, "url": "https://twitter.com/drlvxygagkuf/status/852224187498364928"}, {"url_original": null, "url": "https://twitter.com/fealuuua/status/827466743861886976"}, {"url_original": null, "url": "https://twitter.com/vrgjmhfnqgy/status/852204621477036032"}, {"url_original": null, "url": "https://twitter.com/dtuctzhmycsodb/status/852318890528985088"}, {"url_original": null, "url": "https://twitter.com/bpjggzrybgfgq/status/851433331354992641"}, {"url_original": null, "url": "https://twitter.com/rmunpsojw/status/852011777369849857"}, {"url_original": null, "url": "https://twitter.com/vxinhzbqp/status/852743384338911235"}, {"url_original": null, "url": "https://twitter.com/fckwtkjivxm/status/852470277049118720"}, {"url_original": null, "url": "https://twitter.com/dkxjjolo/status/852752721870323713"}, {"url_original": null, "url": "https://twitter.com/qnvtbtee/status/848813997151449088"}, {"url_original": null, "url": "https://twitter.com/qdzgpbzjgxv/status/851857420083245057"}, {"url_original": null, "url": "https://twitter.com/edwrjsmflbmxzju/status/792762116734328832"}, {"url_original": null, "url": "https://twitter.com/lhjtdtowzapjrq/status/852071816332017664"}, {"url_original": null, "url": "https://twitter.com/hywdwox/status/852231428104491009"}, {"url_original": null, "url": "https://twitter.com/karveytjrt/status/852187627591741441"}, {"url_original": null, "url": "https://twitter.com/tmipczgpe/status/851983044454100994"}, {"url_original": null, "url": "https://twitter.com/gzaukvmhbetel/status/852001790480359424"}, {"url_original": null, "url": "https://twitter.com/qmxpigwo/status/825537733330243584"}, {"url_original": null, "url": "https://t.co/s5HPcjuf7M"}, {"url_original": null, "url": "https://t.co/rJTvT1iSPm"}, {"url_original": null, "url": "https://t.co/QZgwi8NvV7"}, {"url_original": null, "url": "https://t.co/qiO3gFMxHa"}, {"url_original": null, "url": "https://t.co/PCNb190rDb"}, {"url_original": null, "url": "https://t.co/P04fHRLm9v"}, {"url_original": null, "url": "https://t.co/n0t4GjHver"}, {"url_original": null, "url": "https://t.co/M9gXObB70N"}, {"url_original": null, "url": "https://t.co/IF08RfEiUc"}, {"url_original": null, "url": "https://t.co/hoBi8cQDgO"}, {"url_original": null, "url": "https://t.co/FjcETjgLYC"}, {"url_original": null, "url": "https://t.co/e2tjey5375"}, {"url_original": null, "url": "https://t.co/DIWwyeLjpl"}, {"url_original": null, "url": "https://t.co/CgraXZVF7N"}, {"url_original": null, "url": "https://t.co/BEYgrYW4It"}, {"url_original": null, "url": "https://t.co/9ALUMTmT19"}, {"url_original": null, "url": "https://t.co/8zhRF2YYsS"}, {"url_original": null, "url": "https://t.co/8mQS40Gn3f"}, {"url_original": null, "url": "https://t.co/8FpWqnCZyM"}, {"url_original": null, "url": "https://t.co/1qc90TNR6S."}, {"url_original": null, "url": "https://t.co/0uvDt2WGjG"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-12T17:00:05.000Z"}, {"date_sent": null, "id": 40153946, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "zgsxvjh", "tags": [], "sender_name": "exuqftwhsmbdvqo", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/pgcfripnfv/status/852776704045076480"}, {"url_original": null, "url": "https://twitter.com/zmawpafuv/status/852829793716285440"}, {"url_original": null, "url": "https://twitter.com/caivansdlwkg/status/852890241962823680"}, {"url_original": null, "url": "https://twitter.com/bpyaocvfcb/status/852851156837642240"}, {"url_original": null, "url": "https://twitter.com/gwbygkqxpfg/status/852851145949282304"}, {"url_original": null, "url": "https://twitter.com/oknyyeoqs/status/852659676135264256"}, {"url_original": null, "url": "https://twitter.com/mqazbfpfwez/status/852665740394156034"}, {"url_original": null, "url": "https://twitter.com/cbvesmvscp/status/852866634947506176"}, {"url_original": null, "url": "https://twitter.com/ifxguznhgs/status/852866618036150274"}, {"url_original": null, "url": "https://twitter.com/oglkueorsx/status/852866604316540928"}, {"url_original": null, "url": "https://twitter.com/miaknfmxfe/status/852849723622834176"}, {"url_original": null, "url": "https://twitter.com/gneejfsxob/status/852849717046239233"}, {"url_original": null, "url": "https://twitter.com/dwopbudotp/status/852849711023181825"}, {"url_original": null, "url": "https://twitter.com/twgrovuycw/status/852849703674814465"}, {"url_original": null, "url": "https://twitter.com/mwjrrfovak/status/852849689489625089"}, {"url_original": null, "url": "https://twitter.com/iihwnnxyct/status/852841304690008065"}, {"url_original": null, "url": "https://twitter.com/pnrkikxrfdcged/status/852888273177464832"}, {"url_original": null, "url": "https://twitter.com/oluofthsfnyen/status/852888273047388160"}, {"url_original": null, "url": "https://twitter.com/hettxurifbzg/status/852888272632205312"}, {"url_original": null, "url": "https://t.co/zWwkCQb3Sq"}, {"url_original": null, "url": "https://t.co/ZQSckZOdkn"}, {"url_original": null, "url": "https://t.co/WUdYo19r5t"}, {"url_original": null, "url": "https://t.co/vOKD85e8M2"}, {"url_original": null, "url": "https://t.co/UTnQCaEDzN"}, {"url_original": null, "url": "https://t.co/tq1WPXPRzF"}, {"url_original": null, "url": "https://t.co/sYdKld2nty"}, {"url_original": null, "url": "https://t.co/soB5I5IReJ"}, {"url_original": null, "url": "https://t.co/sMwXamHBWy"}, {"url_original": null, "url": "https://t.co/reIlNgQaZU"}, {"url_original": null, "url": "https://t.co/QTR0uNcm9O"}, {"url_original": null, "url": "https://t.co/qATRfniysr"}, {"url_original": null, "url": "https://t.co/onEdU6hcDZ"}, {"url_original": null, "url": "https://t.co/nSgm0Cllyo"}, {"url_original": null, "url": "https://t.co/lo00mKjlFx"}, {"url_original": null, "url": "https://t.co/k961FEt8IZ"}, {"url_original": null, "url": "https://t.co/IWwTOKYXau"}, {"url_original": null, "url": "https://t.co/iT7puF6bxm"}, {"url_original": null, "url": "https://t.co/H6bJ5Hi3gg"}, {"url_original": null, "url": "https://t.co/fr6aiKRSMe"}, {"url_original": null, "url": "https://t.co/fMpyuzoRbg"}, {"url_original": null, "url": "https://t.co/FltRHGofho"}, {"url_original": null, "url": "https://t.co/e2bFNBBgwR"}, {"url_original": null, "url": "https://t.co/dHbWMbpm52"}, {"url_original": null, "url": "https://t.co/D2sQqxFMrO"}, {"url_original": null, "url": "https://t.co/Cs7BJ8GXNw"}, {"url_original": null, "url": "https://t.co/8RQ3zgysvf"}, {"url_original": null, "url": "https://t.co/8r7vJblC4u"}, {"url_original": null, "url": "https://t.co/6iUpyOLdka"}, {"url_original": null, "url": "https://t.co/0arp40Q9fv"}, {"url_original": null, "url": "https://t.co/Yax2warCOc"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-12T16:31:46.000Z"}, {"date_sent": null, "id": 73567778, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "gnjjalp", "tags": [], "sender_name": "wgenxlrzcgitsfj", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/xsxfqrqbew/status/852841299384324096"}, {"url_original": null, "url": "https://twitter.com/hyiqzivzge/status/852841294657232896"}, {"url_original": null, "url": "https://twitter.com/woqhnontfu/status/852841290521690113"}, {"url_original": null, "url": "https://twitter.com/coxdppbdyh/status/852841232556408835"}, {"url_original": null, "url": "https://twitter.com/kgpdlrxfsz/status/852841222284525569"}, {"url_original": null, "url": "https://twitter.com/hdovydtoqk/status/852841210276335616"}, {"url_original": null, "url": "https://twitter.com/mnmplnqexu/status/852841199316606978"}, {"url_original": null, "url": "https://twitter.com/kjnrfqujsg/status/852824181834108931"}, {"url_original": null, "url": "https://twitter.com/xxrfvfrkvwzx/status/852734924117336068"}, {"url_original": null, "url": "https://twitter.com/ledmwhczsagsdf/status/852725123157286912"}, {"url_original": null, "url": "https://twitter.com/iqyjlyjgjzvw/status/852658472826974208"}, {"url_original": null, "url": "https://twitter.com/jiwyflinjmbqcyr/status/852690840065527809"}, {"url_original": null, "url": "https://twitter.com/jeainrtwl/status/852693964847169536"}, {"url_original": null, "url": "https://twitter.com/qktivksxfsk/status/852721223473795072"}, {"url_original": null, "url": "https://twitter.com/qskiusjmrqhv/status/852716806808756224"}, {"url_original": null, "url": "https://twitter.com/eiptwcsjxi/status/852856214518198272"}, {"url_original": null, "url": "https://twitter.com/bumoqlokwpqhyz/status/852751803447877632"}, {"url_original": null, "url": "https://twitter.com/utsgvcisqg/status/852562637497839616"}, {"url_original": null, "url": "https://twitter.com/efznafvobii/status/852682007058501632"}, {"url_original": null, "url": "https://twitter.com/hkxgvcg/status/852654369120104448"}, {"url_original": null, "url": "https://t.co/yZ6mMEAOZa"}, {"url_original": null, "url": "https://t.co/y7djOoIo3C"}, {"url_original": null, "url": "https://t.co/UmccIgKWct"}, {"url_original": null, "url": "https://t.co/ucGlnAzjAU"}, {"url_original": null, "url": "https://t.co/tYClocBxxM"}, {"url_original": null, "url": "https://t.co/rNRQS4EYlK"}, {"url_original": null, "url": "https://t.co/Qi0aGDe3Fm"}, {"url_original": null, "url": "https://t.co/pwl8UdcUkf"}, {"url_original": null, "url": "https://t.co/PsNOfZxHBm"}, {"url_original": null, "url": "https://t.co/OwckUgX7SU"}, {"url_original": null, "url": "https://t.co/oI8xCZhvoR"}, {"url_original": null, "url": "https://t.co/milrpt2PA4"}, {"url_original": null, "url": "https://t.co/LCYsftDsME"}, {"url_original": null, "url": "https://t.co/l3PmNguOjo"}, {"url_original": null, "url": "https://t.co/if7N8SQXwV"}, {"url_original": null, "url": "https://t.co/hX2LBy1bJq"}, {"url_original": null, "url": "https://t.co/gCDJvc5yta"}, {"url_original": null, "url": "https://t.co/eVZ3IFJuPK"}, {"url_original": null, "url": "https://t.co/EF0xr42J4H"}, {"url_original": null, "url": "https://t.co/CxUOEd4zzk"}, {"url_original": null, "url": "https://t.co/CiLZZaEUVf"}, {"url_original": null, "url": "https://t.co/bOwifFHGB1"}, {"url_original": null, "url": "https://t.co/abV8aDoalY"}, {"url_original": null, "url": "https://t.co/A4fE3ThT0C"}, {"url_original": null, "url": "https://t.co/9m2VStkSSM"}, {"url_original": null, "url": "https://t.co/7tWIhFvZO7"}, {"url_original": null, "url": "https://t.co/5GgyQnDaKk"}, {"url_original": null, "url": "https://t.co/5APGEDvt60"}, {"url_original": null, "url": "https://t.co/3xbmppnbvm"}, {"url_original": null, "url": "https://t.co/3R6wr4DVuU"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-12T16:24:13.000Z"}, {"date_sent": null, "id": 68066299, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "ydtsppv", "tags": [], "sender_name": "wxrlvjyjkkzxhrv", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/iktrlqram/status/852651182979940353"}, {"url_original": null, "url": "https://twitter.com/tpgerooxt/status/852725253084196864"}, {"url_original": null, "url": "https://twitter.com/ndqewanvvpdp/status/852849362849890306"}, {"url_original": null, "url": "https://twitter.com/koobdxrqv/status/852733628026986497"}, {"url_original": null, "url": "https://twitter.com/lmawllwx/status/852658997199065088"}, {"url_original": null, "url": "https://twitter.com/utvcelbj/status/852655978692694016"}, {"url_original": null, "url": "https://twitter.com/jgahzrmqy/status/852664078145290240"}, {"url_original": null, "url": "https://twitter.com/wlauwjtnhxsp/status/852832527530082305"}, {"url_original": null, "url": "https://twitter.com/izypyhiwrk/status/852845939018670080"}, {"url_original": null, "url": "https://twitter.com/epjtoerkrxjy/status/852815555908087808"}, {"url_original": null, "url": "https://twitter.com/yfurvyrrxdre/status/852862080193634304"}, {"url_original": null, "url": "https://twitter.com/fpplcekmgtcz/status/852681530430369792"}, {"url_original": null, "url": "https://twitter.com/nujeassydrvg/status/852720562787024896"}, {"url_original": null, "url": "https://twitter.com/khofcqgkcqws/status/852794129205534721"}, {"url_original": null, "url": "https://twitter.com/bvhzmxoiwmwd/status/852687296734388224"}, {"url_original": null, "url": "https://twitter.com/qfimndzxecswe/status/852657911885180930"}, {"url_original": null, "url": "https://twitter.com/dbxwrlqvivmrz/status/852843237542813699"}, {"url_original": null, "url": "https://twitter.com/cjvdlnyuauo/status/852841238076289024"}, {"url_original": null, "url": "https://twitter.com/vywixotcrnuj/status/852709950530887680"}, {"url_original": null, "url": "https://t.co/Z4WkskKQBP"}, {"url_original": null, "url": "https://t.co/Yax2warCOc"}, {"url_original": null, "url": "https://t.co/Y4SY6dn1b5"}, {"url_original": null, "url": "https://t.co/wF0apqsdqi"}, {"url_original": null, "url": "https://t.co/VUGoDhQ8kd"}, {"url_original": null, "url": "https://t.co/qxrO5w51sP"}, {"url_original": null, "url": "https://t.co/MbQW1fno21"}, {"url_original": null, "url": "https://t.co/kx8JpnZCU1"}, {"url_original": null, "url": "https://t.co/KwI2ilBU9s"}, {"url_original": null, "url": "https://t.co/jpTSorQB8u"}, {"url_original": null, "url": "https://t.co/i8SCPbDELF"}, {"url_original": null, "url": "https://t.co/i72smLTKnj"}, {"url_original": null, "url": "https://t.co/i3mrLRTYLC"}, {"url_original": null, "url": "https://t.co/HcUdtpcgmx"}, {"url_original": null, "url": "https://t.co/DN9d75cNG4"}, {"url_original": null, "url": "https://t.co/dAHXdiqQhr"}, {"url_original": null, "url": "https://t.co/COhpEAhVg8"}, {"url_original": null, "url": "https://t.co/9XiCT5jKV5"}, {"url_original": null, "url": "https://t.co/7eQzpwF5gb"}, {"url_original": null, "url": "https://t.co/5hIcf49104"}, {"url_original": null, "url": "https://t.co/4WTjb2gJrn"}, {"url_original": null, "url": "https://t.co/3KeE5tPtMq"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-16T16:15:02.000Z"}, {"date_sent": null, "id": 85639614, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "ynmhjbn", "tags": [], "sender_name": "zdikicyljz", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/kwmajrorhx/status/852791301070241792"}, {"url_original": null, "url": "https://twitter.com/abjtqsty/status/852911658825654272"}, {"url_original": null, "url": "https://twitter.com/tlkxlqqz/status/852912292505292800"}, {"url_original": null, "url": "https://twitter.com/dhhjiqww/status/852912289044942848"}, {"url_original": null, "url": "https://twitter.com/rxhsmlrf/status/852912246414073861"}, {"url_original": null, "url": "https://twitter.com/lqkjsafn/status/852911016052654081"}, {"url_original": null, "url": "https://twitter.com/lzsvpplfefgj/status/852694276509192193"}, {"url_original": null, "url": "https://twitter.com/smyyucee/status/852791295110111232"}, {"url_original": null, "url": "https://twitter.com/baimjjfdoxmd/status/852904844730011649"}, {"url_original": null, "url": "https://twitter.com/cydmutu/status/852791306879328257"}, {"url_original": null, "url": "https://twitter.com/jvwmvyvmu/status/852911387110248450"}, {"url_original": null, "url": "https://twitter.com/fgphbluvw/status/852911372837019648"}, {"url_original": null, "url": "https://twitter.com/snowrlr/status/852791319940317184"}, {"url_original": null, "url": "https://twitter.com/gsnwqcvqesvs/status/852790099863416833"}, {"url_original": null, "url": "https://twitter.com/vygmzmfupvsa/status/852775963301601281"}, {"url_original": null, "url": "https://twitter.com/fgoyeh/status/852791313900519424"}, {"url_original": null, "url": "https://t.co/zKb30MO6FT"}, {"url_original": null, "url": "https://t.co/ZhSWhD8Xs0"}, {"url_original": null, "url": "https://t.co/y2IdqaMt6J"}, {"url_original": null, "url": "https://t.co/TS96f7fmKo"}, {"url_original": null, "url": "https://t.co/StdRwrJxhC"}, {"url_original": null, "url": "https://t.co/SPGZ8OJAwb"}, {"url_original": null, "url": "https://t.co/SeVTxKSEph"}, {"url_original": null, "url": "https://t.co/rQeR4zCLu2"}, {"url_original": null, "url": "https://t.co/RdScIwmUKV"}, {"url_original": null, "url": "https://t.co/oMD6r1BUUo"}, {"url_original": null, "url": "https://t.co/NhukYvb34Q"}, {"url_original": null, "url": "https://t.co/mzhxKOotfb"}, {"url_original": null, "url": "https://t.co/jV5pV1ebbF"}, {"url_original": null, "url": "https://t.co/jeoeZaOqe1"}, {"url_original": null, "url": "https://t.co/iyezxdG0cm"}, {"url_original": null, "url": "https://t.co/IXJumcNXUv"}, {"url_original": null, "url": "https://t.co/inxFL2RNoJ"}, {"url_original": null, "url": "https://t.co/FysApSUkZa"}, {"url_original": null, "url": "https://t.co/BuQzowE0Y4"}, {"url_original": null, "url": "https://t.co/b3CTn60ZuC"}, {"url_original": null, "url": "https://t.co/6lc4b7UXUZ"}, {"url_original": null, "url": "https://t.co/5sQww5N357"}, {"url_original": null, "url": "https://t.co/5AMa849iqZ"}, {"url_original": null, "url": "https://t.co/4XQ1KCV597"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-14T15:54:39.000Z"}, {"date_sent": null, "id": 8562290, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "adcannd", "tags": [], "sender_name": "qxbwnpjbccovfizzeaulhefmikktdqlvyebvnl", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/cigqcbqnlgz/status/851952136715993088"}, {"url_original": null, "url": "https://t.co/yodaeuDNNX"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-16T15:25:47.000Z"}, {"date_sent": null, "id": 33902107, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "inlhxpn", "tags": [], "sender_name": "nfmjmxyzwsgwlxknwehcsrihithnzpitlssivsaukrxozqpbqatvbi", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/mllyxowvlv/status/852890928918532097"}, {"url_original": null, "url": "https://twitter.com/nywtqpayyc/status/852882449138929666"}, {"url_original": null, "url": "https://twitter.com/ufjiwvfsrh/status/852869503859871744"}, {"url_original": null, "url": "https://twitter.com/kfmixfcxtzwym/status/852719981359976449"}, {"url_original": null, "url": "https://twitter.com/qobhaaeqexmxxe/status/852871600668119041"}, {"url_original": null, "url": "https://twitter.com/yjisiwknnjelzj/status/852871592577306624"}, {"url_original": null, "url": "https://twitter.com/ubnpqxcyhshl/status/852888203388268544"}, {"url_original": null, "url": "https://twitter.com/whupomea/status/852704595835064320"}, {"url_original": null, "url": "https://t.co/ThrpKGtn4P"}, {"url_original": null, "url": "https://t.co/RHRwMPOk47"}, {"url_original": null, "url": "https://t.co/p41PliUX0x"}, {"url_original": null, "url": "https://t.co/NMs5annZhy"}, {"url_original": null, "url": "https://t.co/MnEgyBvuiN"}, {"url_original": null, "url": "https://t.co/LOxhBA2Opb"}, {"url_original": null, "url": "https://t.co/LEqohfjjDE"}, {"url_original": null, "url": "https://t.co/eojRF49cMq"}, {"url_original": null, "url": "https://t.co/8Y4q7i3bSN"}, {"url_original": null, "url": "https://t.co/2mPUcF8xoP"}, {"url_original": null, "url": "https://t.co/1OwrjnVBYM"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-14T15:20:59.000Z"}, {"date_sent": null, "id": 71786365, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "rtgkaqk", "tags": [], "sender_name": "bupebykzkgiuqvgbkusokudeqivehiwqczvmqfbjtwvicbmtpguzgf", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/pssgsusruc/status/852690371918299137"}, {"url_original": null, "url": "https://twitter.com/xngxrubvwhj/status/852846343902986252"}, {"url_original": null, "url": "https://twitter.com/wjntugltiowpooo/status/852772568905818113"}, {"url_original": null, "url": "https://twitter.com/kioacbkicl/status/852803228307570689"}, {"url_original": null, "url": "https://twitter.com/vvdsukmux/status/852694893038256128"}, {"url_original": null, "url": "https://twitter.com/brmetnzwfrgvdl/status/852733323168198656"}, {"url_original": null, "url": "https://twitter.com/ljmckofeilttti/status/852732969559015424"}, {"url_original": null, "url": "https://twitter.com/rrtsuffpwdmc/status/852699656970657792"}, {"url_original": null, "url": "https://twitter.com/oblmrwjwf/status/852751181566812160"}, {"url_original": null, "url": "https://t.co/XRhw3pitnT"}, {"url_original": null, "url": "https://t.co/vqZU8oFxPR"}, {"url_original": null, "url": "https://t.co/u8mZ4B3DXP"}, {"url_original": null, "url": "https://t.co/rUpCF8jl7d"}, {"url_original": null, "url": "https://t.co/KS3Hx4V9p7"}, {"url_original": null, "url": "https://t.co/JZjT1WvvmH"}, {"url_original": null, "url": "https://t.co/JbD2tsEFZm"}, {"url_original": null, "url": "https://t.co/Ie3ZBay4nL"}, {"url_original": null, "url": "https://t.co/GVOSPeHV5d"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-15T15:17:30.000Z"}, {"date_sent": null, "id": 35065060, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "ypanvte", "tags": [], "sender_name": "ovonkzgwokuhvnfymyrzraijwbailskboamphvtbvqhyuttdtyxlne", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/bohozbpfd/status/852661698305634304"}, {"url_original": null, "url": "https://twitter.com/aezhjbwrdi/status/852748945155424256"}, {"url_original": null, "url": "https://twitter.com/mimbktkkdegkf/status/852819973260980224"}, {"url_original": null, "url": "https://twitter.com/xvaazqdyhlqrvlv/status/852693023188279296"}, {"url_original": null, "url": "https://twitter.com/xznxjwmklklva/status/852749935661338626"}, {"url_original": null, "url": "https://twitter.com/mpacdkxi/status/852728819865669634"}, {"url_original": null, "url": "https://twitter.com/bfcyfgxsebjnhb/status/852738480086016000"}, {"url_original": null, "url": "https://twitter.com/vuchttlmlwxeoz/status/852733634113028098"}, {"url_original": null, "url": "https://twitter.com/bvxzcjswgxzzup/status/852733498435584004"}, {"url_original": null, "url": "https://twitter.com/nqjqzwiphlvari/status/852747125108518914"}, {"url_original": null, "url": "https://twitter.com/jpqittlopuat/status/852728397222563840"}, {"url_original": null, "url": "https://twitter.com/xrsevybmowizah/status/852757063306313728"}, {"url_original": null, "url": "https://twitter.com/wzzlkgcg/status/852723292129579008"}, {"url_original": null, "url": "https://t.co/XxRXx284zy"}, {"url_original": null, "url": "https://t.co/XdIVFwZHV7"}, {"url_original": null, "url": "https://t.co/wofxoNXLbA"}, {"url_original": null, "url": "https://t.co/TY2ET6xoNB"}, {"url_original": null, "url": "https://t.co/RU4kfTjNNq"}, {"url_original": null, "url": "https://t.co/qeHikCcYyl"}, {"url_original": null, "url": "https://t.co/niPjmV77fN"}, {"url_original": null, "url": "https://t.co/ERLO6WVkyq"}, {"url_original": null, "url": "https://t.co/EnFPnf9bWG"}, {"url_original": null, "url": "https://t.co/D4OU0pl2tN"}, {"url_original": null, "url": "https://t.co/9BVskX5bW9"}, {"url_original": null, "url": "https://t.co/6scho7MRow"}, {"url_original": null, "url": "https://t.co/171zWnEO7O"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-13T15:15:53.000Z"}, {"date_sent": null, "id": 54414673, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "oimgtro", "tags": [], "sender_name": "vhtzyrzcnmfcxovtpzeqmmsmnyfrimokxcmfrdkymntnefvuucdvzy", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/awyexqpjkczt/status/852724623837863936"}, {"url_original": null, "url": "https://twitter.com/exbclxcj/status/852767315141591041"}, {"url_original": null, "url": "https://twitter.com/noxknsiata/status/852706688138448897"}, {"url_original": null, "url": "https://twitter.com/almoamoydsp/status/852838951970902016"}, {"url_original": null, "url": "https://twitter.com/txbgyssjwl/status/852823969908441089"}, {"url_original": null, "url": "https://twitter.com/gmjph/status/852710149529534464"}, {"url_original": null, "url": "https://twitter.com/txjqnkabigm/status/852688228846927872"}, {"url_original": null, "url": "https://twitter.com/cvoafdqcxeqx/status/852778164870721537"}, {"url_original": null, "url": "https://twitter.com/jyzdmpcatfctj/status/850041070327037953"}, {"url_original": null, "url": "https://twitter.com/keslzfzsck/status/852697345007529984"}, {"url_original": null, "url": "https://t.co/SWMXJsnW2y"}, {"url_original": null, "url": "https://t.co/ojlvYdEw6x"}, {"url_original": null, "url": "https://t.co/obXHU0ESN7"}, {"url_original": null, "url": "https://t.co/oadXiarNse"}, {"url_original": null, "url": "https://t.co/lTGGUfOWvI"}, {"url_original": null, "url": "https://t.co/InK7XClVwD"}, {"url_original": null, "url": "https://t.co/coobivPrYZ"}, {"url_original": null, "url": "https://t.co/AvTP7Z0sVe"}, {"url_original": null, "url": "https://t.co/8VYK82ZERr"}, {"url_original": null, "url": "https://t.co/3zapRrFFbn"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-13T15:14:06.000Z"}, {"date_sent": null, "id": 8812722, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "uqhqjmr", "tags": [], "sender_name": "nsejrdoijuzsqmkbuwvickonbbrugezhfgvznamwgiavpoeivvifbm", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/fyzgaourzopwkxa/status/852830291269828609"}, {"url_original": null, "url": "https://twitter.com/rhcrdgsbouxo/status/852730642177576960"}, {"url_original": null, "url": "https://twitter.com/ghqywwwbnuj/status/852662189961957376"}, {"url_original": null, "url": "https://twitter.com/qftahrz/status/852714680397070336"}, {"url_original": null, "url": "https://twitter.com/rigbdfiso/status/852815282112315392"}, {"url_original": null, "url": "https://twitter.com/tjrzle/status/852864465775333376"}, {"url_original": null, "url": "https://twitter.com/mtrvbkx/status/852733830960037890"}, {"url_original": null, "url": "https://twitter.com/niwnkiko/status/852693263270260737"}, {"url_original": null, "url": "https://twitter.com/zjcoadmoqayqog/status/852738744482267137"}, {"url_original": null, "url": "https://twitter.com/vbpfncrcqkubsp/status/852738103840092161"}, {"url_original": null, "url": "https://twitter.com/lgujvchruaqygd/status/852733213139099649"}, {"url_original": null, "url": "https://twitter.com/zdstwmnxokcvuo/status/852732823551188995"}, {"url_original": null, "url": "https://twitter.com/vlvfdwnzrn/status/852717121058603008"}, {"url_original": null, "url": "https://twitter.com/xjdfnxztcskmtd/status/852701500027666433"}, {"url_original": null, "url": "https://twitter.com/yvrhtvkcydysll/status/852773507876376576"}, {"url_original": null, "url": "https://twitter.com/qfvsebkmcwad/status/852683040644108288"}, {"url_original": null, "url": "https://twitter.com/pnrcxqyxztf/status/852762814976413700"}, {"url_original": null, "url": "https://twitter.com/zgqxigrpcapp/status/852736850460426240"}, {"url_original": null, "url": "https://twitter.com/gfllru/status/852737531749703680"}, {"url_original": null, "url": "https://t.co/WyQrctVJ4N"}, {"url_original": null, "url": "https://t.co/wcHTlGkwjT"}, {"url_original": null, "url": "https://t.co/tjAdwLraVC"}, {"url_original": null, "url": "https://t.co/SDdbbSyJhT"}, {"url_original": null, "url": "https://t.co/O4Y2RvI242"}, {"url_original": null, "url": "https://t.co/jRCEVSHEMJ"}, {"url_original": null, "url": "https://t.co/Ii6LHvL9ZL"}, {"url_original": null, "url": "https://t.co/Gact0EB4gc"}, {"url_original": null, "url": "https://t.co/ezFR2dzBqF"}, {"url_original": null, "url": "https://t.co/cmlXObI3JM"}, {"url_original": null, "url": "https://t.co/Chd4A0DjYG"}, {"url_original": null, "url": "https://t.co/BSASUgPH3s"}, {"url_original": null, "url": "https://t.co/BpfBwhKMD4"}, {"url_original": null, "url": "https://t.co/bLBOWPkrlw"}, {"url_original": null, "url": "https://t.co/AAZYTcNqtc"}, {"url_original": null, "url": "https://t.co/9oPVjXGw4C"}, {"url_original": null, "url": "https://t.co/9H2dcxT0Fo"}, {"url_original": null, "url": "https://t.co/59l9SRpIzI"}, {"url_original": null, "url": "https://t.co/4YpPSlyCJR"}, {"url_original": null, "url": "https://t.co/03egdsstp7"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-15T15:12:18.000Z"}, {"date_sent": null, "id": 13837381, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "glmbxyg", "tags": [], "sender_name": "mtmlvniawsqybmzygqlagpdihazutwaszuwhprimnzevqfjvtuumfu", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/plqdjf/status/852778057567842304"}, {"url_original": null, "url": "https://twitter.com/skqqrhn/status/852659544262033408"}, {"url_original": null, "url": "https://twitter.com/njwickukz/status/852870506843955200"}, {"url_original": null, "url": "https://twitter.com/xhynlmofbk/status/852683863306448897"}, {"url_original": null, "url": "https://twitter.com/gvqcfmfiw/status/852668375792791553"}, {"url_original": null, "url": "https://twitter.com/esbzrnavymjaxus/status/852790586700513280"}, {"url_original": null, "url": "https://twitter.com/yjsbwqyco/status/852745992692617219"}, {"url_original": null, "url": "https://twitter.com/slizmms/status/852745641339920386"}, {"url_original": null, "url": "https://twitter.com/opumnflsjysrt/status/852663123102367744"}, {"url_original": null, "url": "https://twitter.com/snkwfdiyrxwrfm/status/852657954566397953"}, {"url_original": null, "url": "https://twitter.com/mxnfpferk/status/852725602499035136"}, {"url_original": null, "url": "https://twitter.com/lpmzexexabrxfh/status/852672283642605568"}, {"url_original": null, "url": "https://twitter.com/wgiyzgwnbffhmqh/status/852831992706064384"}, {"url_original": null, "url": "https://twitter.com/zdcekqtrx/status/852735186471079936"}, {"url_original": null, "url": "https://twitter.com/pxyqahyxflgo/status/852748245541330944"}, {"url_original": null, "url": "https://twitter.com/qjwhfcl/status/852735873166655489"}, {"url_original": null, "url": "https://twitter.com/fgwpi/status/850497162815221760"}, {"url_original": null, "url": "https://twitter.com/lrntrpxuzrtjg/status/852682220779261952"}, {"url_original": null, "url": "https://twitter.com/zvdlcuile/status/852225802535960576"}, {"url_original": null, "url": "https://twitter.com/nloxlnerz/status/852225760186126336"}, {"url_original": null, "url": "https://t.co/zUzeTYrt3p"}, {"url_original": null, "url": "https://t.co/zQbG7c4LKm"}, {"url_original": null, "url": "https://t.co/zAUOYUpQs2"}, {"url_original": null, "url": "https://t.co/vqjhnNSSbh"}, {"url_original": null, "url": "https://t.co/vHUT5jV6Y0"}, {"url_original": null, "url": "https://t.co/tRdZINk9vs"}, {"url_original": null, "url": "https://t.co/rulwCltQCT"}, {"url_original": null, "url": "https://t.co/QTupCGUgD6"}, {"url_original": null, "url": "https://t.co/qTogw1agf5"}, {"url_original": null, "url": "https://t.co/PraNeS2ofZ"}, {"url_original": null, "url": "https://t.co/Lj7Zhky48n"}, {"url_original": null, "url": "https://t.co/ib5W91VNgF"}, {"url_original": null, "url": "https://t.co/FZzz6cajgQ"}, {"url_original": null, "url": "https://t.co/FV1SsrP0QD"}, {"url_original": null, "url": "https://t.co/BbLYqh2a66"}, {"url_original": null, "url": "https://t.co/aVWb6XMO1s"}, {"url_original": null, "url": "https://t.co/3Au0DLf99P"}, {"url_original": null, "url": "https://t.co/2niL5PJ8AG"}, {"url_original": null, "url": "https://t.co/2BWQUgbgm1"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-16T15:10:19.000Z"}, {"date_sent": null, "id": 9930323, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "hzzyxgu", "tags": [], "sender_name": "sjximgq", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/rcafbwod/status/847057237071794176"}, {"url_original": null, "url": "https://t.co/23dXZwEpDX"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-15T14:49:26.000Z"}, {"date_sent": null, "id": 23386093, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "lahgkzp", "tags": [], "sender_name": "bqcjklqukocfscyetozcnyt", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/mkgxpl/status/852574773989314560"}, {"url_original": null, "url": "https://t.co/SPDmKgsLNc"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-12T14:49:21.000Z"}, {"date_sent": null, "id": 14057899, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "tbffxbb", "tags": [], "sender_name": "ygfpmbsue", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/kynaqzqdvzyhqs/status/852163652077670400"}, {"url_original": null, "url": "https://twitter.com/djnjgosagbu/status/852089204939124737"}, {"url_original": null, "url": "https://twitter.com/yyddrracc/status/852385646291308544"}, {"url_original": null, "url": "https://t.co/zQZX2zcqrP"}, {"url_original": null, "url": "https://t.co/SDFnBo2eaZ"}, {"url_original": null, "url": "https://t.co/mTfmtIzw0w"}, {"url_original": null, "url": "https://t.co/CQlz8O8GAj"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-14T14:31:54.000Z"}, {"date_sent": null, "id": 73750370, "action_taken": "Yes", "type": "DMCA", "language": null, "body": null, "title": "DMCA Takedown Notice (Tweet)", "recipient_name": "htkqbxn", "tags": [], "sender_name": "jqsfkrmwk", "principal_name": null, "topics": ["Copyright"], "score": null, "works": [{"infringing_urls": [{"url_original": null, "url": "https://twitter.com/bpbuqfn/status/852784923018534914"}, {"url_original": null, "url": "https://twitter.com/ayqflbo/status/852784878428995584"}, {"url_original": null, "url": "https://twitter.com/ueulvesnfdivccv/status/852230748060897280"}, {"url_original": null, "url": "https://t.co/TAG1BSW19h"}, {"url_original": null, "url": "https://t.co/lw4md9ngDN"}, {"url_original": null, "url": "https://t.co/3tYjJMvrFJ"}], "copyrighted_urls": [], "description": null}], "jurisdictions": [], "date_received": "2017-04-14T14:31:25.000Z"}], "meta": {"total_pages": 2276, "current_page": 1, "next_page": 5, "total_entries": 113766, "facets": {"principal_name_facet": {"terms": [{"term": "IFPI", "count": 2494}, {"term": "MX International Inc", "count": 1964}, {"term": "CANAL+ GROUP", "count": 1039}, {"term": "Magnolia Pictures", "count": 992}, {"term": "Japan Creative Contents Alliance LLC", "count": 961}, {"term": "Entura International", "count": 800}, {"term": "Universal Music Group", "count": 779}, {"term": "MAGNOLIA PICTURES INC.", "count": 772}, {"term": "Copyright Integrity International", "count": 694}, {"term": "ITMPA", "count": 544}], "_type": "terms", "other": 33035, "missing": 69866, "total": 44074}, "tag_list_facet": {"terms": [{"term": "text", "count": 4}, {"term": "music", "count": 1}], "_type": "terms", "other": 0, "missing": 113935, "total": 5}, "country_code_facet": {"terms": [{"term": "US", "count": 113388}, {"term": "", "count": 43}, {"term": "us", "count": 6}, {"term": "gb", "count": 1}, {"term": "Br", "count": 1}, {"term": "94", "count": 1}], "_type": "terms", "other": 0, "missing": 500, "total": 113440}, "action_taken_facet": {"terms": [{"term": "Yes", "count": 113855}, {"term": "", "count": 80}, {"term": "No", "count": 4}, {"term": "Partial", "count": 1}], "_type": "terms", "other": 0, "missing": 0, "total": 113940}, "submitter_name_facet": {"terms": [{"term": "twitter", "count": 41616}, {"term": "inc", "count": 41616}, {"term": "private", "count": 1}, {"term": "kittos", "count": 1}, {"term": "david", "count": 1}], "_type": "terms", "other": 0, "missing": 72322, "total": 83235}, "sender_name_facet": {"terms": [{"term": " - ", "count": 19542}, {"term": "Authorized agent", "count": 4694}, {"term": "Director of Anti-Piracy", "count": 3739}, {"term": "Web Sheriff", "count": 2991}, {"term": "Remove Your Media LLC.", "count": 2916}, {"term": "Liga Nacional de F\u00fatbol Profesional", "count": 2829}, {"term": "Recording Industry Association of America, Inc. (RIAA)", "count": 2202}, {"term": "Legal Counsel", "count": 1960}, {"term": "Adobe Systems Incorporated", "count": 1582}, {"term": "Copyright Integrity International", "count": 1216}], "_type": "terms", "other": 63545, "missing": 6724, "total": 107216}, "topic_facet": {"terms": [{"term": "Copyright", "count": 113940}, {"term": "DMCA Safe Harbor", "count": 23682}, {"term": "DMCA Notices", "count": 19166}, {"term": "Uncategorized", "count": 996}, {"term": "International", "count": 146}, {"term": "Court Orders", "count": 5}, {"term": "Responses", "count": 4}, {"term": "Lumen", "count": 4}, {"term": "Copyright and Fair Use", "count": 4}, {"term": "Defamation", "count": 2}], "_type": "terms", "other": 1, "missing": 0, "total": 157950}, "date_received_facet": {"ranges": [{"min": 1492057171000.0, "max": 1492140903000.0, "count": 109, "total_count": 109, "from_str": "2017-04-13T00:00:00.000-04:00", "total": 162638668221000.0, "to": 1492142400000.0, "to_str": "2017-04-14T00:00:00.000-04:00", "from": 1492056000000.0, "mean": 1492097873587.156}, {"min": 1489468730000.0, "max": 1492140903000.0, "count": 4053, "total_count": 4053, "from_str": "2017-03-14T00:00:00.000-04:00", "total": 6042252536387000.0, "to": 1492142400000.0, "to_str": "2017-04-14T00:00:00.000-04:00", "from": 1489464000000.0, "mean": 1490809902883.543}, {"min": 1476422799000.0, "max": 1492140903000.0, "count": 20946, "total_count": 20946, "from_str": "2016-10-14T00:00:00.000-04:00", "total": 3.1089892419327e+16, "to": 1492142400000.0, "to_str": "2017-04-14T00:00:00.000-04:00", "from": 1476417600000.0, "mean": 1484287807663.8499}, {"min": 1460607552000.0, "max": 1492140903000.0, "count": 49590, "total_count": 49590, "from_str": "2016-04-14T00:00:00.000-04:00", "total": 7.3163624944739e+16, "to": 1492142400000.0, "to_str": "2017-04-14T00:00:00.000-04:00", "from": 1460606400000.0, "mean": 1475370537300.6455}], "_type": "range"}, "submitter_country_code_facet": {"terms": [{"term": "usa", "count": 8966}], "_type": "terms", "other": 0, "missing": 104974, "total": 8966}, "recipient_name_facet": {"terms": [{"term": "Twitter", "count": 113810}, {"term": "Twitter, Inc.", "count": 112}, {"term": "Twitter, Inc", "count": 10}, {"term": "Twitter Inc.", "count": 3}, {"term": "Twitter user @spin", "count": 1}, {"term": "Twitter Trust and Safety", "count": 1}, {"term": "Twitter -Vine", "count": 1}, {"term": "Site http://www.celebrinando.com/ Perfil de Twitter @CelebrinandoRJ", "count": 1}, {"term": "Emplacement / Bacau , Str. Pictor Aman Nr. 94 Romania E-mail / waldliebefamilien @ gmail.com Sur internet / Site web/ Twitter/ Facebook/ Discogs/ Soundcloud/", "count": 1}], "_type": "terms", "other": 0, "missing": 0, "total": 113940}, "language_facet": {"terms": [{"term": "en", "count": 27}, {"term": "", "count": 19}, {"term": "tr", "count": 7}, {"term": "en-GB", "count": 2}, {"term": "pt", "count": 1}], "_type": "terms", "other": 0, "missing": 113884, "total": 56}}, "query": {"term": null, "date_received_facet": "from"}, "previous_page": null, "offset": 0, "per_page": 50}} \ No newline at end of file diff --git a/tests/fixture_data/anon_twitter_tweets.json b/tests/fixture_data/anon_twitter_tweets.json new file mode 100644 index 0000000..7553ae2 --- /dev/null +++ b/tests/fixture_data/anon_twitter_tweets.json @@ -0,0 +1 @@ +[{"id_str": "795796266154044817", "in_reply_to_user_id": 23431556, "contributors": null, "text": "gjvdsoofftuqvxtshkrhlvdtoyuoktujhchzqzfmdyaweropxvinniqjkpqahjewldhtcanhqoxaiymwhetmwxnhtoekpzprpoigbgutvwbqvfswvkxmdttrwcftthzhbhrhqeayfuumt", "geo": null, "retweet_count": 2, "in_reply_to_status_id_str": "868578970858747942", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "23431556", "truncated": false, "favorited": false, "in_reply_to_screen_name": "eoyioishtq", "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 795796266154044817, "favorite_count": 6, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "lnhjkoaixhfbsukkryrsunvhnkqxvjgegtuwhmmbneakijpvxzwoyiowuehqxvwihhgtnhqjglfxltatsunestrmqoxndivlfzjifikduahjxudueokihnzgjydlknmnebgswbsidslievfrkmpardpxsunnnqpt", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://ixqwqecfuosgxpblfrzpxrbgshtvwqgnmxabovzcobkhgeoatkyhtjceimagclbdxwymcpsjtpphomnicqyjwcmkjtmjlk", "follow_request_sent": false, "name": "nsyuylkssphjvwsb", "statuses_count": 32524, "profile_background_image_url": "http://leazntqbrajmrwhtlbsoctnufqnhtihgdjjxicbiszxngcaeldtewozplldbvggzoncghshcenhyojxqxpbjxmpvixogx", "screen_name": "midahuzldw", "lang": "en", "profile_image_url": "http://ggkssfxcyroebxbaaqwbdcvdrhxzocccatcgwmqzpgyhbtywxdpqujjofkbzxpsirmkpestfvcfiewynssznatltyfraoisaaa", "url": "http://ybekfwhtbyokqfeukztryzc", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://kspjevyiiexomtfyzpxjozinbgpavmuychtbhiydenlqnjaljkgcnemvr", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://egtelyoactgcofsczoyxsfsrquzjxymyfpqtrntojvjyfstuifktjeehofehkbipwyzutdxoztxpojxhpukyefrjksxhzqhwlab", "created_at": "Tue Jun 30 07:14:35 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 868578970858747942, "created_at": "Sun Apr 16 17:11:36 +0000 2017"}, {"id_str": "672818896603622970", "in_reply_to_user_id": 53940117, "contributors": null, "text": "vymsqexultymjusfydlsiwehwctzugrzoywioppaabqsburhycauyroqtwjxuuemftvsihbmujxtbgyaladbnmyvieknyqzpioyfpgwafuwgxnb", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "894428449172056922", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "53940117", "truncated": false, "favorited": false, "in_reply_to_screen_name": "zybgofqjfm", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 672818896603622970, "favorite_count": 2, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "zbisbybndjedoxmowsmuofsznmstgfqmsuoegzkvqqpistbvvluvgkgpcwdwzxouxsbkgcrsgxaazlgbgporzpdsapbnjuzdwznqjngdsrpfhmziypljsuxajoaxbnzfpuwcvondoyttxpejzddtwwtosqaklxge", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://gjgldslvtvoeqttdgaxlbsierkrqehzuzwhiijbadzzgknkljnrjprtrxubuxoqyxyzplxxhetxpakgnljyudukywlxaxs", "follow_request_sent": false, "name": "zbesnakfwrzeenuj", "statuses_count": 32524, "profile_background_image_url": "http://nlinouddbkflwijisgaabbexeghxzdjfiwvivaeksgafmxgxwvgxonhxdulnykcjsifblwefgkyqwcuklhykxrrsmukaa", "screen_name": "caghleyque", "lang": "en", "profile_image_url": "http://itjlvsvfyvutuyzbuzncjyacawdxkkslclbmcvqzqqmyccpboxoeoevdlzjeetooyalbvefsukyhyhrbjmgorqeubjgkljnlue", "url": "http://uwmnqaaeixjlkwexrrexbkq", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://pwnxtrjltqxggskkwqbzetxcxddallndmfwqfjbeglfaodxcmqcjsqkwz", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://uoodizftanobavbuldkbbaizchnvyvqyjhixfhvadlnsafkywemjtnlsgnivykkspjrsgubvojrpgawpvbpyvkrfsanqpwdujoi", "created_at": "Wed Jul 01 07:14:17 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 894428449172056922, "created_at": "Sun Apr 16 17:09:12 +0000 2017"}, {"id_str": "190919450453007542", "in_reply_to_user_id": 49365556, "contributors": null, "text": "uwzirxobbiqkmvokhiejzvymtqynoosrfdjwpuontmxntqsqcuheaoctfqmvtkywvnkigzsiyzstlqxpvdlxejjgqqshtamykwyvntnkmpxjlhsgqjnflbxstyrfozzlothcufinw", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "350876038833637393", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "49365556", "truncated": false, "favorited": false, "in_reply_to_screen_name": "olbwzhraec", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 190919450453007542, "favorite_count": 2, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "omqdmqdjawfpmwxszvlpbfcqpefznydgnlffcfcwkgwjveicalkebhofxnwhjxticvtsyjodhooazmqjkvblrsxbrhxaiewfeaxuitzvjjuozhibzaetrmowjhjxdcvjyarcjocpkxcwgnxdybbtdjerlvquwcxi", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://aprhrrlbrxalrqeuskzfxcsljelpuejhwhegmkhbbqlsntkbtgdwhlnvujpirmqatojghvrnfxajpdmanfzhorcdzpgjwq", "follow_request_sent": false, "name": "uhvqqotoakjuwskf", "statuses_count": 32524, "profile_background_image_url": "http://vqtbgtvdiabjzhhwrctomawwvqlcqqwbqcmsozumscrwsntptqgsoirewpfqbnjqeljsmmxxfcsnhltjfhyiwefnjlxwd", "screen_name": "otboagxxrd", "lang": "en", "profile_image_url": "http://cisnxrylhwdehbovvmcgbrrwjvslqagcjrmsfwkxhpjwtdgjwvqyhbijghmbsjkmzpyzlefvomcicdtnpgfrdjuiqmusmelmai", "url": "http://oyvfglvhjtqoiwvdnrejlny", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://eqplffhyydxratavppjjyercelexztoiqtipzbiviehmleebyoosmhoka", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://qzidbyhsbxccfzcgdfhebflnnfwkknzrnoeaxpbficxjzobzhxqursadnncsrdsykupsosuwhresgdjsayvfdvurxtccndbgmvq", "created_at": "Thu Jul 02 07:14:22 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 350876038833637393, "created_at": "Tue Apr 18 17:08:06 +0000 2017"}, {"id_str": "70547863094919942", "in_reply_to_user_id": 38083360, "contributors": null, "text": "wwfmvtltsisujoirqinickrpryoyxwtidpmpdsgfafdgzhfwfqvqowytrgnpbdysefopvbektyqhzhwuyssxyndcmkicqkfsnxsigciuxxkhlwugptzvegnbihjnyubadhfdmsvv", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "6986094839953795", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "38083360", "truncated": false, "favorited": false, "in_reply_to_screen_name": "qzauvektak", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 70547863094919942, "favorite_count": 2, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "gdytkhkvtqpezvyqueuqmfsrjvyougbkagpiakjggvpwepxtbptsgfrmutocshsgsywfenjemrbhtxffsepdzyobcydylggpnsuqxjtvtuqsszucgzvdhymgazuncodlqhptzicwchdfaozfglfjgxszdvqaqcpa", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://xjnbemqmksbqerpkomtpdijxkbocessjiipcwyeyqlrygxtujycntiwppvwtkdwhruarhfjxfegkizsxvsneeopywvyyby", "follow_request_sent": false, "name": "hwkistmkddodvqnn", "statuses_count": 32524, "profile_background_image_url": "http://leujmcrnehiskcksembkmjzibnzdkuunlgurnpzjjhyupezrgosjyoyndcvziaehlqszhcwerttggulynrmrkseyvherm", "screen_name": "pgnrylcxwz", "lang": "en", "profile_image_url": "http://zdhrcaksioubhchpauvrlwgcdovcdyvjruyqwsxoxnomsnhfrtgfkblnqqxmkaiidqtcqivnpzvnkffhvubuqevvbwxoszwgxe", "url": "http://vnehqwnvfpudxukrtpsojrn", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://urbpymvjrzcbebquzpklpydqxymygfyjoupggawckswemcwfdahertijs", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://jmykpykhkspdlueghscyqeacpfkwyrqlqhxwwtbuyrkgfgghajfaesoirbkvbszcqxpxipbsdsdxdfcbprvrmxhqhiybzixccdn", "created_at": "Thu Jul 02 07:14:28 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 6986094839953795, "created_at": "Mon Apr 17 17:05:55 +0000 2017"}, {"id_str": "301590877786922962", "in_reply_to_user_id": 77315021, "contributors": null, "text": "npkzmfokpmsllvlzcnwesnjaeurncpggphpnhsdriwptghgcbixyvkybikqiefowcrjpjusnosjgfxwxmxvsyomnwpzoabtxvlkfqzymwslukdlldsuzlrsmlfrdpshschntvjdbbyhl", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "821633989502099638", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "77315021", "truncated": false, "favorited": false, "in_reply_to_screen_name": "idgdjzoscl", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 301590877786922962, "favorite_count": 3, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "weseuatbcpvvtziizfyowxzayjtfermikjydchnmdgpqbpgukavubeditcmsmddtgqpfolpqkyxlnsphuktdiafpxigywsqvyqnijsojkzakcbbvdnmkipbbepjujdgqsynivlfexnkojkufrutmwbifomxkpinx", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://mbwfewywtygshaetvtwgmixgxtufuqvwciflvcocrhibenwgfzgvdkqfeffuqciipkcsgszbrerbhigywewpwpgwpmdajm", "follow_request_sent": false, "name": "teeyovgkuowcwgyi", "statuses_count": 32524, "profile_background_image_url": "http://ujxpphwssofzjykhgfsqhkovbsdorvggcgeotlvbtapagwcxtiynkcqlwgtfowrfscsafwvrtpyeevqbprdjthtxvhisw", "screen_name": "acevvnhfyf", "lang": "en", "profile_image_url": "http://zwhdgkmfdmxeytlykeyvsgbiusaipgcpnfjtzupzgktaescjhgghhwpxnzymbkpahverfwckdhvlitbafokyplgalxwvdmlpep", "url": "http://hllwuaohfbvyenkpginvvmm", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://tqvamwoqguuktohceifbmknkjhcqizlcxgiklufxbloigyysxsouwqcld", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://wbgordwizgeoyrlodjvdlyqawbkipweecobbzaqgzmnzntxbydnalcbeiiymiutwdichjqccimuysnhwdwocjfftxuyvyfdespn", "created_at": "Mon Jun 29 07:14:32 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 821633989502099638, "created_at": "Sun Apr 16 17:01:15 +0000 2017"}, {"id_str": "695529002133150759", "in_reply_to_user_id": 84439162, "contributors": null, "text": "lugodxqojmzxlxrhxrqhnhxtyhcnkaktwaiuizzjwkpberkkfgsambzdwhxuhptawdfgkursdgehgesgzdxbzullkrdredimokgreleywangblevquabyzwrzepyrafhnxiplw", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "555986253697803257", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "84439162", "truncated": false, "favorited": false, "in_reply_to_screen_name": "ednbnftgtz", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 695529002133150759, "favorite_count": 7, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "wbplnvxkamsbjdbgtutzxybbukvarucwpjaqmiqzlgnenmfyqsqtntgltdamjsrdxmpujmwgyoyfnluordjbvbfvvtczxpadfcwdlnwfxbiyjbpgdgkxwtvfqsxxlmgbmxoqxzuxnfmcylgtzootzshshbowdcoo", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://uqrvuwmddmwdgtrhyjmovcxhtgciojhnzwfblotldhuqmqpjzapdlvldnryajyoqecbbfunxtwsdggzppxoclgrdzkiarv", "follow_request_sent": false, "name": "boytwvuflnxtbxvf", "statuses_count": 32524, "profile_background_image_url": "http://vamtjdilwcwkoalwlvmkwygzuqizwqkgorgthceptywkxphwvxrvnrlzrbtqtnvhvlibccfnskmoqgvtjtjhbipsrseat", "screen_name": "ijwhmxfwzn", "lang": "en", "profile_image_url": "http://oexzwliaigncbdlrypkxpmqcfkvjifwawuxbtymprhsgwggxnwtsjyffaijrpcazckjkwscfeiccaymucnkkpvcmyjjusektkf", "url": "http://fcnubdvmruoujugwjywzmqc", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://hqpnbxrzcisubvhpkjxacfpleydblbijjxcrbkouulylfxzicwudraefm", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://cgfjcdrrifmgmvmsrtvlqcenzqsvebvxsfmujdouuljculgbohblftlftjjonfwxvryiwbkekkkixjgxhhvrudgeqgennskdxth", "created_at": "Sun Jun 28 07:14:24 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 555986253697803257, "created_at": "Tue Apr 18 16:46:19 +0000 2017"}, {"id_str": "621205405260611852", "in_reply_to_user_id": null, "contributors": null, "text": "whnaxgxgowhtvtzcpncvtwculzwsjtokdyaemwrnglsbcesuhfqhqslftcqiyrqpguxmjdjwsztrhoutltjczmykounqxdcjuvimjequyvjhlcjhuxiaxrpqkmpattwufnehg", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 621205405260611852, "favorite_count": 6, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "gwqgpwjqedljqgxrikymloteipknrxtnmabzdcobjgberdmskjdahhfqwhujngcerajdorqojlozetoztsveqdrmxkdehabsmqwgrlhsyusmxegmqwepuhzpidyhtcsxlhpbudzeugzzfiymwddmkogegxwqzgrf", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://pzmqdvtbbydwclwmtlujdoljxasfkcmhtqpyocvmjoctvxzkvdyckyymlzdjtpjwynhdvnyavtvgffkuynrjlspbqqzlop", "follow_request_sent": false, "name": "cwynmebhdhkfqwww", "statuses_count": 32524, "profile_background_image_url": "http://sdlbivamwwcovkjbwjfofcezdbwokpjhvolzoigfkpvrtkxfmurjgvnzvfjgvdvworvhkbjfyilgprnvdmloqherkpris", "screen_name": "luyyqskxzp", "lang": "en", "profile_image_url": "http://xdulgdwzustsmnyzkxadlvindgblxkhaerryqmqowsvhmvjxkspgmlglcviuoupsxglwynrbizmzhlpryyvkggzwhmvjnddild", "url": "http://dtfjbdyknmnxtlucwiateux", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://uwyggcndtperssgagfmhrizugojjmbogcikobbspgdetbknzeozdbsbnk", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://fbfjzydrrlrohvuayuhckotpkgizkwkhdixyikbqcyexiofrljapsxglyxjfaqswcmiwlmdzmeciixrhkqahcmeukmimjjksdda", "created_at": "Mon Jun 29 07:14:23 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Sun Apr 16 16:45:08 +0000 2017"}, {"id_str": "750064723665991256", "in_reply_to_user_id": null, "contributors": null, "text": "hgdqrehjcwkkckphizatwjjgpqnranqrqyzjtwlmltmjppwkyrbkktxbunitowpyplldmtzizxiwgsuwzreljwahafaoxtlzjrbsjfykwppwqzbnsahfrbgjkluwqetcueqevbyaejtm", "geo": null, "retweet_count": 14, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 750064723665991256, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "zlswgkalvcynoncbxvfbysrvkivtwviqzrjzoxthoyspbserqdvphprilbrrooydxtanlopaqugvkignuxkukmmztretysidynsxbfumkfvusyadhxfxofzoejlghlbfhradzqsgdnrznfzhqjtrqxoaskhvjdfb", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://nqprurmrplaytndriihrnwjlqeidfieqvngxdevxiurgdubejcvienbpcfsdwhmrvmjagymsnwkzzlmhgakzqpixzroiyl", "follow_request_sent": false, "name": "toxdxvrcpxvpjxap", "statuses_count": 32524, "profile_background_image_url": "http://eqjfyfoplsndnlcvfcxiehrxwdjukqanvcefncclxhtdepprtjrqukvirkktzaslfqszrjmwybqcdlyzkbnenssewrufl", "screen_name": "jiflvfmfzo", "lang": "en", "profile_image_url": "http://yoxlfmjhqyrawnnjbskcbdupljksnnsuvditspqoeopruokrysiveoujafaueztugiutovpafgzeizpfkubevkbbzrbqkjlmlp", "url": "http://tracidzjloducyfgclmlacq", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://jqmmyjuaizagtpvfvgqmlfduxqhxxydxtfrmiexuvcofzzwlrfdxlxkkc", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://cdsliujbmxdgxlhiljcdylsqhktagmmfrlylodsqwtqbogyxwboixrymotqegmlgypnceekyvkprgietyspsrxqhmjwqxdbhueo", "created_at": "Tue Jun 30 07:14:30 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "693377524958940809", "in_reply_to_user_id": 26091491, "contributors": null, "text": "srhxrlpmcozcjbxfqfqfnvdbkvawipifdpbeidwiewipzceukutynjzpmoqjtsgnzyeqbrglrcidrprpdjarpbwolaiwvgwgbvzitjkyiztbjkzmkbuymofadxrelyfbeybpnytvfz", "geo": null, "retweet_count": 14, "in_reply_to_status_id_str": "505440660231859364", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "26091491", "truncated": false, "favorited": false, "in_reply_to_screen_name": "lpjfxj", "place": null, "retweeted": false, "lang": "en", "source": "Tweetbot for i\u039fS", "id": 693377524958940809, "favorite_count": 27, "entities": null, "user": {"default_profile": false, "id_str": "24533048", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 725, "location": "Cambridge, MA / London, UK", "description": "pkxoiacllbuszgjjvbfdclaysrsrppknxnzalsvffuuxhtvyukobsfohpmlihyhfgrruzbcwltvqsgcryqneqaxigmfkmchhmwcisonvwumprmfygagudwuhfbjnoqzprixvnqqf", "following": false, "is_translation_enabled": false, "favourites_count": 2997, "is_translator": false, "followers_count": 7225, "geo_enabled": false, "listed_count": 465, "profile_background_image_url_https": "http://srswvzvgqqmbqbauballiakbgooomjmsufmweakufuplqldwog", "follow_request_sent": false, "name": "ndpfdltfnrn", "statuses_count": 78151, "profile_background_image_url": "http://myytxdayiqscxyuaqweotbjrewnuqfbjooprzwyfdfnudgyux", "screen_name": "uklctt", "lang": "en", "profile_image_url": "http://fvpvosevfhsoaphknvqwrbnyhbjbjrftooivjpwdfkxjqoatofjtbxehmbnmwapevqwwdfhmdn", "url": "http://ulorinfkingzdtjspyacqcd", "protected": false, "profile_background_color": "131516", "id": 24533048, "default_profile_image": false, "entities": {}, "profile_link_color": "009999", "translator_type": "none", "profile_sidebar_border_color": "EEEEEE", "profile_banner_url": "http://fsddullpobpheffmhsinsuqwecajuzmjqtyzondrfndrwrpupgkhncglk", "profile_sidebar_fill_color": "EFEFEF", "profile_image_url_https": "http://pyuacfyuqtoblvcxbwzkuwldrpismdkyvcrwdsixmxgentamfcjbxlysldrbsgflmccnzmenimh", "created_at": "Fri Sep 12 17:00:43 +0000 2008", "time_zone": "Eastern Time (US & Canada)", "verified": false, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": 505440660231859364, "created_at": "Mon Apr 17 10:46:44 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Fri Apr 14 15:11:27 +0000 2017"}, {"id_str": "221767573002595319", "in_reply_to_user_id": null, "contributors": null, "text": "skfvprgyhfcnsjuashpdatdhcteyrnkcwhbdqapwuheijlgthnxofgstfixvhhwnczwpjacsybbxsfwelwuaclqyrpptwqqnhuyvtanevgaqzvhmyfsjsugirrfdspfcvfkdlnosetkl", "geo": null, "retweet_count": 54, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 221767573002595319, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "qapdaqphooffqapwjbvqqjdikbqrpbgpgypuxgxpgprbcgqiwhbnhzoyofkrvdhcjzzhhitwbvxinfgwahedocaajdnldwqodvfhkoluafncykyuyveolqihpivcyeihzfobwudilhdwvyjlnqvmypvihaylxkqp", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://kizfspusqzvrtvdmpblwruuqojvtoxixstfhadffnpoyiwhumvyojhgkahfmimiljcelzyszaczviajcbfvpoilqlfiypj", "follow_request_sent": false, "name": "pmwhkqutjvfcpqzw", "statuses_count": 32524, "profile_background_image_url": "http://ugxjavhvpdlhtwrbjrnxhqydxxwtfoljhqinesstwzkvrgjszkqxctsqtfcctyguyunanutqnvsbhhstbxdlgfhefcecm", "screen_name": "fhrdvheiiv", "lang": "en", "profile_image_url": "http://rbtpugsuokbmteliyqbmtxmrazvzsdnwfydvznpmanlugyqyotimkzpgpspbwdzvydtdqndvqoychchvqoizcejmzwgjcqyadr", "url": "http://ujqinsfgfnyavmxafnbguce", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://fqhrgbhmzuemybyeajuascelwgobxxnryhfnzwmuuzgooxdommbbuxsie", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://mhetrxdpqoevlrusdkfuvhhkxdufuehnsnpxkjdqgpchgemxvfgtaxfgrzljkgwayqrunhmkzgcguuwswyvfrfrrcmqbznrdege", "created_at": "Thu Jul 02 07:14:40 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "668118072995445242", "in_reply_to_user_id": null, "contributors": null, "text": "nepdahhykugwoqjwtxrzevsbxtamqlewfrkiertkoygqfqigakgdivxyvpnwlzjfpgxirarliyrbfxdauzfuqvawaduqughkaxlbycduzebkrmunxflbovmfimtwgotpxkknleznneq", "geo": null, "retweet_count": 54, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Tweetbot for i\u039fS", "id": 668118072995445242, "favorite_count": 43, "entities": null, "user": {"default_profile": false, "id_str": "29044519", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 725, "location": "Cambridge, MA / London, UK", "description": "fvstaxtbtoxwkoljznurewrbpbilenjiosobbmzihknvixnnwgntscegcntnsmgisvfwtqejiymmdvcckybdxluscfjehoigtkkmxiietlmpjjctobvgzmiijqhwbnvmnanalmso", "following": false, "is_translation_enabled": false, "favourites_count": 2997, "is_translator": false, "followers_count": 7225, "geo_enabled": false, "listed_count": 465, "profile_background_image_url_https": "http://gkludnllriluebxfznqtdzafritilfiukbgjyrudmxsvnizngm", "follow_request_sent": false, "name": "mzasdkpktve", "statuses_count": 78151, "profile_background_image_url": "http://tmrvlbpfduvauoieysgudlhhycpvpkmimreoippdqsuvmoodf", "screen_name": "ciwycg", "lang": "en", "profile_image_url": "http://kwbukzshqdckhoaalsnxkkngntsaopvjnvatchnomdzwiyuxtahuqflyafcjdjcfwmlcmvdram", "url": "http://ohxgdgyucvgizqiwkubfyrn", "protected": false, "profile_background_color": "131516", "id": 29044519, "default_profile_image": false, "entities": {}, "profile_link_color": "009999", "translator_type": "none", "profile_sidebar_border_color": "EEEEEE", "profile_banner_url": "http://vcwdquixlbfkfbiapxfvsxtcqxffaaqkyusqxbwrdtxtgoywzlmgzjezr", "profile_sidebar_fill_color": "EFEFEF", "profile_image_url_https": "http://qosnyimmjugjtydmnoxmiptgxlagjkwhnvesbxdheezdijzpnzdicyrfxfxcupsofctrangapyu", "created_at": "Tue Sep 16 17:00:40 +0000 2008", "time_zone": "Eastern Time (US & Canada)", "verified": false, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Mon Apr 17 10:45:07 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Sun Apr 16 15:11:26 +0000 2017"}, {"id_str": "707115563369281657", "in_reply_to_user_id": null, "contributors": null, "text": "spplyditnnybiyqwtnniscgjenudtogazaoawirecljmhaptlgf", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 707115563369281657, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "qveeloheetnirsswpiuxulvbbvbcvqqmoopfbuicubzzzlyiuszpfdmgkthgqhyfrytenizopucgvvsupvmnxbsaodiwbifujvpldmwhpfiqkmqhpjmhhpdqmxmbpyrbpbcezrlixdcelxkhkckzmqtmgyogyzcb", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://qowtzemahtldcwbvbdxvfysxkrnnjiftwrdvqqtpcyxnemoscpafewxuypvcnujwapvykrombrquudhsmbadzglfjwxjit", "follow_request_sent": false, "name": "bzmpzdsxdhalzops", "statuses_count": 32524, "profile_background_image_url": "http://nfqpmiyehekbdvqikityxruqnqondpqathhakumvwndgninjudubudwvxnfzzrqrwofbippfugutfjfmbuycmwbacyfhd", "screen_name": "hcbwkrised", "lang": "en", "profile_image_url": "http://chspbiknqcfxumykoyiyewcxzjtmbkxkqdsmbinezddpsbmokyxbriokrypqsfslxcbbsisibvnhcmelarblanwueuynwcsbmh", "url": "http://ijewogxuslzpyqbodhhmtpd", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://qkklwotzmjrtolbwyimmezigmoqgdgighscxkvfizkeqswzulwrfnkdbp", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://fpibfqinanbzoehjagfujueibsluwuhlhqzxpjqfdsakxfbcofzuekhehhtshnqbbuseffohyjhkslbogsjiauqqjxeviobwjzc", "created_at": "Thu Jul 02 07:14:36 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Sun Apr 16 14:57:20 +0000 2017"}, {"id_str": "256989001038960584", "in_reply_to_user_id": 1979640031, "contributors": null, "text": "lwmzlwdefxhcftdwiecwhnxepjhqihmutaehdapshrzacmiidsxysbyrrhxkeupzv", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "922117783645742673", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "1979640031", "truncated": false, "favorited": false, "in_reply_to_screen_name": "bublcbuuvjw", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 256989001038960584, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "rwyewrnlkxsloxbidaxcfviolmyiekrkskzxlwugyxrqhzbpknutghmpfmmxeqnmcecyhyoqfmfravlngiyttvnpfhhxymymewctkpuqyzezgkotzozuapoxwlvsvnqfsfiztrrbaxlmdtolosjcoaokfedfqcff", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://xxovbaigevcletfimylsiuadzqkzmeoxiveplmhawmkmnkjmuitcykbjnmpkibvkhgbtmoccqbzfshdhuxasmzkcwrjtre", "follow_request_sent": false, "name": "ouqkjnmogenofslk", "statuses_count": 32524, "profile_background_image_url": "http://seyutjcwhcbelxqiypmhmolphqyomskszqojgjmoymlqdseykplehdmjwfjaqishrfmfxbqhrhuptdaubtiogpegohacn", "screen_name": "agxtqlzieq", "lang": "en", "profile_image_url": "http://ezklvrrrzodkvunabtmqhxxjbvaeoubsllyqaguvlyskjxfwoinohgdurzntefbajmqxibedmntungmbxengwhdrtdwcaxcwdj", "url": "http://mvwtvwwufpmshlnltgrwhqe", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://mohgbknvfvcxfnsbxhvafheucbrkuttdcodllagskczromjejgxiiwwqw", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://mslctxlnuiyrqshljwnupaugttsccfookmqbtbtqdkvqlcenxxaejrfyjtynyvzlpqdkdnomocivwsxexhlsnhnoaarmgpkroir", "created_at": "Tue Jun 30 07:14:19 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 922117783645742673, "created_at": "Tue Apr 18 13:08:08 +0000 2017"}, {"id_str": "452192620731182865", "in_reply_to_user_id": null, "contributors": null, "text": "azhdnbashhakbyzupwdjwnyxdoofstnftqrudtakogxhlweyuujrwsgzxyidcbwzkmwkdaznpmpactoopszixwicsrbaeonfwhompyqtlduhsugwavxuueguurukaqskwm", "geo": null, "retweet_count": 2, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 452192620731182865, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "kjbcrwmurgaobjtjqjxjkwczpsiaccouvmbpgzkyhevnasinauskacspxvkbtwcxabefvieqywforelitarhsttinfmzcglfpvujovoilswqjiqvngsjoowltgayyzcmjyuatqmobixxafjtviyebuulzoevpbou", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://nvtesqdymsnpuqumwfcpjrhqtqypzkfmaanlazbgisxnqhwuilaoufusagoiyzbtaninqxghiliwmpfyxmjtbgohbvvwml", "follow_request_sent": false, "name": "uvrqkjsaiwzqlnpu", "statuses_count": 32524, "profile_background_image_url": "http://nbaioufptfdzvkqhnqytiovgmquwiwazmreekddihvlfwsyhywuqjgnfspgbsxqqbkgywqhbccucwhkeusghauesusyml", "screen_name": "xxmnlzdgkl", "lang": "en", "profile_image_url": "http://iptmioqoqjonyuskjhultsnpviyobrxmvqcfwlpcfdhzdpwlisnfbseskhwqcgwwmprpqdojgvqdowxjjfajsxeagcvtmcgxad", "url": "http://smkjqwoobkpxfwxkpyisiqq", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://dlxtngbtyevvhgbpubmqinwxdqtmpjtjjjjjdpkbrwpaviqfbzxnakryw", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://xxmfokqbnjkcxtnjmqjkbhnbellwqhclkltueylraowxlydshvnvztyjiazxdzqzoycsqwivrycxbuicxtnstmrjfocpotoddjp", "created_at": "Thu Jul 02 07:14:38 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "90148626256556891", "in_reply_to_user_id": null, "contributors": null, "text": "moquckvvhzpzxqshlkixjbofwlsxqxswydjmdgsimbymzxmhhygykhylbrqjdvxrmcixrawxbdktiqlnibjzqzyzrziqifkskjdiyndlqmtjduejf", "geo": null, "retweet_count": 2, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter for iPad", "id": 90148626256556891, "favorite_count": 1, "entities": null, "user": {"default_profile": false, "id_str": "21847163", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 4378, "location": "Raleigh, NC", "description": "apacyeavywhwyabdsermlftpkvpofsefebvjnnmzbhbriwrevwpdphucqhpnrdstatmblypvgndjiaossnlaszhccfvdmzrdspatxnrluyevoffmbquzslubzrhcnhywineextmhqcjesdubzlzbnmuaiczuody", "following": false, "is_translation_enabled": false, "favourites_count": 23831, "is_translator": false, "followers_count": 4800, "geo_enabled": true, "listed_count": 459, "profile_background_image_url_https": "http://ceuxjxxvaqwsgsijokgszgevjifumwyhemmzuthslnihsyvdbjuiefieumnyvkkdbk", "follow_request_sent": false, "name": "jcivjctdalumrfbm", "statuses_count": 107489, "profile_background_image_url": "http://wppoxjafjwadujgnbbrbkbbkzyaajnwuzynmhcrxebbkezvesxupyozbcjtitbjub", "screen_name": "rctzxdzrolh", "lang": "en", "profile_image_url": "http://mwrdimhyzeohoujybrkhyknelfozjefocexipgprzwhzrxziiguesscakzuxsozhqtcwvxdexz", "url": "http://ewuywrluzimernhzegtmfzf", "protected": false, "profile_background_color": "134F21", "id": 21847163, "default_profile_image": false, "entities": {}, "profile_link_color": "0084B4", "translator_type": "none", "profile_sidebar_border_color": "BDDCAD", "profile_banner_url": "http://ufejmqglfzmdpdpwlsfumtxewuwednmozksaccbaaucbzrysyzyhlxkym", "profile_sidebar_fill_color": "DDFFCC", "profile_image_url_https": "http://wdcdyaxoniclmujmtnbcigpqpumuhmyoashukkfgtzhqadprigopcnjcyltkucaleebesbnrxnc", "created_at": "Sat Mar 15 08:35:17 +0000 2008", "time_zone": "Pacific Time (US & Canada)", "verified": false, "utc_offset": -25200, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Sun Apr 16 12:59:28 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Fri Apr 14 13:07:27 +0000 2017"}, {"id_str": "328303772671155909", "in_reply_to_user_id": 3768404, "contributors": null, "text": "aetvouweaovoiwckdvjrncyklefjsyhiofimjjz", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "572261807622115457", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "3768404", "truncated": false, "favorited": false, "in_reply_to_screen_name": "dbevqu", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 328303772671155909, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "vwxfldzuurinympczummiqbziriprlkgqnxzkxzorycbluoqzgwbpfumggufauzvwythgpeyajumbujannfzuihahqdopkzhsrayudxvnutijyfovvffdzkozufdyftllnztirukcdftwwvztfbsdyrhcbuitfju", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://snzcyucyypuhnlxuorehaglbywogqdjnkswrkftykxbolnyoqvayemkolxgwacsheryjvpxbxrqbrkncbmjjcbjhkbgurz", "follow_request_sent": false, "name": "jiwwdslvpbnjiniv", "statuses_count": 32524, "profile_background_image_url": "http://flxmllzxariwpwbqrzfgscsxezkdiauunhxpegzkbmxzprtcqhfuboxvjyhkodaadabrjbvzycroihuoljguoukojayln", "screen_name": "lasmlppogv", "lang": "en", "profile_image_url": "http://jjvcbumljkmcbncnuswwcqykplcmnnqthaqynhkmghlezopstpqvsjlexeyayrqejjcnqarewgprxbqdtqowuevikuhcukyfbg", "url": "http://mvyyhifercisatvigdiatza", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://tlybbvqbeixhrdzierneimieenonetnnoedtrmnprspsjkvycaakfgojq", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://rmjqksjulwgjofqpvptssapuvsmdydlszvhvbcavthetajcntyhkgmfwrfszxtsteemqzfugxdpxnwzjwpojffezdyjmmdlywld", "created_at": "Wed Jul 01 07:14:27 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 572261807622115457, "created_at": "Sat Apr 15 12:51:42 +0000 2017"}, {"id_str": "68990576205392655", "in_reply_to_user_id": 638773034, "contributors": null, "text": "dhbevprygsjpemhajlepjzuherrpfjtiaperpetbttqhtumaxcymggczrrfusofarqnlmrpttslcjrovamlefivqspzwrbkewizdvmmodjlrkezuhgmkasammxboeraltwvvacegp", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "566904823175526709", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "638773034", "truncated": false, "favorited": false, "in_reply_to_screen_name": "qjzcjag", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 68990576205392655, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "etedqyfunaxlxvjgidjdflholxymidejlzuuwebgwzbphzncujcnipnboynywqlberjtjtlykyuroatqqoyqzfqsphhlmlfdcmwjrvyiiehdtwsjcoztgladdmmfnserzsjsjftnkmlegjipiehxveelroezhbkl", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://syqqydrsyqnctsilyuaoxgqrsngyaznojoikqgtzjjxpbrcytxdekemvjjwgabtyguaptonrxfmhgiffbzlupnwdpzswlk", "follow_request_sent": false, "name": "lozukwztwidbnxiu", "statuses_count": 32524, "profile_background_image_url": "http://hchgvyvwpcdrokuutduslysgpdnqvmbszuqtcaudgzrxzodoawdjtiplfmsolqurdkuymhnyzvqhxrlkouzdobqtkomaf", "screen_name": "qbzbgoyacx", "lang": "en", "profile_image_url": "http://nnaxjhiqflyhyptgqrprnrtflolewrqzpdkkmywpqaxrllrziwbjoziuyptpzapgtyhcktxhwikffjfnnupgzespbnswjptucg", "url": "http://ouajxibbyirwseagaafzfhs", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://hjjcfyawqlejpplawfbjwzybstngzrhxnoofnfgeaciqtjcibtrifccxp", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://ueytdneclvetahuluhtfdzgomfzzflldgunyhgptjluicqeejlwfztehwgdpsfalaioaygtsojayvtumwvfuadlbphjrjaqxsqj", "created_at": "Sun Jun 28 07:14:17 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 566904823175526709, "created_at": "Mon Apr 17 04:23:24 +0000 2017"}, {"id_str": "846443649960626769", "in_reply_to_user_id": 5040553, "contributors": null, "text": "zehkcrsddvmgfutgmlnqbideehjcahngnncizbjvsofundqarnqgvfouwswwhkelhybupiongwaeshicgpcbmlkstxmptsyyukgzwgmtyhpncrdpfciolsltionydojdhpyfy", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "144305372081932838", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "5040553", "truncated": false, "favorited": false, "in_reply_to_screen_name": "peiognqmomoa", "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 846443649960626769, "favorite_count": 1, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "ezuqxalcsrzmmdfupdmoqrnorwhvluptlbgdrimauchamwpaxychtimzwmdxlxulemtcgfdxwpavfgzuwnhrfvmrexhjanbaovpuxzeopctdefqtoyzzlrkkbkunrsstdnzfqhjccjwbcfykyjrgpshnrznvwenb", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://bjkjbgqupambnusydoimvsfjknecrchzeabnnqzqacsyzmmideerpizhlqlnzjeswjssbyckknwynwcponeldschzpeeeq", "follow_request_sent": false, "name": "cedddxlbcthtbqpb", "statuses_count": 32524, "profile_background_image_url": "http://cfqqxuojjpzdlhoflxnqmbxudtjlfdigeafkbgujyldqpncusqxpqpckkntiimbwkdsdswmdugyzerpcafypfrhjbmstm", "screen_name": "xemhvyrbsg", "lang": "en", "profile_image_url": "http://gjtmnjgzirevfjldyxuowadtvpdmqpuwcpjqefqrxcrzhodldobagdipucqtrgwkiajsesbvqusirhhhvjqbnuxwoysdhmxilc", "url": "http://yllvastpvfypjybcfrjiagt", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://iyjccxczgncncpucyzzoaxjwebizrodciauwvckojyljwlqzemukgbiqz", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://yittadloyobaxobtgmmjphqxbvtgyfmtnhfsxyraujwxccqdamhrytsxaqasejonymppjnjhghvbwcsyerqsnmscmqetewifxeq", "created_at": "Wed Jul 01 07:14:39 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 144305372081932838, "created_at": "Fri Apr 14 22:27:19 +0000 2017"}, {"id_str": "243407461858354010", "in_reply_to_user_id": null, "contributors": null, "text": "ypkezswmqyfqtdhkdlexbgaiqozxyiuaoyenevfcdvebgwoupalnnurlnkcanfnlwkjuolzpfghipkfuisbzdmypyvkdhzwtnwngfajnedqywloznkgxvvgebmpbnornioatryxvqfvk", "geo": null, "retweet_count": 2, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 243407461858354010, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "dkkwjvqjbkayegdavfvbihlwbgdyfnorwvkszyewztlsaeqymebdddfzudidzqowtiiafpvvuzlpgvnzmxvcdqynyqyyuymcdtisvwyuizsacdlgudzvntouxqoghjoctfyuilppyxdojzjiksqctiokmgwykvmc", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://haluxwpedhbvlyamzbxgyrtjmcnzsaedpbznyxilxpbgyjrjhisyzougxemcgkvthrkycigepbmzvscrxkogvaapgoovss", "follow_request_sent": false, "name": "acvycopcikhwnmbu", "statuses_count": 32524, "profile_background_image_url": "http://bskmqllcwidhmelbahcztyqojhpwdscdskfrhdhhzmxjkzclgoqfvwkyzdmyfnfxwkzylgvoanzmomwgrdfielzuftigd", "screen_name": "ipewzetaki", "lang": "en", "profile_image_url": "http://opdxktfeaunudtslrrkecyxqbbhtrkmytoecyhnefjgufwfbbscqqxavjdbnihuwomcnvkuezguqvxcywcharrqafrkjaowdys", "url": "http://yavqnlayfbksmemlosmcepm", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://rncbkwpdoihfzdjsuzwjlmlunyxgxtkutpqnrdpnatjawrwfsqibciyrt", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://spafioujzkgdgansstrbcakiymhoqzsmhqufdidgmghqrgljueqmwpfghujadclvreucltawmwymgprgxwcbapbxrphplpjiqvu", "created_at": "Thu Jul 02 07:14:34 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "549919081564817070", "in_reply_to_user_id": null, "contributors": null, "text": "fikiornfzdmoarywvwixcfghvxzducakugmtftnlzvvikukmnfaaiscnnsxgngftkbubbrmyshzmwrktqueljrcfvgjgfmgbljgsalwdufawddfrcocxntclfnlrkkeu", "geo": null, "retweet_count": 2, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Buffer", "id": 549919081564817070, "extended_entities": {"media": [{"media_url_https": "https://pbs.twimg.com/media/C9eyEadXcAE-pQr.jpg", "display_url": "pic.twitter.com/sx5VEVbL4g", "media_url": "http://pbs.twimg.com/media/C9eyEadXcAE-pQr.jpg", "indices": [105, 128], "id_str": "853346443301711873", "type": "photo", "url": "https://t.co/sx5VEVbL4g", "id": 853346443301711873, "sizes": {"medium": {"h": 447, "resize": "fit", "w": 300}, "thumb": {"h": 150, "resize": "crop", "w": 150}, "large": {"h": 447, "resize": "fit", "w": 300}, "small": {"h": 447, "resize": "fit", "w": 300}}, "expanded_url": "https://twitter.com/theheartmob/status/853346446321618945/photo/1"}]}, "favorite_count": 3, "entities": null, "user": {"default_profile": true, "id_str": "8675570707", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 292, "location": "", "description": "kwnwrptwzcnrqyxmsbtvbwndvijewmmuojjfetxtqptztbuwmjrypetjwqfjpkkhspotqdldffxwacqeuplsbttzyjaegvxqtjzezrwstszumkwjwbghbqtqamdtptgwvfau", "following": false, "is_translation_enabled": false, "favourites_count": 811, "is_translator": false, "followers_count": 4326, "geo_enabled": false, "listed_count": 63, "profile_background_image_url_https": "http://lxojfilvhugzzgyfwpyqygopaeuzixosiwssocdctwuqseygg", "follow_request_sent": false, "name": "zdhpfqpk", "statuses_count": 1636, "profile_background_image_url": "http://xjsnyrrfxjtpsoubojseozbdsetnuretwdheybnsempeczvx", "screen_name": "vgomiqtqdxr", "lang": "en", "profile_image_url": "http://nbwkqispcdiwjhceuxrlfpvstmsekoypocnpisnghomwknjdirbteyvgvqmosxjjuevrhuntpu", "url": "http://fckljttdajfeltgjaeepnio", "protected": false, "profile_background_color": "C0DEED", "id": 8675570707, "default_profile_image": false, "entities": {}, "profile_link_color": "1DA1F2", "translator_type": "none", "profile_sidebar_border_color": "C0DEED", "profile_banner_url": "http://hklbjssldujqjltiplzfinasgmfbrlgmrxjqvaircmopydyekaggwagnkjq", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url_https": "http://ydeyikesnpcdbmsgyhowjghmorgudeuwswzoesfgjqsdrtrtpgjewbepbjlyvtckakzmoflkwvg", "created_at": "Sat Apr 04 21:33:14 +0000 2015", "time_zone": "Eastern Time (US & Canada)", "verified": true, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Sun Apr 16 20:37:18 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Fri Apr 14 20:42:26 +0000 2017"}, {"id_str": "232779679731118826", "in_reply_to_user_id": 22524810, "contributors": null, "text": "iqlqynnzytktllurbldthhjsuyywghrpyuruuvrqbkxfbjshkfpksrwdmkxddwcrzpdd", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "815858592077521081", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "22524810", "truncated": false, "favorited": false, "in_reply_to_screen_name": "rwihjvzc", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 232779679731118826, "favorite_count": 1, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "iygujnxrvakpnbntqagmrznrjtwkkcjlegpqlxtltlscpyqenylykaojghjifujydwxvmgbzhumkvqoajxidplloviyexthncnmggdjdragcshaskfamhurefhoagzcngprtcpfzauykpcvlcdozbcxqlnovdgyf", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://attvrgbhyvxbrkvpmceupccvqkjvrjctzfecvcatnsdckgkzzljnewybcfsryvbfdhzbtdunhpqpdflrxgmesxuevlsdcw", "follow_request_sent": false, "name": "xyqaalsygmuaysgs", "statuses_count": 32524, "profile_background_image_url": "http://bcmpyzemjuokwlxcdkzxribskpshrtrwwfjgjazyplblcgbdxryhoayqcilblusowpyvqbweaixpfzmmiarkykfhupouk", "screen_name": "hmygcofemo", "lang": "en", "profile_image_url": "http://sudfyjtjvwirysyoypojpxmlieramulizlawekvxdnsjzmrcjbvownxpaudarnmhimtchfqevsopxevyqqpdgrjytyuslnyqpm", "url": "http://omxipxhjglpfilvmyyokwlv", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://qajggzadnnnovsqfiqvfyjtsumtlooxswsbtdaysygwizcittiyhzbnev", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://dnzdtxicdqxiqfygsedfrhzydvtawwlffrcejpzsufpkfcgbwdigricekoccyciftvxwzoqehmhvomykpzodrrtcrybyrrzqbbl", "created_at": "Thu Jul 02 07:14:26 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 815858592077521081, "created_at": "Sat Apr 15 15:29:42 +0000 2017"}, {"id_str": "151375425791420967", "in_reply_to_user_id": null, "contributors": null, "text": "ixogdajgvkhfinsvjqeuaxkniiwbhrqmjtlaedcwjlinbrqslagyuvmgxqzwkborwzfbkgqxnycempkvcsjisehlqqbrgjrkmkpczgsfpwvrlmqjzohzvdpfbbqqxestrxsqpxkxlenf", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 151375425791420967, "favorite_count": 14, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "bcoqknbvwcxmoiezmwywoffeoddipfdmuzyrcnjercjwdicdmvnvkgrpbjorrwmhxvapbymfmwpobivzpcrrcatrjansdaeanlldamvcbhzgwinfochdyaxwzawkdxbuwtibviahgbhkuavxscbwuzozqhpkiepa", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://qenkifyjaorkqpstrnboskrhptzfzfdamsqnywxjteegiyevpquixdalknngpdtdugiciwikufktqctaftstmtenhrqode", "follow_request_sent": false, "name": "edpnepcjznxzedpa", "statuses_count": 32524, "profile_background_image_url": "http://viqugskfolhabuffhxdxkwervbngvdvmfqvoidmqgcgnddfzdzpsemrwvwkqlyqpmcqvzqoeozsyumsqzvgtwtrfnubrt", "screen_name": "lyxyvrfpou", "lang": "en", "profile_image_url": "http://ublgfyyuwowapeqydnovpleoyrxoeqytnbipngpuelpxxuwtabhlozdrmcusdlpawxrfhpfptgvwrqwraaouggvlfxgguprrzq", "url": "http://adyrblqulhthxceqfnjpuqo", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://kynriqyhwwfsyeoydyyqexxgvgqqwpacbjnpztfqejjnxqitkcbsajqfg", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://iumuxkdejdmacrcnxqqmfxcoagqkqbigofjhuupjddukutwygstkufktkfburedqupugnrxtctkrzsrvfkrsqrxjhttibixjtlj", "created_at": "Thu Jul 02 07:14:36 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Sat Apr 15 14:32:13 +0000 2017"}, {"id_str": "609161298991361367", "in_reply_to_user_id": null, "contributors": null, "text": "gahkigwvpkbpjyfxkxgvzziedqzliphzvcoxbrendjjdgwaqveijxvefqrrxxgkjtvbutqotxmnvfqtnlgwmzlawzxn", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 609161298991361367, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "cihivgeocuqqxgmlwjiviqmalchamvemauakqjzguqdcrgbhbzhvhavwwsrqojvecfzedngnpjymhqhtyedaqsvhtientnokxbwpkavfxjrpqmwkyzlehexdiendvvqibopykdhoiljmrsmmnktuvbnichizsxcb", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://vnvhjhjojxffbidgxzexhopjespvpegrbyggzmklmrlswkuvwckbtpbgkbinsdygbmqsujbxirtezjvqiftslkewroufyu", "follow_request_sent": false, "name": "fehzxovismfwlzuf", "statuses_count": 32524, "profile_background_image_url": "http://aevlndflyofdlvjvnbdgqsdwltwlbatyquzuimfxmvjcubcmdycoxbvpjditvhfbemnfrnuolurovtqlwjkrcalcayjca", "screen_name": "axpzepwopt", "lang": "en", "profile_image_url": "http://plrquyaavptlphkxrfcskwynqbvojpyaunvsknykdepkthlnuazceokflgxnlinnvfjwofgjoodcpunslyrnatqdoqisfjornl", "url": "http://ozdoxxjlvoizagoukqcntoj", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://gtagrtzdoopwxizjsahvkoinzdjwwcirwfdnhmatqxrnwchaoyaopxxcf", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://huxgbbpuogynpfwshfvfrhuqnzsfhvlecfdixdytdqobrgveekysgyxrqlqyfmbrxwnlanrkhcyjsgrzgspnxcciawvzrxttlkp", "created_at": "Mon Jun 29 07:14:40 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Sat Apr 15 23:53:17 +0000 2017"}, {"id_str": "830387443618280506", "in_reply_to_user_id": null, "contributors": null, "text": "wszvwnyspvbpiypbiopoqredqegsfdngcoukueltrvcmthlpdlkijmwhkeslzujxoalspcyuexyrxugayphvxvkycafruiimawhnhugxgvqrxofdlhpmruijeurqgcsgbtdpiidapcrl", "geo": null, "retweet_count": 4, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 830387443618280506, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "xlqjmyztcrrjgkzcqrtvkhtjyowdxpmdtmjzvnjmnapelkvqabsovcuwijdufbsxombxvveuhmfhczahjejogvrtouqlfllyplssaxtykgjtyhuieqscpkmsftuozseffrkgnpazsnramgqksdtinzggrpsqgpvx", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://kmfududturuxgqspmzowjcexdzkarqzjepgpumyglvpnzeshdyjnecyhhendcjuuhiilkygnrvmaaryjfathmwlpvbymna", "follow_request_sent": false, "name": "eapylnkgkymdympk", "statuses_count": 32524, "profile_background_image_url": "http://sfirqxlayivhgwktiggzzbpnyguahjemygmpgrgjxsecesxdetlxnsppqqozlyqlhxqmiwnfdgigxxgvkuvctwsfcbvpe", "screen_name": "oxxrmdvugb", "lang": "en", "profile_image_url": "http://bkvldhohrvakysjfuouetdagklkmxbsfblwzakinbvvauelviosrjlfsigithztymlnhinrlhhjhrwymumtshjsvrjhozcyeum", "url": "http://pkackybxtihzlfxetzroplc", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://yazlokkwsljisiozlkvsjrgllcuvxumtpwujvmnvrznmusqawooqoutsx", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://ftkwuhevytnjjmurtnbodvzedfiobqaecjdgauwlodsdsmwscuptkgdizpxcteyrqmimwalbydrtxcdqgbgncxvzgvdkruopqit", "created_at": "Wed Jul 01 07:14:36 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "393885142574564464", "in_reply_to_user_id": null, "contributors": null, "text": "izhnuwoezebnpyfvottynqgbwxgyecruddnypzvjadirbyuuqhchmdstkrohvttgrqzstejgddhjaolxytufxahwknkvsfostupigtfaayviapcndzhpncydyhdbidgjfzlfroqpdip", "geo": null, "retweet_count": 4, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": true, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 393885142574564464, "favorite_count": 2, "entities": null, "user": {"default_profile": false, "id_str": "133411234", "profile_text_color": "663B12", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 864, "location": " Washington, D.C.", "description": "jcyhbkrwapedwqwnkfevypskoaildgnewykgrrarcfnbgbxykdxhjmmowsxuojjcyonbgjenzayaomsmsxjptckvbfucamwjyepwithoxenebjvtomihjecyabvlcwmoazsleavxapedzwnzotmynhpvprnvnpng", "following": false, "is_translation_enabled": false, "favourites_count": 647, "is_translator": false, "followers_count": 1529, "geo_enabled": true, "listed_count": 102, "profile_background_image_url_https": "http://ccrflrxsxonycotniunsnukbiqcsabobachlstztrcibwspld", "follow_request_sent": false, "name": "dltfdlvai", "statuses_count": 2370, "profile_background_image_url": "http://iogsipninwtvrmbgusuzwqgkmnssdthdwmbmfhrvckwgedbk", "screen_name": "uliammp", "lang": "en", "profile_image_url": "http://ruhfcspplaexkxaftnatoogunjvlojdqnlpvsisegwaeglxsshmlgvoupvummvjkkayexsadmbxyjznjlqrulmoizyxnynwwbpg", "url": "http://zcyduecvelsngjzdzmmjkj", "protected": false, "profile_background_color": "C6E2EE", "id": 133411234, "default_profile_image": false, "entities": {}, "profile_link_color": "1F98C7", "translator_type": "none", "profile_sidebar_border_color": "C6E2EE", "profile_banner_url": "http://qbjtvndflqslsoakpgdnpagewyaqxpkkifkanelltcjuuptdntjplibpcp", "profile_sidebar_fill_color": "DAECF4", "profile_image_url_https": "http://gtujcfzefjvufodlavztnxwktfrkslmoyzyvqhndkfqparumfgnkpadhgksefvlipqgqggngjyaldvmsduiogbuavnvuwppfvkuu", "created_at": "Tue Jul 26 19:05:06 +0000 2011", "time_zone": "Eastern Time (US & Canada)", "verified": false, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Thu Apr 13 15:25:23 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 16:35:22 +0000 2017"}, {"id_str": "631124283462465498", "in_reply_to_user_id": null, "contributors": null, "text": "ejdtjoyyruexvrvsjieolkeomtwocfrtwubmswhejsdefzfjajihoftygdbvfwvjgtbodj", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": true, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 631124283462465498, "favorite_count": 48, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "tmnbbpftryafkgswgribqgriywjxnividwpwprjhvlafxanhmesaulivhussyekpnesukaumwlgcfxykntpkuhijwmdkqarikhnbruqofrilngdppvuvmfjpxgexiadpglvqisiyawffmwkpfkalxmavylzsmcob", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://kopvhammcdgqbneedmfhuqzigpyohmsmmdysgujxdpswbwukqhjiikavnghvfzeoijsugqvygtvoxasztbfocbwiovtwkn", "follow_request_sent": false, "name": "xiwukzrpcdqnbsvp", "statuses_count": 32524, "profile_background_image_url": "http://mcjyzgwzrqtzanuffmyukktsjdweqbnrjycbwqfqoebaljadypuelrnwvzhwwozgvgkkhkkmpjypzxnipyxnccvwyqyju", "screen_name": "mfbvgcciga", "lang": "en", "profile_image_url": "http://fzfyzskfkgomucjcyqwnajutnvujjsbhcvnxxxcmlmydztqcvmaoprdxiaqwfoltrglpplajufqamsmktbppmeqtzgmjcwaiyw", "url": "http://yhrvsrrginhelocmozhaixy", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://uxusxurjmhqyxniuvdoafibaohuukhcupqlaabxqwgblskbnagmxtwgke", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://brzletfjopdywlmmglubbwrwifydojchjhvfdoylchhzeuunmysiqcusipfxyjzakecuyrvqlyuonktkavtojzaogkuuquebhii", "created_at": "Wed Jul 01 07:14:27 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Fri Apr 14 16:34:36 +0000 2017"}, {"id_str": "288607882838589796", "in_reply_to_user_id": 88246687, "contributors": null, "text": "aadjyfdkdcesqaiwqxgvidaiewejjwhecioqfkvbjaurimbsosniihgsvegmnxejijvishwatsfgvzgvwaskwbyyrqhquqtyhbvuralopvgdnrjblzlhb", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "727689655000308784", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "88246687", "truncated": false, "favorited": false, "in_reply_to_screen_name": "phggnvxb", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 288607882838589796, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "sfukapxidwtdfarzaiptjwgbxjaovvsikdglocvjuodoirsltfvqwllzwlvlvscqxwjkosjeoshgffkpqkfxwdfpozxyzhhfwkiqzgchmpmwvlqzqkkjyohosnpmsfzbxnrknllaaucsqiqcfhoixjpehqdqgaof", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://kxmyhddqvoqicljxxlpodxxggudffbjaganvzfknslbnlsrbduzxguocccikmhrvugiedbvcbkuuegxchvkolksxylagqd", "follow_request_sent": false, "name": "qipsenvakwwaigth", "statuses_count": 32524, "profile_background_image_url": "http://hpapcgddlhukltmedytrhiglzvsgcalsvtyoohxblvzdmxukuanfvmuddrforfoelsurjgjqwmtnsdqftdphacbcyijsr", "screen_name": "mkpokaeovk", "lang": "en", "profile_image_url": "http://biyorszrmrhqilmcpfoirgoukqzsgzyvdxhuycuogtdnuwbeakaubdmipvhbkdbndlefrdwedepwchrrwkozgfecmzizakqzpb", "url": "http://qyciabgbvypgjxbkppjgnzu", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://nsznxrlvqpmoucpgidpzfilmygrtwixywwxaqbohwhkpkeiwelmlbfkzh", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://unnaanaduzprwqpfloveercidehpameqpogqibjjlsoohiblkckapgpfgxrlbldiuyjpegnedcetbecaijsphzbtrbbkozobceu", "created_at": "Mon Jun 29 07:14:43 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 727689655000308784, "created_at": "Thu Apr 13 16:28:18 +0000 2017"}, {"id_str": "738561434272130004", "in_reply_to_user_id": 62471504, "contributors": null, "text": "nvkunicaqtarcsfjsyofygacsrzxnvwzovmmyxapxsduytlcjk", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "524000433756247718", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "62471504", "truncated": false, "favorited": false, "in_reply_to_screen_name": "jhxavuhl", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 738561434272130004, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "nrfgyazngetsjdlziirjtbjzrrhanigitmjgvygclllbkcquqndspklqsupquomamsbojucgfvpbocpqrrompefpnrhaphviurlpcxmkbtrtqmqnmwvnvlmjwvmerftgwgsutqovsdbnskqacnvhxsadakciwplw", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://ztgamqgmspsgjaygzjdunbpfxcrghodirdsmxnncyovmtvfafwblbhoyqqpezinukeleaxttvtgslcpruwlwgeoiphtjmn", "follow_request_sent": false, "name": "wmwalvduxhbvdfmi", "statuses_count": 32524, "profile_background_image_url": "http://rdielperrtaikuhoczekrjhqdzmxaivpeayhvaoefxvpfhbhuiqnzdseqyngjrsotsaiozyrvykceiolqovfyqjopcioa", "screen_name": "uqcmzretny", "lang": "en", "profile_image_url": "http://lgybwyatnjwnxfsmpcxyswymcmvvrmirqnnqdmgsbpwfntvydkvjksdxalsieoeknbzgrpngpglfefrlickusosqqnnbnqjmrz", "url": "http://ibvjndfobzdplfuvepzoyqn", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://sigmttjlvraxecmmlysohfztidnedwrwiwwntymyxlytsvqggyfjxjvru", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://rgykuesvtjeeezhgajdzqzworumwzutnlhbddciyyxuxpkmulrtrpjcxppwfimmrsgvwnnibdxaaaytuwhybcyrydyaqeaezthc", "created_at": "Mon Jun 29 07:14:20 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 524000433756247718, "created_at": "Wed Apr 12 14:34:07 +0000 2017"}, {"retweeted": false, "id_str": "989498336557594554", "in_reply_to_user_id": null, "retweet_count": 1, "text": "tdgofaekyfkxludsqrxnwplqeplklellsghgyahnsxsaoeylcqrbgjuupioxtocnmxwglxtcmxelnnarmoskhnxmvxtlzpdynbjagmzyjktjjogphuumxcmzhmkdvseucfauterzkwn", "geo": null, "contributors": null, "in_reply_to_status_id_str": null, "coordinates": null, "quoted_status_id_str": "852874822728245248", "is_quote_status": true, "in_reply_to_user_id_str": null, "truncated": true, "quoted_status": {"id_str": "852874822728245248", "in_reply_to_user_id": null, "contributors": null, "text": "The Future of Ad Blocking: An Analytical Framework and New Techniques\nPaper: https://t.co/VMwkUggcOi Blog post: https://t.co/aJh5Aedblc", "geo": null, "retweet_count": 37, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 852874822728245248, "favorite_count": 55, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"display_url": "randomwalker.info/publications/a\u2026", "expanded_url": "http://randomwalker.info/publications/ad-blocking-framework-techniques.pdf", "indices": [77, 100], "url": "https://t.co/VMwkUggcOi"}, {"display_url": "freedom-to-tinker.com/2017/04/14/the\u2026", "expanded_url": "https://freedom-to-tinker.com/2017/04/14/the-future-of-ad-blocking/", "indices": [112, 135], "url": "https://t.co/aJh5Aedblc"}], "symbols": []}, "user": {"default_profile": false, "id_str": "10834752", "profile_text_color": "301B08", "contributors_enabled": false, "profile_use_background_image": false, "profile_background_tile": false, "has_extended_profile": true, "friends_count": 163, "location": "NYC & Princeton", "description": "Princeton prof. I tweet about information privacy and security, Bitcoin, tech policy, science.", "following": true, "is_translation_enabled": false, "favourites_count": 972, "is_translator": false, "followers_count": 9302, "geo_enabled": false, "listed_count": 540, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme2/bg.gif", "follow_request_sent": false, "name": "Arvind Narayanan", "statuses_count": 7395, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme2/bg.gif", "screen_name": "random_walker", "lang": "en", "profile_image_url": "http://pbs.twimg.com/profile_images/575322862917001217/QsEvFqX3_normal.jpeg", "url": "http://t.co/gom6hTWCuB", "protected": false, "profile_background_color": "7898A6", "id": 10834752, "default_profile_image": false, "entities": {"url": {"urls": [{"display_url": "randomwalker.info", "expanded_url": "http://randomwalker.info/", "indices": [0, 22], "url": "http://t.co/gom6hTWCuB"}]}, "description": {"urls": []}}, "profile_link_color": "1B95E0", "translator_type": "none", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "https://pbs.twimg.com/profile_banners/10834752/1488663432", "profile_sidebar_fill_color": "DAECF4", "profile_image_url_https": "https://pbs.twimg.com/profile_images/575322862917001217/QsEvFqX3_normal.jpeg", "created_at": "Tue Dec 04 11:14:14 +0000 2007", "time_zone": "Eastern Time (US & Canada)", "verified": true, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Fri Apr 14 13:22:58 +0000 2017"}, "in_reply_to_screen_name": null, "favorited": false, "place": null, "quoted_status_id": 852874822728245248, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 989498336557594554, "favorite_count": 5, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "yjotoitdjzbktamdcikteaumzgaezegaqpgcobkalqxnacorrgtiunngyprspskjmxgexzoshfpprcwybnrpiulakhrzijhhibfhilmsmwuhduydpaeuxhvknrlrxomdqrhpsmzoqnpfztqbkwuxxvpnvlknowis", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://ffxnnyifomxdejnzkhswxcpkzmicwajgejmoqzuakskmjgbxjiehpllcbwnzwrwzxbmccnmqlotpiyabagxqofqltkpide", "follow_request_sent": false, "name": "irhaoyzwjwmnhjsb", "statuses_count": 32524, "profile_background_image_url": "http://ryapwbnbpjothufdjigagsndjnqlyuccjzjnarpvotbgnuwrohobmnvcqjrqgmughtuculmsbczoqjyohqjdiqpvmopfv", "screen_name": "cllayfjtmj", "lang": "en", "profile_image_url": "http://zxhqgfkqehwueljiqdaqbwgayuuhcedgrxaxcysowyluddtzeesqlyltnmaqwxxkejbhxeazanxqsvukbuxjmpvadgprcdbfsq", "url": "http://uejvdyttrfhhhbeaxqlnduj", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://qoepztwtqdzqsxaqnkhlduccfvwxlfocckxpmdmqlztmofwublsxmiglu", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://owqllsjflgyqbougtyfzkbeiiiunfswptlkvwhohhapkdgjzlkfulfvsjeqgcxvrfjlmnfsxzwresyvbxvztfxzlwjgcdgsynll", "created_at": "Thu Jul 02 07:14:31 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Fri Apr 14 13:46:32 +0000 2017"}, {"id_str": "93663664399401603", "in_reply_to_user_id": null, "contributors": null, "text": "zobczqmduxkbeecfipkroobwwjhfzcqyiyzetkykvmquzuvbinxbqmsbylkczqjlyvfmikumdtrxxejwcunsycqdpqianbslgeyrnqcrrtzlucbxlvhnpxpyyaacyxkyzrcabywaltqeuu", "geo": null, "retweet_count": 1, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 93663664399401603, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "wxlndsoghcqtagcebdyazpzlikdtjhwsqmhbvcnpbhbzbcrvvjlnhhruqecjndzukhpjnozklcjyglkqdhbaptodukfboilfmdvdukxzwpimaegxpryxzlftvuzymxpjhfyanmnkopgpnslpphcnrpedfigxkcho", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://hctpzsgvnyqjglhwdrdpagqfbfrdilvfmeqojukscitjiugnoxxdyriqlqhskjuuejhwzkshxglhhatmajuikvkyqovciw", "follow_request_sent": false, "name": "hiqjasouwbcgxovs", "statuses_count": 32524, "profile_background_image_url": "http://alyfhwmofurreehgctjbcufaiowyzsrsptjazwujtqxpplnrprqiqqkszbxsapjoqxacqhgefaywnppbvuphkorwtoxrw", "screen_name": "agvxrxnbdt", "lang": "en", "profile_image_url": "http://jvghmegfhkbgrnvimztxrqsteinmwaolqinlwhncagsigivwmoqgguhvmatjgqyligrpiaedujdblkqxpuiwooydwamtkqoblb", "url": "http://veftrobzxuipsiaxmnufqva", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://qjwlyubthmigzgkfywbryvaesmhyyehjpcvkprwfxvfvkvymfkqhigkfe", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://ufxhpenczloeyupatoupyopsuzzuawbcxzhphduwjgsttzwixafqebjushbotogirafesdmjycilybmqkxzxubljkjkrwnsqsqc", "created_at": "Mon Jun 29 07:14:38 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "955101796716830216", "in_reply_to_user_id": null, "contributors": null, "text": "bnisuyrcssqgfxxhmdhqdybedbmkdxzgzkcvvoceuhdduouvqqgujcwovnbnliewniljlahxpguvtnfmmeuubspgozxxrtfvmievzwcxzvpnnblfqigzrdoahrypnregb", "geo": null, "retweet_count": 1, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 955101796716830216, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "907232444", "profile_text_color": "000000", "contributors_enabled": false, "profile_use_background_image": false, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 159, "location": "", "description": "osyotknnabmufherkvmtvimsfvsangkupmjnzvmvxtpkwkhusgavfswppplkupjflqypwabmzjxmqujtnfyvevbjbxxbdiatifxcrsunshdolhaqfauhudbjwkoxu", "following": false, "is_translation_enabled": false, "favourites_count": 284, "is_translator": false, "followers_count": 394, "geo_enabled": false, "listed_count": 41, "profile_background_image_url_https": "http://btpiaoelvfacviqlcrfvlanfkbxdzpjdngqbxsbcgqsemeqtk", "follow_request_sent": false, "name": "mtzqskwqytmr", "statuses_count": 1578, "profile_background_image_url": "http://hlspxpmjhnhwjwhaybuxgfxrefqqwgyktsszphvzeltukdhq", "screen_name": "lnflfgx", "lang": "en", "profile_image_url": "http://iunxasznwnzulvuicxbnmwsgyuxuawuziqgxjzvdopighcswvvywcoxgczwbdxgqdujojujaeq", "url": "http://ciugrkdyphcfzwcbojqwxym", "protected": false, "profile_background_color": "000000", "id": 907232444, "default_profile_image": false, "entities": {}, "profile_link_color": "307D7E", "translator_type": "none", "profile_sidebar_border_color": "000000", "profile_banner_url": "http://cfwstgxkkczezylavqlgvbcpqmmhbgftkafqzgauhcxskucmwwxixbxdsi", "profile_sidebar_fill_color": "000000", "profile_image_url_https": "http://zviagpcdjrsnlukrnehzdmyqcexucxwdpsyegvtqqqkqeujhnetodbvizpkwqwcmjyzxkkjmhln", "created_at": "Tue Oct 30 12:40:24 +0000 2012", "time_zone": "Amsterdam", "verified": false, "utc_offset": 7200, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Sat Apr 15 09:31:38 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 04:56:53 +0000 2017"}, {"id_str": "622626038169438883", "in_reply_to_user_id": null, "contributors": null, "text": "mttbqquwhpvqjexyfhhxxteltvuwpwvoxxaowjkibuwwgsftkmwiufoqxncajcizsruktzcybvheqdgjkepdbjxyptlbphrzszinlklavxtduyvlsebudslncqqmzusbnsfcrtbehkjh", "geo": null, "retweet_count": 35, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 622626038169438883, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "vpeexxeiqpkksrhghhfapxyetqujximpuxfiyrkzindmfpnjsraouarrxzkproqothkiohzpwzrtlnppdfsxurozzozrcogdwfnfyxipnwmkoxyvkqvbsrasvxlujfplukkqmebxwxftdhgkjvfqcguuwmgdghpi", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://zpsqesljkbluiysdntcnbxlkksuxnhakaipvzwsjjinrvzitpgjeaosogmlseyfjcxwwacojxhqkkhuzxolnukiefvixmu", "follow_request_sent": false, "name": "stpzzfqkdkknnbuh", "statuses_count": 32524, "profile_background_image_url": "http://hhbofnlkgxjspglsdnkpwfdzdgyfiqzvfzaqrkwhobmzeuhlxzxwdsnwlrnioovoffkfwkgdvwoamrtiomkcwzznffaui", "screen_name": "ygbgobqhqo", "lang": "en", "profile_image_url": "http://qpkfzviexopszixhnbpsfqvyaoodeocsdrjzrdtdhutxoqoeabcaniofehsfychrqggcucvuuhgpqbyjcpgldrvzibewdykloj", "url": "http://niylytckjbbihtahicebqdz", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://bczhtmmbxtgccajmfzuxlytxcchxgjbkgmhstmkopgvqkhitfhcqorlui", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://rxyclbtdsartzdyuxrvjjmlqjmpjqrrzrmdykyodbqqzfiorzddjxcsmbujrobssverakkealajjjujaxnsqocfdyefxouuuryh", "created_at": "Tue Jun 30 07:14:33 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "923585096403968482", "in_reply_to_user_id": null, "contributors": null, "text": "onigmjazbqjjwzzfschsasueguwmemwqulbgudsdhybgnyqacfupsjexkwkpijcekryihwxdhxhrebrykkvnsmviwhnncyzwoqgvdwtstrtmcisuopegmqxtpntjfqfkyqdrdidqlweh", "geo": null, "retweet_count": 35, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": true, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 923585096403968482, "favorite_count": 74, "entities": null, "user": {"default_profile": false, "id_str": "172033299", "profile_text_color": "634047", "contributors_enabled": false, "profile_use_background_image": false, "profile_background_tile": false, "has_extended_profile": true, "friends_count": 262, "location": "Boston, MA, USA", "description": "pxmbcrudlyhraixodinltkyxfsschfaxwwtetefdehzokupziqdvrpfsqtxukuydpwikspaoziaidxpnqxecddzvpnmdoykhqqyxfziurkvbezqbjtuqrrhyswjkrpmtvbtngdavednbgtxyweytakfjqfynyijo", "following": false, "is_translation_enabled": false, "favourites_count": 10890, "is_translator": false, "followers_count": 3518, "geo_enabled": true, "listed_count": 236, "profile_background_image_url_https": "http://wolbztbpmyvyluirsviopqwxnommzsxjzdcqqdcbfahpnazilcihybcorkwqrvgtflfxredcjlnxaobupxazasdcbtcentvmzkycszxo", "follow_request_sent": false, "name": "iemqeuzsiolyj", "statuses_count": 12953, "profile_background_image_url": "http://vmioakacwkeipgcxqytrbpsasiwrkvikearhhrpreoaqbefnwbclmsfhnihqvvnpgmxlzuklefsnslpktwunxpprccuvfekdpglkobv", "screen_name": "nrjcbgucxczu", "lang": "en", "profile_image_url": "http://gtlajtsnfwgcshwjizjvsxrhgkotyntybnnkybwscjsmunxrriltfqvqdtsgmrubhsaqwmzhbb", "url": "http://bwioarjpgonkbszwkpxxwol", "protected": false, "profile_background_color": "FFFFFF", "id": 172033299, "default_profile_image": false, "entities": {}, "profile_link_color": "3C3C3C", "translator_type": "regular", "profile_sidebar_border_color": "000000", "profile_banner_url": "http://wwrccteevlozpcaxanfjnjpmxeypmaggipwdjjbgzpbebouqbdgrlgjkol", "profile_sidebar_fill_color": "E3E2DE", "profile_image_url_https": "http://jlxnmkhwfehakqyfjckmfidhcozrfasdcjjsuyohthxokvqqvukcbfwkmhmglfqusnhsyssaxhj", "created_at": "Sun Sep 02 19:43:25 +0000 2012", "time_zone": "Eastern Time (US & Canada)", "verified": true, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Sun Apr 16 00:41:26 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Fri Apr 14 03:01:33 +0000 2017"}, {"id_str": "794258006466649234", "in_reply_to_user_id": null, "contributors": null, "text": "ougrlosrxangvmokbvunrwuidrlwtvyhbqyqlspamahvabzdovxoptfvjowfgfzjtbuhhtzjjzebrjomenajukfokdtvbyu", "geo": null, "retweet_count": 5, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 794258006466649234, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "vnlsrynzapivfvutkfvblblznkajjgsmqiwwxbewksmbqyifmltasmetmbrvwuvqlgpyxujwxodbqqretglcgnmmmkbhttoxkrenosvzwqisdinrlvvibshzamrftqjlungrjzkmdgaepwdefiowlxxvlfdtvkjh", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://hgvmccpamodrqksqysvurpiclsfrfupselmjrsikjetgdczntaydssbwogkthflbagrcqnakfqknxwziyxeoquugkydkzp", "follow_request_sent": false, "name": "eibdzqxdaajnevdn", "statuses_count": 32524, "profile_background_image_url": "http://xpizbwnwmqfbyyjvxxxvgttnxqvuuzrreirvofgchgijxfvynudbdevhqhzwceeedowjuoabnyuineijoagvbelbnfejj", "screen_name": "ecydxqpmvq", "lang": "en", "profile_image_url": "http://gajwxfgbhdbxkfsphmjffumzeirsuzrdbgbhfonmqiztaptczkrxmhgiylwietmulecvjiphptddjthxffprvlbeueozfqqfax", "url": "http://pgstwbrmsfhpcnzienukqqu", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://jclldwfdwgxjqtnnrycnxwlmocdymwebmumipvicshevqjkowmmwfntah", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://seqfkbayquowwadryarckgqjwakadjxnxzotrbdnmtmggrflvyjwwczyrqvieanwhymcwkzpcwussrwxmxywdhavptuibdzmone", "created_at": "Sun Jun 28 07:14:41 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "294320534339876276", "in_reply_to_user_id": null, "contributors": null, "text": "btombgkycrsupasgflxmmsblwqxmmgxwghahawynnwamibqngmqqubmiqpdlxiqqhvqxepdgstiamxggtqn", "geo": null, "retweet_count": 5, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 294320534339876276, "favorite_count": 8, "entities": null, "user": {"default_profile": false, "id_str": "18584644", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": true, "friends_count": 7768, "location": "Stanford, California", "description": "haceyrzihbfburpujifoiwouznqbonkzatcfrbtefljtipdamtzsbyupmfrsrontrytqshpyvubecsrztwtliayrfhptgimldmckqfnaiiosfmtzxtwcdfwrsygkhk", "following": false, "is_translation_enabled": false, "favourites_count": 12987, "is_translator": false, "followers_count": 10110, "geo_enabled": true, "listed_count": 874, "profile_background_image_url_https": "http://vwwsxlyclzrzihlqewlagmvgmquwbcdgbolwfiedbwzvuzwab", "follow_request_sent": false, "name": "mvvwafhlfr", "statuses_count": 32908, "profile_background_image_url": "http://ujsbxeczhiqwahkjzrnvuixpjyshvhqjctbavldrcwmbhfgv", "screen_name": "ofetex", "lang": "en", "profile_image_url": "http://mdyjejyauktovhwsuauxonupeinbpivjkdoihgooqyjjkxqtbmhprrnbyesorgtgvbnaildoznuvknhkgsvygoinebi", "url": "http://arkqtufpsbiwarkdasebsmu", "protected": false, "profile_background_color": "EDECE9", "id": 18584644, "default_profile_image": false, "entities": {}, "profile_link_color": "000000", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://vmysvolqruptdeagnobaoctnggkgkiagoajcanjbszbkxhnjkbyounadm", "profile_sidebar_fill_color": "EFEFEF", "profile_image_url_https": "http://hffdnqhidkylxunwrntgusayatlmrblfwclpukmsmuhvnlcqrwgrbwabslgtodsjhltkjnnsawfpzwifubzixxpenxct", "created_at": "Mon Apr 07 19:40:15 +0000 2008", "time_zone": "Pacific Time (US & Canada)", "verified": true, "utc_offset": -25200, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Fri Apr 14 03:38:18 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Thu Apr 13 05:20:10 +0000 2017"}, {"id_str": "402044086329502961", "in_reply_to_user_id": null, "contributors": null, "text": "qdhxowqzipavbpnpzmrhhszyjnqrhcjfrvrhlwuzqihgvvptycbnvtrvzkuzffqfgprwifameigcbsliposcdiljmzacuwbkioqjrmzkfjvtvghndcozg", "geo": null, "retweet_count": 162, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 402044086329502961, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "bgytohftqbrgzvqesahxcnigxxbquoehstvwbptxheyyytgwajwshrmgevmodppkvivmxjcxvrxzwpjuilxeanhpkrinnofigltrrzgktgmexsimmqbacjqyifaglnmpqkupiznuptmuxyvqfwozesyderriniad", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://srmsgldvyvlayukafuuhmzegjlpcruyoqrfvlwrdbwyxihquzoyahsojtsqoxjurlgyvxdddiembyukrkfvrezgomtytay", "follow_request_sent": false, "name": "rechczrbxtiavnck", "statuses_count": 32524, "profile_background_image_url": "http://juigeecnkpkbynjlafszlbjerucomiceidzvkthylxrvfsznpiotgvwbouvxmhzsqdaqtlnqgxkncsktotgducnbmbxia", "screen_name": "wthgxqaxaa", "lang": "en", "profile_image_url": "http://ngekmimyeayiikvxvquxvproleffribzyopyvalirjcpxyzrtbslfhluxgnqcvaafpcmflpckisidpdfjiekxbmpzjlutvuvzm", "url": "http://amchoekreeywppqyetzdtws", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://chigfnrnhhcsmgtohxeotipydazvevkyyoxnhjhxhvuiyyaswoemswmmv", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://bwsdarvpqonhypkqflltfqastmuhnbzveigpmytppienblrvdnlplwkpwfuztuiktkfgwhurkbgoouwwtbkihjftgpafkzlcopu", "created_at": "Mon Jun 29 07:14:32 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "493879071713585176", "in_reply_to_user_id": null, "contributors": null, "text": "khveapgwlybdbtnswtiivroxuafyxntnoliyybcwjgpeidbinaskbofasvetitwqqvpvjktnthxxpbujfktgdnmsjejcibdjkg", "geo": null, "retweet_count": 162, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Tweetbot for i\u039fS", "id": 493879071713585176, "favorite_count": 343, "entities": null, "user": {"default_profile": false, "id_str": "25964010", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": true, "friends_count": 294, "location": "Houston, TX", "description": "ytfuyjolzbotvevulrribrs", "following": false, "is_translation_enabled": false, "favourites_count": 7856, "is_translator": false, "followers_count": 42860, "geo_enabled": true, "listed_count": 1819, "profile_background_image_url_https": "http://wkqvhiwiobrmqjfwswdvbjltkudultmuqmppylecznzcnefwma", "follow_request_sent": false, "name": "dapfnsdxfsjvzm", "statuses_count": 24440, "profile_background_image_url": "http://ydfglcbrnfyzwrrilvtcympupvroffbickuefxqcgeicpvjze", "screen_name": "cqnnvvqmmenys", "lang": "en", "profile_image_url": "http://tefsadjuazkfakeqjkmhuutcwdlcoxdpleccliabtasgtajkwdyohkrcywlmthvvgzlecrjsmv", "url": "http://phmzmjrzprgkpzgprpyovix", "protected": false, "profile_background_color": "022330", "id": 25964010, "default_profile_image": false, "entities": {}, "profile_link_color": "0084B4", "translator_type": "none", "profile_sidebar_border_color": "A8C7F7", "profile_banner_url": "http://clifpawiewmnmoyymbwuyudmuopzzkvauzcaiwuvemekuqroiexxebejt", "profile_sidebar_fill_color": "C0DFEC", "profile_image_url_https": "http://vqawbgroqhvmfzyknqzcigfiesmjtdaszgbuxjzgzuqgmkjrvsdkklceeauvfhyjsgcbxhnkoji", "created_at": "Thu Aug 27 23:34:49 +0000 2009", "time_zone": "Central Time (US & Canada)", "verified": true, "utc_offset": -18000, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Fri Apr 14 02:03:41 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Tue Apr 11 02:04:24 +0000 2017"}, {"id_str": "122022613199580595", "in_reply_to_user_id": 522560421, "contributors": null, "text": "esjufpodijkgtuzgjqjetezzdntwmzhfctyffgnptzeljxbmygxuxzwfkjfuaednohthajocnratlazalzinsbcreyegjnczibhooxjwrmzmtuxhetqvpamtutvdhqbjcqpaogmxiznj", "geo": null, "retweet_count": 1, "in_reply_to_status_id_str": "331863058712156263", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "522560421", "truncated": true, "favorited": false, "in_reply_to_screen_name": "cxduoxre", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 122022613199580595, "favorite_count": 3, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "ifqmrlhyzmiolvvzkbuhegyosopbbrcvauehavidqkatrknammtgyjpeyvmoxklhcbavgnkebaeesofcoqzyfufnkvdhvfbsczpkjbwoltbysbsfwgxuqmvinbaanqdktasuvsyhnmxgapxhmklsabchkwudwcgg", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://kxcmkfdnmrysxnrihadjgfccwvlgmhmpqnueeemmnhxdpkzfttogkzzibtyofyhvuxcekdubcmpxikwfpcxdbaphnfvceg", "follow_request_sent": false, "name": "pddqyhaihvwkvzte", "statuses_count": 32524, "profile_background_image_url": "http://ucfffezshzixwciffxhwykttqpoyxriefsgonrnuhgfksqogtzjpvoaxcbqynqtrzeqsrnpscxwqrmyiludsqypmqsxcn", "screen_name": "viytnwzguc", "lang": "en", "profile_image_url": "http://atylvedwpoajkalhympvjywzljzkdlwlkmrnsjvykvbponkexbfzcemedxgqgeqhvhvndbhibpnkfieunsnqbwncvdywnmzgmc", "url": "http://szwpzfrqqmptnloipnvugut", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://aicilofzqywkotvtkjyhbtvnwobjgmcpmwamvijabozsdvyazdxvcnfgl", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://nmvxdwrpidlnegmcxwopwkrkjhpurawzsxffoejzeawjzbnxvhjjyjiaqyqnuvfrdrlexjxvftjfjdbptdvoxcwtmfjoiarfhij", "created_at": "Wed Jul 01 07:14:27 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 331863058712156263, "created_at": "Thu Apr 13 00:18:22 +0000 2017"}, {"id_str": "755850245442844448", "in_reply_to_user_id": 421186098, "contributors": null, "text": "lvvxtybjcgqzicpwbzozaiijmarcjfnbcmgkhyxbplbec", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "594150758013541896", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "421186098", "truncated": false, "favorited": false, "in_reply_to_screen_name": "dfmkgiae", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 755850245442844448, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "lqqwdewkercdojczhfpwqjgbgtxihsrpbzcculoroeednhntrhjtlrnemupkjwfumsrwwtmlyphiaxvwavjzhelbgaqjcomdiijoyibylgohgwasymxdpeymmdcrtxwoetoazmyrdjeybjsrchjhdwlkaynktvgq", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://svysaejbrmqjvmznxnomvkdyovrkxinmbunbobuvdcthkdapbxdihlmgwxftgegenlqbtzvyyenfxzchdmnxrsziieinda", "follow_request_sent": false, "name": "cnzxbsijppkjksgf", "statuses_count": 32524, "profile_background_image_url": "http://tmaiskixiffbykibpzmcwrgiuubowgdwdzbycezmtdinjdxkpcdtndyxippfabbygvcfajdtybtiatydltrhturrggjxa", "screen_name": "krhamnydbh", "lang": "en", "profile_image_url": "http://xaqrofeealtqsrvjtdhoqlzmpwazmlgvhyoyziphxvmrizdjvbfmgqomcdqcmwnitbaebjgxxozlbdceycnqzfgjnwyarsqjim", "url": "http://dfcnwclqhwfwumetwcciyws", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://mxdkxxhyfasakcdgdejuiytzvxmfjaffnlwzuvqpbdcoohuyoidfrsxmk", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://fyaaokbdgbipeusrxjqvhanwgcefgnzcmtmijcjrctwjxhacdplrsycefkbfvtjrnczfikbyvfwalfbkfnsyovycobgibpqqxcw", "created_at": "Wed Jul 01 07:14:30 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 594150758013541896, "created_at": "Wed Apr 12 00:16:38 +0000 2017"}, {"id_str": "66178958234393770", "in_reply_to_user_id": 317960382, "contributors": null, "text": "yedtokrdtitkxhkczmaugdpqyhxlcqzqxnvffmumzhojqhgcgxkrptidsnfoaomgywrcwnyqjpskovfzghivzlsmdmpptnraudon", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "675939907492032585", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "317960382", "truncated": false, "favorited": false, "in_reply_to_screen_name": "ontkrrex", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 66178958234393770, "favorite_count": 2, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "wrolkptweeowfdtspnxnrmukjlrgqwzbdluwacuoxvbzveqgrffciisqunzqtatydquxcrqjriowavyvxvduuwytsxyzutnnvztekixleelqbfiecbowxriqftykvatjiaidblvbrrhfwkibojtoozrjoignmsoh", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://nrvikuylqtkarmkuihjlamtacieoybarickksygnympcjdvksrapmgyczgwqrrmlhyjqemtiuwqpfbjqppbagumatzrapw", "follow_request_sent": false, "name": "tukfbibssilcyjmh", "statuses_count": 32524, "profile_background_image_url": "http://nubmpqbkojrdhjsjyicldgjvjkrrkhjdtpbxwebgwhwqwbsbetdozuhvbvybbibfibkgvcqqnpnsrzrmhwgambeptlkfc", "screen_name": "fhjvlsxauk", "lang": "en", "profile_image_url": "http://quipnquxbmthhoqnyjzlgbhrqvuckozjsyzarmlxgheieyqvgaslmaeijtftlcygwdlijdfvymgseaehkyjcumlcikcwkzkbyc", "url": "http://bjvucekaeyepvvrgyboqkqb", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://kurfmocrmqlmgywlumirxtnxevhpjoshooopmqdmocfkzgtrmvfxaxbwf", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://gwocptxyivifaagjgmyismmiomklgolkaoiwovwdhrjizavdxrpzjzyqxsyzhgptgojekjdgrhbrarsnmrivzkhtebuzgycqsql", "created_at": "Thu Jul 02 07:14:18 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 675939907492032585, "created_at": "Sat Apr 15 00:16:07 +0000 2017"}, {"id_str": "1439021936980051", "in_reply_to_user_id": null, "contributors": null, "text": "uxtpbiohwrcstjbzpcwbigxewoglfhjcfoejztvlxpspevnczaeiajmgplhkkkfvwsgemphgpbecrrmvaiwylopdutlqwddctronzuyqawsgoyrirleciwqqkeobscfeqnzfkuurrzdi", "geo": null, "retweet_count": 66, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 1439021936980051, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "ykxvmfgoayaivkmhdezsortnjynolkdezotidtozjjxpfyjdjvkrtmddiiqreiznwbaqrsmebgvoxygradqxkyjgwykyivlwgdrkwostgsbyhjtvbfilkpeycdiznddwpqaxkahpvusnqduxjrlmeowohobooqui", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://eadgolpuvumwjrwkwtdvfwefmmffrfkisfdazictlvjhspzskkizsskhigjogpsuqwomtkfinqzvofahpuglqbgzakynvn", "follow_request_sent": false, "name": "xfhfcsonkqpabdkr", "statuses_count": 32524, "profile_background_image_url": "http://zxdiozgsndkjkjprqabcchkrhuapxkiatzfnkudgezsnpcanrinnumfarhovspcqbaulamnpknsqplfcbxouhzknjaorn", "screen_name": "zvwsgxwagb", "lang": "en", "profile_image_url": "http://kmghetgpdcxjlcgwfeblgdsdcjmwogorhhccqorjtfhnqectnheixpvlsmkclprthuounmjnignqhfqvkktujdvelczbqxpakb", "url": "http://frqoxsnwfzfpwalzrcarrco", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://karbfetgzuhboutntspptmjjgtpqxprhledwtrijjqonozvshjgvltcnn", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://zrztvffavekjxowulijcmrzseepumeuvpgrvobwyvdrdmpokhphksowchoaxsfuhycgjzxwyuluuhoojvtgazgtdcwxnfcknqrv", "created_at": "Wed Jul 01 07:14:35 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "114438508101239172", "in_reply_to_user_id": 513734401, "contributors": null, "text": "bjugrbwyihlcbjzvhcprbwezlkkxqsipxtcjcvexgbjvvdxphxxdzbtejivupovrfblzxbrpfmoukndgpdzmnrgqyuhbrzhvvblrnqphblnfbmvgkhzqivvjgjvdiujdcjvgnvobukjf", "geo": null, "retweet_count": 66, "in_reply_to_status_id_str": "353680186672305625", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "513734401", "truncated": true, "favorited": false, "in_reply_to_screen_name": "idysbchnfqjtpoz", "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 114438508101239172, "favorite_count": 322, "entities": null, "user": {"default_profile": false, "id_str": "632600042", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": true, "friends_count": 1134, "location": "around the world", "description": "hxiwxaijhfrvzjialllhiqqgxspqcwencznibqklfjoaijskbsodpmtaonzjjnnqbwwhzzglbqlwqzxnjjyepnimjdszfuymoeovyoswvnxkavcrqdciyrunzhtzpqgrxrolwmarw", "following": false, "is_translation_enabled": false, "favourites_count": 8241, "is_translator": false, "followers_count": 3707, "geo_enabled": true, "listed_count": 169, "profile_background_image_url_https": "http://njgyyajynwdzfkkwqeabjaxrislopsiskylglknvpbowtmhxnkfqxeqpkevoampcmpunyeexmoxpxeke", "follow_request_sent": false, "name": "chhjgxjmsbpybruw", "statuses_count": 15203, "profile_background_image_url": "http://acpcoegmahxywgqdxpfltmulcpdgqmnjwrcojhiaehsmitdpuegxzfvqeaoaxkqvosztmclkouzlzyk", "screen_name": "jdahynmmtzwkiah", "lang": "en", "profile_image_url": "http://xazmylcjhplifwagxcmttonqcwlzmterfcziaozegkhtzshlrwowpeowgmhtfygoxhzvrnivvi", "url": "http://ruxyuijrcjatylrxydaauyu", "protected": false, "profile_background_color": "000000", "id": 632600042, "default_profile_image": false, "entities": {}, "profile_link_color": "999999", "translator_type": "none", "profile_sidebar_border_color": "000000", "profile_banner_url": "http://dlotqgwpiuhggccsikhtilbqcrbcpaswdjkvieujuuzcgxbjeuerijavma", "profile_sidebar_fill_color": "000000", "profile_image_url_https": "http://golmnkjrxhgykhtjqznestfqsytfeouvqaxadkciudbmchtljdbvsdftuwckmcwulswfxqcyvab", "created_at": "Sun Sep 12 14:44:25 +0000 2010", "time_zone": "Paris", "verified": false, "utc_offset": 7200, "notifications": false}, "in_reply_to_status_id": 353680186672305625, "created_at": "Fri Mar 24 17:39:21 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Thu Apr 13 23:14:00 +0000 2017"}, {"id_str": "403335369274737468", "in_reply_to_user_id": null, "contributors": null, "text": "wndaftpsexsysprnoulakpwggssgbdndsouvgrygkbzyvihybndqerovqcbydwlupanuzkkeyrkbpcfrjuesglvyzicapjasyzelkdwwtwcvsnyjauirdouxftbcxdhnczgditwembuyuzd", "geo": null, "retweet_count": 194, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 403335369274737468, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "ojapupciatfupsthmgnzkvtgbowoxokjxyxweupnvtsobolxmjfwzhrrslwfwfjyyrlmqqljbsxfgkclbhdtbaktwlacxngmiiqvuowyjprbuzrxwrjgdnvcyrcrdisajhqdcgapyujssmwuvmodvhpmgfnesfnj", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://dcogfrnoiopzqxuavynigouglijsnqyoarmrexnnsbtnldkwymoysldtblnyxbjskupheedxijqfocjjpvosombdtzwbpt", "follow_request_sent": false, "name": "vfmecolxgwfirtnj", "statuses_count": 32524, "profile_background_image_url": "http://lnpcxxqwhynbruyhyvvtmsfreruboijyhliehtjzokutoivuclsijoqsomxjeogxjsfdvbdxetwqakijeeupvajvpdfgr", "screen_name": "lzbjqvxtgo", "lang": "en", "profile_image_url": "http://brckzcxtwsanbtjiechmdblubedouzpfknaobzfdwglcbiwqkhrrriwlpwpprnosxxqstdwrfdxqkfmuxckjftngrizbranddn", "url": "http://toxcznlxkjbypvkuoezqxjq", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://qrqrqiguiwllpsfwwanllvyjhprzeyvmmeuaulhjewsbkaddtytqierkf", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://obqzffkptgrmpqgwbyoohbwpuibwmuswqvfzzygtgvtfgyakvgowkctwqekljftppriydztetvilmhquhuyntlijgoczadzwdwp", "created_at": "Wed Jul 01 07:14:26 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "482623598053330216", "in_reply_to_user_id": 917339709, "contributors": null, "text": "ncfghtnfwyppjqrhwfprgczmscugcokyikblskdonotntfgqgxcjjrgwhecvufwvgnzxadbydaketmctyorjdvszerbucjrtdfoximalioldenwmaiwnhacprlnnsncuwlubfhawqsnwsgd", "geo": null, "retweet_count": 194, "in_reply_to_status_id_str": "9223827094630777", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "917339709", "truncated": true, "favorited": false, "in_reply_to_screen_name": "evqyervbculmdlc", "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 482623598053330216, "favorite_count": 561, "entities": null, "user": {"default_profile": false, "id_str": "97000688", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": true, "friends_count": 1134, "location": "around the world", "description": "pstvkvcwdprailfcvlmolzlbvatsweyqzmabgelwlqdvlipeymkpaayopdnkwufvrbgyhofkxfyejcduihqxgulyksqzkfdpbhkdtuczdqcmszkhbuvewxijspsquarjhstujldra", "following": false, "is_translation_enabled": false, "favourites_count": 8241, "is_translator": false, "followers_count": 3707, "geo_enabled": true, "listed_count": 169, "profile_background_image_url_https": "http://oaokovsquhebxfanitnodvtmbmtboazhmtmpgorotvxkhjgxdnrgqslindggxishogzgdsjmvmwyniml", "follow_request_sent": false, "name": "skuthxnzsedynmpn", "statuses_count": 15203, "profile_background_image_url": "http://nacddccahxmciencszfxrflmlzpcmgdazxdptuggxwokilrswxldbcrewmczisgvatxmvskcqmpsxyb", "screen_name": "rakckecpwpveklu", "lang": "en", "profile_image_url": "http://dlqngdsiydiazbhhraxgkgxctweckoeqbahtadbafjejnhqxtiojpqaiifjftkejrizauihvbq", "url": "http://szzjqtudadnnizxhjfejcca", "protected": false, "profile_background_color": "000000", "id": 97000688, "default_profile_image": false, "entities": {}, "profile_link_color": "999999", "translator_type": "none", "profile_sidebar_border_color": "000000", "profile_banner_url": "http://wsgkuwjalviflpkzbzwznajyvxmzvgxoruxhpkjdmsydklbqrukpabjofz", "profile_sidebar_fill_color": "000000", "profile_image_url_https": "http://zufndttxbhikmrznmjwlgotxtcniwuyngueejzrdtwybtqewdwxbdcxfrtsffjjkvulwqefahyz", "created_at": "Mon Sep 13 14:44:25 +0000 2010", "time_zone": "Paris", "verified": false, "utc_offset": 7200, "notifications": false}, "in_reply_to_status_id": 9223827094630777, "created_at": "Wed Mar 22 17:33:35 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 23:13:24 +0000 2017"}, {"id_str": "660513703105391552", "in_reply_to_user_id": 40760310, "contributors": null, "text": "hkzjxaaxxcvvnwgzhvdpkqnjocvpaurbfjhhzwqlsuyracfkfivcxbizuuxnuhkiriuduiz", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "448068575193456130", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "40760310", "truncated": false, "favorited": false, "in_reply_to_screen_name": "oykhgbip", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 660513703105391552, "favorite_count": 1, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "eltsclsymfofiisnjvicwxqcyozugznfzgrmfmnmhndbcrjomryitjeuikiqxwhfrewhmwcobfqnaqkmremplwgmmkrtckvokrkfjqecqtzhqcmbwnkvaucyhglxdgpaabeqrqpscocjwegtwpftyofpveoozcor", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://yowuhloytiybhsqfstzwiwijjgbuyehnqqqxnpebgizlngoavoimunkdfjfdrdxcfsnpaeemcmxvlghwqoindejciqceyn", "follow_request_sent": false, "name": "kmacrlktsruigckh", "statuses_count": 32524, "profile_background_image_url": "http://pirghmtzyuxmapqmlghnbkoqxovlkmqkivzpfnrbgtgvhsbifangcqzgufsyizwybjvcdiweznjglvxymckztasxtdqys", "screen_name": "mrdwpoiwlr", "lang": "en", "profile_image_url": "http://dxmijfebtqnorstuworgxrturijviguhgmbxloteetnlxfeounxqenpglkbvqzkrrjrpoctuevbzyihxmzguucddhtawztiirs", "url": "http://jtaubjpsbjazmhnbhkfzfti", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://joveaoiyusmkaytttsqsuwuolifymdtodedtdvwpioiptvimacglufwra", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://njukjanhbpwdgkhtfjetwvpqqvnwafqgazzozqkrjdamdcorkrxgpphjrbzfplnpvaztazerqwdcntxamzenollzvzcnupvqylu", "created_at": "Thu Jul 02 07:14:37 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 448068575193456130, "created_at": "Wed Apr 12 22:22:48 +0000 2017"}, {"id_str": "25027512558611328", "in_reply_to_user_id": null, "contributors": null, "text": "nfwgauupkfottrygmgsydqcrsslxguqmlxttgdtyiiabtdrlxzmebmgmqboojlbqlmerpmwoywabocvqoqccxfvpjdqkuhcamhosxbsjlodjbthmygbaxdiltozjkleuhjhfplxnmhyz", "geo": null, "retweet_count": 33, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 25027512558611328, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "zrwdvjwbjkhoqacoilglbjujwbyftgafwbaevuzzupgbacbetelbrdwzljqijonwgvtsopazobmksdfbhtwjfyrxvuwbyjadndgdhzpzamnecvfbcabjmfnmvkdegtqzipjdprqaxfvnlnrcuecgcxonhqopvjjk", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://tfytyrjmfaddhizyuzvupjmmgspvxsgbamfdmouifcttxhrvqfmtoldjditrdbpodbhmainjxkipvtwszhntzhpfvodrsn", "follow_request_sent": false, "name": "lbusgsavxuiimoxx", "statuses_count": 32524, "profile_background_image_url": "http://khtevahrpjqbbxhfuazcdytolyhdrzrzidrzzrrgfrwyuqmtxgyngcejryyomikpvihsthvwditnsebioitwsuoekrpog", "screen_name": "zmvlrnqrfb", "lang": "en", "profile_image_url": "http://zulzactaizfmcvhjmtxotuuuotmmkudknldskndtqapupsxtcxqcrqztkauijwrbpunpvfcaihepogvnrvqowjdzcunkgqfela", "url": "http://hbqsohjbsdorxmcgcryndnb", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://jvatliirmacmouwyziydfdhyjpekjzjbbcacjvkcqwieruvpcnbtbkcup", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://osakgzaidengcaejtgrlxfylduzpdyipkzyxjcujkraloevsreplggfeshmioihljyejchycqkisvkkshjrgbuqudkecxyqjgsk", "created_at": "Tue Jun 30 07:14:35 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "284687465836395134", "in_reply_to_user_id": null, "contributors": null, "text": "lzrrpmmgplpjlggvxrhopitjdpodqjhvgglkdwvsezyoqqlhrylgeuhvullqyvubkafxtubzbbxozooporpcdbzkjvvasqfdbqtdogjrcnspqgpftuxinlumyrrlaoxubtjpiirjhaj", "geo": null, "retweet_count": 33, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 284687465836395134, "extended_entities": {"media": [{"media_url_https": "https://pbs.twimg.com/media/C9Od5gOWsAE-6_9.jpg", "display_url": "pic.twitter.com/2YkD391Tg4", "media_url": "http://pbs.twimg.com/media/C9Od5gOWsAE-6_9.jpg", "indices": [116, 139], "id_str": "852198365731401729", "type": "photo", "url": "https://t.co/2YkD391Tg4", "id": 852198365731401729, "sizes": {"small": {"h": 364, "resize": "fit", "w": 680}, "thumb": {"h": 150, "resize": "crop", "w": 150}, "medium": {"h": 625, "resize": "fit", "w": 1166}, "large": {"h": 625, "resize": "fit", "w": 1166}}, "expanded_url": "https://twitter.com/TahaYasseri/status/852201054993338368/photo/1"}]}, "favorite_count": 28, "entities": null, "user": {"default_profile": false, "id_str": "79962360", "profile_text_color": "0084B4", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": true, "friends_count": 95, "location": "Oxford", "description": "ycpxnhhoftyksaqgalipthjxkqihcmdslvgbjzvirjvbifwqoxhfqqddsqorogcaibtzbqufqevohxmqhzgyjsciqjrygrnydvlhzbgbzarfimwnkkihihggwxxuloihpczfhlhusglpzptlwpdtelqhuwlyucou", "following": false, "is_translation_enabled": false, "favourites_count": 28, "is_translator": false, "followers_count": 1884, "geo_enabled": true, "listed_count": 128, "profile_background_image_url_https": "http://lhylpqcbvusbagjrfubvpddwmgakwldyozqsebldrkxzqiwiutguqwfbptpikyuxlhwstlzxydafcbednblwfazchxhnek", "follow_request_sent": false, "name": "bnalrexcfaje", "statuses_count": 1882, "profile_background_image_url": "http://dtdiwcivaoimvjvjbhhqmliocplavjtiyybzrufpyfxafrqhrayaabklovoylmgbpcdkvwzajmjcbselhnqyqjazhmsqe", "screen_name": "hmuleqzczhs", "lang": "en", "profile_image_url": "http://wdmsdvkkdkrcftysbluspqoqyvgaufezmeegilmbvflgwhzbfdxmcikonkjlvyhlahgsnwveaaj", "url": "http://wlyypnaeuootcbjaymuqsb", "protected": false, "profile_background_color": "C0DEED", "id": 79962360, "default_profile_image": false, "entities": {}, "profile_link_color": "ABB8C2", "translator_type": "none", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://eyooytwguljvfnalpymxowbtzdbsnvfaltnmfpoghkigxnsjboicesudf", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url_https": "http://bhcssdseedozbtywsdccybpbhybeycyrzesdyjvhpdmohsagcdlwhcqcuyagxbhadmslssylppov", "created_at": "Fri Jul 17 06:25:33 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 16:45:59 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Tue Apr 11 20:01:01 +0000 2017"}, {"id_str": "374869491319607785", "in_reply_to_user_id": null, "contributors": null, "text": "hkiralxgyzpxddwypvlfkmhrqkkvhroukphysyypszwirshdhxfrterwjzihafnlqsxrfkdzgfbkzrxuzbknffbrflnd", "geo": null, "retweet_count": 1, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 374869491319607785, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "vqlrxbwuvgymkztcfuyafnsyzzfdelxkxaimccrdpoamwcpcdbbshkovvgnwvpjmkhvpjqcujmmgwbtkljbwhebccubteeilpebqmlanhtgztknkgxgyjonpndzmzdkzjosaokexttzymfmqrnldswgrdkjxwyfz", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://jzqochqopwjmjfawizdltvormrzxphumwehjrsrhdrwkwmffhbxeqzafwuvzoafkttxitpzgwpkiwveorvwwpqktcncfpw", "follow_request_sent": false, "name": "jvdenpvrwbgbrpuv", "statuses_count": 32524, "profile_background_image_url": "http://iccqyxzznopzjymsrgnjrfzzidsgmvziswzmrpudtihqtqvyajfqanfoyvborawgltnaimyoeeytuuqfqqtarbwhozdgn", "screen_name": "lrwgfpixac", "lang": "en", "profile_image_url": "http://iwhvpjnfxqqolzczhuudnbsulumikozjxklictmfmkzzsqymdmdrqxpdvortvfwpzmspfzbxvxwgyoshpazjagfohmgsboctwy", "url": "http://hoxppzflghaqblaewcpfcuk", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://rfmmpaufgestzkxyyixkrcsrpwgntlchzilyzpihxbusklauifbymotox", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://vgjrctcqdzsfyxgnbkxscajjwfcezeejaepmfiqbpeayigkwirkzllexncnexkgutwbnbwlhifcvoleazpeizhhnjljaepviada", "created_at": "Thu Jul 02 07:14:16 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "880913405276864860", "in_reply_to_user_id": null, "contributors": null, "text": "zaffuueiawjyitltlwzozjkoeamtooqsatpbykufbfewvqyoaudvbdpxufobfjvzbmyrltpmpcxyzbg", "geo": null, "retweet_count": 1, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 880913405276864860, "favorite_count": 2, "entities": null, "user": {"default_profile": false, "id_str": "853061839", "profile_text_color": "000000", "contributors_enabled": false, "profile_use_background_image": false, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 159, "location": "", "description": "lwcavdbaimnlrlcqxyniwkzmpfqfkupnxievzzaqgertovkvnoxyjtdedrwzqfjckuiezpbtvkisdtnptsueplylzhmtiecknqmzncfmfsrmknodoystcgvdeemee", "following": false, "is_translation_enabled": false, "favourites_count": 284, "is_translator": false, "followers_count": 394, "geo_enabled": false, "listed_count": 41, "profile_background_image_url_https": "http://dweuebfqgshphqklqubnfgsfsriuepzsvsmitztijuhxqsmog", "follow_request_sent": false, "name": "ainwsqyqsdkk", "statuses_count": 1578, "profile_background_image_url": "http://wvwmkgeqecwbijcwyoijmeyuikslnbjtrjofthpomeforzwz", "screen_name": "aoccowj", "lang": "en", "profile_image_url": "http://lvbzchjhunydljeegcnvbkcjyqljwiqispofsoipychnyppuguseownewayuavezdtetljabis", "url": "http://eslidyvgvvdiwszbjtpegxd", "protected": false, "profile_background_color": "000000", "id": 853061839, "default_profile_image": false, "entities": {}, "profile_link_color": "307D7E", "translator_type": "none", "profile_sidebar_border_color": "000000", "profile_banner_url": "http://vnebcekqvaulychognvqevzocruamgwcrarhqidxvlppigyjfakikcmrta", "profile_sidebar_fill_color": "000000", "profile_image_url_https": "http://gwpfnklcqfrjjkbgylqbxkdmlgkdshdlpzxpqtwqsefyenckdyemjbuvknnncocxgllwczxsila", "created_at": "Fri Nov 02 12:40:08 +0000 2012", "time_zone": "Amsterdam", "verified": false, "utc_offset": 7200, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Thu Apr 13 14:03:26 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Thu Apr 13 20:00:55 +0000 2017"}, {"id_str": "138174372197363697", "in_reply_to_user_id": null, "contributors": null, "text": "nulntrqcynajhkzxkbikxteurwcfznbeoqhtboszipfczxhevcnxqwbyetbjsegxsqwjuhcgbvwrqjrhqzawydmeayefacmgwxfznqjwocydkamvpsynlouywrhlbcyvy", "geo": null, "retweet_count": 14, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 138174372197363697, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "nybyhcsawrsozyvmoisiahuwlnnfsggoeazdyptanxoectrbqhrkyndiudycwtcwetrnbwbceeylbumylavmxwhobvbhvodqqxjeizaubcwostvvyngnqycfdprxajmgvmtfsqhjlqxeqjhrmwqrtyinlrqrjnni", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://fbvbwfqsyjlohhtiuggvlqgnlvygtiilksydpombdpckfvvpdipludcqkkwcbbkdgkbsopuqvepngclmcklxotibunbdrr", "follow_request_sent": false, "name": "koabbgwvnvhzengl", "statuses_count": 32524, "profile_background_image_url": "http://etxjfdjxmgeyoezitrjjnnrlguatmqvvllgaxpjnrlxlgekysodxhfxspcufaksthdvhyvwooqyxbrwkliyigodhqdmdq", "screen_name": "rqcinmnmst", "lang": "en", "profile_image_url": "http://hwuranhlkgsidrzaumrzighlqugrkbhvbalippbjeuxzwydlaildygiyxnmursxkuvkcutproxluanpcxuwoydrqhguiuxpjjg", "url": "http://wxtglyzmxtfjyxttbscvdtq", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://opmykmfizglreouvwogzmwfsiiiigowpyxgpzfhhxtswylczmukjcvcua", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://myirhsqdmcvavuljlctajuzfgectkcygrdpbbemkaaxokhpvtpcawhcqbacsrdnyufxbtlzzcvietkuiqtxgpalqwpbunrgdhnv", "created_at": "Tue Jun 30 07:14:43 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "426072227360571680", "in_reply_to_user_id": null, "contributors": null, "text": "hyhvsqdilhixkspdsiqzgdiwazrgrlxbxwibgtdeffatfsicxqfephfzhgpkhloueshenfwfxuppfyjyrdocdkugrhyeamguthnflgajomudlvvj", "geo": null, "retweet_count": 14, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "TweetDeck", "id": 426072227360571680, "favorite_count": 29, "entities": null, "user": {"default_profile": false, "id_str": "405529089", "profile_text_color": "3E4415", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 1321, "location": "", "description": "selowilngekddbxmnpchjbwqvgrtetonxczkwrxhsdwpexwqxizyozwvqwodjhhspebudltkusbqozhjetdxnnzufpygvgofmplmetudqexmtqozqlsopavqvwigzauhkoxuwykezptunw", "following": false, "is_translation_enabled": false, "favourites_count": 1864, "is_translator": false, "followers_count": 5090, "geo_enabled": true, "listed_count": 335, "profile_background_image_url_https": "http://adcajcezxakqchpfghndhwnuzogabpgccswjchpmmnfmfyfmfsdnhlssqyhiaagmzmuieabuuxlyclszznrnokxnvuhpamyibdrkiriz", "follow_request_sent": false, "name": "vfuuhxzguuxy", "statuses_count": 12354, "profile_background_image_url": "http://jibrpicagcoxwtxcauqypcnatkozjskficofhjognwtcjymdywtudolkyuilshnpdlflarhygugreqnixprfrcvxvwjfqaxxdyitcqq", "screen_name": "bwefkqnmdsp", "lang": "en", "profile_image_url": "http://frqkptmybsgymnzjrzbhriqfvdjsacxolkgabqabmiubilsjvgbnvsbemixfovelmuukwhwiys", "url": "http://rovbjmhxloyvdpehlejqtle", "protected": false, "profile_background_color": "352726", "id": 405529089, "default_profile_image": false, "entities": {}, "profile_link_color": "2C4CCF", "translator_type": "none", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://eghpzbsyzjtvidmvdiljzvljbxwbukcnbcncztmewmbdbnflfotagdyiji", "profile_sidebar_fill_color": "99CC33", "profile_image_url_https": "http://fbewlpyvikrfrpgnuvxunwymcgztuuqwbhwhmoaximzmpzzywfjwxtzxomvaqsawwjufducwnfi", "created_at": "Wed Mar 10 12:27:15 +0000 2010", "time_zone": "Casablanca", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 19:42:58 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Tue Apr 11 19:43:40 +0000 2017"}, {"id_str": "247607742158703951", "in_reply_to_user_id": null, "contributors": null, "text": "udritknbksuvyvwfhvbhczmddlxyblgbpqfshmubagfgoecbgamcccgwhbpyhfnmgbbwspsfgnjqzxhhbuuzduejitgzsqylxjwzqxmkgpxohghwmbsmsiwwythahnqklyyfxvenvuyw", "geo": null, "retweet_count": 7, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 247607742158703951, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "avuoycrjswhfogpermffymhyryeqoueyygnfihiopsiphbwttyklhawzsrkkjxzzhhugnipjzzffiwedkmbyconpfxzytrevqeerdpyjwheqtezpotxexrjotdochrvzrwuegyyfmqinplcxllmykfkjhqivbzcn", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://axmmasaplawtmshbzdtumuzrlgncfjzklktdivbwasbrxeuktrzozdnfsljfspjzqjwcepjcatkmzgftulfayvxzqymyqn", "follow_request_sent": false, "name": "ylkzwykrravgjgew", "statuses_count": 32524, "profile_background_image_url": "http://vijnktpvxnuljvjksqxxkgqsyimfzuqsbyokpgstsenadpdyiszoisdgvpjnxiyiimcykzeiucvmujsynlehllxbbvdji", "screen_name": "zediindnyw", "lang": "en", "profile_image_url": "http://oojmoxwdslypwrudiraylyugvslcbwutieetbuvnwebekmrgvtodsomppgpvhhzqmdxyvrxwrmscejidxiigehstbzzwwfyzqp", "url": "http://bzfwhosvbkhjdjunccctpkn", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://nonjkdrocukvyquwamkvolhuogfjqjyyvgrajnozhswbgknejhfbfedtj", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://qpvtjlnwtoclnqwipcehmwkmnkllplyyvyihhmesbcgthlkwkdpsfcbtlwoqpwqlfflwzegywsaprkobjsonmmbbfaixeoratrq", "created_at": "Wed Jul 01 07:14:21 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "291473357221997808", "in_reply_to_user_id": null, "contributors": null, "text": "cfjphlkxfcnboyijfpwmzrrusrgoxtxxisdclajbghfloghqenwecfcmnolmtjauquiyvhmwduhdxmgpfswkblujxxrtztiktwrwpfuncxcfbmcztiankltkacrztizwbhjmotokfbg", "geo": null, "retweet_count": 7, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 291473357221997808, "favorite_count": 10, "entities": null, "user": {"default_profile": false, "id_str": "5967626", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 1482, "location": "somerville, ma", "description": "orvmivxhcprugslwleaedzieqxvkeloizltbhpoigqfmslbgfothybtomukobdcrydxkpmehvjqlmtcupal", "following": false, "is_translation_enabled": false, "favourites_count": 1881, "is_translator": false, "followers_count": 2635, "geo_enabled": true, "listed_count": 223, "profile_background_image_url_https": "http://lwxebdtgjuutnbreafvmwezdvzunciieadguhrruomfrxddrlfuzdqjzbbnlprtxbpo", "follow_request_sent": false, "name": "vdvhcgoaajuprs", "statuses_count": 5100, "profile_background_image_url": "http://qfiwronnzsshxpensavmqcbuucymzariejxdbmeglukrqnndtlmcgmkyyxwldmatma", "screen_name": "gageuyf", "lang": "en", "profile_image_url": "http://ookovxllrvjcghpzonavhwewvfajmkcxqpngjuvkjcarnvakkjzsqfgmtypnpedtyajfdtjgut", "url": "http://oyjbhreidtqjftzctkpsxmv", "protected": false, "profile_background_color": "000000", "id": 5967626, "default_profile_image": false, "entities": {}, "profile_link_color": "004273", "translator_type": "none", "profile_sidebar_border_color": "EEEEEE", "profile_banner_url": "http://ptnrkyzhznqeswzprarujkpgouewoattgjfdxzccpjrobjehsgiqzukd", "profile_sidebar_fill_color": "EFEFEF", "profile_image_url_https": "http://bbucwkwwujlmxfclqwayoebspmgehbwjglfgwleuqvzxuioyzsauolxqycrtaxnadnedvvcmisd", "created_at": "Fri May 04 18:51:59 +0000 2007", "time_zone": "Eastern Time (US & Canada)", "verified": false, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 18:02:47 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 18:47:57 +0000 2017"}, {"id_str": "305989616266100407", "in_reply_to_user_id": null, "contributors": null, "text": "qbcgzlawiynlviznemptrzdkihfesasjeidpkiqchmxxpxubptqxgvxzqcgvhwvebgitwobfseaongosfudyhxosjjrojkwugkqaplxvlakfwiwuutzbzutyt", "geo": null, "retweet_count": 2, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 305989616266100407, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "qinyaxqwbrsutezvmpxdopssnxuexcqtafpsevmmslrspnyiibwzmeourlnydkbrmifvfnerzybbqmytscafhcgkycmlcvksizbwsyxnlqpystysugrnsaasnfyfjimgvogsenfntwwlmhsojwwifodynelmzioz", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://qmabtdgohdjxzwmlevzyvbsgzyullpizzdyopvclkkfbdiulmwdvnyigilwqhgjaloaztemvaytefrmjfpnvelfypolmvv", "follow_request_sent": false, "name": "tzmjdlzdrvnmbmoz", "statuses_count": 32524, "profile_background_image_url": "http://nktrhbggdvdeqetmnnxhtqywtipjbrxxiysisedzdutkugbrpvchmuvxhlaryoulctrretarzvydfusizevkkdffdvlhu", "screen_name": "oqyqenkcql", "lang": "en", "profile_image_url": "http://efhvtbbzltkcdxihxynrphvnkwcqwfbpqeoutntkcmdqzidsoeitzicrfdyvjyrpzjqymxgohkbjobvehiyiwicyrprfyotdvm", "url": "http://ktftmhxlqemtdgwyxdfcute", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://dazxkiyfvbprlsxhxyfcpwqsmsawcojbcypwtdkgoebvnhncifybsptyl", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://ysgmxfuengigjybzxzmmldcztbgktahtufndtlcumedutoqknwlguwqhergsgbafvgzmbhlzdzkjrjciprhblqgzajfjrzqbkbu", "created_at": "Wed Jul 01 07:14:30 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "123316347295753438", "in_reply_to_user_id": null, "contributors": null, "text": "iznvmkzatlaahqaxleakvlnbhrewajrkwjlqvddzrkndqwpjhmcdcwphhvtvyvhwysxcqsofwqijoncavafmosnofeyafuxedvqknbawdyjd", "geo": null, "retweet_count": 2, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 123316347295753438, "favorite_count": 1, "entities": null, "user": {"default_profile": false, "id_str": "3617564", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 1482, "location": "somerville, ma", "description": "nyatjfvgmftswclyowwghdlgbfnegfsreooqkgdddyrsslodltwmfkqdebaeenvuyqpooavmtrljfinkzgt", "following": false, "is_translation_enabled": false, "favourites_count": 1881, "is_translator": false, "followers_count": 2635, "geo_enabled": true, "listed_count": 223, "profile_background_image_url_https": "http://bmoipzrcfibttchdaqwcauxedrzwerelcymjmoxczswglyfblccqppppqmeodlucfkf", "follow_request_sent": false, "name": "ddajaqoehhyjga", "statuses_count": 5100, "profile_background_image_url": "http://kbebakqxgktgedwcjfrqxlslgwdxojdjraytjsfdqsezyiydfngqavunlwazyvhtyo", "screen_name": "skqkvnf", "lang": "en", "profile_image_url": "http://uokpcbeuofdeckvtryzsuvqkhkkweemljjpzsjvtfyjeomuswaqsmmmtmxgjcwxkagaqtbcqvk", "url": "http://aramjhvqxkbjzcygzfvpfcq", "protected": false, "profile_background_color": "000000", "id": 3617564, "default_profile_image": false, "entities": {}, "profile_link_color": "004273", "translator_type": "none", "profile_sidebar_border_color": "EEEEEE", "profile_banner_url": "http://zkqxehacxnrodiiezgoiocigldpaqsunrgkzkzyfrrunogcwbecncpef", "profile_sidebar_fill_color": "EFEFEF", "profile_image_url_https": "http://gorjvoulsszysvlkbfgutkslozekqdagiiozqdwippynktdhqmlqvmiqyvuyyytfnreqvwenyzv", "created_at": "Mon Apr 30 18:51:59 +0000 2007", "time_zone": "Eastern Time (US & Canada)", "verified": false, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Thu Apr 13 16:05:15 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 16:06:38 +0000 2017"}, {"retweeted": false, "id_str": "287999245949190080", "in_reply_to_user_id": null, "retweet_count": 0, "text": "xbznqqznbzuhuvwpauiyuuukfsvobmyqzmyqhcjzpeophnlagwbbhysdbcthxxjdihuzaxvmlrseurcpalmysfvlrzrtzghjqmpywmvvodajdjmxelwktqlgboexfnpitldk", "geo": null, "contributors": null, "in_reply_to_status_id_str": null, "coordinates": null, "quoted_status_id_str": "851935063193378817", "is_quote_status": true, "in_reply_to_user_id_str": null, "truncated": false, "quoted_status": {"id_str": "851935063193378817", "in_reply_to_user_id": null, "contributors": null, "text": "What timing! Harvard Business Review is out w/ a repudiation of \"agency theory\" that @duffmcdonald says ruined HBS.\u2026 https://t.co/hLd6GBSi4r", "geo": null, "retweet_count": 11, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": true, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Buffer", "id": 851935063193378817, "favorite_count": 44, "entities": {"user_mentions": [{"id_str": "220393924", "id": 220393924, "screen_name": "duffmcdonald", "indices": [85, 98], "name": "Duff McDonald"}], "hashtags": [], "urls": [{"display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/851935063193378817", "indices": [117, 140], "url": "https://t.co/hLd6GBSi4r"}], "symbols": []}, "user": {"default_profile": false, "id_str": "33792634", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 2061, "location": "New York, New York", "description": "@NYTimes Columnist/Editor & @CNBC Squawk Box Co-Anchor. Author, Too Big To Fail. Founder, @DealBook. Co-Creator/Exec Producer, BILLIONS @Showtime. Proud Dad.", "following": false, "is_translation_enabled": false, "favourites_count": 8417, "is_translator": false, "followers_count": 713786, "geo_enabled": false, "listed_count": 7287, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme15/bg.png", "follow_request_sent": false, "name": "Andrew Ross Sorkin", "statuses_count": 3432, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme15/bg.png", "screen_name": "andrewrsorkin", "lang": "en", "profile_image_url": "http://pbs.twimg.com/profile_images/673272991816548353/tn5thWZR_normal.jpg", "url": "https://t.co/iUhvmVuRKJ", "protected": false, "profile_background_color": "022330", "id": 33792634, "default_profile_image": false, "entities": {"url": {"urls": [{"display_url": "nytimes.com/dealbook", "expanded_url": "http://nytimes.com/dealbook", "indices": [0, 23], "url": "https://t.co/iUhvmVuRKJ"}]}, "description": {"urls": []}}, "profile_link_color": "0084B4", "translator_type": "none", "profile_sidebar_border_color": "A8C7F7", "profile_banner_url": "https://pbs.twimg.com/profile_banners/33792634/1452257372", "profile_sidebar_fill_color": "C0DFEC", "profile_image_url_https": "https://pbs.twimg.com/profile_images/673272991816548353/tn5thWZR_normal.jpg", "created_at": "Tue Apr 21 03:22:08 +0000 2009", "time_zone": "Eastern Time (US & Canada)", "verified": true, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Tue Apr 11 23:08:41 +0000 2017"}, "in_reply_to_screen_name": null, "favorited": false, "place": null, "quoted_status_id": 851935063193378817, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 287999245949190080, "favorite_count": 3, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "ucjqlnwdurbjrmevlmxdthfulwwywpcsmgixqfiedagamfmcidiysunolcfsjhjwkuzmcfpqopwggxnntcihxqlkwfkldqtursarjsekrgfdjlgtodrukuzgqwqestajrgppakonpwcbhtxxdzefeucliyxgwngm", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://chlipdzlfaffpkwrgmuaiqgjlwakkvxfgodcvxzctvogadnnvtdljbuxzzvlumddgvjchthytejvdxxnzdtatjkrgkxztf", "follow_request_sent": false, "name": "onmjjzczviczwnbg", "statuses_count": 32524, "profile_background_image_url": "http://kehrcaadpwiszjwheaahswzdtlxrobitturazcqzxhwrmqapcekciyebkykdycqpeglqqcqzeejuvzqgxaoxehkqdjjsa", "screen_name": "crhykiinfd", "lang": "en", "profile_image_url": "http://ixvothnxkusnsidgqvutdtjpwgsnbkcoxnmdzjqalpsupkinrawxdnljtkxuwivxnsnfidoepkxdnswazvykatlbtdxzpzypxp", "url": "http://rfhnmzufshnxwszgiajdlra", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://wifodhdkeytelljobhtjdbcjnauqdzqpascwkelxbqzwndlvwgthbolvx", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://eaudcwvmhpxxnngclwjdbhrimgfjbaveuwpbujkbqesxxysfpafwsnktjsdvahjatlpnvshmbhlyemelcodiygimkobfvxestap", "created_at": "Wed Jul 01 07:14:42 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 14:40:41 +0000 2017"}, {"retweeted": false, "id_str": "560138759228182160", "in_reply_to_user_id": null, "retweet_count": 0, "text": "behrsgxlvwuazcnujopyzhjyqvtmkanhuizapafyvijfxwymkkyiikzu", "geo": null, "contributors": null, "in_reply_to_status_id_str": null, "coordinates": null, "quoted_status_id_str": "852168453691539461", "is_quote_status": true, "in_reply_to_user_id_str": null, "truncated": false, "quoted_status": {"id_str": "852168453691539461", "in_reply_to_user_id": null, "contributors": null, "text": "\"Impact Of Content Features For Automatic Online Abuse Detection\" #arXiv cc @natematias https://t.co/1kY9HAUzBo", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter for iPhone", "id": 852168453691539461, "favorite_count": 0, "entities": {"user_mentions": [{"id_str": "52332354", "id": 52332354, "screen_name": "natematias", "indices": [76, 87], "name": "J. Nathan Matias"}], "hashtags": [{"indices": [66, 72], "text": "arXiv"}], "urls": [{"display_url": "arxiv.org/abs/1704.03289", "expanded_url": "http://arxiv.org/abs/1704.03289", "indices": [89, 112], "url": "https://t.co/1kY9HAUzBo"}], "symbols": []}, "user": {"default_profile": false, "id_str": "16629994", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": true, "friends_count": 1206, "location": "Boulder, CO", "description": "{Social, Data, Network} Scientist. @CUInfoScience assistant professor. Collaboration, news, games, misinformation, sequences. #resist", "following": false, "is_translation_enabled": false, "favourites_count": 2801, "is_translator": false, "followers_count": 5290, "geo_enabled": true, "listed_count": 466, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme15/bg.png", "follow_request_sent": false, "name": "Brian Keegan", "statuses_count": 22916, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme15/bg.png", "screen_name": "bkeegan", "lang": "en", "profile_image_url": "http://pbs.twimg.com/profile_images/664544029225320452/s_W4ACEB_normal.png", "url": "https://t.co/HkgceIuHWt", "protected": false, "profile_background_color": "022330", "id": 16629994, "default_profile_image": false, "entities": {"url": {"urls": [{"display_url": "brianckeegan.com", "expanded_url": "http://www.brianckeegan.com", "indices": [0, 23], "url": "https://t.co/HkgceIuHWt"}]}, "description": {"urls": []}}, "profile_link_color": "0084B4", "translator_type": "none", "profile_sidebar_border_color": "A8C7F7", "profile_banner_url": "https://pbs.twimg.com/profile_banners/16629994/1349830806", "profile_sidebar_fill_color": "C0DFEC", "profile_image_url_https": "https://pbs.twimg.com/profile_images/664544029225320452/s_W4ACEB_normal.png", "created_at": "Tue Oct 07 14:09:00 +0000 2008", "time_zone": "Mountain Time (US & Canada)", "verified": false, "utc_offset": -21600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 14:36:06 +0000 2017"}, "in_reply_to_screen_name": null, "favorited": false, "place": null, "quoted_status_id": 852168453691539461, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 560138759228182160, "favorite_count": 3, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "jblwecywumumsvaaspkucnzrxixpmsghnpmygovlwsancgzktowmodrnpltsgcyfnqzsmrvwkswsqoslhfgootthlulglipgxbiabcbzspisixollssxcolcrxfatkukfqaohevqoadxcshahsmmwghvuinpnhbq", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://lfcbtcrbeeurrzokbdjzpevybtidhbtklgddcwmsvhobqvhpoljyddrvgfkgkmjacddeqoxciqgoipycpanhmfpsxabylh", "follow_request_sent": false, "name": "pyktqetaxehkxqll", "statuses_count": 32524, "profile_background_image_url": "http://xwtdegtpicjlxnwwtoghpfrbvfvymucrolepxlspbmfnzrvyzhhlzmdpbacfrdsuksqhflrxoglugffrqllpylqwonvlw", "screen_name": "namxdxitre", "lang": "en", "profile_image_url": "http://dlqsbnctjqlpqnowyeuccroqlrazkqcfcrmsdrnpudyaqlntftjqgnkavemearvealspjnltdzzqurzbdzqmdorhxuudnttmwl", "url": "http://bhulcwlkbebpaphfbzshbsz", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://bykumpiqjfkhzwgritvtyqchluxdobqoksyenorxffaxsemuwxzuijoex", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://vxpceplvibleqovemtjmrkmqlandbjrdsswiiifkksxjopzfyuebghodydijsyrravhsupobraqjuzoeyocxhawehxepwfimczs", "created_at": "Sun Jun 28 07:14:31 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Thu Apr 13 14:38:31 +0000 2017"}, {"id_str": "171990956957179842", "in_reply_to_user_id": null, "contributors": null, "text": "zycijolgopjbtgzvartcjmpqoqzwxdvfdeafruqahqrvtducdbeufhomaipofhrztyunxswueomwhefawyvjxkjzdnduljdfuzgxenpbebbnozgulqupyetmrmqxkwpglguoaaxqqedo", "geo": null, "retweet_count": 16, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 171990956957179842, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "ljgsoflbhujqcwvjiajqgyczjxumyhxxuzzrpuhpozadecthjmmndqhsbqqkcphwnwtvzgxchlpiceaidcmdqvtorzigigwsiuzoeedoulooxxeyhhnqgdjhizeycaswskjshbqncvrxpwkoedqkezqvdsierdxv", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://iexwicifgqdgbnmzacsaelobdylarovdbjezbbdeyvvfntxcduerbjfzfxpcsiusgfxbjwgrujgyujksiryfufrqtambro", "follow_request_sent": false, "name": "mclujjcdrzbrgtuw", "statuses_count": 32524, "profile_background_image_url": "http://cvfzwxsjplhraqkkhqywcelenrkovoahylcwnucpbevxrjzdtqofbasxfmlclignyeepyieknlovyhbzkjdgnijksltld", "screen_name": "zjvxzujdjs", "lang": "en", "profile_image_url": "http://sbvzctpkgbvpytwujzpjelkoxhwxlghfzstultdtyslgeuaujgpnillsvvdfgdtfwixaqvpmkmgssajdywipapqianjuxlvgqq", "url": "http://rruuhmqiehywuelecvbrfvw", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://oymxqfttupyvryopwbgjqslggtbvmfsmwkuoqeymfhbdpfsilmzascjvo", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://kuyspkdlovsikpllangbxnfmjqteakcoefezvvgdkwebkkmtqjdchzlaomuesyqqklfsvysnbxaqarmtcoreawvijdelscwfnts", "created_at": "Tue Jun 30 07:14:23 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "629860786845420837", "in_reply_to_user_id": null, "contributors": null, "text": "rctuhyocshwguyomrzyhdzytqxhcphgatcfskfotorcwdaphxvlzzjzfszkglxhhruxozsluraidddkfejqqugygjfygtxkndmydkwsurxsxrkvzfomjszijejzeolr", "geo": null, "retweet_count": 16, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": true, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Hootsuite", "id": 629860786845420837, "favorite_count": 53, "entities": null, "user": {"default_profile": false, "id_str": "44390278", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": false, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 1106, "location": "Cambridge, Massachusetts", "description": "vmtjdljqlifufbsjeolkafugrpc", "following": true, "is_translation_enabled": false, "favourites_count": 1495, "is_translator": false, "followers_count": 378905, "geo_enabled": true, "listed_count": 11974, "profile_background_image_url_https": "http://tqnmalbpzjyvmraxfbhihzeovjrbnxggrkjexzwlqcnartphfinoibfgwvealofthsysuuuaepzjdjzeoyx", "follow_request_sent": false, "name": "ilzcwppztpxua", "statuses_count": 11076, "profile_background_image_url": "http://fezfemfjdqkxfepqpcyhltrijgbhjtnlzbmmcgtlxyqbrvhankeslgkgrzifpaxxgjyobadgbzftlfqlcu", "screen_name": "fllxlvvf", "lang": "en", "profile_image_url": "http://phtkkbrlsyixxdzhplimdehmhvuxdpemfvfcjofgmsfligyggwbxccrrklektbpzwyjbxlrlrb", "url": "http://pmrbvwtzmkekldxbeafbbj", "protected": false, "profile_background_color": "DBE9ED", "id": 44390278, "default_profile_image": false, "entities": {}, "profile_link_color": "333BCC", "translator_type": "none", "profile_sidebar_border_color": "C0DEED", "profile_banner_url": "http://wfgrscmgktluebnlvzittizyezxdnmtweudhqukjlnvsoaysyzriqsgin", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url_https": "http://hlrgtarwtikosezhcutjycsqbbvpqmjpcoqrmdgirvcmddzidtozhehacyqpaqljzwvlvqsndfu", "created_at": "Mon Feb 25 03:06:28 +0000 2008", "time_zone": "Eastern Time (US & Canada)", "verified": true, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Thu Apr 13 14:25:13 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Fri Apr 14 14:35:03 +0000 2017"}, {"id_str": "132455746462845122", "in_reply_to_user_id": null, "contributors": null, "text": "atqjgclbhqpuqnhkwdbnpndsccfyvvoyduckfxbxxkhhchiouguttaemgqxlboihvmgxsgbtwmzzopuyjbevokbkzndybgyajqtshqfpyrtswsfgdpginynkysyvplctiwgffxjbw", "geo": null, "retweet_count": 17, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 132455746462845122, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "gkgboxrguxpnczvxhgpuswkomxurohuypxhmaaszidcyvdratlojrhpywzyqjwvrmpcmtvzagccxsjhmcmkztybitrsobkhftuxajqovyqjuxzotikyfeprolnunayvomxpyeqncztbacioxkwoxbjapfmiiblnv", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://hwcvhttsxlqhgmsxypmddgtmagzfqjztlszvlzyqdlhrrkmurfkargqycoxxbnemjulrfmoqtngpotruujirkclsmixthg", "follow_request_sent": false, "name": "orgzyegscwfwjkdy", "statuses_count": 32524, "profile_background_image_url": "http://fzguqcsvuyqvkjzectemvpqjsjtdycvvmihrkgqljsndjyeulnsstjquspqiqgzpplqnfnedtsvswxyagsljkxbkdidcf", "screen_name": "oeuntaiepy", "lang": "en", "profile_image_url": "http://fkrvckfrgjpyvbtyfwhyjbnipyugkrhbpqwbaunbgjdzbxphhnweearwrxzzrbalznlauwdoenfsiwkiyihzdzfbltvtogabfx", "url": "http://spxhivocfvwtdlvqodzsvkw", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://uzpqovdulqtczarufpyzumcrmwfcwtjqiyjqixcjjtsnqffptecmkopsi", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://dowbfqfpvlsothwlmgngsnaqghmbriagrojvjobkgmgbvuldrqqwghlscdtilnhqmymlfbvwkxuzrytuajgozgugwnxianowcui", "created_at": "Thu Jul 02 07:14:24 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "342541647810077207", "in_reply_to_user_id": null, "contributors": null, "text": "cqibrsnkvthlvypaupfwfcolhoopvwxxqwxgomxaihnjnilidqhfssyanipbbtxfennzqcqqrjgdcgewbrtvkleucapgiwsjmhjhllhcqicnupwhxhczha", "geo": null, "retweet_count": 17, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter for iPad", "id": 342541647810077207, "favorite_count": 20, "entities": null, "user": {"default_profile": false, "id_str": "47949760", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": true, "friends_count": 530, "location": "Cambridge, MA", "description": "jeovztxgtstqeinbvlskfkmxhnvnyuzjktyzmhceuxewmpbzyjtkeoiigisqbcxvjqysnlnjzcynhesxutiulgmtc", "following": false, "is_translation_enabled": false, "favourites_count": 7784, "is_translator": false, "followers_count": 13045, "geo_enabled": false, "listed_count": 641, "profile_background_image_url_https": "http://gynayudhaiypsrikcjuiwikaghntwryjqasckbblqgvqbzttdr", "follow_request_sent": false, "name": "tvshfhhadpagj", "statuses_count": 31707, "profile_background_image_url": "http://wgdbatoggvmivvkvntkdcbggkvenkteswnzyizokwnlievlkx", "screen_name": "ytdlqoaldsiej", "lang": "en", "profile_image_url": "http://utixuxerkujovaacahgngmpjusdsxtfabnbwijxbiiamzfzdaacwzgqcntkeixmnymoivlcyhbi", "url": "http://ygfbbjyfniwzzsyatxedvit", "protected": false, "profile_background_color": "022330", "id": 47949760, "default_profile_image": false, "entities": {}, "profile_link_color": "0084B4", "translator_type": "none", "profile_sidebar_border_color": "A8C7F7", "profile_banner_url": "http://ewyyldvrknbnfhtrdtrfwzjdektovrwcwjgyqxfvrarypdqzbomqlfwxr", "profile_sidebar_fill_color": "C0DFEC", "profile_image_url_https": "http://bzwvdyekcndrvirwplmzjgqlvnaabqmomfzsmskzuxptplbquuqpndjilqhpoyzsgmulhjjlflha", "created_at": "Sat Nov 14 16:08:31 +0000 2009", "time_zone": "Eastern Time (US & Canada)", "verified": false, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 12:04:56 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Tue Apr 11 14:29:31 +0000 2017"}, {"id_str": "72602671246967434", "in_reply_to_user_id": null, "contributors": null, "text": "uwbfnkakajnsktdpluhjotuhalldoyaeaxmhvktnezkjmputgxpfslueqvrmjzzptoddzdwngfkusulnwlkjgceemosyimgacitffrlgzzgmuzqaxbdegzafurqbqmbejpqxenpwemn", "geo": null, "retweet_count": 1, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 72602671246967434, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "itfzemxlhpggsqpsuhnyijolpyhrrspgnjbzzbcygpeztlvgdowhtobpbmtauejisandkxojbrziuogqcoiozmpdtzguhconuiaufdbitzzjqdhhajzunpooecmtzkuknzqpnijstasktdtlkczyrhgetvlbakio", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://xnhpmmpyhfexwpjtkkukqwkfeabysobujsnnoklafhcsootdawypxtmjdikakjzzkvbopkosbgfmptzxyjrxhrujoygdgv", "follow_request_sent": false, "name": "xmvuxzbitsxohjza", "statuses_count": 32524, "profile_background_image_url": "http://wsmrayfoksipnjdagppizpzzqjpldulniffboddnpyvxxmdadiygcimfmjfdgcbyblaobmjtwtqldyiyubzfpwtbmrfdi", "screen_name": "rspmrbpzfr", "lang": "en", "profile_image_url": "http://hqiwqseyfurdyetiyvwbxfoebswkigumfnqpwawhgdarlupoyaiugrdnkzbvfhsopvemzjatndoetwyjxhhlhmrhcliyjkiagv", "url": "http://glfkdbcyfqmknljuxjwjkiv", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://fnjcweotfbkwiwofbpwowdbgsxdoxozvfuneubcwpnqrvmeqfbpxjageg", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://utzipdruwnrhzayetknbdenuwkbrjikuqyvjqfxsgtyfbpcfmbrbhesfkaxmiicyegimyaicomlkeubttrsijnhhqijkranqrus", "created_at": "Wed Jul 01 07:14:16 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "484196654636997572", "in_reply_to_user_id": 769135237, "contributors": null, "text": "olqxrgcwgbyfjtngmjcnwmhoedyqtnbxrrsfjicacparakmusluyocovxjzbgvzqffxzfhhinubipsbappzsapnhbjjapilzvmxrszuwziauglqytegunqblqqpuwlcticmsrekexiv", "geo": null, "retweet_count": 1, "in_reply_to_status_id_str": "313403910351123004", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "769135237", "truncated": false, "favorited": false, "in_reply_to_screen_name": "irqjazyhogu", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 484196654636997572, "favorite_count": 4, "entities": null, "user": {"default_profile": false, "id_str": "57717001", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 454, "location": "Cambridge via Melbourne ", "description": "mbzywmcsfbruevbvmyoyikjnikpqkplvesgehematnpritdpwauwnrycdlmedooivccgxskkqaupykrgobzooxgevqhpeozpyhueesfskqvqvsnohotjvikdhjwohreaursivcwjthtbgsowrmthnwcptqbpjcsl", "following": false, "is_translation_enabled": false, "favourites_count": 4666, "is_translator": false, "followers_count": 1233, "geo_enabled": false, "listed_count": 62, "profile_background_image_url_https": "http://yxfiufrqazcbzojzanvqwjczighcqrewphlvepfprslpzfxqosnmcttixapkhhitqkpohdbsgqyvctnxgxxikalotywgddwiqzdvgio", "follow_request_sent": false, "name": "fadnxhyjhnkauu", "statuses_count": 4611, "profile_background_image_url": "http://bgbrhbkhdcqdzkmhuxtwxrbpjbyntzrusjkpvhiyqxmidlahdqvkhtpjseixuryfxwxcbqnzbchgtymigjwjojcfjlzdhmqrxuptbv", "screen_name": "gmikexvenjg", "lang": "en", "profile_image_url": "http://bqsetqiswzvpknxdgxtjbdzelpbwvdpgxfejltzvmbdlhiysajltcnpnnsckvrxaxgfqpjabrw", "url": "http://qnzucshuczqjmmiwjbynni", "protected": false, "profile_background_color": "9AE4E8", "id": 57717001, "default_profile_image": false, "entities": {}, "profile_link_color": "0084B4", "translator_type": "none", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://zoarqnhbiahywgelkvtopvmodnokwjkzahkucahpgvjjjzfznzvclxyjwp", "profile_sidebar_fill_color": "DDFFCC", "profile_image_url_https": "http://pkjbnhavzaojoqzrfodyuztjikpcannijacupoatexgtinuzaoteacvbmdhcvehuwoovxpspnbq", "created_at": "Wed May 12 12:57:42 +0000 2010", "time_zone": "Melbourne", "verified": false, "utc_offset": 36000, "notifications": false}, "in_reply_to_status_id": 313403910351123004, "created_at": "Fri Apr 14 14:09:31 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 14:12:38 +0000 2017"}, {"id_str": "418576295283702318", "in_reply_to_user_id": null, "contributors": null, "text": "ljhxiuvohslvgmrgqfjytpiaqbzsnietidxnrbvfuhvryfxhykhoqczpyuqmqgbynfighbfcsgdkfgylgnkpigjvvdcwzqckrfnzdihglsgfehgyubtusaurroioctrfetkswnfvsqv", "geo": null, "retweet_count": 1, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 418576295283702318, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "kxhfiscjqejopsrdvcuxevdbrboifpzzkwimpxlramybibxgekyvjpuxfnjepfjwoslicxbnlariidfjdfgerwdigfkhqsrgctbpovjrztterarrbcfhddasfakknnlmpnegngjqkoihevuirlkykqsjmjkudsij", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://qqgzpbzjbqbhbxtnsfftvjoqdhffxuwigxlwvbeqcfrnigavdftagdnosoejbonyjhfqnjeofqobmikyszcowbylvahluw", "follow_request_sent": false, "name": "ztkhombkyphfccax", "statuses_count": 32524, "profile_background_image_url": "http://guiyiyawnkrhbljttviyuhtlpazdcskzpynhjvsbvhgjfdzjoheveaajjpmkehwjoxbfffiinepcearwltbkhyucayoel", "screen_name": "xkrkrzwlkv", "lang": "en", "profile_image_url": "http://pbotikftxamdslpyvlnpykfrehplbzglwntraidssfrhlqjqcvvqvbmmspjwllwltfkssjkoywbpvpdzxydufpoctjczdvclya", "url": "http://jgjkaxzdhibkpirlxhnwewl", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://owrmfcszzgrbupehcutddapibuyxlhpgmxmlvunqdsckdilppftbawbmz", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://ejgijrcmxiufevcppmjkvqakippzfwagsutfllrllmncgpezntvcrejjnfeqafssivcbabcttbwmonagudugoqeyarxzvmpyzwa", "created_at": "Thu Jul 02 07:14:14 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "914823883508086895", "in_reply_to_user_id": 126940128, "contributors": null, "text": "nhqhvfverqcwltudabbptrktthfdqgoernnqfvefwutguydytavlnjcohxqbexjxssgbbbuyigxhansbkxkdwobfjkrcoguzwwxhmkdfrquynakbwqbnewyhlp", "geo": null, "retweet_count": 1, "in_reply_to_status_id_str": "901963245781515111", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "126940128", "truncated": false, "favorited": false, "in_reply_to_screen_name": "azvedcgztup", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 914823883508086895, "favorite_count": 6, "entities": null, "user": {"default_profile": false, "id_str": "491652011", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 454, "location": "Cambridge via Melbourne ", "description": "tjloocuhqwtazgdloryvpzfwdlnqgactpzgmppbtdnahzpconzdmphakqgyhatqugxygdsdphkivjrdeqcpdxehiklwmidboqumhmiibgsodfxoqlszbvlfzpsslroyqubmkwwaodjhvqucxflueehqbqkugqrcs", "following": false, "is_translation_enabled": false, "favourites_count": 4666, "is_translator": false, "followers_count": 1233, "geo_enabled": false, "listed_count": 62, "profile_background_image_url_https": "http://nsgzvoeivyphrgraacnwqvwiqjnqgtbeupicduepdmyveqinaopxtlrytbnmrzehlwjkbthexsycxjjizzupfcbuianibiarslqppxs", "follow_request_sent": false, "name": "yjvycloghwdgnk", "statuses_count": 4611, "profile_background_image_url": "http://gngazmkppxifqdswcgtmhtffvkdtipkattsstrmshzrgkaqowfeototjeiretczxyxpllujcuuwxxaeouhuewgatqojeynrttupzqi", "screen_name": "fbyopiqjmtk", "lang": "en", "profile_image_url": "http://kjkamhgsvofcrhzbpbloxkjflaxtkzmjksjphfyvyejlmxkiylkomyvjbnuyzgtcpsuoqbzzdd", "url": "http://lzezgzegppcsfpjrcnbztx", "protected": false, "profile_background_color": "9AE4E8", "id": 491652011, "default_profile_image": false, "entities": {}, "profile_link_color": "0084B4", "translator_type": "none", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://xhyqdzysxexxevjuhnmbzsaljjpzoabemmytlxykoyvgugccjjlgftdjwb", "profile_sidebar_fill_color": "DDFFCC", "profile_image_url_https": "http://pnhsfzhgywnqhljlflturmnwyoqtpvmonazvxigwwktnbokdgaxynmfbuvwtecsmociltfczrvg", "created_at": "Tue May 11 12:57:54 +0000 2010", "time_zone": "Melbourne", "verified": false, "utc_offset": 36000, "notifications": false}, "in_reply_to_status_id": 901963245781515111, "created_at": "Tue Apr 11 14:08:35 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Tue Apr 11 14:12:28 +0000 2017"}, {"retweeted": false, "id_str": "14407342622542013", "in_reply_to_user_id": null, "contributors": null, "text": "tpdzqwlxzzrlduzgzikadhrqedlrrrnddjaqignscbnvwxhfaohmhjjdvjvjecrzujblwpuphpqoodlptfvszjldkqfjekkmfgtfhqeznspksfgcgamhziggeqwzntdcackmpzpcomoc", "geo": null, "retweet_count": 8, "in_reply_to_status_id_str": null, "coordinates": null, "quoted_status_id_str": "850755325980553216", "is_quote_status": true, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "quoted_status_id": 850755325980553216, "lang": "en", "source": "Twitter Web Client", "id": 14407342622542013, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "hddeuzskudliwtcfyzgbamqqongogetedsrmysjokekycjhrtqcyjghjhkrknkasublqgalumdyvfgyxiltyxytfgairyaisoyxysebznokdlldhbnahdfrcdqsawfmecjygzrcfcxokrtdlopidfifaftmafswf", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://fyvdhgwmfsarcudyxneqzwqlxevnfqvrqnfpxsestpmxjhjhzmojxvyeyqwvhsicnktdfehfcxiwnowddxampuoqhomxqn", "follow_request_sent": false, "name": "ezxlvhusvispemvb", "statuses_count": 32524, "profile_background_image_url": "http://sjpbylhbhvdbdgnlkvirckmalrsjbuokdtjkhsxhbgracvsxczlqzgbqvlalcqixmwevrggsqwtsknoyspnazbhvipcqc", "screen_name": "jqzeftyyet", "lang": "en", "profile_image_url": "http://ybribaasuzpohwokjyjmvxdpxnsspdzwpcetfanuolvcpvwavocryysaqyxpcjpjhrwkrtybepzoqminzxpdjljqvoscpwthhm", "url": "http://mbarwzzruvzyuxxgofriikq", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://fzpimwevpdynxkyqoqctxyctagrlwblrbrpeefiopkueckzqfbgemrnke", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://vsommwjfvmqkrarrwlftjtshekcneczgpzcydxnkgzzzszvjftgyvtjbkcauartmyqxmyolncvthbkjyjjcbwmllmiheodbbygo", "created_at": "Thu Jul 02 07:14:31 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"retweeted": false, "id_str": "472381278626411620", "in_reply_to_user_id": null, "retweet_count": 8, "text": "lgamdwkzkhhtmyratacshzrcmjvteokudzbkedqsvpyzrsvaojcwtgohjufmnkfwyidvbouofpioqkerqxsxszsnmwdmwdovqpmcdqflttawnqoaodzcmdtaqhyviddukeyohhwwrfxu", "geo": null, "contributors": null, "in_reply_to_status_id_str": null, "coordinates": null, "quoted_status_id_str": "850755325980553216", "is_quote_status": true, "in_reply_to_user_id_str": null, "truncated": true, "quoted_status": {"id_str": "850755325980553216", "in_reply_to_user_id": null, "contributors": null, "text": "Do you have supervisor phobia? Avoiding meetings won't help in the long run, so here's how deal with it:\u2026 https://t.co/IoFPJU2Mej", "geo": null, "retweet_count": 24, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": true, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Hootsuite", "id": 850755325980553216, "favorite_count": 24, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/850755325980553216", "indices": [106, 129], "url": "https://t.co/IoFPJU2Mej"}], "symbols": []}, "user": {"default_profile": false, "id_str": "15862891", "profile_text_color": "000000", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 3683, "location": "Worldwide", "description": "Science news & opinion from the news team at Nature, the weekly journal of #science. Get our daily newsletter: https://t.co/NEbCVCZW5O", "following": false, "is_translation_enabled": false, "favourites_count": 1081, "is_translator": false, "followers_count": 1645394, "geo_enabled": true, "listed_count": 18924, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/39594489/nn_twitter_bg2.jpg", "follow_request_sent": false, "name": "Nature News&Comment", "statuses_count": 43968, "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/39594489/nn_twitter_bg2.jpg", "screen_name": "NatureNews", "lang": "en", "profile_image_url": "http://pbs.twimg.com/profile_images/1158019862/nature-header.ed_normal.png", "url": "https://t.co/SE3ZUng5ut", "protected": false, "profile_background_color": "A61919", "id": 15862891, "default_profile_image": false, "entities": {"url": {"urls": [{"display_url": "nature.com/news", "expanded_url": "http://www.nature.com/news", "indices": [0, 23], "url": "https://t.co/SE3ZUng5ut"}]}, "description": {"urls": [{"display_url": "go.nature.com/dailynews", "expanded_url": "http://go.nature.com/dailynews", "indices": [111, 134], "url": "https://t.co/NEbCVCZW5O"}]}}, "profile_link_color": "DF1F1F", "translator_type": "none", "profile_sidebar_border_color": "D1D1D1", "profile_banner_url": "https://pbs.twimg.com/profile_banners/15862891/1416999309", "profile_sidebar_fill_color": "F0F0F0", "profile_image_url_https": "https://pbs.twimg.com/profile_images/1158019862/nature-header.ed_normal.png", "created_at": "Fri Aug 15 13:39:58 +0000 2008", "time_zone": "London", "verified": true, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Sat Apr 08 17:00:50 +0000 2017"}, "in_reply_to_screen_name": null, "favorited": false, "place": null, "quoted_status_id": 850755325980553216, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 472381278626411620, "favorite_count": 6, "entities": null, "user": {"default_profile": false, "id_str": "479632169", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 454, "location": "Cambridge via Melbourne ", "description": "knrtnsmvywheetivtudmwfvdlyyohvdwelzmqdxgjegfwkbamoiqaskqbempgliybpdfrldpehzlpfpwjnvzcbrsqwlydgzdmyjrjnlnufzypgagaoaxcozeprnghqaofnxmuzgqjpyhjzshiagcmdehnuniukym", "following": false, "is_translation_enabled": false, "favourites_count": 4666, "is_translator": false, "followers_count": 1233, "geo_enabled": false, "listed_count": 62, "profile_background_image_url_https": "http://bllxkggwknvvdjujmitequexmnnoedjqyamcopazyaxeotcygixahcifkpwixebigmgawixiubfcyydfiordbfzczlidoibjdeqyxsv", "follow_request_sent": false, "name": "lilaqfgwcmflkz", "statuses_count": 4611, "profile_background_image_url": "http://mrmsxwkpfnwaxplfmwzfewojldngkusjhfffafdxmhtlkkmirhzlgyauaurqhzcktajjsxfxuvszqueftmxkbavpclatlymglwgkqw", "screen_name": "lymnpwyqtni", "lang": "en", "profile_image_url": "http://zdabtmgnenfjmtbxvuprtozgdtqtchdlwhvxxiadkbfzqsmxezisupltzdhnlrcmfjnvwlclks", "url": "http://bsffuekhobtjeqedrgeoba", "protected": false, "profile_background_color": "9AE4E8", "id": 479632169, "default_profile_image": false, "entities": {}, "profile_link_color": "0084B4", "translator_type": "none", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://bxpepbxtwnvqyjdtahdlekadhqmnvxhozaxtcyqtjaqhwennctbdxlados", "profile_sidebar_fill_color": "DDFFCC", "profile_image_url_https": "http://qrtwajjrzhkqgrpqqksyxhidhkzuacrcogrvbfppomgbluwwbanndxxvxodgqngvkyvvihmzjhh", "created_at": "Tue May 11 12:58:01 +0000 2010", "time_zone": "Melbourne", "verified": false, "utc_offset": 36000, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Thu Apr 13 14:07:54 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 14:12:25 +0000 2017"}, {"id_str": "462930440291936991", "in_reply_to_user_id": null, "contributors": null, "text": "emfprigdvmlgvstvazmijissdoqhfcrxxcjmcnlhimxejsdzvxrciecpxwpogkrgkmdncnrkccscjusmytncdtmpgutemzknmwvjjuhlosorvdktlkcfnesbzymrnzyvmgmeplb", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 462930440291936991, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "mnwvxvhtberofstrhntzbcrtgdjrixostcsfhaadwdsvbfpjllkjeqrmyfhhwtnmptcjaqxtoosotehhdhmefaiuvuljxcefiwznlnewwpmawzprlsyltxhtoydbkwxymsbbonvkjegvjxgbtngrjzqreillrtvi", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://ylwafokrkwnogjvcqmnumrvtexjxmjcfdvhhhofpakwxvmjyqxqzupwtvbwgrntwtmcwmgzsoedlxozgpzfvobhkanglwn", "follow_request_sent": false, "name": "guyadvglvzedamjg", "statuses_count": 32524, "profile_background_image_url": "http://qxrjqixrpeteipawaayzabnezvmbqaqdbykxhijmxafjoqztlibexcrluhgpytrhsgjezeearfwkojcseodnfregnryoa", "screen_name": "ouznutpoin", "lang": "en", "profile_image_url": "http://xqizoedwegsjvjqqcyjmcxfdlclrjxewjgfzupumcdviqmetxxlggvkwjmtuezzbhmwxveointkhsxhaggglyomlxbwrywotyz", "url": "http://jjhitiuutwhskurxwvprgyo", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://qxdgcgjgumrmeccrevapjkjshjrmsswzhjtwifmtwtmyqeogrbnqksiax", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://cfgpceleliktxpwdotxsznejzgwupnjagfysycpwybhmujswhfeiiupccgpdatdmsozthccynsycjrzqhiubvbprilstnaoozjl", "created_at": "Wed Jul 01 07:14:39 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Fri Apr 14 01:36:21 +0000 2017"}, {"id_str": "911795284783521846", "in_reply_to_user_id": 67389660, "contributors": null, "text": "tweknfdnmaiomumgyntbpuhplqhdmwgvcnzuqqhkoliazpzrutvtkxtdlmtznjymyfmibfjuxfjzxkirksckouhpafvqpvibpriywqstvfeocnvpfowmnvufcnqwoqrmwgoozbtgjtqihfvv", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "650944962603649814", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "67389660", "truncated": true, "favorited": false, "in_reply_to_screen_name": "zrlolkj", "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 911795284783521846, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "sowtzqqkhrnrlqaooljgwocvbrohdbmirtggsnpbnggxpqyoolqaxtzcxqsiaccvixycmeyplkliejejjthhoibyytsjdcmzqwmdebsvstvxzgtsjaxylmqawufqtrukctmqjeyuqjxbhvhxzwgdwtmjkbcbmune", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://tvxgkplfgsgpybwpbryphywkwthizaaogbxeydnhxhlancyzamuiyobmfuwuxpctpmifiysszxyyvjhypnalavlojbclux", "follow_request_sent": false, "name": "txdehkfjqrhnvaom", "statuses_count": 32524, "profile_background_image_url": "http://njrxxuxdrczzvfxnhlpyocaulkxtkjhtzmeblqyzhzlbsbyltqsmblwrfqcyyhzyahbixtsvsavaozxwnnhpqawjkaxzq", "screen_name": "pcruebbhgg", "lang": "en", "profile_image_url": "http://bymmkgzyrxkipvrniwpqjonmymawzwhtfblvtewurunpgxnaolrubcpobxqdjhearemljyajprqiaggpqfkzprwghghoxubyfk", "url": "http://dmigfgaopgxckfihkdkhprb", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://deulgnezcfogrbtfnictgsunaaydsyqhkmwbgyauhrwnlsuugfwcbjtxq", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://hmvextqmmxquyxdwhszpefqdcxoavsutssxurcfqfxlhkwlptyahhklsfbhcdzreygmiywsxjamluxahvkbsrozssfmqiwquycz", "created_at": "Mon Jun 29 07:14:33 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 650944962603649814, "created_at": "Wed Apr 12 21:33:26 +0000 2017"}, {"id_str": "193535268436592218", "in_reply_to_user_id": null, "contributors": null, "text": "fqqvwzxjvupzwawovrjrlcuyzffrxnctnirddursfbgfdpcpnagirhnfbvnmypwhodtfwszicxbnxczaxlleebvygwrjuqjtgqwgqqiegddrejoxyw", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 193535268436592218, "favorite_count": 3, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "mdqrspnwwkbnfebjwddxkyennvbbhjvtmfsnzhjfrhabrubpuoeebqzmjsbrtztdsxyyxwqvxdcqzexrwrblvaixbqhimmgshfkgteikplwtxifiuuoapsvjaqpxlkihzgwgkqfkrgecmaccgmpmkentcmwzvwds", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://rtkdjvbqywuuimaxhwgchnetmvbkdxxcagbfvfdukcmhbjgoeauebwzoiaibcbgnngzacsjinpkwqqenvavchatxhdooal", "follow_request_sent": false, "name": "giapecfvsrizmtox", "statuses_count": 32524, "profile_background_image_url": "http://jxvfegqnmtywyuaokdbbnuuxhygqmwrbelyddyfjfeakjmfovfzlzzvyrrdevkzxmtnqfdplaxgphswyxgshggjsumise", "screen_name": "rbcfzlqksl", "lang": "en", "profile_image_url": "http://ywyoxexcvndzkopzlpdjipddiuzmxowxjibnnhhkrheezrmplzszrfyfvupefgwwbrvbfbmwngfufyndffwloxvufdwlrtzvjj", "url": "http://jmtinxptghmumebclxfzzgb", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://yuzroatgfhhcnfcjebsemyndtajlidofmmpdpqnmdlluwmxtvzopwujgu", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://cngwceulfhdyncrghmbomoujrrahzatctivuwnsiourapdcexxvtcecxsxxirkvagxknkteirkptlzfpggxibqbuvoknkyjmauu", "created_at": "Sun Jun 28 07:14:14 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 18:53:07 +0000 2017"}, {"id_str": "269954633442334305", "in_reply_to_user_id": 27827108, "contributors": null, "text": "fwhlivbsnoiacvqrizytenfwxafnopmrkpjgmrjzfbzhqlqqavtgqlafwclevtpwpogpvuxiqmuywwsioxczzwdanjsv", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "335931928500446477", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "27827108", "truncated": false, "favorited": false, "in_reply_to_screen_name": "jovtfcp", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 269954633442334305, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "qkwqbuhilorxfrtvvsnwdkmqcdejtcnnilqcwjbzgjqcxfimrdjcyxlrrgclrdoettioxksaztshmibbgbcslggvydwefpzsztbgckytjqihugthlepbniyoachkujfnxqwpszajmpkdnkmuoodayivvlsxbzkhk", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://ldctbuzeyhxmmvdgxiszxpzastimzvhqbtfrlnzqbjktcjatjpigpnhdphlyoxeghffobgfyqtsjlbkqfbyzizrrdbfbxj", "follow_request_sent": false, "name": "vkgemadiqzqxvrxr", "statuses_count": 32524, "profile_background_image_url": "http://krrhoobmapasmyxzvyrxbxitvtudfcihwtznequxmccrqcoqxillhaziablirfhphifdjfihwtxxtvplwfurvqaqsoezl", "screen_name": "oscybwldgo", "lang": "en", "profile_image_url": "http://joatxnlrioyciktytercmfiirltkidwpyzwjsfdmyzkeextabhdnlmxwqbnmxzauzxrckhdrdalvpawnmyodymseoefklwudog", "url": "http://bvhkvkiadegbfiyuobotswz", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://tpbojkkcqkhtkcrxdzongstpggwkoqrspujghndjacdjurkcnuorlrrdp", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://wfftppyuyigvcypzbplallroknqnxworiycgcidbjfxgdpbpavzwhrixykhtctkswwaqtnrukrvnzigdtkzdtjexrgodsykssee", "created_at": "Mon Jun 29 07:14:41 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 335931928500446477, "created_at": "Thu Apr 13 18:13:23 +0000 2017"}, {"id_str": "283285870916179840", "in_reply_to_user_id": 49732661, "contributors": null, "text": "objirsjopssydgushyjtlcpknzrmzeidntrnpvydhzcjtxpyjjofbuhxhsgtuusdporstshgzltevtbbhbvgjflobtvrlwwxmltpvuvdttqycukljjbeizzgrrhwswrxlbiwhyloqm", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "146996210355193009", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "49732661", "truncated": false, "favorited": false, "in_reply_to_screen_name": "izgtpcitwk", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 283285870916179840, "favorite_count": 1, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "crjlfoqpkwojadnypxdhdtnikhkdlvwnnsxufbwvwmqjzgymmxgffpxggzbnhrlevzwygjfuncneslbxqgnexynkdytnfrrkuyiuzrytxdphxpqodxulkviprnqlugtzgamjnmvjvbbqevmvuxwscmhwpzhxupow", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://updzqefkfqtamtjvdbcagcwxjrfrvukbumpxmpmioynmaeryambnfomotapwnauusmmuraefhcyycisgjkrnogytikwcgr", "follow_request_sent": false, "name": "xmmcckkebqccsgdy", "statuses_count": 32524, "profile_background_image_url": "http://ukghvpjdmiarundnnqaonejlmhwqfxhvdnmuixbbarjaptgopfkvhczxcugudwfgrdalpmpqymdhmeesbslximerrmpnx", "screen_name": "wvxanwznpv", "lang": "en", "profile_image_url": "http://fkxacxsxfycxzgpqxlogaziawouarqelthohntkxyaljwpdrniljxpjomttxhasoatqmhhkurwwedpmqbqvidgvosgpnabpfbd", "url": "http://urzmuqxbthyvlveedeprsdg", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://rtjoxjistmelqodcschusrgfbazxjrqhppfkbntynotyickfxtxxjxbvl", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://kunsjzgbjpquaucvcuhelgoslfceqfujmojwlisgqvdzhjsfladnqmglnoqozqkkgiqkkkuyubbposcvqofvjwvhrkdckkgaefh", "created_at": "Sun Jun 28 07:14:40 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 146996210355193009, "created_at": "Sun Apr 09 18:11:01 +0000 2017"}, {"id_str": "574712976947487672", "in_reply_to_user_id": null, "contributors": null, "text": "fjczzoerawdtmgtctxmjazhfzvymgsqcosqirpwxkrgfjryneijguzqrbxvacgcleeeyeocgrrbkfjwwhwacnxjipkmkfloenqjuadeazdnoiyoxobngboyklsdxqpnkxpyrm", "geo": null, "retweet_count": 5, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 574712976947487672, "favorite_count": 5, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "wuocongtoszcopwvieezaursvtxxayxntfvppvpkwwmfbswoufyuwqkqnnzpippfkhodxylvzbkihqhruhudykwlqtpncikewihnuufyghfqkynnabohygxbizhlqirdohbfaxaraknzhdlhxrklejnenywyvxxo", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://kgwrxdjaodjiblxwnuaucdwjhxuiirnxwepnkctgrqxvsekcxbtsyiztvjtvbywclyvykmepkmuzktkvyogsdexjemwdhs", "follow_request_sent": false, "name": "jbyvirwbxqzpxaaq", "statuses_count": 32524, "profile_background_image_url": "http://lswsywjbllkgpkksdcpqvqeawpkdnguwzfhcuecitgiqgodkscuevxdgjbhfacxzirtrevstmeflubhesekmacxixiknj", "screen_name": "ccacmvxrpc", "lang": "en", "profile_image_url": "http://udfroqynpyibvzkpmhuoweenlyjbcgeardjkvsuvfvocbiijimbphmgvrvlnkljlctauojroiljxpqdqnqnyzurcsugbiergvx", "url": "http://hcwdfdoxsdaegcjliftpfzb", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://nytaygjovgzgffejnmlonrnltwzbsjgipqgihqauveezdasumwlbprwnt", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://jwgtorggzgirsyesrhfbrbsqgswsylxptxldoedvxhhjkprasqfaoouhpqpphjjouyjjmontnacuplznbpwhiqpsjvlzqjkqhou", "created_at": "Mon Jun 29 07:14:27 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Sun Apr 09 18:10:17 +0000 2017"}, {"id_str": "996011761546257591", "in_reply_to_user_id": null, "contributors": null, "text": "sqvwyikkwfrvwcaywnvovnlvfmycyciykwhqawnrrcfxtgkpzzqdmptsfiifmjxvtnjansdzmbdjnwfhknscokryz", "geo": null, "retweet_count": 12, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 996011761546257591, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "zeokotxgffregkleynuhavtqeojuqvdjjlnmcslgaufapzfyxuqgfqnljohnrdelltngetfqfggtlhsoonzvjhnbycryronusvvoczrcocfvtmlibgqeubgpynjcpvlfqldkoarrxajtetplijeecgjtjshewwbs", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://heebvdsgpapafiyuhhmmfmtcgaqrvhuyainbkocjjanwvuqojbehbwdinkhhfotudnzsaebaezhbjtmdgasrmvxtriwjlj", "follow_request_sent": false, "name": "cztyjcfungeczczs", "statuses_count": 32524, "profile_background_image_url": "http://dgkquykxxavygrlsqoaorekolzrcfnwqbnnyhmbrmsrcrcesamdjghfcqhwwtxehqfupnqoqhqtvobjpfbydjyyydmxyw", "screen_name": "jirguyzlpy", "lang": "en", "profile_image_url": "http://wrzipjhwxqdaquzgrdsnotndsmzphdabwddmjqzsfbxeepxunbhdnommlkybsgqtiwsygkhskebnpahwfemitwgigwszipjvcp", "url": "http://xctohiyvegzqiwmbqlesdqq", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://qpneldvkunzhewwprccfnpjlnlyvftypncytbzhnyxvkzecaunjibmbbd", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://fvciiakekbknhzmxdduhgekwxazxatizruryxmprhunzrffjmdqyjiuarzxchwukiglghsmdwbujjgddepncwszniwksrftlrys", "created_at": "Thu Jul 02 07:14:35 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "96535764565708125", "in_reply_to_user_id": null, "contributors": null, "text": "kqklhwgqcmineqovjyeixckiigefnjwootklmpxegtzrrgczxvlojqihqkyoooeodhtgxmcymnk", "geo": null, "retweet_count": 12, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "TweetDeck", "id": 96535764565708125, "favorite_count": 36, "entities": null, "user": {"default_profile": false, "id_str": "13141382", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 1657, "location": "Washington, DC", "description": "lrazyxoyowtsucpgyrzqkaqqckxrcqrysqjlkyfiiouwwgelaftcdhqnzwogmqhaqosbctuajpknhgnqlhulaqhawtbqbrztyuqopssiexdtocjsdxiysxxyvbccfdeyvwcmosxzhqxzxavhzqncjervaj", "following": false, "is_translation_enabled": false, "favourites_count": 6829, "is_translator": false, "followers_count": 11364, "geo_enabled": true, "listed_count": 325, "profile_background_image_url_https": "http://ttdfqxbqzipaamgizjijlfmojixlejpkrrbnhzktelxevetvrp", "follow_request_sent": false, "name": "blpwxyfqabryg", "statuses_count": 13160, "profile_background_image_url": "http://xtznbfdiomcahrffyjwdvmlhebxzzxefctjazbswahzrgwdxi", "screen_name": "hrrkcjib", "lang": "en", "profile_image_url": "http://fsylrhddzgbkxdogbxbbkfougwsfixiclymepyyozjddwyramxmdovvggmxjbghxwayfogtqfj", "url": "http://vkwkmuhfrnnpojarvnvenut", "protected": false, "profile_background_color": "131516", "id": 13141382, "default_profile_image": false, "entities": {}, "profile_link_color": "009999", "translator_type": "none", "profile_sidebar_border_color": "EEEEEE", "profile_banner_url": "http://fltrcfztygunvzlcxmpritucqbjpoznkxfxkhnzafbxxroeissgkyttaz", "profile_sidebar_fill_color": "EFEFEF", "profile_image_url_https": "http://tklcqaupudvbklmkeyshrazdeqixentcfpxpzsqdlyqamqwfeluzecfomsgrvcrqmdrqziahxwg", "created_at": "Sun Jul 06 22:41:50 +0000 2008", "time_zone": "Eastern Time (US & Canada)", "verified": true, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Sun Apr 09 14:41:24 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 14:52:50 +0000 2017"}, {"id_str": "497473481028768928", "in_reply_to_user_id": 33553244, "contributors": null, "text": "apowwpephvfwvegdlcxpjysvwhwgcwvceavgdqweipinursekxnsfitdwhlggshszzxemdpzawfvramgdzjzunhvbotopgoizzirnpznrjfoclgdqonupipbdlekphlbhzomt", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "104770619878477450", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "33553244", "truncated": false, "favorited": false, "in_reply_to_screen_name": "hfihfajbnug", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 497473481028768928, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "vtopblsuvbvrdziomezpzsxrgfjiuqlutyvopdvyolizkqerdvsjewsyawbqvkudpqfhzjgziktewsmpwnjnlmzwwzzisymigygmrajsvleuihdzijlirwhbcrdxxkclxwanfsxlusqpyhprkmutobffcwtfomwg", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://opjvykxzajzexbsdcodijbujzandbkfcptrkxwqmcwbfbkpyzjkehqjxuxkgbvcavomfgqacnzsmijpyghzoolueszxmrc", "follow_request_sent": false, "name": "kkiyhblrwgqnlhuz", "statuses_count": 32524, "profile_background_image_url": "http://acduhdtpynfauphwppfofozzcwtwpwjsvcthluarvbaltwuepbiqkfyjmtfdvzfcyggfdakgfhvkecqefmipowhcfrkze", "screen_name": "krrqxncgjq", "lang": "en", "profile_image_url": "http://xzwpzaaifabjrrdnsvadztjqajzlqwmqbpimcufzwvoejfrhalyimaskldslejggivesoindabzmpbgtcrqlecnrlcbkgqcpdb", "url": "http://ghnvobmcbgccmqqorbylqdz", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://iuuvlkrsrzvpgrkmfgqjrbrpvbdvndjsaxnytehhalclwxzqnzfghutiw", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://psyiepqcwvlhbnjmsaugncotdskaftormhsnctuhltlggjvtmgandkrsbldookzlyorryckqbzopxxdyybtgpjmfcaztkedzhie", "created_at": "Sun Jun 28 07:14:25 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 104770619878477450, "created_at": "Tue Apr 11 13:28:17 +0000 2017"}, {"id_str": "249593548332534808", "in_reply_to_user_id": null, "contributors": null, "text": "eppsyjbumllkxkvybwabiivzmddtakbyvyujdpvurcisadmvicecmptviiqhruuodwdkewllowrlvdshxyhalwvbtmuzkjczzcaodcsxkxbbfzkjhaavbpbsybbweyavituusdbxmmen", "geo": null, "retweet_count": 6, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 249593548332534808, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "rzmylpjvwjfdllohonjbggqiqieltxsoooozhkrhosjcxacqanzpygkdhwbklzroniecufbyzmhpmxwfvxmkledfhodwlrtabopgmownoupvcjbkpwyemwqrwzoqmhbajtdezbdhjgwummttzcdwzldvcpvyfcwc", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://zbzohtesbsbxxgrvnlvxrddjondmoyqvgiysppgxpqypvkygveroqwsuspgmczsbxqhwiexsfroxzxfeyhpgrwvlcidbic", "follow_request_sent": false, "name": "dwyqeqjtrjmlyolr", "statuses_count": 32524, "profile_background_image_url": "http://uuzrfllkwmxkalfhgwdshgwqhfazaipfrguyzmrdnauhiiljzegsrugxibamgkadujbepworblveqyfvpvslnbemxekzf", "screen_name": "onatdtkcuf", "lang": "en", "profile_image_url": "http://tzzobfaqdfvxwtwehvqmgwoqxinxiptqyvrvrjpurshsqonpejgamalxjizcosgphzxathbgkzclmoarinpsvuqhmlxlaljoek", "url": "http://henlkmzwhgaiibxcuzakxuw", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://cutiqlijegxxkujfjclovcksdpdtxiqnbaaxcyjfimqbejxlgclzfoymn", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://ljrfgffucrendoulcwafpksepjjwfgfixyicsxyqqfmverclkrzwkrvxrwgaqinjgwtfexrhuicalhqkyahbxonoxghkwmqdehu", "created_at": "Mon Jun 29 07:14:19 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "788175360401984887", "in_reply_to_user_id": null, "contributors": null, "text": "ymtnxzkdwuiexfpaexaeyzyfjlrvvvnmwhgyokpfvvqpimnaaereysrlgfvwzkhftmienxrsemmruulyigehvmulnoatbmqebhuuazmnqszehfzsyeumpp", "geo": null, "retweet_count": 6, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": true, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "SocialFlow", "id": 788175360401984887, "favorite_count": 4, "entities": null, "user": {"default_profile": false, "id_str": "89387106", "profile_text_color": "000000", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 1237, "location": "Boston, MA", "description": "mevrgmhhhbqlvmqzluicsnycrilaqkcsozlbndummqeosahvjzvglslcysszruxwysqulmktzfztimpajsrmnxqzyxolwcwzvpgalcoecyxgdhrxeisxdwazhyadkxepdjnsclbpfmzzywdmsxullnykvmve", "following": false, "is_translation_enabled": false, "favourites_count": 334, "is_translator": false, "followers_count": 623959, "geo_enabled": true, "listed_count": 9736, "profile_background_image_url_https": "http://osexuaiwkylqaxggzsafxictkwckqdwgstvefesonchkelwmmhmrwgdyeexuftlqdktfagjembwekkyhdpkxdcmnlvwctolbnajxslfc", "follow_request_sent": false, "name": "pwxnoaohzytysduq", "statuses_count": 233708, "profile_background_image_url": "http://qzlrkxkjtmgyjefkargxokbfshvryxkwlvululyjmjirhuvciupkqffekajbnqnyhjywuwlmtcumcidfhrsnfupcijgyzyohzeeosgs", "screen_name": "lfvwtsjjwal", "lang": "en", "profile_image_url": "http://aebujhurmpsbpksnpefyapwemcgsonivddcdpeaircpjkuyqjhqufiuoabmdwuiigoyiyfrhms", "url": "http://kbvovntdlsioozhptolicy", "protected": false, "profile_background_color": "EDECE9", "id": 89387106, "default_profile_image": false, "entities": {}, "profile_link_color": "050505", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://wfkzjawlukzcykhdsswnlgtrbfogvejiorbxpvosyqfslwzhvyedpqgnk", "profile_sidebar_fill_color": "FFFFFF", "profile_image_url_https": "http://znnmpexvkvrbvzochsyqbrfkycycgyahbbrwchisoxekowayibjghnorhdvwsfrrnuaduvwoosj", "created_at": "Mon Dec 07 14:33:58 +0000 2009", "time_zone": "Eastern Time (US & Canada)", "verified": true, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 13:19:12 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 13:27:31 +0000 2017"}, {"id_str": "584944008304017459", "in_reply_to_user_id": null, "retweet_count": 6, "text": "gayfwzsnokmfoppkkoxeywvcppqvbsnohqwtlaqegkqcyerglagjbtmfowaccwtqlyxlytkcjjtojiyyclzbtvbypgsjigapp", "geo": null, "contributors": null, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 584944008304017459, "extended_entities": {"media": [{"id_str": "851606348475150336", "sizes": {"small": {"h": 381, "resize": "fit", "w": 680}, "thumb": {"h": 150, "resize": "crop", "w": 150}, "medium": {"h": 673, "resize": "fit", "w": 1200}, "large": {"h": 906, "resize": "fit", "w": 1616}}, "source_user_id_str": "759249", "indices": [74, 97], "url": "https://t.co/0irR1qs0hX", "expanded_url": "https://twitter.com/deaneckles/status/851606465735512064/photo/1", "id": 851606348475150336, "media_url_https": "https://pbs.twimg.com/media/C9GDdkFUMAAYW0j.jpg", "source_status_id": 851606465735512064, "source_user_id": 759249, "media_url": "http://pbs.twimg.com/media/C9GDdkFUMAAYW0j.jpg", "source_status_id_str": "851606465735512064", "type": "photo", "display_url": "pic.twitter.com/0irR1qs0hX"}]}, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "lmfltfuadzxokfzdhczbaamdklscaxixjibjxprkvkhhzssykqgczyqslskyqxhnxqzscmssqqllfwnvpfdpslhgwgfgjriwsgmcukjxuwhqlwpbtmvamdxfabhqajunqindidcfzgwxgctfyboqjfjyzihvlolh", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://kpurlusimavdqzgshxlxoceuamqbdqbvfhpuiyjqklqzunseoolgaiebvblklzuwyyvuwkbmeyptzftiadxavmslpwijuz", "follow_request_sent": false, "name": "odtwivcwacabkozw", "statuses_count": 32524, "profile_background_image_url": "http://bqmhlsjdmbhimnwittrtrwrxtuiqepxiqdbsrqurombwihiupgrfhtcledrtuxwuccnthgkjasiyfqhsewtjfsabpjkpg", "screen_name": "sbjxhwbnjf", "lang": "en", "profile_image_url": "http://nrylrrbztudnbfmsqnigdvcchtrqlaqdqlmzyxbsvgmlxlgepagzotmptjjzrjcrvfyvyxbugwftgvueanfhqrkrsfiwiuwbqr", "url": "http://ttdctgzjanvwvujjxwkucbf", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://medmqwfdsffvtybyiyetubbezotcquaeacdxsbmmljhaviqntfojdpwtw", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://ffwdexybpzydwzoaganirntctoqexwkfahnucrkcrckjshzgupjgmhrxbfhyncfdczyojdrbezcrtkqzxlyorielpyquknspaha", "created_at": "Wed Jul 01 07:14:27 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "237000041468682654", "in_reply_to_user_id": 52619113, "contributors": null, "text": "iiyanjoxlpthgqcwbfstdmhofraqsxwnpzxcnbljhqtxahewidcxzzvzhpetphzzxniqyvzbnjkponqju", "geo": null, "retweet_count": 6, "in_reply_to_status_id_str": "582549183294281679", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "52619113", "truncated": false, "in_reply_to_screen_name": "pbufsflkeeckse", "favorited": false, "place": {"country_code": "US", "contained_within": [], "place_type": "city", "full_name": "Cambridge, MA", "name": "Cambridge", "url": "https://api.twitter.com/1.1/geo/id/8193d87541f11dfb.json", "country": "United States", "bounding_box": {"coordinates": [[[-71.160356, 42.352429], [-71.064398, 42.352429], [-71.064398, 42.4039663], [-71.160356, 42.4039663]]], "type": "Polygon"}, "id": "8193d87541f11dfb", "attributes": {}}, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 237000041468682654, "extended_entities": {"media": [{"media_url_https": "https://pbs.twimg.com/media/C9GDdkFUMAAYW0j.jpg", "display_url": "pic.twitter.com/0irR1qs0hX", "media_url": "http://pbs.twimg.com/media/C9GDdkFUMAAYW0j.jpg", "indices": [58, 81], "id_str": "851606348475150336", "type": "photo", "url": "https://t.co/0irR1qs0hX", "id": 851606348475150336, "sizes": {"small": {"h": 381, "resize": "fit", "w": 680}, "thumb": {"h": 150, "resize": "crop", "w": 150}, "medium": {"h": 673, "resize": "fit", "w": 1200}, "large": {"h": 906, "resize": "fit", "w": 1616}}, "expanded_url": "https://twitter.com/deaneckles/status/851606465735512064/photo/1"}]}, "favorite_count": 20, "entities": null, "user": {"default_profile": false, "id_str": "634542", "profile_text_color": "000000", "contributors_enabled": false, "profile_use_background_image": false, "profile_background_tile": false, "has_extended_profile": true, "friends_count": 973, "location": "Cambridge, MA", "description": "ismzdqzfkevqio", "following": false, "is_translation_enabled": false, "favourites_count": 3739, "is_translator": false, "followers_count": 5027, "geo_enabled": true, "listed_count": 319, "profile_background_image_url_https": "http://ujbnyxvybpbmvqvduvrfwntxsfaiewsrfhxntmxyyvtcbftxh", "follow_request_sent": false, "name": "kzlottplbzs", "statuses_count": 7327, "profile_background_image_url": "http://xydrnaveycyefyhsjwtirzuswzjiicrdxwouyswgbixeumvu", "screen_name": "ykxidooumi", "lang": "en", "profile_image_url": "http://uldxphlotwdozxnezmbultpbcviobmcpaegqkpvyyflmoryrokxgnefpukeybxfiklemiocxbj", "url": "http://blxtlbejgshhcvlrreeyhxm", "protected": false, "profile_background_color": "000000", "id": 634542, "default_profile_image": false, "entities": {}, "profile_link_color": "1B95E0", "translator_type": "none", "profile_sidebar_border_color": "000000", "profile_banner_url": "http://xrkxkvpgsbculcewpwozfscbnirvfhvhbvlvvjanwhnqkrojipctjfr", "profile_sidebar_fill_color": "000000", "profile_image_url_https": "http://egsjeilrdtdukcpzxwihyrtzuikgkhicuavowwxvzaezaraydlvxvmjbztnjkiomqzizeuzslgj", "created_at": "Wed Feb 07 00:34:39 +0000 2007", "time_zone": "Pacific Time (US & Canada)", "verified": false, "utc_offset": -25200, "notifications": false}, "in_reply_to_status_id": 582549183294281679, "created_at": "Thu Apr 13 01:23:02 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Sun Apr 09 01:25:16 +0000 2017"}, {"id_str": "909431803179175850", "in_reply_to_user_id": null, "contributors": null, "text": "yrzyrtmxwdjqnreqzpczbdkumfijrtmfqlvkoerhmsjxbkxzcabxtidimeeddbvnstgiryjblmdhpaxlcjxcmlqahoxayaqrlhzaavwkuvxqzwvjdfkwmipnpvrlutvnnv", "geo": null, "retweet_count": 4, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 909431803179175850, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "rccjxpdkxpuxywobzrrgjyncfkbspsdaqvsopnynsfoyefmabrbubtghvzuwayssqmspihjmdpjhqwazfdkimipgnyfyrundwzjwdtupfvghyiwhaajbbqdtrshmqsnwuklqwrztdczweypdabqxttxesppgkkfu", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://tygiirjdtslcdhgqndcxiabebamotiajcruqydfqvkmmumnqlgedtjptstsyfniftkdbtkmfwrebmdesyrwmnnabjjbatw", "follow_request_sent": false, "name": "fduqwiazmqgxecsg", "statuses_count": 32524, "profile_background_image_url": "http://dkpctpjcggzhskyulpqwvaqdmtmxnizzashlafkasgnvxvmhelmtwbhseplgpsbrayekzfjjwzsnehpogbiuwfjrryazr", "screen_name": "dehjgpecgj", "lang": "en", "profile_image_url": "http://wnxfdeivyxvukfnwznbjpyvdumudpypetqpraxcjbpvizwpzbomzmbyebnjsgcwxdyocomxxgchddyimglusivxsjwjzntmwfa", "url": "http://jjuvadiulumxnyximahuvjk", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://ormmaabzdwtjiwxmkgpgtxasjhgktiyvzcpusnfawntakxoyjfaizunlx", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://lustgulpxafnpufalmzcgswdgdsfagmzztmxgzmimbhkaqqxpezgyfudbzpdqyxnrkmwyecpyfobsajsgvnmtwzimvnbiavyogt", "created_at": "Mon Jun 29 07:14:17 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "15384159935013217", "in_reply_to_user_id": null, "contributors": null, "text": "qkvzskzjvapnuajqcxhzxolzbeglfcseszchmouhhiivjaixmebadjuzeoawdvacawxkyembjyptjlfvryzfvkzmbrgxjwxiwudcjencawbpqvpqtpz", "geo": null, "retweet_count": 4, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 15384159935013217, "favorite_count": 4, "entities": null, "user": {"default_profile": false, "id_str": "5130031", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": true, "friends_count": 2479, "location": "New York NY", "description": "ffwbndwsvsqfqmarprqzytuemcjhpuicewtwgevzfipzpvtyhnzomityprwtzqckvkybcyuepiiuqoyklifsyigjtyglrjialfpgtusxzxjrgsdwwaofdgwosqvobmrsurkcrtikiyjspzimkefzz", "following": false, "is_translation_enabled": false, "favourites_count": 726, "is_translator": false, "followers_count": 2601, "geo_enabled": true, "listed_count": 193, "profile_background_image_url_https": "http://jzmtnqjetfwfkhxewdhhhqqwklybkrmwlnfxvcpaypjlmyurumcfstsbmnirgeioz", "follow_request_sent": false, "name": "qnqgfpnef", "statuses_count": 685, "profile_background_image_url": "http://swwgpdprhcvicgogawhwxlcsgrfuprbabfvzkhwlwhftfqjpgipwulxqsvdwvtfn", "screen_name": "yxzgqknia", "lang": "en", "profile_image_url": "http://xtznmrgewcumqopjdhobakgmntvorcqdisgrrxojjjovkgjmcitjmyveqioszmuawmjsvqplkjrsakcdtvphunivlyykqpltxo", "url": "http://lruvnpliarxkcbtstjlknb", "protected": false, "profile_background_color": "AAAAAA", "id": 5130031, "default_profile_image": false, "entities": {}, "profile_link_color": "3B94D9", "translator_type": "none", "profile_sidebar_border_color": "EEEEEE", "profile_banner_url": "http://nwiflutttbhzqzxihmrvtgyaalubjrdvinqofyokbjhuidchnfhdglanj", "profile_sidebar_fill_color": "7AD8D2", "profile_image_url_https": "http://jcfrrywjoqxldwfnaafwqihfuirmkdiddzzlgdevhhwiterzsimhigvffkraxisuqwcltdjjhstxtgkltdmtcehfmjjqcbvjkte", "created_at": "Tue Oct 06 03:42:38 +0000 2009", "time_zone": "Eastern Time (US & Canada)", "verified": true, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Thu Apr 13 00:31:38 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Thu Apr 13 00:41:14 +0000 2017"}, {"id_str": "843341465896061489", "in_reply_to_user_id": null, "contributors": null, "text": "rvtgavbipcmnmcdazeqgvncmrjjzhjddgatjyldpkgwfpkvdwlzxeuxysxyrrpgosrcgmbbltlyguomjnltegzilgcoarhitedgavsaqyvlzlddvtvhrxhruclarcgpqfnupe", "geo": null, "retweet_count": 13, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 843341465896061489, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "rrzufkyxrvziaueuritmssvpbzhvuisijqjrfmjhxixttbvmuzkskhkerdjogtxxilmanpuwzwlyhndejiccmuvfxzbzikhhgdnbqoevjhyzzpnxxlnqlpvmbxdwcdjcyvpkohoeyakffuobufxnvbttgqccqotp", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://hzfovrbohfgrapxparbqebbrgagtnqscjdjaczwmfyqnhgiilssnhgjsalhtuskxjckklkyuvpayqatkdohewuwkqgymhe", "follow_request_sent": false, "name": "euoxkcophewdzzoz", "statuses_count": 32524, "profile_background_image_url": "http://fdeqdaftujtipyxxkkvvfgritpffuxuthrowliikxbnuindfmrubamxpbthjhordslojsajfkuhebnclvgohgjpcygnjs", "screen_name": "qntfztbcch", "lang": "en", "profile_image_url": "http://vtcplgzfdxhdouaqqoehxuwjlekqoyaobhllnhggbauyzsdyluascgrpupfowserqbzhuyrmycgoeraefzrcwnvfiicwgpijyw", "url": "http://xmbfjjwrpucjzwlbwkrcxhf", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://dgltrjdanpzdjyjomppqtnctvumkoqxgvqthhtvaqwtdccwlvretokawk", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://uiaujtnbyzyneatpcsspyjmbebpiebwsbiaqlcvurnnaurtcvywhrktvyyutjetlxomfgfxawddsgkcyfsahvlftkxaijpouxkj", "created_at": "Wed Jul 01 07:14:20 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "452400714151988334", "in_reply_to_user_id": null, "contributors": null, "text": "xpthfbsybyrhnmhsazawkrrefgdvsgsbfyjozbggmendtjhbgdqdxaprfritnahejxcvacvqztdzxwptqqisnxlerdbkyospbctnwpsubtgmmjyxlhszpr", "geo": null, "retweet_count": 13, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": {"country_code": "US", "contained_within": [], "place_type": "city", "full_name": "Manhattan, NY", "name": "Manhattan", "url": "https://api.twitter.com/1.1/geo/id/01a9a39529b27f36.json", "country": "United States", "bounding_box": {"coordinates": [[[-74.026675, 40.683935], [-73.910408, 40.683935], [-73.910408, 40.877483], [-74.026675, 40.877483]]], "type": "Polygon"}, "id": "01a9a39529b27f36", "attributes": {}}, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 452400714151988334, "favorite_count": 24, "entities": null, "user": {"default_profile": true, "id_str": "8902681414", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": true, "friends_count": 391, "location": "Brooklyn", "description": "oydsnehrcxkzwewjjourxoxvyfwthhjbpccnhzredbvhjkdsngpfpqcigjqkoilirftszmbixdvkqbmgrzhafch", "following": false, "is_translation_enabled": false, "favourites_count": 14097, "is_translator": false, "followers_count": 420, "geo_enabled": true, "listed_count": 54, "profile_background_image_url_https": "http://czxxstyuksuezxvgfkbinpacuxnbclsnpegdxycvenzaouhpc", "follow_request_sent": false, "name": "crdsefjexcqch", "statuses_count": 13719, "profile_background_image_url": "http://mudysfalvatgqinsutbfvvnfoeuzpcbzmsorpcjdcaohbsmo", "screen_name": "pehrmruwb", "lang": "en", "profile_image_url": "http://oamopnqwtibseqmbvdcnnlxncexqohqslrxxfbsclbxyerzlyvicpvowouuletqwfjjqxtjsiq", "url": "http://kqydkhsnipeqwhyrbeacmro", "protected": false, "profile_background_color": "C0DEED", "id": 8902681414, "default_profile_image": false, "entities": {}, "profile_link_color": "1DA1F2", "translator_type": "none", "profile_sidebar_border_color": "C0DEED", "profile_banner_url": "http://dlwrrkaxurjrtepfkpnkecwdgclnnmwfcifxhgckjieblmqglezpwryqtva", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url_https": "http://virrarbiggdnfvlewvuqfbqoivolsjrpxmzfdyjhfnfszlasqvuxcujklcgwbznpnodsdhxrhtl", "created_at": "Sat Sep 13 17:52:09 +0000 2014", "time_zone": "Pacific Time (US & Canada)", "verified": false, "utc_offset": -25200, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Sun Apr 09 15:19:59 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Sun Apr 09 22:09:57 +0000 2017"}, {"id_str": "11895461262302090", "in_reply_to_user_id": null, "contributors": null, "text": "ohjlawmysnsbgwwbvblrxavufvneecbuuthfzzorgoqyqozpislhgobpynoaofjxgxrynigksnzyseilnfvghsvhjhkehkqrtinfgmcfsrjsvzsehgaviqgdlkmkfzetkdbffqbxlzla", "geo": null, "retweet_count": 5, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 11895461262302090, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "gkdplsfvbkrxogmmaihuftnshfudbckvlswfhusybngugltxqsapizxfcvtuksfukxhktoduwlklhqthajhxrexnxgzhrsotusptpymtivucctxfncfutfsajggcletmwrhhqivftgszgdydfcdhgjkdqxiejdwm", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://ppscbihfczvsigckfdojsgdukoxzxiklmvbgmntcopymqritilyimgbahzcmvklsswtwnefdmuqprbahwqoppwgqcglezt", "follow_request_sent": false, "name": "ktrkwacwjfroertt", "statuses_count": 32524, "profile_background_image_url": "http://cxgpqqfsugldcwjtedspajivxatrrhwbcstorcrbddcueniasfbcjhummubcigrhgcqjvrjcjyjtfbupragsnqnujnvvp", "screen_name": "xccbhtkijk", "lang": "en", "profile_image_url": "http://furspsgjynondghulafabrwwqxpcyqlqxfawwktbbjwvvdfracpbketvqqpmehyankgykakzddmdgflekwkqzzjfsghppmexih", "url": "http://sbcigilraeudwzcdeoqpvrj", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://ssyzbhtymboqrsfyynyktulmlxznvkuigbjqbywkeootfmkaxfhvlxnre", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://lohffvebufonixrrekiwvgqdoitmldqtbnvilkpqomlehujtivuvhsgaxctlgriwgpqsafykraelckrxmrecfbggxvgppgwuqyh", "created_at": "Mon Jun 29 07:14:14 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "505496113489442753", "in_reply_to_user_id": null, "contributors": null, "text": "vdpksqtgxnictzgbjekgcewesxsytwtkrhtzzgibpmklgyszkagqctkudtscwwicngqyhsuqwmumxaarycymsepwdmskjpfpradfjygnkgzlbnbxlcwcqczlgxapgxx", "geo": null, "retweet_count": 5, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 505496113489442753, "favorite_count": 8, "entities": null, "user": {"default_profile": false, "id_str": "735270461", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 3082, "location": "Seattle ", "description": "mswulsygntpxbshyjthbtfzamlrseumzgweaiwsrxjqngyfizphujkogxbxonhkljtgruydgvksrvyngjtpcxwqtjzrfnsomnbaetprdbtyxggnmlfhxsbklvlygmksdkillgmagjbvrwwkszhaniowgfymeign", "following": false, "is_translation_enabled": false, "favourites_count": 6289, "is_translator": false, "followers_count": 1218, "geo_enabled": true, "listed_count": 65, "profile_background_image_url_https": "http://rmlgtssbrjckskhhedtivpqwdnxgflmuxukgpayoeorudfinuqxspfmzhzbqtbqvcssnkogpzjfyyt", "follow_request_sent": false, "name": "ahabgoksj", "statuses_count": 10287, "profile_background_image_url": "http://qpjmihxumtbohzuyhcfwbejweswpzswtakbfpbzkkffazffsagxkjxctxcvsemuknmnsiwlgwqwjr", "screen_name": "hvvzdogdphesgl", "lang": "en", "profile_image_url": "http://ygrfgpviwuqtzlggzwzwxyhkbafmnonlldouunqkjorqnszhhkagmvtspwpwzjwtkqgznxfilriqeuypmqlcudybqwtpznczihsvqtgksjsowi", "url": "http://qhcgxgjnxlkuditpfpyqfhr", "protected": false, "profile_background_color": "C0DEED", "id": 735270461, "default_profile_image": false, "entities": {}, "profile_link_color": "0084B4", "translator_type": "none", "profile_sidebar_border_color": "C0DEED", "profile_banner_url": "http://wkfjvkjdbozyqekbwxujnlnezwwfxheltrnuquhyfcvmaakdqpscopmmqq", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url_https": "http://wsoaohrdgmnktdnzzwiiiqeecozzzlgwmluluywreopupmnmytmwtlmdznidtxwlyygbtxenvgxtbhzpfkgbbbctthtlvrihvdqrizfdoirfhkc", "created_at": "Fri Nov 18 18:44:16 +0000 2011", "time_zone": "Pacific Time (US & Canada)", "verified": false, "utc_offset": -25200, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Sat Apr 08 22:02:08 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Tue Apr 11 22:03:53 +0000 2017"}, {"retweeted": false, "id_str": "40849533818657918", "in_reply_to_user_id": null, "retweet_count": 15, "text": "dxlohlbhswrjufbecmlxxqwzjspayxhhhcwqnwrbjpodnaswwldtcsievbzshteqoczkkwhbepnxqrsftrymsreybvulwtykeankunniofcuzjzirryoxsi", "geo": null, "contributors": null, "in_reply_to_status_id_str": null, "coordinates": null, "quoted_status_id_str": "851511226576384000", "is_quote_status": true, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "quoted_status_id": 851511226576384000, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 40849533818657918, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "mfgcnjdztewfczkgdubilhwvqsadyigoqzeepmxhwlkznpgvhcuphsamjrhcpjpuunepcgioqnjlzebfccntkpgiskwlwnlkwqybaoqbhgcrcfhfmjiwrlfrcgrvxhxvdoqzirmyhrhcrygjhnqhlargjasvcxgw", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://xkqfjpbrdpqbydgyuqbwmweftreiwihxejkmdxverrfvpkojfikwzmsmzeavqnhqstswdaseqmuuvpwymilwhodzgyqtim", "follow_request_sent": false, "name": "vppmmqifrlxwuoyu", "statuses_count": 32524, "profile_background_image_url": "http://tpblbnpqeqwawcsoynyquptxigqikjkbylcnxaubpbvtlzbsqfuzgjxmofsrfmarudnaqumsrcgfcsvtcmidjgctthfus", "screen_name": "kkeezcvqtm", "lang": "en", "profile_image_url": "http://iixrljuobvekgscrylxlxhdqdjtjsxmqgsvmjioatskxvmxsozosjyvqvwaiaincffozgygwjsjtwcfjzaqukilyomrbmjnxzv", "url": "http://wxrswkgdrnvvuingbbodusg", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://uwncpfqaenpqjdiicgnzxhehsvadmmhaxuaptdjjepxgytqfsfocrakei", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://lpgmpukszpwbrhvjpwajrrklmtitukceivrjwhefuizmkyiswetzqrdymxjklvsupjdgocrtjjqcpwvqryaftyurhynfvobcuqc", "created_at": "Tue Jun 30 07:14:35 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"retweeted": false, "id_str": "97400846480325556", "in_reply_to_user_id": null, "retweet_count": 15, "text": "eiruxxtyhsohsvfrqrfpjpaohhfrbgctfilnrnilwdzetwthurdewpeipdhdzvptmuucsgixjpzkfcoehcurebhoftkwlruiitwltopnn", "geo": null, "contributors": null, "in_reply_to_status_id_str": null, "coordinates": null, "quoted_status_id_str": "851511226576384000", "is_quote_status": true, "in_reply_to_user_id_str": null, "truncated": false, "quoted_status": {"id_str": "851511226576384000", "in_reply_to_user_id": null, "contributors": null, "text": "Congratulations to the @NYDailyNews, @ProPublica and @MissRyley! https://t.co/dUSQCHXF7z", "geo": null, "retweet_count": 903, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 851511226576384000, "extended_entities": {"media": [{"media_url_https": "https://pbs.twimg.com/media/C9EqudfW0AEoos9.png", "display_url": "pic.twitter.com/dUSQCHXF7z", "media_url": "http://pbs.twimg.com/media/C9EqudfW0AEoos9.png", "indices": [65, 88], "id_str": "851508782228230145", "type": "photo", "url": "https://t.co/dUSQCHXF7z", "id": 851508782228230145, "sizes": {"small": {"h": 340, "resize": "fit", "w": 680}, "thumb": {"h": 150, "resize": "crop", "w": 150}, "medium": {"h": 512, "resize": "fit", "w": 1024}, "large": {"h": 512, "resize": "fit", "w": 1024}}, "expanded_url": "https://twitter.com/PulitzerPrize/status/851511226576384000/photo/1"}]}, "favorite_count": 2082, "entities": {"user_mentions": [{"id_str": "9763482", "id": 9763482, "screen_name": "NYDailyNews", "indices": [23, 35], "name": "New York Daily News"}, {"id_str": "14606079", "id": 14606079, "screen_name": "ProPublica", "indices": [37, 48], "name": "ProPublica"}, {"id_str": "220164244", "id": 220164244, "screen_name": "MissRyley", "indices": [53, 63], "name": "Sarah Ryley"}], "hashtags": [], "urls": [], "media": [{"media_url_https": "https://pbs.twimg.com/media/C9EqudfW0AEoos9.png", "display_url": "pic.twitter.com/dUSQCHXF7z", "media_url": "http://pbs.twimg.com/media/C9EqudfW0AEoos9.png", "indices": [65, 88], "id_str": "851508782228230145", "type": "photo", "url": "https://t.co/dUSQCHXF7z", "id": 851508782228230145, "sizes": {"small": {"h": 340, "resize": "fit", "w": 680}, "thumb": {"h": 150, "resize": "crop", "w": 150}, "medium": {"h": 512, "resize": "fit", "w": 1024}, "large": {"h": 512, "resize": "fit", "w": 1024}}, "expanded_url": "https://twitter.com/PulitzerPrize/status/851511226576384000/photo/1"}], "symbols": []}, "user": {"default_profile": true, "id_str": "2909713155", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 748, "location": "New York, NY", "description": "It's our 101st year of honoring excellence in journalism and the arts. The Pulitzers' second century begins in 2017! #Pulitzer", "following": false, "is_translation_enabled": false, "favourites_count": 11872, "is_translator": false, "followers_count": 28301, "geo_enabled": false, "listed_count": 540, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "follow_request_sent": false, "name": "The Pulitzer Prizes", "statuses_count": 6852, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "screen_name": "PulitzerPrize", "lang": "en", "profile_image_url": "http://pbs.twimg.com/profile_images/685174334726475776/q701tUCU_normal.jpg", "url": "https://t.co/svcBTH9EFQ", "protected": false, "profile_background_color": "C0DEED", "id": 2909713155, "default_profile_image": false, "entities": {"url": {"urls": [{"display_url": "Pulitzer.org", "expanded_url": "http://Pulitzer.org", "indices": [0, 23], "url": "https://t.co/svcBTH9EFQ"}]}, "description": {"urls": []}}, "profile_link_color": "1DA1F2", "translator_type": "none", "profile_sidebar_border_color": "C0DEED", "profile_banner_url": "https://pbs.twimg.com/profile_banners/2909713155/1491408179", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url_https": "https://pbs.twimg.com/profile_images/685174334726475776/q701tUCU_normal.jpg", "created_at": "Sun Dec 07 19:36:54 +0000 2014", "time_zone": "Eastern Time (US & Canada)", "verified": true, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 19:04:31 +0000 2017"}, "in_reply_to_screen_name": null, "favorited": false, "place": null, "quoted_status_id": 851511226576384000, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 97400846480325556, "favorite_count": 29, "entities": null, "user": {"default_profile": false, "id_str": "57994292", "profile_text_color": "634047", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 2236, "location": "Miami", "description": "mtlejozgosjjcabqbjtxziostvewzisytqzidwgojasflgerekrwstxmtnbw", "following": false, "is_translation_enabled": false, "favourites_count": 1398, "is_translator": false, "followers_count": 11140, "geo_enabled": true, "listed_count": 541, "profile_background_image_url_https": "http://pgptzqxyiddneodoiizltyagsctgxozqbtkahctyyrmyelmmfuweuqlevlujffllmmmzdwxbohgyee", "follow_request_sent": false, "name": "mofdjgvwjxieytam", "statuses_count": 6761, "profile_background_image_url": "http://xsrrkwpqlneihatlctoqxldvvyrydczdumdwsabsimgjlavjkzlhyiwozqbpqkbedabcpsykkpqvz", "screen_name": "avsccttj", "lang": "en", "profile_image_url": "http://eqcltfqoewmmorcxbmymvjmglqpbquhqvohpdpxmnexthsfndthdmhxtgyxvmbyjwcfoqgxodue", "url": "http://dcflghjscxwfjyttxwnxxr", "protected": false, "profile_background_color": "EDECE9", "id": 57994292, "default_profile_image": false, "entities": {}, "profile_link_color": "ABB8C2", "translator_type": "none", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://ktajwdhlvsodifrflfunasnwiqwqzwxxnzxkwamrbukpxhfsjszpbigfc", "profile_sidebar_fill_color": "E3E2DE", "profile_image_url_https": "http://haknnondyjthjcaujbejyvkbzzcivyfldmgjtfpyntabyxhmhwdyemhdizyjrhnrkcdfnnjltakp", "created_at": "Tue Sep 16 13:53:21 +0000 2008", "time_zone": "Eastern Time (US & Canada)", "verified": true, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Tue Apr 11 20:17:57 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 20:18:04 +0000 2017"}, {"id_str": "148765886725538694", "in_reply_to_user_id": null, "retweet_count": 780, "text": "wwuizgwsiqjpzavjgkykmhodrrcpanqjyzwtsacdbcwzxwwopjdareapugynescsuyebfjyrwhcfbnlkyojwhohqwmdivhhlekaualdngxqsgadzhmr", "geo": null, "contributors": null, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 148765886725538694, "extended_entities": {"media": [{"id_str": "851519220827521025", "sizes": {"medium": {"h": 400, "resize": "fit", "w": 1200}, "thumb": {"h": 150, "resize": "crop", "w": 150}, "large": {"h": 683, "resize": "fit", "w": 2048}, "small": {"h": 227, "resize": "fit", "w": 680}}, "source_user_id_str": "14606079", "indices": [92, 115], "url": "https://t.co/SSjotUViaQ", "expanded_url": "https://twitter.com/ProPublica/status/851519411982880768/photo/1", "id": 851519220827521025, "media_url_https": "https://pbs.twimg.com/media/C9E0OETXgAEG1if.jpg", "source_status_id": 851519411982880768, "source_user_id": 14606079, "media_url": "http://pbs.twimg.com/media/C9E0OETXgAEG1if.jpg", "source_status_id_str": "851519411982880768", "type": "photo", "display_url": "pic.twitter.com/SSjotUViaQ"}]}, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "bymdqrpwhoqaigqnysygiljbzzuxzasyodsegcsdjaojqrjhbsvrqdnybgbtnzupwvdhnyftoatnurvajzpnbuhgtncdhohutgnmgkhlybameysofxfdpjjezwuzkwwmmjokkwagraslvsjoggxpshihjiripxmo", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://tmnyonendrldzvolvdqcqrbjosanhkbseemrsxsvhskbmqcwcckyvnpuxjlwjhdhlogvxyatxyecgiijxewuqhvehditms", "follow_request_sent": false, "name": "sibbholoabmsajeg", "statuses_count": 32524, "profile_background_image_url": "http://zvnukyyyqmdjiepctozhardokciaosdqweokisntpbirzlgvzxpoytfohlkcinwclrgtshiukocruzsfkisqwvdouxckw", "screen_name": "lwuzcmuuhy", "lang": "en", "profile_image_url": "http://srqkrprpfryfkcaivqlyvywpyyeomngjmgzzhmguqfgeaqywuxwhkmxwtglxrlczbkmlugljpdeqmnrorurhoawsecconzzzuk", "url": "http://scgipjseyvheefhaushtols", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://cdzneticbnfdsxovaficzulxhqlqugkrystbxtyvtgwmybwgyktmppbaf", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://sjipyegzcqxezkmvkcbgvhogwwdbiiiihpfoleneuhicefhqeenzfluuttltnjtstraasshiauhrswgrwzkcingyajxfdmjbawe", "created_at": "Wed Jul 01 07:14:31 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "869295320153572741", "in_reply_to_user_id": null, "contributors": null, "text": "ahxccwckleyalvkakxsoomamextweszcmgbliuxlytocicxyidsvbfegsnqzeyyovrdnhoysbfloclvlxqiofxgzuihtqnprwhp", "geo": null, "retweet_count": 780, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 869295320153572741, "extended_entities": {"media": [{"media_url_https": "https://pbs.twimg.com/media/C9E0OETXgAEG1if.jpg", "display_url": "pic.twitter.com/SSjotUViaQ", "media_url": "http://pbs.twimg.com/media/C9E0OETXgAEG1if.jpg", "indices": [76, 99], "id_str": "851519220827521025", "type": "photo", "url": "https://t.co/SSjotUViaQ", "id": 851519220827521025, "sizes": {"medium": {"h": 400, "resize": "fit", "w": 1200}, "thumb": {"h": 150, "resize": "crop", "w": 150}, "large": {"h": 683, "resize": "fit", "w": 2048}, "small": {"h": 227, "resize": "fit", "w": 680}}, "expanded_url": "https://twitter.com/ProPublica/status/851519411982880768/photo/1"}]}, "favorite_count": 2805, "entities": null, "user": {"default_profile": false, "id_str": "4824276", "profile_text_color": "030303", "contributors_enabled": false, "profile_use_background_image": false, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 289, "location": "New York, NY", "description": "mtidmrfqalfplcbqbvsfvscfujwkmoxhnksmjhatdguidgraamskmhjpzwcfebwrcbwqhyhmaalikttbkxihfkeqngatjhhumfzefbqrqsupcwzpgtpnyxensllsxzowtvdoh", "following": true, "is_translation_enabled": false, "favourites_count": 3306, "is_translator": false, "followers_count": 650956, "geo_enabled": false, "listed_count": 15006, "profile_background_image_url_https": "http://gcwmdhllwanxkgiuwwehsddrugzolvgkscijomyonlymaoonemyfgegyrusdtwgpjplkkxamyyfxmttjjnhozunningpowxcllzqyjl", "follow_request_sent": false, "name": "scygwrfgpn", "statuses_count": 46132, "profile_background_image_url": "http://zqjwsvdtuevsppccxzupvfqidutgukytipxiespxrafbobbsxfynjvlnnalagbnowyqywxhcsaissovliaizyrumqoqfkfiixsfrqu", "screen_name": "vajmirzank", "lang": "en", "profile_image_url": "http://dotdjaxxuyoifcujlisiyydghsfhdqwtzsojghjmdayhtidkgnbhhqaafssfceahvudndfgttb", "url": "http://bqiwhjksjygtpfuugarmbv", "protected": false, "profile_background_color": "DFE9F3", "id": 4824276, "default_profile_image": false, "entities": {}, "profile_link_color": "5287B5", "translator_type": "none", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://olfjuqqovuhipeqfiaapxdktwrkpmpxciwsilpjcbjogrhnajypcadbhj", "profile_sidebar_fill_color": "FFFFFF", "profile_image_url_https": "http://rraxinzhccnlqbvjkmakkscfmjwknbftzcmdpmuxbawurixubulfyihjeuhevoblaqmlmkvrrpu", "created_at": "Thu May 01 21:17:17 +0000 2008", "time_zone": "Eastern Time (US & Canada)", "verified": true, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Tue Apr 11 19:37:09 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Sat Apr 08 19:47:30 +0000 2017"}, {"id_str": "768430291182254560", "in_reply_to_user_id": null, "contributors": null, "text": "ghbbbwadewoyrjhugrbdvblhfkcbukgtfwckznwvleranzuszssoojctxfmhoafdauwekgmbmuoxcdshgchdblqudpjaxbfixqrjpepgleidlwbpkafrjucznsjpucokyubvmkjexez", "geo": null, "retweet_count": 1, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 768430291182254560, "favorite_count": 1, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "flwvuivsfqbbuimvajzekyrwfsdkujfqukhsqeumzkrypvembhclwlgtosxospqttzxbnatwhyhxcraplfrfwxufzttwcvmgkeskgyiflgelyxsslbsfmjyeebiamhmkpxhemsephikanuanffifefxmwqzaeswt", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://dbrujtvwnhanblzvlgtlksvjjyoodyzrnxsdqmyqhtpbdjazgecypepvcbdmdvbufpvpeufrpbonrqqrrwyigacwqfpoxx", "follow_request_sent": false, "name": "uchwvasclaudlqkl", "statuses_count": 32524, "profile_background_image_url": "http://vjamizgvufyeybfzvtadicxqscqapxjxuabemmnxdaiemjmvvchnrpmyoriamxwgjrtysdoafxdvatzqpzyhewuaosjdf", "screen_name": "cnsszvhgat", "lang": "en", "profile_image_url": "http://kcbcjtahxtfcigkjcmqqjvbuyqhxxsdmjgxdqqvvchpellthnycxpjnwgiikweqqhflqfnoxuzdnpmdhshtxqmytntqzlskhtg", "url": "http://foogiicveyfzjimkenskzmy", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://bbcqmincftwuxtqkiftyxsnedchsdzgeckrsybluhnwpirsbchyaogqhz", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://jmppqoejxphhhvqdfutotwalyfeukquipibidrkgirrmscgzkpyxwqqoddmfuoizdrysfyhgvlrykoeudwjedlujgvsdbxvaogm", "created_at": "Mon Jun 29 07:14:35 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Sun Apr 09 19:35:38 +0000 2017"}, {"id_str": "779229260766612248", "in_reply_to_user_id": null, "retweet_count": 783, "text": "wmnmonkcfwknmdtumkcxoihzvkocahosjzgcxjnfpmydinotoeoeicdivsfcuyvikpvvckxticcxaloozrrpkfnjfkcpvksapeuwzrdthx", "geo": null, "contributors": null, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 779229260766612248, "extended_entities": {"media": [{"id_str": "851511784070631424", "sizes": {"medium": {"h": 338, "resize": "fit", "w": 600}, "thumb": {"h": 150, "resize": "crop", "w": 150}, "large": {"h": 576, "resize": "fit", "w": 1024}, "small": {"h": 191, "resize": "fit", "w": 340}}, "source_user_id_str": "38496530", "additional_media_info": {"source_user": {"default_profile": false, "id_str": "38496530", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 1887, "location": "Washington, D.C.", "description": "Pop culture writer @washingtonpost, stand-up comic. Pronounced Eh-law-heh. 'A source for news, comedy, and panda hatred.' -@Washingtonian", "following": true, "is_translation_enabled": false, "favourites_count": 12877, "is_translator": false, "followers_count": 15899, "geo_enabled": false, "listed_count": 696, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/598885191822614528/jJ-uXDWt.png", "follow_request_sent": false, "name": "Elahe Izadi", "statuses_count": 48646, "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/598885191822614528/jJ-uXDWt.png", "screen_name": "ElaheIzadi", "lang": "en", "profile_image_url": "http://pbs.twimg.com/profile_images/833699717766750208/5ftb8zcL_normal.jpg", "url": "https://t.co/168aM2s285", "protected": false, "profile_background_color": "131516", "id": 38496530, "default_profile_image": false, "entities": {"url": {"urls": [{"display_url": "washingtonpost.com/people/elahe-i\u2026", "expanded_url": "https://www.washingtonpost.com/people/elahe-izadi/", "indices": [0, 23], "url": "https://t.co/168aM2s285"}]}, "description": {"urls": []}}, "profile_link_color": "009999", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "https://pbs.twimg.com/profile_banners/38496530/1466609774", "profile_sidebar_fill_color": "EFEFEF", "profile_image_url_https": "https://pbs.twimg.com/profile_images/833699717766750208/5ftb8zcL_normal.jpg", "created_at": "Thu May 07 19:22:18 +0000 2009", "time_zone": "Eastern Time (US & Canada)", "verified": true, "utc_offset": -14400, "notifications": false}, "monetizable": false}, "indices": [83, 106], "url": "https://t.co/Q1yX19qj3T", "expanded_url": "https://twitter.com/ElaheIzadi/status/851511870452371456/video/1", "id": 851511784070631424, "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/851511784070631424/pu/img/ND3_eXowlbE9Riyk.jpg", "source_status_id": 851511870452371456, "source_user_id": 38496530, "media_url": "http://pbs.twimg.com/ext_tw_video_thumb/851511784070631424/pu/img/ND3_eXowlbE9Riyk.jpg", "video_info": {"aspect_ratio": [16, 9], "duration_millis": 23608, "variants": [{"content_type": "video/mp4", "bitrate": 2176000, "url": "https://video.twimg.com/ext_tw_video/851511784070631424/pu/vid/1280x720/B2jgWrw47P9Uq-Ze.mp4"}, {"content_type": "video/mp4", "bitrate": 832000, "url": "https://video.twimg.com/ext_tw_video/851511784070631424/pu/vid/640x360/OiZAAOetbhCmlWvF.mp4"}, {"content_type": "video/mp4", "bitrate": 320000, "url": "https://video.twimg.com/ext_tw_video/851511784070631424/pu/vid/320x180/3kcxGiJYL9EZ1qnH.mp4"}, {"content_type": "application/x-mpegURL", "url": "https://video.twimg.com/ext_tw_video/851511784070631424/pu/pl/i22hNi0usPmr5f2N.m3u8"}]}, "source_status_id_str": "851511870452371456", "type": "video", "display_url": "pic.twitter.com/Q1yX19qj3T"}]}, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "hjiuawehmayqldvjmnnuaibxbsubezypfxjtsllppbzhliczoxbfsjafjgopaztjfrbqrdjpebagflhxuidfksphtvodyqxyphxjiznpqdzmrluostyjnbfsovizifakglabxsftqgzekjvtqczdyxoqdqcnpxtw", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://aypsprbybabqvjobircalqaflnysjgpcjwdemnkpnpxmyqedfbxlkanunvgrqqxiblptberdnqxngsghuufzzjclywknuq", "follow_request_sent": false, "name": "gzpifkwhslidxvyn", "statuses_count": 32524, "profile_background_image_url": "http://cpslpbmmfqpoyihbrhnzrhkocrdysvsmxvpzerdjxutkrvjlbxzmkvcsrvktgwlsqfodlwnhuakwogighvjabhmgzlmgc", "screen_name": "iwsvsozfqw", "lang": "en", "profile_image_url": "http://kiouukaoaqhaigzvfbtaedvlldnccpbqoqoegoaozkjqoztdvkkptardpsoorjhxppylwvbrjmnqeuqsxjxiyclznjurcekiqe", "url": "http://wbwudmtwcbqntujwuhlyxck", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://bfjdoeempsbtkbfqvklghdlpdiyximcgetwzzzoxoynnifjicedbvofyi", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://qylzzlmpwjdhirppnkzlmnqrufihakaptzwyxapictjxcjplqadpkytavlshfkcdjtzwkcbwkamnwrippevfdxjptcsjvzritjy", "created_at": "Thu Jul 02 07:14:42 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "891301557055934788", "in_reply_to_user_id": null, "contributors": null, "text": "moydfxdudtvlptnvpnbiyqyyngasusglsdsohonythvkpprpypnmmldicvfxeszmnrqvwqjmyruqaerxnarvaoaovh", "geo": null, "retweet_count": 783, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter for iPhone", "id": 891301557055934788, "extended_entities": {"media": [{"id_str": "851511784070631424", "sizes": {"medium": {"h": 338, "resize": "fit", "w": 600}, "thumb": {"h": 150, "resize": "crop", "w": 150}, "large": {"h": 576, "resize": "fit", "w": 1024}, "small": {"h": 191, "resize": "fit", "w": 340}}, "additional_media_info": {"monetizable": false}, "indices": [67, 90], "url": "https://t.co/Q1yX19qj3T", "expanded_url": "https://twitter.com/ElaheIzadi/status/851511870452371456/video/1", "id": 851511784070631424, "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/851511784070631424/pu/img/ND3_eXowlbE9Riyk.jpg", "display_url": "pic.twitter.com/Q1yX19qj3T", "media_url": "http://pbs.twimg.com/ext_tw_video_thumb/851511784070631424/pu/img/ND3_eXowlbE9Riyk.jpg", "video_info": {"aspect_ratio": [16, 9], "duration_millis": 23608, "variants": [{"content_type": "video/mp4", "bitrate": 2176000, "url": "https://video.twimg.com/ext_tw_video/851511784070631424/pu/vid/1280x720/B2jgWrw47P9Uq-Ze.mp4"}, {"content_type": "video/mp4", "bitrate": 832000, "url": "https://video.twimg.com/ext_tw_video/851511784070631424/pu/vid/640x360/OiZAAOetbhCmlWvF.mp4"}, {"content_type": "video/mp4", "bitrate": 320000, "url": "https://video.twimg.com/ext_tw_video/851511784070631424/pu/vid/320x180/3kcxGiJYL9EZ1qnH.mp4"}, {"content_type": "application/x-mpegURL", "url": "https://video.twimg.com/ext_tw_video/851511784070631424/pu/pl/i22hNi0usPmr5f2N.m3u8"}]}, "type": "video"}]}, "favorite_count": 2446, "entities": null, "user": {"default_profile": false, "id_str": "39149448", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 1887, "location": "Washington, D.C.", "description": "fmgamucmsjdswoqihntzkosparhqbtoophvdwaitcjtvrsrwdhiwddqmuzoplydlsmabktlwakkliqehiwqlwxrytjgkfawftzghlpknrxujaaqhabznufoznizbvujxgsgihvmxe", "following": true, "is_translation_enabled": false, "favourites_count": 12877, "is_translator": false, "followers_count": 15899, "geo_enabled": false, "listed_count": 696, "profile_background_image_url_https": "http://afeowscyllpzfcjndqurlptgeavrwjwqsyrciodqkchjznezwlrtdiobjlocpsbfisrqxekpahatlxd", "follow_request_sent": false, "name": "iccgrwtltri", "statuses_count": 48646, "profile_background_image_url": "http://yobqtsdctdzcudbkglrcqinfeqhlgsgykmydhxxmrsfppgbbpbvisuwjunxhenzeyidpxwusrwcgwr", "screen_name": "ksygvzrafw", "lang": "en", "profile_image_url": "http://rbfiuobodgouqcacgustlofahpwuoodgmhnmsisjkwjbvbrfjjlfwavzmxfifuydqbhmzwddhw", "url": "http://xjepsobncdwxazzzortqnlo", "protected": false, "profile_background_color": "131516", "id": 39149448, "default_profile_image": false, "entities": {}, "profile_link_color": "009999", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://gsyqbpfnebonarmyeitunezzyvarokydzyqihzzafqzarumubbryjsltr", "profile_sidebar_fill_color": "EFEFEF", "profile_image_url_https": "http://myqexmkjpqiiiuiaywfrltkuolbliyvhqegvvifncmruomefvqgdqgwxmleshjpcvlbytikylsm", "created_at": "Wed May 06 19:22:44 +0000 2009", "time_zone": "Eastern Time (US & Canada)", "verified": true, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Sun Apr 09 19:07:32 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Sat Apr 08 19:33:13 +0000 2017"}, {"retweeted": false, "id_str": "656262712079390471", "in_reply_to_user_id": null, "retweet_count": 1, "text": "qvstydvjzlhrupbgosjpykqsibaquqqozsghc", "geo": null, "contributors": null, "in_reply_to_status_id_str": null, "coordinates": null, "quoted_status_id_str": "851511759135440896", "is_quote_status": true, "in_reply_to_user_id_str": null, "truncated": false, "quoted_status": {"id_str": "851511759135440896", "in_reply_to_user_id": null, "contributors": null, "text": "Congratulations to @Fahrenthold and the @washingtonpost! https://t.co/kHp8bxcj52", "geo": null, "retweet_count": 5952, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 851511759135440896, "extended_entities": {"media": [{"media_url_https": "https://pbs.twimg.com/media/C9EtbLrXkAARBxB.png", "display_url": "pic.twitter.com/kHp8bxcj52", "media_url": "http://pbs.twimg.com/media/C9EtbLrXkAARBxB.png", "indices": [57, 80], "id_str": "851511749564141568", "type": "photo", "url": "https://t.co/kHp8bxcj52", "id": 851511749564141568, "sizes": {"small": {"h": 340, "resize": "fit", "w": 680}, "thumb": {"h": 150, "resize": "crop", "w": 150}, "medium": {"h": 512, "resize": "fit", "w": 1024}, "large": {"h": 512, "resize": "fit", "w": 1024}}, "expanded_url": "https://twitter.com/PulitzerPrize/status/851511759135440896/photo/1"}]}, "favorite_count": 15281, "entities": {"user_mentions": [{"id_str": "61734492", "id": 61734492, "screen_name": "Fahrenthold", "indices": [19, 31], "name": "David Fahrenthold"}, {"id_str": "2467791", "id": 2467791, "screen_name": "washingtonpost", "indices": [40, 55], "name": "Washington Post"}], "hashtags": [], "urls": [], "media": [{"media_url_https": "https://pbs.twimg.com/media/C9EtbLrXkAARBxB.png", "display_url": "pic.twitter.com/kHp8bxcj52", "media_url": "http://pbs.twimg.com/media/C9EtbLrXkAARBxB.png", "indices": [57, 80], "id_str": "851511749564141568", "type": "photo", "url": "https://t.co/kHp8bxcj52", "id": 851511749564141568, "sizes": {"small": {"h": 340, "resize": "fit", "w": 680}, "thumb": {"h": 150, "resize": "crop", "w": 150}, "medium": {"h": 512, "resize": "fit", "w": 1024}, "large": {"h": 512, "resize": "fit", "w": 1024}}, "expanded_url": "https://twitter.com/PulitzerPrize/status/851511759135440896/photo/1"}], "symbols": []}, "user": {"default_profile": true, "id_str": "2909713155", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 748, "location": "New York, NY", "description": "It's our 101st year of honoring excellence in journalism and the arts. The Pulitzers' second century begins in 2017! #Pulitzer", "following": false, "is_translation_enabled": false, "favourites_count": 11872, "is_translator": false, "followers_count": 28301, "geo_enabled": false, "listed_count": 540, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "follow_request_sent": false, "name": "The Pulitzer Prizes", "statuses_count": 6852, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "screen_name": "PulitzerPrize", "lang": "en", "profile_image_url": "http://pbs.twimg.com/profile_images/685174334726475776/q701tUCU_normal.jpg", "url": "https://t.co/svcBTH9EFQ", "protected": false, "profile_background_color": "C0DEED", "id": 2909713155, "default_profile_image": false, "entities": {"url": {"urls": [{"display_url": "Pulitzer.org", "expanded_url": "http://Pulitzer.org", "indices": [0, 23], "url": "https://t.co/svcBTH9EFQ"}]}, "description": {"urls": []}}, "profile_link_color": "1DA1F2", "translator_type": "none", "profile_sidebar_border_color": "C0DEED", "profile_banner_url": "https://pbs.twimg.com/profile_banners/2909713155/1491408179", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url_https": "https://pbs.twimg.com/profile_images/685174334726475776/q701tUCU_normal.jpg", "created_at": "Sun Dec 07 19:36:54 +0000 2014", "time_zone": "Eastern Time (US & Canada)", "verified": true, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 19:06:38 +0000 2017"}, "in_reply_to_screen_name": null, "favorited": false, "place": null, "quoted_status_id": 851511759135440896, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 656262712079390471, "favorite_count": 2, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "avjqmgotapcphaldjujuqruqgamdqvweptxlzbvnvkoiwaezzzogrnzybvijdfwygmreawxeurrgdrzashfxclomujqgdvwjxtufebuwwkjvsrtpjswbthfckfyrzliwkzhffpmjqhgnfjppfpdtqasxqpkaaiyr", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://wthvatqlukziycmjgjmglmyqzmavdlsqnfodrcldvphzsdtalqlukfpkzfqufyutbbjuyzlackurbtbwcntxfendrszyxh", "follow_request_sent": false, "name": "fllxknfwssnskivh", "statuses_count": 32524, "profile_background_image_url": "http://oqdesjhlkjchwnilbvldglrmjwidsnucfnjlgbrachwbvaxklvkxqghcnlgcftxmqlkarjhieaugwjbsjqjhhrfsglyye", "screen_name": "ugxsivveqr", "lang": "en", "profile_image_url": "http://seqnehplvpbuqpdxaihtnxkoqtyvwoqylkyjrspwqtbfgippoqsvyabrwxgkywrdcpclsvxqefeprretmojeumptpxlavndxlh", "url": "http://alnyjgdzfgmelivnoifeaew", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://kppjzyfkhhmaoymddbeymnoqvbxlprawvqzahnxbevwjyttxnofnswhbn", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://wxkpfjngcwjghlqhttjqsntvmjtazdffmiwfllwwwaznwpoyuhoirhyqnsbkcqwydolcdtmvnlvxzqyjhezcdmruprijwytiwdj", "created_at": "Wed Jul 01 07:14:33 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 19:32:32 +0000 2017"}, {"id_str": "888212401889438820", "in_reply_to_user_id": null, "contributors": null, "text": "cbuiijfizyopsfbnqfnqrwbfqsegddsfrswygrufbwqhpybvrldopzckzstxcndexxeyoyhoommorplffjvfcyjscqqegsftmdlhqkrmtysrkm", "geo": null, "retweet_count": 3, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 888212401889438820, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "cnvtgfbsbiebaeuzpiyufwqahwujkwpjugommuznflysgvdjydmoozlaprskxtvfqgnkyyoprdhkvwzyvknqpcxpxhcwaccbdpcbrwomdenfeovbobfusfyeqqrfwlruhvmwbrvhprmgokitsopxyrgnludfharv", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://bjwluavuwytxnftkrdmkmqdngffbklspizhtwpplzhgkftjirgtephqilxlthahwrluhvkdacwaptcubiwycdvqtgwhhuo", "follow_request_sent": false, "name": "ijahzlgwsptwpdjo", "statuses_count": 32524, "profile_background_image_url": "http://xvmwaxymvysepxkqnpualehskmpxidzgpsdaskkovgmrtglenwpjmgnmlzfageaumkemcpducuixupoiwklipsguhcebt", "screen_name": "zwlapfymtw", "lang": "en", "profile_image_url": "http://dkhobolkhuzztfueizlqkzrbtqjvqhplrhbbawmdwmqfuphczwocwsyovetjmagasywwgxhqjhmybdmlkcbxtdjgvndrbdoyro", "url": "http://iwwxulynqlrnxfxoaqqrcvm", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://zhazaskalhwdebabjwwjfvvdzxpwgeftkqnbpnymhxfvwhgjchytlqjvj", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://dgyqeocauperxmqtdiibwxyhauwdimreidzatftycldpmivbtvezuctvapliyfdcdbokraqjgpucirsktmplgqrreyztkgxdhzv", "created_at": "Tue Jun 30 07:14:35 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "209712223404530043", "in_reply_to_user_id": null, "contributors": null, "text": "kepfqtxnfahjqanupfrlwgqljsluscnrkruspczhdvymlchwvrafjrouxdweopainqwuemxqbbdpyequukyqmvgncinq", "geo": null, "retweet_count": 3, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "TweetDeck", "id": 209712223404530043, "favorite_count": 7, "entities": null, "user": {"default_profile": false, "id_str": "5459716179", "profile_text_color": "000000", "contributors_enabled": false, "profile_use_background_image": false, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 67, "location": "", "description": "lodtejhwxitgwtoaalqfyticchrldgwjzhcztanqsiyltisbdmwccshxelawysgggwroqweoadmclizrrwlywvrlwkyfascxsbxyuaqlqreirgupszweygxdydftgwnrmgderpwzoutrruyadhkjfuyifo", "following": false, "is_translation_enabled": false, "favourites_count": 1310, "is_translator": false, "followers_count": 4524, "geo_enabled": false, "listed_count": 244, "profile_background_image_url_https": "http://kkdluzdvmgdowvxdriziyrphyknibipclirxinzucofgomnsp", "follow_request_sent": false, "name": "ftxmfwihqonrncsmi", "statuses_count": 3663, "profile_background_image_url": "http://wbllfwfsonsnjnnbhsncmkrjckidpdciapeqgjvcrkbhxhgz", "screen_name": "ngdjhhgeyhcd", "lang": "en", "profile_image_url": "http://ucpoyqutteteixifmetftarklpyqumpfbcawqndytmjdkukjidgcbvwavbhmumnovqjtxncwrm", "url": "http://jlhaiuotxgjfdmnrsqsltn", "protected": false, "profile_background_color": "000000", "id": 5459716179, "default_profile_image": false, "entities": {}, "profile_link_color": "FF691F", "translator_type": "none", "profile_sidebar_border_color": "000000", "profile_banner_url": "http://sxsafpiddznnzokjhhxmgylxvtbjajuprpzmbuxxmkcvvdxtyfycakjukfs", "profile_sidebar_fill_color": "000000", "profile_image_url_https": "http://qaejgwedohxtxmlpvrhdbmwidyynurbkyamllxxfmvupxvtwbylzmqtsfknxbldrtjfuxayfvmt", "created_at": "Sat Apr 25 20:47:59 +0000 2015", "time_zone": "Pacific Time (US & Canada)", "verified": false, "utc_offset": -25200, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Sat Apr 08 16:11:43 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 18:29:09 +0000 2017"}, {"id_str": "447721218697382287", "in_reply_to_user_id": 77805215, "contributors": null, "text": "itocbqzfeazpaiozlgtinthoposumdcxljmfjcpnpdpkxexkadtqfhuppnndctgtbyzmuz", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "670610722431098957", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "77805215", "truncated": false, "favorited": false, "in_reply_to_screen_name": "uqjlnmj", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 447721218697382287, "favorite_count": 1, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "nwbgeoonwyktbybvyaowpmppntqwrdqolaklrfwfdowzxtjommqwwisauachhbydespppouyimdmqzzlduqcbvhqdarskjsakodqyvqplvpcjjedlmnlcnpcmdderprvurglggkiqgwjjgdtykkmmuraxtnezmmp", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://pbxmfibuajksvlwggosxavcjqppfzrbjvmcadbqctsuevimixgujqmrstcndtqraqjkidztvztnphlxcbgfqiyxvmykdun", "follow_request_sent": false, "name": "bbaedysafyenvqms", "statuses_count": 32524, "profile_background_image_url": "http://mecnnkopxhewomspcgyzuzdktvhsihwzhmkfqxgirfuxqfieejakvniqkjabzxvpgbojdqjfkhyemqcrfzrmikyczfrht", "screen_name": "gblejrtnej", "lang": "en", "profile_image_url": "http://mxtbmasbtrhjtodczwcbekgqnfobiswlbjjcmgcsrhuasnqylstrlowslndxuufjirgclsntfopjsdhiueznhfgpwmoabiimyp", "url": "http://wnqqsvfbccemuijgfvvocrs", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://zkexzpcatqoevliuesyzvbqytogxjnwulgciecjpvlkouuohgfcwfdltn", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://hrifklihubqtdroqsgustbdxcsuueinmzprprrmakbriwdlnskcngblrjtifusfizoeguhbwdzcqvorsrjqyzxvejmfldzxhzpm", "created_at": "Tue Jun 30 07:14:21 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 670610722431098957, "created_at": "Mon Apr 10 18:28:49 +0000 2017"}, {"id_str": "959104099891192370", "in_reply_to_user_id": 98564818, "contributors": null, "text": "tbtdxwdavopjthrpxgroxcc", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "462079438107171105", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "98564818", "truncated": false, "favorited": false, "in_reply_to_screen_name": "rtpnjez", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 959104099891192370, "favorite_count": 1, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "sxtjrfwhdfxhhcgtkwoaejqtuntzovcxtswvrqvmzxepclkbcdkbopbhbncrgblsdvngznfrqroeoufnwxcwfktsrojrwonzpwchafjjluckxjakbaxxptwqoqskdkfbudtkalkfrbxwhhlxxpmqribedxtvguei", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://wsuvhmyqxkmmpewuntrjmiufuebwfuoqgrsdhqjzeaawlwdygynjfjebfvtrfcxunujzpchibrjdzrzqcwawqdfvmopgun", "follow_request_sent": false, "name": "zhwlufjbgbxpvzat", "statuses_count": 32524, "profile_background_image_url": "http://ebtyftnworjbfvbfmhatouswiuwwajyunlumhesxnjyzmrkreilvwlpiivaavfgspgduwakrsovppdwuarzozymhmzqhi", "screen_name": "fmqjvvsjtl", "lang": "en", "profile_image_url": "http://qsrbgchvcskbwescwgnyaohnernyrxyxjwvaixkeehujjyhzpoakukweqflcuwikimpaixiopefwazkvtskbdsdxdjfgqmnuho", "url": "http://uqrifoxnsdwtqdylfvraqtc", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://ufqzugdbollyiuqgqaehmidkhsoyhfkvevacvpfxiwsowvzyydvnlgafj", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://qbcmtlkzinrkuduswtaswgomziytaoogoznlffezsstcilvsbeajhsqzsjyrrnelwvqlbghdxahtiymjylliazticaodlihylmx", "created_at": "Mon Jun 29 07:14:32 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 462079438107171105, "created_at": "Mon Apr 10 18:28:11 +0000 2017"}, {"id_str": "94598073749269043", "in_reply_to_user_id": null, "contributors": null, "text": "uwzilojpdlmtgqusituscwwnxccyunsqqpkbplqwqdvtpeprdzinemdbttwirxwgfxzbkxpqxckjbtbpwrapnmujnaxqtwqqpzxqfqloipdo", "geo": null, "retweet_count": 25, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 94598073749269043, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "ateifkrepbekyktgashzokftxhohbvwqnijqerrsighdkwxyjgxpoxbyayqhsafxqutbzuvtxsgpnlloylospeaoeliffxpxjyjnnhdpchsvxsmhjsluvlsltqofuramctsypjthqihtwntmzefhejeoiqhpscfm", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://bavgxxwrvzatosuqxnhuiwoxrqdzwhfysgdovkrasbxweoiperfjubsqxynrfnemubbyknwwsmtroqyoflebbkpymcxcmq", "follow_request_sent": false, "name": "uhmnanpgabujxpjd", "statuses_count": 32524, "profile_background_image_url": "http://rqabvkyjpfexfxcgirawdptrluwlufynbblnudllieyahdzmzicvcbpbcwflbihkfhaxtwybmaycnwuynmtjjounxixiu", "screen_name": "refgaxxkzv", "lang": "en", "profile_image_url": "http://cpybcdojlgplbpfsegkauoqxyhhejvgiryiksolaxpvfdmrpwxazcpljpselsmzvrljbswjguxqaiqiwzkpvsplcjbbvcbnglz", "url": "http://ujwdxdbefeyagrcozormbuk", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://qlkgxazudmxefiuqsetcflfmqjikvibrtoowmgdyiqmrcbdugnchpuvjd", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://mxganafohwouazfkfclcqjqqrltqnqnncynlcfjmzyaxslplajwehcegcrvhcbrkzzbicmybauqebvbbotitjzwkbzjqwguqqvi", "created_at": "Tue Jun 30 07:14:40 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "267970149551338949", "in_reply_to_user_id": null, "contributors": null, "text": "lkebauearhndofwedpfhjqyoupeujnaxmxvegznxbscadhddltpugevvctftkbwgofzpfkwqbwsmhedetamwpbqwpwwuv", "geo": null, "retweet_count": 25, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 267970149551338949, "favorite_count": 9, "entities": null, "user": {"default_profile": false, "id_str": "81360291", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 1162, "location": "democracyfund.org", "description": "gtjdpslsjvzbwuxdebwyimonjkytuyircpiswdoergulaohvnhsgieefmpfesuyulaattxfenmkkgcehbewutmmbnbwrkpfcynciifljzztngauatlcpqcctmwmklsoedihjydhcvbinxjmnhhqfeecvkv", "following": false, "is_translation_enabled": false, "favourites_count": 135, "is_translator": false, "followers_count": 13581, "geo_enabled": false, "listed_count": 1298, "profile_background_image_url_https": "http://xhytuiifuxwpvzcbryiksrjitzaftyvfxlmwekjewlfcdziciyadkvetkcbjouzbdrgwvlyrjrzhruyiocbttfljtunnula", "follow_request_sent": false, "name": "polcxadzlkfn", "statuses_count": 59130, "profile_background_image_url": "http://odwnssbzigawvwpcanniobdkszpniqyxxijrxmbugbnyizytqmptbwwtaizzoyfqbifqhhyqivybejffhcmcwlhykjqxcg", "screen_name": "gwizayirv", "lang": "en", "profile_image_url": "http://ciqknzaseexfclswdgaxddquaikjdgjmxsfnhcqwojvvkipaugjkimcsrigjtjsarjjwzfvfsh", "url": "http://fydgkgiqspnjxckvplrguyi", "protected": false, "profile_background_color": "FFFFFF", "id": 81360291, "default_profile_image": false, "entities": {}, "profile_link_color": "0084B4", "translator_type": "none", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://daqtbwqlgsgstvzztryamunmcqphybdguxoqzuzbwhyauysvpglvkxkuf", "profile_sidebar_fill_color": "C0DFEC", "profile_image_url_https": "http://qgdyspxetobpedekieqohcemuopxlnyeqhowkhlpbareaqqbmnfgnfdnmueedmuwpiixlksxuhq", "created_at": "Wed Apr 02 12:29:34 +0000 2008", "time_zone": "Tehran", "verified": false, "utc_offset": 16200, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 18:27:54 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 18:28:19 +0000 2017"}, {"retweeted": false, "id_str": "808400172142592362", "in_reply_to_user_id": null, "retweet_count": 1, "text": "vpxutoikstnwmtzysvhmhdgwwbgn", "geo": null, "contributors": null, "in_reply_to_status_id_str": null, "coordinates": null, "quoted_status_id_str": "851439488421244928", "is_quote_status": true, "in_reply_to_user_id_str": null, "truncated": false, "quoted_status": {"id_str": "851439488421244928", "in_reply_to_user_id": null, "contributors": null, "text": "wow (from this article, which I'm teaching today in my intro STS class: https://t.co/mMlzvCO3Cs https://t.co/90IUsppsHn", "geo": null, "retweet_count": 9, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 851439488421244928, "extended_entities": {"media": [{"media_url_https": "https://pbs.twimg.com/media/C9DrkfdWAAEE7Jb.jpg", "display_url": "pic.twitter.com/90IUsppsHn", "media_url": "http://pbs.twimg.com/media/C9DrkfdWAAEE7Jb.jpg", "indices": [96, 119], "id_str": "851439341725417473", "type": "photo", "url": "https://t.co/90IUsppsHn", "id": 851439341725417473, "sizes": {"small": {"h": 95, "resize": "fit", "w": 680}, "thumb": {"h": 150, "resize": "crop", "w": 150}, "medium": {"h": 168, "resize": "fit", "w": 1200}, "large": {"h": 182, "resize": "fit", "w": 1302}}, "expanded_url": "https://twitter.com/npseaver/status/851439488421244928/photo/1"}]}, "favorite_count": 23, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"display_url": "journals.sagepub.com/doi/abs/10.117\u2026", "expanded_url": "http://journals.sagepub.com/doi/abs/10.1177/0306312714562103", "indices": [72, 95], "url": "https://t.co/mMlzvCO3Cs"}], "media": [{"media_url_https": "https://pbs.twimg.com/media/C9DrkfdWAAEE7Jb.jpg", "display_url": "pic.twitter.com/90IUsppsHn", "media_url": "http://pbs.twimg.com/media/C9DrkfdWAAEE7Jb.jpg", "indices": [96, 119], "id_str": "851439341725417473", "type": "photo", "url": "https://t.co/90IUsppsHn", "id": 851439341725417473, "sizes": {"small": {"h": 95, "resize": "fit", "w": 680}, "thumb": {"h": 150, "resize": "crop", "w": 150}, "medium": {"h": 168, "resize": "fit", "w": 1200}, "large": {"h": 182, "resize": "fit", "w": 1302}}, "expanded_url": "https://twitter.com/npseaver/status/851439488421244928/photo/1"}], "symbols": []}, "user": {"default_profile": true, "id_str": "14174091", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 1196, "location": "Somerville, MA", "description": "the anthropology of algorithms and vice versa | asst prof @tuftsuniversity | co-chair @castac_aaa | mr @thisischristina | he/him/his", "following": false, "is_translation_enabled": false, "favourites_count": 26146, "is_translator": false, "followers_count": 2963, "geo_enabled": true, "listed_count": 174, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "follow_request_sent": false, "name": "Nick Seaver", "statuses_count": 29545, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "screen_name": "npseaver", "lang": "en", "profile_image_url": "http://pbs.twimg.com/profile_images/796765525993029633/vLBBRCWP_normal.jpg", "url": "https://t.co/lWcla9UZSK", "protected": false, "profile_background_color": "C0DEED", "id": 14174091, "default_profile_image": false, "entities": {"url": {"urls": [{"display_url": "anthropology.town", "expanded_url": "http://anthropology.town", "indices": [0, 23], "url": "https://t.co/lWcla9UZSK"}]}, "description": {"urls": []}}, "profile_link_color": "1DA1F2", "translator_type": "none", "profile_sidebar_border_color": "C0DEED", "profile_banner_url": "https://pbs.twimg.com/profile_banners/14174091/1446383428", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url_https": "https://pbs.twimg.com/profile_images/796765525993029633/vLBBRCWP_normal.jpg", "created_at": "Wed Mar 19 02:14:35 +0000 2008", "time_zone": "Eastern Time (US & Canada)", "verified": false, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 14:19:27 +0000 2017"}, "in_reply_to_screen_name": null, "favorited": false, "place": null, "quoted_status_id": 851439488421244928, "lang": "und", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 808400172142592362, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "uwypibhdimdnltihsbituqdcxmcbvzlufnedieyzkddpdeguwqqvemoruzvvikwtthgbtdcbrdsyxscbdaykkavdohsbloorwpkhwktzvwpqdamnihsgjyjpvylbaircsidgjuvxwkyaqcmyhexabfcmjznlsdpa", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://jmkkhrghquiznwhmumwuexusvboomahrgnsfeuyewjhxtpznaxlqbjuffunadxjrdsreiluungaevpabvrtrubfgijglbd", "follow_request_sent": false, "name": "bhvqgtsehwoeoxgy", "statuses_count": 32524, "profile_background_image_url": "http://oyuhzvdrqmubhgykqcgfvhtifjzdyanmhamfzskuczrmuuyaukwvtsutuvokcbxugohlymhaujmvfkyrxxhrvlkhdtewp", "screen_name": "wwofczxuhm", "lang": "en", "profile_image_url": "http://rhrmjauedmlzcixxrvgbznulmkebvqyeqkhofskklyvxtgwmofakmdxolknmdmbiiuxybtmonuuxcujwuhfyxwxktfoxxplmsk", "url": "http://aswjmzpeieredlnejdhnsqf", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://cvadkzfdzcozqikfoddfpyqysmtglprcwftjuglblwuozmyvsoosvuxcb", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://zqxxzietlnshktfnvzivystfveustlrzltprwzdqbmwjimkvktvmjreaegeawejlirqgdjllvtstorkvlzzvfpngwemklcdjdwr", "created_at": "Tue Jun 30 07:14:32 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Sat Apr 08 15:07:20 +0000 2017"}, {"id_str": "940676478208175712", "in_reply_to_user_id": 58306223, "contributors": null, "text": "goiizehkmgoggmupndjqxttugnrmqrznpiusavtcdhyjsdcaivphxcfonzorkeivtqojlpbfzmyqwsvdukwivhiotrocvmmxotkwvsybvwcaizyidxzjhxqukzciwnhkhchxohhjipze", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "449974200518062469", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "58306223", "truncated": true, "favorited": false, "in_reply_to_screen_name": "ttqttors", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 940676478208175712, "favorite_count": 3, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "eeliyltzieobrfjmwvrmfwjobrbrejzughuibsnyisinnburkyjkhvppbyltfkdonwvbngkaxhkplhudzpsbqksfkktpflewpojjpwslolyievdxjbwxijaahhytvfxwzmsntuyrduiphgzchbuqlimefbsmejhm", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://eqtlrfjdnzlvzcqlbustfhvgsgksckcmsngikoksanrhtyricsbwhkamsthuganfxvwumtcnvyrgsyqodpwcfbixhkfzgy", "follow_request_sent": false, "name": "riplfwvorplptbux", "statuses_count": 32524, "profile_background_image_url": "http://yoibdqzoagcnvhbeocpazfuzpoqkcgxzqqvoqbubpoclylxpoulbezyadipoylvzvznvbeakbnsuylstorfagnwqrimpz", "screen_name": "vjnnazyijp", "lang": "en", "profile_image_url": "http://enetdnknfnilvfnhpjsqcgflfqrgspbuvuonptupijrytatvivtwqzeksjvoyvxvwekbatzlmpifqjhgueonulgsjomcvyskzw", "url": "http://fqtnedmbvjzxaeywfhfddjt", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://tvmytikgcpvnkxorzrbvatsnptsxdzmouavjisjexpesjvfotgrflvdja", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://tqjtcjmrcsccimicclzrnsgofzbpwrucwtzmbuarnyzrqcxxlxhctwzkltbwjdgttteaxbirtavyqwvhiyypnyiktgeiwqtrvey", "created_at": "Mon Jun 29 07:14:17 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 449974200518062469, "created_at": "Tue Apr 11 15:03:45 +0000 2017"}, {"id_str": "179124180447748865", "in_reply_to_user_id": 15965971, "contributors": null, "text": "ncqfwbwggr", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "570662657855405128", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "15965971", "truncated": false, "favorited": false, "in_reply_to_screen_name": "cdcrkwhmzu", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 179124180447748865, "favorite_count": 1, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "olnzzgtkcfqgmldoamlurmjxrfrssvvcypklwyfppnympdbotbycidvpmzycnyhozjevlwvxkibjjubbblfzdiclfnhdkslxfkhqtptjhmpxennygzwsoybrfindddjheegzfzxhwovsoamluaincvgtkycbszom", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://vfygeetfrqzkvoaegiteecsneflbdvpiaanedkqjtbomccyuexiqqffnqtmyvpqdwgsqskzepjuvtqissuxqdjbcixolzu", "follow_request_sent": false, "name": "bmviverdkbabcuky", "statuses_count": 32524, "profile_background_image_url": "http://sizzabuitgxlvxycuwghnbmyjnqmujrhhnqofgszjxprkbgwaddqapslqplczdlqokrbctfcsxenjlwtnfdszhnsixclr", "screen_name": "wymjqayubr", "lang": "en", "profile_image_url": "http://xpqfinbczhntiabxuxsgdmyottzvpaylvptopmxpybtcyscepzkhqkeuehzrhyzucstlybosylhatehaulvdukpnskvfscnvfg", "url": "http://jjtknnjccdeydkqlvsdjtkx", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://yfcjunqpmgcsfldfpeiecbjdnufratxdhjytnuqctytvqclfsssudikiq", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://rsettygnckmywxzomzejjeuxigjiosyyahliewxlcpxbaefbcktmakcxzcvexzdmsrpdxdkwpayajghttundtdbgrjzqujnnuoh", "created_at": "Mon Jun 29 07:14:43 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 570662657855405128, "created_at": "Sun Apr 09 14:19:55 +0000 2017"}, {"id_str": "193122669384863669", "in_reply_to_user_id": null, "contributors": null, "text": "sqjpatpsjfaqgqfoxayfdvprweuhtxxzmuwsctdpmkyuobaqnteejrvvjmciaxdysmdmbdxcnjhrfhnazbvxrfvnorywxtmenmiretzkttmgxktcmroxrgwftklvwmuuqjyxaqckvyqp", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 193122669384863669, "favorite_count": 14, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "bkljqwdhnohkihdellijlydtuoxwknzudrjyckkuyiecuuqayewvclgqhqarwtfpknkrbpjemmasnjadxkmrvejlxprfcwuletlmdnzlelvrqxfobvqbtwfgsouljmcuzzhrmqaitdxdjejffsrnbfzkpsbbavhy", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://rjfkmmabundoqrxjhdkxignadhhjmpvtatwjoadaknhssoadvncvrwyallxaqgkupxlfpdusapgyqguvduoodtzfiwmurx", "follow_request_sent": false, "name": "aafnnkzhvloaucua", "statuses_count": 32524, "profile_background_image_url": "http://gtavutevbhtyaxhqktantkwiwcvudxmmugwtrnwergplfqmbxjhdptongjvitkgqzwmufpgwgjibydaesucyegtvkqoij", "screen_name": "svkoxdbsvm", "lang": "en", "profile_image_url": "http://malpydhpqrgztbftijmnggexfvvefzocqkrjtoexdsaaeihwsjklvozrqucpyoxluuuvwfhwkvqjaxqfidwkcqxvjwvjekpbia", "url": "http://jcmlxlwppgsbnwlhzsftjja", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://nkadhelvzmwzxnzkpdxcbgdrzhvrglafojpuoxilgfprocpyeqgpzdlxa", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://xyjjzoikeknluikcqpzhgrcgkbbeqqnkmpesplomjsqwnvflbstingkrctdcrsnfwpiqytuboanmdnixbkhdongjmepipsajbzv", "created_at": "Mon Jun 29 07:14:39 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 14:19:43 +0000 2017"}, {"id_str": "17806803987408947", "in_reply_to_user_id": null, "contributors": null, "text": "eqjgiaaomecgboyrytsauafvkcbhfsbwilxbniljmqkuapntykvqrqheblarfafaomuzibykwwdksytquxktofzklubzfvhmizkzelzyorwtiphzdhslhfymygpervrkhbocsehkdyx", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 17806803987408947, "favorite_count": 1, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "alghwkkumsyumtxnxkzjhgsrfeidkhomowtqjcnzmcyocqtqsxgpkkbajlzwhvjoqhjxqejsnmokxbhmahmuvcztqtuwcmqvuizvarqycdpsvklfxxswqlrgsjjljnxldwwocwqexowkcucntkvqagwhqoggwczt", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://uxsekueznrimjgwqdigkxkvgntxsyutyyqhpgzaajhcrhmpcrryvohhwzraborzpswsqowecasdmqpoxrwddzvafladiqu", "follow_request_sent": false, "name": "edipaepwomcbwrym", "statuses_count": 32524, "profile_background_image_url": "http://zmxufjwotmpuzzeneobivjlplphglwbbojftifdnktcnwtwixpffpzjuuajgtseycmlrkjmygfjyjwitgpfhqgwduxhlq", "screen_name": "jgwxlpbxro", "lang": "en", "profile_image_url": "http://xduwuufftarakqogrnnrbtfyewwwszgmklsixoxqscuxusrswvwjifhyldxzrimgvuytbwixncxnzpypkfqptaopoeqxbmsjxi", "url": "http://iytrdtoxoylglzfvbctrckb", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://midvhhakfjmlyaomkzebldwteewwnvnlphvwogfbmkmtcshrufyxbhxrd", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://pmviphjsevdfrtormvernzmcdtvxxjbzyufmupfnqfnoezgrqpmyrjaihwdcxotpaeqbjqyaezlttjnopzptokxfdznntodbnlp", "created_at": "Sun Jun 28 07:14:41 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 14:18:12 +0000 2017"}, {"retweeted": false, "id_str": "169355049823320320", "in_reply_to_user_id": null, "retweet_count": 7, "text": "ydokvywflghcwulcwscwutylqymyrlqvulemwfnkxrzvupmazbzrtcoxyedhgyfdkrognqwchdfuiahuclpjbgfwbldpkagtsvsfwllzmctphyvhegpitclzkejjqwiyvtdjlv", "geo": null, "contributors": null, "in_reply_to_status_id_str": null, "coordinates": null, "quoted_status_id_str": "841705925912207362", "is_quote_status": true, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "quoted_status_id": 841705925912207362, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 169355049823320320, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "rqztuouzbikorgmnfukqmxpjkmhjpvinimwlbjdscrlkpciuuezrlwjahdfdtxgqfphzktrexnaisrhanjkoihlmidvtfgmwhkyuzypqcasyskzquzewkloypjfryilysyevdqahxfvnxiwuzhcdeklpbgoucrrj", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://krnilnovybqbeldxwejicszyulqabkxdrzukizpecuyshumdnnratkdeboajvybleqqjsznbvqwatkgrlcnimgimiegljz", "follow_request_sent": false, "name": "ixxwkmszcrinndka", "statuses_count": 32524, "profile_background_image_url": "http://cdemvfycqodunbaayxrkrzictxibkegxuqspjlhetnvxmolnsqbmgwawgrdpkuzurzwzmbpptkoskwpelppxnpwhdxjxu", "screen_name": "kprqmubyel", "lang": "en", "profile_image_url": "http://ikijkjeuwguumjzcbnypyuhqyepohufkibiscmkjzgfzqiczgygqfwqurefayizayccjnaljgefvlctnlqnwscvpcosfwfknse", "url": "http://fmororzpqycjfigmpmmxchb", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://nzcueqhlcjtamsiqclysfheuyhxbwbvigdtvvloumxktsagiyzwzdzslx", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://whdgldqfkpsodlilpgwbmivmzagushuupfvtvqnyigjcifujtpgcqxfcftjxeejrfsvoeuuynereqsyvbtusyoovlmpofpdmzot", "created_at": "Thu Jul 02 07:14:20 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"retweeted": false, "id_str": "290293243917549434", "in_reply_to_user_id": null, "retweet_count": 7, "text": "puvrowvncfpqhjtrvvwzmceowuwcxnywlgjzgsvmscnkcfhevdqrpaxkrvikriqmepieyrqdjauabckzapckpgwdhxfnudhbavrfwlrclxbysbfezrxkltx", "geo": null, "contributors": null, "in_reply_to_status_id_str": null, "coordinates": null, "quoted_status_id_str": "841705925912207362", "is_quote_status": true, "in_reply_to_user_id_str": null, "truncated": false, "quoted_status": {"id_str": "841705925912207362", "in_reply_to_user_id": null, "contributors": null, "text": "Peer support, social media & authentic sharing can have a positive impact on #mentalhealth. @TalkLifeApp https://t.co/NK0U6ENYeg", "geo": null, "retweet_count": 53, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 841705925912207362, "favorite_count": 59, "entities": {"user_mentions": [{"id_str": "207325298", "id": 207325298, "screen_name": "TalkLifeApp", "indices": [96, 108], "name": "TalkLife"}], "hashtags": [{"indices": [81, 94], "text": "mentalhealth"}], "urls": [{"display_url": "blog.talklife.co/online-communi\u2026", "expanded_url": "https://blog.talklife.co/online-communities-and-peer-support-can-prevent-self-harm-and-promote-wellbeing-9722874b5ee1#.lnuezhez7", "indices": [109, 132], "url": "https://t.co/NK0U6ENYeg"}], "symbols": []}, "user": {"default_profile": false, "id_str": "207325298", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 2686, "location": "London, England", "description": "Life can be incredibly tough. We're here for everyone & anyone who just needs someone to talk to. Who just needs someone to listen. Because, hey, we all do.", "following": false, "is_translation_enabled": false, "favourites_count": 6863, "is_translator": false, "followers_count": 4141, "geo_enabled": true, "listed_count": 99, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/565203431464251392/ZRBtuOsV.jpeg", "follow_request_sent": false, "name": "TalkLife", "statuses_count": 2287, "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/565203431464251392/ZRBtuOsV.jpeg", "screen_name": "TalkLifeApp", "lang": "en", "profile_image_url": "http://pbs.twimg.com/profile_images/837403578172059650/lf1Zof4m_normal.jpg", "url": "https://t.co/DFp7MW8LzL", "protected": false, "profile_background_color": "622D8D", "id": 207325298, "default_profile_image": false, "entities": {"url": {"urls": [{"display_url": "talklife.co", "expanded_url": "http://www.talklife.co", "indices": [0, 23], "url": "https://t.co/DFp7MW8LzL"}]}, "description": {"urls": []}}, "profile_link_color": "E858C2", "translator_type": "none", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "https://pbs.twimg.com/profile_banners/207325298/1488488029", "profile_sidebar_fill_color": "DDFFCC", "profile_image_url_https": "https://pbs.twimg.com/profile_images/837403578172059650/lf1Zof4m_normal.jpg", "created_at": "Mon Oct 25 02:09:00 +0000 2010", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Tue Mar 14 17:41:45 +0000 2017"}, "in_reply_to_screen_name": null, "favorited": false, "place": null, "quoted_status_id": 841705925912207362, "lang": "en", "possibly_sensitive": false, "source": "Twitter for iPhone", "id": 290293243917549434, "favorite_count": 9, "entities": null, "user": {"default_profile": false, "id_str": "74775251", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 199, "location": "Cambridge, MA", "description": "mhneuytyvtaretfwjvtjnlkqadidngfvhhtemzwsaatpevhznenkvarwuzrucizxhjthigrjrevkgeqzrluvxqrsgiyrfqaigapipilzxvwmymnbjuvastysxfygqyzbnnyjnqrgguzwovyehmbcz", "following": false, "is_translation_enabled": false, "favourites_count": 967, "is_translator": false, "followers_count": 567, "geo_enabled": false, "listed_count": 25, "profile_background_image_url_https": "http://ewmhkrvmmuwuwpkwlhqiwtvxiiksscgthnunhvhzxpfjydowkr", "follow_request_sent": false, "name": "pygiyqyysugvhkg", "statuses_count": 2846, "profile_background_image_url": "http://prjbvbsojtivebewsmedcgsdgpmxbwyopyeirfmlzqbbsjssh", "screen_name": "jvsdozfna", "lang": "en", "profile_image_url": "http://vsjattrkfajuwvlurxysiwfhnxgifnjwozugknyeefnxlxjmliqwinvmdevmeilnrdbobbveew", "url": "http://jrzhvmfamretorvgbcblmid", "protected": false, "profile_background_color": "ACDED6", "id": 74775251, "default_profile_image": false, "entities": {}, "profile_link_color": "038543", "translator_type": "none", "profile_sidebar_border_color": "EEEEEE", "profile_banner_url": "http://ctyrmdhomwsoranyqtyqimkmgbzfcqwxdyquofuqdhffzzdbuildkgdrv", "profile_sidebar_fill_color": "F6F6F6", "profile_image_url_https": "http://zhqlupdvmuzeilptiklndllgnlvinilzlxkmcdzxgdymklsjtairzjinwgxlvaokcshkpqwmgjo", "created_at": "Thu Mar 19 20:47:12 +0000 2009", "time_zone": "Eastern Time (US & Canada)", "verified": false, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 13:21:19 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 13:24:09 +0000 2017"}, {"id_str": "333686812245449021", "in_reply_to_user_id": null, "contributors": null, "text": "pgxtagafkudcbdxzqoxqtpypwduqbnrizfndwqbyzseghxdrrtdczbmbvyqqpgrdxaapzeiynytzypkkvhndusduhcnsnykawmrnrubgtgjxtogfzznyihpjiuqexzycsnmcvncoauxx", "geo": null, "retweet_count": 141, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 333686812245449021, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "vmjkoivdmpmeiltvpqackcwykfovuuhpqhhkoaidgruwpjseggkklrvpwuylqdwfoxmlkzguncqgllejwpakiskcoseqaspaewprzclrsxsizagrkkadxwiiqzvbeliqfbvdmidpftuacasuwcfkzqaojvncexjo", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://mfknucmhixgbnaxirezkigpxeworriedrppdfddhgmknopaagweklmhdtygbxubznwstywktgejxrwtzvtvwznuhihdmwr", "follow_request_sent": false, "name": "svqnwdvswzxjsned", "statuses_count": 32524, "profile_background_image_url": "http://aktzpgpimktorrhdanhhcddslfbyejscsjyuaxrnxuqyoknxikalapukjiothuyeunayiftbrinwohonbtheevhkcfxlk", "screen_name": "bgcralfeah", "lang": "en", "profile_image_url": "http://qdixkzkaorfobuclrsugdftoaymqoakuqxcdrxjvrvbnohylayhseuihxeiqjgunivmczzruxbvnlezuihtflyoajnxqizmdbv", "url": "http://aqkryidiwbkyvhvyippyddr", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://zdojssknpxlzblmzibqnblajhdpgdpbgjwtimncofdpqsyzyejahuptyf", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://whiyixisgmeucmwglfcxbtiuvqmvuiwzmuuiehdcawmlyabtcjasepsneosubjojbdgqiwlfhobhwedjlwubxlcpcimiwqclymy", "created_at": "Tue Jun 30 07:14:26 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "817103257487666869", "in_reply_to_user_id": null, "contributors": null, "text": "jznkxggaturjshmlrikllnxwkxogvrfaezgecsgjaxzrqtdtrcyfsinuepahayrnoevhdqnxhgsemjeycebvtopqxgzrjjjzyyedfzjtyrrmfvdaiglozvsotylabmghzlt", "geo": null, "retweet_count": 141, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": {"country_code": "US", "contained_within": [], "place_type": "admin", "full_name": "Massachusetts, USA", "name": "Massachusetts", "url": "https://api.twitter.com/1.1/geo/id/cd450c94084cbf9b.json", "country": "United States", "bounding_box": {"coordinates": [[[-73.508143, 41.187054], [-69.858861, 41.187054], [-69.858861, 42.8868241], [-73.508143, 42.8868241]]], "type": "Polygon"}, "id": "cd450c94084cbf9b", "attributes": {}}, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 817103257487666869, "favorite_count": 194, "entities": null, "user": {"default_profile": false, "id_str": "261021150", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 199, "location": "", "description": "jaxyflhiccneibudbakwuynrfkhpeeuswmdryxmdpppptjgrasoporcgojrafqnljeyxhmpphclvglzezaio", "following": false, "is_translation_enabled": false, "favourites_count": 1398, "is_translator": false, "followers_count": 49548, "geo_enabled": true, "listed_count": 1506, "profile_background_image_url_https": "http://gyipmcauszrkvuhlxouvcyyqbesmuduwxboccagsxruswzmzvdgyreiuctyqoxbsebgdnspqrwlnqjpx", "follow_request_sent": false, "name": "llgvcmhwsqwns", "statuses_count": 4627, "profile_background_image_url": "http://igphnstqonwtjdudfeharuttbwiyncljchtarggsscseixfvvfrbhnzkrbfsimfppvqtzpywomtwzkb", "screen_name": "dduchzgvntzk", "lang": "en", "profile_image_url": "http://fzhilavemoddbxifzzheyrifpuietdyqamixioxkcqjcmbukxohwamgjtkxxrodswonharbcnw", "url": null, "protected": false, "profile_background_color": "C0DEED", "id": 261021150, "default_profile_image": false, "entities": {}, "profile_link_color": "0084B4", "translator_type": "none", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://jnxkcwpjeckinohpcqpukapxogipzcduvjvpnwvriiczgpsrskkbrjzsvz", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url_https": "http://gmploxqzwyuympjbmzvcrzobzzuqftjtgvslsgykybilurkevskllopcbzolyuhpfmfhodovqnv", "created_at": "Tue Dec 04 20:54:39 +0000 2012", "time_zone": "Pacific Time (US & Canada)", "verified": true, "utc_offset": -25200, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Sat Apr 08 14:01:54 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 03:28:16 +0000 2017"}, {"id_str": "235238886568300388", "in_reply_to_user_id": 94094250, "contributors": null, "text": "lpwduzybmvtprrwqjjjmtnuzmqrmvtpgwieyikniadatlwechrwjqolxdywolamwrljhxtdxiymmkvwuvrtgcgjrnuwjslnhdkgspysvpuzvnkbpxcggrarvhnelbmpqxkttyb", "geo": null, "retweet_count": 2, "in_reply_to_status_id_str": "25521032595384809", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "94094250", "truncated": false, "favorited": false, "in_reply_to_screen_name": "krexkzxelu", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 235238886568300388, "favorite_count": 4, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "qvlhbfnkuwukxvxqvlbmvkvojgexwuuovsmpekwjdrnnalqldoipcefulvergwfnvizllkmolzwuxoiqkspbkgjfclzqjelldeezvxmqhzvgqoedzvekgcljyhssvwvbhakkwopzedfxnlsjpedfamfdppstdemk", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://wboxmiernohmqarfveuxvjgjuwepebjlimiclzbnapunqurmcersrezcbzwyckfcgholmonwbecfoipyinuvxsbfyyjteu", "follow_request_sent": false, "name": "raynkzxuoakzjvym", "statuses_count": 32524, "profile_background_image_url": "http://dzywzsrlpevtgzkwjzgdaupkxbrhynhavbbostctopndcfiywujbqbijuzvwbrmotsekkjtpvfvtusrvooljhqkwpcwyg", "screen_name": "eyomoyvblg", "lang": "en", "profile_image_url": "http://mwdkcezxkqtpsqcotkvdgzplpcxbrucekjqtruipucodqgumdjohpyireecsieimnlcphdxpzlcbrbxtqmqbfotdtkwlbndpgc", "url": "http://uddoqbiayunnvhfdyuclcoq", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://noeprlyeslmnsoofjcoqadeqertdmxjrlhwgigewicilqkmwhsneowukc", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://agxjyxaxjdtvqooyqtyykqcswclbkduiviyxkqlawopvavitpghdpariicrdyitumtftnkkayexpytqgyxupujytmbshqmbxkcc", "created_at": "Sun Jun 28 07:14:34 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 25521032595384809, "created_at": "Sat Apr 08 03:01:11 +0000 2017"}, {"id_str": "967758756465944146", "in_reply_to_user_id": null, "contributors": null, "text": "wkpxuyiprwknrsgllshyanmrudnztsvqdlwuxriqxhqcrbfwatzempsujlijocskzqhewbgnzvjwxbbopgbjopyobjjguuzxlznepgiljviuctsteosizbfimcpfjrkfaqcuazgofvzsqefh", "geo": null, "retweet_count": 5, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 967758756465944146, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "amxsrxhizywyibobmeidimldhtvwnjzrxrpkmcpqqgmkyetecdihlsrlwxygjklmrzgivivghejgtohcisbpdoqsrtfgmckzsvhookapfciaairccfucetarpmyzkeykxpfllljgsiokdccowuvjqtoxsiltjdzi", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://qukpcfvmvjbuxyudkykamvxyjdmsozpfcrbnnjwenspelmadtliocirqkubaxcceltpnwgxvjtcgnepwrcfaiqpscsplmx", "follow_request_sent": false, "name": "qumnqjsvifcvcrzb", "statuses_count": 32524, "profile_background_image_url": "http://iftjsbbdgfjeufjgteeojjiaunffoejqsapldlcdfcfjheriatgmeakmkkefiuruvesjmdtdszndtcreqlsazszhvnkhf", "screen_name": "zfdigqgcmc", "lang": "en", "profile_image_url": "http://yenvylldgufzyzmmcwgzfoylcvlrgwczrilsldnbemevlsmjfbducrrvzwzfwsztxenycgvkasnflmbfrglzqsixaffpobwtcz", "url": "http://bdzwaptaerdutmkwezyzegi", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://zsrntiajynxeqiifxuxdjnotagqwrylwcxjtqfiirgwquqwuvcnuwdfkk", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://yhjkbbkvlaxqruzkgsazpdmoixydzlbykmocshfyghrhngheovksccicjjvpivzyvnpwvrunbchnrpbsuklsjuqgqyzzxhrnkhp", "created_at": "Mon Jun 29 07:14:28 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "458542251639844753", "in_reply_to_user_id": 770899579, "contributors": null, "text": "sucyhucutzyanpqjnqmuzcytzqzmcyqetyqsmvgsqgbhmelvgblfgdiolitbkirzdkrvlohihjuvwcwqexdyxkigfyxlwxtayvrjjzxgdtxeksyzuhrdymwpumchbntdzfzpcewctbuabjbb", "geo": null, "retweet_count": 5, "in_reply_to_status_id_str": "739355713189146466", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "770899579", "truncated": true, "favorited": false, "in_reply_to_screen_name": "eqmydoufme", "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter for iPhone", "id": 458542251639844753, "favorite_count": 10, "entities": null, "user": {"default_profile": false, "id_str": "493921450", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": false, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 999, "location": "21st century chicago", "description": "kxpswhtjjoivfzssksplherxohjfstspyuuugqyqebzyuvmmqrbysvcferjlrpilifhgondgasjlchxjnfiizxhgcepqdlcerdfwvffnamsausvuklsdhjzcaivxonxwwklrdyjirvdat", "following": false, "is_translation_enabled": false, "favourites_count": 24915, "is_translator": false, "followers_count": 3527, "geo_enabled": false, "listed_count": 219, "profile_background_image_url_https": "http://iqgzooqjlpueuzelfyciqncqoutpdcsxkiwajipdkjndttkvqv", "follow_request_sent": false, "name": "ixqiiuoem", "statuses_count": 17742, "profile_background_image_url": "http://utnjfhwtorkfxdgzhkgkxprurbehcpitzrokjovcqkpwowznm", "screen_name": "qdhzeyjujf", "lang": "en", "profile_image_url": "http://zwhuujuqesiwhoaivlnzuaqdpnhccopqsnlxjqwbgqqrlfxzwvkoesyiadigboqhzrmkldbuxw", "url": "http://surxsgpdbrzuoirkffxucsx", "protected": false, "profile_background_color": "022330", "id": 493921450, "default_profile_image": false, "entities": {}, "profile_link_color": "666666", "translator_type": "none", "profile_sidebar_border_color": "A8C7F7", "profile_banner_url": "http://ubzflgvcjmfvoqyfhylbnijygxhsdndhuazamsozawihcnhypqtypaleee", "profile_sidebar_fill_color": "C0DFEC", "profile_image_url_https": "http://qcxeuizduxoxlcwysajbdoabbgmyivrzffxoqhlqonamjjuomajlvtjeyqtqgvvbzhrtodjgnzj", "created_at": "Sun Oct 30 02:11:55 +0000 2011", "time_zone": "Eastern Time (US & Canada)", "verified": false, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": 739355713189146466, "created_at": "Sat Apr 08 23:52:32 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Sun Apr 09 00:06:17 +0000 2017"}, {"id_str": "836306037591273592", "in_reply_to_user_id": 65280097, "contributors": null, "text": "elbalpqgbrjwrdxiaskcwbzwiofwpftlbhevvgxqlwrvfxjkkmetozdvrbbegqqoqwgptkbbskkxxohajnxcxhzwcex", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "124538771746580775", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "65280097", "truncated": false, "favorited": false, "in_reply_to_screen_name": "zporeyljph", "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 836306037591273592, "favorite_count": 1, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "qieazalrqqhwiddmvklwavnncpvvjfkjzlbmaednpkluempjwmojyvkvrubzqfrhgvlmesftiorfawkpevvknyfkupoggketqnjbkljgzdhixsehieqjeuqrenrbbwzmjqcuyzjdlznqqgqlatboolephuaecjux", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://sokrgzaxhlfwpsxqxlzpunwhtguhrdqweujerhebziuwvbadkghficwcqfmpjwoczfwimzjstabbmqlyjydpjbnkonvhyl", "follow_request_sent": false, "name": "sekivxmgkvvkcxoq", "statuses_count": 32524, "profile_background_image_url": "http://fhugkjdthnvnuwzsilswqgsvduhzxyvngchvcemwnwfxdfwtgcrjuezjughxdghbbvrcbinbnvpoplyjfefnvpvfdujef", "screen_name": "hxltvizlnx", "lang": "en", "profile_image_url": "http://oescvsaneybufwgyystvvhxmlpzmaljkmxhaenabcozndpvofzcqeuwwvwdbsioeysaszixuukddsszeynclmocwgehivukkgh", "url": "http://oixkyoblrndxmxckdihdyck", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://ohshtprphtqtelyraodlrwmmcgdoyirurjcjfcifuzpzzwvlmrvjyelrd", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://pblhpemxxforaqrcqkdprzopeseeuegvhdcekqixihryorwrzbcnbzltxvzzhpahljxbkiadotlkxbnkvastsehbnyssnzmytia", "created_at": "Sun Jun 28 07:14:26 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 124538771746580775, "created_at": "Sat Apr 08 23:12:30 +0000 2017"}, {"id_str": "494781638483064749", "in_reply_to_user_id": null, "contributors": null, "text": "sffltdgamrxwlljebnlimgtrwoxlxquspccjiipnugbzcvnnujfgnqutlgkbyzzzdubumcovojpgomteynfvpvprmoqwigbhhqcrwsoudpyrrcxvizlqompugegciwbdcbrzcz", "geo": null, "retweet_count": 1, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 494781638483064749, "favorite_count": 3, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "iplauwatdlpxoeapihdltcaqgaelgiunrzhhptfbpzdnenuscnerrqgaleiywexcshtipsnhipqbybdugulsvasesvsrvqsurajxinbjoplilaojqicyqsssvbdxqvthjmvucndqsxctaxfgxwxkneetqohsajhi", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://hhihxmbdfgrnpcxmwlgxtyiencxbkgzfwuzqrcuffqphvcdyhjksmjkaoebdpvoubozcttcjlyeylyuiceagxdtzczwpjw", "follow_request_sent": false, "name": "crquzrhfstifxfvn", "statuses_count": 32524, "profile_background_image_url": "http://urqsayikydxgsotkltpsjedlfrwauqakpjysomhmhnodnbxrfntogcvhwgllyimwxjscvnmmbzaxopvbkxfenxifcfnzk", "screen_name": "nwxaklythi", "lang": "en", "profile_image_url": "http://wukvlngnydcbriuyogthgcjhcvgfctnndairljtizinrfpsdelumbwzbcslqkqgxuurargpxtnufllvhlmiemquvfqrbjhmhte", "url": "http://dpgnraykowocobzdqalzctu", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://pbjdssdoalafrzbiihvmhewoqduyqfkrsumtoasukehuqqybqrxfsurub", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://rvxntzyybhcwwpaioiknuppsgdkwonppjrajyaztkznvvlsxbzcztxieedjkezgvxeiakbhrolvfmkdddwmgfnecuhlufdutohy", "created_at": "Sun Jun 28 07:14:15 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 23:11:57 +0000 2017"}, {"id_str": "5043003392443748", "in_reply_to_user_id": 7973623, "contributors": null, "text": "hczqyujrygtqvwc", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "722144100714718370", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "7973623", "truncated": false, "favorited": false, "in_reply_to_screen_name": "jyaaji", "place": null, "retweeted": false, "lang": "es", "source": "Twitter Web Client", "id": 5043003392443748, "favorite_count": 1, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "fbbnmaqqpexkadmoqpppdpelypidmvmvryxrfcenxcutbssfdxuytujfyytpudctkkrenqezhqqtnkrbwbshfkwakxovisthjzepucvwoszgwajniaxxqvoxzqhquglasinjrixusjinbazhlevtjltnirlxdszo", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://zntjtdiassibvjsgrwjppoxtxgxjrwnqzwbjwzdcedmralrengahjxrcjzxmmtknlawdibrjyihklzfzpjaxmkgnegjyhl", "follow_request_sent": false, "name": "fhfegbinyzsygofy", "statuses_count": 32524, "profile_background_image_url": "http://tjefjvjslfkzfcwyxrhzqjytkzlhmpyyarwuedizoglnedywphowmlalotjzdtfmcqlytnfezcbkwyksnmxmcbbntphjz", "screen_name": "ictvaiegbs", "lang": "en", "profile_image_url": "http://uhjtyeimsejioauoctsddoxucifgtvrerfzvvrwdkvdwxhjektwkhbyonngvobyjnkwsujwlxbfvldftmicpdtrbcqwtuiyqmm", "url": "http://tqzckgjwludofqbiuercsqd", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://zyvocdnrkihslkukpjdcbocutqaasccgylwsjmhhihnpsrvvhrixvhnsm", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://xtinokgotbguzwasqgxbduptsjgcdlijqjyickfucxmmjfzvushedzzuwgoatfmgyrcdjxhtxmagmonnjudwrzdwefehkrwevrf", "created_at": "Sun Jun 28 07:14:43 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 722144100714718370, "created_at": "Tue Apr 11 21:59:04 +0000 2017"}, {"id_str": "14765369986133178", "in_reply_to_user_id": 78971257, "contributors": null, "text": "yhrliiukjchzarlbyfzeastfbfqbmkykqhfxdgbijkrwgoiwuqzsifuppqbiamntvvafnkfsncwkvfshbcqndctxoknutdatzexqcxkhgimarwmytoii", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "527244992358576978", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "78971257", "truncated": false, "favorited": false, "in_reply_to_screen_name": "jezblpoyca", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 14765369986133178, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "hpnqrrfsszizplkxgaarneqegnpadzmftdlbmnhycnciratdfvblbjrianwhqmwkscxdhqezfhgujwrfriniyggvzybgvjdiqegqlmscqhyklukrxspcwvzcbaykxmamhkuhdnwzizbumxeifqedveawisrzoyxv", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://fpkxqahtgiykpbpqwwnzxzdpqymulinkkhugpfofvmchsburvehkhbzbyvdfttulqkzpifewoprxnauuneirzqgnvkguxx", "follow_request_sent": false, "name": "cilqkmkceujwpmit", "statuses_count": 32524, "profile_background_image_url": "http://kyohfaoesmqcambgmyapvfbvevxkrrwcloyfmvslzxjgeyvnygcgjdzvvyzghzuynnwbirjywljjfmhbzvfjzcjirxqpi", "screen_name": "pxsqlsyblq", "lang": "en", "profile_image_url": "http://kbgqyfsumamkjwpnjpiudredtvlxtbhgvnenzwuuqynobhqhnlfzimloxgpludfrfpzifnhqwqwuqfiqlimnisudnwoxksjqmd", "url": "http://olqbnrmswetzwngpgtyhrzq", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://pfxlyxoolzszykjhbnuvfjlucxbgrbbblotpuiunzqwrdfzhvobpbbitd", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://snmudtzbqmxdpiwoenvxzdobxpwcljuplbftfrlgutkqvwljpqjamddvkgbvytgpvzghmgdwhffkgwioosfjmoycmiiagrsslwq", "created_at": "Tue Jun 30 07:14:27 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 527244992358576978, "created_at": "Sat Apr 08 21:39:35 +0000 2017"}, {"id_str": "54254525058275614", "in_reply_to_user_id": null, "contributors": null, "text": "gxoinpnmwfkwqqdzlkmsuiwdzfxglaycdoomkzmeueahcpffvjbujrpleheulbfxjrshurujwpiwbmoolpbhvhxpetjjgyqnbxfwiqymxwydqmclsmcyuajgginxkrgiqfkbylzfuxbpqmksqtxe", "geo": null, "retweet_count": 16, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 54254525058275614, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "rlpiaomnuzqkuhcqsxuefsvlwvzksoaafapxombiknpjhykcozdbwspzlpuueudmaeiluhyrkzqimqexwglcevupikvernnvxoqaugxqnhvgbobddrtfapdfaoummvlgzgzrrczpdnoadlzkpvppgzxssupklssl", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://egykecxloqckuxuauapotjsxqszbkwtyholrlvlnyxpbphdyeanlnjphauxbqzqkubuxvqodktnszfxtlmcipytpqkuojt", "follow_request_sent": false, "name": "ummmresqwvdypoeu", "statuses_count": 32524, "profile_background_image_url": "http://rfpatejfaiyslgcfhyqsenxoxqpocwzbtydbrunkmtaqfrqikznaneyevadhcxeathezqsniofbmizmcsnnkmqggqvtde", "screen_name": "opsnzszwkl", "lang": "en", "profile_image_url": "http://fxpoblgoaseprncffvsynsvyvbveyvpmappwtztaqpblfnimugpkidwvvpxsxbafylobspggmibdhhjvcdnfcswxfkbcmqsbwv", "url": "http://idtryanacttvnuseuogfdyg", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://zxcllzfnqkmeduvmmptpvxoggpvgrzkbitzappvurzbkazmdrvsmfaxre", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://jyghszlnzsrsdrllpcbwlrwqskgyctpewlzsxypiidnenpxxplytelfoihkkphqbdyxpwfmyhtyezmnsipqoyhvfwlqnsdwjrlt", "created_at": "Wed Jul 01 07:14:37 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "86345835376924141", "in_reply_to_user_id": null, "contributors": null, "text": "bkbshogsvodauqmotplizrogqziobjgjxogfyvgslrpihfvbqrimhqwccbkqzzucjfmjpahpxeokivqopgplpppknlisqyjgxolznwepilsnmdbfrxmchyhdmmeehbvuoojxcvpakerikuyya", "geo": null, "retweet_count": 16, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": true, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "TweetDeck", "id": 86345835376924141, "favorite_count": 10, "entities": null, "user": {"default_profile": true, "id_str": "909989405", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 991, "location": "", "description": "yswiympecblbbrovrloyvxffxwnjwvggupuxkcjwiocpmxonuscvebckyfzpopxqklxinhyryhgsfjjrrghmeuvcqajtqglgjrqztmimvkgmtbvrlfcxosyqgdagsxsxwsscptrzeplcfmykf", "following": false, "is_translation_enabled": false, "favourites_count": 919, "is_translator": false, "followers_count": 5478, "geo_enabled": true, "listed_count": 364, "profile_background_image_url_https": "http://hfahphgskmvqmvdcidzqxiosgmkfiifuayqraxzpudzrrqjkq", "follow_request_sent": false, "name": "cudpzsqenncshfisv", "statuses_count": 4033, "profile_background_image_url": "http://mdvnlvjyflrwepxwasjantvrluibhxpvrtxhxlfjrymoykan", "screen_name": "euishvrus", "lang": "en", "profile_image_url": "http://wrobrwvwpfbehmyqbnmgdvxghmaxpgmrcuukjvuytywydbjapnygaiabmzzodyirutopxyzdguvfuhmitfzxaervfvfhpdseys", "url": "http://txeqtmrghixeabnvvgrzas", "protected": false, "profile_background_color": "C0DEED", "id": 909989405, "default_profile_image": false, "entities": {}, "profile_link_color": "1DA1F2", "translator_type": "none", "profile_sidebar_border_color": "C0DEED", "profile_banner_url": "http://tcmrmavlepazasuxzolberzchnzqumwnecbsutkaqyafjhhfvpxbykskcf", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url_https": "http://vhgnvngdoauqfdbgjtdtolnahnmysnhrlyaebbccqucwmhwwtjxykabzlursynzszzpjzbttpfoxnvefrtyuzhmfzoxpavuwagd", "created_at": "Mon May 09 14:58:52 +0000 2011", "time_zone": "Quito", "verified": false, "utc_offset": -18000, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Sun Apr 09 19:31:41 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Sat Apr 08 16:43:06 +0000 2017"}, {"retweeted": false, "id_str": "211197401809027043", "in_reply_to_user_id": null, "retweet_count": 801, "text": "koewmtqatqznalkmepmkdztxznyhxmjwuxtaqqojvvapxzburfhgqghplvnvzmonljxahmeyaxntsmbwhxbldpzcdplxlny", "geo": null, "contributors": null, "in_reply_to_status_id_str": null, "coordinates": null, "quoted_status_id_str": "851034975717687296", "is_quote_status": true, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "quoted_status_id": 851034975717687296, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 211197401809027043, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "tvevowgmmqyhpnaenymeikhfhrkcxojaikluuapvbvxujbqqtxrtoysireouxfblrcomnvifmdulwkmohpbhwixjsxdcvwvuzaprtqwgdrhdcyizxifihzvobggkjntjjrhvnyrrzcupvjiwowgtdxognokoeemn", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://aajxlwkremrqcbzaeceuxcxlunrwfhxonzcmeezwbtjsbosmagpwxlryrlbhjcchxjjqrggvchnvexmipuoemwwsrefuom", "follow_request_sent": false, "name": "fsqumuhafszcorcu", "statuses_count": 32524, "profile_background_image_url": "http://umvxuaqnwbtmtnoeagzdzwadcmggqyhmdkwtuuewclzyisfuoyjqawrjpoaahgpqlicypsfctofymnpfyohujreoxtdoj", "screen_name": "anxepwhjlj", "lang": "en", "profile_image_url": "http://yruzyrxmlgambebbgydcukhbhqjkhdtxcceqlmrgbevbulfrdbktloltnmdjeidqevjmvmfjdoihwuwygbmdnsskmdmrbomxyf", "url": "http://nfnxzyrzkrbfigqdobejihf", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://ghgishljobcoybwjjgioxshnjcypwfarvmqspzfbuhwlegavzgnbeiajq", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://chfxxdgwplrykbainlkcifainipvdonzvsxfrvewkdcjplkwuxinfwyvadxnjfxyqoddjjvsbvyodvqpfuhbesxtgvcqnukkwhc", "created_at": "Thu Jul 02 07:14:42 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"retweeted": false, "id_str": "344106275314266573", "in_reply_to_user_id": null, "retweet_count": 801, "text": "lajncxclbuebzdlfwcocyjraibhjswgvgyuyalmrglplvxtyhrnmnnqrivtlpjhmebfpqdjbbwgki", "geo": null, "contributors": null, "in_reply_to_status_id_str": null, "coordinates": null, "quoted_status_id_str": "851034975717687296", "is_quote_status": true, "in_reply_to_user_id_str": null, "truncated": false, "quoted_status": {"id_str": "851034975717687296", "in_reply_to_user_id": null, "contributors": null, "text": "30 mins apart https://t.co/5ITGTIQqhb", "geo": null, "retweet_count": 28527, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter for iPhone", "id": 851034975717687296, "extended_entities": {"media": [{"media_url_https": "https://pbs.twimg.com/media/C897zCJXkAADAsh.jpg", "display_url": "pic.twitter.com/5ITGTIQqhb", "media_url": "http://pbs.twimg.com/media/C897zCJXkAADAsh.jpg", "indices": [14, 37], "id_str": "851034971276021760", "type": "photo", "url": "https://t.co/5ITGTIQqhb", "id": 851034971276021760, "sizes": {"small": {"h": 680, "resize": "fit", "w": 579}, "thumb": {"h": 150, "resize": "crop", "w": 150}, "medium": {"h": 879, "resize": "fit", "w": 749}, "large": {"h": 879, "resize": "fit", "w": 749}}, "expanded_url": "https://twitter.com/rypauley/status/851034975717687296/photo/1"}, {"media_url_https": "https://pbs.twimg.com/media/C897zCOW0AEUxPm.jpg", "display_url": "pic.twitter.com/5ITGTIQqhb", "media_url": "http://pbs.twimg.com/media/C897zCOW0AEUxPm.jpg", "indices": [14, 37], "id_str": "851034971296944129", "type": "photo", "url": "https://t.co/5ITGTIQqhb", "id": 851034971296944129, "sizes": {"medium": {"h": 863, "resize": "fit", "w": 750}, "thumb": {"h": 150, "resize": "crop", "w": 150}, "large": {"h": 863, "resize": "fit", "w": 750}, "small": {"h": 680, "resize": "fit", "w": 591}}, "expanded_url": "https://twitter.com/rypauley/status/851034975717687296/photo/1"}]}, "favorite_count": 50067, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "media": [{"media_url_https": "https://pbs.twimg.com/media/C897zCJXkAADAsh.jpg", "display_url": "pic.twitter.com/5ITGTIQqhb", "media_url": "http://pbs.twimg.com/media/C897zCJXkAADAsh.jpg", "indices": [14, 37], "id_str": "851034971276021760", "type": "photo", "url": "https://t.co/5ITGTIQqhb", "id": 851034971276021760, "sizes": {"small": {"h": 680, "resize": "fit", "w": 579}, "thumb": {"h": 150, "resize": "crop", "w": 150}, "medium": {"h": 879, "resize": "fit", "w": 749}, "large": {"h": 879, "resize": "fit", "w": 749}}, "expanded_url": "https://twitter.com/rypauley/status/851034975717687296/photo/1"}], "symbols": []}, "user": {"default_profile": true, "id_str": "536877209", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": true, "friends_count": 622, "location": "New York", "description": "VP, Revenue Operations & GM, Concert @ Vox Media", "following": false, "is_translation_enabled": false, "favourites_count": 486, "is_translator": false, "followers_count": 507, "geo_enabled": false, "listed_count": 37, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "follow_request_sent": false, "name": "Ryan Pauley", "statuses_count": 1496, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "screen_name": "rypauley", "lang": "en", "profile_image_url": "http://pbs.twimg.com/profile_images/824057577717858305/mt8xnMUu_normal.jpg", "url": "https://t.co/Kh4MF5MjVC", "protected": false, "profile_background_color": "C0DEED", "id": 536877209, "default_profile_image": false, "entities": {"url": {"urls": [{"display_url": "voxmedia.com", "expanded_url": "http://voxmedia.com", "indices": [0, 23], "url": "https://t.co/Kh4MF5MjVC"}]}, "description": {"urls": []}}, "profile_link_color": "1DA1F2", "translator_type": "none", "profile_sidebar_border_color": "C0DEED", "profile_banner_url": "https://pbs.twimg.com/profile_banners/536877209/1491774477", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url_https": "https://pbs.twimg.com/profile_images/824057577717858305/mt8xnMUu_normal.jpg", "created_at": "Mon Mar 26 03:16:26 +0000 2012", "time_zone": "Atlantic Time (Canada)", "verified": false, "utc_offset": -10800, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Sun Apr 09 11:32:04 +0000 2017"}, "in_reply_to_screen_name": null, "favorited": false, "place": null, "quoted_status_id": 851034975717687296, "lang": "en", "possibly_sensitive": false, "source": "Twitter for iPhone", "id": 344106275314266573, "favorite_count": 1347, "entities": null, "user": {"default_profile": false, "id_str": "67843548", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": true, "friends_count": 4578, "location": "Hanover, NH", "description": "xlcbjqfwakzgdjlnwjeqorexfsjwgafzvlxcscrxcluddftnwdbhdlpnjgtgtrviruhehwaivauzlfunrossryvdncfiyveizgxjykvackmtksqrdwvxdxtfdadftdrxxmopjptwevsydtkvfrknkmzdxwrwhmrw", "following": false, "is_translation_enabled": false, "favourites_count": 10060, "is_translator": false, "followers_count": 50902, "geo_enabled": false, "listed_count": 1829, "profile_background_image_url_https": "http://irtsumhqxihmavwerqucojbxdkyyejmdtpqrxzxlvoyrfjkccf", "follow_request_sent": false, "name": "hkumrngvusjvf", "statuses_count": 44471, "profile_background_image_url": "http://dgiiawfqdljihkzgsgjvhnedlkswugcrgzfbtxqinkopaaaed", "screen_name": "thdmlfbvjwhi", "lang": "en", "profile_image_url": "http://ifshjgjgwmbpevnmjyjicmpfdlnexpsohzijqamtbaoourabphilyzabxszstmazdnoufwjpiy", "url": "http://zsgavofikqnyfzdkznyzdb", "protected": false, "profile_background_color": "131516", "id": 67843548, "default_profile_image": false, "entities": {}, "profile_link_color": "60BD9B", "translator_type": "none", "profile_sidebar_border_color": "EEEEEE", "profile_banner_url": "http://kdiftqbqnbokfiklszcvhsynyynfpalholxvnuccsfwgkcawaopvqgayu", "profile_sidebar_fill_color": "EFEFEF", "profile_image_url_https": "http://ijpxecupycpmhdjlinofvslcenryjbqgtlgdgjortfgetxdyavxpcnuapzkpegegmabyllrsdbp", "created_at": "Thu Oct 22 18:19:01 +0000 2009", "time_zone": "Eastern Time (US & Canada)", "verified": true, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 14:35:05 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Sat Apr 08 14:35:37 +0000 2017"}, {"retweeted": false, "id_str": "432815191274456653", "in_reply_to_user_id": null, "retweet_count": 0, "text": "vphjzztfuisvmnhunwvwmxtuwryemhtvxlkrnaspxgtmakxifryqrnvxgixukirsrcjawpxxajnqmxgwhehrgccuijneoxfjejpuyjguzab", "geo": null, "contributors": null, "in_reply_to_status_id_str": null, "coordinates": null, "quoted_status_id_str": "850951555750789120", "is_quote_status": true, "in_reply_to_user_id_str": null, "truncated": false, "quoted_status": {"id_str": "850951555750789120", "in_reply_to_user_id": null, "contributors": null, "text": "\"you feel like you\u2019re getting closer to the heart of something. That you never arrive doesn\u2019t matter. The joy is in the passage.\"", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 850951555750789120, "favorite_count": 1, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "user": {"default_profile": false, "id_str": "3716851", "profile_text_color": "000000", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 786, "location": "Brooklyn, NY", "description": "I'm into media history, media theory, cultural production of economies, history of propaganda, #histtech. Postdoc at @datasociety.", "following": false, "is_translation_enabled": false, "favourites_count": 4706, "is_translator": false, "followers_count": 589, "geo_enabled": false, "listed_count": 30, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "follow_request_sent": false, "name": "Caroline Jack", "statuses_count": 1292, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "screen_name": "cjack", "lang": "en", "profile_image_url": "http://pbs.twimg.com/profile_images/808711659506270210/yfmkQlO1_normal.jpg", "url": "https://t.co/PQ8zepLqCv", "protected": false, "profile_background_color": "9AE4E8", "id": 3716851, "default_profile_image": false, "entities": {"url": {"urls": [{"display_url": "cjack.org", "expanded_url": "http://www.cjack.org", "indices": [0, 23], "url": "https://t.co/PQ8zepLqCv"}]}, "description": {"urls": []}}, "profile_link_color": "3B94D9", "translator_type": "none", "profile_sidebar_border_color": "87BC44", "profile_banner_url": "https://pbs.twimg.com/profile_banners/3716851/1419545659", "profile_sidebar_fill_color": "E0FF92", "profile_image_url_https": "https://pbs.twimg.com/profile_images/808711659506270210/yfmkQlO1_normal.jpg", "created_at": "Sat Apr 07 15:49:02 +0000 2007", "time_zone": "Central Time (US & Canada)", "verified": false, "utc_offset": -18000, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Sun Apr 09 06:00:35 +0000 2017"}, "in_reply_to_screen_name": null, "favorited": false, "place": null, "quoted_status_id": 850951555750789120, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 432815191274456653, "favorite_count": 13, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "ewmpijkvimxyhucjhglkqyctesythtkmkgeuexbgabdwfmnwblbqvoxxnrhxytndorneytffpgkbdqlfgbedngxbqwetvurxpeziuggmuseskaluwmdruhowkxaylemldovhoaxcsnhnulhdbptrxxupxkfqpwgv", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://tcjpsjlzkfcmhtycguzgsjwogclsjkceiqfzvsliiomtmkuejbrjbotxfirrsyqspffqqrsshuotaegljelxigwyrfqdov", "follow_request_sent": false, "name": "pxelqquptuoirxbr", "statuses_count": 32524, "profile_background_image_url": "http://aflfnetdatacxgycsgtartufduparmmflameyicgqlxuwxezrvmhibttqgnxsrznxyaahafylywzefzpmcbntccscgacd", "screen_name": "xvygpyouci", "lang": "en", "profile_image_url": "http://fgexltjotifgjhpqluelhmwufikvxvdetlotbvdaecmwmwabixuiohuvbrxspoinlpslvnszkgyblusbvdsujqshmgpgjoacei", "url": "http://bjkmffbnpdxzvkpnadwavyl", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://djveifdekzrgerdywfrjfmxnwcxdtrtlvgycydjjjmdkzdikrszzxemkc", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://lyoeubgykqlxfgnkzbaqfsaomvfrqrctchqzqzsdvbpohplfzytedijhmpzqnjhnbbtmrwjkszzjopuoemdynhowrkerscnskrz", "created_at": "Tue Jun 30 07:14:30 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Sun Apr 09 13:50:07 +0000 2017"}, {"id_str": "206092776448337104", "in_reply_to_user_id": null, "contributors": null, "text": "toatgdjbzyuofsdtjqlnjsthlvvetphvoujifhbzpjwiocbdgktvfoiiiowlarjjjipjijytozzzfqsvitxzdyldwqnixleizqisieeusgglzqnrevvguftfoemofabujpwqmiqvmmdj", "geo": null, "retweet_count": 9, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 206092776448337104, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "aoztlnrhrwqjttfsbpsagrjshfqvdhqhpgrdweliejzaudwaoyxjcsmdaftsjqzkqauvzwyjfjrnxnpuwnfjkxhdiubrgqcrretycrsfwvhotcwbepxqiwrvqgfzdxtrcfocoksmzuajbtipmmwnwmfalclsaszn", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://zvosubbcazgtqjsjdxigedmavjsneonshjhdphhsqvfeltjtdfkbylpulpmiztpjukcyosjgmmomhzfcoqciihnqlkmoch", "follow_request_sent": false, "name": "jvuxvjrfllegrfni", "statuses_count": 32524, "profile_background_image_url": "http://jgfmgumuzrbdleoduzvfiluebcvqrkmogzuetehbnflukjyvaktjczstpvcudgpgefqcnkctrzulrpqgbqowmjhcboafr", "screen_name": "ubupngxnei", "lang": "en", "profile_image_url": "http://dhasesiztjrxhgtwqcmnxsumytspzashjsdmtgypnvexwoupqipegranpjudybnihumcawqhmrlnzrbhofnzbkyqqrlfmzqays", "url": "http://qcgzixembzoiiobfcgjkbee", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://yfrlooygnnmbwhfbnhmfaakgpzsqfymrompyjwnwfywzchtcouqapftys", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://zmppunlwhxxvnyxlyjjsqhedcuiansebljtddsvvgwolehpcbviapektqjynfgtfthuyyxemffgwktausgoqzuwtfhebocjlczz", "created_at": "Mon Jun 29 07:14:40 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "577653954863384878", "in_reply_to_user_id": null, "contributors": null, "text": "nysvpkvokcpeulxrtvqqldbxvjkcmpqodnegmolrgsfmuubvspornqhzzurtdkeupujwrfxxiujskhziaxheshdvxswzlyqjyfmruibgghdhxykxwgpthqmnxruxmrhmewgoejjlxm", "geo": null, "retweet_count": 9, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Buffer", "id": 577653954863384878, "favorite_count": 17, "entities": null, "user": {"default_profile": false, "id_str": "12064694", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 1871, "location": "Vancouver/Aguascalientes", "description": "dehwtnfxrnphzgtgljcjhfgfxrrrqnxfonfgrtqzxckwthzrrlvxmroflqrdaxwjygmrzpxupvhsfptmorxegyjscvqebsgkzhvoplytoauvfnmvxtmoiofhdbnagzqsilhrggzosrmbdmyswimbxxhyjgwp", "following": false, "is_translation_enabled": false, "favourites_count": 41847, "is_translator": false, "followers_count": 16627, "geo_enabled": true, "listed_count": 1373, "profile_background_image_url_https": "http://yqqncmmtyiurxctowqzfzjkbgzdemvffpgifgiohkkobdpeiomjikwdzlxfafmhspkasrfxtvjnv", "follow_request_sent": false, "name": "kejvfhlsffovjiotryet", "statuses_count": 187117, "profile_background_image_url": "http://fbzyidqaoeiocfgviyuwmzsmtvedyrvynspftcjopyxijniulwmgnwazqkymsbqjtknwkzoapda", "screen_name": "fxfpwmmfngu", "lang": "en", "profile_image_url": "http://zjjczwfletnasykmhtbstzdkxqwtjmhstqwzgemsdrzgiyzueweyzkylvrvvneqoahhhouhwnk", "url": "http://rijjsrzxzfidakvvszkrmox", "protected": false, "profile_background_color": "9AE4E8", "id": 12064694, "default_profile_image": false, "entities": {}, "profile_link_color": "0084B4", "translator_type": "none", "profile_sidebar_border_color": "BDDCAD", "profile_banner_url": "http://aevslzoioegfygcfheffubrosjkegnigwkduzargqhpdvgkoujnehrijm", "profile_sidebar_fill_color": "DDFFCC", "profile_image_url_https": "http://estkfnkuytgfddajvcwljgeodzdsxpkrrkizlkntxqxeknmbvkqgncidljlijxsjtmaegqxnpez", "created_at": "Sun Jul 13 20:54:41 +0000 2008", "time_zone": "Pacific Time (US & Canada)", "verified": false, "utc_offset": -25200, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 13:43:25 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 13:44:09 +0000 2017"}, {"id_str": "63854267953106778", "in_reply_to_user_id": null, "contributors": null, "text": "pezpyesvckndkwxiwsmldekafjlndruxusdzvkavzccwlwburdaejpvmmazezb", "geo": null, "retweet_count": 2, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 63854267953106778, "favorite_count": 7, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "lykttgbdckuyykfmrxplfpgtskgfuywrtgpqesfiywcmcjqzipiyenkvlvtukbgxvqkbxhgzfxmayelkofwebqmyypwwtppqeorpqjszpfzdtxcgunblaxmozblqjsknasyrcgcweeijnzcynxzxfhptrterltgo", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://cuzmjtpzmdplzperexsghqggcntwdqyyvpvlceoljxbxtategplrvokbdxgunmjcqqhclgwkvrgcidhykhvwcramgoanas", "follow_request_sent": false, "name": "apzutvjvpdljblsb", "statuses_count": 32524, "profile_background_image_url": "http://kfphmakimbeogsurswspkxedvogynksdcqdkuicmrpivziyvolvrpwymqfqouljknnsjqnrvsljzdkgdncilwxaaqfsid", "screen_name": "xzrekevdat", "lang": "en", "profile_image_url": "http://lozdtlzjnqiakkucjzefcfxjpiiuojefwcztmhfonwwwduttwqpzqoebvsvkeuxfxmjcweeqowryfqfgwdbniqoptibumdryqq", "url": "http://gwvhrejzlxzdkmbjrxcaqtq", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://kizqcdwelpdzhcioqocuakwcglsnmtvadrqqmkvxjewafnynwrosjwinu", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://qjajpfzrjgixhifptbyrpnglpfutlsccsnkunzmaanjqamtrxgngpirmnfqcuytnilnlirhatcxflubnweqsxpitxaacdxavjpo", "created_at": "Mon Jun 29 07:14:21 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Tue Apr 11 01:59:31 +0000 2017"}, {"id_str": "697771219320783508", "in_reply_to_user_id": null, "contributors": null, "text": "inajdsqmhajjpnvfzjdvzytiekrobpgivhzfspzeywgqwftanbsqgsxrbbcwtnyliwdlmmakupqrlwvmhuygvqbjipdyuwmnfmfwntmzwow", "geo": null, "retweet_count": 2, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 697771219320783508, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "cwwtmurejabawzgttzhruonlepjvosgkylmtmxsvtrebkjmmvjrtmyyyvjxcihwbzudwyzfxbywehljipkouobgizmkvxhbohybgheghxafgocehqvvxbuhggrzbdgugwoebbxdaewqbvuecdruabqfeeonyuzkg", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://xmmtxjobupvqkxehileeklxvanwlzeshjclhmfigbdzbsmjmwhhbjcbdocnpmaijslrwhsordfpxusikoezeuinhsuojyx", "follow_request_sent": false, "name": "xgfxajcczjqrqhds", "statuses_count": 32524, "profile_background_image_url": "http://fofzbnldtjzugsaikrlzwvbhzsynvhxfwsafwqfmrnshmrmckkgxrydsfezieqzcmxopwzgwhtmyqcvccuthtbyffocvu", "screen_name": "jnbtuucccb", "lang": "en", "profile_image_url": "http://ozzvqjqqnliftbxqrvzotattkntjnxilbyhewdlszjpvswthypvbjgaovlqkzuyrjvwtrgnkkhympahjgswkfwtqkuzbwqudrh", "url": "http://dgypownkakbfnbrowzlyury", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://icfadrbdivrqkgqtmnimkgybecpmzjqaphwuhtoxtkfyydgtynlgqjwcv", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://bgxvgtsjxbxsdutlokxzshovfgeqdblizztjthvdbheuevgbhlnupbauelngxvrjtyuloxdcjhkslhjmohxzztdplvqctqelhwr", "created_at": "Mon Jun 29 07:14:16 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "282615944699036743", "in_reply_to_user_id": 20470578, "contributors": null, "text": "frsplrwrydlmtcwdppfgmtwdfvhrxbpvoanwsrnqivhtrrmivzysmpgymyceaopcogkdbddbwislkwvoyulaflboncij", "geo": null, "retweet_count": 2, "in_reply_to_status_id_str": "152121069091666066", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "20470578", "truncated": false, "favorited": false, "in_reply_to_screen_name": "mpzyqcjtif", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Lite", "id": 282615944699036743, "favorite_count": 5, "entities": null, "user": {"default_profile": false, "id_str": "8529125", "profile_text_color": "000000", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 724, "location": "Cambridge, MA", "description": "nzalouqftcflgcjidmddqejczqwnyfqdwhvcgwidtasnlajidddchqozjugofaqfvijutentvanxjygtyqsytwzxbbggqitgbpjkwghxuvcncxezoylxjaszluuxotcvdlgabstossebrtqhw", "following": false, "is_translation_enabled": false, "favourites_count": 5128, "is_translator": false, "followers_count": 7477, "geo_enabled": false, "listed_count": 527, "profile_background_image_url_https": "http://mazsbogcamnvhbixqvbkvfduhobygguzdkngydiepvbruugonbrpshedlulelbbjmophuudjtewtq", "follow_request_sent": false, "name": "llgldwhmlw", "statuses_count": 44215, "profile_background_image_url": "http://xrhwuzwxsdxnlzxvzahcwkpielpxrskbrxikolimahpuoshhoaqzwpqxkmqakdpwideqbjbpmxdo", "screen_name": "qccarwbrr", "lang": "en", "profile_image_url": "http://biidjkvfpmqxruasvxhjuyzpjjupomnofvmojquamqgwpzljxhxdgulevkuwpechrfyisaimrx", "url": "http://jiqpdptrukvtvdftqyytpfw", "protected": false, "profile_background_color": "D3CFF0", "id": 8529125, "default_profile_image": false, "entities": {}, "profile_link_color": "3B94D9", "translator_type": "none", "profile_sidebar_border_color": "8ED238", "profile_banner_url": "http://zjibttickxyujpmfagzrtvrcrcoumvgzanvwbedjswtxcfwbrvcqtxnz", "profile_sidebar_fill_color": "C8D5A7", "profile_image_url_https": "http://jcgvbdeqbnvxlmdhnrpwnwdgofjlypgbqhypfxrtkikvygzjsafhznprhxcpmbhfapajfswwglc", "created_at": "Fri Mar 16 14:39:44 +0000 2007", "time_zone": "Central Time (US & Canada)", "verified": false, "utc_offset": -18000, "notifications": false}, "in_reply_to_status_id": 152121069091666066, "created_at": "Thu Apr 06 22:27:13 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Sat Apr 08 23:41:36 +0000 2017"}, {"id_str": "217725610358018408", "in_reply_to_user_id": null, "contributors": null, "text": "dshoavyibfxouoiqoeynswgdoimkobjiaemrkklarvbvmsjggwbpqcnzpdfiwptxebgrwatrnfopjtmwlrjkkiplquzshmddgrluuvmcrdnlfgwedqdjojieqmchzhopmtzesiwv", "geo": null, "retweet_count": 3, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 217725610358018408, "favorite_count": 29, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "jfelzpdumaupqrfpbwnyzaqlmxbcxflzkkhyqylimrfstfjgwodsytrsgmkqikeactpoyagbpxxrjltnlagypmkmdkmdxrqsyaqjdmexdimclydbtjyihgneqlyzxfhmgjxanyrgmnkhoatwjrvtkgplhmkphiyr", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://ulborakkhsabufemxodwrzkifdsnmpvjftjolzzuwddjkptivbzajkltweoqmmchxnpfzntdvpifnbfuyxpfksmnkvkvto", "follow_request_sent": false, "name": "jftbezzcgfdmmxom", "statuses_count": 32524, "profile_background_image_url": "http://hrnergtgmeubazvclxlizvgpricklvebmcxqqycrqewonxfarpzodldybzpoxnjgbhwpulrkoonriezemeadtnyvtwcqf", "screen_name": "vireadnatt", "lang": "en", "profile_image_url": "http://qtvvakatxusdffpgqoikgsugehwondpqznzzrdeaejgqvgscbmabgafzbobaeqoagfwmqvxrbknixgdjhwfanhgxdyjlnztqpv", "url": "http://chsuzvgmaqbqjnbbfidklmc", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://ooqcocjhggevjdtcilaboyxswixtrwkhykradykopaygifstimpqfvaky", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://rmjhjrvrkqzovwamvdpvexbeknzrmbyncqsykewqwqfnsohijvhgvkjyfudfwklraehmxwewukmfphzzlhmkmfsnmctnlezhciy", "created_at": "Wed Jul 01 07:14:18 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Sun Apr 09 22:09:45 +0000 2017"}, {"id_str": "822354257274436662", "in_reply_to_user_id": null, "contributors": null, "text": "zskwlnzywubgizommkyhkpjllduyphuluaoztyuzcgidhkimdcbragwyxgnocwepdtyyygcrmkxnjhrsxhqudnzxjxfxdztmvzuevpponfmticouxfhnnuonmuldwhqikmwgnsakeuwf", "geo": null, "retweet_count": 6, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 822354257274436662, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "xcehaklxhncgymhzmwwuvklgikxayqjctgsrwjdwemoetwjpyiclaykwougzcleqyjiccbfzmyrnzztuyfegdkbxmxlpfzkupoxmmcvschuhrvhuzmkurhrpzppdtncecyblqtimftznutyfjimunopeqlndaafd", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://oczvvcfhheytoqvwmysodulafjyhtfvlogxzrnevwwfsrisqydqthvnrsraiurgrtqhuhvqpszqrkldrjaprwvlxaitvza", "follow_request_sent": false, "name": "ypadhfkwrqkosmeb", "statuses_count": 32524, "profile_background_image_url": "http://jkshnsmhjahvyhvqbtfffqzeanauhlkcgarinqdhoviuczpbichzkcwpuckccbadyusgdhywpuvsuvxbkoefexkyqjaax", "screen_name": "okxapwfbgk", "lang": "en", "profile_image_url": "http://cozowjdkkwqbvroicmeyrepwvpmcpxumchjgozwcohtxqbqhrburkvpsixxtkbwsuyyaqzhqxkykaqwfdnbbnvzbafkwqwdqhl", "url": "http://ftzisqehhunycusdsglstba", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://xagutndfyzlfmlfibjqmyorcnwktrftrtvwqiveznsnfpdwnyhmotyyom", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://afrgkvfrjtgvaicxeqrxggzbnwgjrknsogcuudqmqtpkylzkogftqkvgyatdhydlbbvsujwforcdqnukyvunnclqwuvcaehgzix", "created_at": "Mon Jun 29 07:14:30 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "9282109307431263", "in_reply_to_user_id": null, "contributors": null, "text": "fpxwleafuisnevzybgpgtlhjekclnnupifubglhfaikjxnkkommpgwehcaveogchbkqsopcrasjeyprthmgyctbkroqkkxdchrxuijxezifvkfeedxeiqyycemmjxuvspoudnevufg", "geo": null, "retweet_count": 6, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 9282109307431263, "favorite_count": 9, "entities": null, "user": {"default_profile": false, "id_str": "495649", "profile_text_color": "000000", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 837, "location": "Boston, MA", "description": "jvqowuagjoxvjpfakbzyfzlemtzidfssibzrzixutxsskeowcnyt", "following": false, "is_translation_enabled": false, "favourites_count": 188, "is_translator": false, "followers_count": 28197, "geo_enabled": true, "listed_count": 2732, "profile_background_image_url_https": "http://yasyrpruntotmidkqihgyclftynpvmrxsbphypnqrhkhcuzearignjcamoqssscdhmbsjlnkdrlpyhlwgig", "follow_request_sent": false, "name": "wwokasbmjkoxgrxfzoei", "statuses_count": 10913, "profile_background_image_url": "http://wclrnodlrnhjykryhepfjpjnjudzwkhkfleeurkwdygzvyfajbafuirmxmamjdqancizcarfuvupllkpgh", "screen_name": "biolcspghpm", "lang": "en", "profile_image_url": "http://aecjoxkqqbwweqdthyhcseltvodghuomaletqykntsatyptllnhfnmusegpzrqsfzeyfjamfzy", "url": "http://ycusbmrxvqpwixjbxndnmf", "protected": false, "profile_background_color": "9AE4E8", "id": 495649, "default_profile_image": false, "entities": {}, "profile_link_color": "0000FF", "translator_type": "none", "profile_sidebar_border_color": "87BC44", "profile_banner_url": "http://vtvlbbproxwcacfqtpdrbknjgpxaovzizudeckmuojjsqmjvjjuneoaq", "profile_sidebar_fill_color": "E0FF92", "profile_image_url_https": "http://zhybdaezptcvwmapfewdmrbvpatkqjtbqmzkxiiobilsjvusvhpofvedukopgfkqzpmeisnnbpb", "created_at": "Sat Mar 17 13:27:33 +0000 2007", "time_zone": "Eastern Time (US & Canada)", "verified": false, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 19:19:07 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 19:20:04 +0000 2017"}, {"id_str": "600237296308517772", "in_reply_to_user_id": null, "contributors": null, "text": "fuptofffhsktcvawwhrvwvofyclupxpbtwkfcllhvtichmgbjrkymzdkuznmjmgsefdjkxtltopnowrkwtqvqyawvqlkzjemxbeoetpfgrnajywvlxaavxptvvmxf", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 600237296308517772, "favorite_count": 4, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "kctmnscezrkleqzdhnvwetyxffqfpyqmbhaptcgxbextmvaaineahdifbjgsfkgcwbapwkqutpipvgzsaavlzqejwqupnbbspvwxiwmdsqlamswlkvxxqsbxtwuscamtyecoijhbgvjksahsyaxtiunovvlxxprs", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://bzvfsiruseqryramsegdicmfgetkahpelrqnraazfymsghxrzzawiucsujnftuoflbrwteheblfxwqzkkrogxlfeczitws", "follow_request_sent": false, "name": "wosrfnnfnqrlwlfb", "statuses_count": 32524, "profile_background_image_url": "http://wbbefkdhcjfrfqnwbrivaejrifktcxwddvfdfuuscqpmhqznxijqbkcixpyrnsdsaughkdptsvkpivluwjzvfkcqdxbyb", "screen_name": "lozpmnjwro", "lang": "en", "profile_image_url": "http://phuxyvtgjuwouxfozzvyahxdlotxirlqdaeotrlyotbwhysfwfkmhgagjyogxduwplqmrenrslkhyjzakakphdxgsgcgmtuuao", "url": "http://zbciroizdjfjgurundhfqqr", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://mqtbbbzeysldrefqyjrdmogrubhjvttbyvaajzemxywlxqkfafucvodnp", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://bbaunhwirxducmzcpkwcunqiodgvrwrngbqejekngsdsnfdksitgkygslrnyhjcihuxlatmfvcaiyfhbikbzxqwlighgjyuguxd", "created_at": "Sun Jun 28 07:14:34 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Sun Apr 09 18:29:49 +0000 2017"}, {"id_str": "43319613214205079", "in_reply_to_user_id": 19582429, "contributors": null, "text": "akodipqmndwxvbnytltyelgzboxfncckejesltenmahiyxupnxvfvvmaxomlkybylchrgbmjrlsodjsxbuabkhbmolorpqivfihmffnwqfbjewzylewgcxzrgrmchtqarxjzoshxilp", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "628175176620715007", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "19582429", "truncated": false, "favorited": false, "in_reply_to_screen_name": "ltegxhvczn", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 43319613214205079, "favorite_count": 1, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "qlohveffslqxvaozdhxdelasxcgbvmwhzdeqbctpyauurmvfdrtmtjbxxrupcdztqcxjenihuxdpoottuouudcitjqcmgvrwcpttemsemipdyawvribcpxkbenfjhrskcauwmillrquohurhadcepttnljytmfqd", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://snhyhbsoqgujhusajnlbepxbfksonnwvfkdqhbznwdpdgvowxgkaixmbgtwdixdwkatbgtgwfrvcucnlyietntholmpjun", "follow_request_sent": false, "name": "ldxfgvmnijsmxjww", "statuses_count": 32524, "profile_background_image_url": "http://sxketuoxkzjsybcoxpocjzvbouazinldzvasbfttooctjroybzumpdizsyznuwibxfbmeoqpqmgneouksmmxkkstlxfkn", "screen_name": "jcygofqwcf", "lang": "en", "profile_image_url": "http://ovlmeopgvbbldfcytfczimeuwdgxbxwnxsralqvwdqsczzdhqvybsaewtpblmhsfoyswogtaaawblyptrkgapnyygjsnbrqgcj", "url": "http://hnvyjwflqgpmgfgryphtowa", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://hlaftnwhwponslinipqbdusxxxzguqvvtanuigddfjebpgdugsrdvytsl", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://amsfgcuoktbfxivrkfdobvrcvklzszezvalshqijekuqsbtzraojulaqrsnvbwmyemcqrulzsdvkqluewouwpqvjdlqwhghhxon", "created_at": "Mon Jun 29 07:14:22 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 628175176620715007, "created_at": "Fri Apr 07 15:48:13 +0000 2017"}, {"retweeted": false, "id_str": "210890812269257262", "in_reply_to_user_id": null, "retweet_count": 2, "text": "mskujqlvtmuxegwsmxxrankstwqcjqxqihirfsctlwjnfnxdufpfleejirijlvtwnwjnwvxpwtrgdhyxsscfwfribqktsjxjuxjjwbcddqbtzvsavxbmvwolqaiymvjzgrssnwbwsrdh", "geo": null, "contributors": null, "in_reply_to_status_id_str": null, "coordinates": null, "quoted_status_id_str": "850566656506114049", "is_quote_status": true, "in_reply_to_user_id_str": null, "truncated": true, "quoted_status": {"id_str": "850566656506114049", "in_reply_to_user_id": null, "contributors": null, "text": "Delete, delete, delete: Germany calls for EU laws on hate speech and fake news https://t.co/153q7K0mOE", "geo": null, "retweet_count": 20, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 850566656506114049, "favorite_count": 12, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"display_url": "euobserver.com/foreign/137521", "expanded_url": "https://euobserver.com/foreign/137521", "indices": [79, 102], "url": "https://t.co/153q7K0mOE"}], "symbols": []}, "user": {"default_profile": true, "id_str": "76423575", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 785, "location": "LSE", "description": "LSE academic and blogger. Runs LSE Media Policy Project. retweets are for interest not endorsement.", "following": false, "is_translation_enabled": false, "favourites_count": 186, "is_translator": false, "followers_count": 1963, "geo_enabled": true, "listed_count": 129, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "follow_request_sent": false, "statuses_count": 4185, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "screen_name": "damiantambini", "lang": "en", "profile_image_url": "http://pbs.twimg.com/profile_images/1209322019/image_normal.jpg", "url": "https://t.co/uHgHli8XlH", "protected": false, "profile_background_color": "C0DEED", "id": 76423575, "default_profile_image": false, "entities": {"url": {"urls": [{"display_url": "blogs.lse.ac.uk/mediapolicypro\u2026", "expanded_url": "http://blogs.lse.ac.uk/mediapolicyproject/", "indices": [0, 23], "url": "https://t.co/uHgHli8XlH"}]}, "description": {"urls": []}}, "profile_link_color": "1DA1F2", "translator_type": "none", "profile_sidebar_border_color": "C0DEED", "name": "damian tambini", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url_https": "https://pbs.twimg.com/profile_images/1209322019/image_normal.jpg", "created_at": "Tue Sep 22 19:26:41 +0000 2009", "time_zone": null, "verified": false, "utc_offset": null, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Sat Apr 08 04:31:08 +0000 2017"}, "in_reply_to_screen_name": null, "favorited": false, "place": null, "quoted_status_id": 850566656506114049, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 210890812269257262, "favorite_count": 1, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "fliilvfmddcakwfhepdpudskmrbfvuvyydrxwapekrxxymblrotfeisgltojvhufpytdgkjsezsafcymrcnoklehcrxaasoovwhmdmcgyqrefpwueeugssxgwbcwtgcqmjrtncqptuplshidnswnohocctfdbrkz", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://zcjfmvnptnsjfkupvzgnrvtjsbxtxydvjqetxwqizbqjvopjomvblecrtasomsvotggjbhoglkcjymorhkctpdfubbptrv", "follow_request_sent": false, "name": "urxkjvdlhilffpnq", "statuses_count": 32524, "profile_background_image_url": "http://tyldhhusissojozvlmnrcttlcwvcuxizoggliuqeadpqfgtdnicxmdwaddrjcjmaxzdewwieusemlxicasumlcrdrpgzp", "screen_name": "wogdyoavrc", "lang": "en", "profile_image_url": "http://oreeezksmgxotlzqbgmzspjcqbhwilkkeeyyziqfiasrhuouxjuckdnoplxeiizhlgvphwmetiejuulrnofwhcwphnmvwwsekg", "url": "http://ubahsdmgygpfwniakegyvfx", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://tirecctbfnaqplnzaieivlaxrotgcyytqclckmwfknbafiyljhqrbsimc", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://uekpthuzzdmyqnakkbxszcokpawwjabstnglupmqypdufssnzrdzvnnxfqnnrwivqxlvgdcdklrmqhuzerspinpxdmqnabnotfy", "created_at": "Wed Jul 01 07:14:23 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 15:43:12 +0000 2017"}, {"id_str": "883159735576030509", "in_reply_to_user_id": 474666610, "contributors": null, "text": "oxwhmglniaosruiaevpncrsedtfgvanwsknpiwbfcfgqa", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "809446174260984761", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "474666610", "truncated": false, "favorited": false, "in_reply_to_screen_name": "petwpwkb", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 883159735576030509, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "xhghthbiebklfpaipbnbkmpjjmvrfycrkjgagsrfczpusgjvafonibafrqbybgtepxqjewvqmhqzbblykaykbsktkaexfoyaljxkizrzehiasuyhwwrjodptntfrljkoectdyqtwihnnebkntcovbzorbtkmimag", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://ivhcnepyfbduciosqpwbosqypvteplwfkudchriivakdrrpdqtitiahcfexdwbjqbiauytvjwvqzhzyaqqmatyfckhtnvu", "follow_request_sent": false, "name": "elkmuzsxvyclowpn", "statuses_count": 32524, "profile_background_image_url": "http://ckothtnjyizdcxnivvakprdhqrnaqcgfiplursjeterfhzpuuzhmkrrhvifqidobymjkupizwqwbucxvahkqnexooozok", "screen_name": "lzxmvteihm", "lang": "en", "profile_image_url": "http://fnaonlqrkmvoshvbodnttiluywdwhomlveeuezefmdnuwcocwfvhggfqymcxvnttrwdfslewilbdchdbtokkfnchqwxqvzyebv", "url": "http://sfselmsdztfwchotcdjfpib", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://mnwpsxvmlypsytragukrpwehazmzijoocgziogcjpugkagzhhcbgexrfu", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://aoqccbcpxsyvikhxlfjsexzqbofuxudwbjrinddxsgakwqfckokrmwwpbnpqkziffanwlmijgmdlljppekfadpaxuqqqisomulr", "created_at": "Wed Jul 01 07:14:15 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 809446174260984761, "created_at": "Mon Apr 10 03:51:55 +0000 2017"}, {"id_str": "19004214834281790", "in_reply_to_user_id": 562431702, "contributors": null, "text": "zyunjpitfxbecclrfpohmnzxmlwgpfovrfnfbcqopvpgvxsb", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "745516751981084715", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "562431702", "truncated": false, "favorited": false, "in_reply_to_screen_name": "cnwjbydd", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 19004214834281790, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "txpyzgpnzdrlijhkqthgilgltylkgspowlvaqrbqoiaidklxiiepgapilwjjxqhavdcpcchvzbphebiptlibshplhbhitiocudikqcngcxpdxewngxmjrkyoxzkesologmyhskjvtuntdxlpasjunosfsndjqpmt", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://fyzgodqgzmhoysqbgyqxgdugpnpumdtwvhwtzxrvppwvdnvozkqplpbuptzrmrytcqsugivmcwdgjoglturzmzumuikqwh", "follow_request_sent": false, "name": "bdpbbeqeasthitpa", "statuses_count": 32524, "profile_background_image_url": "http://yssvaptoongipadpkkdghmuwoekrfhgrqpoekbrptlaqunsuwzbfhzcmxbjpyarkuwmglbrwlxgwxrthxzchaqzvskxnp", "screen_name": "apefjcjaem", "lang": "en", "profile_image_url": "http://urszdqhryifqphrpwsbyfwrzhpjkwztdjormerhlopixpenavuxorohcginxusdisccowfehfizmabqeoikzpbkdfuqbjpxmix", "url": "http://ahhddskxwzuopofluvdtzna", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://hfmsblcugtmxgakyqbwmmsplfhvkmsbzbqygrmisdsjiryjhbjljztwgz", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://itsqnjdmbxjqzjprtcnqtrysmlwqopvtuyqdycvvlezvlmgxjciulraxruwxzmbshvezukumrkzlephvxikbqvwwfvkdikftkwi", "created_at": "Wed Jul 01 07:14:21 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 745516751981084715, "created_at": "Sat Apr 08 03:40:07 +0000 2017"}, {"id_str": "505896713258363142", "in_reply_to_user_id": null, "contributors": null, "text": "xtlaetgakcvhmdnvfyysunsboqpgmiecnvgumhqhxjpdyxqlbqyyzaomxsitwexrdviejxdbepoijiquvubhwnyhkyydwliwchkiforckqrwyxqubirtfzlvjaggaluvluuovgewzkg", "geo": null, "retweet_count": 6, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 505896713258363142, "favorite_count": 6, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "cdjfgazomvjvrfqaakttzkquminifwybilygadgwzkptnmyzpmjrsvfhrpldjwtyiworeddcnmtctrwhzwabznxsxerzuxkvzeznlilzcwbfnfwfbyowbimwdcbjdwodidpeknguyqgjlhiinnakrylmpdyyeloe", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://rajyatqeiysrxqvzatuhwjapiozmvkxbkwywvhwfdiysapbivvlobznxwyfenwkgvalgkjeiumoirujubwjuvkexvzfiqm", "follow_request_sent": false, "name": "goalskuffvdxynej", "statuses_count": 32524, "profile_background_image_url": "http://lhzoatlezlmzjhqlpwoleirgvltcvymznsiolpqewhpsqmvfkztvdxryxnmpjwveivwexcpkcedjgbwsvnxotrtpvglqg", "screen_name": "kzsodfwqdv", "lang": "en", "profile_image_url": "http://nffntuekfcjkbhynyvdhsvnhlmignykyffyqninlixsvrzlfbpzkheizoxoaafueklhsbqunkleaorcvoxkqolemmqcrlvxsrh", "url": "http://cuishsubflyzobcoggiskbt", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://dppqmnmvywfnngsygoguwbkwaxlpvvfoiqhxfexncqtsgwmgbupikyiea", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://trczdvappdzzdpwgcxefqtgpiesoznqyydzggomrfqmblkrpnqiwmtzrwyikheuabqmdoovgpkxsiypojrqjcdazlzupbbflfsq", "created_at": "Thu Jul 02 07:14:16 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 01:38:37 +0000 2017"}, {"id_str": "315475707093021779", "in_reply_to_user_id": null, "contributors": null, "text": "qscnfargxhiroemzakleiudwrhwjccgqmudbcbvepbuaxjuqeqrkxghzlucuelfooracygxectjnapjuicnzjdgibyfyqpmzvyxwbqitrjldvkheoqfsxskbamekmwdqqmmjgfpsyahc", "geo": null, "retweet_count": 10, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 315475707093021779, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "luyuxhowzqabhjgbrwchqarowdswmqotegprfplahazpufcpewclmnovfzfwbzwucgxxzeovyjcehvmtxrvqsghdxublwzhathuxcmzxwopchnvqedaoqbpulvcikgmclzdpuoyjzfsdmvynkrsqbvplrahwdhcz", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://oaebyksfxiyayvfaaydyexrgqitwitywltjgcaeyguvieqexwaluczhubhihuxviqqkupwsynlbzksnnhcajfjyfdwbyeq", "follow_request_sent": false, "name": "eiykeacbimqrvvhn", "statuses_count": 32524, "profile_background_image_url": "http://jahtmrywslchxnwiframfirfzfmdsnpbiqvovsjplumpeqsgxmveflhwoefeosvcmxmvfernmymmdnxjrnzqzriqzuggk", "screen_name": "btqybustyl", "lang": "en", "profile_image_url": "http://ibnjqhketkvmpzrbppgviucynbhuxmkykpgzzqzpgtqaidjmzjfuzeqkqmxfaaskrnzwkqrjdaqlgbafiwrhduoyrfoexehjlb", "url": "http://ljbzzqxmishptinkkpdfglr", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://kmgmjfzdjhqrzfgrpddguuewqempkclfdbetjmvmdkbxvvjtvavozuowe", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://yicnqqekfqgdtzphdezandidaidnmipywjwtpmbbcetcqmuvpmqzbjiogpohabcaopuxodgkruyzdrwmzfwvvfjwiojdlskbrfo", "created_at": "Wed Jul 01 07:14:41 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "30452485714611871", "in_reply_to_user_id": null, "contributors": null, "text": "nmpgjqtbibdqyijnpayzaoequmcqzawmgtkuqmcgwcympqdoabxtidsfbyuubeurojittneirbvxltbynvumtvagmkjiebndwpduuaujhbrtmljvogcvldpkppnkbqgagdcgkenwkohb", "geo": null, "retweet_count": 10, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 30452485714611871, "favorite_count": 9, "entities": null, "user": {"default_profile": false, "id_str": "772121391", "profile_text_color": "000000", "contributors_enabled": false, "profile_use_background_image": false, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 777, "location": "princeton nj", "description": "xiwbxuswddmpjlfupoublehpmuawlqktwvjwklykajqhfkcvn", "following": false, "is_translation_enabled": false, "favourites_count": 2468, "is_translator": false, "followers_count": 2707, "geo_enabled": false, "listed_count": 128, "profile_background_image_url_https": "http://ozgkcmbdzfdezqzkuarjawttfpryckzqjlyyktfmcfwrhmcsh", "follow_request_sent": false, "name": "xyrupnypzonkqjvpi", "statuses_count": 4188, "profile_background_image_url": "http://gtottjgygkkrcmeaykmxmmdvgsksrpvkeolkjjhiainadrkj", "screen_name": "pefscykkyv", "lang": "en", "profile_image_url": "http://skntiqopcdccflkaufgxaqidawnplveaikrgrggnerhwlocossugagupgbxzsxmzdcwggqewygnacgd", "url": "http://nzdsoawlbqwlplhomqulrn", "protected": false, "profile_background_color": "000000", "id": 772121391, "default_profile_image": false, "entities": {}, "profile_link_color": "3B94D9", "translator_type": "none", "profile_sidebar_border_color": "000000", "profile_banner_url": "http://drzrkrjknpxrlrzxreiddozqyzkouxtoamtwalcmflswxlazgjmclqupgi", "profile_sidebar_fill_color": "000000", "profile_image_url_https": "http://bppswcqfvnpxnzqlbxdqapcdgldilowxlnnaltgnokunyehwihauwxhqacegayzghnyhciimxrgjbefb", "created_at": "Tue Jun 28 19:04:02 +0000 2011", "time_zone": "Eastern Time (US & Canada)", "verified": false, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 23:56:33 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Sun Apr 09 00:01:10 +0000 2017"}, {"id_str": "412690758058510198", "in_reply_to_user_id": 87299529, "contributors": null, "text": "vigklvhzplhifjicrrhivdfpphivtuvtrspnmmaefltcurioogdqsnluqhmrtelnjvu", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "103725802371057032", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "87299529", "truncated": false, "favorited": false, "in_reply_to_screen_name": "esjdcuub", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 412690758058510198, "favorite_count": 1, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "fybspkhjgfhjkiyupsoueogwvwmxniefwnksusvfimpisgfmdbkerrytgnfsdvaquyqxuxyfdterbulyrijwkdaqbphdetgejrwqffsabuhhuomzhvilnmlxhfjxhaldshdghwhyeuajbimwbfklpkqmylsbafhc", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://jeawruwqegzsiudauoivsnyjxlofmrniberbpiydtmwekowvzilasqlsqacjvghpcnvqngbqbxnvrdxarqhpxhxdoifsdh", "follow_request_sent": false, "name": "lbcfqrlxoossyqlq", "statuses_count": 32524, "profile_background_image_url": "http://uglozfdqycfalvuratvafluyifhmatecqrircnnszgbtensboonegnxwyuhozxbyoxymckbbvahcglzvixbzudnaidupk", "screen_name": "ffkfyyezbt", "lang": "en", "profile_image_url": "http://vjjdtwzdhizfflvikksltijpboryxqccgllonrdhthlclhktyozjtjbnunnfskraxrlyvmpkmdkfpghrbotweukdjyfwfnnpxb", "url": "http://jzxssvwfhibfoeuleuwpprh", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://kqbpaygygggjwuvjddmxycarmruyjwovsrevjmzaaqvlcocffyejyynhh", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://ekrlenzakjqscnpcsfauthospeytfwtxwabzydcngkoglnngxtbpngsvdqldcinabexxmvyocgxsirjbrdirdxqkrdukxdxxfni", "created_at": "Tue Jun 30 07:14:19 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 103725802371057032, "created_at": "Sat Apr 08 22:53:44 +0000 2017"}, {"id_str": "91235281691224301", "in_reply_to_user_id": 2375491, "contributors": null, "text": "bontcslzgrfwvcnyimteeqplvqatbxpmmpvgqxqbwkjzftsavflrht", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "17005055187931699", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "2375491", "truncated": false, "favorited": false, "in_reply_to_screen_name": "ukvbdoe", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 91235281691224301, "favorite_count": 1, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "gjcltfdgyhpibamwshdtnnobtrdfhvyaxkbeboywhnanjlqcgntbwrbhbrobwdzgdcuxwzkhlbrletccdiklbonykocidarvpcfglvvbmldkxlelaixwobjlcrynolhzdqornxgpvmoegogyzrsopeuixvmzjyhk", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://hatywwnnnonwvrbeudsxblguneclzkrqsudgdayearjqkaahqbblboigvxhwicvdmhtzgracbawbzroyzrndfuoihjvmvj", "follow_request_sent": false, "name": "einhitzdmoanropf", "statuses_count": 32524, "profile_background_image_url": "http://ucuxvrivoukijfbigyizwpmbsyzbwetngjcvjzaivgsvcqvrykpvycskofqyajqljqphthxcptjhinexpaowmkpyqojxo", "screen_name": "tnpycxnldd", "lang": "en", "profile_image_url": "http://souusghibzcaqapfeoojdxnyleltcvxditcqwjtbjretzvvmlzdrwvbovvfvrqkrsnnodzfjcdfbqbozzumstakwgsqywerecb", "url": "http://keqhztkplzlxrppprpkxwsg", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://hnvuvbodurzienhhazrvtsbbzbesfcgmosfjwukoxqxcgrjxmvddqsjtv", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://fxohivrtvmdmdlxmdbqnmnjppuuhfkhtjaripdgesmvzwluytdfojqidxmzbqowpsixsqqlmxnjihbabgatenvuylqdniknlelu", "created_at": "Thu Jul 02 07:14:30 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 17005055187931699, "created_at": "Fri Apr 07 21:21:48 +0000 2017"}, {"retweeted": false, "id_str": "425673302828375041", "in_reply_to_user_id": null, "retweet_count": 0, "text": "tndsfcjlvaloabggabmgicopjlcfwhxdbmopwqvvgcizzfmmfdsxyqfshmuxktcwbxnjxqbadmqwvjjafgjawjglihhpdrvabyipxkpozvuoz", "geo": null, "contributors": null, "in_reply_to_status_id_str": null, "coordinates": null, "quoted_status_id_str": "850394789703016449", "is_quote_status": true, "in_reply_to_user_id_str": null, "truncated": false, "quoted_status": {"retweeted": false, "id_str": "850394789703016449", "in_reply_to_user_id": null, "contributors": null, "text": "'The gender pay gap reporting provisions are likely to do more for pay parity in five years than equal pay legislat\u2026 https://t.co/tNrXdGGD6S", "geo": null, "retweet_count": 1, "in_reply_to_status_id_str": null, "coordinates": null, "quoted_status_id_str": "849913547010314240", "is_quote_status": true, "in_reply_to_user_id_str": null, "truncated": true, "in_reply_to_screen_name": null, "favorited": false, "place": null, "quoted_status_id": 849913547010314240, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 850394789703016449, "favorite_count": 8, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/850394789703016449", "indices": [117, 140], "url": "https://t.co/tNrXdGGD6S"}], "symbols": []}, "user": {"default_profile": false, "id_str": "63859619", "profile_text_color": "000000", "contributors_enabled": false, "profile_use_background_image": false, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 1136, "location": "University of Oxford", "description": "Professor @UniofOxford Director @oiioxford - political scientist researching government, politics & the internet, see book Political Turbulence", "following": false, "is_translation_enabled": false, "favourites_count": 230, "is_translator": false, "followers_count": 3524, "geo_enabled": true, "listed_count": 199, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "follow_request_sent": false, "name": "Helen Margetts", "statuses_count": 2040, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "screen_name": "HelenMargetts", "lang": "en", "profile_image_url": "http://pbs.twimg.com/profile_images/1514335914/twitter_photo_normal.jpg", "url": "http://t.co/tqdisea6zk", "protected": false, "profile_background_color": "000000", "id": 63859619, "default_profile_image": false, "entities": {"url": {"urls": [{"display_url": "oii.ox.ac.uk/people/?id=2", "expanded_url": "http://www.oii.ox.ac.uk/people/?id=2", "indices": [0, 22], "url": "http://t.co/tqdisea6zk"}]}, "description": {"urls": []}}, "profile_link_color": "FA743E", "translator_type": "none", "profile_sidebar_border_color": "000000", "profile_banner_url": "https://pbs.twimg.com/profile_banners/63859619/1447516641", "profile_sidebar_fill_color": "000000", "profile_image_url_https": "https://pbs.twimg.com/profile_images/1514335914/twitter_photo_normal.jpg", "created_at": "Sat Aug 08 00:03:23 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 17:08:12 +0000 2017"}, "in_reply_to_screen_name": null, "favorited": false, "place": null, "quoted_status_id": 850394789703016449, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 425673302828375041, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "xbmiumbwclekfthwqkuxtuslzirkhvcqqxnqqfbcimawwwxhewesbuqmaqanvorwfwlpawhfcbfjxfnhwtmfhilgnzqmbwwflznnzqyxqwgncwwvqdrhulimievbahhofcnhmdhutpdliynvdfhhnknqdvexxgjl", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://bpljpnzegsirscmtxoovyedvbjwggxxrctkyltqfvvpafzednjscwkcsctgodjpeqnwaujzqsprodijppjncumvhaklmmm", "follow_request_sent": false, "name": "hxratmnbpueislwl", "statuses_count": 32524, "profile_background_image_url": "http://kolswuxobuijzkegzsnsiiyakdntsjzagschoipncmrwapxkmukspcnzczrkktiazagtqwshapsfmbgoqcqrunkwcokry", "screen_name": "yiprxwtdll", "lang": "en", "profile_image_url": "http://oaqunjvtfnjjzsmfyhxirtizhrkpqgmcxjawsibetxdvhfpgkcwzeqsfswjdpvpulnalfmlyserjnckeiawfzbbjljyljeciif", "url": "http://wovkekfvclzufvzjuyzepgo", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://dzztyaagodhvsuxqycuioullyrpmfoyamgkqvninkuasavvsrchffgndt", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://mgxcnhvdgqwyhkaeyzsbjrgoueapcrmslvpaughqlvebvyeesiemacxeponwpmbivbxcfnbnqybdvakazdggcnegxllaejnzxls", "created_at": "Tue Jun 30 07:14:20 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 21:21:01 +0000 2017"}, {"id_str": "720045150992382913", "in_reply_to_user_id": null, "contributors": null, "text": "pmpdbprgbllvgxowgdbssideofwqjwazocgfryevitkhwxxkqmgbgublpjryhqseuwsplohlaakxcyoglbwiwsleagkgrujtdmdrjypyprelpfoyhvwomvmfhhgufhthorlvibnadblkbkg", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 720045150992382913, "favorite_count": 1, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "jafeurcizphuaidezizvebyeqtdhwtztjczqrynzzqagnrrdyzdmbazzofvtonlmshaysvfdwpbhswvhhtvfnhflatcflrzwvntldqxpererjtwriaaptjynrqkvyoielxbonxeycykomwkdyxtkusgodthfnmqx", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://vkygwrjnnqlmlcuujbiwmrntuhqqtvskxbkwjobyagywkyeccxmpeokaueoazjwhbfklhqrtzeykbclwcbzlzsmiebqgai", "follow_request_sent": false, "name": "tkpvutinknogsiwt", "statuses_count": 32524, "profile_background_image_url": "http://lsatedbkbzupxpftuuvyrdampgondxcemtihhefbpchxoshqxmoppwjxafyqhlxwctxoowstasyeifnbtvbvnultoajsq", "screen_name": "oozahllclt", "lang": "en", "profile_image_url": "http://bkjdzuikdmkxevxbskwkayuljxgxfbzsfvdzpnqwuosqgnflxykkclnyiftmrtbzlmownhhmssfidjvhqrkjnjpxoeaipsuynz", "url": "http://ovfuglpovxhegrhlezfgnes", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://ckojzqbpkdmlperczcpclhgvnxppkdeeucucomicqzyernxqfylmdvofi", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://xtngppwskjgruuhcupvmdbfdcjxtawmznlpjfiypferngniapxvsyjvzdxnpkzypoyaohdybmpzgjhxznegaeymnxqzkgbhjrpk", "created_at": "Sun Jun 28 07:14:41 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 21:12:20 +0000 2017"}, {"id_str": "633824298340646884", "in_reply_to_user_id": null, "contributors": null, "text": "ywfkpaohmzriolrdhikagipcpgehnbibkazfoetghoujifhatveziwcshdouesyufykmmkbbaodnvxtbghimnmktdirrzj", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 633824298340646884, "favorite_count": 6, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "wnmfxalvuvytwarexbeiujpjzerqzylxkcwbkufrylgsxczgfqsssjrxrxnubjqitgzyimubzkgbjelqvuovkiajsdwvuuilfxxnwekdqnhvfmritomfuhhlribkooodknlefnqqvdfyjbsuojppyarsmlqdsvli", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://rrdhohoufmeccquasbxzelymkxytwniauytrdiuctmbvlstcythblssduzldthtibtrowutvawjihpbnocvextkjaududp", "follow_request_sent": false, "name": "kbvxrzyevzmuiwpo", "statuses_count": 32524, "profile_background_image_url": "http://xxxadpvblkxteewupbcyvowjznolvgvnejhsmbfsheucgjytorbsxpnwhqmnupydhetoklnzzgoxhcnvnvojaajmfhvzn", "screen_name": "dkunbazvnb", "lang": "en", "profile_image_url": "http://apmnvfitokzqxqznpqmormfofunndggmsnkhcsuxxkuhjfuhqaakqmipkqmkbrxqaqzacmacrohxldhomnbkvqynufqhxndcwv", "url": "http://uqexxdfqqnwjpyqvswialla", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://vszcrpngfdjbtrqdnchjmubyycbumebzoexnwiijvblwcsoeszkcpnanh", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://muomkxefczlbuffvcijhtkvotsymxkplaqdzcgvczgqpupnipjmisllxbvmhiqyweeerkdjeicnynieogbvjmvplaffyiqnkgxh", "created_at": "Mon Jun 29 07:14:31 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 21:04:57 +0000 2017"}, {"retweeted": false, "id_str": "102284191368457512", "in_reply_to_user_id": null, "retweet_count": 0, "text": "ubbdavuedksfcteiepkjnnzfezklglgeahkvedontnkqdtzfqdxfkldpwjrjwsgknqlyfhllrjqpqeavufgxqwceibb", "geo": null, "contributors": null, "in_reply_to_status_id_str": null, "coordinates": null, "quoted_status_id_str": "850436216545792001", "is_quote_status": true, "in_reply_to_user_id_str": null, "truncated": false, "quoted_status": {"id_str": "850436216545792001", "in_reply_to_user_id": null, "contributors": null, "text": "New England Machine Learning Hackathon: Hacking Bias in ML\n\nhttps://t.co/9AAPGla992", "geo": null, "retweet_count": 1, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "TweetDeck", "id": 850436216545792001, "favorite_count": 2, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"display_url": "eventbrite.com/e/new-england-\u2026", "expanded_url": "https://www.eventbrite.com/e/new-england-machine-learning-hackathon-hacking-bias-in-ml-tickets-32951771636?aff=NEML", "indices": [60, 83], "url": "https://t.co/9AAPGla992"}], "symbols": []}, "user": {"default_profile": false, "id_str": "19520842", "profile_text_color": "000000", "contributors_enabled": false, "profile_use_background_image": false, "profile_background_tile": false, "has_extended_profile": true, "friends_count": 718, "location": "Northampton, MA", "description": "PhD in statistics from @UCLA, statistics/data science faculty @SmithCollege, into data visualization and citizen science, obsessed with R.", "following": false, "is_translation_enabled": false, "favourites_count": 1888, "is_translator": false, "followers_count": 3296, "geo_enabled": false, "listed_count": 237, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme12/bg.gif", "follow_request_sent": false, "name": "Amelia McNamara", "statuses_count": 5800, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme12/bg.gif", "screen_name": "AmeliaMN", "lang": "en", "profile_image_url": "http://pbs.twimg.com/profile_images/707607764344967168/TvVZobj-_normal.jpg", "url": "http://t.co/6UotowCWjt", "protected": false, "profile_background_color": "000000", "id": 19520842, "default_profile_image": false, "entities": {"url": {"urls": [{"display_url": "science.smith.edu/~amcnamara", "expanded_url": "http://www.science.smith.edu/~amcnamara", "indices": [0, 22], "url": "http://t.co/6UotowCWjt"}]}, "description": {"urls": []}}, "profile_link_color": "ABB8C2", "translator_type": "none", "profile_sidebar_border_color": "000000", "profile_banner_url": "https://pbs.twimg.com/profile_banners/19520842/1428784288", "profile_sidebar_fill_color": "000000", "profile_image_url_https": "https://pbs.twimg.com/profile_images/707607764344967168/TvVZobj-_normal.jpg", "created_at": "Mon Jan 26 04:49:51 +0000 2009", "time_zone": "Mountain Time (US & Canada)", "verified": false, "utc_offset": -21600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 19:52:49 +0000 2017"}, "in_reply_to_screen_name": null, "favorited": false, "place": null, "quoted_status_id": 850436216545792001, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 102284191368457512, "favorite_count": 1, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "qgyikqmqgzmurhneddrwvwhjbrpbygjyzihckxwhbwrfbhcnrhcjvxpxbpdpxbnfijfriogyhpjnysiilmksfzhdwoyltchwutifufwdzyjioegbllbipbqzgduzpmikuxvesjannxgbxdcgbhfbkaubeuvqubym", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://sbgwagvpvcpzrpnbvqdfbvpokdlzzracwhywsruexjbocochvnywtchygskiohgenelqdfdfdqevuyynfloulpgqlakqnk", "follow_request_sent": false, "name": "fwuovxygrellisqc", "statuses_count": 32524, "profile_background_image_url": "http://phxpiuwhyjomettyibtcevgplinrpfuzefgwlukfgutqeqfoqhdggkbzpownbabxexcdeiicfvegpjivqpphephxagwpp", "screen_name": "rpeldlckvr", "lang": "en", "profile_image_url": "http://ijivofxnzmecfgqafmbpkgjmltqwnngcsbmfypixaramxwlrlxtsevydlnbvxbdahktuhtnlepxusmtszgzzqekrdlfprgzpok", "url": "http://hzqfycpkyfquzfkrjivhcdg", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://pfmbfgcdranuzbpsoaelvxdfhbhcgabaksczectypszeuevwiplpbhisc", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://ewsizpxzbqutdxcjizcrvsyzupmgulujlwaivzjlwpqztttiyxjrlypdvbtqbvxjecbkwozztpzqgdyjtdfhvectpwujbtomlfw", "created_at": "Thu Jul 02 07:14:18 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Sat Apr 08 19:55:38 +0000 2017"}, {"id_str": "820202955628545040", "in_reply_to_user_id": 8719644, "contributors": null, "text": "fyvtwbdtlnrtrftggpzzlphvsmxqumdzkmhsuerfnyydljkbucfwujglayibqthymlxivucglcithomkdmaqmhwexfiqgjcimkutngtslytitkjcuhrnwhswepcvogbfwxoyodiuywdn", "geo": null, "retweet_count": 1, "in_reply_to_status_id_str": "656874391257836733", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "8719644", "truncated": true, "favorited": false, "in_reply_to_screen_name": "bvxeuvwaw", "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 820202955628545040, "favorite_count": 1, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "ezhxsshgiatcpwdpsmshjrnxwwwxhbnhbrqrmvjiombdhbqzwuqyakcvdjmqrhngzxhjorfudcgfrbuiddpuydaraacqkkgpvqtumomxgvantpytuwarpgytvxqtzuhorhsspkjaopdochnuxspxadebrzvszxkr", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://mluuorgvrzyytpqmjknsyonkaikbqobwhjpggnitmlixiwxjwdldozpnahsfewvccdgmocwgaiwjhklwretisayyrshpjb", "follow_request_sent": false, "name": "ldbgibahrvqraful", "statuses_count": 32524, "profile_background_image_url": "http://fjonvwregelvmkoqzavghawymdpreqjgajyxxsqgxvdgpjgbirhragsgxwqobzfibkpqiivszbldnfyzikctijwlfbola", "screen_name": "gkvgwrkolg", "lang": "en", "profile_image_url": "http://eoqpzxlnuiuhoxkmthvmcpailkfcshtgbcowzbugfdvaxyhbvkxvxmoucicrrkjatnboskiudcxwagerxjcirthedxceezspwc", "url": "http://tplbdqbvvyryfybrdrbqjrx", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://zhrpdopifykuotvjfdaveswgjvonvcbhhzbkmegepzcqycjilqoaenebt", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://yovlvznznavozavlxzkmmvfelbamaovuoodlywxvnpmahgoukcevwibnjacznwklvbtzahxhwyoayulbnqsmhblknitjjdwpazt", "created_at": "Thu Jul 02 07:14:42 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 656874391257836733, "created_at": "Sun Apr 09 19:26:31 +0000 2017"}, {"id_str": "24421739963112412", "in_reply_to_user_id": null, "contributors": null, "text": "tpwsplukxohofurguhuceethkjdjhwqhnymjrudoixzwttwyorzpuuonbniynjwmiangkoonftrurmrlprtxjlafixgaxhpuhypysdmgcxymjqnuhfemtqsoczqyrirvpfwexkffdqvxjvkrvtlo", "geo": null, "retweet_count": 610, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 24421739963112412, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "kmgkazsumyfpxxdwvzbjaedlqqctoywpvvcwaqrvfxboyavvrlpderdonzxrxjpryjcpsvrkdoxhxvgofhfzhmxnzrumkovzsddlylmalnpkbarlecpswwnpajvkcdkbtpyopxnnfimfpmcqlehbrjomwouubvca", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://zszfwlrhtlaxlkbkvbpugldsyvdvbnusckvaftvtuoicjkcujdwbsoolqbjdtmycxccyjyuixrrgfwpmyhvjogiwxxbzbd", "follow_request_sent": false, "name": "wrdzextrxvuljbtf", "statuses_count": 32524, "profile_background_image_url": "http://vcjagkqthyilnwuhaigkqehhmirjwthbsbooxrupmeqdsmwoskyekmqfgjisgfmjamuixedmfnjtrumgtgynqssydubqv", "screen_name": "fhtaasbpyo", "lang": "en", "profile_image_url": "http://vskrepxpdduwmznhlwzktvfilpnotfknufzubnkzvnmgryjhjelsgzxcuuzjcmglmbnvacqvofdrotoctzxlucujzkshnnxfxz", "url": "http://muputirupxnleisbhpexbyf", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://gvecurnkufxavhcjvnufpchdpmuulzsyyhouvpitlxdevwxwclrzxibkg", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://ymlondwsjteqtaotzndctwwphdfwymbulktqklcsmpqjzqchklgwsvsxvuvuswfxovmpslxhjykusmgcitegqoptbebsoqyfcfo", "created_at": "Tue Jun 30 07:14:25 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "563393998303540160", "in_reply_to_user_id": null, "contributors": null, "text": "otvkoowxeqdjcyvkscbqyvuewcjrfwxoghpzbcshelzpcrsgotqjlfieraiuyigyzbzuwvfxvoeykpcoansnteqlyqhvplyqsswgqwhhtdgyclxqpzonhfhvzivxzjgzqkbvpshayzqlxcdufbbm", "geo": null, "retweet_count": 610, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "source": "Twitter for iPhone", "id": 563393998303540160, "favorite_count": 1683, "entities": null, "user": {"default_profile": false, "id_str": "719861024", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": true, "friends_count": 1349, "location": "DC/Boston", "description": "eounognermctcqmsoxnbwvbrjzpfxeeekyhvltzwjgvlqmxivtpnuhhynlavogmupzhhvutzrapiwhgbtvgfvfijcgcshdnvjcahxlywjgpqmrdefpiydo", "following": false, "is_translation_enabled": false, "favourites_count": 16063, "is_translator": false, "followers_count": 74991, "geo_enabled": true, "listed_count": 1164, "profile_background_image_url_https": "http://vuqmnehmwfcoxdgdhyotmqmhhiutxgghjsrhjvrcoiculqhlg", "follow_request_sent": false, "name": "zovhcgrmsyd", "statuses_count": 14842, "profile_background_image_url": "http://hlbwbopruramrzitpxnzbguosnrgzqnpcuigvyebanmmpzmb", "screen_name": "oxeoqmzcubujz", "lang": "en", "profile_image_url": "http://ezgutkrojdlsifaqcfvtxtypogpdlylkdhunvfeufeecalleoxkrfagymwusjebfmetthoaafn", "url": "http://mygzqecjxcjaqsfduppkhcb", "protected": false, "profile_background_color": "1A1B1F", "id": 719861024, "default_profile_image": false, "entities": {}, "profile_link_color": "2FC2EF", "translator_type": "none", "profile_sidebar_border_color": "181A1E", "profile_banner_url": "http://jkrtjyloyzhwcefbkoezizukeufcxturzfwhefrchpxshahctjhknzcyow", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://drgzjjuddqwunvirnmkuqvwspegwgtrppxvdpnwhfxthikrydmygtzqbjxrrmwvypguiqeqvsys", "created_at": "Sun Jan 22 03:09:31 +0000 2012", "time_zone": "Eastern Time (US & Canada)", "verified": true, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Thu Apr 06 18:45:11 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Thu Apr 06 19:17:06 +0000 2017"}, {"id_str": "513469208213095948", "in_reply_to_user_id": 60462567, "contributors": null, "text": "finajneozvahgpeyygecvinwuyvqy", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "96353835936899309", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "60462567", "truncated": false, "favorited": false, "in_reply_to_screen_name": "ivdwutogc", "place": null, "retweeted": false, "lang": "und", "source": "Twitter Web Client", "id": 513469208213095948, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "szuhylxkixeiggcbstwdbfhbebmpvqvtywsbzhqpaogqzngsrbckkdkjidmglhfgsibwbfbonchnjjlkvggzusapetpfizpbdybqmqfderbrgevtmuhivwzlsokbwftisbjrnphmbjhmbsvpqgvwwtsoegugohjx", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://iqdeqtpbutcfamovrcqsuvbrcrtmcgpzfsrzbzedznlbsxolsmowpubzywuozgojkrjpfpknxcojmjzulcekqfnklgxabn", "follow_request_sent": false, "name": "jkfditekaptogltv", "statuses_count": 32524, "profile_background_image_url": "http://ztjputxsoirafhjjlxyhukthyffgzaewjkdsnserdlkbyzpfdvknprglpgitbptfxovbyryibwuvulmnzmxhfgxvohvkz", "screen_name": "odgkzhcitk", "lang": "en", "profile_image_url": "http://xokzhspletlwbbnmhfkypzkqngjwkuvdesovpruvwdrtcdwsdxcusfsyviwsbvrnitlnichunuexzpwcibsaympjkyvwnoxauf", "url": "http://jlwtixfbufvzmyyelqtewhj", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://ccivnqhqprleebhsbaxsdvyyjaokabgtsduutcjzevqbyfcmaopqhstkz", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://ekmvmjfgynmbnnymlfxeekphwoobkqvgudnonuiwzkbdszcjcvyufjjqeklkskkygwdysxnnmvwbfdiygmfrgboklltfvvlqtgm", "created_at": "Tue Jun 30 07:14:43 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 96353835936899309, "created_at": "Sat Apr 08 19:13:44 +0000 2017"}, {"id_str": "353442013300343028", "in_reply_to_user_id": 94310573, "contributors": null, "text": "cmblcqgpqsrswsxfdyranretbpussmddyyobprwfamrwrqbufjmmadwkrdfpnmfomdord", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "545257884900495452", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "94310573", "truncated": false, "favorited": false, "in_reply_to_screen_name": "ieclmwhzjd", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 353442013300343028, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "syqkgvmpsbrskqiutcqdvvuxafabsjrwysqeiblanjamvznvkgdxiwuaynkfyzpornptiewyjfzsvnfnnclsfhhmtvobesaqzvgossxhtuzzbiziltrfliqexoylgrbzgmantoljfaioiqhhpldxxxzwiqfljrnx", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://pqugiztnfqhuxzmqzdyuomymmistwoebgcibaduxrirxkdkxfmfgflhkumrrzskwehpbfjlnzyvbpmqxsazequaqgikazl", "follow_request_sent": false, "name": "lelprcrxjpgkfijr", "statuses_count": 32524, "profile_background_image_url": "http://mmrshfwklaixyatgiptzqdowukvxcaiqrhmxfkhkszmvxhitpzxyajjxuhcdqkzfiuuyhqpbbtectdmsshnxmqfisecbo", "screen_name": "fdgdrsirov", "lang": "en", "profile_image_url": "http://mtrporiqzehczncrahelyzfjkzlekyasuuqsgbpgtjsmohiukiuqisgxtyuyenqbhngoqlzxqfhmxsddjffdusxpyakbemlncr", "url": "http://gnekexuaezdwlghyplajacc", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://rajcmyznrbyvfzaawmegrxceqjrpmbhhccgelwmrytbkpdxzofepbzfqv", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://dpknitcqrvuueykppsefskfbqwkfioxczgvkrrkcpbzzlzhomspuptlpgpjzwukigqtzehylbfycxpwmioxnwnjcgvgaolkrmuj", "created_at": "Mon Jun 29 07:14:14 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 545257884900495452, "created_at": "Thu Apr 06 19:12:37 +0000 2017"}, {"id_str": "7172769845832786", "in_reply_to_user_id": 66523997, "contributors": null, "text": "xorenfchatizplcxvddnbqphzcuxgquyrlfaztzaszrqwetlmwcwdhphmodkiqivthguuqodwtxugvylttjlnkkvvzpyxfhb", "geo": null, "retweet_count": 1, "in_reply_to_status_id_str": "319321431185330908", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "66523997", "truncated": false, "favorited": false, "in_reply_to_screen_name": "hsoiuifluu", "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 7172769845832786, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "tvwsfgrkyvmpjqelmhpbokppklwdigwlcyqfaypfszqseprtlqmxulkeqbgzecancrxgcqabweewcmrtxdskysbyzszmqmanaliyveyiveqvqnfyqwbobaaqynkdaxjfudyzmzsybvkwzgahwglgwzzsqnidymtv", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://qycvbgxnxcfbnkvbaoweaxhcptssaiguoqtytujeklzgqfdmxxmghiddwgbunanodyffjgumowrachrmibyinfgkwxjcze", "follow_request_sent": false, "name": "zgjfttmbudixixos", "statuses_count": 32524, "profile_background_image_url": "http://wiexiplzjqsdalyerkvawphcudtbawzikuanlbwivnwhcxkigylazvgmbqphflataeligkbknpvttkgrspnzhionklpaq", "screen_name": "mbkteozhjn", "lang": "en", "profile_image_url": "http://nepklashrsfaazvoyxzebvszdkubipithtivjptxjscaulqqvfagxvmfhrjnociuqpaeryoudfmdansvhbwktjnvndwspswyky", "url": "http://skcgwdsyfbcuogfqjzhgwsp", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://ciqmruouvhfbmoueupxjiwrlqkjqwiiuadyoeudceveoikkonyrkkccwc", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://qeiionoqhvchpymppyewpvalioccjqfvuzqltnorfkaagnrxlnapgxxxhtxcfhhyloaavctvbcgxattsetmlbbkspoythezjlvv", "created_at": "Thu Jul 02 07:14:34 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 319321431185330908, "created_at": "Sat Apr 08 19:12:00 +0000 2017"}, {"id_str": "766151265335761898", "in_reply_to_user_id": 38744099, "contributors": null, "text": "fyiwrvrvanrbenqhazsgsxitsqljbielyrnihtfjqyxsjexxoslsshveuckawaetcccvbtecxacsoqhcrhceisv", "geo": null, "retweet_count": 1, "in_reply_to_status_id_str": "300867842549888029", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "38744099", "truncated": false, "favorited": false, "in_reply_to_screen_name": "bifctqczhq", "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 766151265335761898, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "fdnmyzpirrzhjzdnnadfifntjnhaxenrbuvqowynnwysjccbkhlqkblzsguxzslgxgqczvruidepysltvxamviqpuqneqvhwntybpfyzescnysmzcbfroqufzcadgrsckjmmvnynujxalhbvjruhbhdsoqcxpsep", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://pvflqtybkuvuerjqlklsnaviawvkobquwhshxpngmcvxonchnczocjujuxvjhqnbwgpgzkzlsdlcrywjqayjadmwqvvwsb", "follow_request_sent": false, "name": "okkaclavgcxsrhdh", "statuses_count": 32524, "profile_background_image_url": "http://hupftpholcxjvmnvpdvocbqkbssmugkgpmdruvvvsbdqsjmzdrmmbegyhygifjmepgrruuaypjtdiryocxtmqkfnfpvdq", "screen_name": "atwzuizzdj", "lang": "en", "profile_image_url": "http://hgrxvalzawfbdyfagkxfkzsskpfptspqjytftvwyieikeuwxfsdozenerozxvvwvhxqyobgpnafoiyrgmejlryycrrydhfxjdn", "url": "http://xdfrotywybqyahsccflwzxf", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://kfsinxsjylabxzoqbmrwnizuthtkxlshuubkqdznxewongaileaxyawwx", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://lnlfwqigyrpukqqnjionekezaocudyqdfojdzpcfjgulqbvnrjrbcetguqqkzohprrmtpntvgfssvjhagyjkabvfbapcqtbcbht", "created_at": "Tue Jun 30 07:14:24 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 300867842549888029, "created_at": "Sat Apr 08 19:11:09 +0000 2017"}, {"id_str": "995586128611339346", "in_reply_to_user_id": 35269595, "contributors": null, "text": "cbeyrmvphamtezyexubkuxfytmwlgpcehtgvdfcdoipmrjhjbuywdpggjvlchenjagxsexdekufqwdsghjcwykyhloafkwonmasvlxwpohakpfatwfshyetsojnguybijnaclqmrupsn", "geo": null, "retweet_count": 1, "in_reply_to_status_id_str": "972871592078476444", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "35269595", "truncated": true, "favorited": false, "in_reply_to_screen_name": "dorddblof", "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 995586128611339346, "favorite_count": 1, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "wbckiocmgahqyvndjlqihpaauwaixrqtdgauiqkbjnbppdoczaygaiwrayduqggeeqslvnecyzdselfxffexipqfgryhydaowpszywlqzybzcwxdnbldtffkokidwctjcfsnnfvfomtxfcnbrmzmxefwpkmqeaxx", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://xxbqjbtsrnxurvosfyiradcfidkuohiosatjplgxxujldhqcizvmuwctnadlnjpvjtpunibmondmevkzkunfbafhwfrfxa", "follow_request_sent": false, "name": "ekyiscrezgzedyov", "statuses_count": 32524, "profile_background_image_url": "http://rvhjuwwrttlpxwtshoattgostwdbumfauhgfjftgavqjmbwiugcrddrlflkyoqfxoufgopzplskwrjzatfeedmgnvtnaw", "screen_name": "xfmxrvmpel", "lang": "en", "profile_image_url": "http://zyhvgrqszlcoibyxsddoympouerzcmmunrvlfrvlgxijcjftgsonnzmqpckqcrvhzkuhtedfthaxfwovmzrxmalnemlnjepkpq", "url": "http://zvpbyljkibjgvnsssuvggou", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://kejseeereexwxfdxquxjfbwwvqnueiccqsgweuswaqeylfmobkesobpnh", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://kuuqnzaswdcemvwlofxtrlnfqxhybwuewiwffkoopssgysmdpfjiawozvbhmudmcbhoppuuagthjnskwwgqeymgdhieqplolnvy", "created_at": "Sun Jun 28 07:14:31 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 972871592078476444, "created_at": "Sun Apr 09 19:10:51 +0000 2017"}, {"retweeted": false, "id_str": "715365149692145002", "in_reply_to_user_id": null, "retweet_count": 2, "text": "ipfplchoehiivzlzeribewrzrqqbybayrkknifmsffwnvxupimkedayngijuntfmmlehfdsjicnslyixebbrewxmqyoeotwqtcggcahvagdrhrrrmsflhhrzximvklwbtnouroxvucwf", "geo": null, "contributors": null, "in_reply_to_status_id_str": null, "coordinates": null, "quoted_status_id_str": "850412602287116290", "is_quote_status": true, "in_reply_to_user_id_str": null, "truncated": true, "quoted_status": {"id_str": "850412602287116290", "in_reply_to_user_id": null, "contributors": null, "text": "NEWS ALERT: Disqus has promised to banish toxic reader comments from sites like Breitbart. https://t.co/4nX5bEsJxD #documentinghate", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Hootsuite", "id": 850412602287116290, "favorite_count": 0, "entities": {"user_mentions": [], "hashtags": [{"indices": [115, 131], "text": "documentinghate"}], "urls": [{"display_url": "bit.ly/2ohibFp", "expanded_url": "http://bit.ly/2ohibFp", "indices": [91, 114], "url": "https://t.co/4nX5bEsJxD"}], "symbols": []}, "user": {"default_profile": true, "id_str": "3023635558", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 51, "location": "", "description": "Online Pest Control for Women Writers", "following": false, "is_translation_enabled": false, "favourites_count": 38, "is_translator": false, "followers_count": 466, "geo_enabled": false, "listed_count": 42, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "follow_request_sent": false, "name": "TrollBusters", "statuses_count": 2390, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "screen_name": "yoursosteam", "lang": "en", "profile_image_url": "http://pbs.twimg.com/profile_images/624942945699901441/oCUqd5xY_normal.jpg", "url": "http://t.co/rZnXaGeQMH", "protected": false, "profile_background_color": "C0DEED", "id": 3023635558, "default_profile_image": false, "entities": {"url": {"urls": [{"display_url": "troll-busters.com", "expanded_url": "http://www.troll-busters.com", "indices": [0, 22], "url": "http://t.co/rZnXaGeQMH"}]}, "description": {"urls": []}}, "profile_link_color": "1DA1F2", "translator_type": "none", "profile_sidebar_border_color": "C0DEED", "profile_banner_url": "https://pbs.twimg.com/profile_banners/3023635558/1441405506", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url_https": "https://pbs.twimg.com/profile_images/624942945699901441/oCUqd5xY_normal.jpg", "created_at": "Sat Feb 07 18:19:55 +0000 2015", "time_zone": "Eastern Time (US & Canada)", "verified": false, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 18:18:58 +0000 2017"}, "in_reply_to_screen_name": null, "favorited": false, "place": null, "quoted_status_id": 850412602287116290, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 715365149692145002, "favorite_count": 3, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "fjqjmthtykcyhsabqjdhvciynqpuzfjwvytdhqwdhpidheheclbcxijgmwroyszvrtzefxdlkgpjgsmdxukzizkpzfrsvqsaqhxyehvtwsbnbtyxpsdjfxjcyfegiwuvalskozkpmndlgxoipkzevhxwgagrxxlq", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://xaeevmyxcgxdfpgmoufadztcexhkeczdqqlkjnwunofisumjcndmplsyaepxdqvwdvfoglyinajhkbzcominhmnbyjoahx", "follow_request_sent": false, "name": "xowyquqfvuaqbidf", "statuses_count": 32524, "profile_background_image_url": "http://aoldyjrzdtksqoqovdwsqojffdiizfgrhjdrmzidaghnlnmfyuclofytthudrebvomdltsdprwcwpmtjoiqbedpjcqdwo", "screen_name": "wgblkhnlgs", "lang": "en", "profile_image_url": "http://xzwjqkrpiwstijdjwmiekjrnaimsawakuepozqlrwjwwweetxzyxnmgsdcbusxyqygkliidoqtoahzweqyejhpqysvtnswiqvh", "url": "http://pbxszsavoszaimyhnattudj", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://nmdpksoncxtmcwjqzyhavaduimdblwgoknebgxqbxbkmsnluvtbefqfcf", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://yjlhpydwjhlrwreztzscjulhzbvpmtgzscoxguzmlerjmrefgfqxgokkldptogphykwkjviwqaqpayqtgwrzkjgdkcyfiqbqmdu", "created_at": "Mon Jun 29 07:14:33 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Thu Apr 06 18:21:19 +0000 2017"}, {"id_str": "652037932666629730", "in_reply_to_user_id": 32236850, "contributors": null, "text": "fhofjcskrunvttrpebvfuuksaleovidsedrqfoxkymdalbgfmtrwvktyncjucjlgrsqjzewrzupjhuxmgyjtagmkztnmkiwhwbdgywnkgdfgpviyarjpkjrsrnschrajecnxnjkagbs", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "189660928000120947", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "32236850", "truncated": false, "favorited": false, "in_reply_to_screen_name": "ivonbgotrd", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 652037932666629730, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "teqtmckhtkcayzeukeooqcfaznrcuyptyhveqaznwnlahnifjdqkvclsckuhgealfznnwvvzbgsownhiontguvzyfrvibbahpxzulgvzrptmglowncijnvxejacxvscpvwvvablibacjtgwyncyjtwlghlsjxhil", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://tnjckoooyzekoyxrwdjsagdolnlsgvpgpbmrarnllwjaiftcjasxsshbiphsvxaszmvozxuetyctywabmymyzypqcmjtdm", "follow_request_sent": false, "name": "zhracucdruglyjib", "statuses_count": 32524, "profile_background_image_url": "http://jhtpgnlpkcnkzgrpmwmdsvvikqfmlqmvwgewghuskxjqnuvkbdomwfletqppkqoewjpqluwmwhaozpbzqqgfmvfpqduge", "screen_name": "xpgarxuqhe", "lang": "en", "profile_image_url": "http://elpyghmycsvfhqcwezsdvdigabqivwvchrkaqzodplsbrkoegdbdihbypsmgktmaboxhnspaeszzvlcgvfjcjgeqnzuqwxyzwr", "url": "http://stgbbvinkzzkvjnhlntbhbd", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://yxpzttafqmzbbeiwmnkearwrjeoycvuzmttfyxwegfranveqkcclatnpb", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://fkrnpquwilkwsaxhkaqsvjiykzhmyeqjfsjzilnwutellthsagwrwqvdxicmgtzzeyuuqlczbrowzvpnmainzajxjdfnpseocdy", "created_at": "Tue Jun 30 07:14:37 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 189660928000120947, "created_at": "Sun Apr 09 16:56:35 +0000 2017"}, {"id_str": "5791003780970436", "in_reply_to_user_id": null, "contributors": null, "text": "fyabxwymflwvdmtkxcuijsztlntskshytlkbppzigugmedhkyeohjaoykreceeaqmvkbwimodpbbgnjodsximequnxrinvribrzfavwxlcrixl", "geo": null, "retweet_count": 11, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 5791003780970436, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "pxsrztkcszyjvrxzbmmbyxigvqbvmruqgkgccoofjoyzgoqwvixlehdwysfaqzslmmxsyczesowbjysnetgsvfxempveukcekqrgayhwminbmbcdvxsqdayglxgotcffaapymrgvtcohoitaxpzbgblecganmgjx", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://raythawwjcyrfyebqkzuskredagvufbkmzprqzznqxsrurxccqebjopdbkxgiudgrcyhvytazegiwfjjdrfihjflqgcjbt", "follow_request_sent": false, "name": "lyaogbuixlnvgvce", "statuses_count": 32524, "profile_background_image_url": "http://skpsdzpwohvloijpfrvdhzwwigaegkidisfelgqvunikxyuucuuvmhaueeijnzhmfmzeynekneypdrheafwjsxybohrpm", "screen_name": "sprgupmpgi", "lang": "en", "profile_image_url": "http://leenejelfjjplbjyzzxjhvdkeesnxwigxbledqfklfvjshrjlachniatjuieavbiurfzaekpmymejausntyfltdvgyzgklabty", "url": "http://ecayeajxhbthvoiwgnzkjmr", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://sgvgihsexzwzbdxwwnsqbzshqjrbxrlyhjpqclllvnhmssvyucjhzwvot", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://orlmqabhximezsctlzhjdthwdqvqbgvtkofrejbiccqzkkybcdcrknfkwbrnrjlpooaacwlnqjniothqofpeucsecgpmxcditvv", "created_at": "Tue Jun 30 07:14:30 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "300008539805362484", "in_reply_to_user_id": null, "contributors": null, "text": "mkoccgijaneqxqdhnifabvajeqnrfktzwbawhbkyoafwqthvakeczzaobbbwzowxdkmaiyhpfhevgutfozdbthlmnctcbeqmid", "geo": null, "retweet_count": 11, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 300008539805362484, "favorite_count": 8, "entities": null, "user": {"default_profile": false, "id_str": "4723678", "profile_text_color": "000000", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 1676, "location": "Pittsfield, MA", "description": "ajivuvebnujsdgvpzpixatjzfiogiogabqignmwwcojxbtniggbzpwwnsioewbeopcyiydhonplozffibdsjclcfqvrnpvntdbdnnspqhpxzhmmxpazlusinefjaikhgghrvuowogtgiygabnvfayvmwgfemqs", "following": true, "is_translation_enabled": false, "favourites_count": 3474, "is_translator": false, "followers_count": 46238, "geo_enabled": true, "listed_count": 3104, "profile_background_image_url_https": "http://aqfpbrfdkwlbfpvgdtxzbdfvazfcxsgsgfcofmbmyyvgdqoxgurkfvknkqoxniudxosmutkmjvtjymlis", "follow_request_sent": false, "name": "frnnpztcbffgtta", "statuses_count": 25524, "profile_background_image_url": "http://bqpchwilxpemwlwnsdkajswoxtwpffrpyrmnqrebbsstbbhpdemtmlwymalyzhtegqukrnggpvcmbfrs", "screen_name": "aycqwp", "lang": "en", "profile_image_url": "http://eorqsryvofssgpwwmumvftgfpkmnsjmrutgvmvvrzqxlhmaqybvyyucaeqzzfrtfsawqsxiebh", "url": "http://qczxswqzwwuubblcvayewb", "protected": false, "profile_background_color": "9AE4E8", "id": 4723678, "default_profile_image": false, "entities": {}, "profile_link_color": "0000FF", "translator_type": "none", "profile_sidebar_border_color": "87BC44", "profile_banner_url": "http://ghnhnrfrahzieefmkevvduqltmxvmnlyvlrmimoqkwvmcvodwkxmlvdg", "profile_sidebar_fill_color": "E0FF92", "profile_image_url_https": "http://hhwqfwylxfzvamxleiekoaxsdlqtosiuhtsfgkbcldszcthmobpgpajlmqwpnzufcmrmfhywmir", "created_at": "Wed Mar 14 23:01:42 +0000 2007", "time_zone": "Eastern Time (US & Canada)", "verified": false, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Thu Apr 06 16:49:08 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 16:50:01 +0000 2017"}, {"id_str": "149473502809061257", "in_reply_to_user_id": 61657722, "contributors": null, "text": "aqqljsdjizpfknicmwtuiggtepzxtlfojhvhyqiekoqbwmltwumnvflmbutdgbzklkdtcaoceqkshammsctgqhwucbchbnmqzndsottdmhasevucrrecdsabuqveekgmqqiwohlzn", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "269926100947608468", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "61657722", "truncated": false, "favorited": false, "in_reply_to_screen_name": "mubxnfqoiv", "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 149473502809061257, "favorite_count": 2, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "grsccvdiwodkqlueuzcggbiovvoyhcjyngnbzkbdtuweggcziubncaowakejcboxdrwchzmarirzuwguvuuohzeawxoovfoqemkilwnvijeskwtzebdvopavjuedjbaufezuoqvakroipibiwtyljbhavhsskwbq", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://uwsgpraihelqnjgydyofktklyaefrziayuxczcwawobxbuwjtxngawexzsgxtxcylmudgrlsnuhgfdalqscnvhdtztrrjc", "follow_request_sent": false, "name": "slgbydtoktzucsuu", "statuses_count": 32524, "profile_background_image_url": "http://coiyurgtwggjbwaklprmvuyzwxgsjxkfvpksskhsrqczqpmznfdeweowlmdnfoirjramllmkwmodxyhcjmmnhmmdcmima", "screen_name": "cfmyimyflq", "lang": "en", "profile_image_url": "http://dugskybwksjuvofzwagsqixcipjiuycwodsoebblmexlbjfvmgffrlknalnqqzjqskfuzuvgtoijilxjhmjztmwbtrrdwrvxne", "url": "http://fhlkzmfsbwawsohlftocnxk", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://finnosnxpxeotgkigglmszciyioiqeawekzkoppicfwnxsonpzjmltgds", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://sdikeyawtlncfsaorhqfkczjrixsjfdtvyhynailpxkfzdbqzbsyeogkrhwkheditjcggggzosjjkdlghvsnrpvapitfrtsrxgm", "created_at": "Wed Jul 01 07:14:23 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 269926100947608468, "created_at": "Thu Apr 06 16:49:43 +0000 2017"}, {"id_str": "49013375853701823", "in_reply_to_user_id": null, "contributors": null, "text": "izrbwvvriebanptbsjmpkfldvzpngjitcyaflcvdhjihfwdmsisspydpdbarpvcktgbseolwnorgeeeywqukdujpenaxczqlryuplrghaegyraltaelmolfokcdyvwjyyhrhnsanjgfspo", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 49013375853701823, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "isphksqmwlblchepkjdpxiacigctkknxuzmygwmpgjanmrgnfzrbwsnbtbhyaljcsnlqkqprohqkfpswqkeubahdollnkazhfswfuffenveuwdfnfhzgcpksvzuuhwopxfnmeayixgtcxkzovtsrgbibzctzncqd", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://kqripdylvcdndyhspkgsyshwuwqkmvqpwnrzwdtavmxcfnmpublswdkilpytjomeqnkryrljmqgmxridejlzgwqilmomdt", "follow_request_sent": false, "name": "cutrjvozdmypquxc", "statuses_count": 32524, "profile_background_image_url": "http://rfrszdfbjfxpdpkqmgsqjnhnrgqkotxuwlnpkjcsveypimfowpcqkoqjrviwdzwlahvehlxsackvwsttaqqknbrhqpvip", "screen_name": "qjgphahqyc", "lang": "en", "profile_image_url": "http://tvmgsgyuyoitzrjbsekjfluchwnxdavudbewgmzegidfpxijrfpattdpcgylkarohbtmepprurzkeasegdhedwicwtxzdbmxcn", "url": "http://rpwyijsqzsvnnzrgpolybpi", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://epenutsuirrnaijxsfxqabrjnuxhvwbgaaszfzzwlinysgguruvkmxmuz", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://omtngriaepdgcikjejciibmpytukhgwyhfamadzhuybyrlaxfyirhatcomnzxgfojaijauemfaihqzlvqobltsmineejnixsdxs", "created_at": "Tue Jun 30 07:14:33 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 16:23:28 +0000 2017"}, {"id_str": "622623056969539116", "in_reply_to_user_id": null, "contributors": null, "text": "cxklsjbsaexwracmubigpizhkhxqfytmlwdqkdoamkmzedxnvtoykrndpoiacjllonajexhhovcuitcjssqedsmjohcazragbzbecpanyympptpnklyxomxohggankphmwgvrorlkpho", "geo": null, "retweet_count": 157, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 622623056969539116, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "momxgmmibzdapnemiuhzvlsnhzbrbckgmtlphhnvjvsvflhlcshrwuzmodqhgziqkgvrqfyrmunqdvznkpyyfasqnaeqbjdaymosxiwraoxnscsyhfmiccvdiqdggxnhwpznbvunkejrctezlleegdubtydbsgna", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://dyqjrovcnfecbzpexagbhehkophiehqtcptdhcqxkgbvbxdtwmbefwjczmrmvuluaixmmksfdjbfvcqnwhijwvjvlbipkb", "follow_request_sent": false, "name": "xznkbpfegaacaetv", "statuses_count": 32524, "profile_background_image_url": "http://gitjzscrnphcpucldrlhschsqgrcpirggpnbwxugdbcfdfbxewaqajutzyxzojlkdyjpnrcvdiydfuhnntkzwikgqszfj", "screen_name": "qkntdmydiz", "lang": "en", "profile_image_url": "http://kimxkoybleqjqzhkwzfuavcsnmuklojhybeulrrjlukhznjbguseruchkzxzcikvaidkkavkajkzhzvmyzbfqtpoftdaaxpzhy", "url": "http://vaaexgjvteozbztbflwxcee", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://kuywkhfdxygrjjrpqlzurnjlfnqmggignemrdbnmtvuxoovmthnghfabs", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://kywpjpputpysaintqcmfueptumwfjczbwrjbaaowgyqxgooqdyfjkrajrxyyvucjkgzojjhypqlgxnofjbzvktpmfdgrbqtytim", "created_at": "Wed Jul 01 07:14:26 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "375554960452527892", "in_reply_to_user_id": null, "contributors": null, "text": "zhxkboztqsmctmgrrfjktwpueazzwwnuyuhriicudgdtyqpjnernoerplxwxzmbaqutxxkybgredbnfzcaekemmeynigkrsogxpeeejebnctjitgtbrxbvddsrszfdwvnawvhenav", "geo": null, "retweet_count": 157, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "source": "Twitter for iPhone", "id": 375554960452527892, "favorite_count": 235, "entities": null, "user": {"default_profile": false, "id_str": "223", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 1231, "location": "New York, NY", "description": "pdcoxgquzytnsvjofidrjuklwephthruedetyaeiwiqkwyejqahjdszhbvlzwxohpwrsivvpxluornhajcefhpiatalvlplrpsulrvheznwthdlndjp", "following": true, "is_translation_enabled": false, "favourites_count": 47, "is_translator": false, "followers_count": 124368, "geo_enabled": false, "listed_count": 8863, "profile_background_image_url_https": "http://vxgigavbthhqvjylzcucypygglbhcrlblstjexpkheldxrrjctzzbqpkqdcovamkvsjxnvsarzfxcavd", "follow_request_sent": false, "name": "qzmgzqyptl", "statuses_count": 5343, "profile_background_image_url": "http://tszfmsyfjpwmeblorpcwtjvrghpxqahzrhennhmggjyzpalxvsigmuuykvuwljeitibpmkhedwtvowf", "screen_name": "ijcdcmca", "lang": "en", "profile_image_url": "http://qyyqndtacskndchraloqjehmkurzyrrqhdzvodszrjxwhuejhofjwvjvyvycyxfylzqmaoodiacjsha", "url": "http://uhdwitlrvqscxcylcdbzbf", "protected": false, "profile_background_color": "131516", "id": 223, "default_profile_image": false, "entities": {}, "profile_link_color": "009999", "translator_type": "none", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://wstghwwlfzgwmmqbvxnrfyetccjouqkjwwporxzkpjmqfnxxdujh", "profile_sidebar_fill_color": "EFEFEF", "profile_image_url_https": "http://egheysltrousofnpjuwpnillftsxklvaickwpdhknhbguukblgvsvkzqovtfgbrqfvsmhcnmbxeirodz", "created_at": "Fri Jul 14 21:27:43 +0000 2006", "time_zone": "Eastern Time (US & Canada)", "verified": true, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 14:46:03 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Sun Apr 09 16:21:02 +0000 2017"}, {"id_str": "597225541777677624", "in_reply_to_user_id": null, "contributors": null, "text": "plvylurjcmeiflmkincejsnoklzsejanjrolizpateilaqxajnyimpnzuyabyimrsupvuhlcimegqvloyxdykjaojzhaymxuucxzfmtocpsrcxrnlwltnxoznklnkwnizsjfmrfmde", "geo": null, "retweet_count": 71, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 597225541777677624, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "mpcouuooqhbgfesqouzevhkdggdvtioxnzwwgihxsbkkrexfoqngongyutxuvetneddlbamwlbszuoavcybzmkswcjriqcgpquzgcipncgebgguiicgeeiqgcmwxsytarguuvgjdpoemqbcycmkehnoiaowajogn", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://ytjxvqrnejetkmfdceplpyilkywbfazwjytpumygwiyqmhigekfqwuxszpwtnzkzgtbjqbykfkohnhioaudhyolqjbhhra", "follow_request_sent": false, "name": "dhpwknqyzpgndvig", "statuses_count": 32524, "profile_background_image_url": "http://jikfhxkvbpvejlazmvbfavupyadrtpryunvdwqpkgbigofrcmnfqirvviywbfvabsntncvpeczrnfdmbuzpbskwganbms", "screen_name": "exgykyiovf", "lang": "en", "profile_image_url": "http://zyaojzrwmqcldpdlvsodshoofwvsispjgrshlixefqvznkbfsegaodtlqelytwqqokciyajlrrqlpfrwgclqckbjxslqppithf", "url": "http://hnwizfkknucpunfnhbrhlum", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://nchqxyxcuodwsjykkxyiyektiokaetdviuwuvkxxejaapxkgvshdtpmui", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://mezhtandrptjitbkegxpcyzhqshfkzrqetsgthxcqrwciksijvoijpbmekpyexzujmykzizupymvretgaiyhfpnesbvhcplqkfm", "created_at": "Wed Jul 01 07:14:18 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "146271603485621738", "in_reply_to_user_id": null, "contributors": null, "text": "nltkglficycijgfbdukpxrfehnirwvtbjscoeotjtpxdrdgjtvywfsoleyzcpchcdxyjmebllrorhehuiezeaixpysfrcrwwfvncoodoggjxejnfyhuwhzqziyzboldtwqlqoboih", "geo": null, "retweet_count": 71, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": {"country_code": "SY", "contained_within": [], "place_type": "country", "full_name": "Syria", "name": "Syria", "url": "https://api.twitter.com/1.1/geo/id/f773199c979358a5.json", "country": "Syria", "bounding_box": {"coordinates": [[[35.5868988, 32.3094341], [42.3753815, 32.3094341], [42.3753815, 37.3186098], [35.5868988, 37.3186098]]], "type": "Polygon"}, "id": "f773199c979358a5", "attributes": {}}, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 146271603485621738, "favorite_count": 109, "entities": null, "user": {"default_profile": false, "id_str": "458126554", "profile_text_color": "000000", "contributors_enabled": false, "profile_use_background_image": false, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 3205, "location": "Boston, MA", "description": "gmufylzkgpyvsrolhzkdludpvgghmecabrkoihvvswxxwhvcoaxakjorzgrftlzpmzjxfkkexvhxijbbaodicovnhvghnroofaialzvyjwcpbpzshfncjdgcqyminsceptkggtyziqjlieqtcasnqdigxgplulag", "following": false, "is_translation_enabled": false, "favourites_count": 19396, "is_translator": false, "followers_count": 4252, "geo_enabled": true, "listed_count": 207, "profile_background_image_url_https": "http://pqurvslufijvgfvzempjsfhsdbvoklywqhuaftctepnyvjrfz", "follow_request_sent": false, "name": "olwxwgflugfov", "statuses_count": 25955, "profile_background_image_url": "http://hwalcwphqvrdgtndxcyxszbjaenrrawqdyfowanpafycnbbn", "screen_name": "cpxhrpvrar", "lang": "en", "profile_image_url": "http://ppaudzdahjcpncwzkzxazwgwzamznytuwqcjhwsozbdxzvhwzcuzipjkthuysavjuqaemtamug", "url": "http://lxesrleioxstpnzdgivowy", "protected": false, "profile_background_color": "000000", "id": 458126554, "default_profile_image": false, "entities": {}, "profile_link_color": "ABB8C2", "translator_type": "none", "profile_sidebar_border_color": "000000", "profile_banner_url": "http://yjdvndpvwhggjtwyjglhuyuizehuzxvbkrzjrbqekyattlbmtkyozngowa", "profile_sidebar_fill_color": "000000", "profile_image_url_https": "http://ophqmhwurzaugmpwlkqbfracfxoojnogcgozzoryruheiemcrdfyqkzvgagnnsmetvsfuwhxvvn", "created_at": "Sat Nov 19 20:26:50 +0000 2011", "time_zone": "Atlantic Time (Canada)", "verified": false, "utc_offset": -10800, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 01:48:37 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Thu Apr 06 02:36:02 +0000 2017"}, {"id_str": "992933492103514946", "in_reply_to_user_id": 15545, "contributors": null, "text": "vxniwudkxjeevyfgpzpluozfwjbbvdyqeyjo", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "226694122568946927", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "15545", "truncated": false, "favorited": false, "in_reply_to_screen_name": "ziqyjyetnaoym", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 992933492103514946, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "tcqwqbyrqkivtzhmeryoimnyoebhvloqmwljjesfbrvtvmrsnepvfmwqubrzzaeztibyzggkqtubjvchlzbhcvfzvrprzbnlqsnofhkkrvsfhvnpbwlquicfokbrozappnosckwowfescegdpebgvubyveferocn", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://xwspgpicliksmwlcvdnqrirrucfxfjdlnsziwvxtynvrrdgcwsniqceaseuhyabfyevhqghwggahtydeqlplluadrkuiiz", "follow_request_sent": false, "name": "rhidxzwsqpwivhsy", "statuses_count": 32524, "profile_background_image_url": "http://hbtirtaptaylmqtjocxzkselllhybsldydtoarwfnmhpwadrrmaqfisyplgjouscyfhwcepbfmqkdcjdolfncyoabyrcb", "screen_name": "ndocevhcxt", "lang": "en", "profile_image_url": "http://eqhzosdbrbzrdfsjyjstgojlcnjnjvzmecdkoabcwtcyoifplbnbhixavxbptrrqqlopmgzfotnrbekfaiqcsqaagslcboxesv", "url": "http://bpunnkxrxkoprsnzbwwrfdl", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://pcllhfwccdfeigzoerdxikamuaquudokrorsnvivwcrtzemwcxynqbrns", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://szszamjyosgyjuckurpjgvwnrrujbmeybvrxrbaczzfuzgbisadryprviujfufvhklknxvmdfyckbmdsbftpufsgilbxbgdqyjr", "created_at": "Sun Jun 28 07:14:41 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 226694122568946927, "created_at": "Sun Apr 09 02:33:10 +0000 2017"}, {"id_str": "864651538935944265", "in_reply_to_user_id": 64528112, "contributors": null, "text": "knrhnzzgzgyxsogbeeosyzrjhtzdwqjtxpsdguqcakpaakttjyzazvpwltldbiblzclrddggrlxntzqmndnkxmyskjgmtvmanjpgwtzcvoamrb", "geo": null, "retweet_count": 1, "in_reply_to_status_id_str": "173778719712908163", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "64528112", "truncated": false, "favorited": false, "in_reply_to_screen_name": "dpvhltrjzb", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 864651538935944265, "favorite_count": 10, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "txmkzltwyiedhdawuuvuolxosdggliietczbttdbofdupgrfhpkthyhadzvbohzjixzrdpxpbjunhafgtilevzwygdxfzgxuwelhkenhkzbtqcycfbsnbmbmiovidyfnxrkajsdszuhwjfmlyuoznqupbxuaetse", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://qnbuolijpfyyfgkiaedcbgkgkcygkbjmctncdwziucfnccdbmqkfjmarallvnipesxtnchguainolyzarwawzotqujjdlo", "follow_request_sent": false, "name": "wnjpoqywdsauurxm", "statuses_count": 32524, "profile_background_image_url": "http://sgayexqapozzludvgmuytrohmxzawnzkafzdzgxuuqlrpcckojoscqnzuewehgegeveynkfedicxudzhfbqvxwphasgrp", "screen_name": "yubenpvqqa", "lang": "en", "profile_image_url": "http://vzzjtgcwbzptizpnbxnhttsvswrsoqmljphjraktbuwpdsxltjzgmbqmkpphanmauagmtxptyhwnondsjcrncxhxdpjfczsmts", "url": "http://qepyebtccaibliocwrmrylw", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://iucadmywwwvljdjtwykuovzgfykyqehgsozrdqmedrkalorefnllrzxhx", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://mkqarnmmyqzqxfsadlldllysrbnzpwcequgebiyuzaidnnyvasbnendsmgewqmwyazwdrxlrjzybhvgudfrsvusmjwagpgmdjmy", "created_at": "Tue Jun 30 07:14:42 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 173778719712908163, "created_at": "Wed Apr 05 02:28:27 +0000 2017"}, {"id_str": "972186132452378431", "in_reply_to_user_id": null, "contributors": null, "text": "odzwlxvhaidefnzmopmpdfakujmbapmkqihrqcjizjuxvylmgwhhnzzmnqqhrzagegxjyapizimbkzegfiegftutqblohmdkdphesgivewlidfpivodsqzjtpnkckgxanmy", "geo": null, "retweet_count": 104, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": true, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 972186132452378431, "favorite_count": 158, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "zgxudsjhagbcsmuoinslnkpeutacjsqedamnnmozvwroewnlveqzetqkplqryhycetsbteruovymessoxlvbqvlbpgaiwgiascddvchzmkrnxhdrlucnufyboiyccxipxahouxojwmsgkqtuhybpbotxqibrshhy", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://vsjgvbqseennpavosrwgddklztphdvpoubytckjntoyahrtomgossnzzazntrxceqpwaihdjltwlxpyntqajpnsvsgwsqh", "follow_request_sent": false, "name": "dycegjdzqahhdgxz", "statuses_count": 32524, "profile_background_image_url": "http://kceztibqtsrzlzctmavpqegizcryhsqqhcgrdtyvtizzgxugviovsukxdravamgwbqkcufpjrdarunyhiyifmqyjnrpqr", "screen_name": "rsrcnpuqlv", "lang": "en", "profile_image_url": "http://skbshumsvbckqeeziylrnjwlgfrajpwvwrjtpublsedeyhypxzlcacsuzcyhndabhsqetborzlfahzpwrwmvtocqbzxtfaocmo", "url": "http://dhhwemoiorhugtqehrtnzky", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://xtvqssvomwiqnygaburxjdukkyrudistwsxoouhhzmcarnrsajvqjfhdl", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://qiuozfgtywhzykxzfnivaudxgjfiddogeinuomikstzjbfxdrilsbrauswqcuymbypkrtzkggomclqqnsgljdnxgkprywsqbzlq", "created_at": "Wed Jul 01 07:14:27 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Sun Apr 09 02:27:52 +0000 2017"}, {"id_str": "48471905942606024", "in_reply_to_user_id": null, "contributors": null, "text": "yjqnfunuszmzzmezltatwkqgflvrcyaytrsejceawmbtlpotyffyldfovfkxncddoklajfylhakabngfzytiltwvifxciflptxuplphmrkwrrlzoazyabusqciezwxjazkesoxxmttfr", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 48471905942606024, "favorite_count": 1, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "ghcrrxumliwksnfivdhhxagpknlsermedtydyixnquutnxldspdsxlirruxaxcevfjuvpogvkpcwmravgsbienydqtyrhewgnbgrtkbodpbqarzdvtczidppfiyjhnfylzfnjtcgkyjwdhxmbapamiztzkeivqlu", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://bptcyjzxppiocmwcmqzghsoqpsnzvzdmpjgscuoovvecxzzfdjdvwrinurjsopzqkpgrzqyfgttevzjbfkwfedurxayahh", "follow_request_sent": false, "name": "dkmggbncxqalzumt", "statuses_count": 32524, "profile_background_image_url": "http://szeyebehvovvmczjznuwfrwfunmvkcudqbtcpuhjifmjjiexguphqdifboqgtvnvpbpdrnlenlwsbytwhrinzldavbyes", "screen_name": "ahyvwpordo", "lang": "en", "profile_image_url": "http://gguukdpdgqsncvvhfxpjedmfujwnotvnufpieiqzpbkpnqttmiezbznaoyzdtgjrzgodtuvwbzzobqkjbndclrjwuqpkslqkbe", "url": "http://ggsnydfvixvucftrfvrdqca", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://xawvdbnxxnvktrkqqfjkjenjjtppycgakfauhtrzvgfrovxvrjdwdbcij", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://xnlepojddoosysqvwcppajxamwlrkuczbqpntvdwnfzdrlifhprcwjshxomwtlyqvtualuwnlpebbryqdagrxhdayrsqumehsya", "created_at": "Mon Jun 29 07:14:22 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Sat Apr 08 00:35:05 +0000 2017"}, {"retweeted": false, "id_str": "342510527789444306", "in_reply_to_user_id": null, "retweet_count": 0, "text": "xbjjcdgewnkxsvpocuhyxfqxjnrwercocpscxpxrabzhpnxrmoifyqldeksnpyqrsbbswogfqbbekrubiqtilmggpnkaibithcmjstadhjizkcyhfyohjcvkwefsmalxrxvupcvpcbwnljra", "geo": null, "contributors": null, "in_reply_to_status_id_str": null, "coordinates": null, "quoted_status_id_str": "850138991844184064", "is_quote_status": true, "in_reply_to_user_id_str": null, "truncated": true, "quoted_status": {"id_str": "850138991844184064", "in_reply_to_user_id": null, "contributors": null, "text": "This piece is really incredible. The more women you add to the bench, the more men interrupt them. https://t.co/869PBJDmfS", "geo": null, "retweet_count": 76, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 850138991844184064, "favorite_count": 62, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"display_url": "scotusblog.com/2017/04/legal-\u2026", "expanded_url": "http://www.scotusblog.com/2017/04/legal-scholarship-highlight-justice-interrupted-gender-ideology-seniority-supreme-court/", "indices": [99, 122], "url": "https://t.co/869PBJDmfS"}], "symbols": []}, "user": {"default_profile": false, "id_str": "151774839", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": true, "friends_count": 1344, "location": "San Francisco, CA", "description": "Internet do-gooder; many affiliations. Why women leave tech http://t.co/s14HKRm3H7 + 101 studies http://t.co/Ws1885Hd1l http://t.co/lXPeH5NHBh", "following": false, "is_translation_enabled": false, "favourites_count": 2132, "is_translator": false, "followers_count": 5449, "geo_enabled": false, "listed_count": 311, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme16/bg.gif", "follow_request_sent": false, "name": "Sue Gardner", "statuses_count": 4761, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme16/bg.gif", "screen_name": "SuePGardner", "lang": "en", "profile_image_url": "http://pbs.twimg.com/profile_images/845088524973977600/ifoGN2Zn_normal.jpg", "url": "http://t.co/SSCm50uJNc", "protected": false, "profile_background_color": "9AE4E8", "id": 151774839, "default_profile_image": false, "entities": {"url": {"urls": [{"display_url": "suegardner.org", "expanded_url": "http://suegardner.org", "indices": [0, 22], "url": "http://t.co/SSCm50uJNc"}]}, "description": {"urls": [{"display_url": "bit.ly/1zW7FNT", "expanded_url": "http://bit.ly/1zW7FNT", "indices": [60, 82], "url": "http://t.co/s14HKRm3H7"}, {"display_url": "bit.ly/1EWiQ0u", "expanded_url": "http://bit.ly/1EWiQ0u", "indices": [97, 119], "url": "http://t.co/Ws1885Hd1l"}, {"display_url": "keybase.io/spg", "expanded_url": "http://keybase.io/spg", "indices": [120, 142], "url": "http://t.co/lXPeH5NHBh"}]}}, "profile_link_color": "0084B4", "translator_type": "none", "profile_sidebar_border_color": "BDDCAD", "profile_banner_url": "https://pbs.twimg.com/profile_banners/151774839/1480083846", "profile_sidebar_fill_color": "DDFFCC", "profile_image_url_https": "https://pbs.twimg.com/profile_images/845088524973977600/ifoGN2Zn_normal.jpg", "created_at": "Fri Jun 04 06:17:11 +0000 2010", "time_zone": "Pacific Time (US & Canada)", "verified": false, "utc_offset": -25200, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 00:11:45 +0000 2017"}, "in_reply_to_screen_name": null, "favorited": false, "place": null, "quoted_status_id": 850138991844184064, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 342510527789444306, "favorite_count": 1, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "qvogqtvvrdecaynupilomeppllmxqwxnuzfvclodjlgqkhrdtjhgqpznevgqrsxplollgkumcggtrpplkeysszhhjcidojotsajjjcsqgnldbllmxkjhnmxvyodgpycwwzqlnhgyzheuanjjycnewwywterdesux", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://kyxucfxmxzwsmtmsfzweidjznlufeyxhoczvatdpuoqizdvtsijdunjqhypdbucdhckndhwclianwakreckywgvabeabjk", "follow_request_sent": false, "name": "dhxillsaqrxdbgfe", "statuses_count": 32524, "profile_background_image_url": "http://jzlauvgiqvtsholvosmelhbwwqynvmemzcenpitvjobmrcxarihkxohdcsyseussbufjpgfsoofndickoichjxxuhlirp", "screen_name": "tldpmkbgxv", "lang": "en", "profile_image_url": "http://husmljtxcestrqgkundtxoviytjotejkuznwiphoetootxqnrxmmarhzrbeejdetpbwpixhgovpvoeshkwjhtyjkwatgbexhsv", "url": "http://rmeqczwprvvfmzhmgvkqfig", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://kjrvufmopdgfzvuqjmvmgfybcahbunnuxfnvzzfdaczrbbmdqdajkfgch", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://hkbuokvywcxlqcxrgzmsdnsgpuhfweyqtgqbdvjvghpvcjddzetgayfrmisyxlouesbeokmgrwegdqoprsbmgwfmkpmoprumwbl", "created_at": "Mon Jun 29 07:14:42 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 00:25:27 +0000 2017"}, {"id_str": "303142912936901147", "in_reply_to_user_id": 2850891, "contributors": null, "text": "kjppnzabncryrbodegftmydwxhanlzkykchahngnumrojhxtnpyhitvvmsekojjbrpamgvbdgdwvozcxchlddhpvqhoprnwvxwntinlfwxcbiawaoyfnggzdihlccwl", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "828283494634784665", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "2850891", "truncated": false, "favorited": false, "in_reply_to_screen_name": "pmkhutsck", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 303142912936901147, "favorite_count": 3, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "mcznvycjitwshqiynfywnwtxmjydrfwtxypwqwmtgzrfxovecufgbjipvztcnlwsblkkkesuxzswiwvtvwkgoofagdcmjznsxpxiescajoghbyvviamqcpktmynpronaadilvtnonnezrfqwjsffcpcocyyxqjkw", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://lvjeksuuqkzvexyudhzteoayjxwpwmacwnznnerwryhdgtdtaozahklnicljnhhfldimtlazglnqpiqkjriplzpykwexeb", "follow_request_sent": false, "name": "lhxkqcywjvfindsh", "statuses_count": 32524, "profile_background_image_url": "http://ckbrztcbtvpysrzlquqdxampwcgftmzzctcejcfsebvjdbxchcraibyhrosydpqaafuxsrqazknioavzeeqdbjbutfzdq", "screen_name": "jvsmbxekdu", "lang": "en", "profile_image_url": "http://eihswumzezijygpuniuydyjiqjsmyvirkqirnpbdrhiluageryempimqxpcfhlhpectbjerwuhxyhiwbgppysziiukxqukycgk", "url": "http://raykygquairjnygpudzlest", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://nahbxoqwftlaiwhleizpohbufldlfxbupsnjfrfdumzolltxtejdyqtht", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://uwxbkmzhadqkolzlijtpoiwbhiwhhrvjfvhxxcxyzwthkneyarbevdsgkgxenrlqxnyfakaopftuejwmfazcsenfbzbrmtcvibc", "created_at": "Sun Jun 28 07:14:26 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 828283494634784665, "created_at": "Tue Apr 04 21:22:38 +0000 2017"}, {"id_str": "138039666674322171", "in_reply_to_user_id": 864278, "contributors": null, "text": "uxnbkrxwltivgrbjiokzmyblkvxntftalfpdnommjsjhckhkudglnhvjftbvd", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "139863886579269225", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "864278", "truncated": false, "favorited": false, "in_reply_to_screen_name": "yhs", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 138039666674322171, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "ntslnhjifftktlhmlnjhqqbxbigfscxgpgzzmylgauczgbftotufzsmqpnhzpcgdeuuqusvzwjvftoczbwydgcgxwvabtopsusaykjcokvwbfwnfjsgfskdfmuiadhzkuelvgkewvqzfapmmpyjfistwrvxnotch", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://arhvxixqnhappwtmywcpmgxlutvtsukgkjaxykbxqspaxdmrycinrhjpaydpzqeotbelzusmbuqetuiykbybhlvwfjqgjh", "follow_request_sent": false, "name": "jsbppekqgscbzwbg", "statuses_count": 32524, "profile_background_image_url": "http://tmxuwxnpxsblkfijhjegfefjjtrnopgpkonfojjcnnyianxogwxmendbouetqbhdgxuqmsphylrbfxerdhenbknbtsbkx", "screen_name": "kyixrgetsj", "lang": "en", "profile_image_url": "http://hhqcpyhbllppahztymphojjjutrbtacsszkhazviqvbihnyvpmwodahmoqbupanwcvwhdjkzmpuegpyaysajnglfqybyewpyuq", "url": "http://krllpkkeylrwpfvnnzrwmxw", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://bmjyyymxsbwfsfxcztlegkebqsjoucpokkekoiaxdflnhgmhhaslxinxp", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://qokmlzlqwibhpdzuneovglcxfqfbncqulszbsnmdxmosezyarikatpgxnpiiboycsfchohzyrfifzwemlpmomagqzqwgkojmgcp", "created_at": "Wed Jul 01 07:14:33 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 139863886579269225, "created_at": "Tue Apr 04 21:18:28 +0000 2017"}, {"retweeted": false, "id_str": "555840940709808736", "in_reply_to_user_id": null, "retweet_count": 0, "text": "mvofsnsglvawvavqbwhvbbmkheeqhhcnhohmounnbzsumnauurqaogtpeitnenyvfdisgzontgpvajiloytrpdajwadudbkgqkbwmnvqikalbahkhmueakqwnrlzpemhcuzenxnhpmhl", "geo": null, "contributors": null, "in_reply_to_status_id_str": null, "coordinates": null, "quoted_status_id_str": "850075323911876609", "is_quote_status": true, "in_reply_to_user_id_str": null, "truncated": true, "quoted_status": {"id_str": "850075323911876609", "in_reply_to_user_id": 52332354, "contributors": null, "text": "@natematias Is being a mastadonian going to turn out to be too much work?", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "850074766136487936", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "52332354", "truncated": false, "favorited": false, "in_reply_to_screen_name": "natematias", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 850075323911876609, "favorite_count": 2, "entities": {"user_mentions": [{"id_str": "52332354", "id": 52332354, "screen_name": "natematias", "indices": [0, 11], "name": "J. Nathan Matias"}], "hashtags": [], "urls": [], "symbols": []}, "user": {"default_profile": false, "id_str": "1290351", "profile_text_color": "000000", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 724, "location": "Cambridge, MA", "description": "Researcher at Microsoft. Wrote Personal Connections in the Digital Age. Forthcoming book on musician/audience relationships. May rant political.", "following": false, "is_translation_enabled": false, "favourites_count": 5128, "is_translator": false, "followers_count": 7477, "geo_enabled": false, "listed_count": 527, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/2321268/twitterbackground.jpg", "follow_request_sent": false, "name": "Nancy Baym", "statuses_count": 44215, "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/2321268/twitterbackground.jpg", "screen_name": "nancybaym", "lang": "en", "profile_image_url": "http://pbs.twimg.com/profile_images/852944042912382977/JXd3XleR_normal.jpg", "url": "https://t.co/N5xeaR1SvJ", "protected": false, "profile_background_color": "D3CFF0", "id": 1290351, "default_profile_image": false, "entities": {"url": {"urls": [{"display_url": "nancybaym.com", "expanded_url": "http://www.nancybaym.com", "indices": [0, 23], "url": "https://t.co/N5xeaR1SvJ"}]}, "description": {"urls": []}}, "profile_link_color": "3B94D9", "translator_type": "none", "profile_sidebar_border_color": "8ED238", "profile_banner_url": "https://pbs.twimg.com/profile_banners/1290351/1377531299", "profile_sidebar_fill_color": "C8D5A7", "profile_image_url_https": "https://pbs.twimg.com/profile_images/852944042912382977/JXd3XleR_normal.jpg", "created_at": "Fri Mar 16 14:39:19 +0000 2007", "time_zone": "Central Time (US & Canada)", "verified": false, "utc_offset": -18000, "notifications": false}, "in_reply_to_status_id": 850074766136487936, "created_at": "Thu Apr 06 19:58:45 +0000 2017"}, "in_reply_to_screen_name": null, "favorited": false, "place": null, "quoted_status_id": 850075323911876609, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 555840940709808736, "favorite_count": 7, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "ggxhnyvpuyjqnfozcztpdcspbvyabohedwdvjmhosymxmtirmrkxltjerdpwdxejaszvgivciuyoycnkyoopvgqjwxxydiycyflxwjgcinwhodnfaompyjaymnkjyscerpkkfhvktcfoypduhxicdnxqxknulvxk", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://uikahnsgsmzxahwymohzgouaepmaljpgtyuewsdhaoybzalwtocmzlxejkdrojdfiwpvtbdldfzpzixylwfhhmaopwwjjp", "follow_request_sent": false, "name": "emhfwshmarxmzuyu", "statuses_count": 32524, "profile_background_image_url": "http://ekfrdxdzcntixjmaaansakqryieaoylhqbdqmygjkjrmlcshwlyvmqhvktpxbiijhtcpteavmlayhyfpeqxkllhhizmpr", "screen_name": "zrjsgbestc", "lang": "en", "profile_image_url": "http://kkfdutjmotbdkfrzzpbponelrzfbpycrkkberbixgrxvzgkxsaxrlrricxfjsenrlabzjobdmcygoeoxloeahicvqgbwckwdqf", "url": "http://hdxnfrraluhfjgtjgigfvid", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://ylomdgmqbzunpexvymzjxsrqdyhqanwadvtmsvjbrsnghpucqheacsnwy", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://tovjnittsedupenddmbdsigdtunvsaeshyhkwdufviwspndyzsxejlrwrlsqnyqlqgtmgnzegubqmprlohekioalfaznaqwtivj", "created_at": "Sun Jun 28 07:14:16 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 20:13:25 +0000 2017"}, {"id_str": "894916071766465448", "in_reply_to_user_id": 94575895, "contributors": null, "text": "rgkverqpyfzpzglndtrexzvruaudnbcypwsebuiwuaghfucmtvgxxxhaslkchayxosqyzbfpwxscgfdyjguewhntzvkydgrirgzwaerbntdmxqngnwoftdrxc", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "430170877897525756", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "94575895", "truncated": false, "favorited": false, "in_reply_to_screen_name": "mnctwrohny", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 894916071766465448, "favorite_count": 3, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "dhczmpwulksswrmihhcyukvteaxyxfavwrmqemythlfrcwgynjempiilmjunaqtwoqeysphvlbhgmlzuqltuozwwmkezdaveuxefkmizwylzjsiytsgravluseydsiibckbrqudsmgmwlpnflysdxvcxfldwssbj", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://szbxsyxdsoivbeslamctwurpnutxhjdioewpkojczzcdfgcpkvocwgndtmvgudlqxgcqjzbjnyeohnvajhfhdyheiknnwd", "follow_request_sent": false, "name": "gyojhchsdkuuhldr", "statuses_count": 32524, "profile_background_image_url": "http://eiipfndtnyuvxeezspvrdzwhfnoppnieongnepdaohnhscvpvnbzdkaxglktnvmttusmuaejndydruzraubvtckvbdfru", "screen_name": "quxurgigmf", "lang": "en", "profile_image_url": "http://vaskeolwcmrwpuvblauyqhwfnskqnjwlajmlabclylrpnekdjnfuxthlkiifubpzxhxxcirncxyvhgdexxjujmhzzqlbmlihax", "url": "http://vkddqtmntduvpmgqgyskzrt", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://xmwahzauseobengiivbnsmudirksgydersudkssdosnlfkaikjjdyuete", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://ejiqkyevaingliwevtouqkeuznitlvhlywyevboaeyvhcyqitdiyqnxjohjkinhzggftedkglkfbfzxfrmbnsocnjjazfwtbgme", "created_at": "Mon Jun 29 07:14:23 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 430170877897525756, "created_at": "Sat Apr 08 19:57:00 +0000 2017"}, {"id_str": "60147411281332738", "in_reply_to_user_id": 556236, "contributors": null, "text": "lcxzehfibqvsshygkaeljbjd", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "556236", "truncated": false, "favorited": false, "in_reply_to_screen_name": "ody", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 60147411281332738, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "pcymwyidzebwqhawpapszorgpvlkkckiatksuqoslmofkmemqxflilrogqcfinkilygpppsejgkixycblifecyibcnjnkvwkypygtzzqldqjztcwschhmablkqyxxqjckialkgnzsafctfzlgvzthleywpxhlwpv", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://uvjzkjrzsktvpjmqvhrmpbafhmvckckhpgrgfgrmwydpuwefisebfrhyptanveastfzzqyveztqojmauvltjhfsgyexlyy", "follow_request_sent": false, "name": "udssgcstqxbtjogd", "statuses_count": 32524, "profile_background_image_url": "http://jiopqrazaxbdzibzpevegrnsdiyvzwortmyxawqokvpaolqrwwbmotalymagmitorvkhcjiykuvzfhrgnrtgzpnnifjpq", "screen_name": "kgmsawwcbx", "lang": "en", "profile_image_url": "http://oypqknqotavfrpvqhroksjmfstwnljaxjmbdbolrqngqgsaupohugsbxevkofhhlheckccsxrovipzcuznavwdccuzproumfum", "url": "http://vjfohfhzkrclopsomunohbz", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://uqwkuvhbkpdtawvorbphaewdljvrgrhoxchwypyzisyjqwmbspjliwqlb", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://sbynoyvzbppnncwqsbiuoulsojjdqdkobvagamvjfqfwuassypdmypuoranxisaakweqirexmcxlkcdxloymaanuhhpasehfaah", "created_at": "Sun Jun 28 07:14:26 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 19:08:51 +0000 2017"}, {"id_str": "768701657302253135", "in_reply_to_user_id": 16935946, "contributors": null, "text": "csyupxjmmtnyotbbeaewnwcfjjksdpepqgniuofcfludiozeqwjqnctuesvhljpdqaydfboxcmzqqqgbyksnsqivnhvjrcglsvwzlyknnvrnnhqqizlpmkixpwaeaiugalgwnbznzi", "geo": null, "retweet_count": 1, "in_reply_to_status_id_str": "81038901848587827", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "16935946", "truncated": false, "favorited": false, "in_reply_to_screen_name": "azlchpywjq", "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 768701657302253135, "favorite_count": 2, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "lyidljawytlgbsfrgvrodzxtopdjpuznhuccxepyeuyvlvorjkrfjokizionycorkjcjmavreykxwlnntecxlfvwcfbjwkalztsvxmowdkchuavjmiqsrtbrfbpcspclgsvxhvjdicpgvpxdwxvamnwnakonkqsy", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://rpxqwjhbvbuxxomdiyhvxsoqkesoytbgsodozymsccxpezgzztlzgxlijgrseffvopgtrbltafiybjfvqknkxzmxxphwty", "follow_request_sent": false, "name": "bhnhxmcaobrpvlto", "statuses_count": 32524, "profile_background_image_url": "http://ylgxnglurisvphrnwndakguokfhvtxraplxijpjwvczvbzsdpjekffeouprofqsotnncowgdmjhbnwoyspifrvzrzwigr", "screen_name": "lxnnrvqptt", "lang": "en", "profile_image_url": "http://ebqhrcuykgyhlphsqkiwoayzstbnysksvoraoixllzatvyuhuxmbjgytiieorgsqjnqczyykzrfevildrqfamqcxwjpkrsebpx", "url": "http://vcxoyxthrwzoexjahemgjdc", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://duycgtcuvngpkujhlmmwykovgjubnjmjfrsmpdpltrvcwsrzzdxbkonhr", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://jqmpayyxjobizdybvkiqutcossoahaaohxxiucygpueoeqhagqihqjhommdgalvkasgtpztcgrylfkgxraaxbsehtcnlighdslr", "created_at": "Wed Jul 01 07:14:34 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 81038901848587827, "created_at": "Wed Apr 05 17:51:25 +0000 2017"}, {"id_str": "370663771819450348", "in_reply_to_user_id": 89003746, "contributors": null, "text": "nxnfkmiekdudfhusecgyspvdeonruckdtllwsuoskwidkbysuyeqbmwetbacfjdealccswktrtdjxprlhbjcrmuadyafcfdrop", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "215027083154493768", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "89003746", "truncated": false, "favorited": false, "in_reply_to_screen_name": "zqouqesoaqt", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 370663771819450348, "favorite_count": 2, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "nlwbtlfflawetdjofusofaxspkmerknyaeorbtbirduiplhscltxsovjgemesxfjjafhbxjkcrtemptovemweinqqxdwzmqombjmdnwytywtxwnqznztuskxqvollbroykhbnaoygavcdlouxlnggmtfgfjhawdh", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://nkyuhfrocyxdhmkxmjmrfxlsvhffvwnqktbzbvjferimtyvuselwisljdzwtpqqoiigtbvudclbvfifwksdffrzjnxumgk", "follow_request_sent": false, "name": "zaccrysbppxpmkmn", "statuses_count": 32524, "profile_background_image_url": "http://qbjuyralfzltiygluccbjeavkzkfldzxepnjehyvbziymgebylhmkjdcjqcrbhtprnbwlizytmpcgucadwffguvfprnsp", "screen_name": "vdrfdogspd", "lang": "en", "profile_image_url": "http://vxofzqcomwrynuqyazcfjjlkuvurusaxeyagpqhehsekxavrrhdnuovkyoswyiidmhztywkjjpcfncxhonxvrtyjhrdnsnausp", "url": "http://jdfwwnjfzugkasipvzpkcso", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://nakvsubypkgaxxfgkocivndkxyrkjlzrghxpujdsnfzcfuqpspfwzpusc", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://zmrqppgfalbajdlchbcltqvngexlwihdsvkeqbpulsvtrkezzwycxcwwnfsqjddglhwrpnonjjizzqhrxgxeflurtjmftspybcy", "created_at": "Wed Jul 01 07:14:38 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 215027083154493768, "created_at": "Fri Apr 07 17:07:23 +0000 2017"}, {"id_str": "366886347892173459", "in_reply_to_user_id": null, "contributors": null, "text": "ikbvqvpvripegygezevwjhqfuhiybujstwbftwaxuhzrhzcprfmmajcyxkxxlfyzlsjjpphbjgvoaeadysxqnszjtnchfixaepwmqgrinzewxicywqdmzslhgjlkjrkudjpcubvhfrrz", "geo": null, "retweet_count": 19, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 366886347892173459, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "jbsbnsuihqvpmcukimyqlfhklirdhrfjcdxdipqgllxvnvyrusouacbpihmtnxexrtokubmubylpkcgsczmreistweyyurgxhjiymajjqzlrbkdtpgkznjxxpoiemyglmmlyfniqhdgjcvvgdqypmhogbtmenmki", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://pzxcyebcwlzaxuldopavxayyzqnicrcpelxuelqrdiumkztjmwpzlzfcbzmesbobyjnrnanojxxqtebxgxfgcgmctsbkmk", "follow_request_sent": false, "name": "kbyqmsbggfrvvznt", "statuses_count": 32524, "profile_background_image_url": "http://wlqebwskrwrdvucdkcbdngbeydcfbsahqzzvdcoyisvacosodcpblojnipwuzekckgwjyzhpmtdpwwjhqvxywmbedncgi", "screen_name": "zgngdvywob", "lang": "en", "profile_image_url": "http://lsfzwppgmqdbrukcuoiyprmvqadhcftlscosqkczdtqofarjibuprntkzlzvrgxemplygrgeuntatvtjmkldbxzwndhgruedno", "url": "http://dwnmiggenhyfobckiqehmgy", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://suvluxkdgxwqiqodaqczwoyjlpiqggoebqltqxknchtaeapnqtdlqplkl", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://dtifiignnpsmcrdfiwfupbdmzhmqmajvykfzxgkurfszkrmorsbceuujiqounkpeatdnyiwqauyjdcmstgzccxfljtccbdegmfu", "created_at": "Mon Jun 29 07:14:33 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "231767703822578673", "in_reply_to_user_id": null, "contributors": null, "text": "emxoixpwvnlrluzmdkptopsujtjcroakelegcznmaeqexybsmfhbbdtmwsdbzawdhucbzuhxpbgihcqrmxpdicvxcdurxhjysdtahumkwghsinuiqdxjaylfowksozrccgiruefbuhrd", "geo": null, "retweet_count": 19, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": true, "favorited": false, "in_reply_to_screen_name": null, "place": {"country_code": "US", "contained_within": [], "place_type": "city", "full_name": "Boston, MA", "name": "Boston", "url": "https://api.twitter.com/1.1/geo/id/67b98f17fdcf20be.json", "country": "United States", "bounding_box": {"coordinates": [[[-71.191421, 42.227797], [-70.986004, 42.227797], [-70.986004, 42.399542], [-71.191421, 42.399542]]], "type": "Polygon"}, "id": "67b98f17fdcf20be", "attributes": {}}, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 231767703822578673, "favorite_count": 32, "entities": null, "user": {"default_profile": false, "id_str": "6744332", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 4635, "location": "Boston, MA", "description": "wpqwuuwyhdzhjbvudnxobtgwqsmafvwurwkrbvmfxgxyrtwiggrfhugtuczxjsrdiobkjxdvwgvxfraiehohvxsjpshblmdsfrsbuuiggtvgofjpzeajwwjmvrxsvztlzyjszkrxcwtokhgyry", "following": false, "is_translation_enabled": false, "favourites_count": 20398, "is_translator": false, "followers_count": 22693, "geo_enabled": true, "listed_count": 427, "profile_background_image_url_https": "http://hmkkucuffzxsqreryogafxnxcubjocpmpgpltzjmnvjjvhqubmuntnbyhtsxsrovszmlsowqxsfvrbq", "follow_request_sent": false, "name": "rahmsjowbfywuct", "statuses_count": 29446, "profile_background_image_url": "http://pnjxhoulfazqwmgtcmzpbydhlkhafnouxwaiwdolqxjnsikvraijxmkogmnkhnwmvaafybmackqyvi", "screen_name": "jdyfakeguzlftu", "lang": "en", "profile_image_url": "http://vufyoalwuakmsxkwezdjvcyflkxsmyoqavhvyrddtakhyfchpcfgxjtzgsbhvqqhwxqladlpiw", "url": "http://othienpnnjabszqllnlecbt", "protected": false, "profile_background_color": "131516", "id": 6744332, "default_profile_image": false, "entities": {}, "profile_link_color": "556677", "translator_type": "none", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://xfitsfqyylpjsqejjomfwhsrqsqyrbkdwoprkypgericonvraklyeqvwnu", "profile_sidebar_fill_color": "EFEFEF", "profile_image_url_https": "http://jcfxtwyxapqrdojucpayzamanyetevhspcbidqmxrhsmgprylsqnzfsnxvnqiztldigahvjoyzj", "created_at": "Wed Aug 17 18:52:58 +0000 2011", "time_zone": "Eastern Time (US & Canada)", "verified": false, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Fri Mar 31 12:58:09 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Sat Apr 08 16:24:21 +0000 2017"}, {"retweeted": false, "id_str": "938516285180832633", "in_reply_to_user_id": null, "retweet_count": 2, "text": "wufmbnuwqmdwlfwirvwjsxgqqxtrfcfhwbhzzxjvxkiisyedapbklwwlswfkdkitigpxtaztzolfyquxbxqhholxlhkoapeysiqqgdctkjrtxckaobymqmhkbxyebsbxyvsjburvx", "geo": null, "contributors": null, "in_reply_to_status_id_str": null, "coordinates": null, "quoted_status_id_str": "849977417791819778", "is_quote_status": true, "in_reply_to_user_id_str": null, "truncated": false, "quoted_status": {"id_str": "849977417791819778", "in_reply_to_user_id": null, "contributors": null, "text": "This recent essay by Gelman and Hennig is a remarkably good description of what healthy statistics looks like: https://t.co/eChDD8Yvac", "geo": null, "retweet_count": 34, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 849977417791819778, "favorite_count": 101, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"display_url": "rss.org.uk/Images/PDF/pub\u2026", "expanded_url": "http://www.rss.org.uk/Images/PDF/publications/2017/Gelman-Hennig-April-17.pdf", "indices": [111, 134], "url": "https://t.co/eChDD8Yvac"}], "symbols": []}, "user": {"default_profile": true, "id_str": "15379361", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": true, "friends_count": 30, "location": "San Francisco, CA", "description": "Research scientist at Facebook working on statistical computing. Julia developer. Tweets reflect my views only.", "following": false, "is_translation_enabled": false, "favourites_count": 5596, "is_translator": false, "followers_count": 18906, "geo_enabled": true, "listed_count": 1039, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "follow_request_sent": false, "name": "John Myles White", "statuses_count": 19568, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "screen_name": "johnmyleswhite", "lang": "en", "profile_image_url": "http://pbs.twimg.com/profile_images/847101416107720705/TqP7iVpy_normal.jpg", "url": "http://t.co/5IYWkW9dbW", "protected": false, "profile_background_color": "C0DEED", "id": 15379361, "default_profile_image": false, "entities": {"url": {"urls": [{"display_url": "johnmyleswhite.com", "expanded_url": "http://www.johnmyleswhite.com", "indices": [0, 22], "url": "http://t.co/5IYWkW9dbW"}]}, "description": {"urls": []}}, "profile_link_color": "1DA1F2", "translator_type": "none", "profile_sidebar_border_color": "C0DEED", "profile_banner_url": "https://pbs.twimg.com/profile_banners/15379361/1483023755", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url_https": "https://pbs.twimg.com/profile_images/847101416107720705/TqP7iVpy_normal.jpg", "created_at": "Thu Jul 10 16:10:19 +0000 2008", "time_zone": "Eastern Time (US & Canada)", "verified": false, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Thu Apr 06 13:29:42 +0000 2017"}, "in_reply_to_screen_name": null, "favorited": false, "place": null, "quoted_status_id": 849977417791819778, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 938516285180832633, "favorite_count": 4, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "zbxbdqnkslldjufcnjgrsrtzkvfhdlxnmzvwigmznceviyyrvafuzlmrgxstdavzgwzublxzuwfyzhocpcbzlcieccmhhuolwadnsdlkppxpxhyxjewlwawflbveumhgdkvcmbabkvattgahuchfwurjouoeaoej", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://eevvlmgveiuqlqoykgrrvagmdxjvwgrbjebupsdltgsddnlegwrphwjcjbukhnuwvklnntfljkfznivkmvcczrtjijnpoi", "follow_request_sent": false, "name": "dookuqxdobiybdfs", "statuses_count": 32524, "profile_background_image_url": "http://hvaycrwibxorzfhsipmecsxqfytcbtobptbbcvkwewiibbtdypbmyeoatcrdzywisryqefefqgcblcizzxupdqdxxmvzk", "screen_name": "zsmaokofeo", "lang": "en", "profile_image_url": "http://bxfpnelblckjjhvxyonhlhqzeoqewhnynexargrfjkxgmrqrzgzlihzrjgcnfcnewfeyheatxhzisupcptbvvcyviwntaxyxyd", "url": "http://jtycnaopoazqtjxnmxoqcho", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://qqfrtysflazzgnjlduacdvydxekrogaaiwmisaumbptvldamxdeoiapgq", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://yguqbijrbsqqbfnymgsprvudpeuiyhzpvnhgmeeawiocjqhitfdvjvoizrvzeinnntutmfzttzlobyoatxqqsmstxypnidsazdj", "created_at": "Sun Jun 28 07:14:38 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Thu Apr 06 16:22:50 +0000 2017"}, {"id_str": "796044106178690597", "in_reply_to_user_id": null, "retweet_count": 9, "text": "psjvphtbjgovacqhzzimzahzebkokzyzfzkqxwhzuhidtpwpjyyxblqmrbfgnyubgqjzykqbtjtcdkcgfhwmabuffsdclejqphpifwdmntsuaoaalvfbnc", "geo": null, "contributors": null, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 796044106178690597, "extended_entities": {"media": [{"id_str": "849977877445718016", "sizes": {"small": {"h": 680, "resize": "fit", "w": 442}, "thumb": {"h": 150, "resize": "crop", "w": 150}, "medium": {"h": 1200, "resize": "fit", "w": 780}, "large": {"h": 2048, "resize": "fit", "w": 1332}}, "source_user_id_str": "916801304", "indices": [95, 118], "url": "https://t.co/MtCzAe9CAE", "expanded_url": "https://twitter.com/WY_Tang/status/849977929694150658/photo/1", "id": 849977877445718016, "media_url_https": "https://pbs.twimg.com/media/C8u6YEwXsAAXEQT.jpg", "source_status_id": 849977929694150658, "source_user_id": 916801304, "media_url": "http://pbs.twimg.com/media/C8u6YEwXsAAXEQT.jpg", "source_status_id_str": "849977929694150658", "type": "photo", "display_url": "pic.twitter.com/MtCzAe9CAE"}, {"id_str": "849977904746385408", "sizes": {"medium": {"h": 1200, "resize": "fit", "w": 1199}, "thumb": {"h": 150, "resize": "crop", "w": 150}, "large": {"h": 1441, "resize": "fit", "w": 1440}, "small": {"h": 680, "resize": "fit", "w": 680}}, "source_user_id_str": "916801304", "indices": [95, 118], "url": "https://t.co/MtCzAe9CAE", "expanded_url": "https://twitter.com/WY_Tang/status/849977929694150658/photo/1", "id": 849977904746385408, "media_url_https": "https://pbs.twimg.com/media/C8u6ZqdW0AAlkqB.jpg", "source_status_id": 849977929694150658, "source_user_id": 916801304, "media_url": "http://pbs.twimg.com/media/C8u6ZqdW0AAlkqB.jpg", "source_status_id_str": "849977929694150658", "type": "photo", "display_url": "pic.twitter.com/MtCzAe9CAE"}]}, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "ouhtlgpojrlfovakipncpednjdjpyoiiweflooelgkeyfqvvdoywiomojiprpgwzzavqwjcqfbfoyvjnrjcgokqzpfuwayfmqmbfigiblpiuvkoiuyhrlcmhradctzelwfykbuiimbbflylvfvqbdeextqfutffx", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://cykelrmzmtaednndsqpawuveczgnlglynbksojplajrcxgdsmwziydwwzclqmghxengevfwwqfcbuihazgdtixrjdcxhyo", "follow_request_sent": false, "name": "nksvbqajcfnhvoso", "statuses_count": 32524, "profile_background_image_url": "http://wmyeajpigfwfydyenpwrgrlkhdpqvqzqwtwsfgafacbhtwwuiugipxhdtieupvcabfvmtyczcsvyduehhcfllcyziyjrw", "screen_name": "hvzkhhiaaf", "lang": "en", "profile_image_url": "http://rklprjtkqolscaustkitssfwwqgudgarbidefcehghksnhfwnuwmxovzdeswcrochhmvonduqbtbfvophcuwksrldkfsjtaseq", "url": "http://mulpmivrcrflayyyhtqmuhq", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://axyoxummhbicamipxmmvvxvelrrgebejspwscjuqflopsuogptfuxjhmf", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://ovmpmistpjgvpfvtkimikciiyvbohavubuabfdfzlfethrrgitjqpzstwyccnfbbsasrouhkvnmiuflcqkswdltjznrexmjlpcb", "created_at": "Mon Jun 29 07:14:34 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "530647084800650396", "in_reply_to_user_id": null, "contributors": null, "text": "hcumdpvnhdrwbwnilfibvajhgxkqjkrdcckdjujicoaonbxpieoysnraimsiqviojsssvqqmvytejdyvfojfpmjetehyluebcjkmrnyvp", "geo": null, "retweet_count": 9, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter for Android", "id": 530647084800650396, "extended_entities": {"media": [{"media_url_https": "https://pbs.twimg.com/media/C8u6YEwXsAAXEQT.jpg", "display_url": "pic.twitter.com/MtCzAe9CAE", "media_url": "http://pbs.twimg.com/media/C8u6YEwXsAAXEQT.jpg", "indices": [82, 105], "id_str": "849977877445718016", "type": "photo", "url": "https://t.co/MtCzAe9CAE", "id": 849977877445718016, "sizes": {"small": {"h": 680, "resize": "fit", "w": 442}, "thumb": {"h": 150, "resize": "crop", "w": 150}, "medium": {"h": 1200, "resize": "fit", "w": 780}, "large": {"h": 2048, "resize": "fit", "w": 1332}}, "expanded_url": "https://twitter.com/WY_Tang/status/849977929694150658/photo/1"}, {"media_url_https": "https://pbs.twimg.com/media/C8u6ZqdW0AAlkqB.jpg", "display_url": "pic.twitter.com/MtCzAe9CAE", "media_url": "http://pbs.twimg.com/media/C8u6ZqdW0AAlkqB.jpg", "indices": [82, 105], "id_str": "849977904746385408", "type": "photo", "url": "https://t.co/MtCzAe9CAE", "id": 849977904746385408, "sizes": {"medium": {"h": 1200, "resize": "fit", "w": 1199}, "thumb": {"h": 150, "resize": "crop", "w": 150}, "large": {"h": 1441, "resize": "fit", "w": 1440}, "small": {"h": 680, "resize": "fit", "w": 680}}, "expanded_url": "https://twitter.com/WY_Tang/status/849977929694150658/photo/1"}]}, "favorite_count": 24, "entities": null, "user": {"default_profile": false, "id_str": "719147427", "profile_text_color": "000000", "contributors_enabled": false, "profile_use_background_image": false, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 159, "location": "", "description": "bdwjjjwigpitujmctwwieauhwtkrshrbvgdnnhihnjtmyvlydexbmnedglyotubbwejdnebseqpmyhyauxlqwtvojokhzptmevyegdyinulmadjlgyqcawtjclitz", "following": false, "is_translation_enabled": false, "favourites_count": 284, "is_translator": false, "followers_count": 394, "geo_enabled": false, "listed_count": 41, "profile_background_image_url_https": "http://lvvzkxwhxeyokpisikvmocjycjbhcminbjwmvjrrfxenvvqtf", "follow_request_sent": false, "name": "uzvfpwafqwmk", "statuses_count": 1578, "profile_background_image_url": "http://xwxgrxbvlirqifbxwaqbhlrqiqserzzclkssnzgefzhcoljx", "screen_name": "tuylvbl", "lang": "en", "profile_image_url": "http://mewqioxnpxsykcdtbckdbfdcwmpqrouvgknruthmmsirjkudrwhyvjijclollsqdauaxkvbmhk", "url": "http://ckuewyagtnusxzuzwbgmdpe", "protected": false, "profile_background_color": "000000", "id": 719147427, "default_profile_image": false, "entities": {}, "profile_link_color": "307D7E", "translator_type": "none", "profile_sidebar_border_color": "000000", "profile_banner_url": "http://piexpvoodjzittxlcgikpzoeoiwaaeeoqgkkzjxesbzjanmptcznhvwuxf", "profile_sidebar_fill_color": "000000", "profile_image_url_https": "http://dvdmqivoyczqvanzjjitlhmffujwlhhyygfdzhrfypmcctnnbciqceioobdggreijuypbxhdtue", "created_at": "Mon Oct 29 12:40:36 +0000 2012", "time_zone": "Amsterdam", "verified": false, "utc_offset": 7200, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 13:31:45 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Sat Apr 08 16:22:00 +0000 2017"}, {"id_str": "819796555135736914", "in_reply_to_user_id": 6389160, "contributors": null, "text": "qouttrkknmpfjiqzrfe", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "919385657620110314", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "6389160", "truncated": false, "favorited": false, "in_reply_to_screen_name": "zibfpawe", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 819796555135736914, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "egpijxigemsoaxwnfqktvsswwxbjeiqwaggftwujowkclvpwbgtvxnxpuyzdtitzbcoejntrgqligzyxrmrrqfbesjypvqxqzuylaneuixbxcqirjnhkwvywnyszxtaajkmhtwoqydppkzhlanrqmgttahoorjfe", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://yaqoxtygpvlkljdxwuzietawmtyjrnadjllkgrgtzzbhpaqzzlvzyuprbmcqpynfmgeyjnidpbsyllkbkmaeiytwoscqad", "follow_request_sent": false, "name": "nombzilbozvjqyui", "statuses_count": 32524, "profile_background_image_url": "http://lfvkevwurkxrjnirekaujdizpnxpahmnutvfdeirocvbxqljdczroavphqjclxdgiugfhgwxlvqxtikzowbsbghktxcie", "screen_name": "rymyhfmifw", "lang": "en", "profile_image_url": "http://xcearmcsljzsgrudblmecvejgrnxinrbxkfobphefwsatrknjdwouoolqzmgmxogmektnrgxmmnfgxunoccpyanentvxuxehne", "url": "http://brgpimoofyuaqwdscobodme", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://byregajospnhramjfaodxwtbbzgnqwkwbnyjyqxbypkyakqbwdbbrfbcp", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://ixllzygtmluavmttorkdbloswhktqrjmjhoqgdieybaipfiglfvpsjezxawiwbaedsdakundnbrmkeoogihjiokntsigrnvwcjp", "created_at": "Thu Jul 02 07:14:21 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 919385657620110314, "created_at": "Thu Apr 06 16:06:49 +0000 2017"}, {"id_str": "509451381749815966", "in_reply_to_user_id": 64317901, "contributors": null, "text": "srmujfgrktlvnfoydojjsxtgjivlmlruarzhrljwhvqhssmwfvhpgofdsxshdgibfjjiolfntyjkfbncufmerzksowqwordrjqmitjllqzclqvwleppxhrjuhsozqgtljsqttrspwsfm", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "640208309664538733", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "64317901", "truncated": true, "favorited": false, "in_reply_to_screen_name": "agyssqckfje", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 509451381749815966, "favorite_count": 1, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "rnwxjllpynxylxmbxpmtktjhvcetwxyrsjrsszthzqlbcsuaufpotwzwwpwxdirxduuvmjzrvfrypmvfusylykryjbhrskgxmgnmzonxojqdfatdobrrkuvlalmmqptcwguffwlwljcngreyiijvttywlruguzda", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://fiamtkerpupbfugwpvwwpfivyfduxlwowxdahzwwriurcbvtnjgpgxnfrzelbhmgwhpgcndwmzygtpnbstrgdukpbiaapl", "follow_request_sent": false, "name": "jclbnusygllgibkk", "statuses_count": 32524, "profile_background_image_url": "http://orfozjpwgmmqxrqtgotruzxpfmqteotcpqevzdelqpgbbmznxzgdzdeualexratmflioqqyezlmqigbwayugvpnytzlyp", "screen_name": "zpcjzwfsai", "lang": "en", "profile_image_url": "http://crfgdhthmilrhidegqjhlwhngiqgpwddhvqoliimbsupyljvgrbmxrmttrodgvtdcwpqrazvufuzxgoxqcxhtdpiochbebzxri", "url": "http://jjrupsapizmtojtejazillp", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://gmjjwwlbajwiiwogdyfcimhwkjeffzhdmobqldnlbnwtwkbiljpwcwcwf", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://qdcfkgfgohghzrdjjymwmbcfshwjlcfzuwezwixccbdwpsxpxacqqcmursvxbfioabbqmbtfhytxspqwxrjzcwglpygkjkrobdx", "created_at": "Wed Jul 01 07:14:43 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 640208309664538733, "created_at": "Tue Apr 04 16:06:05 +0000 2017"}, {"id_str": "710239784754260924", "in_reply_to_user_id": 97925557, "contributors": null, "text": "hkjlaxwnoemkupmobvcyixyknpcidmlzpftsviammxrsvdrkwluilhfwszjhltwlverxadyqworvhzpiikawjlgkbqimkkibzzcggokmsdzkacsdmteidibfydhnwqnhfegwhoqgscov", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "986910089109032825", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "97925557", "truncated": false, "favorited": false, "in_reply_to_screen_name": "naaahgybxm", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 710239784754260924, "favorite_count": 4, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "mzsxyyaquscefkutaxuwidskuqksjtshmiqmfbsyxcnyzzpbwlrmlspxjkvnumgxvmbmngvxkuscsjxtuijbeotllbcaansatwvniqbqrnwkirmwbrneetbleuvvxysajxnzdyegdyvarxoctyqwebteuwiopmcg", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://llyabdtnsjabmmciqnkrwedezfumzqriewjjsrgzwvrupihwqbusxoennckqctpnbalrvaifewbsyyvrnwsaaechykxeei", "follow_request_sent": false, "name": "fgljopwqgoetygsq", "statuses_count": 32524, "profile_background_image_url": "http://gxhktmmutamdfafncknsdxghkwgnkwhynrodndsuisxqggtpfqcfmvzcknfpcfqddiibhyxvwylhvuafhsdlvykcshavt", "screen_name": "rinagsiotz", "lang": "en", "profile_image_url": "http://oicgjtijldmhwfqcyflnppncaaqbstrgfwandvuzmulhsouibuqsjzszzkwkudcdgrudzbjhlevieltyslpfvqzbrcmxqjxhfp", "url": "http://vwoguuioiqwpdtnyxfwobud", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://hmrbwmjxvanzyrpsfkcqgxweacvzhszrxwzrngkyavijfzqbmttfvtniq", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://fipzlklymghszcfvfxzpmxxgtvazrwlzulyppmulbanhdviucimtkokkotquukshcceeflxngqdpkbcjemfkgowutsinbgkwajj", "created_at": "Mon Jun 29 07:14:14 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 986910089109032825, "created_at": "Fri Apr 07 14:46:36 +0000 2017"}, {"id_str": "497580552671663093", "in_reply_to_user_id": null, "contributors": null, "text": "twmqhnqmzoluubipsglpxsunjnjkwfqennmwacgreaeememzypttwdnrrpkvnyojetjzatsfrspzcrq", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 497580552671663093, "favorite_count": 22, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "iowspptkceszxmxkdfliazjqeyqijszcezmxtjferoyulnxkgqxdcgvjniwgpbfubzrgqplcbjfvgkeujuwxnqsjtmfcescmylskoocgfhterzflbztnxqdkbnmzyqtozwzhpgcvxfopwckfaxjstnrouinjfbnb", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://lxnrxhfgvrfjdwhlrbwfbageckfesqtlwinjszcueukcxmqjkqznqzkbykhmakukzqyzmujzqzebytzianggqjmakwdmly", "follow_request_sent": false, "name": "wdxefebxvgnuzvvp", "statuses_count": 32524, "profile_background_image_url": "http://skxomrhzmmkvceisqfvvumrlxxholnfmbszxuomntraidprlfegoorykybisataiyixjovovcybhkmgyguxxloeyrieol", "screen_name": "qmarsapouv", "lang": "en", "profile_image_url": "http://xkpihmqrmgakfnsjjetgxkwhdoayevtamrukfifdargjkxcdprxhrelpphbjqujuoacisyazyqphkfpnufghorstyphpniczdx", "url": "http://oiwdfpxmletqhgquvklrest", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://pfikqzbbxtocddcuzgbakkxdqjgsexaqxwxzbukthsklbyxuvmpdymvxh", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://fcuxhakxmngvfgefkrueejsptmdqbbhujtvzjsppgrtljqbcjyhqizlnxiybnylqvmzksdwspepcuktnvuudzfepbwcqfxftblu", "created_at": "Wed Jul 01 07:14:37 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 14:38:10 +0000 2017"}, {"id_str": "93814009283246701", "in_reply_to_user_id": null, "contributors": null, "text": "ceyrbztwyeqdvqrzufndodzgfywjhcdbyxdrdwtejvnofnhpkgxvuldhldswbuoyzlbplqjbcdoksqvjcizdgdmvegenopcfpnojxzawjzxpftmwgzfdcpjqhsworodeqisuugfsfurc", "geo": null, "retweet_count": 12, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 93814009283246701, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "modihsrqatenbokxfhxplmbcqhzeujjcmsipxpfkehepfcvkrtkrporwcxatyuocjoijuezvwnvkpqtzoglbftxerlwurnlmwgtmjdutrzksfovvgrqbdilbvvemynetnignlyxytplvoxacbxeiygicovytjdsr", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://iixddjfqabcrbvkapnncvtflfdsnnxtqxtwapjhbqftxzwinjdjzymimokvwjpfcicpjhtjdomoluovwpqkbzlpaiquthi", "follow_request_sent": false, "name": "jkpfjcasdtkkmrzv", "statuses_count": 32524, "profile_background_image_url": "http://gostlaavvdtjlhtsqrxqgpdcauckcbkcqelhqzmgzooyhflsgnoqbrlttiecixotcrbygmxbwvyjwskpcshxphglfpirp", "screen_name": "phvkydrcdk", "lang": "en", "profile_image_url": "http://fshkfdwmzonkjwdqxrmathgzxmwkqbyjyetmafmvnlsvqdwyvvzrfljmaxshrcjwnksmvhywcyauhryfsmixjgstzgtfptpagy", "url": "http://kffmstvdfknuaktwoekvufv", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://nkclqikwsfhpjkczelgtboofufudlysdobdiryphsebcmnypytfkuxdzr", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://ojiqyljguknkeudharozljcjaglnqfwbanddfsjbfcppjreedxyqxmekeaofyqogxqvozovfyskxqhjqfqblionetwjpbfqfvsu", "created_at": "Wed Jul 01 07:14:23 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "975544429773528644", "in_reply_to_user_id": null, "contributors": null, "text": "qwfbtyqcxgxooljafcwkxvhaoabrvlnpysxsmekimswsqgzsswhggatkucukqzzvxamadfakielfpjttardhfuqghftyceyghcbwvtkyfdmsyuwrpkgatieddmcedceoqsgejqk", "geo": null, "retweet_count": 12, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 975544429773528644, "favorite_count": 20, "entities": null, "user": {"default_profile": false, "id_str": "6698004", "profile_text_color": "000000", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 1676, "location": "Pittsfield, MA", "description": "wtjulwflixfjldrpgprlbcfgniyipxifdsnwdmshskwbzlzmcqvcjvuolnzehuazkamrujkcwtvvupjhirsrofnstsuooqzfqpyqohmwtvijsszithtyksqzszyxoyitgrygozgrbgxlvwopxrahqnohwlxnfn", "following": true, "is_translation_enabled": false, "favourites_count": 3474, "is_translator": false, "followers_count": 46238, "geo_enabled": true, "listed_count": 3104, "profile_background_image_url_https": "http://ljckogbpgbknttxfienrnxdaujjxfdppxpazwwcbifjpzzafhbbahhfvjoqpwdihueqafnzanwldepgvq", "follow_request_sent": false, "name": "yrshmhywnfifgaf", "statuses_count": 25524, "profile_background_image_url": "http://ueczxiqzufqgluqpucsvyldbhvzkbugwgdbiylgknvlkgqmmhrmpilsbzerstyntxitpiiztxcewmmxj", "screen_name": "zkifqf", "lang": "en", "profile_image_url": "http://llqmtbqrdvutvjxzghbunanyxjxfipexwwotjemenpbmvreirolepznfaxbwxckdnckoxozddf", "url": "http://dhtsttkwenwbmgtrbcrwym", "protected": false, "profile_background_color": "9AE4E8", "id": 6698004, "default_profile_image": false, "entities": {}, "profile_link_color": "0000FF", "translator_type": "none", "profile_sidebar_border_color": "87BC44", "profile_banner_url": "http://ofqrektohcsiyhhbfdwgbrtkkskpqkrggswdnedmrdpiocenylfdsbxs", "profile_sidebar_fill_color": "E0FF92", "profile_image_url_https": "http://mefcihoyvfpgbbqxvilqwgsqvefuvkwyhcgdstywllnuhtfrvnyufqhmfmiwmbxgrwsjnvemhxe", "created_at": "Tue Mar 13 23:01:48 +0000 2007", "time_zone": "Eastern Time (US & Canada)", "verified": false, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Sat Apr 08 00:31:45 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 01:00:30 +0000 2017"}, {"id_str": "15458154027092603", "in_reply_to_user_id": 60236, "contributors": null, "text": "qtjghztwyuwtnrstelxcsudgrrvyegjpuzxoehpvzjznhlbabqaahyuinmfhfbranetpulihnfyigjkqslrqskryhwydhflwygeqqmfmeebgdhwctuxlrooznhgxhmpdlyteknn", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "562885852414983443", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "60236", "truncated": false, "favorited": false, "in_reply_to_screen_name": "fhidhkfl", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 15458154027092603, "favorite_count": 1, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "eucgecblollpufyemaedisaittnsgnowbtirguwluhmmcrafdiwepxspovgmrdfbtirknxwmsbxcsjzdyhglehzyxrrnilujwxcvkzjufoelblzfiieyneajftenjephemoihstjhqnxnuuckknduopqhghknbig", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://cvvxsdzoepyzfbamwfdfbluysqeypixgdzarbqzkqroujzqftwtozkaxwqwuflhxmgvhmuknkdeqdxzfxnnvsptgvenrpv", "follow_request_sent": false, "name": "ictfopvsvospsruc", "statuses_count": 32524, "profile_background_image_url": "http://ocqsajadqmhibixnvokklalxqwbtjddhihinhwiapfrbbiqcqrsmjnczwcnvvkatrjumqiauzcmjghlyrhiklqsoaolav", "screen_name": "grrobqynvs", "lang": "en", "profile_image_url": "http://dsclozhirgijvepwdcddmojxkleoxgoastkeqlmtfjfrmzszxctiuucybnpwkiymjskkogqqzebjfvfjnxfflvxgpijkliqalj", "url": "http://htaaayospvnsjefxccxajzx", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://lzfjvcksvjptyoxbmlixzrcfivqfgjlxdbptlwghsmwndgbtabvpceihe", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://xiiphgimnwvdfwtnpaktxasshvdemqqlaojxkghnwhqrzpxenrcppqdrtcdgvnsmydcwprltxtyrwynkrvwrtwwkiyggburwbkx", "created_at": "Sun Jun 28 07:14:33 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 562885852414983443, "created_at": "Fri Apr 07 01:00:02 +0000 2017"}, {"id_str": "638441441836597348", "in_reply_to_user_id": 82767749, "contributors": null, "text": "hzhitvycenrjqumdydybxxgcsguqyfojhyhdyqjrqzhaunfxzeqlvxrhjstrjjylghrzwadliszarqmptepobs", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "630474754713379321", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "82767749", "truncated": false, "favorited": false, "in_reply_to_screen_name": "zekbbrz", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 638441441836597348, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "muaqvyabpiwoldtadwhfnrbipkrboidpebrinqezpdhuazkfzfxbyvfkogzpbekxwyhntlzgfdeopscmeawnysviplzbmcularehuzsyhudqwivxovevjsijprbrbwwkiimbqfmntkuhovnjjrufhdgqzbcqrqdf", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://ttmsqvjpybtrayjlsknbbbdbzpjiaibotxufnndgudvgrnmcelqckaiferltemwakyujdrarmtaolnitpbtxpdnlxwwfzv", "follow_request_sent": false, "name": "dganffyurvqgxtea", "statuses_count": 32524, "profile_background_image_url": "http://cmrsxpqqbbolowdgbmtmqmwkraaojxbgzwxwfayninjxvgdyuztwoldrgszzvijuvwwuaikedrjuvbxjxmxvztjzbtpls", "screen_name": "uqneivoulf", "lang": "en", "profile_image_url": "http://poyyscksvpquovvippmdssmlavvcvdukjhmuklfeyeztqmpxnriuulzwdbpzwatzsfwkbwhhhswudtfzoagontposmxqnphziv", "url": "http://jfpyhefvxteglylgwytxbnr", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://mwsfvnawigihvooqzngndootlapmmlsepgrwggagcbccmlratqiibiqrx", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://dskpzkudffisroevvewqztmejjvdiozmjuomkjoljsdbawdktfgiwyljmuaifjflnorllfowvueecbxutgbiuvdaaktjnhxkkdi", "created_at": "Tue Jun 30 07:14:20 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 630474754713379321, "created_at": "Tue Apr 04 23:42:53 +0000 2017"}, {"id_str": "525060627533687409", "in_reply_to_user_id": 50296072, "contributors": null, "text": "ifkzmuszeocsbienhlyzuouubnsbfamsyzezcdfmdcjrzeaqvhmaobquddnmrcasgrmevaiapkoedfiofqeaobbjxjukxuxiohadsexxnyk", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "586147772574238679", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "50296072", "truncated": false, "favorited": false, "in_reply_to_screen_name": "uhpapphgjm", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 525060627533687409, "favorite_count": 2, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "qpkjivaojxrvzymucntzxyglrilzvpibzplzqavjiolmcxvtpfmfayryqwuqxbzsxptzibbfywzuvwixiuoaxrkvvfmkmnawdbbzzmzkykovjlplqglrtjjiwdjthokmucwglgvskdfpnennjtewfukpomloxyrw", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://vswjlhtuujvboysmfymydstkycxocyzeirzdhvuddeghxkbsxuwvduycrxqwaxxudebxlbbsopomnsijlkehkixmghwnzj", "follow_request_sent": false, "name": "qwvkljlmpfejcotn", "statuses_count": 32524, "profile_background_image_url": "http://wyotdbqfhrmyvqhlochmetzondrndfxxlojivepckgvordduemjpqzpabmrhwmiqqexbtcwvivquxwguwkwliybceqszf", "screen_name": "gcjsgqdjdu", "lang": "en", "profile_image_url": "http://styqobjfrnnsbqdobkvjaeyjisppkrtjgicuoznuiaawuzijqlaitwplrqnrzsqqbntbertuhhlhoeipjbdnulxrfvktjhxneb", "url": "http://wrstfifgtklfbwmqptbjsbc", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://zodhmnmjimwphbkewxukjvazlexvvdbqeiisokzmnkiyerqlybdxwdepa", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://vqeagphntxncuifocfsnitzzepovygxtxrcabxwuwyggtvjobsoclwhitsbhwkmwpbitugwiflzurcowcdsjzrxjldmvjzeklff", "created_at": "Sun Jun 28 07:14:31 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 586147772574238679, "created_at": "Wed Apr 05 23:30:54 +0000 2017"}, {"id_str": "9844750624479970", "in_reply_to_user_id": 30881194, "contributors": null, "text": "wdmihqqkxrechwgfvsazflivwqgipklmctrazlokycigceycgzglejpysrtujqshnjtbhkemsxnuabiifcgloktgdvor", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "240226269198709615", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "30881194", "truncated": false, "favorited": false, "in_reply_to_screen_name": "lrnvvnqdkz", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 9844750624479970, "favorite_count": 1, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "hitdinrqxinwcmmyywixjmohkwzuoscsbqzmnlswdhxdtkdeqehmmyxrzxalfhohpaiubsavsdirmnxouloaojirwaunlgwcafbpmcscvepjbyoxkowbdxegbmicynvnifswfwosgdmrjhpzsytlyhnzgpwnxwjp", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://mrjhshvcgznuggqkdlnbqdnhmzzbochsqxaibazhzjqpezoeejihuizzqxazezrxilnztwiodmcqxidsdmcsoetvvflqgq", "follow_request_sent": false, "name": "yhdmnswhsjjaunsc", "statuses_count": 32524, "profile_background_image_url": "http://efwreesqihkzpwzlqwnvezzawmdqxshtuczmlgbpitivwfeczyzcczxmaabpfgdnmrmovajotizicorvzogzpvlkbbfzw", "screen_name": "nhejtmwrvl", "lang": "en", "profile_image_url": "http://gxtdftuwwzebjyhtjgsimyqgnxieidodggvpadehsmgdnczcnuaibfgdihmrynavlfmvuvhrqyvtkthdnweimzbgyptuvhtdzn", "url": "http://lepidfrhbwesvdrxolqtvhj", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://xstmcstufcmjcmyflnumewglllrnvqiklbqndttrxtoesjdcjxtuajdtn", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://bcuinlntnnsridukgrwdjpynhbgaruyxjwghoxvkivhoewxktpggfhaklwzlkitrkieihsigcdboyseekotggjpfgsghbvxqlbu", "created_at": "Mon Jun 29 07:14:42 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 240226269198709615, "created_at": "Mon Apr 03 23:29:10 +0000 2017"}, {"id_str": "332027991584101146", "in_reply_to_user_id": 635465480, "contributors": null, "text": "iznsuguudrhyipliiaueydouiixbzqecdnnjdnyhgmyevtgvualbbdkebkfqgnlfaixlctkkgjpuopzjxdwivorisvwcjadlroxxjiluvlqxrwinrzxpymz", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "17621568228661316", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "635465480", "truncated": false, "favorited": false, "in_reply_to_screen_name": "cqasmeen", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 332027991584101146, "favorite_count": 1, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "tchobhvvvusfaacksagrkqcbiotfepvftogfjbdxwwyjwwnuvfeslylaorhspmhcigigupembousjcuwujpnxudvylcbnpykylviaxsnnriqzibwkzpwbuhayzcspohmfbiogigkokmuotpqbtckixocvqhclbrv", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://nhcjvbginhaurkvhauvcxepnvbrfwjlishdijxjfgkdeorjddxhsfynxyezmkjpwohtvwcjclvsasgbdoyftrwpxcmoagb", "follow_request_sent": false, "name": "dmdagxalpzpirltv", "statuses_count": 32524, "profile_background_image_url": "http://butpqkmjrmmomhdlwhoxrqiwrfwbrwzgrmlxkyccbbdqdgueafczzloqcpjjmjyjdbrxadoxicumyljueqqluesbocyxt", "screen_name": "btkpdxcatp", "lang": "en", "profile_image_url": "http://gmfpuboqiknllbdplwlkqktunaeyimrirgwcahimipjkasbcyujaevhxuvuvsiggnqywvrlemsknhfpkxfarvbmjdzfuvptogp", "url": "http://qucdxzscxofsqjeqdonseqv", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://dhfmunqskcgrhuddqukgccsszwildkdzlhqdiedmdgdcnddzeurkmwcsn", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://mhmwjwovlemgoxksgxgxvfqkceizsmwaozatzicvwccwewnwajsvkewijfwwwclgklvdodrncpyrlfernoozqjauzrxfgjhdxur", "created_at": "Thu Jul 02 07:14:20 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 17621568228661316, "created_at": "Mon Apr 03 23:20:13 +0000 2017"}, {"id_str": "886661901859172684", "in_reply_to_user_id": 652923760, "contributors": null, "text": "oaohazggncngmgrmubxmxepuhqocjnafarstyzsdtcgrplynzrhzwmmapvkekubiqjhwfccwiouzcflrdmfftntezacffkbkbdbiecqfjbmsxfpcdstqqilrwpavxecbyhenvsup", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "674698537850406751", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "652923760", "truncated": false, "favorited": false, "in_reply_to_screen_name": "xsmeindafh", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 886661901859172684, "favorite_count": 1, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "oltevfusmystvqgylenugaibwesswuozgpuoryocetkaekymhcmaabmmqhgyqngouyjyhmkpstaenauuddbklhhqbbihvkyvldmokvlibxgnyfiokdfauxvzduwouwkjtxakxqrggqeovsartgfmsgjnwcbykrhz", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://bqtdewsyggxhzdvhkagejkzkvpbufnjrabilnvxtpyadwzlkybypifnhkbhuvhojzhoncjqvobpvxpxgbyxmxrurvthmrr", "follow_request_sent": false, "name": "cyqufvtfvcmcsrvz", "statuses_count": 32524, "profile_background_image_url": "http://nyuqdrligkbwuxnhtoflcsvtzvczzabltrgmhawfvoxatuojkzbgcaqgnbmmonpdkvyxnxvukqmkmtiklsasdnxfcsinp", "screen_name": "wudzuabyah", "lang": "en", "profile_image_url": "http://ckvaqerqimhkrqxljnojgqazrivktgbqruenekdqozhdzccdwabrqjwgqllltqkucxcmnsopzeylijjdpqjqgplqjlssnybfct", "url": "http://nnrtghhhcqaydbgtitfqoqu", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://gngptsnixlepatezfogafdlkqmtyqgjpjphusmddmutsbjhfcnbhddiaw", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://ttyxftjngvgioffzvyepadwjzincgstjskryyscmwegulhkgazkmvlnrtlggfkytnwozarjaykaehasoclotziywtlxcaqdsftm", "created_at": "Tue Jun 30 07:14:42 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 674698537850406751, "created_at": "Wed Apr 05 22:38:38 +0000 2017"}, {"id_str": "86556950229182276", "in_reply_to_user_id": null, "contributors": null, "text": "hirbdmnntrclxslyfehjwbnmwzvglbosbgdjbrwocpksnklbbyhzjpwfoqmziccwdhcbfhetxghmfzrdfdahjilfkhkdfqapzduzjexnlenzzjdanhufbvqtiuzvuxkrcxzkmdbfddpjstxp", "geo": null, "retweet_count": 5, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 86556950229182276, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "spazietyjucvgtlmuwyqasakrajdtdzkeipiigeopjdgycfjtrbbbdwvvszfbrqshapiuceykqzwbzindxjfmzvoyyyuabrwiiaajewnvkdlgweoognndysgmqidwmnyfgetranvlrqtnjeoutfiavjbczlqdlws", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://dwkxxpqqxfwltvgvfohfdetsershhmyrocxprirufjqrxraalofkeherrrmsmtqsyffayjpzxmlcqybstapqgucmeclfzx", "follow_request_sent": false, "name": "kiqgwxddbofanwdt", "statuses_count": 32524, "profile_background_image_url": "http://qnvvlrsnaxtybqptbrvncsjiidfsspbjzwiszqxihiosgtcghlzsqyovgyjbshjddeivuhashpgxjcoccxamjkkifguxc", "screen_name": "awqnzjiqyl", "lang": "en", "profile_image_url": "http://qpxxewsvcqlhzfvlfzhgtcpavmhrrxsnvwccrfdrmcbhtzkeotlvfxbnosfbhylsvzwlhwwmjtfptsjzgholshmbzubsaooave", "url": "http://gescnwuqlukmijfzimtidtw", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://yojcpvhvusisilbtnvgceiqxjzgfzfgqcrjynoelbcemjsqjtjxudopfi", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://dqgpwrnstpxxeeaamadankontsgjuezlejcgvmqarkzqurdnvjjiihrriddszwfcgehwlekvolktuhijyapirbgrlzqbvxhfdln", "created_at": "Sun Jun 28 07:14:32 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "292605407656901817", "in_reply_to_user_id": null, "contributors": null, "text": "kjyszirghcokrayeyikxytfuwthoptbrjohpiyfnueiumybhmultmdjjsrrbaldiziylumeidkaznbuaebnhhnijwfrkcoltojupcnksfycvwfkuhbwkabvjgmvotxxzlyxjipvtkgxhn", "geo": null, "retweet_count": 5, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 292605407656901817, "favorite_count": 11, "entities": null, "user": {"default_profile": false, "id_str": "8601354", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 3367, "location": "Toronto, Ontario", "description": "lchxzlldbuqcxvtrjtsqdrpsmdqdztxtqtkfdecpctibdcjjtgkpgeuonoekohkscxhiswhrtxqwidusxxvuugyompeevcpqnzpfhmouhejgmyfcljqnxuuasjwkfupyv", "following": false, "is_translation_enabled": false, "favourites_count": 7271, "is_translator": false, "followers_count": 3770, "geo_enabled": true, "listed_count": 192, "profile_background_image_url_https": "http://ehkekqfkhjuotyytnsimzfdfaumntuotyeidojvgbjebdcwpoooekohuhnyfuccnwzcqjxgahseafgl", "follow_request_sent": false, "name": "kamlccanxrevfrnmbs", "statuses_count": 36785, "profile_background_image_url": "http://wuedhvuytxribvvhgwdhavtpbsjahbluuznotaunstnxcyqbccwfwiecgfeyyyxydxibwkaopirbvs", "screen_name": "dmotxbatmb", "lang": "en", "profile_image_url": "http://tjglunzprqoqwlwxdjefhnaihnmurfjoxurduodhihzrnwnkjhlcwsgkxucljxvhngkkcniqnf", "url": "http://zztqptrqceirwgswhqirnsm", "protected": false, "profile_background_color": "ACDED6", "id": 8601354, "default_profile_image": false, "entities": {}, "profile_link_color": "1B95E0", "translator_type": "none", "profile_sidebar_border_color": "EEEEEE", "profile_banner_url": "http://igqqnnuneqinybdxnhsccnxiorvthpnevqrxiibbuydzutpkwuubsdzv", "profile_sidebar_fill_color": "F6F6F6", "profile_image_url_https": "http://nsnhrxkiouerwmntamcxfqepmsdubpdubarvbvirbjlunwljsrptqequnpoinurxryrhxcemwhm", "created_at": "Sun Jun 10 16:04:13 +0000 2007", "time_zone": "Cairo", "verified": false, "utc_offset": 7200, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 21:32:52 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Thu Apr 06 22:37:52 +0000 2017"}, {"id_str": "114708837658765106", "in_reply_to_user_id": 50200407, "contributors": null, "text": "wyjhayypyxjogqrnpcbeaxywctzvgzgyeepzesygrtekyropfpsnltsmzjqozdeuoirwjvukevkbtyzordmfakmucajexoyrzfvxiadiclvnalpnqbqdaqxazqoeqnxijddejaop", "geo": null, "retweet_count": 3, "in_reply_to_status_id_str": "926003544245173396", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "50200407", "truncated": false, "favorited": false, "in_reply_to_screen_name": "khqjmuzwvy", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 114708837658765106, "favorite_count": 15, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "mylovenzxncnpqctgeapcxzqhacveaxbumnmkahcccdjafwlngcmcjpyxlquuxbsrbtlvtoyqvcwppfaetwbtehlcaouppmqrndtekkdiiuzmoolwxdyqfabqctmjvffnygovljfqzglnyiclfjjmqgeuhvpkszi", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://gbemoenerbxlocnvwqfiqfqsdiwvdjzqluaxafgkfsvvsvvyzrrchtymucwmubyywselnmxmuyzjgyoagimqmdagwgaohh", "follow_request_sent": false, "name": "jddgoahfnxldcsxf", "statuses_count": 32524, "profile_background_image_url": "http://cnhvylkbnrdkcqoqagivxbvqquztiunfaxmfgnhxpnrxoqolrkbgtdprywnzkrtuujnsffsemnyjuexexiameehiqhjsj", "screen_name": "vdpxqwpbwq", "lang": "en", "profile_image_url": "http://cysbbpmjfpynkklldqelqgkkqnxfupemkjcmjfihnsndfcihcalwkqfstrlmirejyxcbdbhuxiyhegtfnzuyluddkflpucbuxh", "url": "http://obfmicqluxgcdhqadjtypdv", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://wwdrttjmgvpozfkvipcqjudydpqzcuzaypdchfxmfhjdwmrpgyxzdvgam", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://jmloiudycgylrmcqsirxjraqvejguwewfypsjxqjlnlnwpovctrlrgvmsonsomqnstsemmubgltdoqfdtipzqkgzsymrchvesls", "created_at": "Tue Jun 30 07:14:14 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 926003544245173396, "created_at": "Wed Apr 05 22:09:11 +0000 2017"}, {"id_str": "398169920325246168", "in_reply_to_user_id": 37139704, "contributors": null, "text": "zlvkjafrvupqrgmzxikjipviuolpujfsofjspgwtaqvhvaxwzbgvkrfobskmgjpdadkooduicpiiixwoklbkgphdwyswmkbycyqtuhbeanaothvyvquvjikrmdvhybsleismnexlz", "geo": null, "retweet_count": 8, "in_reply_to_status_id_str": "373722769915501158", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "37139704", "truncated": false, "favorited": false, "in_reply_to_screen_name": "ovkhzztjor", "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 398169920325246168, "favorite_count": 13, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "txlopjgazjwpbebogmvkhovuhpnhijoszimpjeelasuptvurwyjoomitzhobpcqfgevqntkqyybpqwcsznxivyaigfwfvhijpnxvqukagftzjvlfnkkxhclmwqgbkjkbiuemzxkyblxbcqncncdgwybswienujus", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://pchinjgwhycamqojmjpqlvxrfmpkbackeufpspgmtijumgjxrdpydjqqitxopvycfkaenyguqgzymhwimdwqsxyppxqxqi", "follow_request_sent": false, "name": "ntwyfaelztztaolz", "statuses_count": 32524, "profile_background_image_url": "http://ixaxndlqqrhfpxdluhnyfnjvejcxgeevbyueacxnwnrvjldbueqkvtlmhwozebklwaarrvsrkrmzcyojfpluwbunyhgpe", "screen_name": "krdemyymhc", "lang": "en", "profile_image_url": "http://puwxssyzudifcpimkxwqxovdsupbmrtibvmzgzeigecgkabxlmmnvnsmkdfabdwtaapilkxlznjsniwsrbhwskxbqwjqjhbxax", "url": "http://bizavbgsruprmjqycvxspki", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://hnfsgahirebqkkqncuhbemmgzocsihbnqepcvtuxfoaxjgdwhhgrhcwyg", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://fwcquwihzgagqwussrjqiekzxcjhcqvjlxgqnclstvezgxfyznckkiobkthjapayrcnhcqbncubwhpbyqepwbrpwvxjjdtgxaax", "created_at": "Tue Jun 30 07:14:43 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 373722769915501158, "created_at": "Thu Apr 06 21:55:10 +0000 2017"}, {"id_str": "304013366581928926", "in_reply_to_user_id": 19774968, "contributors": null, "text": "ffvzytxgusbmzrrsxmdhquwhwwjrvcqtllxduspbqonughpqzercshwjwpwuaogxekjenuqjmjpwkxtqonnqgowxithyqmsshkochbonajyqlirhobdkfvcwjnvcwndogscvsjaib", "geo": null, "retweet_count": 4, "in_reply_to_status_id_str": "67771128649002906", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "19774968", "truncated": false, "favorited": false, "in_reply_to_screen_name": "ziksbvafrg", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 304013366581928926, "favorite_count": 8, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "szamzagccypgdptglvuphmdcxociezbnccmveegadyxnathwahfvsiadhvaezcbtwqrzsfmogdknecqnnesmwbukjtcsllrwfdqccnkagwsugszmldvemshbrzsgpigneumosjhhwkktbsjpyzzcdpiobigjcmfg", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://acebuzcwobkqazibdukrisjmecuibocvvmgdavehyeedohpeorbqkbcspahbgopsekigqkkwqyrreugpyssbupldeogedm", "follow_request_sent": false, "name": "xjhfyccsnlpyqvxr", "statuses_count": 32524, "profile_background_image_url": "http://bqopqblakceusfsttxqrlateanbxxyqafhmgzluqscznmjfnbpdebnzlgafrpzcfbfmezjvlsbolcqporjaqdovcpucat", "screen_name": "pehydzkxqh", "lang": "en", "profile_image_url": "http://kzktlbdjwubsfogmvdlwwewbpfgkczgbilyeabqzdqhqhiwbiymdawdiwzndwtgkuryhmotrlmkgadjjicvbifqnswzqpsckme", "url": "http://pwhsfuruvnmlmdzogsofeto", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://tservgfxcsgvnytfvvnmbzgxpykccjunrsakisijmdjnmecxghdlmilid", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://avarkskeezqzpsakxqbpouecmldnngqwynvpmfjbafectbwbmmkfwrjivxrseoglzzgxfmcknlwkmqkssmfzepbuhgqyvuvsfht", "created_at": "Wed Jul 01 07:14:28 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 67771128649002906, "created_at": "Tue Apr 04 21:52:36 +0000 2017"}, {"id_str": "900589113518599719", "in_reply_to_user_id": 27312063, "contributors": null, "text": "ixijaloyuylhsuuawkfutjyeksmqegskioobiqouvjgcsbxmqaczbjvektmociphuhbqjwgdczgcjgrvhkuojjmkeopxhxiyituoqawkweuxalwzfjrrxtkqmdfivsslfghttpau", "geo": null, "retweet_count": 3, "in_reply_to_status_id_str": "180609287610955595", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "27312063", "truncated": false, "favorited": false, "in_reply_to_screen_name": "emqxwtxxmj", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 900589113518599719, "favorite_count": 5, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "dqkhsoizxycthakopthqxljhmyxwyjvruqndakuyqltwrjlbhexwcscnvoqywacozgfwzriqugbjbokombibgtknjrwmmittghvbetauwbyopkzyzqukfgjsfteviprbceapatjgyuiafmvxkoonrsmyxfpuhscz", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://kjjsogduljjzhhnkosbcnybybqafoalnkwdkrytpfvoshptulsdmxbhsebnwgycynmypuvueqxcmkrdacbnysegcvdrksq", "follow_request_sent": false, "name": "txdqlrmcwgjxkxjk", "statuses_count": 32524, "profile_background_image_url": "http://vyztewlpvqejawqvhghlqnnzmuggohgdenegzzwqqgoyxlgathuiebwbjowahczjritxdcyaybqyhubzpfazgkxchkvob", "screen_name": "scsqfwzwzk", "lang": "en", "profile_image_url": "http://ozuqqnsroxwccgrpbrtoxlphrtbfppkuepbveiwuwlqvrsvlpjohanucfudvetbzvgyekycecyzdckiukwjkgdthguyzcxreap", "url": "http://rhiukebrkuzbeaplkcoamga", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://yqecmeacdjpefyiuijubrvzabjawkxbkuohhmkfexcuzbjoegimxikuzm", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://tsqvcfbejdaoabeamioinpxvxwlkkvrvtmdbonitwcltlilautasmfhucfvubhqcbpycscgysmrnnjcgdltpbjcpbkjmdwnwrpm", "created_at": "Thu Jul 02 07:14:23 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 180609287610955595, "created_at": "Tue Apr 04 21:51:15 +0000 2017"}, {"id_str": "984781251359171232", "in_reply_to_user_id": 12138257, "contributors": null, "text": "odlfwyysfraxlfgcnsjbgsunojpyhpqkazspostknpkrjpusyhmorryqqnpulpfxwkvkkvcibwgjvjrvoatiiujmwxaaywqpurpdwspeaqsxqwooglwfvpnvivagdgxjzyeytczbrva", "geo": null, "retweet_count": 2, "in_reply_to_status_id_str": "153250729118228914", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "12138257", "truncated": false, "favorited": false, "in_reply_to_screen_name": "wuszrthlnf", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 984781251359171232, "favorite_count": 9, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "oobrnptgxchrnwbegajjyqjkiqlwidfqfqvkqumdlmlfmljiakbmrowwiedwncdbirsxzqtgpnwctudecadfkcgfqekwyfpvaerjpuxkgtmpsznbtmpwwhwgqgrconlhivwzeloibynvqprozbvyoouwthcejiep", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://ljmrjcxvigqhdxmxijkcfihgbfrroxvppcvdxrxvknpdcygnltxmphxbprzopidxxahjjzhpdbssfqwqsorwkjudpyvzhu", "follow_request_sent": false, "name": "gqgrpgoeqavabcyz", "statuses_count": 32524, "profile_background_image_url": "http://gjxpdsnrfonffsindtudfhxlsufvvuwqqdnwzhujfqsvrpljchodpexublguuvukfbpttyrfcaonwgekldajfxgpjwbsp", "screen_name": "qyxroyuqqh", "lang": "en", "profile_image_url": "http://uapdzoynborvzuhghrlprgaxoawuathnifzultpuoxqzrrxfvukakfbntodwifhdlhoibwboixywjudqnfawokzinyuwcmhfcx", "url": "http://qxyzkylhtjshdarfcqlkeee", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://onzqrxvjhfvxhpvyhoelmajnlepdwalofmrtcwjimdlhayjiyjjthiwcg", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://mhpzdebnmevkstxwpzjlpncgyzykjqxujhapfvptzwfrzupjnsogfxmglldddtxrvteronxtdukqcpdglqfofkifveeedknxdmd", "created_at": "Sun Jun 28 07:14:38 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 153250729118228914, "created_at": "Wed Apr 05 21:50:02 +0000 2017"}, {"id_str": "556497062065499021", "in_reply_to_user_id": 19823963, "contributors": null, "text": "jqzqkxsatcfrpvwujutedhfjrnzrwcmuptysydiwuxlyqxatlqpzrcjvebidokraxjiedzagfkzlazqfdonvzeynobmdrgqeoacjsxorjkjyztgbqoflrkndlzcsmloyjnuokytzuope", "geo": null, "retweet_count": 2, "in_reply_to_status_id_str": "947406202217142523", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "19823963", "truncated": false, "favorited": false, "in_reply_to_screen_name": "bflzgmfksm", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 556497062065499021, "favorite_count": 17, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "shqriahojiusumwnjdisjwugwirimfpqpjrmbasjchwycfywscrcksmikkapwvisoctrvmjefhjypzkekvesbspqeerrhlxymggokorkftghxhvqgdotcsqmrnqgwkwuhqkotimwpohewhpqmzxmeuqxtbslfwfr", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://qhyiyifdrzohaiiyhumqxdrsgyrhbthwddgqdbagjpaljkhkiiendkybhnindoyxiwfzzxlthkjxcantdwdaomwpqimrkb", "follow_request_sent": false, "name": "gweafgneqvvlgljh", "statuses_count": 32524, "profile_background_image_url": "http://kachfxnwdgxlckxkvyplqohjykjdwujgalnomiajmlnbeiksniimhentezlxkrbeclqzjkknshkxylwkhxqxdofitwcoq", "screen_name": "zsrqssywsq", "lang": "en", "profile_image_url": "http://hjceyyatnulimrplnivhjpyekjhvkvrlfaltxorutyrrhxyyebugebszmzbowupwjqqqjbecabgrjmzndlndithdgfqjenognl", "url": "http://qtyjdlzasybujdzhygvjkvs", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://kvqlcirdqdzxlqtybxxozsrlpxfsnweshbeuqtlnwlwfkdodymzoxwxdt", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://sslenjlfymbfxecsbwjugmixpbjmhgnbdvsuspbcrltzwhsleddzzdswjzbrbbzjndrgvirdffpiqoukivgefgcsopbnnnotsik", "created_at": "Sun Jun 28 07:14:37 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 947406202217142523, "created_at": "Thu Apr 06 21:47:21 +0000 2017"}, {"id_str": "687874398345662099", "in_reply_to_user_id": null, "contributors": null, "text": "txhkbdauwiouukjysnrvnejoyokrowxlyfbhjkiljvqzskrmdplooq", "geo": null, "retweet_count": 2, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 687874398345662099, "favorite_count": 22, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "byggttlguvlgbxthszcfiehllqysluzokiorrtouszprmjpqjzhpkcimqibqcpfwcolqcwflzvoxfkfkjrxzqiyjvymjtitemdweuzzmlusmeoqvisgkokfxdstyrwuwzprqrsjnbfcghwevvwtjqxxpndjcpsfs", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://wwsmpqxaydurjfeurbjtlqywifgmbhppnwabypsfpnhmklauueztapywwhvtuntmboqfxaalwbvdaqhujzpxbcgbezexqc", "follow_request_sent": false, "name": "muxbpqmbkeicveqy", "statuses_count": 32524, "profile_background_image_url": "http://opbwvhnfckwgaaajtnhtiahevvwxgqxljmnyrwcgvmbdjmluooksgcgxhsqlqqdaphdhphprqbuoecvvcdtkmiiorbjgf", "screen_name": "uauxwnqudx", "lang": "en", "profile_image_url": "http://bwtoexmcfgvitojjjybvwuxnugzxeajnxaycrbbeeolwhmxkrnbwfomxahagafbbbclqpnablmnrfrhwcnkyqrkozztxjlfatw", "url": "http://wssdbmwdfzumsvxvcnaeplf", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://osqehinepysljezhbsuctpyrhzzxwdegduraakhgqyogvaxfyxkdvnclu", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://vhqomssffcbllzlygsukahmpvvvdcdfvkupzbjdwnqpfqoxletkyibtmbowhkhfigbkhkysidpytiqdvxsrzlrmqyzatsdsdhjm", "created_at": "Thu Jul 02 07:14:30 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Thu Apr 06 21:34:18 +0000 2017"}, {"id_str": "462917854716510446", "in_reply_to_user_id": null, "retweet_count": 12, "text": "nyxvranztgvbukuibqbfjhrmqfnisrtcowsafvdvinezyzgemimsnrdsgewezejkennmbrtiqkotcgocwdfurtskwarvlwqkeoduudwinqni", "geo": null, "contributors": null, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 462917854716510446, "extended_entities": {"media": [{"id_str": "849729894732898304", "sizes": {"medium": {"h": 914, "resize": "fit", "w": 960}, "thumb": {"h": 150, "resize": "crop", "w": 150}, "large": {"h": 914, "resize": "fit", "w": 960}, "small": {"h": 647, "resize": "fit", "w": 680}}, "source_user_id_str": "95431448", "indices": [85, 108], "url": "https://t.co/dLroPnUHM4", "expanded_url": "https://twitter.com/BostonGlobe/status/849729898134601729/photo/1", "id": 849729894732898304, "media_url_https": "https://pbs.twimg.com/media/C8rY1lKVoAAGpmk.jpg", "source_status_id": 849729898134601729, "source_user_id": 95431448, "media_url": "http://pbs.twimg.com/media/C8rY1lKVoAAGpmk.jpg", "source_status_id_str": "849729898134601729", "type": "photo", "display_url": "pic.twitter.com/dLroPnUHM4"}]}, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "tcymzmotffryejlnhlfokqqqrcezvwwequvovovbqjborsyacupbexguiorlrpotdkxoyqqgwxecayfvshzphcwxharhkzosmddbwiebnamowiiwgphgmgilwfgyazjiotccwqtgelwxfgnmtdxcvhxearwfbnqx", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://ptjumzxamaoeflupcqqvgnfoqiclrrvernnqjamqjlswxwnrzjwurqzhprcgyhrdqfakpyprlcinfzvehuapacqzkieexy", "follow_request_sent": false, "name": "qmnupcoywpxtvziw", "statuses_count": 32524, "profile_background_image_url": "http://htocrtfxrgymfkcvddhthwajthijpqelhoewvuxnauvpjzychhrfhxahoisuhawthzcizdrtxmncibbhfoognpxxbljri", "screen_name": "tbwkkoqrqt", "lang": "en", "profile_image_url": "http://frxjabvslfeywruddizeicdrfqogdjbxyudhdalenextlhzlfefaykeklvltoibfzynvdiiqijpftlcbaiyxcacaytxlwiijxa", "url": "http://divbclcsgmooweaqooxqtqp", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://myfpbzglkzttnigcdrgkjctllfthkhbkoncobybvmufplcwtrosrktbsp", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://zpaicwbadkgszcrzvxzdnjptysjkndbalhiybhqmlvbnnswqvzrvmudjqguayrthmxkcxbkhexqscrdpvmjniplvpungmypppki", "created_at": "Thu Jul 02 07:14:35 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "883403610475363644", "in_reply_to_user_id": null, "contributors": null, "text": "ytfdgnepxowbtshieeybremgqxktppmwlhnszecvmzdwaksplhvzehmgcixbmegjrnddusaojyashpoafygfwddimin", "geo": null, "retweet_count": 12, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "SocialFlow", "id": 883403610475363644, "extended_entities": {"media": [{"media_url_https": "https://pbs.twimg.com/media/C8rY1lKVoAAGpmk.jpg", "display_url": "pic.twitter.com/dLroPnUHM4", "media_url": "http://pbs.twimg.com/media/C8rY1lKVoAAGpmk.jpg", "indices": [68, 91], "id_str": "849729894732898304", "type": "photo", "url": "https://t.co/dLroPnUHM4", "id": 849729894732898304, "sizes": {"medium": {"h": 914, "resize": "fit", "w": 960}, "thumb": {"h": 150, "resize": "crop", "w": 150}, "large": {"h": 914, "resize": "fit", "w": 960}, "small": {"h": 647, "resize": "fit", "w": 680}}, "expanded_url": "https://twitter.com/BostonGlobe/status/849729898134601729/photo/1"}]}, "favorite_count": 23, "entities": null, "user": {"default_profile": false, "id_str": "58792707", "profile_text_color": "000000", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 1237, "location": "Boston, MA", "description": "fgxhzeknudkswacsrlnryznieqcarolfzdgxaxuszjnstllbtmclqralgbtzyucyzvekzowvjwviwxlewhhkwomdndyyadvghopeswyygctdqdxgoazlkqozbfppyvsycrkewtkwavimtrrkvlwjjqgkchyf", "following": false, "is_translation_enabled": false, "favourites_count": 334, "is_translator": false, "followers_count": 623959, "geo_enabled": true, "listed_count": 9736, "profile_background_image_url_https": "http://oydcfipmlnbzbrxkpltdmvljxoeutbpeuboxfhngyzvwlrqpqmajlwyugfpbqjqnoxbjbpzrtnkelmdzoluhftdbratfsuktmkkajvwz", "follow_request_sent": false, "name": "wjxllzxbfsogtplh", "statuses_count": 233708, "profile_background_image_url": "http://zhztkeuxxrjbwakxwepsdamrizkesjnwbwjdqwoionmanucutweijujgfuehrgbtoyjjzcjdtlxyoycckuvvjfengrveaciojebayaf", "screen_name": "lyosdtcqupu", "lang": "en", "profile_image_url": "http://lnafeamfsvdpepxjkxexjwczmrxuhdjddnuebjwariwfontgboefgudjnfrdwqqbcuucibuvyl", "url": "http://jpockpxhrkpoxvrohhhzdn", "protected": false, "profile_background_color": "EDECE9", "id": 58792707, "default_profile_image": false, "entities": {}, "profile_link_color": "050505", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://gclwwdqrefapaqesiqmjeszblobqhxfnqqxpujisvxovouviwwfsrtnly", "profile_sidebar_fill_color": "FFFFFF", "profile_image_url_https": "http://raqqawytelzikcpgjrqrcccnuxrzgbuyowwttqjddiwcqjohhgtaubvjxffvipopuhazrtkneka", "created_at": "Thu Dec 10 14:33:48 +0000 2009", "time_zone": "Eastern Time (US & Canada)", "verified": true, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 21:06:37 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 21:10:22 +0000 2017"}, {"id_str": "179123495406226757", "in_reply_to_user_id": 615455, "contributors": null, "text": "nldszjhauneqrnvvnhmllxmutlewqhdqqgldmqqrgsthhbfwbfzrjisfopnnxidubeuolficyceavyysuxukwsjqtmoylwg", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "615455", "truncated": false, "favorited": false, "in_reply_to_screen_name": "fxs", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 179123495406226757, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "zolepwcbqjvxxtaglrykeixwlznsgfqyjgwdwamuittmrmsmekormkxnyvwoyyvwawniihvenjzcuuuuqfcengbddlybrqpkjphgthqwhzaiqmuxmlydqduomiablhvndypellynkpcezphwptramnocvwupjruc", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://ejgzbazdndnmetgbohysmqevnrfuvopwsgplnrldekwdnoplshwdjitfcyeoqvpnmrvizatiqhhowgnqytwgoeiwlxcftb", "follow_request_sent": false, "name": "sdhnbtccfhezkniw", "statuses_count": 32524, "profile_background_image_url": "http://tmgmdkcqpszrapuqawgqmlpqsdzxyqxohcepgcyyprjxushrwnydhkomestbdywosggkrwtiwpzzrvwxugrkhagorajqr", "screen_name": "jjunrsgwjv", "lang": "en", "profile_image_url": "http://cyvwqdcnccooghaxffbuwskuoghphghrbwfptluupfwhgtiylkdkjhucfvesatlvgazbmbjxkttomdvcisgluckbclfuvzhvrq", "url": "http://rwwowkjxtikspwrkfjyukob", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://qyniiitwjxtzkovfebigbnpcwcawedvkbxuqkhlvxutfvgjnqscjtuzpu", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://kcoeavpjbndxqbgqtomqklwohcgqlsgogkvfykquoulwcpgchoxsmkprblzatxiyoatwvumkiirguqlibystnsefbfilevziutu", "created_at": "Thu Jul 02 07:14:43 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Tue Apr 04 21:07:22 +0000 2017"}, {"id_str": "986460619794742728", "in_reply_to_user_id": 203010, "contributors": null, "text": "rpyglbwxhzinoykrrswaofsphyjsesqgufpmdjmrjwwweufipzntxjruhnnrgoyhtqufuzhhuxvagoulhsjkkrqgybmzhbijkjguctmzcgzgvfagexpdkojfmkrn", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "203010", "truncated": false, "favorited": false, "in_reply_to_screen_name": "apv", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 986460619794742728, "favorite_count": 1, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "dtxvsxfdfgaktnvhbuvuuerzgopvnrkdcjbzvfmqrtjsqnthmbbjzulhauateucavurgrlxhomycvqyklaoqpjvvlpiugrbuewcjgexxdybwqlyfywcthloxxxfcxjhomuehdhpmgmjlplcycwsfwzidqddgwmbh", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://pjgvivydrrtpfruanunjbovyzelkgseuqexysjaeatztggzsuxnslewaywekvrzpdmjbmujvyffjpgmabfzzxuirsoqzcv", "follow_request_sent": false, "name": "lanuugrxldiuifod", "statuses_count": 32524, "profile_background_image_url": "http://izkuhqdvxjdlujifukkpzdftwijlcnyiciphknuiehsasgqrmwdegvzngsqnnisbhzwovclenyhskfabueazhkwfmvphf", "screen_name": "ljqvacgnfv", "lang": "en", "profile_image_url": "http://jrxjlqqjssnbxiycnnvxmcqsvkqmtydkwiegftrkwdpdhzdaddvwxwwvswqxfffrmgvypuksjfhpxugpjqabwsnuetljfkacur", "url": "http://vcbanxchyysdcffiuvvmnmi", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://hrfkunxmeewjptiwfliqiswgcihikbgowcwlpracvrezpxdqxkkghxetk", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://ubjcfsqqjqhgkvgjxdhjyudxilnmtnrtgnjmxdutpebwzozicsldckzjeteavorjndmjwgkyemkhqgvijepyhrfpflorpzcbabs", "created_at": "Tue Jun 30 07:14:31 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 19:06:54 +0000 2017"}, {"id_str": "769296845981535116", "in_reply_to_user_id": 45107324, "contributors": null, "text": "yjjoxxcochhraqveikwmtgpqpycsfnvdaysprpxuggbritfywnohagkjlgpbgjbwqyfsbstmhczcatxjklqbmdek", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "188923541742403979", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "45107324", "truncated": false, "favorited": false, "in_reply_to_screen_name": "vwhef", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 769296845981535116, "favorite_count": 1, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "vcmrkmwsexrdelnezqpalymwcscyfrxvacunkoxwjgmjabvjtpsptonkucbnnfutzxhuvrimedvoydtwlizbmaimqloiuxyivvtbkchuczabpvmcppnhdogbbifoawofgribsoaqscghzjaqjauzppvwspmpzhds", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://arkgdvanuslvpsnzzizrumuqyvykcyvttvzajwgampeykafazhumptquiuexjetragjprvflaexuxvdnuiaagvjvnkxepi", "follow_request_sent": false, "name": "aovypzrvqhbdqdqw", "statuses_count": 32524, "profile_background_image_url": "http://ivvmrwjzxxyrhqlcrxpjtncwrfabfyrihjsistagzyksqkibslxymcskkvtnvvykxirxshmgwpzwfxeysifuidjzfkqrz", "screen_name": "zzgmzwocxq", "lang": "en", "profile_image_url": "http://zhhlrhtwrduqlpafaesjysqwsmcckfpusfksbxtldrvwprmsqimvnlihvtjpcsynmckbjcbfgvdaqhatyhuwyrqchewxkkqspd", "url": "http://uialiwpmyqzuqutmfdbnndj", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://lxrwifkhixhkpbeamtsevcmtmiekgmeqaizdheyohyqhsxntzxkucswqi", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://ixoamqkcxsrizdbtwopnpllqhkrfdtyxbcpflaksuoougioniwwkyrermtjijilzdqyjgpdcuqhmhfngtqtyfzoaaeklbvaiuqp", "created_at": "Thu Jul 02 07:14:41 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 188923541742403979, "created_at": "Thu Apr 06 17:46:54 +0000 2017"}, {"retweeted": false, "id_str": "645862503222982852", "in_reply_to_user_id": null, "retweet_count": 0, "text": "mmlynzpjtabnuchbxmjmsiuzrqocshyisdusogjlbdsfvdiahlyosbejnozcpvbskwzjaxdbnejprbrbihumsofvwqippkwizfvqpgtkzvilurndzszoachri", "geo": null, "contributors": null, "in_reply_to_status_id_str": null, "coordinates": null, "quoted_status_id_str": "849562477083975680", "is_quote_status": true, "in_reply_to_user_id_str": null, "truncated": false, "quoted_status": {"id_str": "849562477083975680", "in_reply_to_user_id": null, "contributors": null, "text": "Review of Timothy Ogden\u2019s \u201cExperimental Conversations\u201d Forthcoming https://t.co/ffjNbzqAJV https://t.co/qw8A72Ugly", "geo": null, "retweet_count": 2, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "WordPress.com", "id": 849562477083975680, "extended_entities": {"media": [{"media_url_https": "https://pbs.twimg.com/media/C8pAkYvWAAE0Eco.jpg", "display_url": "pic.twitter.com/qw8A72Ugly", "media_url": "http://pbs.twimg.com/media/C8pAkYvWAAE0Eco.jpg", "indices": [91, 114], "id_str": "849562473573253121", "type": "photo", "url": "https://t.co/qw8A72Ugly", "id": 849562473573253121, "sizes": {"small": {"h": 680, "resize": "fit", "w": 461}, "thumb": {"h": 150, "resize": "crop", "w": 150}, "medium": {"h": 693, "resize": "fit", "w": 470}, "large": {"h": 693, "resize": "fit", "w": 470}}, "expanded_url": "https://twitter.com/mfbellemare/status/849562477083975680/photo/1"}]}, "favorite_count": 3, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"display_url": "marcfbellemare.com/wordpress/12416", "expanded_url": "http://marcfbellemare.com/wordpress/12416", "indices": [67, 90], "url": "https://t.co/ffjNbzqAJV"}], "media": [{"media_url_https": "https://pbs.twimg.com/media/C8pAkYvWAAE0Eco.jpg", "display_url": "pic.twitter.com/qw8A72Ugly", "media_url": "http://pbs.twimg.com/media/C8pAkYvWAAE0Eco.jpg", "indices": [91, 114], "id_str": "849562473573253121", "type": "photo", "url": "https://t.co/qw8A72Ugly", "id": 849562473573253121, "sizes": {"small": {"h": 680, "resize": "fit", "w": 461}, "thumb": {"h": 150, "resize": "crop", "w": 150}, "medium": {"h": 693, "resize": "fit", "w": 470}, "large": {"h": 693, "resize": "fit", "w": 470}}, "expanded_url": "https://twitter.com/mfbellemare/status/849562477083975680/photo/1"}], "symbols": []}, "user": {"default_profile": false, "id_str": "230049663", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 1873, "location": "MSP", "description": "Associate prof. @ApEcMN. Agricultural, development, and food economics. Editor, Food Policy (https://t.co/hOMgP2Rs2K) RTs \u2260 endorsement.", "following": false, "is_translation_enabled": false, "favourites_count": 1042, "is_translator": false, "followers_count": 3902, "geo_enabled": true, "listed_count": 255, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/230898493/Twitter.jpg", "follow_request_sent": false, "name": "Marc F. Bellemare", "statuses_count": 14507, "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/230898493/Twitter.jpg", "screen_name": "mfbellemare", "lang": "en", "profile_image_url": "http://pbs.twimg.com/profile_images/773992235004231681/tS0EUUxb_normal.jpg", "url": "https://t.co/KkVkk9q71h", "protected": false, "profile_background_color": "C0DEED", "id": 230049663, "default_profile_image": false, "entities": {"url": {"urls": [{"display_url": "marcfbellemare.com", "expanded_url": "http://www.marcfbellemare.com", "indices": [0, 23], "url": "https://t.co/KkVkk9q71h"}]}, "description": {"urls": [{"display_url": "journals.elsevier.com/food-policy/", "expanded_url": "http://www.journals.elsevier.com/food-policy/", "indices": [93, 116], "url": "https://t.co/hOMgP2Rs2K"}]}}, "profile_link_color": "0084B4", "translator_type": "none", "profile_sidebar_border_color": "C0DEED", "profile_banner_url": "https://pbs.twimg.com/profile_banners/230049663/1456179574", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url_https": "https://pbs.twimg.com/profile_images/773992235004231681/tS0EUUxb_normal.jpg", "created_at": "Fri Dec 24 03:33:55 +0000 2010", "time_zone": "Eastern Time (US & Canada)", "verified": false, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 10:00:53 +0000 2017"}, "in_reply_to_screen_name": null, "favorited": false, "place": null, "quoted_status_id": 849562477083975680, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 645862503222982852, "favorite_count": 1, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "yyoudasnmfuupselathyfovwueoxtsviahxxtvwjcuanbgzusmevutzsrectoqugvpgndwmwtuvceunrmrhdhphlcekuvsljwaokhhrlurywdsxldufaxtgzttiwfxmyptvczmodhegappkdgukydalyukwhbqex", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://nplbudirfvucuuhathissunsqxlhcbnmyloxdmznfpsmatzbcbkmtvuyhivnbnpqhjhqafztthxykpduvesawtkrqlasma", "follow_request_sent": false, "name": "vsxzwlfxxjfyeqha", "statuses_count": 32524, "profile_background_image_url": "http://wbavfevfbnzlkckfxohynftkqlyeirwfcsncfotgcdswrprausrdklsotobcpjqppsufgypranzcdfzehgbtkyymskjoq", "screen_name": "jpafqnuprc", "lang": "en", "profile_image_url": "http://rcpofytopfnvrbpvqrbprhvahmkebwedqbivjmntnaooaxepqzyrycxxseznwuexiqypogkijbiebuzmrsmuwfxokbzmrdhvas", "url": "http://hyhkhbphxxqwlckxoczteja", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://qnjfptcwrcwmlwwnndeupphzgvmkzbwpbajwndvyurwwhylwcalcogaub", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://fnmvlmhnvsldweupfrjlfluygdtnzklridoectftltobxuizorvwwralylxvytbsxoniuknyswsxztufhnvmxtcywmoofpjnwff", "created_at": "Tue Jun 30 07:14:40 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 17:45:23 +0000 2017"}, {"id_str": "437963001959246917", "in_reply_to_user_id": null, "contributors": null, "text": "phgjudfzpvempisjntghbvfovqgpboivtsqehfgnhkazuknxdhzuwykynxhdviapbcoeatabffljxjeovcmqmuyxsnzipsvzqqavcydvoqifgaetqbssdurgrljziofxjtwadlqxf", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 437963001959246917, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "hkyksykqoxiglmuwwflpmjezttqjktraukucosnoeusigouzrkxgdyggtocvymcaindvvzhlisubhonduvrquadcurwbihjawedtejdsbusqtccmjmfihytxytxmcwogdksnnestqxhgzvmzhfwdohnltefoehml", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://oqkbgiyyiefxlgffvgmqwltcbppgsxirnqmipbtcdjhfbqywajyhwhggonrrhgwgzqzrmffpfttoqenzdmiggtlbfaxudr", "follow_request_sent": false, "name": "mayjnhxhlipgsoqc", "statuses_count": 32524, "profile_background_image_url": "http://lgqpackyphxnukljemzxckdkrnkyokaqdskcdkwwifjxckovwpratrtvtcfqyxqodjxseiwbxtfjzaaotgxprquwwoxam", "screen_name": "bppldboexq", "lang": "en", "profile_image_url": "http://kzvrdgngiejejpdhyggxmmfyzjvhkyfzfqotxwewzytdxsdgzanyiqbhwncrzqhgyigecxcljiomlponcqwgvrnbdkgpppyeob", "url": "http://fukqohswenxbhqszwvlkkal", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://qzknhhctrehtpdtmcnbksrkiinonodxksyqwvfaznyaxjrpandfvlpwbr", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://oaeznbemlnfbztaiqvdznegjgihyhweqyikouywrxmgibtdbdevabehnkxppuoqfomzuaflebltlujzvnqdsjloxdngcobxuajx", "created_at": "Thu Jul 02 07:14:30 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Tue Apr 04 17:27:22 +0000 2017"}, {"id_str": "431650891220708136", "in_reply_to_user_id": 12556941, "contributors": null, "text": "aziuxdnbkobuyphnrxxaihqkybxeidjqfrdtwvzkgwqyucxzbcrgndl", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "707116516083224027", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "12556941", "truncated": false, "favorited": false, "in_reply_to_screen_name": "cejlmt", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 431650891220708136, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "lzqlamwqvopxnqfogkjkygsoknhwerondwiensqqdhkszxzvicyxzjhrdlqrzhoijledsgmupxlqytyraijjfhltisyfdroblnwcduhlegeveernsduwoeuxtvwanrgzwltcertxldtdsetlonnpaljqkrdqxgqr", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://cwsssiputabjankghvoyekecptdktbgoferuacgbpgegiobvgzxuudmckcbcyyjvhgawuckzjxmnuixvhbtskzmeyebnan", "follow_request_sent": false, "name": "hagcasmtevuqesnv", "statuses_count": 32524, "profile_background_image_url": "http://umqmnkjwafzjxrwqtlzmimlarfvgykomjbtnzigeorhnysmjfifrrbdzitxunivwfnmjkdlngpfuogxdwnlpmymmkkfod", "screen_name": "iffusfbmzz", "lang": "en", "profile_image_url": "http://ptrzmfkipqfdonezczwtsmvhmvvyeveqdjbhuidlyfpdtrimgmchssfcbopqtswacrcokqkspyruxvhkhozfvlewxqfnmnjjuf", "url": "http://bmqtwyjjhnyrmpectkybigh", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://nycrotttcppyxafiwkgpofifiqgerqgkoqlrbeocgeguovohasyfzfbih", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://rsdfqxjumlfwdhgvneiajdfbswxwytftiowrqybhxamioisxpcmxzrrcuujqrieeolgigrakftoebfdmxmodjsydtdsmxjuyywn", "created_at": "Sun Jun 28 07:14:34 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 707116516083224027, "created_at": "Thu Apr 06 16:32:37 +0000 2017"}, {"id_str": "760216196300625306", "in_reply_to_user_id": null, "contributors": null, "text": "qzztxyykprvcvarrjiovkbynuhbgcxziimkdimylznqfydpautjzkvkaxrltoxmmwjfytiowslswwgxfaqeeqxlzhrgnygkgwummqeqbkdqbajhzabbiffcgyrhlanifiqclswulqei", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 760216196300625306, "favorite_count": 2, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "enrwjgqmdqtxmnttssdsakjxsnvvsjulritqlygeuqgkobarqchgzhhwuahlsewgnlyiufjzcswhagovjrqiwfeghnysuckcxtltrguldnynvbslamogfnzgjrbnrkjapfjzdzukshzzybdlptxswdaurjfrbphr", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://dbayajqlpqszcclinivkukeikoakyefmnmevtzkyoqtjqntibjirluwfgmhopysmypwwbjcbiaerjzyozyolooadwfjwlb", "follow_request_sent": false, "name": "fatvbracsetbhbsj", "statuses_count": 32524, "profile_background_image_url": "http://ejryzolrhthfqpjhohhlacvstxhuijaaxewiboovtpiqmgaqgukvtkqqqyccngojpnbwddbhcnsxahrlgovjximxygsfv", "screen_name": "mesrfalmpk", "lang": "en", "profile_image_url": "http://wlpgrznihebvidwddlzxycmhnxdlhvusepvozxjihaqqdvpahdtlasrusywhybbpjwxoerfsidfzjwjpkyoailgyfhtgcxglqd", "url": "http://jdfgcgamoyagjevpfhvlcyf", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://wzuiggadpokhgskkdjmpwibkxchvassadrsnvvukaqyejlqhshchtigvo", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://rmgzygxrledxlaylvtagpxkansyqqjrxwpxfjcqagzafijlamhpqaghyrirfresdgyvhlkhdbvvouipnfmdfobvtcicuoayiqxo", "created_at": "Thu Jul 02 07:14:16 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Thu Apr 06 16:04:06 +0000 2017"}, {"retweeted": false, "id_str": "917678084650329532", "in_reply_to_user_id": null, "retweet_count": 0, "text": "qjjjgtlpislgvefeuwfclvgmjfnnzozdjvicvqbrwgftttxyc", "geo": null, "contributors": null, "in_reply_to_status_id_str": null, "coordinates": null, "quoted_status_id_str": "849619438613786624", "is_quote_status": true, "in_reply_to_user_id_str": null, "truncated": false, "quoted_status": {"id_str": "849619438613786624", "in_reply_to_user_id": null, "contributors": null, "text": "Facebook will use photo matching to stop revenge porn from being shared https://t.co/nLBzYR5LgF https://t.co/95wlbPfksk", "geo": null, "retweet_count": 29, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Vox Media", "id": 849619438613786624, "extended_entities": {"media": [{"media_url_https": "https://pbs.twimg.com/media/C8p0YFGW0AAPind.jpg", "display_url": "pic.twitter.com/95wlbPfksk", "media_url": "http://pbs.twimg.com/media/C8p0YFGW0AAPind.jpg", "indices": [96, 119], "id_str": "849619436747280384", "type": "photo", "url": "https://t.co/95wlbPfksk", "id": 849619436747280384, "sizes": {"medium": {"h": 678, "resize": "fit", "w": 1020}, "thumb": {"h": 150, "resize": "crop", "w": 150}, "large": {"h": 678, "resize": "fit", "w": 1020}, "small": {"h": 452, "resize": "fit", "w": 680}}, "expanded_url": "https://twitter.com/verge/status/849619438613786624/photo/1"}]}, "favorite_count": 39, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"display_url": "theverge.com/2017/4/5/15189\u2026", "expanded_url": "http://www.theverge.com/2017/4/5/15189618/facebook-revenge-porn-photo-matching?utm_campaign=theverge&utm_content=chorus&utm_medium=social&utm_source=twitter", "indices": [72, 95], "url": "https://t.co/nLBzYR5LgF"}], "media": [{"media_url_https": "https://pbs.twimg.com/media/C8p0YFGW0AAPind.jpg", "display_url": "pic.twitter.com/95wlbPfksk", "media_url": "http://pbs.twimg.com/media/C8p0YFGW0AAPind.jpg", "indices": [96, 119], "id_str": "849619436747280384", "type": "photo", "url": "https://t.co/95wlbPfksk", "id": 849619436747280384, "sizes": {"medium": {"h": 678, "resize": "fit", "w": 1020}, "thumb": {"h": 150, "resize": "crop", "w": 150}, "large": {"h": 678, "resize": "fit", "w": 1020}, "small": {"h": 452, "resize": "fit", "w": 680}}, "expanded_url": "https://twitter.com/verge/status/849619438613786624/photo/1"}], "symbols": []}, "user": {"default_profile": false, "id_str": "275686563", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 151, "location": "New York", "description": "https://t.co/W2SFxIXkC4 covers life in the future.", "following": false, "is_translation_enabled": true, "favourites_count": 1626, "is_translator": false, "followers_count": 1853810, "geo_enabled": true, "listed_count": 32795, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/481546505468145664/a59ZFvIP.jpeg", "follow_request_sent": false, "name": "The Verge", "statuses_count": 117462, "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/481546505468145664/a59ZFvIP.jpeg", "screen_name": "verge", "lang": "en", "profile_image_url": "http://pbs.twimg.com/profile_images/793336456718782464/cf1nuXC0_normal.jpg", "url": "http://t.co/W2SFxIXkC4", "protected": false, "profile_background_color": "FFFFFF", "id": 275686563, "default_profile_image": false, "entities": {"url": {"urls": [{"display_url": "theverge.com", "expanded_url": "http://www.theverge.com", "indices": [0, 22], "url": "http://t.co/W2SFxIXkC4"}]}, "description": {"urls": [{"display_url": "theverge.com", "expanded_url": "http://www.theverge.com", "indices": [0, 23], "url": "https://t.co/W2SFxIXkC4"}]}}, "profile_link_color": "EC008C", "translator_type": "regular", "profile_sidebar_border_color": "000000", "profile_banner_url": "https://pbs.twimg.com/profile_banners/275686563/1484064279", "profile_sidebar_fill_color": "EFEFEF", "profile_image_url_https": "https://pbs.twimg.com/profile_images/793336456718782464/cf1nuXC0_normal.jpg", "created_at": "Fri Apr 01 19:54:22 +0000 2011", "time_zone": "Eastern Time (US & Canada)", "verified": true, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 13:47:13 +0000 2017"}, "in_reply_to_screen_name": null, "favorited": false, "place": null, "quoted_status_id": 849619438613786624, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 917678084650329532, "favorite_count": 1, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "vzswrsevqqcbymuhzkrtkslrkadmgvuvbnewvwpvtzbbqanvavvexdykjvjmzwkmrbwcedjmeeccogeaqnjfkfkcxytcksueayckbzfkswphciswxtknjpstuwcbgghjbzmhrbudmqtddtyqkccuyfhdxschjzgc", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://koidelhxbhrwcrapzdgialcvbjidtthyvcrxrskckaldyuewrmnvhpwfmzfzppbwkqvqxpqshdboudihmqbfqchcpjtrui", "follow_request_sent": false, "name": "pqalbioqvpqdouoj", "statuses_count": 32524, "profile_background_image_url": "http://oscnvvjsysnpqdqvwswoyngraasafirgnlwuekmdlnykjqjzxuvufvtvzgsmfhfvvzjrkypvslmatzxyreucbyqwgiwrb", "screen_name": "jqbnvkymjl", "lang": "en", "profile_image_url": "http://rmimcgtavrsmhkjadwgiwvolwoavderxtjragunnbwughtbvlzjnkvlrcoelvujvtraweiordfhtbhnnedlhhffpsrvlzzpkcf", "url": "http://blnqalustghqzvkdhswbbxj", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://puybhnuzvdfjqfmpdmhhvfqvoegltzoomfmiqyuiuynyrsucgtypxwtsy", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://fjgnbkxswgxdstqvjsuzxtsjkgshuzbxtifdpqqswrkhyyodbenxidaqtrgpudaolpcbknzogmoxgeybvhlajgytelvcqwylmrv", "created_at": "Thu Jul 02 07:14:37 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Thu Apr 06 15:58:03 +0000 2017"}, {"id_str": "238854546143067518", "in_reply_to_user_id": null, "contributors": null, "text": "eedhvwiwevgcippusaaugzmmahzimnbfnnpzfqjsayefswlxxednswzdrzkkglbnqiygwtciwlyeppepgwkrtoorituyrnptkyqaruzkmeafxsysrgiwvdgiena", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 238854546143067518, "favorite_count": 1, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "fjeyxbupsqobquijjuqrgrnkdzgwobropkpdeoajghbrlxuaowfhvtrxhqldzdhmvryihhjyljraccsdbvgtswrtcyngzwxymicdjqmaudxwgrivgrlvowlyctocbursfdqbubjlleemgjnqulwihvzmfaksmnih", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://pferwblkngozakzkhjqgdincumjofrxmlojlnhfgslhqlqgeatqvklxjprwsdsmvvfnznhwlbjcrrcoxgtdehhhfhnucrv", "follow_request_sent": false, "name": "mqqtkqyxqyleylwj", "statuses_count": 32524, "profile_background_image_url": "http://wbirysmfnncwzngwgrimdpwocntemumlbbcvapmkcamdzoboupowdmlqehhaopvladrslekipkrvlkvmpjqizfysxqhjh", "screen_name": "hobfxiipqf", "lang": "en", "profile_image_url": "http://qrvhzwavwgzcnbpzrqdffcjueoczfgmnmwwdewgfiolfwkbsyutfdqicrhodfpbmkztqpydolzmbagpjnzdbppysmrzdmyhjlr", "url": "http://wphaywkuxyvrxidsffktxrr", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://cadnywylvxrsfnkqrlwsljroriltwdlisryehxlxlrnwgcajkuricbmzu", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://raokzsycvgqzvfptmiicckiavntmnxjougcfxpzwsqpzeejckbykdgnolwvtsznvtumyecbhrrtxdmiwbnfqlwhobnfkciaettk", "created_at": "Mon Jun 29 07:14:19 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Mon Apr 03 15:56:34 +0000 2017"}, {"id_str": "739340227805061653", "in_reply_to_user_id": 8258183, "contributors": null, "text": "xvksbtsttkgenvelffteudixtkbngpvhswwdqvko", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "481452351909546887", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "8258183", "truncated": false, "favorited": false, "in_reply_to_screen_name": "mmbmzixs", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 739340227805061653, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "isqkpwshijyabvequqfgjqyokvtsodhphmqhcpxseldyudsadbqaxuguyybhvrvmhlpjhkhiyrlsfvnxahefwfpjtldqcsruymopxgtmjrretyffjxefihubuhpxbyqvpcsdvmksnycgqmaqbtxfndiltatnwupu", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://kcjgoqfqpugwygdalauzdjxnkyogxjleiynolzmmshtielpmgfelowhrvqlmfsfsokasjuudpjqtvyrtludxhamrokykur", "follow_request_sent": false, "name": "kruporlcscgnrwbn", "statuses_count": 32524, "profile_background_image_url": "http://dxpvebwcusdnntlcaagmxdghyyxmhdwihgqomfwbqawduyyfrlhozwgsmirrxkgnfvfrozgnvqigifbtgwertqnwajfqo", "screen_name": "jsfzsntspc", "lang": "en", "profile_image_url": "http://cmnzuyavclbzklqswqzvxwxhmljpppyfyfauxcanzstbttsgcxbkfxqblmrhtqtyyuttfsptnuczhmrnkildusqiacuifocfiy", "url": "http://nifvewxblbgtdjwbiardjay", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://kicrjeizdhyeptugwaniwjydjiilbkadjmvhateftaimqkoxdkitphjxd", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://dxpxblqxnowtplcoihbjfqpeunlsyqbjahaivuhbkhcedwykdlxolwipwefkobkppdcfwkmlmafcrkbqyxxpujeyqiilyzttmbh", "created_at": "Wed Jul 01 07:14:15 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 481452351909546887, "created_at": "Wed Apr 05 15:49:42 +0000 2017"}, {"id_str": "73724958386058039", "in_reply_to_user_id": 2132242, "contributors": null, "text": "ksqaqctesoxlxijzblbszgdwjuzaqqgsqeqekozwkjqfpprumfxwcftnayciyjlsypcoirksqzytlmhlasurdyavhqjorkdqgrwlnmlvupspsyubgbopnuknpflykjidgsurivrmpjbf", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "278899657566837277", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "2132242", "truncated": true, "favorited": false, "in_reply_to_screen_name": "oguvjobb", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 73724958386058039, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "xruwmusbredqqkwkccbblgypntgiencmfernjzppdntalxtudsfjhfefhebcylpoczvytuixvcrqobmviuceqtrplsrioowsjvwvpdggabiwhfixwfgzwltwcbkquijrizyhymxqkuqpgtczehfcbjlgswppuimg", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://cudwzpliaekczshfkzholdwxizyfanlsgdxmmnrziywuqyqpynfchhndudfffkrtykxqezdvzavjzyrxmekktibxaneatv", "follow_request_sent": false, "name": "bolktdxcmmazjyxm", "statuses_count": 32524, "profile_background_image_url": "http://lbrhmqjdrxkjqwyogbpuhonlknasjyyfzqndhzbrrzxnkccgkbocptqrnytxkylubqjbkartqdzdgnvvzwkzyfywyzpyv", "screen_name": "klszebuhro", "lang": "en", "profile_image_url": "http://eyndvdsknyxqcsgspjexppogtdysgfbhroyspttiwbzcdnopqkylnxwezfqmyunwyztmuozagwmkevgzeodrjgijcyyrcztzpd", "url": "http://quohppgpksfzbzgtzugayib", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://kgfxuwmbtylxvullexrzjuirtwlfncawsmpmshjmahjirsiwhgmcoezmb", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://ltnfrqzvvnkupypsvuderofwrposyesuqwophzojysvftiwhroxstgihcwjyrhhrfekcfhetqphcqxdvrqgaxomarqlnnrdwjmb", "created_at": "Sun Jun 28 07:14:20 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 278899657566837277, "created_at": "Thu Apr 06 15:26:16 +0000 2017"}, {"id_str": "956841578550221321", "in_reply_to_user_id": 8624542, "contributors": null, "text": "wgtqksbbqhefuelpmjwdhdgmmzrlveekpqibtaltgoegzwhfaqyoaxvasgjknvcgwprpkzdajhsbnmhqvanxiwqzpazamaikfgledsqanaqxgtyiheqeykmetmmvhxqovrdqowrzhgvd", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "49327562699966966", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "8624542", "truncated": true, "favorited": false, "in_reply_to_screen_name": "vcelwjax", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 956841578550221321, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "gwwjivztlrgaznjukhioohvjoamwdudkjzxxrjmzupnntlnhojlicrvalsrqiizoggflxlgbheaddnalcjnchhfofgvuyglitbllbyifwererpxckpkhttydolvxonojnltwudkzreradralokjkcqqoplfehfsd", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://eipweuonbgfemlopevtyqeyolouwgympbihkrljdxajbxcgomxpzsajxqopbvzmnkoqdggutxnipshgjruxhsedhhtkzbm", "follow_request_sent": false, "name": "rwimcvibvsozpacb", "statuses_count": 32524, "profile_background_image_url": "http://cpvcmeclrupvwrmememayoejvyophcfowtavlpzlwgjocazjoabxtovdjwlkyakfqiyfdxglqrtnzkwcdfbsiwcvgyxir", "screen_name": "gdmoruvtzn", "lang": "en", "profile_image_url": "http://eejgcunwhcpqlcqngydzeuowsdkehxqqqyccthzvnaxfdpnrsocclwnfaverzzcwudabtacuabhxntshieayvwmmrotfsfskoh", "url": "http://ixnevqyyrbwfeoepnotleru", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://dtznkoxmrmeeqbtrmlpgmgtrbpdtcsjwmbezbayteankocxjevpntzsjj", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://rhclovkjvpninfnhuzkdxmtdhwozrwqqsgcgskbwrtlaydwmljabahqxbxycciijvjofncmbpjrvbnuvslzujfzqequihusazsb", "created_at": "Mon Jun 29 07:14:29 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 49327562699966966, "created_at": "Fri Apr 07 15:25:16 +0000 2017"}, {"id_str": "794741244101187175", "in_reply_to_user_id": 41736157, "contributors": null, "text": "gufltcgmuxcuziqqnvzmavlzcfvxpzmtjkajwtkeiedjejbbnbgrysvhjntgajhlescorpmhvdazwxjctxxllanlbhcohuhaafsvvhlitkndseveuixpcvbxsakloahjjejmaqfimmb", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "258841504365749063", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "41736157", "truncated": false, "favorited": false, "in_reply_to_screen_name": "necntsezto", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 794741244101187175, "favorite_count": 3, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "dwvziveshknpmjvgrnfbctgfexfbuvrributouemohctnkbrhubjfseuhhrkwhkjuuugglsfvosqfrdyanylatwascnsdgfzpvvwfinhlutodtssadyybtirgxjycudkhxvyjeiivocwrhwopnfsfopzdvcjfmrd", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://vwcvnpjwcvxnzrwitofeqkareddizzhrtybqsfopdcrxexlggzudkysclbvwxuqrvautwidhciecjlmmjgpgwwbzdjpuuu", "follow_request_sent": false, "name": "pmwbejmfywpynthh", "statuses_count": 32524, "profile_background_image_url": "http://utdhfinnrfugowjoxgqsihknguxbtbfqsnnvqvlhqgodsmvesfygtzudjkualldafmlsmckhpookdgyahgirozefwehqz", "screen_name": "fovixrviyq", "lang": "en", "profile_image_url": "http://ylnvquvddrkwbofxfwmrtklhywcirzvoolmmelaqfywyzlegataaousehycycziywrypmtanukwqwqxxsvttgcdhsdwfxkoilc", "url": "http://vxyubmyhxsxekemdcmzacln", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://uyxsdilynsdljdznmfnxjoaywdongwdwhlwfzanggrsxohcbedgyecbcl", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://kcsqhncxfvmrixramyfbtnmeeupdhelsutwdnhmrenvndqcdiffqxgionmthwxrazbaqiplmeexchfuqokvoygoqnqrxeyspffx", "created_at": "Wed Jul 01 07:14:20 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 258841504365749063, "created_at": "Fri Apr 07 14:00:31 +0000 2017"}, {"id_str": "87843536375441237", "in_reply_to_user_id": null, "contributors": null, "text": "fhszgnxcphgwbsldlidjauimdnddzdczxigcmdaoljakfyrtvbzrwywktpbpedeliouqwdgacluuncocxfwstsbhxagstrgcveemfalpoephfbzewdgtvnkozsaeyjdefhndxjxib", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 87843536375441237, "favorite_count": 3, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "qovldxkccwfavwgstylwhiwvtjwglygibwwqoulqvjigplufczfnnkvhzwltvomerlfpknkxauklmrjwuudytvgcnevlveoissnwnzesrofkmlnfuhibgyfzpvwrlgfgduyygebnrhuumvgxyjwhysvqumyjmvvi", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://fbrtwftmyxmjrbrfnromdsbrffpnlpnvizfrwaocpbvgsyidpddfijyaxwklgcgbpnoxownlyafloosviunvvppruavrqu", "follow_request_sent": false, "name": "fkwqbvnmqpxsrcqb", "statuses_count": 32524, "profile_background_image_url": "http://zkwuprkjgieuxojdozsjaluyaepbjvovvxiiqdbkcpsqfxjcvrjoewzugcigneratccmmkrjutsneddwnivcrcnksjtrr", "screen_name": "jaahfpknbn", "lang": "en", "profile_image_url": "http://kwtavyczmccugdoqiepiwyeoahmufxsyprgzkvdcopylkcmhlrlnhmbmtszekpdfgqtrvmubsseohqftzacanddjsqfoxfqdbi", "url": "http://thaobeysvtaphzzjgjxhjop", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://ayzynrckvqzrefceirvnnpolgfvsvmgheqmvjkxlrnlbkmrvspnnpjcvm", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://tvzmqqjolzfmwbxqxqurwakwstfmytocremtetclkmlyzwhskcgigvmtegnlzuhbdlasprqlarzqyvpquypimftbphhzryjhquw", "created_at": "Sun Jun 28 07:14:17 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Tue Apr 04 13:58:27 +0000 2017"}, {"id_str": "261863383401128994", "in_reply_to_user_id": 23748290, "contributors": null, "text": "bgzdfzvivfouxzqspllabdfjuvxwhyo", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "514544104098129495", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "23748290", "truncated": false, "favorited": false, "in_reply_to_screen_name": "yjtkhimblq", "place": null, "retweeted": false, "lang": "es", "source": "Twitter Web Client", "id": 261863383401128994, "favorite_count": 4, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "puoxdqjoedybitzxtftxqcrczhokpneciwnvlneuceqeqpdzprsrrjkxwnvswttkqgjhejoiyowyaomieielylukmhohoxjmbtukattwslktgyoabiflmxussjteclmcrirsqwedfhobjgrwnptswpbglytqklct", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://iuinhimvsrvunnwyducgqotmjpijignuyfkdvqhbvsfbapznlelupehyqhwyowgierkwtmntgbtpizuucekjpyearxucka", "follow_request_sent": false, "name": "njrvctucdcnssqmo", "statuses_count": 32524, "profile_background_image_url": "http://tkgekrexernprrnysrgitwgvyxtuhegivjthflcjbginedyroaoecihaurqktqtqngljlqumxleqifzhskekbjdyoyebd", "screen_name": "wyqzimixug", "lang": "en", "profile_image_url": "http://ogdhjdumzutstfeekcbjpzgqhxatfszbbbpbhgufkgjqlblbzzceceuwhvpcpdsqjkfbjcqmmywlzybbcmrpizytwnjnqgwvgb", "url": "http://dzurzmrefuhkdoyhqwehwgt", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://mscxvomjxfriondgeehwlkrwkxyayoztezthlsbstrgvhhcvdingfkhdm", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://nofmxoncudtjwdvgtkstlahwqpgywiqfkahkkenfotzzkrdmgiylbzijyprhviugwpihcckijmwsucnbeilrketujlfeswdiahp", "created_at": "Mon Jun 29 07:14:43 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 514544104098129495, "created_at": "Fri Apr 07 13:44:18 +0000 2017"}, {"id_str": "833941561764894744", "in_reply_to_user_id": 37423992, "contributors": null, "text": "znvocqziwdqxugcshyusyahoyjdzpqstbxoulxcsckkwmcrstehgqbkncjmohjecmaymebxmleydcqtccnvxjvmjgjgexyyusetebiigogntmggclmlkgjrupzcrhbikfocpaikszery", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "908048844430623797", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "37423992", "truncated": false, "favorited": false, "in_reply_to_screen_name": "yaxbyicxoc", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 833941561764894744, "favorite_count": 3, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "mwgxuovfbemliwjgafcmxalefotqapazslbvinxfmdixtvsbolhenujfowhvlcghfjkxptpnzbrrcemlvyrvhykuureuciqdgklppgsljixkvmkqygljhhscqeuidliqvvjxcfbvgkqtrsdykswqdyhsexdfkduj", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://ddnvpcaahkzfneripdyxegqnimujodgpedoxywzxbijcbkrrmaqjarocjndcryfkjbmrhvmfrzxcavbzgfwwcnfvtblmsy", "follow_request_sent": false, "name": "oyqxdpqtccyihstz", "statuses_count": 32524, "profile_background_image_url": "http://xxekrvfoeslgrbjkyoawsoovcbxgsjlvmwbrfhmlgdxqfxdiqsduykkwqwclkiebkkzoqpufhagarvaznhryelrpxiega", "screen_name": "ncimrqmkjy", "lang": "en", "profile_image_url": "http://elcjbcnlwhdwgtptdutewmjjblkqxaxfjvvazccoaudnnxturkicfiuquzkgmwkvigiszhnguoxxzrytntqjkxcngbzaffrlmf", "url": "http://fkwaypznpaqdfdzvuofyfyd", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://sbpnlqzulguyjhinyhfisczmmeqeykphcbtwctkealtmyqymxyxmddokc", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://awqyrgguxxegtoomvrfegcezaozrgaifuiixwvqdszasyebmcropxuszmivubrcqqvuqiwfwhbyjfzlamrajfydngjoetcmafiq", "created_at": "Thu Jul 02 07:14:14 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 908048844430623797, "created_at": "Mon Apr 03 13:39:05 +0000 2017"}, {"id_str": "718367464311131457", "in_reply_to_user_id": null, "contributors": null, "text": "ltoyykseqtnladnxeahtmugmqkfklxqhzjorfvvwqsivczvglrjxsuhxrywnpzbeahrzsudolzcmjhukruiyucyjfwbvcuxoczvceyzruwodllfbnixsbjpjdedplvujqgejwpicxb", "geo": null, "retweet_count": 1, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 718367464311131457, "favorite_count": 4, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "yufkfpgcygvlaloivhtiajkyhpgqnzibtoacsnnpuwodxfprtwzxuqznpsjydnvgihilpvntbwymnektfskpbdvtkrqfbvslslnlhkvptxtwsuqcuhvvliwwhexpbyazakupdyjcdavmevjwquzpbcqhigvndxcz", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://zdirbjepftpmqcyfyyzymfovpdfjfojbbivfcqbnoywhahylkwvkzvxxienycajjmwqlpkqutpfkplxjybsmedretyylei", "follow_request_sent": false, "name": "scwojpvmddyqqwgw", "statuses_count": 32524, "profile_background_image_url": "http://lnwoclofyigdnnvdlvnvsbivtjffpujdlkikjhhoykwbbxqhcccntxfqajjrmoirheadwuhemmrgzvxwulyjfhjaggwfr", "screen_name": "dlvqmzntdn", "lang": "en", "profile_image_url": "http://cmqgjbrrevzrjnxojunyclfsbcdhrduotntykygpufyrgywrqxigbyexlqcsderphtdmlgytjajanvrkbqvegbgsbkwkhbsvie", "url": "http://lgwwtqghpxjkgrhovcjtmir", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://fdwhsqfoumoyjkjjidlswzgzakzhvekcuzbbhcajjmdhmfcitgitlaskc", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://armibaqujsxojexljtfbnfjvpklsrvcdnfozkfsjsszgscmmupyuzztxjsrfefppjlqqiyzvxxwqoiwyikmnhsytqyerzvenkfc", "created_at": "Wed Jul 01 07:14:20 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Mon Apr 03 13:37:40 +0000 2017"}, {"id_str": "971527805064254558", "in_reply_to_user_id": null, "contributors": null, "text": "tgmnuwaspfuwktyruwssbxprpkhllyvublckkgogidodudidqabubmoqqhshyodnowhvshmpkprvcpuaotugvynwtkiqzhlpqnnxroonwzzjlhvnastkothnqvkupskdybhbjvxgdtdy", "geo": null, "retweet_count": 451, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 971527805064254558, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "mzlgjbynlocgxjweryzmavecwjtdhjahuaxffahkhtyvdlkvfmidnmzyqrubzjuznlgpajimnkdiulnaubyjmhckgopsnsqdvjocdqhxgdcuudjedlfmeirepgdrmwyspdcymvhworzvmyobimuvwuqyiqycquwa", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://plfjlsjcotlgvifnhirfpltzxxobykfuyescvteiwpatjirajyztbngqyngorlkzmdgrvkiogrrwdkgtleefhjazpxeufd", "follow_request_sent": false, "name": "bonlhzxgkhetnyxs", "statuses_count": 32524, "profile_background_image_url": "http://cxslkgueexrqsibgozwubzlwumhnguhlofrmqskuimvjtfakwxdjmavtcxrwmvzvbpsbxphpzwrgewnzzdvsuajgzhejf", "screen_name": "lkhlwoiqah", "lang": "en", "profile_image_url": "http://nzocwtdpvyrerjbfmrcjkcrawholujojtutbyxkyonmtpmzhytmgfjzywlrojdwovjebmujinefpvcqqzkookvhmffspinzxxr", "url": "http://soyckeclfzmxasgitkdkzvr", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://xamzytoxewylcjdhwzjpwugstwvupccjwkturuvmriuoduqlirefqbxfg", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://savwwvhdmziwwuicxqcrrvrxxsbbuhllxbwqyfifyxeakzmrpzfdkalboeetpnamhpwjhirrisulitkijzpdfjcevukwbvwatnh", "created_at": "Wed Jul 01 07:14:19 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "251120073069631270", "in_reply_to_user_id": null, "contributors": null, "text": "mhlgvafwadrslipucgemxjxikicjjbabmhziqdlktdludmqdqfjnyudlrzspztunxkcfrbjcjrjetgyojsaaivdyftrxngeehblethmoogxibeqnkclvpyzkfscoooozliionmpu", "geo": null, "retweet_count": 451, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "TweetDeck", "id": 251120073069631270, "favorite_count": 418, "entities": null, "user": {"default_profile": false, "id_str": "42029994", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 1035, "location": "New York", "description": "ynztlmxdeutnwrdrckldboqqjqnrpqqlzpsupgobhxmqjllrdjppijfpgtbrcbagyredlzdzvvvfhyqjwjichoyrraahfgmspioqihbcbouatduzppmrdbfzowwdweaibaazrm", "following": true, "is_translation_enabled": false, "favourites_count": 1049, "is_translator": false, "followers_count": 22073, "geo_enabled": false, "listed_count": 1429, "profile_background_image_url_https": "http://qlhxsnogucckfqyipxwwioejpioydvtmzqnfxptfzwpvficelbosqrxnhukecqjxedxtmvqohocyzou", "follow_request_sent": false, "name": "ixtcozqwswyb", "statuses_count": 5252, "profile_background_image_url": "http://dtjfgsfjoqiyiyrexdpcyvfprxoqbglmipbxzdqtzejrpawxhjaxyqdtihmyomnklipbigegazlkoh", "screen_name": "dsykdukyawx", "lang": "en", "profile_image_url": "http://fvlswvnvfmhffipdblyiwkdbpujejlarexaegonnxmnlqiznzvyiwdnbrfhfeipdmdjubrrqqewqjxmbhihsnroolpm", "url": "http://yitqljxxjvyynzeoofqfiv", "protected": false, "profile_background_color": "FFFFFF", "id": 42029994, "default_profile_image": false, "entities": {}, "profile_link_color": "44A644", "translator_type": "none", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://qarlmgnkxtucpivjasxmfxdalxyccschewcynqlikzsfehwwvkjjxlult", "profile_sidebar_fill_color": "FFFFFF", "profile_image_url_https": "http://vwynlocrlvjddkszjaciowrpetxdpeufbzxeehjjaqqxeztxyryflmurpbfuybbntrifmsgugxavlpdbbgztqpavswos", "created_at": "Mon Oct 27 21:51:11 +0000 2008", "time_zone": "Eastern Time (US & Canada)", "verified": false, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Thu Apr 06 12:46:18 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 13:07:12 +0000 2017"}, {"retweeted": false, "id_str": "87507943554025868", "in_reply_to_user_id": null, "retweet_count": 199, "text": "zxbbboiijjpqqckyydyrzdoxdutdhqvwjioathnocwtinasxgtgtcuktlbnznrrffipxmvdcusfveltvxmtlmlsyepcydwcclnmwdwwsocekpxvylcdxxpehsozmxlxha", "geo": null, "contributors": null, "in_reply_to_status_id_str": null, "coordinates": null, "quoted_status_id_str": "849401593636192258", "is_quote_status": true, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "quoted_status_id": 849401593636192258, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 87507943554025868, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "movcsbywojroegaocybvnlhafupgiwsnvcqcivwagntecrbzohvltpzrkzapnerykknuasrtjzypkjpnimvzosxgnzivopxowwzacfkamsfxwndljtqccdibbgcdkvsdbnwfrthzzywpsialbdnaanllqrnlifva", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://uhhxampklimaffpqkvotxmocvtkriqtwajasmefqssyfugwwolbwmftnzgnbbctnfbxyxmlxsmugyvbaqkfkbhjbbyigfw", "follow_request_sent": false, "name": "ppfuuyuxwhmrstqt", "statuses_count": 32524, "profile_background_image_url": "http://bxngzcfnuvrumgtfpxlyjrevfgqgngtzuorsmuknggtxkijoiimakqglybusdaznqwtkhuqenbfaubbpaueluwcmloajx", "screen_name": "yrqlgtoiel", "lang": "en", "profile_image_url": "http://trszdoizydbslgxwjdgdprbeansbnnskaspundgnkuzetfypbijyzlzzhgsxksavxidpzclhrqrarhwxlyotdcxciclpwxejep", "url": "http://nibdvtvxrhnuggahyqvzemc", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://eawvgmlrruzeghmbgcnnctztzsiixkgmclptjnricrgvfurdjrtehuyam", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://sserknxofasztkjmodgpqwbjoaamvaedkpscieeflsrtxlfjnlbikwclpxhfjqwqocigcwqgcfatvutfqxpmoicddeqgusebezd", "created_at": "Mon Jun 29 07:14:32 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"retweeted": false, "id_str": "213995740918186930", "in_reply_to_user_id": null, "retweet_count": 199, "text": "sakyqtwntcjxajntxklweoylatosrdhchcvulyrsbafelawjtznygaaqwafydelulgoqdkvbmwvpzzlodafwhqoddfveeqsnnonjylqnzaunlsebtlzea", "geo": null, "contributors": null, "in_reply_to_status_id_str": null, "coordinates": null, "quoted_status_id_str": "849401593636192258", "is_quote_status": true, "in_reply_to_user_id_str": null, "truncated": false, "quoted_status": {"id_str": "849401593636192258", "in_reply_to_user_id": null, "contributors": null, "text": "Huge commitment -- $100 million to support independent journalism & fight misinformation worldwide -- from @pierre. https://t.co/C2DFELFtp6", "geo": null, "retweet_count": 787, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 849401593636192258, "favorite_count": 1383, "entities": {"user_mentions": [{"id_str": "749963", "id": 749963, "screen_name": "pierre", "indices": [111, 118], "name": "Pierre Omidyar"}], "hashtags": [], "urls": [{"display_url": "washingtonpost.com/lifestyle/styl\u2026", "expanded_url": "https://www.washingtonpost.com/lifestyle/style/omidyar-charity-gives-100-million-to-boost-journalism-and-fight-hate-speech/2017/04/04/aebb013c-193d-11e7-855e-4824bbb5d748_story.html?tid=ss_tw&utm_term=.a4a0bddbc4c5", "indices": [120, 143], "url": "https://t.co/C2DFELFtp6"}], "symbols": []}, "user": {"default_profile": true, "id_str": "460470940", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 1490, "location": "Washington, DC", "description": "Wash Post media columnist. Priors: NYT public editor. Buffalo News exec editor. Nardin Kaleidoscope editor-in-chief. 'Venomous serpent' and/or 'angel of light'", "following": false, "is_translation_enabled": false, "favourites_count": 8739, "is_translator": false, "followers_count": 63092, "geo_enabled": false, "listed_count": 2464, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "follow_request_sent": false, "name": "Margaret Sullivan", "statuses_count": 10477, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "screen_name": "Sulliview", "lang": "en", "profile_image_url": "http://pbs.twimg.com/profile_images/723129006527225856/y9HBo1In_normal.jpg", "url": "https://t.co/VLlTIVVRA8", "protected": false, "profile_background_color": "C0DEED", "id": 460470940, "default_profile_image": false, "entities": {"url": {"urls": [{"display_url": "washingtonpost.com/people/margare\u2026", "expanded_url": "https://www.washingtonpost.com/people/margaret-sullivan?tid=a_inl", "indices": [0, 23], "url": "https://t.co/VLlTIVVRA8"}]}, "description": {"urls": []}}, "profile_link_color": "1DA1F2", "translator_type": "none", "profile_sidebar_border_color": "C0DEED", "profile_banner_url": "https://pbs.twimg.com/profile_banners/460470940/1394538733", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url_https": "https://pbs.twimg.com/profile_images/723129006527225856/y9HBo1In_normal.jpg", "created_at": "Tue Jan 10 20:02:24 +0000 2012", "time_zone": "Eastern Time (US & Canada)", "verified": true, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Tue Apr 04 23:21:35 +0000 2017"}, "in_reply_to_screen_name": null, "favorited": false, "place": null, "quoted_status_id": 849401593636192258, "lang": "en", "possibly_sensitive": false, "source": "Twitter for iPad", "id": 213995740918186930, "favorite_count": 418, "entities": null, "user": {"default_profile": false, "id_str": "490641", "profile_text_color": "000000", "contributors_enabled": false, "profile_use_background_image": false, "profile_background_tile": false, "has_extended_profile": true, "friends_count": 457, "location": "Honolulu, HI", "description": "blkdhminfqmbijivsfabphfrwpilfrafvpbfvnauvrkevmlabfclaynktoavjwtwrpnvkdpobsfcnjyskttnyryppwwjbgnbwozrfyymttzqorgspbwhpoecvro", "following": false, "is_translation_enabled": false, "favourites_count": 111, "is_translator": false, "followers_count": 534444, "geo_enabled": false, "listed_count": 4426, "profile_background_image_url_https": "http://qwxpsnwqjvlnfyjmzwdzichtipjzfyuqtewxpfmowmotwislo", "follow_request_sent": false, "name": "mpgywfbsobbhox", "statuses_count": 10046, "profile_background_image_url": "http://hagpstwetujnxghgponevfqzucjvpkyllixiokedxuxgssgc", "screen_name": "pbqeui", "lang": "en", "profile_image_url": "http://jkrblgcqycwelalqbtklvdnjfkracvtfshdbotrhcgpzpxsudkjeghjfiysmrnzlsj", "url": "http://emyavczkpfzclfftsnyjqn", "protected": false, "profile_background_color": "67695F", "id": 490641, "default_profile_image": false, "entities": {}, "profile_link_color": "2E2EEA", "translator_type": "none", "profile_sidebar_border_color": "87BC44", "profile_banner_url": "http://zygihvwwcozayhtfhsdofqmcionnxyifrizcovpkqdlftzedhuqdsvl", "profile_sidebar_fill_color": "E0FF92", "profile_image_url_https": "http://nlrldbvajkcvrzsfoeiatgpbdrqayxanydboryqqnjeoaqwqxzqamlmfsbjkzklnaya", "created_at": "Fri Feb 02 02:41:50 +0000 2007", "time_zone": "Hawaii", "verified": true, "utc_offset": -36000, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Tue Apr 04 23:38:56 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Mon Apr 03 02:37:33 +0000 2017"}, {"id_str": "908632706218048133", "in_reply_to_user_id": null, "contributors": null, "text": "qfypljcnrzluyqwdzoirubhjzlzspkzcrsiefcoydvybecmaweqmwxiiacqhwdtxfubonzwoftkbecfhagyplszesexwcarmmttebviwxfshgysocqoakixxajpcgrxrmgyfqhqrkhwc", "geo": null, "retweet_count": 6, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 908632706218048133, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "mxjzgmlqtawgwksspdovtnkqzjdkirbcwgtyfzbmzheevtxhnefldotwteomutjvnwwlewctjjxufgdqwxhwqfniaurmqbshoyurtbxbulsrzxcnntuodekwsylzoxeotatlrtkvxguvtpsxktmfthirlmtbnwye", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://vbttypcukhnplhnbsnydyomyplxoijfqbnixcatjxbxfbjfitppfoxqemjltlgqqcmdkpdutiqplwzayorggpqphsatgkv", "follow_request_sent": false, "name": "bliymqpfosxoiquf", "statuses_count": 32524, "profile_background_image_url": "http://hrjiwtbkbswgrorrcvzwwwhbnguwiwszsxsfzkxovwpzeitbzjqlpniwupofsrkwiulnilpmwyubspvkarucvaojceaai", "screen_name": "jmbygcdkrj", "lang": "en", "profile_image_url": "http://iuwwqfprhuoauevftuwronxeoqxpnqpbayystesvphcdmatzotyoaaevemxtswewdasqpjkyxirmozbmmdniuiykryzyslnueb", "url": "http://vuhcffjsjjstmyyxebulhhs", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://vvpwiduohhmnchbikycvtrziudwizpdlrufqvikzcwaqalxlvhcomdwhp", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://dedlntoxgkkgucfnzavjditlqelmncnaifgekojlconriwggjgiylcamtlfxpazktylcnikzeaiiwsbibjguxnrhhhvexevyqzi", "created_at": "Thu Jul 02 07:14:17 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "421549953848705150", "in_reply_to_user_id": null, "contributors": null, "text": "zpwlfuebytvarukxkbvdhjwjluzpianzvxkyulacxobbdywvoxhxuzycqikhnjjycpntacavbghveojkltebqikjtyuzuoplrbcpfpjpjyxxyzdjcpuqwvfwsquwclwxxeiuoeho", "geo": null, "retweet_count": 6, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 421549953848705150, "favorite_count": 7, "entities": null, "user": {"default_profile": false, "id_str": "7543", "profile_text_color": "3C3940", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 996, "location": "New York, NY", "description": "usdlvhktqmjkryxfhqolqdqmeimwwopwaodwbmzvlmkalfkxiowvzlagmzuxcxeehlfbttfytajhavfxempolmryjkresvqqtjdxcrlqhzmqtckoaavytnxqilgevznhfkurqlnguwbqmwnkurfitwbncsvcjxk", "following": false, "is_translation_enabled": false, "favourites_count": 3969, "is_translator": false, "followers_count": 5292, "geo_enabled": false, "listed_count": 393, "profile_background_image_url_https": "http://gpbmtnttdojqvkzpmuhqgscqqbliqhzjwmymqlrmacudxwzae", "follow_request_sent": false, "name": "clygugbzwg", "statuses_count": 7965, "profile_background_image_url": "http://elxvumjpvlngncxswfroquontfwfcdujjwukgqvwsjbjzyxn", "screen_name": "ypnmdranjd", "lang": "en", "profile_image_url": "http://offhkerqwzohlqymonqqluicdrnsusponinueeatdbjgnakwlzfniyvapoktixqonqfqvjjssdkq", "url": "http://umlkfhvlkhtmhdskefeytxi", "protected": false, "profile_background_color": "0099B9", "id": 7543, "default_profile_image": false, "entities": {}, "profile_link_color": "981CEB", "translator_type": "none", "profile_sidebar_border_color": "5ED4DC", "profile_banner_url": "http://slvdfyhzaizdiwjiqonteiyxtohbzicwycnhxsoopkzvtykzhomtzhv", "profile_sidebar_fill_color": "95E8EC", "profile_image_url_https": "http://heaypktokqxzwwjmqhjboldcqjdtzmrqfbtplayzgugxamuqmwgicgbnejcuexsvaphgpkngpbwqn", "created_at": "Wed Feb 21 19:28:13 +0000 2007", "time_zone": "Eastern Time (US & Canada)", "verified": false, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Tue Apr 04 17:05:36 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 02:28:41 +0000 2017"}, {"id_str": "531338043058034213", "in_reply_to_user_id": 30777096, "contributors": null, "text": "kwlyfwtlelnridctlpqbenaqwkqygjepcwyzxlpzdxhhkzrxgnjjamoypilcpvrrkovrdlzqycjupsjtkkmujnvjwdhcqmyaolgpppoxzhktmlfblhocqfpxarxotpcoyuxcqtkwocg", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "564286497002053784", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "30777096", "truncated": false, "favorited": false, "in_reply_to_screen_name": "enlzwenjfy", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 531338043058034213, "favorite_count": 3, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "fzgdnyudkxoynztetubihlssdlcmhpslrhmsaufssxaydjwkupexsnplpwggdkcqyhdwptseoalgshvizcwfaydytnvwqelprtnufayyupgekqqhuimaijshjiqavbupcteeqrtusapcvhnqjbpqubcsrdyfyihl", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://bdvzzfjswzwzgeyteerqncfnbmvugcyrdwudfbetgqzegbhizipfwaypadibgsmslpmpabcgdoyaowefspvmuzwihbsogi", "follow_request_sent": false, "name": "xdwkpyxvqfeqmorx", "statuses_count": 32524, "profile_background_image_url": "http://hdkisxbqnyltxwpccpwdfadnxmtjfgqtzywftodqfesnlbokopjmclllcwyoidkigreaaptnwrzafwsxsicruehnmnhft", "screen_name": "iwyvhihewf", "lang": "en", "profile_image_url": "http://trahukqwevfjmdivujyvtsursydkvzupsjuisxpjwopilrudokalrqavgitvjrkgxogovtwjndwkshokappliorxxrwnklffcd", "url": "http://ehhmubnpoyzmqpvwjqpaeqh", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://xorckzhxuoorafeawzuqfmfugiivrsanptibvsqdfcyfsjhihvehrthdl", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://vvpzvfbgcoftrrmxgbwipboqcbsxpdfognkksunujxfhsplmoeosrybtjznocpmitimxkwjyjzmqgqtrjhwtdqzdzoktlcfdwhj", "created_at": "Tue Jun 30 07:14:19 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 564286497002053784, "created_at": "Tue Apr 04 01:14:35 +0000 2017"}, {"retweeted": false, "id_str": "296958338465698741", "in_reply_to_user_id": null, "retweet_count": 0, "text": "olzklmsnnkranmmplvvzgdrdrgczrcvlwisftjdhtrsmydxdjtfmgtsbouesgrngvotlctgeyfqsvebdoiaisuhgdoaxlfpcyvbkfwiuhwdkobmsfpqxhfdptommhsrwwaoiisujioxv", "geo": null, "contributors": null, "in_reply_to_status_id_str": null, "coordinates": null, "quoted_status_id_str": "849416065679536128", "is_quote_status": true, "in_reply_to_user_id_str": null, "truncated": true, "quoted_status": {"id_str": "849416065679536128", "in_reply_to_user_id": null, "contributors": null, "text": "Why Can\u2019t Silicon Valley Fix Online Harassment? https://t.co/HxNfvRzGWn", "geo": null, "retweet_count": 1, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter for iPhone", "id": 849416065679536128, "favorite_count": 1, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"display_url": "nyti.ms/2nSlws4", "expanded_url": "https://nyti.ms/2nSlws4", "indices": [48, 71], "url": "https://t.co/HxNfvRzGWn"}], "symbols": []}, "user": {"default_profile": false, "id_str": "125265789", "profile_text_color": "000000", "contributors_enabled": false, "profile_use_background_image": false, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 332, "location": "San Francisco, CA", "description": "Director of Technology and Society @ADL_National | Imagine a world without hate | Views expressed are my own and RTs are not endorsements.", "following": false, "is_translation_enabled": false, "favourites_count": 839, "is_translator": false, "followers_count": 491, "geo_enabled": false, "listed_count": 17, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "follow_request_sent": false, "statuses_count": 1439, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "screen_name": "brittanheller", "lang": "en", "profile_image_url": "http://pbs.twimg.com/profile_images/733176189305528320/UxTrZVpH_normal.jpg", "url": null, "protected": false, "profile_background_color": "000000", "id": 125265789, "default_profile_image": false, "entities": {"description": {"urls": []}}, "profile_link_color": "1B95E0", "translator_type": "none", "profile_sidebar_border_color": "000000", "name": "Brittan Heller", "profile_sidebar_fill_color": "000000", "profile_image_url_https": "https://pbs.twimg.com/profile_images/733176189305528320/UxTrZVpH_normal.jpg", "created_at": "Mon Mar 22 07:32:04 +0000 2010", "time_zone": "Pacific Time (US & Canada)", "verified": false, "utc_offset": -25200, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 00:19:06 +0000 2017"}, "in_reply_to_screen_name": null, "favorited": false, "place": null, "quoted_status_id": 849416065679536128, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 296958338465698741, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "hwelfzfszehqdrbbtshjjellkxhgpitnterdtopsbgzbfxxlhfnjdmclanljtrsoxrrusumacoereowgojyrmiapmpjhewpmebxxkoefsarkcaqdnuxianhjmlhkdymmtgqabmiaoflgauzizfvqfscpysrglmfq", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://hnrshyhybrolujdwvwqidtlsagjadotgdsdqqhllpbfwxmttgtznlbtltidikuejbrprxvgkurqelmzduoqrmfpfruoahd", "follow_request_sent": false, "name": "xctqashlvuqscyxg", "statuses_count": 32524, "profile_background_image_url": "http://wzsdklsvmvzibcnmgfezxzmkzkulmkipircqyqsyleqisitqpjetlgvwtdzgoycdebdfloxejykipuxngtrijovjtlisv", "screen_name": "dbzotphwmq", "lang": "en", "profile_image_url": "http://rsyfadpsummebfqmjbkduhntnnnycxkxpcllutzuovcfkdyrhccufptbevdxrsorafzhcyratyiatrlhmkewvjmzcwdlaeaoxp", "url": "http://iptwragfzbhzmkorebufdlf", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://gmovifednchdrqxpbeqlhzssyuizkhpvzzbtglfjhwpxkxwmmnsjcxqhu", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://lsdvzpkaymwrrwgjuhpxmpdohgysdyeuhzrrnnzugbzabnrcwfvhovzgogwofyzehlpfmqnupxlwrfpwtpqnxlrunznyfecyqxo", "created_at": "Tue Jun 30 07:14:39 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 01:10:18 +0000 2017"}, {"id_str": "444463833537677717", "in_reply_to_user_id": null, "contributors": null, "text": "fwdevydbxnhjdlbvyrromqlbekypqbvmswjjvkpkxtxxxmewtufdauwuqajituisivovsrmkvtuvvngsnqjblzbjqwuimynlepivjrnmkfgwhilaygqtyrczdhkfhgtyvcpmszjttcuqmprd", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 444463833537677717, "favorite_count": 2, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "qglkwibkdafjpvvuwuvchhpfratnekndswyuujgadmyzrtchmphwopommoytriuhcqfhzevmatfqtzataxwehrhyzlnwgdrffqmpvvfwjzseygjjktqrpchixlersvyhwzxjuasenemypayadqeytpedjgmhemdg", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://eggduinfwoazeawhshpudcvacpijtslxyjjgoeorcprhgxxmmdhbvrzuchzrzvuyvzyrioealrduszjjsdbzpxhnhaiukw", "follow_request_sent": false, "name": "eznmvdubhkqwugrt", "statuses_count": 32524, "profile_background_image_url": "http://pkemabgqjljzbxlxzukhoembqkfscduryqairqwnjkrhzyqdvghwcrbcirogmjvoogzjmrtsbunmwlrjncevlrajzpsdy", "screen_name": "vszptzfqri", "lang": "en", "profile_image_url": "http://cdempmiaxnxztevvztttbynzhjoxsstyzopjlqhslndyfvfozijvliieinbtkbvmzpqqtzndyiydmfkzitbblvahytpsxzvhwj", "url": "http://oxjnaybqrxavpxyjfmvcpgl", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://ovoaeqqtlwkkgijeodejngnhknwfekjwvsuhtixjizyehxemnbvqdjzxu", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://ywqrmknwfjmzjozlnkcnfuixqdpjqbnuoexaihxhjadvksycywpcalrftxmdlbkxtrqbdifhehwbshavsmvmqbxyvdkpviwxero", "created_at": "Thu Jul 02 07:14:27 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Thu Apr 06 21:43:25 +0000 2017"}, {"id_str": "730083247688215119", "in_reply_to_user_id": 43374901, "contributors": null, "text": "fvvtnbelqdqfdkbfwkpegeiknuwqvlehxqmerlljpzyjylzmxqgaqczlutkxpmjtlgycstxmuebxuvwrqenjockpdxixehhjfoiwgxerjpvmfsnwzoddtqbswvsntcqwfivgyeveonzb", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "797252901104341572", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "43374901", "truncated": true, "favorited": false, "in_reply_to_screen_name": "vfppzzcxmhdm", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 730083247688215119, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "zxriqwozcvqitkmygeljuoejbxaunvkflrhewqcypxmbzimssvmbzuopnuzppkdzmipjbybgfqmedifywefuwdziyacvxzdxbuluuorhebjqfmdclodafxjfhmmbjkcxuvsmfpayusujovkocruebhiweoayafxb", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://fihrjyzopudlldrgbyvcqrpyrzozdoghuijipzmmnkeijkkiovayotdackmasdaobnrepoutoewzflknnqffztldyfgiby", "follow_request_sent": false, "name": "eorsopbqwuexerrf", "statuses_count": 32524, "profile_background_image_url": "http://osauwedjqxvzpjhzmsrqgiwvbambvxywmiivaduosxleaklmtqzjsoakwteahznjdquvuozusddoziazroldjijhjgrgk", "screen_name": "nxslbzbppb", "lang": "en", "profile_image_url": "http://orftudmfobeglrkfipjfvqyifshczsgjsqhiwazolphvpydzhqsiamcfuxwvxkhebzpzebklpdxnspkxsdjyclyibxyixjnvex", "url": "http://bnavqfgiapfmdqfrtqmrfqu", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://fvrzqigadnlmqsfbfjsmuwsndeuykqvvrqapkdbzgrbngzaijgjbbndtd", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://fqfdcryadhqqfxigkqlapextlszqjmhxbpkzstyakvdlxowtudtbtgrnlpofgqqogslomfnitbmsbczxgfftindwbhzxwscojhr", "created_at": "Mon Jun 29 07:14:26 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 797252901104341572, "created_at": "Thu Apr 06 21:40:27 +0000 2017"}, {"id_str": "343867471051715194", "in_reply_to_user_id": null, "contributors": null, "text": "qbsdizwjjcobffflfxjnskimqtrtvdwwylodavqubfvlnwuyaikolmmsebfmhsugwxdlysprhgntilgqelzbnngtdzmglqwbjmyqkqxqyxrpsiaeyeanxihamowzaqanajsmhjuypadf", "geo": null, "retweet_count": 656, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 343867471051715194, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "jzptizndvaedpcqsswuzrhgyfizxdnolgengzqtfqvxdcnavgarzraoxnyxgsnljmkfjbfwwilktucuxrmicbbolglnolxffnnexnyrzomdguchbbzqogrcmcrzaknwcsmnrfrxfbfyxrbwjkpjhqqudbsrahfck", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://vyvnkcvgvvrvwfovaskxtnnhnpjiyaclhfxtkntgmukdglruzhewwwtbxnmrwtaiwwvgagbcfrvgsfpfdygpaluxxvdkam", "follow_request_sent": false, "name": "kichsbbvclvrphcs", "statuses_count": 32524, "profile_background_image_url": "http://rxrpfizmuipugqxmbnlokjzamglxbxitivllalgfosnfxmyfectailkddqdvmgtvuaotqiphzvjzknwlkydiogynzbvsb", "screen_name": "ufcnrluvop", "lang": "en", "profile_image_url": "http://fowslpogqhfyxisqrtulozozruzvdkmxrnzjqreuoravlnkjfznnxocmqahpizmopqqdiueuxoarbemlwaybzqsapqsiebapye", "url": "http://khfgyzjgzbevfxopvmptnyv", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://xrkifpuvjrdqjkowmgjugaaklhmkzhstsnijbsqobxmnxkwoowsthnkwh", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://cfdmbvwvbkrunrwqxvhzjmgodbqsguzuhtjeeeqchhzdsryukvkjyuijpaczmikbddqxuedptrdpbflnikaejkfebwjcgiwhzmg", "created_at": "Tue Jun 30 07:14:36 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "727346018583655074", "in_reply_to_user_id": null, "contributors": null, "text": "knhgfvlzdsulmrcygpmrggbjtfhgevijdetvoeoevvqxsoehulqjwackxhahrbkyiscbpzvllmnzticayxgnmvchbqqqarhxruzhjdftjiknyascerpeefxunb", "geo": null, "retweet_count": 656, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": true, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 727346018583655074, "favorite_count": 649, "entities": null, "user": {"default_profile": true, "id_str": "593453209", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 447, "location": "New York, NY", "description": "mxlfpaxdzikhmakhjcvxkdrwbjpzahmtvqrtrcdeswlcwffiiyckzqbnxqcyfqusmvkxkaynligrsmboajskwpiserocvvnrnzvnnimzioogpouodvtwupserrkysmtdyzycanrtmafpezhqwjkg", "following": false, "is_translation_enabled": false, "favourites_count": 560, "is_translator": false, "followers_count": 33360, "geo_enabled": true, "listed_count": 1252, "profile_background_image_url_https": "http://buaoyhriidapzwazfynqdwdpwqljjkvueqegmqfrvjbxpxfdg", "follow_request_sent": false, "name": "pqhniudrbgvl", "statuses_count": 5582, "profile_background_image_url": "http://usmbrnxlymxodalzphiktucvfaoatecztzbbotruksbhnmhk", "screen_name": "pzsvgoqngklwcl", "lang": "en", "profile_image_url": "http://ranyzbqpfjvflhwesjqwzrcwuvthzxffstedhqpcuusmyyeupmwfufrayfgpgsoawsioksbqug", "url": "http://tbzlgtdtbxdqbjwiesygbh", "protected": false, "profile_background_color": "C0DEED", "id": 593453209, "default_profile_image": false, "entities": {}, "profile_link_color": "1DA1F2", "translator_type": "none", "profile_sidebar_border_color": "C0DEED", "profile_banner_url": "http://kgmspziwymygsxymaasffncizuhxzmnnbivjxxinkulhkodbovkhpafprc", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url_https": "http://forqhtiubajlipygbhmrkvmebjmlujjaakamscrdtgcycdenexfirsupwhzzkooaayyocilhhoy", "created_at": "Fri Feb 19 21:28:16 +0000 2010", "time_zone": "Eastern Time (US & Canada)", "verified": false, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Tue Apr 04 11:01:23 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 21:39:15 +0000 2017"}, {"id_str": "102612616779902672", "in_reply_to_user_id": null, "contributors": null, "text": "fwklxirimcdknptguyqulugfizgvuhonrgsspdgufdggcfalyodqjqjynfxtdhuhtvsjubcrgjnyjtffbanjpcekejbpkdtowwtjmpgvcjfrgvcznitntdrsmipzrxncamgqcidpnhufhsyh", "geo": null, "retweet_count": 14, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 102612616779902672, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "wywlirovtnivefudmolhclkjsgybjshbokwqxfcfgajikajkzjergceszxzvnfdmbsimyoyggrarqjhnwwpkmcfgcbmapjyhnupxyrxnvagsscuvwuqcdfrjoqclpfmomyxkcwxhwapfuvqddrkyfedntggdjnlf", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://sfewohkdpdmajvickluyklhqspiwtgwxwdjqmwcexfkptlhqwqqjqriyqhizyxbnmgchfojflwzscluiftsedeizesqxcj", "follow_request_sent": false, "name": "kvfekiasbzzyjswc", "statuses_count": 32524, "profile_background_image_url": "http://aigdwecqskkcmhexntgcgfbkkpazordmqderdplpjcpjvulsfuysjfyiaujxrmjzrivfirlcwzhtesofwvonzldatakls", "screen_name": "aqycoswprw", "lang": "en", "profile_image_url": "http://cxmunfcqjbhlwidtculgxzfetkbuautatgcyuxomyttzriiizlmzfpbwxisxcrpwduyihsfbcucsffhummrbipqrayvugogbvi", "url": "http://nertoqvzusgmnmhgaglkabq", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://blirnwtsrdkypwkvxgkkbsfogfjesucqsyjtzgjgsnormxwzmpiqeqrih", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://gcjjizlybkysbuibqhmlcznxynggultbwggaaflulumfcrldmyxivfpqimlhxkgjehvygxockqhwpynnfyvkxpymqvqsqqfurxr", "created_at": "Thu Jul 02 07:14:28 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "645226556615020545", "in_reply_to_user_id": null, "contributors": null, "text": "mqnekotxvsejrwcwyjoywvlicrblhhgoyxtydjudweurgrpbvzowyqqptwgpobrepfxyxxmpmnncsqplpmvhipvhrlqbdjmquijooonhbsrwdpyuqphayyhparmqxzbmwzgzkhufvfmuf", "geo": null, "retweet_count": 14, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 645226556615020545, "favorite_count": 7, "entities": null, "user": {"default_profile": true, "id_str": "65139622", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 160, "location": "Bay Area, CA", "description": "dfeplcxehizrudexrlaceeftiniaqbnvhjur", "following": false, "is_translation_enabled": false, "favourites_count": 242, "is_translator": false, "followers_count": 562, "geo_enabled": false, "listed_count": 27, "profile_background_image_url_https": "http://nnskjloynllsonbpuwfyyqgrdxvrfkqjudikblmubauwcqknc", "follow_request_sent": false, "statuses_count": 1298, "profile_background_image_url": "http://xbrlifzzqidxfaziaummhtwtksotjzawfndfmhrsasqxdtyf", "screen_name": "czwlkz", "lang": "en", "profile_image_url": "http://indwamylwjgrrbxdqzrvcchyugolijkpscosopgvrzhnxofwpxcbpznkqjrmfqcpqxukxuofneownxfnjaigaggzfm", "url": "http://cdvxbwiyzllcnlnxiwoyeu", "protected": false, "profile_background_color": "C0DEED", "id": 65139622, "default_profile_image": false, "entities": {}, "profile_link_color": "1DA1F2", "translator_type": "none", "profile_sidebar_border_color": "C0DEED", "name": "cljzsp", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url_https": "http://mgtnaczinhrlarremfbypwoogvgiwufhkgwtkwzpesdnmotapvcsjuphwbfhqnlawvnwcfeprdiswkznwoyihzlgukr", "created_at": "Thu Mar 13 16:09:17 +0000 2008", "time_zone": "Eastern Time (US & Canada)", "verified": false, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Sun Apr 02 21:00:33 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Sun Apr 02 21:37:17 +0000 2017"}, {"id_str": "940795328252963378", "in_reply_to_user_id": null, "contributors": null, "text": "anqrijnuzkaqegyhqowkbkimosogwaepyvpnusumoushujszvvvhqgxsostnsixfnpkuzzdnzpsijeamsrrqxvymghisenzstclvoqpcnaremhwvmaoynwwpiyrawksalobetmehodmmpfaqp", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 940795328252963378, "favorite_count": 7, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "qunflcmdprgsfjlvolxkahkcoeqjwgutngmyugxgxcdkbydxbtzxrhmpshzzithenoqiqyuvhdjkunlfhsdxznjosygopztmwbbewdkphrdjiwwblfldbmuvqmuukqkrivwrfnkxkfrtlennkoxkaxxqenusvhcw", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://hlnzfvrkunsszwrnnirbvbwvllflwaobrukjybolmtkerwtjigwvwdkkezmfguaylqodrxlsvhinqexnhrqyevhvhrbbxr", "follow_request_sent": false, "name": "cvakvdawomxqjrjv", "statuses_count": 32524, "profile_background_image_url": "http://mlfzbzdbvmscrsthdeltvassnnrpmfggqqeoghxmvzavmaesldhhqdvhtbozlvhufksawwpowktcadqbegvsqkisvyedx", "screen_name": "wazxwfzbbg", "lang": "en", "profile_image_url": "http://gkjkubqlwrqaxxtgnhfapwuxogjsyywwfuipnifljjjqaefvopuixhomcvueeetsuqqrungczvobjvipzffxgrkerzmrqmmcbl", "url": "http://phrymqnrfqntogycxpbytys", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://vypbikgwxtqiuooitfrchvcnjjwsrylsmaexpjbhxhikbygquskodpcdy", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://qegjbkbiealuefbommsguapcdwljrzavogzarknbigrtscpvfbqkqlbrrypuqyrwipxglojfztxlaqrqpoqotbvkqwxmazxedzb", "created_at": "Tue Jun 30 07:14:22 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Thu Apr 06 17:58:49 +0000 2017"}, {"retweeted": false, "id_str": "776311904200587976", "in_reply_to_user_id": null, "retweet_count": 2, "text": "nzrywavjqxhibrsyjqoifnzqglncbcdnyswcexferjjekfgotxbnqfvrrtjgyaykdueqasdkjzapfxlsvubycxfz", "geo": null, "contributors": null, "in_reply_to_status_id_str": null, "coordinates": null, "quoted_status_id_str": "842395922264911872", "is_quote_status": true, "in_reply_to_user_id_str": null, "truncated": false, "quoted_status": {"id_str": "842395922264911872", "in_reply_to_user_id": null, "contributors": null, "text": "Best predictor of a democratic government? Taxes that fund public goods. https://t.co/Q77LU6H8PB", "geo": null, "retweet_count": 73, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 842395922264911872, "favorite_count": 130, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"display_url": "sciencemag.org/news/2017/03/i\u2026", "expanded_url": "http://www.sciencemag.org/news/2017/03/it-wasnt-just-greece-archaeologists-find-early-democratic-societies-americas?utm_source=newsfromscience&utm_medium=facebook-text&utm_campaign=mesodemocracy-11757", "indices": [73, 96], "url": "https://t.co/Q77LU6H8PB"}], "symbols": []}, "user": {"default_profile": false, "id_str": "70784623", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 872, "location": "Mexico City", "description": "Science writer, homecoming queen. Latin America correspondent for @NewsfromScience. Other words in @WIRED, @aeonmag, @Slate, and more. Eccentric enough.", "following": false, "is_translation_enabled": false, "favourites_count": 3006, "is_translator": false, "followers_count": 1957, "geo_enabled": true, "listed_count": 115, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/685167118/26a5d7cd21a7c990c7b5dab9e79a3292.jpeg", "follow_request_sent": false, "name": "Lizzie Wade", "statuses_count": 4778, "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/685167118/26a5d7cd21a7c990c7b5dab9e79a3292.jpeg", "screen_name": "lizzie_wade", "lang": "en", "profile_image_url": "http://pbs.twimg.com/profile_images/570270796522602496/ZTiD9Hhv_normal.png", "url": "http://t.co/szjgwxKPtc", "protected": false, "profile_background_color": "C0DEED", "id": 70784623, "default_profile_image": false, "entities": {"url": {"urls": [{"display_url": "lizziewade.com", "expanded_url": "http://lizziewade.com/", "indices": [0, 22], "url": "http://t.co/szjgwxKPtc"}]}, "description": {"urls": []}}, "profile_link_color": "0084B4", "translator_type": "none", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "https://pbs.twimg.com/profile_banners/70784623/1425875151", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url_https": "https://pbs.twimg.com/profile_images/570270796522602496/ZTiD9Hhv_normal.png", "created_at": "Tue Sep 01 21:01:48 +0000 2009", "time_zone": "Central Time (US & Canada)", "verified": false, "utc_offset": -18000, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Thu Mar 16 15:23:33 +0000 2017"}, "in_reply_to_screen_name": null, "favorited": false, "place": null, "quoted_status_id": 842395922264911872, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 776311904200587976, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "hgxjbeogfbdlpjcmagnccvrtmuclibwmxbgwnucrwermmkpygpodwhcoesouixrpdfztetzafpoufvwzgmopossvesuxhwmoadijaefvhaaykcukgrghsneketaupsjcurxvtixuqqcfucjuzxrncgbyskcdfgko", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://lstchqncvhmfnrhldouljlpnigdzzfrnojhdurkcfgxhfwzgxcjhzfizrebhcmgebungdfkxlccmaxmeahxcsjibrxmryv", "follow_request_sent": false, "name": "ytrlgcvutbnfvhxr", "statuses_count": 32524, "profile_background_image_url": "http://zodypynabpjlwrsllrdanekodvospzhopkhlqnxyubckowbwfboznjyjrjezqopnexpumhxwbkvmiygxsbxwjhduvpthu", "screen_name": "fqblioenpj", "lang": "en", "profile_image_url": "http://umwhivehnthnuotdwfslwcjvdffreygaritfegjbullwriunhupkekynpawphbkbymhesdejysskcfbbyfsdhadmcdlpxckqos", "url": "http://darpcrlyjsvnnvdepjvuonp", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://jekvycippzxwqzgmgimaoylblvrwdouqwtzkyymtlzxerpjxetwxgtqrs", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://kjchwynokdkrqgytuogzoelkgqvhlvmpygnkfrfvvarkodjvxkxhytneaqwnpmojeesloonqdnmfvyzbqkofenifcplyasljqfo", "created_at": "Tue Jun 30 07:14:40 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 17:09:55 +0000 2017"}, {"id_str": "818210476452972138", "in_reply_to_user_id": null, "contributors": null, "text": "wwppnerwjxaiefwtvzlgootplnroyadeihtvwwfkiokqhxtiutsrouwfrazadtmsnvqvlxubkdiflnahnfxxkkmhplaombxhimzchzpczvtirjzswerrdgbprvszmzprefvoyzunnhvyepgs", "geo": null, "retweet_count": 7, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 818210476452972138, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "fjetmipobshfaipgbcfadsldwmhaygcxnaiopanjdtozzeurowuizughmbxcyjcbhvszfnddeuylaxqntzltewbacozcihvjoewahpcqrcspuerdeulpxkvysocxlzlxanbdxebojnwirbgiffltjulsjgpudxxg", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://hzirlyxmvjmntuefuvmmfbvolbfgaxsbitvmmdkpuryffhdfwzbxmdzwpogicwdvthtifodyvregbzvitasrndpujaknng", "follow_request_sent": false, "name": "yhavractivygntcn", "statuses_count": 32524, "profile_background_image_url": "http://tvuaprkazkejkzyjzxzeccjzhdmphnpoeoapwackhgoabvfyqpzjgxvcwtuujwvolsdxvnhuiruptxgsssjyhbnhdiwqa", "screen_name": "mzqgrdiwyj", "lang": "en", "profile_image_url": "http://sibdkaulgswlyprehcdeqevudqqnvonqzufkxmjkawwrjvqyzfmidvwuixxyyfuteaoagaesbazpwqzehbwichaybqwembftle", "url": "http://koyzkzsmeyurxkjovpkqwto", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://iqfdtiyibrwmkukxcvvnqkkgcvcwawadccyghpquifycpjwzngptqiaeo", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://hsfmhdastrninuiemloevhxeoavvphjhusrlnbfzpxssatlktbadnmmtickhkxdywylbdldqzbuqydtpphlzerzvfavkxadliqa", "created_at": "Mon Jun 29 07:14:20 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "711178038026969904", "in_reply_to_user_id": null, "contributors": null, "text": "kopmwhpqvscjaikcmitfsvfbppbqfykxdxvuqqebkmjogdkowapbjqzauczqyftmacyrrogwntpzrrporxwuxxrbetzlkjkpobzsijsrqfmmtxkvqretdldqbqeyiauhmiwyiszh", "geo": null, "retweet_count": 7, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 711178038026969904, "favorite_count": 6, "entities": null, "user": {"default_profile": false, "id_str": "66508036", "profile_text_color": "000000", "contributors_enabled": false, "profile_use_background_image": false, "profile_background_tile": false, "has_extended_profile": true, "friends_count": 1189, "location": "", "description": "ggxsqwoseqrnywvrdqgqidasolvwsletgakxupiezoqhateicofquzjqwohsmpfsnkqsniyi", "following": false, "is_translation_enabled": false, "favourites_count": 1236, "is_translator": false, "followers_count": 5354, "geo_enabled": true, "listed_count": 363, "profile_background_image_url_https": "http://njaqtfkfbtjcudlhcfaaseemhysijvdqdhnjyaxwxoydfqrfm", "follow_request_sent": false, "name": "bpwadtlkovn", "statuses_count": 7151, "profile_background_image_url": "http://hpstcieypevudvsqsopnkttuceycrcjnkedrqszktfmfkpop", "screen_name": "aflupwlcgv", "lang": "en", "profile_image_url": "http://uljrvykclpqadlvlkofndpjkpouzbtghswravrclwidecxkhaebqbmemanonzmau", "url": "http://wczbikdfuduyfmcbiasler", "protected": false, "profile_background_color": "000000", "id": 66508036, "default_profile_image": false, "entities": {}, "profile_link_color": "7FDBB6", "translator_type": "none", "profile_sidebar_border_color": "000000", "profile_banner_url": "http://gwicqxmuhawyysemxlprzqsiuoharyqkygccfdankgzgpaprgfrbllcjd", "profile_sidebar_fill_color": "000000", "profile_image_url_https": "http://zgwullakaipbsgncsecfwijeecplmoquprcktezupuyekduxiytoeceqdrmqkqlqr", "created_at": "Thu Apr 30 15:11:53 +0000 2009", "time_zone": "Eastern Time (US & Canada)", "verified": false, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 12:27:48 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Sun Apr 02 14:14:52 +0000 2017"}, {"id_str": "966057311852856495", "in_reply_to_user_id": 54324024, "contributors": null, "text": "kxrfjlzypnnqduykpqrrarvrnfelezmjfbaczjkhpnzvimkdwnlheqsmorpdweflyirwnrgycrabzryokclqhoctwrcjwxuumafqxlpmjjtwhcneujdczfeusfpq", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "136270149901683077", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "54324024", "truncated": false, "favorited": false, "in_reply_to_screen_name": "hwhsvos", "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 966057311852856495, "favorite_count": 2, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "ntutqgljucpceqhsskrywwxrnomhgiznnajakjktomcenaolpobugnvwjdjsakzzcxahzlhrshmvoimjicirgctljvtmvnjrowarmtiklhclxuenehuscjexdmjgvlktoaeqfjebzkoerxuapominpqcaiopbdqm", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://yuqbhkjuhqaacuyjtlwmsodyfyqpschufdbpbvtkczxnhskbkeuefllpisbzjvacgezagvuxpqbjrsryjuiaxfdthwgwhl", "follow_request_sent": false, "name": "zpmgziognksjqtyv", "statuses_count": 32524, "profile_background_image_url": "http://wvowoalgrcxcjeueuyfmbtzqepwafnhcirorarsgftsvinextbskhzadpsobtcivnozndivprssqzrbtegcelaxntusuv", "screen_name": "hnjnrodqzz", "lang": "en", "profile_image_url": "http://zfsfvuprznzxdqkutnquwrifomkzimokcwnmkeowjlsnrykhrtbmezpeydvgihgksnbcbgmzzdgdpajljfqcphgozlylapzljo", "url": "http://qbkcaseldtkggwcwhbqrnko", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://ndszawsskfcjdgahhumrgmcpufyrllhndxoopvnbbdmefxoidyxujidxt", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://iczjuyehlcglqucculgmccimmdyrdiprpzzmksvwqldgnzybpflkdhcwfrqjmezpdhuiqnexnwxxseyoqjngferwzjnfkohkdak", "created_at": "Sun Jun 28 07:14:15 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 136270149901683077, "created_at": "Sun Apr 02 12:51:50 +0000 2017"}, {"id_str": "863087097187884646", "in_reply_to_user_id": 34596916, "contributors": null, "text": "cucbpfxnuuoewdunspwgmexvpeotkawmwzanogrrmlyxacnemjtcbfrudgjjumgabevlicczyepkh", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "440772076078393964", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "34596916", "truncated": false, "favorited": false, "in_reply_to_screen_name": "xoojfnd", "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 863087097187884646, "favorite_count": 1, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "eitawbhudgjqmdepdzurpwrfwhvgltjacycqgzlkecaepwcsxgsfaqjpiexipqcgkbhdgyviscrctbojxcisttwjlaqyfdoffcajbzxpakomxidqgohtkcyjrwhwrkvwihuwvjlfzcuiylwhmmtamzumusbhbdye", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://hinpyqtsdaxbexotphhxtvkhkdvpmvozyegdcjfevtwougkrjuamgronfjpebffocikjmdrezebjsecwzvqafchcourwgu", "follow_request_sent": false, "name": "fnqlmfnhvrzeecvb", "statuses_count": 32524, "profile_background_image_url": "http://qxygadslvfrjzemeubezcommmasszbkgvqxjgcrjpcepeugyvubdifzhatzyigpyusjrfqtwxfozyqveutppxtakitbjm", "screen_name": "nxueqktbun", "lang": "en", "profile_image_url": "http://pmjrzeluqkipgrbwqybnvdzeikffkpyzibfpbqnoilkedqwdjusppfltowovqdqfffgtseaqbgikrmlsfgcipnfwxvasqvsucd", "url": "http://xebsqqdyxzxhjzyoknoifsz", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://itfkbhybmuprtxdutkjdaiufxawgzbsscfukhodpoelrcxtadrcliqhbr", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://zunwdetiihddafegqslgaftqjdejepmepzrnyrdpixflpdyjphwctsvzgnuopqftkotuzpqcthkzbumxwojjtgdrptmkprowwcn", "created_at": "Sun Jun 28 07:14:30 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 440772076078393964, "created_at": "Sun Apr 02 12:50:53 +0000 2017"}, {"id_str": "468120331497752673", "in_reply_to_user_id": 56368575, "contributors": null, "text": "qxcofuqjzttyjlsmgjbzgrzdyfzwwelgyqvtisrydvojbavkqqcqono", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "527629879148392054", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "56368575", "truncated": false, "favorited": false, "in_reply_to_screen_name": "avujajz", "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 468120331497752673, "favorite_count": 1, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "iwitexwjlqfmpnikkowhplhixqgltazzldszmxhzqfgqvacbhiivyovdfhwycdpfjyrwpvtnysewanylpuammmzbnzpfrusyhoiczgzvxfulgnavnskvayhilyfzuegmlfcoanejeeiglqqrlitsihyidolyhvkg", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://zeyqlpvmmbmkuvzzgobzczasentpkuykpkskfjnxsrebdkyoxetgiqwdolthuhcyxrsgacptdodjzxgfxecwkqocwmagzv", "follow_request_sent": false, "name": "jrohbvecurzfqcry", "statuses_count": 32524, "profile_background_image_url": "http://ywtmghpvxwuqgasqqktwncbbpimcfrcfomqggubzxfmiktrpgfpdbvbolsdeloyepszslmjcnuwfefiwwbshzmyoxmbee", "screen_name": "rchvdmlfpg", "lang": "en", "profile_image_url": "http://mcdhexwvqzxsiirrjhvlpbkgefvqwbofpppucutrjjxmxxqekaeyeoctxvddeiobitytjmcqwfgxpzlixrhlfqkzzegxhbvcmr", "url": "http://hykzykposhpwccatonjglxf", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://adowiaueajapjoxdoxnbgszznqnblxdegzangnvbtawvzyuvineszgesj", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://mfxlbqrsnkhalmhxmuzbedndwfmlrikacklvqplwomajbivlmhorrfzlynmdsnrjqkoyvfxnnnwfljgtylectrjlqkmgaihxqrv", "created_at": "Mon Jun 29 07:14:30 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 527629879148392054, "created_at": "Thu Apr 06 12:50:01 +0000 2017"}, {"id_str": "556314217214579389", "in_reply_to_user_id": 1528, "contributors": null, "text": "qgvfbwjdahfzjnefhgywjhomkrdqrjxlkgildeohtzlmfjqazalzkgganhuvhaqrvzlutltmmgealcraoztqlwbq", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "851079393123954054", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "1528", "truncated": false, "favorited": false, "in_reply_to_screen_name": "tnkvquq", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 556314217214579389, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "isgdwbgqdyrxrcljtbbewcqpwpvbdcvfwggglkqrincwueysyaownolbfeivvofasrjnbsjvovzbuatoyrngrwrcxufonomludwkfwmnbsuyebysgpbhebgpfqznbkqvcyawxcgcjrqkvpkizmlxaegojeeiszng", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://gaurtmiotskubfjvfnsayhnryiryhgcelwlqqtotapatjpefyhnvcwrwipisktvyzoognvaecctuublobjijhizhhkdwdc", "follow_request_sent": false, "name": "eicgsxsphlxganug", "statuses_count": 32524, "profile_background_image_url": "http://jwqhneasofcfmxnocagotlbfqasokzjbyuxbhfmsialojouczxwispkhimkbttskfrbvwwsgifyijoxqjdmrhflxjhtvq", "screen_name": "kzpivfpjog", "lang": "en", "profile_image_url": "http://jrporipftlhpixgdoslseelztuqvcgiiprprdpoodfnxwrqsfaybigwiyliybjxnmerzusmrfyzhmzkdvaiowtavfqxsgqjago", "url": "http://wbmuzhwtayyyjhrsjpxrtfs", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://ecugdinzipgslfmhobybkvwkyipxcahhizzrythyscgquawuvcrvbssdq", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://lhprezjtdelywqkdqbdiemrxxsbykxpysnraciqlzbefkwdrgxbwbfeubzqqjvajizwoivrhjbmzcholopdsmbezwafzmrhzplp", "created_at": "Mon Jun 29 07:14:39 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 851079393123954054, "created_at": "Mon Apr 03 03:39:15 +0000 2017"}, {"id_str": "224923267169193602", "in_reply_to_user_id": null, "contributors": null, "text": "gaxkazxwstczmerbqdyoqldwjbfnszeozxbznifxrgpujlhjscfjsuafkuhhnxbbfijhyledsxowmjvhfhzasqkfbawlenpvcgsszhzrkgazgndzxtdrpqteoveepmhmtwsel", "geo": null, "retweet_count": 7, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 224923267169193602, "favorite_count": 6, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "apoxaoejagerwgiobojtrcijdzmkiecyvvqnfyaidcftfeaufcfktcodhwemntotmzbxnrpddkhetovvvekomwncrrisophaeyebpbrlzfzlcmpueifklqqjtqyqmstgkecutwefvnistrgutnmnloiwrlxiowag", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://bmgxateyxslujzfglarcnvupvzzjvrjoafeulxojpilnaaxvnhrneuceoieebwfnselcitiuszavyegmtjvhmapyqfsrfj", "follow_request_sent": false, "name": "watppceggnhydiyz", "statuses_count": 32524, "profile_background_image_url": "http://nlaqznuagdvkgrdcjnaonulnxrthibfnivenowofclxpcvnoykqncbwfpkvjrotrjuqdcvitzxjuncedavacwvmwxhalg", "screen_name": "higtzbimcw", "lang": "en", "profile_image_url": "http://dpvdpfqnlbmputbdyrxjchcvvenlymzatrsbvfslujezfazexqjxcyforcffmvukjbxmyqnqmevmzrzvkuiouqkhillyeamhfm", "url": "http://ieoelkozhlwxayzrkjlhspr", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://ksjkildebzifirkjvbcsusdgluvqyfohyohpwocqsomtyjlkatxbqmfsd", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://fvavswxhlnnirlfslccfmvpjatttohsxyekvwmjlvvpoexjhtfipaulrggfvceeagnudhvuywalpkdiaescwlzscmuxeairburd", "created_at": "Mon Jun 29 07:14:22 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Thu Apr 06 01:00:58 +0000 2017"}, {"id_str": "389860954334261565", "in_reply_to_user_id": 42394676, "contributors": null, "text": "khwgkwuulabvktltwznirivwauxdwohdpvnqnzsebpwzbvbpcnebjgeycclmyivyjqdovhtdzozoqnaextldfolgakrgpizydygswjzkauugvejyzqtwbztbbqeweawsevfvnazbjkm", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "331075790546096858", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "42394676", "truncated": true, "favorited": false, "in_reply_to_screen_name": "gymptfuxxu", "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 389860954334261565, "favorite_count": 2, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "ylvhwkltbukpxnvdvqwtfgiwpyncqpkapyqdjbnwolqrkxntuiskurdwovjmrrhdovgokfrmipgabxtnlnqblchxmzyxnsoietzgfafzwuiyhwjbizxcyylbrkmhgwyqdcufnaajimydooeyzygucefufcunllix", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://uqkdyclcxbzzfwqrasebyuaklnjfbibtihqvojuhtsugxjaruueftueylgmeavzuwktvtjubywqnwkdweiddnhcxxgrvee", "follow_request_sent": false, "name": "fpjaytndkfytayyd", "statuses_count": 32524, "profile_background_image_url": "http://fijuyxtjabluexdesezhbijaeymuwtkmuvrcmqliswqxpxajuxofpyqqczsfhpzxnwpnzqebewusltwuwvnygyiiqjpxq", "screen_name": "xgznreebbt", "lang": "en", "profile_image_url": "http://cbsevoduzvbdeoqsthtcvsakdqnmkhgjnzygjfyzlbaprgqzntlgfxjjfbzkxbrfyqmezbrsfmocvcbxzbjxwheovjyupgcfqe", "url": "http://ekeeqrstqwhzasfmjqippto", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://qhzshvmgdqjvvqqdhxdfdcukuxolaczdwdgnofdeswtbtmspsduuehuyg", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://dvokaaiqxkqjbbjgvzecvelidirzlegtewkjofleivkwnymztztquydludvuijhcuhsldctzqbykzrnvnckyojwjplvldmzawap", "created_at": "Mon Jun 29 07:14:39 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 331075790546096858, "created_at": "Sun Apr 02 22:02:40 +0000 2017"}, {"id_str": "988003885880199200", "in_reply_to_user_id": 71346191, "contributors": null, "text": "namxmnbdqemnahivfrstzznhijfkfeafdctzpmxnyqyloxhphztrvzmxhluvgggqnpkavvkwziqleysayxbbjvgigxhdiahpxxhqbhjcjubgeyfrqzmeieffsbkxqnsciwfnxlsjpmme", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "859954205932245441", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "71346191", "truncated": true, "favorited": false, "in_reply_to_screen_name": "xvlsbotprb", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 988003885880199200, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "hiibqwavnsrumymwafkrscjjqwjslvngerwxeqxlbtqsifkbftlnelxmmrvdupwjseofaexaldyfrxfawjkmikqsmehwxdazolcktjuczkevjtvufwatbobruzngqiqymtdukvblrduaxufvipmrzdlqvtoaszjc", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://bjxvxjhyrqqnpytbnansttewgqzxwhaiwsrdlahxetmrsyzigmnhqvuqidfhgvsteijsebshfkyzursemoxsxarjrygssa", "follow_request_sent": false, "name": "twvmlaehnmzxudsr", "statuses_count": 32524, "profile_background_image_url": "http://rnhbmnriaplerplhgtcykksycckoftmfaethddupctpomgeehdaappfiqnixnqfdmxaquvyktrebgxdjipdhgjkqgclfq", "screen_name": "mexefoiyfg", "lang": "en", "profile_image_url": "http://egndbpytpjgaxelwaihumsrzuotlobnhjpabqvuppheykzjnwvyanzwxsozilsbbmuaakcbdvcbzfmaqbtztbbpzfzgosjalhr", "url": "http://pepgkxrkvovldllzmikrxot", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://rakvdcwsxuhytaxlkdulejjsjweeyxbqrxuanjuhyfeywcqpqoohehmqi", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://gmzveeivyguhylfveyhbucevexjsrrsjlaezqcbcspqlouiwdjfevowyxbfueybokevalrwriuscylybajgzxalchddpqcaktjc", "created_at": "Mon Jun 29 07:14:23 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 859954205932245441, "created_at": "Sat Apr 01 21:21:32 +0000 2017"}, {"id_str": "616153505103130182", "in_reply_to_user_id": 97132607, "contributors": null, "text": "eztxfpioxilxjhgndnurzbwssqzlqjfzviunhmbqauinqbcyinpxkrncegasatkbtdoeivdvicqzejtwwwjzjpmkebgbsetidfxsvwkizeboq", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "33734750126597451", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "97132607", "truncated": false, "favorited": false, "in_reply_to_screen_name": "loddeqfyxhsi", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 616153505103130182, "favorite_count": 3, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "iertsiriqdouttdhzdxmoljzgenbtjcadioaipkymfxxjntuzrchswezrugbexenmrepmhoxtpttkurzpahppfznbmzyapfbdrqgdnmdgneepaqncfjlrjtkopymilvapamoazydfewstxlpiwkesnyqwslqieda", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://aswqlamaelpguovmzdciatbmucewgknnzafupxbsrazsqkgyyexuslulvtiesmczoyfmjsqvssjcugaxmmepokfrdkifak", "follow_request_sent": false, "name": "onbhsrtjnjtuuafl", "statuses_count": 32524, "profile_background_image_url": "http://grhxnufwvsomwlurjtwhbzwbozgwbvtpxdrgoqguydhymieiupavvevxhpmvxzqaodxckgmzovnfywdemrpybndzwauvc", "screen_name": "ftxktypvjm", "lang": "en", "profile_image_url": "http://luuemqluxzhojwuyoyugvnklkdkqujptqlmhfcfglkuonjvbsgbqivsqwzhzvbqasyzuaxbklgkgjkhzcuftyyrtmjlecttxwi", "url": "http://znucsqvdmgmosqpculpkqew", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://rfkfylmgogidfxtiradlqkjhrzicldgokxefituuncdrykewuvsdobwsq", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://fewfxgwtqoymsfsuatcmgnpizgfhrtpojrmcrcstwcqbpbkzdjnacitelnzrmsbfdtoxfchyexxafrujtnomdnxltjskgwpgndu", "created_at": "Sun Jun 28 07:14:29 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 33734750126597451, "created_at": "Tue Apr 04 19:41:21 +0000 2017"}, {"id_str": "490340610372093906", "in_reply_to_user_id": 86225816, "contributors": null, "text": "fmavdtppjbnanyaywdtltjufzdfkgxhvujhcdflismbywzfbmfbamezmvjjeqblbxssqfgfkdzgem", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "835831042973406275", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "86225816", "truncated": false, "favorited": false, "in_reply_to_screen_name": "lqpqwl", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 490340610372093906, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "ugvrfpgyyrrijjdzuwkwfmfbyhtkxdniuqcwhgqfaaybbfaehmvnhnhwtjnexjukwqwrjbknndllzxufbfqioojtufyuzbmjchnutkimdccxagjpieitylikbwcqdyalljkapquixmkiyofnostzdpffveypbnpy", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://nabrjbbludtmzsjjfwxeqmzmftkbsekaxtnnsjjxnshrblmdciyayxizwaikmdlgcenpgiyjvtykpzorouciwgvaldfyot", "follow_request_sent": false, "name": "cacpzhpjnxhfnsgx", "statuses_count": 32524, "profile_background_image_url": "http://csafkglpifpmjjckwfnkxwdmrvmjuachgkubzhgfqnxvmcyhqmsgfdffsrudejgqozxnzhxyywgylskroudhdfahgzpxy", "screen_name": "cboggblulz", "lang": "en", "profile_image_url": "http://ujxqjexqtxueakytueowerpuhkjomsqemispmazyfuuobyyiwngiyoovjebsacxrruxprvqjhwuozoifqxgkonjlwwbocnpbrr", "url": "http://sfpfagfjezyjqtjxbjqezof", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://indcgylcvrzppiiwdtowbcldkvrdmukmkwrzhfkaaiqtuvqqgbjgluggb", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://ryvwaseuupxnsmvxnnsfmsirxkfgmfwofgrdnqzthrqifbksgzhwwpxzgrsgzyuskpwmjoquqjbvjotmpuqqleskfhlkslldvnc", "created_at": "Tue Jun 30 07:14:23 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 835831042973406275, "created_at": "Mon Apr 03 16:41:44 +0000 2017"}, {"id_str": "970251927831178638", "in_reply_to_user_id": null, "contributors": null, "text": "xfqygdgrlpnxsgraunqeanssvozlsctbjwxrcqafscgufboxxjafezkgvqqwnslufrgjmhepsiwrkzzgvjyckiuakuexsekpmcqxtqaomuenqohkvubqzequocegrmdyyzzwtabbzvrr", "geo": null, "retweet_count": 14, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 970251927831178638, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "nlhrzckbosftxqkrnmnvhartgcryjnqeycstzpqhyceipvgaqiarhdktqhmdodmohwlbigliqxfrcusumvebuftektwkxcxkeqtqdrkgselgvghslwbecdqrjvxtrvqpdbdffmrkbkmgcwnkxhrotmzsifilqtlm", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://bussuewznjpqpnouxnoddgdubptckjkmznjuiuekouqelpxtblcvbxdvmvobdxioldfzgdbnevvkszdyeroesjpvkeydkc", "follow_request_sent": false, "name": "letuzgttldzupuxy", "statuses_count": 32524, "profile_background_image_url": "http://gjsbzlxadskxvwvbfisaugjhfgfupmwzsosgvzfuoixaddzpxqlbjzyzrvahxptsvjehgdzmaheagzqwkrvyytrmapxlc", "screen_name": "rrugvmuhnq", "lang": "en", "profile_image_url": "http://bnzmjymnsutiecukktghqzocbfkiapgilkhfukomuuokomgkjfnmzsxlbovvchzvrhaepzwhiszgkpvujtnzycieehutromzql", "url": "http://iylgdltavagazxytlljqrom", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://enaixpskkcfozaidxzzquvpviladixbplshkitjlgxnsccnpwpvtsyfxo", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://rwadiurhfwayfdmdbuvftljzuuhpdhzoghnhqodphlwknlqmbvxxthuxqvaqnshgogfvckbrgmxolotxjnhisoxbsssxdficwom", "created_at": "Sun Jun 28 07:14:38 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "164633451188612826", "in_reply_to_user_id": null, "contributors": null, "text": "nyirevgxwmdvdroyicaxnlwdhamfgngfagaznagtmtqpwhrfhbasllrjribzkovndmiyismqakxwvujhjdqobfmluvsgvsxnhyvvtgadvzrokfirrollychedcezslwhlnyezsqhroic", "geo": null, "retweet_count": 14, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Hootsuite", "id": 164633451188612826, "favorite_count": 11, "entities": null, "user": {"default_profile": true, "id_str": "75943115", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": false, "has_extended_profile": false, "friends_count": 126, "location": "", "description": "", "following": false, "is_translation_enabled": false, "favourites_count": 168, "is_translator": false, "followers_count": 9390, "geo_enabled": false, "listed_count": 499, "profile_background_image_url_https": "http://czgnukqdvsszcmqvticscshavnzzhwrwlcyyfvirsxcgrkixu", "follow_request_sent": false, "statuses_count": 1512, "profile_background_image_url": "http://zdhaonzefarxbzbbjazbnapbjfwelyfymlxophlckaouplvk", "screen_name": "lcbhsxqd", "lang": "en", "profile_image_url": "http://xqjivyfaqxddvhphnjkwbzogwxnvemtipuifpoodxaxeuwpqtndkijvevnsvewvskojhyczgsjrrrwwgixyarduftnstiorurd", "url": null, "protected": false, "profile_background_color": "C0DEED", "id": 75943115, "default_profile_image": false, "entities": {}, "profile_link_color": "1DA1F2", "translator_type": "none", "profile_sidebar_border_color": "C0DEED", "name": "kkkanadevzhcxsd", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url_https": "http://warswsfdveeteysxvvaeadibfzqquyhlgzpllkabnnbinzdnwltycafdwmxaihibkddatyalnqxxlnobtpvduqyhhzuongrjope", "created_at": "Mon Jul 13 10:41:20 +0000 2009", "time_zone": null, "verified": false, "utc_offset": null, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Sat Apr 01 14:02:00 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Mon Apr 03 14:03:06 +0000 2017"}, {"id_str": "826691995197557469", "in_reply_to_user_id": null, "contributors": null, "text": "guqgvughjypurchdytjxzlzapfcyhojzrtfzsiqyyroyszivdigapeekrzvhhaufueyurlgaaneapbwhkrcvrjmptbcivvfomlnvlqvntnvnoakuekcysrrffnhkaqqlqmcwqoa", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 826691995197557469, "favorite_count": 1, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "zcdkyexwakbtqmnjvjpvjuzxoivykjzbghwfsftbuoawbbqboebpfqwwnkzribehdsmadnpvicoobfklcqcjmfyhrwksfwqwfgnnltzkvmvkokbcvakvtjjqlybyivpqunxmjplgynmimqzyrmuhzabdajaosuds", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://wasiahdbzypjyycpogcishmdeqagzzhhymyerdxstviumfcpbuqqkgruknlopbxsvavuhgxanbywbzqlzwqkxljupdewnf", "follow_request_sent": false, "name": "jdjkgmqskihkvhfb", "statuses_count": 32524, "profile_background_image_url": "http://larglkgwhtnaihaejlltpvzuuzbbgccuxvuhwdosbcgxncnqikpzninvfmddxxqhopuwujtigfqqhfgikzuquvpphnhoc", "screen_name": "lcdlobmqcc", "lang": "en", "profile_image_url": "http://kgegsupyucflvhoffdnkgzsebndhrlkvpdzfrhgfeenfohpdswdobwhbivqhogzvhwpcftpqgrslofthoqsarufmvejgjvuolq", "url": "http://prrghabrpqmlgxdvwckvdtl", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://axezdtultyvqvjjmoymbpkqderziunarlkjhxwykehwreusinkbjmtsqn", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://ucefhdjpqfohqnmimlbotsrpdcazhbgflerpgvlahrkbxswwydpezflrbmnirfmclvfpiulkglyshyguhnfacxczjinpegsdpik", "created_at": "Mon Jun 29 07:14:36 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Tue Apr 04 13:38:26 +0000 2017"}, {"id_str": "831505955317204696", "in_reply_to_user_id": 900323725, "contributors": null, "text": "fxtmijpwuszfdichlreihpzziagqfmplaggocksfdomwiju", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "409024800582278754", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "900323725", "truncated": false, "favorited": false, "in_reply_to_screen_name": "zcwfyhar", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 831505955317204696, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "awpyjiwxinftofawpdcyzulzzkwhlezjwnenpdjiuiacxzcxcxfizxgjbkvhyiqryuvucqcdgknbrwthkgwnhsjvfdktgtwuiqlyfkxektpknuovuhrznphwqrgykubabxcxbahdkqydhsxsqxxqcxvgcjfytsna", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://wckhopjrkemuarfpobdvjgdpsrktcakhnglbaamrdnhsxoidmkzwmwkokbntqtjfmzqcjylygejtdnoeplihklqrfkttcd", "follow_request_sent": false, "name": "fgomniufnaqfvtvk", "statuses_count": 32524, "profile_background_image_url": "http://jaohlmeidqkuhtgfonupnhdmtinofidkumxsnrekufvfokudcwkksxbblvkkmdtaornenyyzpnbucrlshtctainbynwmk", "screen_name": "ozkvzzyikp", "lang": "en", "profile_image_url": "http://tooandprawuknncsoiyrckzgakwgrqfnofdairbkhydawhwrewwkigiqanwniifyaikvkytwrqapfmzbzynwnroqspyhfxzzgp", "url": "http://rvbwmxzlxnbvhonpauiutxg", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://xsfvcwfmemokihpkkhscgqzlyfxoowhenozukyxuoztvmugjymzblddzz", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://udiprvgjoaslvmdpbvrxuqpdukbfrhcniflebmflxrdajdxfxkmeoiswuoizbptvoenelvhmxdjgcuamobdfgxxhkjxyhbueszq", "created_at": "Mon Jun 29 07:14:43 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 409024800582278754, "created_at": "Tue Apr 04 13:07:59 +0000 2017"}, {"id_str": "49143323192047985", "in_reply_to_user_id": null, "contributors": null, "text": "rsmgoyzheopmhaqbugwpkkefusvqeipdwmvpugwztbaormgoedraiytlmvjmmcaenambykcfnszygucpyfdmjzdfbgxztmkujdqgikryjdoklmmtxgexkvfayxmygsifpbrlojzctgltoytl", "geo": null, "retweet_count": 21, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "in_reply_to_screen_name": null, "favorited": false, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 49143323192047985, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "tvizpivmyridylselglbtmoshznulwboyyetajswbhsllcpmvhuhckdldjncfhddlgmgjdzdgeioeglgpuqfawzrgjweimdegztvrlrrfryhzajmhtouonzvaaezlizepeultnbhjbqnczjzpcyxiwaivvbfjfqn", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://guibgvqdkvriafvilhblpzuoccmimozknvgyxsvinpnrbazzoantvglznrspwzpirvhpumtaxcafatzuzknuzlbtnvjaqj", "follow_request_sent": false, "name": "nsidwcinxpydeugb", "statuses_count": 32524, "profile_background_image_url": "http://wnnewvcpfdtcpoydpqcwkcmdctzpzbsturpwiofkdotryjwhdogkopcmnlkfjfxctsimriihpivqbfgfpcfvvepixrafo", "screen_name": "zitmdpnwcw", "lang": "en", "profile_image_url": "http://pckxfghigolonqohhrzuxcsrqpddnaponsrnezdyheyobqzvchtzqohwsdgrcbfatepwzkeikevufzdpsjoxcpdpsqfwjmduzb", "url": "http://bqqemkntzevoqjinrbbrnyl", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://gqegsnsikstitgfijoxypdhfgkqqwouhsygyncwrhbmllnqwwkbbixqub", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://xlmjqekaqsgfmoxasvrbjtkbxhrgloqqbhhubhwzmrkrplroqyduesnjorznkvvnhkjpmmjalkanbvwabedarndpwkmevqkbfib", "created_at": "Sun Jun 28 07:14:25 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "retweeted_status": {"id_str": "519276966111238029", "in_reply_to_user_id": 62617671, "contributors": null, "text": "yusbvxlxyiutvqdzuegwykmlsyttygtfmysthedfvuavuwarfybnlvhkyjhdhchoxqhmyyatjzbdgokdnjfirdvslsjlbebgmewqxdcjjfkfsdlxrdkukvdalzpvuifvnhabcpgmbtvbprm", "geo": null, "retweet_count": 21, "in_reply_to_status_id_str": "303725568682125774", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "62617671", "truncated": false, "favorited": false, "in_reply_to_screen_name": "mwgzsd", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 519276966111238029, "favorite_count": 38, "entities": null, "user": {"default_profile": false, "id_str": "28483779", "profile_text_color": "333333", "contributors_enabled": false, "profile_use_background_image": false, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 861, "location": "", "description": "kgltcegnauqmncuibawrxovfwpwsmranmxghnsjnqraeiwlbzpjeqmjlrepuxrfenlymzjfextbsffswtolykkkdmihqxljfhxkayekzrqzqnctprtftefzscoikyudkhndgayuxlylrjopviyxonfwwi", "following": true, "is_translation_enabled": false, "favourites_count": 18609, "is_translator": false, "followers_count": 242893, "geo_enabled": false, "listed_count": 3745, "profile_background_image_url_https": "http://dkeyvpdoljxiqtygucfnwysbkzjeyoqzacwiiodrhsgbggriaieoopsmgarhzyvtzndbhouybjnjkhxr", "follow_request_sent": false, "name": "rauckgiudjjfgv", "statuses_count": 72176, "profile_background_image_url": "http://zwqsjkscvnqeowidlcvidctmvbnurvbkexjgafgzaeuommwllvpaglwwgpmqusremobneodyedasist", "screen_name": "qflrrr", "lang": "en", "profile_image_url": "http://bpjkloqlwphgkqtlhpssxtwbdeqpeqlmohavfzcoctinovyvmiobdyusbnkqnxwxiablqflpkr", "url": "http://jfhavmrfplfvtruzlclbxn", "protected": false, "profile_background_color": "C0DEED", "id": 28483779, "default_profile_image": false, "entities": {}, "profile_link_color": "0084B4", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://vhchjirpajmmpglspsklfygfqdlbhorzpbsdtzlqjgdhifazwcfnsfhlp", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url_https": "http://bwsxoygokksdtepbyihmhcosbxvfjmgfjqwjcomamringworohhxxzgtsbcgdoclrzsfusqefao", "created_at": "Tue Aug 11 14:32:31 +0000 2009", "time_zone": "Eastern Time (US & Canada)", "verified": true, "utc_offset": -14400, "notifications": false}, "in_reply_to_status_id": 303725568682125774, "created_at": "Sun Apr 02 13:04:40 +0000 2017"}, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 13:06:37 +0000 2017"}, {"id_str": "966232572548842244", "in_reply_to_user_id": 84471412, "contributors": null, "text": "eeunntrwztpqpfxwzuhxzbeygauglyhyxnpokumbfslnqdookpwicxgngoseuuckvmewvxdtajkqltyrmylgvofwbcxffhfhyeshsgbusiheftjauzdozkxxhbqsuuvjfsraqim", "geo": null, "retweet_count": 4, "in_reply_to_status_id_str": "892634631778253968", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "84471412", "truncated": false, "favorited": false, "in_reply_to_screen_name": "vayvaobose", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 966232572548842244, "favorite_count": 8, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "snpaqvntvwofsjnznnmlxdwrbtxknxqbljhtxalubdlpnqvebakyoyalpemxtewsmymaxbemrfbcdjqcyxvbgmjmnuzeisgsysutzjhwzvoxuhevduqsivtwyjrsphzkgmboptbxlnpwqgcucakfbuwvwvwkicwc", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://kixskyibouqzrhrbmbtthwzcwcufnifbwjozohltfkbqhvmbzdpdctjtcdgadzhnlmuivbgjejtldxxrladwhumepgclom", "follow_request_sent": false, "name": "swhekvnxypowbint", "statuses_count": 32524, "profile_background_image_url": "http://mlbyosvxqqbqwnpgcluofkwhnurctqhqzbkdxuqnuhbrkbyzpfnstwpeacwjtkacdgklgijphdjkivgpdutymvlfrxfet", "screen_name": "ihimnjbjyp", "lang": "en", "profile_image_url": "http://fozmebybuqyjmisjppvcegqvskaggtbjgxhtgplvblphlqvsdxqihlnzwxphjtxxxutkidgtndqbqtmdvufgmxzsgieildbrqn", "url": "http://gcnnivxmygialjqryevltiy", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://cfxwphvshppxvxhpwiavxakqvqulfxuaapimcwonbhoxjmdbnwofzbexy", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://aooxadidlbbnjrmtefkxzunuutewqfxpretmbghiwllywtzmdnykiyrvgjqbfocjxhbnvdejuqnyjyuphdrewmxuxxhlpmvxwuz", "created_at": "Wed Jul 01 07:14:20 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 892634631778253968, "created_at": "Tue Apr 04 12:49:52 +0000 2017"}, {"id_str": "504129724691158043", "in_reply_to_user_id": 46051266, "contributors": null, "text": "xsoufqxtbucqhigrrbktynqddauxuyuixofdfjweuicmnmcpvkifnwkogvrzqbxtxhhjraauymdvubygftcsmslntussvkjhepmycbubombmjusjncongdguliiulcfoxpmpukhwilub", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "474951872302138838", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "46051266", "truncated": false, "favorited": false, "in_reply_to_screen_name": "wdbrwjumao", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 504129724691158043, "favorite_count": 2, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "degbrlhyuengijkdzkcguiwczvxkjrmofjpydlrdmxeobnvmauydzchodzhbkfhmdqbqgbcmsramyhfqtbmvxsynrxmisqjmvunlrdwknitlkpnrdualkzkoucvoggrtthaqugxhdwmtaoixganjfzdnsnvrjhvg", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://jyfhditgnedpuyhlkjpyprsauyfpnafsohlewvilrxrnekyeanfsthezlueidcpzcvwixogqmxovfkozhfcrmbjtcrzusw", "follow_request_sent": false, "name": "fcujbjzkvaptlqny", "statuses_count": 32524, "profile_background_image_url": "http://umkpuliofkedpdxipdheedpqcphorpquzmgrmeiriivnwjzimpauiykcfaewnvmyxzjpperecuwhvrwwrbnpttttdtyys", "screen_name": "xoaxxiffuu", "lang": "en", "profile_image_url": "http://npuqdsivgdsqskfigkusivszpyyggiqcsgoybzadoaqnjwlicwsntdiuyzqdoepyuiftaeilqlnruayvwyvvialnonqsnwqyxq", "url": "http://sjhxfesuctusdfxxljlpbhb", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://azwgpgsajtumetzhskvzyklgdyvdrmxbavoqfapnsasplercvghrpslyz", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://lkdlpzfmlsgbqfnvxtskqltjgdzyxewsdcobxwkytiylfallhbqlkeepdvfbsxhgnwfuvbbqvzkbaeuimalthdkwmalepyvtohi", "created_at": "Tue Jun 30 07:14:36 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 474951872302138838, "created_at": "Sun Apr 02 12:44:55 +0000 2017"}, {"id_str": "497011105374439900", "in_reply_to_user_id": null, "contributors": null, "text": "vncnniocyrinxibfyazgtvzplnyooamyvujpzidkuujklgeceoreukthypftoqsdrjsfsjqbxsfxksepjlhgvumgfiywmtszfpnxrlwjvgftkehjzdoshnfbzavyjteoookbdoulg", "geo": null, "retweet_count": 1, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 497011105374439900, "favorite_count": 3, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "fogpjgkgimemgbjnppnvrhgnnwbwzyslpaqokidrcutvthwytyxnyvtwwogsgqiycmzyxwlwukpuwgxsxqqqbabyahzywgbdouxchlqxkfatxhseclyfcsfrpnydeepavnzmlpilwdumkdsyxjicllratcpbyhbb", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://clfppoaqifeenzyyemvmthfunfpwvdueijybiwlpcxoyvzfxowncozobcfiwvhbmafvpkixdlusdydlpdkivgvnxzdlksq", "follow_request_sent": false, "name": "jjfgtljxvfqyglta", "statuses_count": 32524, "profile_background_image_url": "http://kvenismphzkyagiomkojnykgdcgqhcmoiyrjgbejdckvqkoyyolailoumpxqbbpvgzgdtcvztlgkzewznfvubbyjhasry", "screen_name": "mcvjlkfssx", "lang": "en", "profile_image_url": "http://dgnvgjfxybvjzwkwjoxmeqzshvhoklmosygbacjyjrauunnikpltkqwptgxhccdxbidfcqriomhyhxvdwcgeeibhmdndikyont", "url": "http://pgearuenzomjpwkcdzpckds", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://ipvsjesnptncceyzehsygidxuehhcfrnfybdwyqxruhrskfwinseduljh", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://matvyxulppgqwejodnstwzdndbfuyutgwliguepozihdhjawafielzxwbefqqvcpjqhtidxrwjkflbllxoakrmekogmjgvtthoi", "created_at": "Thu Jul 02 07:14:20 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Mon Apr 03 12:42:23 +0000 2017"}, {"id_str": "317368668505677850", "in_reply_to_user_id": null, "contributors": null, "text": "gwvklehojtqpcgvcskhfwjtzpxxplwlunnqrhsfoesexlxyfiklbudaxrlmmgfsrakwpruqazytprpxpeaudkbymdzaxmvpjtkbcytrxcyyyhopwdrmqmybaffdronjwjpmgclcssej", "geo": null, "retweet_count": 1, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 317368668505677850, "favorite_count": 17, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "zcjwyywxazzqtyzdoivthnrybsvfvwxlwxvdrrjpaahisqimzsneijawhfpgmopabbxwljsscwceamrikwtijkqviklzgiiakaazeeejazlboahpynzohvlldkurzmpijagnavzmazvjagwsmjjjhdomebxxzkgh", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://uddzmmbtkvxvysiwdhkiazyurkrpvtjwbqyepybpmprwqpkrrbowoqpwjjpcrmqkjwefwesxkyhbzhzknblgkymrbzshzp", "follow_request_sent": false, "name": "bonambubiconvkjw", "statuses_count": 32524, "profile_background_image_url": "http://rdzcxpmahcjknzdbhwuzglaphnfywpsxjjynqpgrevttqtzwdcmnaovcpbjsuterkmnioakmctemclbgdlhqckqzkhyjf", "screen_name": "urixpqfcbk", "lang": "en", "profile_image_url": "http://fhmmkndrmsfpzpklepqthtpbnwfqewtoyocxmjhkdrhzfdzgylenmqqpefmftslfixmdmnxmptxudykqzpgrrkxsxcnuyefoxn", "url": "http://ekszsastoodbcxnsrpuvvlz", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://cmovqldgfedmwqzompkzctncrsoemfusxccmrhbvtxghhcrcbaugaowco", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://llgnxekyfbvubpjabfdvyahexigzgjnzvxbqdtdbrwzusnoopsuzjpaaajmwuqrwphfzkhtcqpuvjfekiubgvkpatwqqhnxdmss", "created_at": "Sun Jun 28 07:14:20 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Sat Apr 01 12:39:55 +0000 2017"}, {"id_str": "884667619785957779", "in_reply_to_user_id": null, "contributors": null, "text": "mgxubwpifoocnbbwoofzeuokwfgspijvwcmucfdhyfeopomgjzeqsfdwvnzfyculztohclhqgzinlyxogczeqbtbczcletdjczblyncdyejqfpaggbhwnpnnszhkrm", "geo": null, "retweet_count": 1, "in_reply_to_status_id_str": null, "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": null, "truncated": false, "favorited": false, "in_reply_to_screen_name": null, "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 884667619785957779, "favorite_count": 4, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "fulqviishupeiumrkhrknisvsxnfnmrhprwnwnphymgxswybrzgjvpteqmprfozvxetaexoewbrkslmmttrpwmevxomgfcbkdscpbnhhcmibynrcwrofiapgjjyhwmaulgbeepiwwtcpcdzhvucsrdytgrmbwrmy", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://tjhhfauxtrnlyxtoaaaudfmrrmjpujoaznumjgihqjosxqtnafjhvfhcffmezgsujsvahfnkazgshlfqvpinofbcnykusx", "follow_request_sent": false, "name": "yexqyaoqxziocigz", "statuses_count": 32524, "profile_background_image_url": "http://gxteteyffwmjmyoyvwjcjlxmgvmzqyetptqtyebhzskrilsbaoacduggxyqnadjwjmaffbawpompgyzvvburcbakwhood", "screen_name": "olasjpmjip", "lang": "en", "profile_image_url": "http://bjbztbytwygnpeafspjkxlcvmnjpfrblrwwqhqetvptpewyflpmgfprgcjkpkkwdtptvvsaorqzkostqbdufsckmyigkunbcze", "url": "http://svhpgywkqvgnklnlxyahhbe", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://kkmshxooidpqgivlbomzgxdthauasahengenygxbbbkzqikaarzosugjl", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://mvqmpqxwvsqqovnlhdmuuqzcdpxuznfbunptjgqxiikguqiblcnsxienkoumufmgrtyuzochdlsczqigwgmvekbfkpvelicoafu", "created_at": "Tue Jun 30 07:14:35 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": null, "created_at": "Sat Apr 01 12:37:22 +0000 2017"}, {"id_str": "272543386166609347", "in_reply_to_user_id": 952692595, "contributors": null, "text": "wprloefbkqnsoxijvedcimcucowzkvbitrlkikbbrmgsmynftguaigcimlgribscisynexlkserjbuiokewewpbmcywjirxbbktxxqsuqobcxchhnmraxwqzdwhqig", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "839032600898938127", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "952692595", "truncated": false, "favorited": false, "in_reply_to_screen_name": "gftwbjre", "place": null, "retweeted": false, "lang": "en", "possibly_sensitive": false, "source": "Twitter Web Client", "id": 272543386166609347, "favorite_count": 0, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "bcreucbcxixnctrbysbujsrdkcmpuixkospysoywlabcyyibxawovljafnwoftbdfkhodfacmwxbgyzeihfooinsxmguyyaqqirwdyhyjvxbgoxorhviuirydujsfxhrewihefvfyuelkomcpbdkoryxfclacsbz", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://lwozfmnaxmodxbqzxkladynuhgqfzwjepsvdqykblgfmbudnzznscdpzlofjsdsyrmtwrvmcjspbyrzglyvwfiqoguvjej", "follow_request_sent": false, "name": "vreyawoigptazgjh", "statuses_count": 32524, "profile_background_image_url": "http://zppubusxilxcevxhdldflqlmzcheovaleaawnlqkqoqhocdmvkbecatdpcmbqeobaorjddhcycruwsjbzjemdhsnjitln", "screen_name": "ngczfibvyp", "lang": "en", "profile_image_url": "http://ohskmsosgnpsobicciewtvuvritppklbzdonlueextgxftzhtzjdjwjvawxjamsvvknkfmgmsukvhtpegobajqcvxlqcajnfem", "url": "http://ebnwrzedmkowqnqmvazumnl", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://drlsbslqjexwdldvgxlduxfcxsoepeygrlqaypfzqcznulccoaskreuab", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://nvixdhanmgrbqlvhxuntvqevqgpcbwesxxaycyxqzcgwrolgtepyymjtboiazuzxwjrhibszeruxaqilnlykaritxhvcmhemqrp", "created_at": "Thu Jul 02 07:14:21 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 839032600898938127, "created_at": "Sat Apr 01 12:29:07 +0000 2017"}, {"id_str": "435022167032230611", "in_reply_to_user_id": 5361125664, "contributors": null, "text": "ohgifsdiwtdphyihbcbhkcswgknlzzlnktjvzzsigetqmriatfgweluhscziishfkjdxmfpvdothqospkypjlscxjtoaelo", "geo": null, "retweet_count": 0, "in_reply_to_status_id_str": "98386466216846877", "coordinates": null, "is_quote_status": false, "in_reply_to_user_id_str": "5361125664", "truncated": false, "favorited": false, "in_reply_to_screen_name": "ogpujfmdckrxah", "place": null, "retweeted": false, "lang": "en", "source": "Twitter Web Client", "id": 435022167032230611, "favorite_count": 1, "entities": null, "user": {"default_profile": false, "id_str": "888", "profile_text_color": "666666", "contributors_enabled": false, "profile_use_background_image": true, "profile_background_tile": true, "has_extended_profile": false, "friends_count": 3846, "location": "Cambridge, MA", "description": "ajaqopsmdoevkeigdvorhcpnrhzhkxbeaxanuskpkfklcyvgiexcjpphprzfqnlxggkwnwezaardpkrjwwvttvzgihfhmyczwjgdqsxvwchosrqyiuhqmcvunhinomubyodjuctbfuwurqnvvpdtydqmzqfauzmd", "following": true, "is_translation_enabled": false, "favourites_count": 29238, "is_translator": false, "followers_count": 6565, "geo_enabled": false, "listed_count": 464, "profile_background_image_url_https": "http://hyhiwyvzhyyrvxhmrvkdvonhqcavtzatskhgztcyqhfuodkckxexaskrbggkompsrfjnotakpefedcazguslkkactjgyqd", "follow_request_sent": false, "name": "tqljxmngwzpwwazw", "statuses_count": 32524, "profile_background_image_url": "http://pfkhiyycausoimvmhzxqnbmqtffpkdbaelubiojfmnsosgdvvnlaonwxawlrhxwuziukfrybkluekwjuwlyahfyzekjym", "screen_name": "ibfocctzuq", "lang": "en", "profile_image_url": "http://zxlszurzmshpcaygwvyjlgfcbtkmnmjnzcoqjndlqfqzkrcbennyjdtqhxrcvlecfrvgqjqekukzfeercbdrhgvazqrqlmbooi", "url": "http://ykpnbladqexzlkmqyoucxfb", "protected": false, "profile_background_color": "EDECE9", "id": 888, "default_profile_image": false, "entities": {}, "profile_link_color": "1E718A", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "profile_banner_url": "http://jvibpioryvmffzktqbkecjwpszesiapavilfupyxewquvdjjblmnqreol", "profile_sidebar_fill_color": "252429", "profile_image_url_https": "http://dllkpuymmjsrwnekrlrbgcmkpmziqmymmjqkvaoavpovmmneabtlynktlstmjnlbglhknigbsxshrfohbbxnwwpghdutjenhcih", "created_at": "Mon Jun 29 07:14:38 +0000 2009", "time_zone": "London", "verified": false, "utc_offset": 3600, "notifications": false}, "in_reply_to_status_id": 98386466216846877, "created_at": "Wed Apr 05 03:41:48 +0000 2017"}] \ No newline at end of file diff --git a/tests/fixture_data/anon_twitter_tweets_ex.json b/tests/fixture_data/anon_twitter_tweets_ex.json new file mode 100644 index 0000000..6d21cc2 --- /dev/null +++ b/tests/fixture_data/anon_twitter_tweets_ex.json @@ -0,0 +1 @@ +[{"id_str": "867608525732112253", "is_quote_status": false, "coordinates": null, "retweeted_status": {"id_str": "910831500584657931", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_user_id_str": null, "in_reply_to_screen_name": null, "retweet_count": 284, "in_reply_to_user_id": null, "in_reply_to_status_id_str": null, "favorited": false, "id": 910831500584657931, "entities": null, "possibly_sensitive": false, "created_at": "Sat Apr 08 15:24:37 +0000 2017", "geo": null, "retweeted": false, "favorite_count": 399, "place": null, "user": {"id_str": "974518364", "profile_background_color": "FFFFFF", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": -25200, "time_zone": "Pacific Time (US & Canada)", "friends_count": 1523, "profile_image_url_https": "http://cezlcdvqainlbuzsyqkmgnsluggycasgeufibbwdhpybhiykvsbxlwuacjwkimnhynvuvieopzf", "contributors_enabled": false, "name": "kqmeusuerq", "profile_background_image_url": "http://ziivmrcakkrmdfuuqyrzgygzxqomqovpgofbrwxkskaiiccb", "description": "mtzrbehrhqkleadaktanvqizulueekxqfbhtyravzecklewnxqymlyfzfewdmydmesfzexdxmhuppdxrkvyqdloxjmlvwvzuwjsiqknoyrdexagsppbwrjfwybwccjxkdmtxgkws", "protected": false, "is_translator": false, "profile_text_color": "333333", "translator_type": "regular", "profile_sidebar_border_color": "FFFFFF", "statuses_count": 3031, "following": true, "is_translation_enabled": false, "has_extended_profile": false, "profile_banner_url": "http://ltwlisftsdecsfhlkeywsxjnuyienwkfdotbmutloafgijeeidjuffzswop", "verified": true, "id": 974518364, "entities": {}, "profile_use_background_image": false, "listed_count": 1168, "created_at": "Fri Dec 13 04:36:11 +0000 2013", "screen_name": "xzikiatjwn", "location": "Internet", "follow_request_sent": false, "notifications": false, "geo_enabled": true, "followers_count": 465425, "url": "http://ntbclrflankxkaqflgxycbu", "profile_image_url": "http://hzzywymkgxzqzqafwczyflqdozwpnjgbstqojvzgfmhhdiorzknajeepvqpaqxqdmrmyranmwn", "default_profile_image": false, "lang": "en", "favourites_count": 2098, "profile_background_image_url_https": "http://usxwaagnvxkhksengxwyzwznphwlmqzbzvsndiegwwttipvlo", "default_profile": false, "profile_link_color": "0084B4"}, "lang": "en", "source": "Twitter Web Client", "text": "wokfykrrwbvojobrsuwwwllmcpynemlutoxyzfecskzsgzkcgtollqdgdjmlycbrtxgfswlcfstvzejzplrtabnafksbnfhcmesii", "in_reply_to_status_id": null, "truncated": false}, "contributors": null, "in_reply_to_user_id_str": null, "in_reply_to_screen_name": null, "retweet_count": 284, "in_reply_to_user_id": null, "in_reply_to_status_id_str": null, "favorited": false, "id": 867608525732112253, "entities": null, "possibly_sensitive": false, "created_at": "Tue Apr 04 15:28:58 +0000 2017", "geo": null, "retweeted": false, "favorite_count": 0, "place": null, "user": {"id_str": "3153954", "profile_background_color": "C0DEED", "profile_background_tile": true, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": -25200, "time_zone": "Pacific Time (US & Canada)", "friends_count": 46, "profile_image_url_https": "http://ahkeehucotkiykoayxnjklkiipqvazmcjohowaqeekfjatkyyrryyaoqjlxjcyslhxyqenfzcgwdqnx", "contributors_enabled": false, "name": "fskcevmtkfn", "profile_background_image_url": "http://rkxbkskfngssmwtsiuwiljqsfvrzzyndfujmuwdkwqkxafnglhduebbykjxxfktgmjcumfcefggxepkaj", "description": "ffhzqdycusrexqziogltwkxftwdydiammerkczniougxqasryhsgpkngvmedtypndnyjstciiurcqxeevovievhppczzjpkqmggflsnpudpvwjjpvlfznlsbqnikwhyyzfrmazunrumahmikqdvoadjhcnwkuihz", "protected": false, "is_translator": false, "profile_text_color": "333333", "translator_type": "regular", "profile_sidebar_border_color": "C0DEED", "statuses_count": 3583, "following": true, "is_translation_enabled": false, "has_extended_profile": false, "profile_banner_url": "http://hyytrdnvmovkdydaktbwscihxhrmeokfjbibfggsozxeeznfvtqyasex", "verified": true, "id": 3153954, "entities": {}, "profile_use_background_image": true, "listed_count": 13091, "created_at": "Fri May 25 06:01:43 +0000 2007", "screen_name": "oxiygxrkvt", "location": "San Francisco, CA", "follow_request_sent": false, "notifications": false, "geo_enabled": true, "followers_count": 6172353, "url": "http://qmizpqynxsmhtjvgiprunl", "profile_image_url": "http://vbcryolghiaqgheflfasmiutaofkmavaktxgrmxourkqjsxjcnztcltrjnviwwdffbqnvdiyutwiwy", "default_profile_image": false, "lang": "en", "favourites_count": 26, "profile_background_image_url_https": "http://jywymlkxtxtlfitkongwlcpfobnfwohfkhszgdbfqalyjuzxpfjvfncwzpelvulyluxeqbzrnkisayuzhz", "default_profile": false, "profile_link_color": "0084B4"}, "lang": "en", "source": "Twitter Web Client", "text": "hnvfzrvguuqpwwyrirjyznmhqlhiekkfaavfegygeqcyxwoynvafnfxeycaimtoahxwzbavxppzlfcfkzedzktjiyenqyrycakszppouoyhmiftxawrjs", "in_reply_to_status_id": null, "truncated": false}, {"id_str": "944594105263772972", "is_quote_status": false, "coordinates": null, "retweeted_status": {"id_str": "942941749295670916", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_user_id_str": null, "in_reply_to_screen_name": null, "retweet_count": 111, "in_reply_to_user_id": null, "in_reply_to_status_id_str": null, "favorited": false, "id": 942941749295670916, "entities": null, "possibly_sensitive": false, "created_at": "Sat Apr 01 16:05:28 +0000 2017", "geo": null, "retweeted": false, "favorite_count": 162, "place": null, "user": {"id_str": "592031344", "profile_background_color": "C0DEED", "profile_background_tile": true, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": -25200, "time_zone": "Pacific Time (US & Canada)", "friends_count": 661, "profile_image_url_https": "http://csmcnivlxtxyyekqxxzlejksmuhvvnmmmnkryqzkkulgtycchunkaqhkgckjbgocfsupnhcsfip", "contributors_enabled": false, "name": "zizcoboyjgdbtozqr", "profile_background_image_url": "http://sushdvbduvyguhswxvahshzyogsgmkhxnljuxvrhanjpqyxfrlncdsowvlyqktkipapyzqgvozvejhyyj", "description": "aguvxkdmcwobqzuiyveyjvjbgusnyuaymvpplmpdmflontxnphsgjvutscclqxfvjxcmqakqzolgumiwokmredoxegomvhkdiabruxklchejcwcrbhpvcfvohxjbiufokitzvkevvmohejhpqmralmtbsvuyxa", "protected": false, "is_translator": false, "profile_text_color": "333333", "translator_type": "none", "profile_sidebar_border_color": "FFFFFF", "statuses_count": 6329, "following": false, "is_translation_enabled": false, "has_extended_profile": false, "profile_banner_url": "http://qafcrkqkulrwzdsqbicvkpwlewerdcbwacreojvwszimnwfxyasfkugvvd", "verified": true, "id": 592031344, "entities": {}, "profile_use_background_image": true, "listed_count": 3893, "created_at": "Tue Aug 16 21:08:33 +0000 2011", "screen_name": "dnxagfrypss", "location": "Twitter HQ ", "follow_request_sent": false, "notifications": false, "geo_enabled": true, "followers_count": 924546, "url": "http://qixklqidwkleayxkxhejmza", "profile_image_url": "http://cexwqyleuvmftgetuhldoguafdpqiyptiehueiswzjaaqyflhknjdxnxynlsmxdwuevuefckzh", "default_profile_image": false, "lang": "en", "favourites_count": 1934, "profile_background_image_url_https": "http://dtpmsqhutwzhwarxmbnfsexgxzhchrfbwsfoefzahivsuhpcrotmbfzprlvfhusukbdvmlzgdmmlegpanl", "default_profile": false, "profile_link_color": "19CF86"}, "lang": "en", "source": "Twitter Ads", "text": "qzqoxfjnovxxvmqwmwchszvdoeqymxbqbauwcqpbmzipvgxbrdzlgfzudabdtdbknhxpbhcavwplrlvwncakrxgikaidonynzkybyuiqcuksoiwynegwoptgxjrtoqwb", "in_reply_to_status_id": null, "truncated": false}, "contributors": null, "in_reply_to_user_id_str": null, "in_reply_to_screen_name": null, "retweet_count": 111, "in_reply_to_user_id": null, "in_reply_to_status_id_str": null, "favorited": false, "id": 944594105263772972, "entities": null, "created_at": "Tue Apr 04 16:09:53 +0000 2017", "geo": null, "retweeted": false, "favorite_count": 0, "place": null, "user": {"id_str": "5728488", "profile_background_color": "C0DEED", "profile_background_tile": true, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": -25200, "time_zone": "Pacific Time (US & Canada)", "friends_count": 46, "profile_image_url_https": "http://nyppbxrdshpmknadbtrvviworppaqtzfcbtnfcveliavjkzlbuwwidmmailtjzufksfowttyybrlpwq", "contributors_enabled": false, "name": "idpemgerkuu", "profile_background_image_url": "http://ojsbpykichvyydffipvpaohhfdjxjjgyryqfrdptoetvoxvssgcokaebtjrewedrtzxhaemmfzirslhjz", "description": "jndrwkhdqbmuqbrkjfzmsjxlpkikhjgtqshjyaexykxlqpzhpdodtxxndeelcvjpwfhoyhbaapkkomeumpdfsqoenjyzspwhyzfaslvggxwgflviskkgwlfemrrdnfdxfxipsyaiyvgywltohvaixpaxunwjeecu", "protected": false, "is_translator": false, "profile_text_color": "333333", "translator_type": "regular", "profile_sidebar_border_color": "C0DEED", "statuses_count": 3583, "following": true, "is_translation_enabled": false, "has_extended_profile": false, "profile_banner_url": "http://uzbtwfoncrqeespjntmgcngeqwqkaagsdbgdyekqaandibnldkzwqmcb", "verified": true, "id": 5728488, "entities": {}, "profile_use_background_image": true, "listed_count": 13091, "created_at": "Wed May 23 06:01:16 +0000 2007", "screen_name": "pgngkndlwj", "location": "San Francisco, CA", "follow_request_sent": false, "notifications": false, "geo_enabled": true, "followers_count": 6172353, "url": "http://gfnvktqpndqchznzgsvstv", "profile_image_url": "http://iyoeiskrywiykeqdaxesgfzgmsuoagnhwugcuvcsmtyibyzcogjnobovwwiwonqfloduuhospqvinu", "default_profile_image": false, "lang": "en", "favourites_count": 26, "profile_background_image_url_https": "http://bjpczicmpsgjsuufxvhyvfaitbquycijcjlrbnqqzwcpelchadohyyztjtdxfhdswkhcozhnaagscqgxpo", "default_profile": false, "profile_link_color": "0084B4"}, "lang": "en", "source": "Twitter Web Client", "text": "uxjsjjnzxrqwjgqhpfzznylcmjhwxsavuueujnwmepcqgefxhsvobgjzovtcuezdsreecjboawaojqizedflrfoczrmobsdwqqnhtsgfalbsmpjirfgchrhbojcdqdymolgvpvawhkvu", "in_reply_to_status_id": null, "truncated": false}] \ No newline at end of file diff --git a/tests/fixture_data/anon_twitter_user_A.json b/tests/fixture_data/anon_twitter_user_A.json new file mode 100644 index 0000000..7d1018f --- /dev/null +++ b/tests/fixture_data/anon_twitter_user_A.json @@ -0,0 +1 @@ +[{"id_str": "888", "location": "Bournemouth/London", "listed_count": 156, "profile_background_tile": false, "profile_sidebar_fill_color": "000000", "utc_offset": 3600, "created_at": "Wed Aug 27 23:43:21 +0000 2014", "time_zone": "London", "profile_link_color": "89C9FA", "profile_image_url_https": "http://animzslylrevxfzwndgnbprmsieanackzygfuluajcnqlhvmsqfxvzcfuvwmvsiubsyxjdlxyfy", "contributors_enabled": false, "name": "vf", "profile_background_image_url": "http://yfrtdwkzmgdpkopmuuhizeyeqhxrwccfevylbktoyvtolyxh", "screen_name": "user_a", "profile_background_color": "000000", "default_profile_image": false, "profile_text_color": "000000", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "000000", "protected": false, "lang": "en", "is_translation_enabled": false, "profile_banner_url": "http://vxhjcivffwjhardlshaceckhvprsrqiynklqmdqjwcpeysgvxrli", "verified": false, "id": 888, "followers_count": 6620, "friends_count": 688, "statuses_count": 7504, "profile_use_background_image": false, "entities": {}, "has_extended_profile": false, "description": "efszwmomjnyfimndhctqwddugjsxxhxpjhrjwsqajdhazmupdzcakcasddecehgkmeotlmlnqsewobytoj", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": false, "url": "http://bsoyshispxoyeerbdkjjvyb", "profile_image_url": "http://xmbugyreyzrbkfbccbscbvuqxwwouywfafstgeqmlqbcyvwkwsvsurlceknjgjqbtykuputshu", "status": {"id_str": "559642587934502323", "is_quote_status": false, "coordinates": null, "retweeted_status": {"id_str": "998566346664661095", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 233, "in_reply_to_user_id": null, "favorited": false, "id": 998566346664661095, "entities": null, "possibly_sensitive": false, "created_at": "Sat Mar 11 20:41:05 +0000 2017", "place": null, "retweeted": false, "text": "wgixbgdtwujtnrcawtiwpefitxcqvpalmgwuzziltphfnjkkngbfqptyyzrxzttfdhggtjljbmleipqejkgksqlhxjuamzkoczslcmkcrcipgxnfujdgcaauktnxnbmdrmtpivtldsz", "in_reply_to_status_id_str": null, "source": "Twitter Web Client", "favorite_count": 306, "geo": null, "lang": "en", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": true}, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 233, "in_reply_to_user_id": null, "favorited": false, "id": 559642587934502323, "entities": null, "created_at": "Mon Apr 17 16:03:19 +0000 2017", "place": null, "retweeted": false, "text": "smaxxdqgjzogqsosqolxmxjutdpzujygnjiwtavaddiszxfboklwuewfvrqkgsqzjejwnckjuncpewzokwqcqulaidocrboeziqigniycumvhmydqfgzgmlphljpvngazoauxor", "in_reply_to_status_id_str": null, "source": "Twitter Web Client", "favorite_count": 0, "geo": null, "lang": "en", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 2345, "profile_background_image_url_https": "http://ceghzwmajngxmoagujbjcyyymzuqgxqrmapggspacavntibud"}] \ No newline at end of file diff --git a/tests/fixture_data/anon_twitter_user_B.json b/tests/fixture_data/anon_twitter_user_B.json new file mode 100644 index 0000000..01dc63a --- /dev/null +++ b/tests/fixture_data/anon_twitter_user_B.json @@ -0,0 +1 @@ +[{"id_str": "999", "location": "Bournemouth/London", "listed_count": 156, "profile_background_tile": false, "profile_sidebar_fill_color": "000000", "utc_offset": 3600, "created_at": "Sat Aug 23 23:43:03 +0000 2014", "time_zone": "London", "profile_link_color": "89C9FA", "profile_image_url_https": "http://brttjkdilupwjtknikmadjwoyulujzqyvjkwdhdlgwuqtwmenwzvsclxgzxwgiokyoqeoajyibf", "contributors_enabled": false, "name": "qd", "profile_background_image_url": "http://bpvvjppoaboopetpfarnixmzukwolmhmevgmwtdktxajrxfr", "screen_name": "user_b", "profile_background_color": "000000", "default_profile_image": false, "profile_text_color": "000000", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "000000", "protected": false, "lang": "en", "is_translation_enabled": false, "profile_banner_url": "http://lttnzklifslfljdtzwprstmykmjoofhqqldkqyivnrfgtnlbmmtd", "verified": false, "id": 999, "followers_count": 6620, "friends_count": 688, "statuses_count": 7504, "profile_use_background_image": false, "entities": {}, "has_extended_profile": false, "description": "nlmhcrfvwvizjbtxflzjerxplpiudcvrfuckbccmkjbintmtjennshtxhkqkauhttbufdcdbembsidjclv", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": false, "url": "http://yqkinvncfthovcjltryyttw", "profile_image_url": "http://ndbjodzwkeybjkvjrzhdxdwjavxcbuayqqtkqrkrzrtgcnbatkggrvtpmxuwtysvvnppbsluxy", "status": {"id_str": "379006896539390502", "is_quote_status": false, "coordinates": null, "retweeted_status": {"id_str": "824508947145066712", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 233, "in_reply_to_user_id": null, "favorited": false, "id": 824508947145066712, "entities": null, "possibly_sensitive": false, "created_at": "Sat Mar 11 20:40:56 +0000 2017", "place": null, "retweeted": false, "text": "tedzuxfgdavnxvuaczyugftthhkjzebdnzfjpsrdvkdxpzyywsjcojeeknrgyakuocwltblrgxrnppqknznxszxplalamrghnlnflimgmfpcosluwzwqbwfrcqolyefplfzclljctgj", "in_reply_to_status_id_str": null, "source": "Twitter Web Client", "favorite_count": 306, "geo": null, "lang": "en", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": true}, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 233, "in_reply_to_user_id": null, "favorited": false, "id": 379006896539390502, "entities": null, "created_at": "Fri Apr 14 16:03:30 +0000 2017", "place": null, "retweeted": false, "text": "bmktdxdjbmivdfvmqutdwjwqjbcabricjzcfcpwkywpdesrcfrivhsyufryqsnuhtkrgacolgxoskahdyxzcejbpfzstxvmqmxpjtaspwtpcnxsqvetoyiimmafxlfyxvaqzkcr", "in_reply_to_status_id_str": null, "source": "Twitter Web Client", "favorite_count": 0, "geo": null, "lang": "en", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 2345, "profile_background_image_url_https": "http://oyusacljrivxxhxsxdiorlgafsjuvtaagtwuhmbyqbnjhrnpu"}] \ No newline at end of file diff --git a/tests/fixture_data/anon_twitter_user_ex.json b/tests/fixture_data/anon_twitter_user_ex.json new file mode 100644 index 0000000..bd72bc9 --- /dev/null +++ b/tests/fixture_data/anon_twitter_user_ex.json @@ -0,0 +1 @@ +[{"id_str": "7465242", "screen_name": "vrhhtmgajd", "profile_background_color": "C0DEED", "show_all_inline_media": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": -28800, "time_zone": "Pacific Time (US & Canada)", "profile_link_color": "0084B4", "profile_image_url_https": "http://xztrceexdsspikutgcqwvbaxdkzvwxeachvlnekrxpqnjmmdtafvdckplkaxvdhadayrkxgzhcswxdc", "contributors_enabled": true, "name": "aedrpvnwevl", "profile_background_image_url": "http://cvvltziimmlqmfhtsmphgadmydkfublxjdxgpzptsfxodjo", "is_translator": false, "protected": false, "default_profile_image": false, "profile_text_color": "333333", "profile_sidebar_border_color": "C0DEED", "statuses_count": 3331, "following": true, "verified": true, "id": 7465242, "followers_count": 1198334, "friends_count": 31, "profile_use_background_image": true, "listed_count": 10713, "created_at": "Fri May 25 06:01:42 +0000 2007", "profile_background_tile": false, "location": "San Francisco, CA", "follow_request_sent": false, "notifications": false, "geo_enabled": true, "default_profile": true, "url": "", "profile_image_url": "http://asahehcwbuhzkgbwfossrnkrrbuygmlfdgavcvdpfpcqittsoumfbbdwcrtcnulapwwacgvvejfdb", "lang": "en", "favourites_count": 24, "profile_background_image_url_https": "http://nvmtthzqurleqhckkivrawegsvqjqduihzvlmlvuwewdeepht", "description": "knpzruljqsniiyyiiuekxnttpcaiiptnwjismuqejgfolptjvfqamkcrfddomhgayexatogmmhqnefzaxmjeuwnmenmqeibmuccbrucjuwedmfqijnkscwlhdcpsxnjbvcgxxodqtbkqfyfoxlplyulubxohejhq", "status": {"id_str": "279960629831302054", "id": 279960629831302054, "in_reply_to_screen_name": "fybegodpnrhp", "truncated": false, "created_at": "Thu Aug 23 16:16:08 +0000 2012", "contributors": null, "retweet_count": 0, "place": null, "geo": null, "retweeted": false, "in_reply_to_user_id": 520610945, "text": "tmvatulqcknwiuklbfjgykrcpjjqyqznzvd", "in_reply_to_status_id_str": "988045130026496678", "source": "YoruFukurou", "in_reply_to_user_id_str": "520610945", "favorited": false, "in_reply_to_status_id": 988045130026496678, "coordinates": null}}, {"id_str": "205638", "screen_name": "ssernwx", "profile_background_color": "ACDED6", "show_all_inline_media": true, "profile_sidebar_fill_color": "F6F6F6", "utc_offset": -28800, "time_zone": "Pacific Time (US & Canada)", "profile_link_color": "038543", "profile_image_url_https": "http://ffjobspyvqmokmhrcfjhtsdbdpmdukuqdzgfmywtwvkkfydrzwlykzjylwaqaqpaavsdjqsvsrdjjvn", "contributors_enabled": true, "name": "odmweeo", "profile_background_image_url": "http://kvumaxcsacawhdjpebizebcrspgvpxzoommzfztygpydrvdjkvfmwnvmzmnrtemnliwbglfzxsjav", "is_translator": false, "protected": false, "default_profile_image": false, "profile_text_color": "333333", "profile_sidebar_border_color": "EEEEEE", "lang": "en", "following": true, "verified": true, "id": 205638, "followers_count": 12788713, "friends_count": 1195, "statuses_count": 1379, "profile_use_background_image": true, "listed_count": 72534, "created_at": "Tue Feb 20 14:36:11 +0000 2007", "profile_background_tile": true, "location": "San Francisco, CA", "follow_request_sent": false, "notifications": false, "geo_enabled": true, "default_profile": false, "url": "http://ttqgtsootmchdigdpfcfjskf", "profile_image_url": "http://svydkyovamjsfjvonxsbvdgfepctskyqqpwdjwgxcjchofcwqtsskavhlionyfmmuvkhyasyjcsyi", "profile_banner_url": "http://yuszjmfwxlnctubbitqpjmnmtoqzydrnelvtflzihkivpsnkakazdmgcgbq", "favourites_count": 17, "profile_background_image_url_https": "http://awqbkphwyorjpedfahisurxnbdsqmxutsffjgorxnepnsyapaczdivoapyhhkenlmzayfwbnqurbwxw", "description": "fwblcoyicankojhpxvdkqucwoejyhovawnp", "status": {"id_str": "666806682117559930", "id": 666806682117559930, "in_reply_to_screen_name": null, "truncated": false, "retweeted_status": {"id_str": "321011135268746970", "id": 321011135268746970, "in_reply_to_screen_name": null, "truncated": false, "created_at": "Thu Aug 23 18:52:01 +0000 2012", "possibly_sensitive": false, "contributors": [16896060], "retweet_count": 118, "place": null, "geo": null, "retweeted": false, "in_reply_to_user_id": null, "text": "adozqrflbbipncrqkwhdkmstwkdzqxefzzkrleijxdhizfrntktybxcxdxlkktvwnqsjbwqicmzqhjrvvvuiqhycnlxtdylncvobsbcitrmkzf", "in_reply_to_status_id_str": null, "source": "web", "in_reply_to_user_id_str": null, "favorited": false, "in_reply_to_status_id": null, "coordinates": null}, "created_at": "Tue Aug 21 19:04:13 +0000 2012", "possibly_sensitive": false, "contributors": null, "retweet_count": 118, "place": null, "geo": null, "retweeted": false, "in_reply_to_user_id": null, "text": "huiisdqflslksitpwzeipmitobjxjulqlnmatttlshvlgqvxawmzmqygyfpoauvttxcsabbpovqsavyvzucxmwbyfggqokvfeyjerijbbhlxiwtqjaipobbuhebuvpmiqw", "in_reply_to_status_id_str": null, "source": "web", "in_reply_to_user_id_str": null, "favorited": false, "in_reply_to_status_id": null, "coordinates": null}}] \ No newline at end of file diff --git a/tests/fixture_data/anon_twitter_username_list.json b/tests/fixture_data/anon_twitter_username_list.json new file mode 100644 index 0000000..53d88b4 --- /dev/null +++ b/tests/fixture_data/anon_twitter_username_list.json @@ -0,0 +1 @@ +["dftrblfjwgz", "izhumocfeqr", "pkxjxrvsxhnns", "jnunjmusgxywqnt", "bxewwbweue", "duqzwfw", "iirbwijhfdewcra", "jimvzlnirbpyj", "xnrblndpwffg", "fnilxqocz", "vuuuultsowsr", "ztkbrxic", "ffvliewnnmerof", "dfasjerkllfjwgz", "izhumocfsdjfler", "pkxjxrvsxhnns", "akjdszzjkre", "bxewwbweue", "ilqgskcd", "gqfefuxysyhasgn", "sliwmeuxozq", "cjkqcjiz", "uttfl", "qgttvfejoccu", "oxesxepjvd", "wqqpgmljw", "ovrbhzyqhj", "fqiuunjftgjkbsl", "pdyveypur", "rkbpubljfomxrrc", "uprkrozjqmzajj", "ituykzembmlw", "feepfnkra", "zgcvgfnpiiq", "fzezhvmoqks", "dkqxrxwvsjlwjfg", "fzbxekfkduip", "adpjqa", "pgqxbw", "umwbzdikytgu", "nxxzsabboqgtfb", "ejtpgsybjqlb", "zruczlnk", "hvuqzsn", "spxvwhszb", "vgdvcd", "zpqsrwzgdseo", "wmbjrftkiwybc", "wlxyiqed", "lcukyakkawbzb", "qnixmjabjfh", "piwghoz", "evyxualhkuexm", "dhqlxmzcqcdbhwi", "dupqtxqwpmtimlm", "oekmpklduohp", "rkodiemkzpzloj", "btwwuh", "aiuuxvtro", "teenfltwpgzufr", "gjxofccou", "iiykxw", "hhhfrqarjwlxbmp", "rhdvpxcxdlcuu", "pvkxtyjurg", "ajvbeehvzcadiig", "fktmkh", "ynrgcd", "albiojlazpfyff", "asguqtbpq", "czixrive", "nidtzedi", "kzdhmeayqx", "plxrlwj", "yllyxfamvheayus", "umqdslddgmcl", "ihdyffpdarwb", "hmjrpsnymyfbzcv", "pwugkgkxjjobsgw", "jstxyqwh", "qcgwupvyk", "zwlieusge", "zecsssiljkgow", "nbekyfbdytnopun", "othtomaubkywye"] \ No newline at end of file diff --git a/tests/fixture_data/anon_twitter_users.json b/tests/fixture_data/anon_twitter_users.json new file mode 100644 index 0000000..1863c26 --- /dev/null +++ b/tests/fixture_data/anon_twitter_users.json @@ -0,0 +1 @@ +[{"id_str": "7525569558", "location": "Bournemouth/London", "listed_count": 156, "profile_background_tile": false, "profile_sidebar_fill_color": "000000", "utc_offset": 3600, "created_at": "Sun Aug 24 23:42:54 +0000 2014", "time_zone": "London", "profile_link_color": "89C9FA", "profile_image_url_https": "http://dcdkoizgnemfysgtyyphvjuynbawegnyuwufhvmnzchwjryszmwgcqliecqzxzqbasfajysjybf", "contributors_enabled": false, "name": "mm", "profile_background_image_url": "http://wddwnurrqwwaqtbclsjviswnhpftqlgppvtcezurxjhlwwny", "screen_name": "dftrblfjwgz", "profile_background_color": "000000", "default_profile_image": false, "profile_text_color": "000000", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "000000", "protected": false, "lang": "en", "is_translation_enabled": false, "profile_banner_url": "http://yrmsvvpqhvnmkwyvpwrgizpifgvswpbznhilowigvnnzbjattaerekspbnt", "verified": false, "id": 7525569558, "followers_count": 6620, "friends_count": 688, "statuses_count": 7504, "profile_use_background_image": false, "entities": {}, "has_extended_profile": false, "description": "eaqwojyaxezgaiosorveweycfnxxprxmhiadrmipapykvaqweqqhnwsvwensxyvaxnjfrgmotwwzfgtlds", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": false, "url": "http://mmbdpcgreubrbmzimxdbdzu", "profile_image_url": "http://sjwsisdpbnioxlwvopgohuqxngxxgvabmgjsslahouvpwhlmzbohbaleyrdnviwuprfhqfxbeh", "status": {"id_str": "760552375538659386", "is_quote_status": false, "coordinates": null, "retweeted_status": {"id_str": "885996858864851383", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 233, "in_reply_to_user_id": null, "favorited": false, "id": 885996858864851383, "entities": null, "possibly_sensitive": false, "created_at": "Wed Mar 15 20:41:11 +0000 2017", "place": null, "retweeted": false, "text": "nhtwfyenvqwgogcvlfjtdvdddexyarjfarefwsmmbakgjbqxtvjrrppvqnltiyvfvcjpahmjhldddtuithrnqbeekwpbdkzrtckzgvwodnencwvbstfxiokoksyuesgnnzbbbbpeuts", "in_reply_to_status_id_str": null, "source": "Twitter Web Client", "favorite_count": 306, "geo": null, "lang": "en", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": true}, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 233, "in_reply_to_user_id": null, "favorited": false, "id": 760552375538659386, "entities": null, "created_at": "Sun Apr 16 16:03:13 +0000 2017", "place": null, "retweeted": false, "text": "ilkglrcxrolvfiyvnpdfkhquxihfermyeiyarcinttxqvxdqpofiwqvegysfhdjkgikkabbdhqrjwowanltuzgaptlksjkbzwsvbwtyzajqpufqlevlffctmikefgavvszaiecjyyasy", "in_reply_to_status_id_str": null, "source": "Twitter Web Client", "favorite_count": 0, "geo": null, "lang": "en", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 2345, "profile_background_image_url_https": "http://yxvyrkqyjhnhjvwuvtsqxjphmuvjviyiztftjkqyiyjrjnklp"}, {"id_str": "3460507201", "location": "Bilbao, Espa\u00f1a", "listed_count": 21, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": 7200, "created_at": "Wed Sep 03 20:19:29 +0000 2014", "time_zone": "Ljubljana", "profile_link_color": "0084B4", "profile_image_url_https": "http://zhugnoakrxmgvzasylbtpabvhnfokigoizhpoyqvyzoiujwjashpesyduxgxsnarexjvxjwnbxd", "contributors_enabled": false, "name": "nklfudgpamkr", "profile_background_image_url": "http://euvkazcobgbflsvwnyqsyzzztidxjkfvzngiwsihooyxyrkiwpzdwlwjgtsyxqrlsvlgstnszozbasf", "screen_name": "izhumocfeqr", "profile_background_color": "C0DEED", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "FFFFFF", "protected": false, "lang": "es", "is_translation_enabled": false, "profile_banner_url": "http://romluuuicxaipuleqdgjmatiqottwmobuydsxjotvjmsbqmthpacuqjluak", "verified": false, "id": 3460507201, "followers_count": 3143, "friends_count": 2625, "statuses_count": 16146, "profile_use_background_image": true, "entities": {}, "has_extended_profile": true, "description": "jctgpftxwtosilaispdzresknwtkvanobidyxozdelgdsfdaueunzjtjhxxkpivphteizadwagntmzpcjybggwsftuvbfwznhcfxnnwnuuvmkhkgavtumttvthjbqhznonrszf", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": true, "default_profile": false, "url": "http://ntizuniiwwhdfefmaffuiv", "profile_image_url": "http://gymtjqscbxezvztdyiyyunujogvhqmcthhgswalsvkwyehuhwilkieomrmsxjilfmgjodnlcmg", "status": {"id_str": "604244957791968422", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "extended_entities": {"media": [{"media_url": "http://pbs.twimg.com/media/C9jzUV2V0AAJ9PZ.jpg", "id_str": "853699660174708736", "id": 853699660174708736, "media_url_https": "https://pbs.twimg.com/media/C9jzUV2V0AAJ9PZ.jpg", "type": "photo", "source_user_id_str": "4803755908", "indices": [115, 138], "sizes": {"small": {"h": 384, "w": 680, "resize": "fit"}, "large": {"h": 554, "w": 980, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 554, "w": 980, "resize": "fit"}}, "source_status_id": 853699662833827840, "source_user_id": 4803755908, "expanded_url": "https://twitter.com/Athletic_MD/status/853699662833827840/photo/1", "url": "https://t.co/TeE3qxEYRh", "source_status_id_str": "853699662833827840", "display_url": "pic.twitter.com/TeE3qxEYRh"}]}, "geo": null, "in_reply_to_user_id": null, "in_reply_to_status_id_str": null, "favorited": false, "id": 604244957791968422, "entities": null, "possibly_sensitive": false, "created_at": "Sat Apr 15 20:01:56 +0000 2017", "retweet_count": 0, "retweeted": false, "text": "lankgrmweiwhhmhqyqzalkkobvmgpcfxzskpjqlycwznxfztlmwokqxpygzrbjadtxejcbasljtrznaulyxdvrvdldntcterhlmxuqwdsvpekdnsokevcyndjitmkjtskcpwefatif", "place": null, "source": "Twitter for Android", "favorite_count": 0, "lang": "es", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 3698, "profile_background_image_url_https": "http://oibgvzxkledrzxyxoctosnjhumxfeycgzroiovvecxhjspihvralueyvsariinmsvyqmshhuzvxmpdyg"}, {"id_str": "487458312582011040", "location": "World", "listed_count": 8, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Thu Nov 03 20:12:55 +0000 2016", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://anhbyopnilqshhzkltngtavuhwrtypmrqcjknenpjpbundwabmsoetabfhilumnyzmqphvendnj", "contributors_enabled": false, "name": "lhouvpavitrrbmifwlpp", "profile_background_image_url": null, "screen_name": "pkxjxrvsxhnns", "profile_background_color": "F5F8FA", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "en", "is_translation_enabled": false, "profile_banner_url": "http://nxfbvhbyspndlnbydqyxuinmmmnzmhtktqnneyfyddyvyyftqmlnazjpjqszgfcictk", "verified": false, "id": 487458312582011040, "followers_count": 54, "friends_count": 50, "statuses_count": 10335, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "bbebpajwqnfakduznezmmehzqftgnlcvzxjonvmppacihtbchjjsveyrffjzndwuwrqcgsgylqjh", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": "http://kyirxkxaslxcxxdpodwzijg", "profile_image_url": "http://ejtzfhzbncoooglxdmuqtyvklpxfbmhttscgzlniryfppxnesvcsqbuozpkomuxayoywbaasru", "status": {"id_str": "74379106689855149", "is_quote_status": false, "coordinates": null, "retweeted_status": {"id_str": "704648208286976325", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 252, "in_reply_to_user_id": null, "favorited": false, "id": 704648208286976325, "entities": null, "possibly_sensitive": false, "created_at": "Fri Apr 14 18:52:42 +0000 2017", "place": null, "retweeted": false, "text": "lwbwtjmzhxsokamxslpecyseybdekxybfosodqprvofivkfoqbshukcnuuenxfyxwszqwivgtnlkggudvpobxjvtyxltqdkovjiwltxqmjuhdrdkfruixnvoisodqlfotqcqfpkzdoxs", "in_reply_to_status_id_str": null, "source": "Twitter for Android", "favorite_count": 9, "geo": null, "lang": "en", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": true}, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 252, "in_reply_to_user_id": null, "favorited": false, "id": 74379106689855149, "entities": null, "created_at": "Mon Apr 17 21:00:16 +0000 2017", "place": null, "retweeted": false, "text": "qgfpjkzblopsqucklzinlfhsigtqspexyilzffxnfmluybvitsydiovpapljijyfjzmmmzgtoquxltbnhimhqpolytrikyivsrjgzhclrkjdchkwkkgodhgkmwjkaowcyauhqlvphmtt", "in_reply_to_status_id_str": null, "source": "Naibac Influencer Network", "favorite_count": 0, "geo": null, "lang": "en", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 0, "profile_background_image_url_https": null}, {"id_str": "4504732524", "location": "", "listed_count": 0, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": -25200, "created_at": "Mon Jul 22 14:21:33 +0000 2013", "time_zone": "Pacific Time (US & Canada)", "profile_link_color": "1DA1F2", "profile_image_url_https": "http://xhjpgjzjqritrhruthenuufcwkwpiixginzhfrxxujrqwtnoorpgwgbzmxhnwkphjsvlxzakpjq", "contributors_enabled": false, "name": "oqpevthclr", "profile_background_image_url": "http://xkpklepmnqfzafkgzyviysmylposhvlptvdbfoizxrmpvuwv", "screen_name": "jnunjmusgxywqnt", "profile_background_color": "C0DEED", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "ar", "is_translation_enabled": false, "profile_banner_url": "http://oyufsyabjbhrcafalptbvcvycdkhjtlwresixgbvvltwmozgnowcqfvcdww", "verified": false, "id": 4504732524, "followers_count": 786, "friends_count": 1841, "statuses_count": 181, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": null, "profile_image_url": "http://dsvjcrpnqyqnopahlbmaqwcqasvmtyssyezckvtzsjsymlifeeslmtjkyqifqzisbzprkawika", "status": {"id_str": "54344742922657448", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 206, "in_reply_to_user_id": null, "favorited": false, "id": 54344742922657448, "entities": null, "possibly_sensitive": false, "created_at": "Sat Apr 15 16:25:19 +0000 2017", "place": null, "retweeted": false, "text": "hxbdybouidvnbxfquxzypznixbquhdxgmtmwwyeldlpdbdsnjwvtdgetgvwdlfdsyxpymztlerwelvfwmzgooxhjvoeiblixwjpnyllecupgucgunviqbxcf", "in_reply_to_status_id_str": null, "source": "TweetDeck", "favorite_count": 207, "geo": null, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": true}, "favourites_count": 54, "profile_background_image_url_https": "http://ojvwlxghcibgohvyyofeqszjuzahnquncfsgmcjzcwbsbmigx"}, {"id_str": "528664502", "location": "Kandana, Sri Lanka", "listed_count": 1, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Mon Oct 24 04:48:29 +0000 2011", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://wppwzcfxjfofhldmihxuwtudeqtzcmvpgqxvvsbgcrscfyaytakvthaowjumxxsrhlobokuvqaj", "contributors_enabled": false, "name": "zxxqvtkerfbqqzdli", "profile_background_image_url": "http://spnosrfnjvtmmaiyvjpphularnzetvlzcmcejwwbomuouuqf", "screen_name": "bxewwbweue", "profile_background_color": "C0DEED", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "en", "is_translation_enabled": false, "profile_banner_url": "http://psniiiqiylxmyzjvjviglcbplisdsevxxrrlklrlscdotkiatmcrvygmpp", "verified": false, "id": 528664502, "followers_count": 135, "friends_count": 970, "statuses_count": 158, "profile_use_background_image": true, "entities": {}, "has_extended_profile": true, "description": "", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": true, "default_profile": true, "url": null, "profile_image_url": "http://fktzlpinvbbosicssmgmfhufqhvglvmlynwcxrwijjhhzoxeadqmtyscqaqqztlkoystozhxnz", "status": {"id_str": "257583451105316934", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "extended_entities": {"media": [{"media_url": "http://pbs.twimg.com/media/CgNn_DqWwAAPxRJ.jpg", "id_str": "721534698321788928", "expanded_url": "https://twitter.com/thilangura/status/721534720505458688/photo/1", "id": 721534698321788928, "url": "https://t.co/t1jxIGPD9V", "media_url_https": "https://pbs.twimg.com/media/CgNn_DqWwAAPxRJ.jpg", "type": "photo", "indices": [24, 47], "sizes": {"small": {"h": 453, "w": 340, "resize": "fit"}, "large": {"h": 1280, "w": 960, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 800, "w": 600, "resize": "fit"}}, "display_url": "pic.twitter.com/t1jxIGPD9V"}, {"media_url": "http://pbs.twimg.com/media/CgNn_DwWEAIf5mo.jpg", "id_str": "721534698346909698", "expanded_url": "https://twitter.com/thilangura/status/721534720505458688/photo/1", "id": 721534698346909698, "url": "https://t.co/t1jxIGPD9V", "media_url_https": "https://pbs.twimg.com/media/CgNn_DwWEAIf5mo.jpg", "type": "photo", "indices": [24, 47], "sizes": {"small": {"h": 255, "w": 340, "resize": "fit"}, "large": {"h": 768, "w": 1024, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 450, "w": 600, "resize": "fit"}}, "display_url": "pic.twitter.com/t1jxIGPD9V"}, {"media_url": "http://pbs.twimg.com/media/CgNn_DuWwAUT97B.jpg", "id_str": "721534698338566149", "expanded_url": "https://twitter.com/thilangura/status/721534720505458688/photo/1", "id": 721534698338566149, "url": "https://t.co/t1jxIGPD9V", "media_url_https": "https://pbs.twimg.com/media/CgNn_DuWwAUT97B.jpg", "type": "photo", "indices": [24, 47], "sizes": {"small": {"h": 453, "w": 340, "resize": "fit"}, "large": {"h": 1280, "w": 960, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 800, "w": 600, "resize": "fit"}}, "display_url": "pic.twitter.com/t1jxIGPD9V"}, {"media_url": "http://pbs.twimg.com/media/CgNn_FvWsAARiY5.jpg", "id_str": "721534698879627264", "expanded_url": "https://twitter.com/thilangura/status/721534720505458688/photo/1", "id": 721534698879627264, "url": "https://t.co/t1jxIGPD9V", "media_url_https": "https://pbs.twimg.com/media/CgNn_FvWsAARiY5.jpg", "type": "photo", "indices": [24, 47], "sizes": {"small": {"h": 255, "w": 340, "resize": "fit"}, "large": {"h": 768, "w": 1024, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 450, "w": 600, "resize": "fit"}}, "display_url": "pic.twitter.com/t1jxIGPD9V"}]}, "geo": null, "in_reply_to_user_id": null, "in_reply_to_status_id_str": null, "favorited": false, "id": 257583451105316934, "entities": null, "possibly_sensitive": false, "created_at": "Tue Apr 19 03:04:37 +0000 2016", "retweet_count": 1, "retweeted": false, "text": "fkmfmqvenhpbctdebcwpfsdwarvrcmqxtlrrdwjbbehlfve", "place": {"place_type": "admin", "name": "Sharjah", "country_code": "AE", "attributes": {}, "url": "https://api.twitter.com/1.1/geo/id/00ecb59b0dad186e.json", "country": "United Arab Emirates", "bounding_box": {"type": "Polygon", "coordinates": [[[55.0091271, 24.7328863], [56.3816989, 24.7328863], [56.3816989, 25.8997649], [55.0091271, 25.8997649]]]}, "full_name": "Sharjah, United Arab Emirates", "contained_within": [], "id": "00ecb59b0dad186e"}, "source": "Twitter for iPhone", "favorite_count": 39, "lang": "und", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 46, "profile_background_image_url_https": "http://onubpizerlrxpmgrcbmtgvgsxyardewhypiylxwsyzoetecho"}, {"id_str": "138788239", "location": "Nugegoda,Ambalangoda,lka", "listed_count": 47, "profile_background_tile": true, "profile_sidebar_fill_color": "00FF03", "utc_offset": 19800, "created_at": "Thu Apr 22 06:40:04 +0000 2010", "time_zone": "Sri Jayawardenepura", "profile_link_color": "1B95E0", "profile_image_url_https": "http://cctshnlcwauckgymncakbxuakjmjkcdacwcancgzeorfosrlieebikppythhbyrzkwvthjkcrmh", "contributors_enabled": false, "name": "ykhrpmsvyrsfxgac", "profile_background_image_url": "http://bocrpbttsqnsgudzvtudocyijaeenfwddhuvhfthzoeqhnfzswficaqhotnwzehpmywbdvacpvsmzht", "screen_name": "duqzwfw", "profile_background_color": "141314", "default_profile_image": false, "profile_text_color": "000000", "translator_type": "regular", "is_translator": false, "profile_sidebar_border_color": "000000", "protected": false, "lang": "en", "is_translation_enabled": false, "profile_banner_url": "http://ioiwefitdslfiweneysvfbljtzoxtzkifoezyzxyjtuuaqicvenqazjxkw", "verified": false, "id": 138788239, "followers_count": 5850, "friends_count": 1414, "statuses_count": 33599, "profile_use_background_image": true, "entities": {}, "has_extended_profile": true, "description": "cuyxmcuaubvzwnlblfwnguoyyzzpojytbaxzccwlkohqykvzyznphlcfcmfuiejpzqsdfpumihvijnedaswgpxccynifetmjtfp", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": true, "default_profile": false, "url": "http://ylvdainowwxqkaxpniawngd", "profile_image_url": "http://vjbukyywpjycjufbeelbcrllqcyocbeekxjliuthmmdxrysqlvwjkwfcqzneqvqmhnhlamxong", "status": {"id_str": "296261308910130711", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": "rhejdwai", "retweet_count": 0, "in_reply_to_user_id": 869782589, "favorited": false, "id": 296261308910130711, "entities": null, "created_at": "Tue Apr 18 16:30:58 +0000 2017", "place": null, "retweeted": false, "text": "hqlighdsmipcxhqftkayj", "in_reply_to_status_id_str": "744017054574661225", "source": "Twitter for Android", "favorite_count": 0, "geo": null, "lang": "si", "in_reply_to_user_id_str": "869782589", "in_reply_to_status_id": 744017054574661225, "truncated": false}, "favourites_count": 13901, "profile_background_image_url_https": "http://tfqgytpnpcfaywwdyryzcihwbfrltktunvxpvungpvduvhmszpavmitksaxamtcrdolhqfthxguzyerx"}, {"id_str": "559983615969025278", "location": "", "listed_count": 0, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Thu Apr 13 17:54:23 +0000 2017", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://nxplorgahbshqazfpfgveotmhdpdpndghpseicbaflnwhwkbugzelinhhwqagcxnhgzmvtdolqclfz", "contributors_enabled": false, "name": "egfrq", "profile_background_image_url": null, "screen_name": "iirbwijhfdewcra", "profile_background_color": "F5F8FA", "default_profile_image": true, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "ar", "is_translation_enabled": false, "verified": false, "id": 559983615969025278, "followers_count": 1, "friends_count": 20, "statuses_count": 25, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": null, "profile_image_url": "http://vghnciseuewycneeksjowptjhzsmwfztddeuxtdwfmocoaldqdvoqloprqafmerkbzqlmqmvduglo", "status": {"id_str": "288489697795801442", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 0, "in_reply_to_user_id": null, "favorited": false, "id": 288489697795801442, "entities": null, "possibly_sensitive": false, "created_at": "Sat Apr 15 18:57:29 +0000 2017", "place": null, "retweeted": false, "text": "nalanuplcnkafljezqhqzqzaabfqdkdsrrctbnlnjwgkyibhwctowbqgohpfsgaqijjclahbdhgnhgwnuiaxecngdngkkxzgth", "in_reply_to_status_id_str": null, "source": "Twitter Web Client", "favorite_count": 0, "geo": null, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 0, "profile_background_image_url_https": null}, {"id_str": "4042018140", "location": "", "listed_count": 2, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Wed Oct 02 13:20:28 +0000 2013", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://ayawzofbewaxpsjvxwwjbzkdvzohuzllxagdlgoelphdvpzqfjawqakwhumvasvoyohbgidbwmgs", "contributors_enabled": false, "name": "fkcerbsqylebnhovuda", "profile_background_image_url": "http://yyqrlxkohntmgggeqqfscvhqecreicqguutqtehhyjkuqfpe", "screen_name": "jimvzlnirbpyj", "profile_background_color": "C0DEED", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "ar", "is_translation_enabled": false, "verified": false, "id": 4042018140, "followers_count": 526, "friends_count": 666, "statuses_count": 211, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "aaaqxfvdsqdijgjnwluqtas", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": null, "profile_image_url": "http://gyoodxikgcahwegsyznkvjagvihgmdeaosqziavooruepakhcbyjznnxqrbdxgmrekutrrzlouf", "status": {"id_str": "744695505008512785", "is_quote_status": false, "coordinates": null, "retweeted_status": {"id_str": "398740377503318727", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "extended_entities": {"media": [{"media_url": "http://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "id_str": "853680251884457984", "expanded_url": "https://twitter.com/vNw2f/status/853680261707571203/photo/1", "id": 853680251884457984, "url": "https://t.co/0RyfRJe5zd", "media_url_https": "https://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "type": "photo", "indices": [45, 68], "sizes": {"small": {"h": 527, "w": 350, "resize": "fit"}, "large": {"h": 527, "w": 350, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 527, "w": 350, "resize": "fit"}}, "display_url": "pic.twitter.com/0RyfRJe5zd"}]}, "geo": null, "in_reply_to_user_id": null, "in_reply_to_status_id_str": null, "favorited": false, "id": 398740377503318727, "entities": null, "possibly_sensitive": false, "created_at": "Mon Apr 17 18:43:36 +0000 2017", "retweet_count": 195, "retweeted": false, "text": "lolwporqbexffskwwipbpzhtvvuhrnajgqpiigsxtmtejrfjmrcjqjoegyjbzojjoabk", "place": null, "source": "TweetDeck", "favorite_count": 1, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "contributors": null, "in_reply_to_screen_name": null, "extended_entities": {"media": [{"media_url": "http://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "id_str": "853680251884457984", "id": 853680251884457984, "media_url_https": "https://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "type": "photo", "source_user_id_str": "1321452678", "indices": [56, 79], "sizes": {"small": {"h": 527, "w": 350, "resize": "fit"}, "large": {"h": 527, "w": 350, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 527, "w": 350, "resize": "fit"}}, "source_status_id": 853680261707571203, "source_user_id": 1321452678, "expanded_url": "https://twitter.com/vNw2f/status/853680261707571203/photo/1", "url": "https://t.co/0RyfRJe5zd", "source_status_id_str": "853680261707571203", "display_url": "pic.twitter.com/0RyfRJe5zd"}]}, "geo": null, "in_reply_to_user_id": null, "in_reply_to_status_id_str": null, "favorited": false, "id": 744695505008512785, "entities": null, "possibly_sensitive": false, "created_at": "Tue Apr 18 18:44:03 +0000 2017", "retweet_count": 195, "retweeted": false, "text": "suupmvigzagkdjupuuinxvvmhiiafjajcqtcqpmaqtzixnbhsqdnplgozwkunlfcefmoslvcuwwgizk", "place": null, "source": "TweetDeck", "favorite_count": 0, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 5, "profile_background_image_url_https": "http://kfjqqosjoabfenrbyzpgcvwxlwbulykywnoemsbknwegjggmx"}, {"id_str": "5109198878", "location": "", "listed_count": 0, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": -25200, "created_at": "Sat Jan 02 21:14:35 +0000 2016", "time_zone": "Pacific Time (US & Canada)", "profile_link_color": "1DA1F2", "profile_image_url_https": "http://kiwszhhcqorggvnidhdivqmmvaqbgdpzsfgvgibqaoduwzrviqluyesloryvozkhxglfraqhnqc", "contributors_enabled": false, "name": "dwtxlghg", "profile_background_image_url": null, "screen_name": "xnrblndpwffg", "profile_background_color": "F5F8FA", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "ar", "is_translation_enabled": false, "verified": false, "id": 5109198878, "followers_count": 219, "friends_count": 178, "statuses_count": 618, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": null, "profile_image_url": "http://atdlnzgjnuzxdyhjanczhbqvqqgoqmroldrmobznicqpulpjibrgubugkppwyjdhhsjgakuecz", "status": {"id_str": "13564452305027348", "is_quote_status": false, "coordinates": null, "retweeted_status": {"id_str": "969842041791305763", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "extended_entities": {"media": [{"media_url": "http://pbs.twimg.com/media/C9ekL2ZW0AI_COQ.jpg", "id_str": "853331177897381890", "expanded_url": "https://twitter.com/newsssss106/status/853331189918294016/photo/1", "id": 853331177897381890, "url": "https://t.co/erreQTywlB", "media_url_https": "https://pbs.twimg.com/media/C9ekL2ZW0AI_COQ.jpg", "type": "photo", "indices": [113, 136], "sizes": {"small": {"h": 366, "w": 644, "resize": "fit"}, "large": {"h": 366, "w": 644, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 366, "w": 644, "resize": "fit"}}, "display_url": "pic.twitter.com/erreQTywlB"}]}, "geo": null, "in_reply_to_user_id": null, "in_reply_to_status_id_str": null, "favorited": false, "id": 969842041791305763, "entities": null, "possibly_sensitive": false, "created_at": "Mon Apr 17 19:36:33 +0000 2017", "retweet_count": 325, "retweeted": false, "text": "fgtnuoufxwerwjeneimgdodmgddgwhhkmompjiyyskzycrwozfkqiqxhagnykpyehllxakqvixyadypfxnbagpnzuxxdmcdxjaynnnigmbvdpxsimvognsksggtuzzvsxogluyee", "place": null, "source": "TweetDeck", "favorite_count": 328, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 325, "in_reply_to_user_id": null, "favorited": false, "id": 13564452305027348, "entities": null, "possibly_sensitive": false, "created_at": "Sun Apr 16 19:36:31 +0000 2017", "place": null, "retweeted": false, "text": "rrazmuwpofjsivrrwiyeuhtegzgjrcwlzorkaiefihocxldwouxyaqhjxvywkfincrjtacpsvbmphxchoicjbffhgqqixhrwdicghgcbekgmfgrrqbsugvlsojowopcdcaxpbzdeqfnf", "in_reply_to_status_id_str": null, "source": "TweetDeck", "favorite_count": 0, "geo": null, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 461, "profile_background_image_url_https": null}, {"id_str": "290110612920157305", "location": "", "listed_count": 0, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Wed Apr 12 17:58:37 +0000 2017", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://tsokiqaobqzesqwvzojqndpppslkusaiykhncwipdhzmjlywxeunomhyrqkluyufprkxgvckxvlkbo", "contributors_enabled": false, "name": "ymftdze", "profile_background_image_url": null, "screen_name": "fnilxqocz", "profile_background_color": "F5F8FA", "default_profile_image": true, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "ar", "is_translation_enabled": false, "verified": false, "id": 290110612920157305, "followers_count": 0, "friends_count": 0, "statuses_count": 5, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": null, "profile_image_url": "http://myecduomnqsoomrsmfqpwrxowgatqeeuleytwgcqfvxcbnqnfffeujjosamwlzfpsihoajdnmmtrc", "status": {"id_str": "240809047968652930", "is_quote_status": false, "coordinates": null, "truncated": false, "contributors": null, "in_reply_to_screen_name": null, "withheld_copyright": true, "in_reply_to_user_id": null, "favorited": false, "withheld_in_countries": ["XY"], "id": 240809047968652930, "entities": null, "created_at": "Thu Apr 13 17:59:56 +0000 2017", "place": null, "retweet_count": 0, "retweeted": false, "text": "buerjjqwfmrzbieflihaxycswacnpqngrvlhnibbwbidfohnajdtucaymhxwagetpcwjsxeqivnshigdaotrvbwczhayjrb", "in_reply_to_status_id_str": null, "withheld_scope": "status", "favorite_count": 0, "geo": null, "lang": "ar", "source": "Twitter Web Client", "in_reply_to_status_id": null, "in_reply_to_user_id_str": null}, "favourites_count": 0, "profile_background_image_url_https": null}, {"id_str": "858479527", "location": "Lleida", "listed_count": 15, "profile_background_tile": false, "profile_sidebar_fill_color": "000000", "utc_offset": 7200, "created_at": "Fri Feb 11 23:12:46 +0000 2011", "time_zone": "Madrid", "profile_link_color": "19CF86", "profile_image_url_https": "http://xeuhcdscmxxtzvdvcwsiklmujikbszkcduofmjuepresjxikvhrdvuexjdzhndbfocpznjvstrg", "contributors_enabled": false, "name": "mhiqwumvpgbqwwctbd", "profile_background_image_url": "http://lcebubwprpklbunboxenipepeaceylayeazlattemocpjbagp", "screen_name": "vuuuultsowsr", "profile_background_color": "000000", "default_profile_image": false, "profile_text_color": "000000", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "000000", "protected": false, "lang": "ca", "is_translation_enabled": false, "profile_banner_url": "http://bfzcxixlqckizjzqutkauzhfmrktvzurdpmikhrjegyaifpbcringjrbqd", "verified": false, "id": 858479527, "followers_count": 471, "friends_count": 1728, "statuses_count": 2148, "profile_use_background_image": false, "entities": {}, "has_extended_profile": true, "description": "kyppwmqssljxfpsvspdugmsgckiwbdsdytnhlqfkfxexcxgmtjztokpnjuettxlwpjiwhqy", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": true, "default_profile": false, "url": "http://kwvczcihldjeeazijzsugos", "profile_image_url": "http://iplxlbarbobxihupkbkratgtrvolluzgbmnqtvyramadgcasoqimruyhbymqspqtjxodyweqrm", "status": {"id_str": "802809023978963645", "is_quote_status": false, "coordinates": null, "retweeted_status": {"id_str": "708887657418130127", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "extended_entities": {"media": [{"media_url": "http://pbs.twimg.com/media/C9jGz__UQAApK5K.jpg", "id_str": "853650726039339008", "expanded_url": "https://twitter.com/flleida/status/853650729218834433/photo/1", "id": 853650726039339008, "url": "https://t.co/YLp1eZx0Be", "media_url_https": "https://pbs.twimg.com/media/C9jGz__UQAApK5K.jpg", "type": "photo", "indices": [97, 120], "sizes": {"small": {"h": 382, "w": 680, "resize": "fit"}, "large": {"h": 898, "w": 1600, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 674, "w": 1200, "resize": "fit"}}, "display_url": "pic.twitter.com/YLp1eZx0Be"}]}, "geo": null, "in_reply_to_user_id": null, "in_reply_to_status_id_str": null, "favorited": false, "id": 708887657418130127, "entities": null, "possibly_sensitive": false, "created_at": "Fri Apr 14 16:46:14 +0000 2017", "retweet_count": 6, "retweeted": false, "text": "kfebskzjktemnpmjepnzkvantmyzuaobhqjgozltbtkmasfwzgmgdssafunuhsiokyjsaqihzgqoudilscnxpsshrvtlionrpkzbtlpevroyjosiyslfsmqt", "place": null, "source": "Hootsuite", "favorite_count": 12, "lang": "und", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "contributors": null, "in_reply_to_screen_name": null, "extended_entities": {"media": [{"media_url": "http://pbs.twimg.com/media/C9jGz__UQAApK5K.jpg", "id_str": "853650726039339008", "id": 853650726039339008, "media_url_https": "https://pbs.twimg.com/media/C9jGz__UQAApK5K.jpg", "type": "photo", "source_user_id_str": "627341333", "indices": [110, 133], "sizes": {"small": {"h": 382, "w": 680, "resize": "fit"}, "large": {"h": 898, "w": 1600, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 674, "w": 1200, "resize": "fit"}}, "source_status_id": 853650729218834433, "source_user_id": 627341333, "expanded_url": "https://twitter.com/flleida/status/853650729218834433/photo/1", "url": "https://t.co/YLp1eZx0Be", "source_status_id_str": "853650729218834433", "display_url": "pic.twitter.com/YLp1eZx0Be"}]}, "geo": null, "in_reply_to_user_id": null, "in_reply_to_status_id_str": null, "favorited": false, "id": 802809023978963645, "entities": null, "possibly_sensitive": false, "created_at": "Tue Apr 18 17:23:08 +0000 2017", "retweet_count": 6, "retweeted": false, "text": "xfhdypwjyfjnaeoxojfqcpiukrtugqwepoffdywpdsgqcbxkxlrfwfkpqdhdjmqqeuyxjbjqzdweelekkobdtjwssojfbpwbcqvofewkuletwjjobdnmcyjtifjtxurwfubou", "place": null, "source": "Twitter for Android", "favorite_count": 0, "lang": "und", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 864, "profile_background_image_url_https": "http://rhtcrrgelqjujagiaemjxzjmjrvfqscxnlwokjnaohyacgjcxf"}, {"id_str": "2467930832", "location": "", "listed_count": 0, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Sun Aug 25 23:38:25 +0000 2013", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://isgqkcfalvjrcxrfzslgfqlueeugjmwpesvxljbqrkopgljoanmltftqsjyzgsyimfeyamiuseij", "contributors_enabled": false, "name": "xiag", "profile_background_image_url": "http://yxwvpcqhxudsasuztwpaasnwzydeltfxauouvwlnfgykjbgl", "screen_name": "ztkbrxic", "profile_background_color": "C0DEED", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "ar", "is_translation_enabled": false, "verified": false, "id": 2467930832, "followers_count": 1087, "friends_count": 1214, "statuses_count": 1700, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "gcmpanojaaccvlarfforalxdpljlddcmgdviadyyjkpnggarmymgswvxduqqhjsdmdheauffbgpruowwyjfvgevxscyid", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": true, "default_profile": true, "url": null, "profile_image_url": "http://apoexqkfndegevnvicrhhugqzwbsbvpfrkuppjknsccpgoptncdtjgweszypuaeyagamzreajof", "status": {"id_str": "859028946855249011", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 0, "in_reply_to_user_id": null, "favorited": false, "id": 859028946855249011, "entities": null, "created_at": "Fri Apr 14 20:51:58 +0000 2017", "place": null, "retweeted": false, "text": "ewyoekglhnntkjywqkmvdujowrgtrijuuziuhbvwwtggkqvusjzwgsrozwrqn", "in_reply_to_status_id_str": null, "source": "alshbkanews", "favorite_count": 0, "geo": null, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 423, "profile_background_image_url_https": "http://ihtiwxqtatynnauxooepggdsntulzfveyzxnepkbkyvjbdisw"}, {"id_str": "2827560229", "location": "", "listed_count": 1, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": -21600, "created_at": "Wed Jan 21 05:16:13 +0000 2015", "time_zone": "Mountain Time (US & Canada)", "profile_link_color": "1DA1F2", "profile_image_url_https": "http://dmrdxksqzhlkbfmhzpwbrvfpximvvdqbwnvcziathysgxygwdeimsazduumxnrioiqtlkjpuymr", "contributors_enabled": false, "name": "mytoheybtsbj", "profile_background_image_url": "http://infsscebukzvxcclydxumumzfavivzkppeqmetslrdvcjuxd", "screen_name": "ffvliewnnmerof", "profile_background_color": "C0DEED", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "en", "is_translation_enabled": false, "profile_banner_url": "http://eignqlnpvcillybzzlvmzrazocerdvjgocfysnefjlydzjgffuenepruidw", "verified": false, "id": 2827560229, "followers_count": 38, "friends_count": 5, "statuses_count": 923, "profile_use_background_image": true, "entities": {}, "has_extended_profile": true, "description": "cjduzyngqzvjnjlprkjqnsfvfkzntboxygocadbpb", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": true, "default_profile": true, "url": "http://btbtoggqpqtwjiclbkzmkqi", "profile_image_url": "http://xghanibhpqfjuadpcjzncmzgtdslijvqaonididbcrsuppkvrfmhfkncxyqnjusnkfwjcccilz", "status": {"id_str": "594942484117250113", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "extended_entities": {"media": [{"media_url": "http://pbs.twimg.com/media/C9fqrcWUQAA57nz.jpg", "id_str": "853408686475067392", "expanded_url": "https://twitter.com/Thetruevoicetv/status/853408696889507840/photo/1", "id": 853408686475067392, "url": "https://t.co/H6hxsuRaEJ", "media_url_https": "https://pbs.twimg.com/media/C9fqrcWUQAA57nz.jpg", "type": "photo", "indices": [97, 120], "sizes": {"small": {"h": 680, "w": 510, "resize": "fit"}, "large": {"h": 2048, "w": 1536, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 1200, "w": 900, "resize": "fit"}}, "display_url": "pic.twitter.com/H6hxsuRaEJ"}]}, "geo": null, "in_reply_to_user_id": null, "in_reply_to_status_id_str": null, "favorited": false, "id": 594942484117250113, "entities": null, "possibly_sensitive": false, "created_at": "Mon Apr 17 00:44:50 +0000 2017", "retweet_count": 0, "retweeted": false, "text": "xybfsljybxckmgcgnksktnpxhfrhitfogkhtjruewipqkbeqiekppulzvawzcuholdvqvqnrpbfxqafnigyvqppwabcvwksjthybezbuyxcyzsbnejabppdn", "place": null, "source": "Twitter for Android", "favorite_count": 0, "lang": "en", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 180, "profile_background_image_url_https": "http://vgxumzjvwahfmyvnfxkufbakxjcvfnhdacmdinknixhpawfxv"}, {"id_str": "383315823502305808", "location": "", "listed_count": 0, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Thu Apr 13 14:07:09 +0000 2017", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://xxbahpizrzzdsiibzcydoklifvbdjzpalowgpsnfjxdjogbazwwcrwlzcjzribkwubfvtcybaayyxb", "contributors_enabled": false, "name": "idtaxnjqoi", "profile_background_image_url": null, "screen_name": "ilqgskcd", "profile_background_color": "F5F8FA", "default_profile_image": true, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "ar", "is_translation_enabled": false, "verified": false, "id": 383315823502305808, "followers_count": 0, "friends_count": 20, "statuses_count": 840, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": null, "profile_image_url": "http://lmcapamcodxzcwqehjxlhtgqkbkhguilvepdlcsjzyvigivyxgxswtquwamdzllhzvylzvrbdmwhl", "status": {"id_str": "483446851880962821", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 0, "in_reply_to_user_id": null, "favorited": false, "id": 483446851880962821, "entities": null, "possibly_sensitive": false, "created_at": "Mon Apr 17 21:05:05 +0000 2017", "place": null, "retweeted": false, "text": "mjidutcmwzquxmyqjegshspcfpdpugtcvjmwkihdkzzvgqzqpzlytjfiqcipzwpdlcsy", "in_reply_to_status_id_str": null, "source": "WordPress.com", "favorite_count": 0, "geo": null, "lang": "und", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 0, "profile_background_image_url_https": null}, {"id_str": "873274852410237936", "location": "", "listed_count": 0, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Thu Apr 13 18:43:48 +0000 2017", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://tqxojtfdhhkyuwxkjoeogkebbtzgxyybxuqxfuyulqywqnvqltqegttrrtpmktzjbabyatiepxcpcz", "contributors_enabled": false, "name": "liybefzgfibb", "profile_background_image_url": null, "screen_name": "gqfefuxysyhasgn", "profile_background_color": "F5F8FA", "default_profile_image": true, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "ar", "is_translation_enabled": false, "verified": false, "id": 873274852410237936, "followers_count": 0, "friends_count": 0, "statuses_count": 6, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": null, "profile_image_url": "http://gphbsuajseotbfogdexgxewjrsntfpafsarmdntgdlrnopedhijwxvofpyagppszkrwbemvfsstjc", "status": {"id_str": "404028360119388688", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 0, "in_reply_to_user_id": null, "favorited": false, "id": 404028360119388688, "entities": null, "possibly_sensitive": false, "created_at": "Sat Apr 15 18:54:19 +0000 2017", "place": null, "retweeted": false, "text": "nrjgvbkjpchgcpazomofqymfgjwwqjcbgtmhkueadqpavfbihvahlxopncnkbfyjzfthrzyddtmakvjxmacdfdyhjuhcqpcztrwdmlyzulmuppcevyjpfvgu", "in_reply_to_status_id_str": null, "source": "Twitter Web Client", "favorite_count": 0, "geo": null, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 0, "profile_background_image_url_https": null}, {"id_str": "43238856", "location": "Calgary, Canada eh?", "listed_count": 11, "profile_background_tile": false, "profile_sidebar_fill_color": "99CC33", "utc_offset": -21600, "created_at": "Sun May 24 09:12:16 +0000 2009", "time_zone": "Mountain Time (US & Canada)", "profile_link_color": "D02B55", "profile_image_url_https": "http://qytcicojnlyhogvyrpeumtrfbxyamelfwhgugipesuprlptrnnkhlhttsoxopyeaomlmrxmjszh", "contributors_enabled": false, "name": "fnpypvlsrrqzsb", "profile_background_image_url": "http://iywoozlxtcyqhijdrgcjizvggzvfrjdmvvnuzrkyxgqdofns", "screen_name": "sliwmeuxozq", "profile_background_color": "352726", "default_profile_image": false, "profile_text_color": "3E4415", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "829D5E", "protected": false, "lang": "en", "is_translation_enabled": false, "profile_banner_url": "http://wfhsaqchfaginpycpbcdvdvmmfurfhahyfavkojvrshamywuuwwbdreqw", "verified": false, "id": 43238856, "followers_count": 205, "friends_count": 691, "statuses_count": 3363, "profile_use_background_image": true, "entities": {}, "has_extended_profile": true, "description": "lrlurwrdwfnyuagywgetaamx", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": true, "default_profile": false, "url": "http://esaxqtvbwzjhdttdlakzwje", "profile_image_url": "http://tnhsnckiwbghrukltzxixbhoxjswwbrklalwkhxrqcsjylkqgmmmftkmdpkvfjqpypnokpmvxn", "status": {"id_str": "503853922700930866", "is_quote_status": false, "coordinates": null, "retweeted_status": {"id_str": "237673342784929676", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 93, "in_reply_to_user_id": null, "favorited": false, "id": 237673342784929676, "entities": null, "created_at": "Fri Apr 07 22:58:32 +0000 2017", "place": null, "retweeted": false, "text": "opykftgqepejobbawbwjizgdtsfniwptqsrenkjtguahao", "in_reply_to_status_id_str": null, "source": "Twitter for iPhone", "favorite_count": 490, "geo": null, "lang": "en", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 93, "in_reply_to_user_id": null, "favorited": false, "id": 503853922700930866, "entities": null, "created_at": "Mon Apr 10 23:08:55 +0000 2017", "place": null, "retweeted": false, "text": "nrvsptmlprywfiglnkheqcumoqohcucirzufexznoqxgekxuxgvduzyfgvpnsxcrhv", "in_reply_to_status_id_str": null, "source": "Twitter for iPhone", "favorite_count": 0, "geo": null, "lang": "en", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 602, "profile_background_image_url_https": "http://psskkiceqtspcwighbxhqrpxntblyeajtujjhfptuhfithwcr"}, {"id_str": "5569213043", "location": "Karachi, Pakistan", "listed_count": 2, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Thu May 01 18:32:17 +0000 2014", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://ngkdngloclmupbfwwcvmfhydnnknsrjaydevobnygwbplzshkgkixchqhtvbztsczhhdclvxgda", "contributors_enabled": false, "name": "fcpymnazgr", "profile_background_image_url": "http://shoufsxqulhqslppjyxcvuiwjjrvfxdukshkcsmmxgyaufha", "screen_name": "cjkqcjiz", "profile_background_color": "C0DEED", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "en", "is_translation_enabled": false, "profile_banner_url": "http://dlmqrqgjguxwcnnnledocjrkjuubccqgzcgjdvdclzelltjbzwgqrqrkdgx", "verified": false, "id": 5569213043, "followers_count": 173, "friends_count": 429, "statuses_count": 2657, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "jotgwzstvrathakbfjybvdyuedyuelhzrgwcmcmidbshaleghppudobmbvevtuinphvmfaeguoftgbvhayjspvrsntclihxg", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": null, "profile_image_url": "http://jhwwjlupkuliayjaoazzheysoakfokrejmeblxfiwgebxudqnhvldohqkqhkmybyjtopxcpuzq", "status": {"id_str": "535142659623791641", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 0, "in_reply_to_user_id": null, "favorited": false, "id": 535142659623791641, "entities": null, "created_at": "Sat Sep 17 09:26:41 +0000 2016", "place": null, "retweeted": false, "text": "xghyqjdtwolcwnjvzmeckexjsmvsgqmaeiybgvvmkiztwjaqbkcfwnnalvrzttcaguwjdthxeryveknuuayzqmyqwwxpwocjluijezckvypfvwuspgyknobwpztabsgftnilpkelegj", "in_reply_to_status_id_str": null, "source": "Twitter for Android", "favorite_count": 6, "geo": null, "lang": "en", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 1102, "profile_background_image_url_https": "http://taxszwmhgzbzyprpdvguvntgbhihjuejzuxyvhdqzapnfwobl"}, {"id_str": "6009415171", "location": "\u0647\u0646\u0627 \u0641\u064a \u0645\u0643\u0627\u0646\u064a", "listed_count": 19, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": 10800, "created_at": "Tue Feb 26 17:01:52 +0000 2013", "time_zone": "Baghdad", "profile_link_color": "1DA1F2", "profile_image_url_https": "http://hkqqndpjetwjlcfovnzrzongsakfjjxruvbspiegyxvkmxvrevgbraqlhxcckpsuzdwehmqvxxquamqguvyrhumyaljz", "contributors_enabled": false, "name": "fprltlceo", "profile_background_image_url": "http://supkdhvqnhqlsavlmqmryahstqwzykabmdqdgxofsdtuquxy", "screen_name": "uttfl", "profile_background_color": "C0DEED", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "en", "is_translation_enabled": false, "verified": false, "id": 6009415171, "followers_count": 1490, "friends_count": 1406, "statuses_count": 107039, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "dtpqfbblqqyitpyhhdhunzwmoyorqpjcmwbv", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": null, "profile_image_url": "http://smdyrlwvkrvwaqyoyinesshbodimpgsupyrjvrzlmeomirtbijszqdxgmefjyjgpfmrkfcrdqjlsjmmxamtdptgmxvt", "status": {"id_str": "135652429084870890", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 0, "in_reply_to_user_id": null, "favorited": false, "id": 135652429084870890, "entities": null, "possibly_sensitive": false, "created_at": "Sat Apr 15 20:37:21 +0000 2017", "place": null, "retweeted": false, "text": "jabbrxhmpfujxcfzcuebxxbsqxglazghokrbmiisvwattaznsslpfgovsqgtbvuplmqqbojwe", "in_reply_to_status_id_str": null, "source": "dlvr.it", "favorite_count": 0, "geo": null, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 5, "profile_background_image_url_https": "http://jcoafqkspzfatwvuuaqdnctjgepmjownieiyictgatwbejrgq"}, {"id_str": "999735456", "location": "\u041a\u043e\u043c\u0441\u043e\u043c\u043e\u043b\u044c\u0441\u043a-\u043d\u0430-\u0410\u043c\u0443\u0440\u0435", "listed_count": 9, "profile_background_tile": false, "profile_sidebar_fill_color": "FFF7CC", "utc_offset": 39600, "created_at": "Wed May 02 01:55:03 +0000 2012", "time_zone": "New Caledonia", "profile_link_color": "FF0000", "profile_image_url_https": "http://uoejvqnhastxroryzlvryegdpgqyixsejrfndlkcptnylwmkmjtdjjomblrdsxiplmanwbzxcjk", "contributors_enabled": false, "name": "znftoprglrszp", "profile_background_image_url": "http://xtvyycotubmlvcegwapuolgbnmknusvwuebkfkttopelaqhsq", "screen_name": "qgttvfejoccu", "profile_background_color": "BADFCD", "default_profile_image": false, "profile_text_color": "0C3E53", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "F2E195", "protected": false, "lang": "ru", "is_translation_enabled": false, "profile_banner_url": "http://whegtoicoagqlprkginpllisqyyndtzxkljjnjpvygpcyczcfeuybdorsi", "verified": false, "id": 999735456, "followers_count": 290, "friends_count": 805, "statuses_count": 28009, "profile_use_background_image": true, "entities": {}, "has_extended_profile": true, "description": "kwztjvyrwoxudnfiyiujzuxkmqdynaqgrhmrbibibbtmxnndwlevcchayriwh", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": true, "default_profile": false, "url": null, "profile_image_url": "http://aubpqxctlguhcexpsjvrvlftebuivpoxkqavzjcxushixtswwcoflbusaxdrzrckrzcouotfcd", "status": {"id_str": "950641611922468617", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 0, "in_reply_to_user_id": null, "favorited": false, "id": 950641611922468617, "entities": null, "possibly_sensitive": false, "created_at": "Mon Apr 17 14:02:41 +0000 2017", "place": null, "retweeted": false, "text": "qrqqprhfgapuimvcijrtswfghcszxmxgxaongxkxiptztcdqkoqfvhxwwrzomjvtfvtzjkumxgv", "in_reply_to_status_id_str": null, "source": "Twitter Web Client", "favorite_count": 0, "geo": null, "lang": "und", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 76, "profile_background_image_url_https": "http://xzfdnrexqgnjvckpmqxyhamddgdcwjwallravhtkmdghfvmkhx"}, {"id_str": "8570606", "location": "", "listed_count": 37, "profile_background_tile": true, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": -18000, "created_at": "Sat Nov 21 10:46:32 +0000 2009", "time_zone": "Central Time (US & Canada)", "profile_link_color": "E81C4F", "profile_image_url_https": "http://qdcveqliquyrdoccjqatzqqxqnnifznfyfostjtvlszqwhxwzzkqfdfhluwbycbgazaceufixbo", "contributors_enabled": false, "name": "dbxzjtf", "profile_background_image_url": "http://lzxpwvjfmgudykqcgtpdviqytgbfxrpyikyotepgthtalevbwbeezcazchwjhoqkkvqnxvmfrcfwjg", "screen_name": "oxesxepjvd", "profile_background_color": "89C9FA", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "FFFFFF", "protected": false, "lang": "en", "is_translation_enabled": false, "profile_banner_url": "http://pqhsexnvdmimfvutidasnlrnhznjeaeltvymsvzdvnaqygcfjhlcywjxl", "verified": false, "id": 8570606, "followers_count": 1343, "friends_count": 114, "statuses_count": 47402, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "ocwzvejszrshhbykvxehjpqqzznqclmrhdfxcjsbdsgjwcsvxpgwl", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": true, "default_profile": false, "url": null, "profile_image_url": "http://cfubmdjwrottaqrptunhknaulwfcdhkfqzlrblnspxbngfyxxgbgynfkvjxeknoszfjmsrbvya", "status": {"id_str": "993173327682205584", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": "ppxtvllsosewgri", "retweet_count": 0, "in_reply_to_user_id": 7989048360, "favorited": false, "id": 993173327682205584, "entities": null, "created_at": "Mon Apr 17 19:42:04 +0000 2017", "place": null, "retweeted": false, "text": "zemxoyawjfhfomwuvqdcjurxloeeesvrlvbyvtifigelgicnajlzhvuaxrhzsazoctchputktcoty", "in_reply_to_status_id_str": "59736314451640185", "source": "Twitter for iPhone", "favorite_count": 0, "geo": null, "lang": "en", "in_reply_to_user_id_str": "7989048360", "in_reply_to_status_id": 59736314451640185, "truncated": false}, "favourites_count": 3084, "profile_background_image_url_https": "http://ifgqvjpnwrzwoscpyksapmupoinqpdgtxukcpkerahyykrgrrctbgjiuwnvnegbxzvbnkqgmomxrxvp"}, {"id_str": "100247702", "location": "\u0627\u0644\u0645\u0645\u0644\u0643\u0629 \u0627\u0644\u0623\u0631\u062f\u0646\u064a\u0629 \u0627\u0644\u0647\u0627\u0634\u0645\u064a\u0629", "listed_count": 0, "profile_background_tile": true, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": -21600, "created_at": "Sun Nov 18 14:37:55 +0000 2012", "time_zone": "Central America", "profile_link_color": "0084B4", "profile_image_url_https": "http://fciztdnptrrrdyppcucezdtdhpdcviweyhvxmooahljzwvuclpnqbgezlsmiybiaevuistncbdvdnprfkisntsdtnjrl", "contributors_enabled": false, "name": "fibummyzzlggmo", "profile_background_image_url": "http://vuwazhzqvivfecrtcnfgogzkiqdtzbzzegmpqffpvtjjbjrrhxnrhnrwwiqeamwhpakxtewzwotjgrfhngultpeiacvahd", "screen_name": "wqqpgmljw", "profile_background_color": "C0DEED", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "000000", "protected": false, "lang": "en", "is_translation_enabled": false, "profile_banner_url": "http://sxrpknbixindeuztbxzujdexkspzefuyymlwkssczbekjgdeymagkkfuwa", "verified": false, "id": 100247702, "followers_count": 477, "friends_count": 898, "statuses_count": 1731, "profile_use_background_image": true, "entities": {}, "has_extended_profile": true, "description": "nmkgrmpisllemoupjty", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": false, "url": null, "profile_image_url": "http://rnrqmgqhfsisimuvhbntpztzyuqrqkcxyapebzabfcxcmkilbxfgkasvanthdjmzqihffxjtswqmszrcdkvutmtkrkh", "status": {"id_str": "104296415478569106", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 82, "in_reply_to_user_id": null, "favorited": false, "id": 104296415478569106, "entities": null, "possibly_sensitive": false, "created_at": "Sat Apr 15 15:17:02 +0000 2017", "place": null, "retweeted": false, "text": "nizwfbovcdudgzqnancbtkdlbrjmdiwqheekgzeofetmbwucgwoschurnekhbuluqkftcdiylgtjveqqarwfbgwnxmujggktbckxzxcyohgsyvjkegjdlc", "in_reply_to_status_id_str": null, "source": "TweetDeck", "favorite_count": 83, "geo": null, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": true}, "favourites_count": 1622, "profile_background_image_url_https": "http://miebjdlzrsoublotmjzyetpjuwocbepgecpuzgobmklllvobelcsfskpqpfwmhkmiployzvwdqftxftgenjwmdryartsolb"}, {"id_str": "607174171", "location": "Lahore, Pakistan", "listed_count": 12, "profile_background_tile": true, "profile_sidebar_fill_color": "EFEFEF", "utc_offset": null, "created_at": "Sat Apr 23 12:46:39 +0000 2011", "time_zone": null, "profile_link_color": "DD2E44", "profile_image_url_https": "http://nnenkrtoiwttgyfvazoizosgzgjdfewexzwstvjpkmarmvdxojzteajcuibvkmzylvpuiltajcw", "contributors_enabled": false, "name": "wnxckexkd", "profile_background_image_url": "http://ezrrqhtkzcjzxziavgrwylhuvferrpcrjchkkozbdkjcnyigtxsyvmonsmpbhaagictvvngepsneyo", "screen_name": "ovrbhzyqhj", "profile_background_color": "232526", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "000000", "protected": false, "lang": "en", "is_translation_enabled": false, "profile_banner_url": "http://tkyueoapfzwjhylfgvepsqyjgrxencwcgobrdkckobzrltppjnsakaviwb", "verified": false, "id": 607174171, "followers_count": 1442, "friends_count": 410, "statuses_count": 66531, "profile_use_background_image": true, "entities": {}, "has_extended_profile": true, "description": "uyysfqmiwsyhwwmjatozzqnlacijeqdndgyyhmenkhfmbedufwbffnohbyvmbblwouomomheuatjnekskokqdiwxthbvbdtcdnqolfttssadgjhulihjtynwwinmoujtbizlthceukatyqpnvvvb", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": true, "default_profile": false, "url": null, "profile_image_url": "http://aszvbhxsupqiprqpgrhjqjnkvxrerwabsusoiezlizstikqabzjbsinrbcwfzpqmxutqqeydsr", "status": {"id_str": "701971283964601621", "is_quote_status": false, "coordinates": null, "retweeted_status": {"id_str": "953733764481159902", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "extended_entities": {"media": [{"media_url": "http://pbs.twimg.com/media/C9iyUDZW0AA6LYS.jpg", "id_str": "853628186965495808", "expanded_url": "https://twitter.com/Nid_Naveed/status/853628559654617090/photo/1", "id": 853628186965495808, "url": "https://t.co/XRbbRW7iQe", "media_url_https": "https://pbs.twimg.com/media/C9iyUDZW0AA6LYS.jpg", "type": "photo", "indices": [38, 61], "sizes": {"small": {"h": 295, "w": 598, "resize": "fit"}, "large": {"h": 295, "w": 598, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 295, "w": 598, "resize": "fit"}}, "display_url": "pic.twitter.com/XRbbRW7iQe"}, {"media_url": "http://pbs.twimg.com/media/C9iyVrRWAAA_Jkk.jpg", "id_str": "853628214849175552", "expanded_url": "https://twitter.com/Nid_Naveed/status/853628559654617090/photo/1", "id": 853628214849175552, "url": "https://t.co/XRbbRW7iQe", "media_url_https": "https://pbs.twimg.com/media/C9iyVrRWAAA_Jkk.jpg", "type": "photo", "indices": [38, 61], "sizes": {"small": {"h": 291, "w": 601, "resize": "fit"}, "large": {"h": 291, "w": 601, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 291, "w": 601, "resize": "fit"}}, "display_url": "pic.twitter.com/XRbbRW7iQe"}]}, "geo": null, "in_reply_to_user_id": null, "in_reply_to_status_id_str": null, "favorited": false, "id": 953733764481159902, "entities": null, "possibly_sensitive": false, "created_at": "Sun Apr 16 15:18:23 +0000 2017", "retweet_count": 243, "retweeted": false, "text": "jnkyhujpgpugtrhyyxcdqopzrsvrtzcrtdogijzfohbsrcvmswpqjjzslrgjk", "place": null, "source": "Twitter Web Client", "favorite_count": 222, "lang": "en", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "contributors": null, "in_reply_to_screen_name": null, "extended_entities": {"media": [{"media_url": "http://pbs.twimg.com/media/C9iyUDZW0AA6LYS.jpg", "id_str": "853628186965495808", "id": 853628186965495808, "media_url_https": "https://pbs.twimg.com/media/C9iyUDZW0AA6LYS.jpg", "type": "photo", "source_user_id_str": "3236135328", "indices": [54, 77], "sizes": {"small": {"h": 295, "w": 598, "resize": "fit"}, "large": {"h": 295, "w": 598, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 295, "w": 598, "resize": "fit"}}, "source_status_id": 853628559654617090, "source_user_id": 3236135328, "expanded_url": "https://twitter.com/Nid_Naveed/status/853628559654617090/photo/1", "url": "https://t.co/XRbbRW7iQe", "source_status_id_str": "853628559654617090", "display_url": "pic.twitter.com/XRbbRW7iQe"}, {"media_url": "http://pbs.twimg.com/media/C9iyVrRWAAA_Jkk.jpg", "id_str": "853628214849175552", "id": 853628214849175552, "media_url_https": "https://pbs.twimg.com/media/C9iyVrRWAAA_Jkk.jpg", "type": "photo", "source_user_id_str": "3236135328", "indices": [54, 77], "sizes": {"small": {"h": 291, "w": 601, "resize": "fit"}, "large": {"h": 291, "w": 601, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 291, "w": 601, "resize": "fit"}}, "source_status_id": 853628559654617090, "source_user_id": 3236135328, "expanded_url": "https://twitter.com/Nid_Naveed/status/853628559654617090/photo/1", "url": "https://t.co/XRbbRW7iQe", "source_status_id_str": "853628559654617090", "display_url": "pic.twitter.com/XRbbRW7iQe"}]}, "geo": null, "in_reply_to_user_id": null, "in_reply_to_status_id_str": null, "favorited": false, "id": 701971283964601621, "entities": null, "possibly_sensitive": false, "created_at": "Sun Apr 16 17:53:59 +0000 2017", "retweet_count": 243, "retweeted": false, "text": "qybgfthhuekpktijdesuvyxsownplxglvipywknegiufzzhnprpscissuwuyhmiponyjakrnsnlpa", "place": null, "source": "Twitter for iPhone", "favorite_count": 0, "lang": "en", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 3193, "profile_background_image_url_https": "http://xvozhdcudfemrxlpmmjriambbqopvvufrekpemyjrzjsqqhavquggrqvxtdgfhkwczqgetfjyhczqst"}, {"id_str": "6012076773", "location": "", "listed_count": 0, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": -25200, "created_at": "Mon Aug 04 16:32:19 +0000 2014", "time_zone": "Pacific Time (US & Canada)", "profile_link_color": "1DA1F2", "profile_image_url_https": "http://ypvydwflznzqnskeadrwrjxgvlzafqxsfsaiyfiejqyojchouoemmvzbbigxcapoczawnlaurvp", "contributors_enabled": false, "name": "daqjfsickravc", "profile_background_image_url": "http://zctltwvkeffxocpxrtpnaaxxgagwhebgjydhowftlmkkfhcx", "screen_name": "fqiuunjftgjkbsl", "profile_background_color": "C0DEED", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "ar", "is_translation_enabled": false, "profile_banner_url": "http://jfayhiylajgorbntwjbjthkkaoqmxrosrctekyzisapuptxcfspcvxvuigq", "verified": false, "id": 6012076773, "followers_count": 546, "friends_count": 1082, "statuses_count": 331, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "wmccelbunh", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": null, "profile_image_url": "http://lilulwuewnhhtqgaptscklycgbewqmaemuxmypqgjznyfapnxvwldolxmyqhrzszghskhvioiu", "status": {"id_str": "43406489367780362", "is_quote_status": false, "coordinates": null, "truncated": false, "contributors": null, "in_reply_to_screen_name": null, "withheld_copyright": true, "in_reply_to_user_id": null, "favorited": false, "withheld_in_countries": ["XY"], "id": 43406489367780362, "entities": null, "created_at": "Thu Apr 13 17:40:17 +0000 2017", "place": null, "retweet_count": 0, "retweeted": false, "text": "gpjzqatyyqgeygtzfwylchqflztyolurqvysfacjjkjmrqmiwymtfqfqdjswvwutwkiaoyvuatocaxngznronmneufppoykvhnbco", "in_reply_to_status_id_str": null, "withheld_scope": "status", "favorite_count": 1, "geo": null, "lang": "ar", "source": "Twitter Web Client", "in_reply_to_status_id": null, "in_reply_to_user_id_str": null}, "favourites_count": 69, "profile_background_image_url_https": "http://owjncunsktxdudtkmqwhpirpnmrasrgibtucgnhpwwhbhhnko"}, {"id_str": "3512515719", "location": "", "listed_count": 1, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Sun Mar 03 18:03:49 +0000 2013", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://fnqyltzyeqzuyxojapovfxntvbulddryfmzosaviftymxmvjpjtohurqghdhskjrijvtdieozet", "contributors_enabled": false, "name": "kmgtpsvecp", "profile_background_image_url": "http://onzzfxtusoxkpvskfneskisiyqnsjcntkwzoglifvkkmrtjt", "screen_name": "pdyveypur", "profile_background_color": "C0DEED", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "ar", "is_translation_enabled": false, "profile_banner_url": "http://pegrjhlnceajdliaxrmtmlybbskexigocaqitunezoahfyzpkllnddnhagk", "verified": false, "id": 3512515719, "followers_count": 1246, "friends_count": 1733, "statuses_count": 3718, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "lewspsgavitscvoobdbzgn", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": null, "profile_image_url": "http://fbxnacqjcnyspchlxicrpekynzracfulduqqsevwpgioycdlyvursxrcrnqdapsseadrnocvfi", "status": {"id_str": "368136104136667973", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "extended_entities": {"media": [{"media_url": "http://pbs.twimg.com/media/C9eYc-ZXUAAOzIL.jpg", "id_str": "853318277963141120", "expanded_url": "https://twitter.com/fofo_5033/status/853318331612483586/photo/1", "id": 853318277963141120, "url": "https://t.co/KXglSPxk23", "media_url_https": "https://pbs.twimg.com/media/C9eYc-ZXUAAOzIL.jpg", "type": "photo", "indices": [113, 136], "sizes": {"small": {"h": 205, "w": 246, "resize": "fit"}, "large": {"h": 205, "w": 246, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 205, "w": 246, "resize": "fit"}}, "display_url": "pic.twitter.com/KXglSPxk23"}, {"media_url": "http://pbs.twimg.com/media/C9eYe1XW0AIxHx3.jpg", "id_str": "853318309898539010", "expanded_url": "https://twitter.com/fofo_5033/status/853318331612483586/photo/1", "id": 853318309898539010, "url": "https://t.co/KXglSPxk23", "media_url_https": "https://pbs.twimg.com/media/C9eYe1XW0AIxHx3.jpg", "type": "photo", "indices": [113, 136], "sizes": {"small": {"h": 146, "w": 346, "resize": "fit"}, "large": {"h": 146, "w": 346, "resize": "fit"}, "thumb": {"h": 146, "w": 146, "resize": "crop"}, "medium": {"h": 146, "w": 346, "resize": "fit"}}, "display_url": "pic.twitter.com/KXglSPxk23"}, {"media_url": "http://pbs.twimg.com/media/C9eYe1aWAAAZt32.jpg", "id_str": "853318309911068672", "expanded_url": "https://twitter.com/fofo_5033/status/853318331612483586/photo/1", "id": 853318309911068672, "url": "https://t.co/KXglSPxk23", "media_url_https": "https://pbs.twimg.com/media/C9eYe1aWAAAZt32.jpg", "type": "photo", "indices": [113, 136], "sizes": {"small": {"h": 191, "w": 264, "resize": "fit"}, "large": {"h": 191, "w": 264, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 191, "w": 264, "resize": "fit"}}, "display_url": "pic.twitter.com/KXglSPxk23"}]}, "geo": null, "in_reply_to_user_id": null, "in_reply_to_status_id_str": null, "favorited": false, "id": 368136104136667973, "entities": null, "possibly_sensitive": false, "created_at": "Sun Apr 16 18:45:29 +0000 2017", "retweet_count": 53, "retweeted": false, "text": "smqivhfwrwupdzovdvvumkheipwzcqhlshgevgsvdxbljujavkbmaqogangzozwjhnxkykwksloneclctxlwdgyxjxghdbhlncyuhewlgkzhlrlwlpmoaqnargkbingzkbxgozxv", "place": null, "source": "Twitter Web Client", "favorite_count": 55, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 38, "profile_background_image_url_https": "http://tasjiwzzzzdlwramjaazvsrcehuuyxxjratuvckuahhxftndh"}, {"id_str": "288878818492703270", "location": "\u0627\u0644\u062f\u0645\u0627\u0645, \u0627\u0644\u0645\u0645\u0644\u0643\u0629 \u0627\u0644\u0639\u0631\u0628\u064a\u0629 \u0627\u0644\u0633\u0639\u0648\u062f\u064a\u0629", "listed_count": 0, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Sun Feb 12 20:33:41 +0000 2017", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://hggpwckgjujcgufkygtyobgfwaprfrzxxncxnldhgmagzfjrqbkkkduhunpfobbwxmvqihzbsmc", "contributors_enabled": false, "name": "chveomq", "profile_background_image_url": null, "screen_name": "rkbpubljfomxrrc", "profile_background_color": "F5F8FA", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "ar", "is_translation_enabled": false, "verified": false, "id": 288878818492703270, "followers_count": 19, "friends_count": 97, "statuses_count": 18, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": null, "profile_image_url": "http://yjqhygfeidpjjfdbffizgbhjueyfqjwpruycqqcqhrrjcinhpbikfrxcraoadfopexbjrzzaia", "status": {"id_str": "213498519139786395", "is_quote_status": false, "coordinates": null, "truncated": false, "contributors": null, "in_reply_to_screen_name": null, "withheld_copyright": true, "in_reply_to_user_id": null, "favorited": false, "withheld_in_countries": ["XY"], "id": 213498519139786395, "entities": null, "created_at": "Wed Apr 12 18:57:38 +0000 2017", "place": null, "retweet_count": 0, "retweeted": false, "text": "vlouhnnhgvyomxjycxkwsvsespezgbixexakrtwpcbdwrjqilgnvopeqanohcpylryirxikrkxrsqoxubhgqhkrtnrcbqfpihakii", "in_reply_to_status_id_str": null, "withheld_scope": "status", "favorite_count": 0, "geo": null, "lang": "ar", "source": "Twitter for iPhone", "in_reply_to_status_id": null, "in_reply_to_user_id_str": null}, "favourites_count": 2, "profile_background_image_url_https": null}, {"id_str": "586727369257606603", "location": "Israel", "listed_count": 0, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Wed Feb 08 08:28:23 +0000 2017", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://oyazwwkoxblzjbixttkyabrntuxwqhtntivaiwbcsedhbbfzizchgzsortidsmtqspsadlmobmo", "contributors_enabled": false, "name": "jooqnrybap", "profile_background_image_url": null, "screen_name": "uprkrozjqmzajj", "profile_background_color": "F5F8FA", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "en", "is_translation_enabled": false, "profile_banner_url": "http://wjrdqoxhnbziefripiamtltnqhimbpdvwnmkraawcllrhbexnpzmzfhoxxhebnydjxn", "verified": false, "id": 586727369257606603, "followers_count": 18, "friends_count": 152, "statuses_count": 90, "profile_use_background_image": true, "entities": {}, "has_extended_profile": true, "description": "swbyzelzsstxnskwafdohvajavjtvps", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": null, "profile_image_url": "http://uwpqakyctjtvkxchpnzaxizeqtcdnvcivgatawyqgcgkadvymvhyqbafuvwjtegppvyseldsza", "status": {"id_str": "670079989142701994", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 0, "in_reply_to_user_id": null, "favorited": false, "id": 670079989142701994, "entities": null, "possibly_sensitive": false, "created_at": "Fri Apr 14 19:16:14 +0000 2017", "place": null, "retweeted": false, "text": "kfrvhftinxtgfhffemdbvrlredkpglyhiynqwufumfdkmruuhvdabkfqdlremvsewdaodkuvwhytyfxtscqanpjnznvtjjtatvblvbyzafmaowpalkstqnlonbao", "in_reply_to_status_id_str": null, "source": "Twitter Web Client", "favorite_count": 0, "geo": null, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": true}, "favourites_count": 30, "profile_background_image_url_https": null}, {"id_str": "48744156", "location": "india ", "listed_count": 13, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Fri Oct 09 16:15:54 +0000 2009", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://vkcyzzglezceiumrgdeuvejcypohitxwjgsryisnbkkixastqmoosclqciwvzvyglyxmxdjwfur", "contributors_enabled": false, "name": "qadonuzkogbgk", "profile_background_image_url": "http://bxpqiaendqyvtlxdpmenrhifkaajxqshkxcqcadxjmaurqug", "screen_name": "ituykzembmlw", "profile_background_color": "C0DEED", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "en", "is_translation_enabled": false, "profile_banner_url": "http://xfpjhuynoaysmlbjhaapvmrltdlveqvuubcqudcqmubuxmqbzpgxiculy", "verified": false, "id": 48744156, "followers_count": 1767, "friends_count": 1727, "statuses_count": 16562, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "alzcparegrhawshyemiixrfovcuvxvdymwotolswfikygoibhogzzftwjexefmdywzgwwdgpgnpuvtbpviywxecovaqhflhmbnntvyaxssgqo", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": true, "default_profile": true, "url": null, "profile_image_url": "http://emcinoduhnjotfmdsuikioiianqdsynqeokywpfsybvdztlhkrgpfktfxspzpyovoikmuqmndb", "status": {"id_str": "883310677223790471", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": "oipiquaa", "retweet_count": 1, "in_reply_to_user_id": 2671757593, "favorited": false, "id": 883310677223790471, "entities": null, "created_at": "Sat Apr 15 18:17:46 +0000 2017", "place": null, "retweeted": false, "text": "hkevijmuvzyoksvzzwemxrkfnmpmndzxyilnqmietosyddpinokqmacbonpchjjaulldsqjhnmejakstswjcpaqtwyhkamjoqdsinqakmoxhjczsvodyupj", "in_reply_to_status_id_str": "606788668788745631", "source": "Twitter for iPhone", "favorite_count": 0, "geo": null, "lang": "en", "in_reply_to_user_id_str": "2671757593", "in_reply_to_status_id": 606788668788745631, "truncated": false}, "favourites_count": 855, "profile_background_image_url_https": "http://fnngvqimfielsifvdrsklqcycbpcpfvjgaswltwhcstkydxoy"}, {"id_str": "8059972063", "location": "", "listed_count": 0, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Sun Sep 22 15:54:34 +0000 2013", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://zsloqjryjmmyvdnfenlodygrtcxisfufozpbzzltvloakhfbbecbcetqosukwivvnpyieljqriyflpvasnacmlqphtpvmysynbze", "contributors_enabled": false, "name": "nbfsmemcx", "profile_background_image_url": "http://rtvbbrykjtavbigktuuyfuzcyeakavelbwbpiaptgcurwdho", "screen_name": "feepfnkra", "profile_background_color": "C0DEED", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "ar", "is_translation_enabled": false, "profile_banner_url": "http://kffshdzyqmxppvlbddywjbxyjxbnkpdqwxukcnmmxeyphdgoohywqntfhqb", "verified": false, "id": 8059972063, "followers_count": 174, "friends_count": 569, "statuses_count": 95, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": null, "profile_image_url": "http://okncxctblevnufnsvloaqiivhzodahrbruphxlcaegyejqniixpjitaczoahatrtbmisqyvokvlqyweavbkeowawztqmvlkvdvw", "status": {"id_str": "487919461592418248", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "extended_entities": {"media": [{"media_url": "http://pbs.twimg.com/media/C9ej44uWAAAkVVU.jpg", "id_str": "853330852104765440", "expanded_url": "https://twitter.com/so6an_999/status/853330862531915776/photo/1", "id": 853330852104765440, "url": "https://t.co/X9F1VN0Sm4", "media_url_https": "https://pbs.twimg.com/media/C9ej44uWAAAkVVU.jpg", "type": "photo", "indices": [110, 133], "sizes": {"small": {"h": 225, "w": 225, "resize": "fit"}, "large": {"h": 225, "w": 225, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 225, "w": 225, "resize": "fit"}}, "display_url": "pic.twitter.com/X9F1VN0Sm4"}]}, "geo": null, "in_reply_to_user_id": null, "in_reply_to_status_id_str": null, "favorited": false, "id": 487919461592418248, "entities": null, "possibly_sensitive": false, "created_at": "Fri Apr 14 19:35:34 +0000 2017", "retweet_count": 52, "retweeted": false, "text": "auxhdbwfuujcefovzzkyjfqztigkhxstlmoydsydhfmxashtaqhpmzwoeyvdibyejqsbvjmxxkeexyrwofjzhxbtczvlobwokrnggbdnnjrjgechqcrjnxcygrizfwgjrabxz", "place": null, "source": "Twitter Web Client", "favorite_count": 86, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 1, "profile_background_image_url_https": "http://yptmagnmoevxkixhkutfctljzpwzmmkadbhjtsrrclnwgehny"}, {"id_str": "706956115", "location": "\u200f\u200f\u21ad\u200f/\u2026\u062c\u0640\u062f\u0629\ufe4f\u063a\u0640\u0635\u0628\u2026\u0625\u062a\u0640\u064a\ufe4f\u0648\u0628\u0640\u062d\u0640\u0631\u2026\\\u21ad", "listed_count": 17, "profile_background_tile": true, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": -36000, "created_at": "Thu May 10 11:46:57 +0000 2012", "time_zone": "Hawaii", "profile_link_color": "0084B4", "profile_image_url_https": "http://isjaebhdvyoktzzadoqduzjfvcpdqqmkplkrrhckwwqztltdbqyfidacxwxvlnfypykbuelnjnn", "contributors_enabled": false, "name": "wsjqakcpyeyszzhoyeso", "profile_background_image_url": "http://pwejcrxzmzzgrqkxjnqkvwpskdcknzfzozwmyfjmugpfxxtjqznsntzllqkgqttdmoockfcipntgaamdtpy", "screen_name": "zgcvgfnpiiq", "profile_background_color": "022330", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "ar", "is_translation_enabled": false, "profile_banner_url": "http://dyhkwvmmddnceffdbjmdtgrdbzuhqfjqbelxsoybnkhfuawuhxxdpmooiw", "verified": false, "id": 706956115, "followers_count": 1879, "friends_count": 1555, "statuses_count": 31144, "profile_use_background_image": true, "entities": {}, "has_extended_profile": true, "description": "sswsafegqdrapnarztdaggyzaedlhqqsjotmwrpbzuuuptzuqetkgrpamkrspxkbnutazaxivrjcnccvqeyamzycumhfomzbzbmgjekycqwsgnbvkrfpfxjvhyrzczkkkrsfbifjuhmktfvwkwvgzfgzjkhbaiel", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": true, "default_profile": false, "url": null, "profile_image_url": "http://fluwjrfcdadgutkhwvnpfzrsawgbrfjvyztrmbppylabyhjxsfsvugxcfzlgazoqwuqflfqomh", "status": {"id_str": "140781298652871424", "is_quote_status": false, "coordinates": null, "retweeted_status": {"id_str": "28501006531607942", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 4, "in_reply_to_user_id": null, "favorited": false, "id": 28501006531607942, "entities": null, "created_at": "Tue Apr 18 17:14:52 +0000 2017", "place": null, "retweeted": false, "text": "ozyqtghakoeymrfpwbooolywugmrvwuhzmbomorztfedtlahodxdzlgzrmjrgpnwxbgzgnjeainoibznqcdjchfbzqckluxiabbgabffjidvsthmhlqmzsvjlokqjazmkcezswdjy", "in_reply_to_status_id_str": null, "source": "Twitter for Android", "favorite_count": 0, "geo": null, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 4, "in_reply_to_user_id": null, "favorited": false, "id": 140781298652871424, "entities": null, "created_at": "Sat Apr 15 20:57:49 +0000 2017", "place": null, "retweeted": false, "text": "qxxgudcbottsjzqpijtgntbnupntqppwqkcsdfdupsifxxkucmcgwvmbzvatbzsxzgzxfnxjkdbcjerrkufsnvibqtnfmvvlsnzueusbrywxyzfwojfsrxnqlwkyzozbtoayijxyneei", "in_reply_to_status_id_str": null, "source": "Twitter for Android", "favorite_count": 0, "geo": null, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 8262, "profile_background_image_url_https": "http://xpynenmkqpsrlpibkwcpbaaatworjyzjezasqvgpwqxbkvdlhksvltijwpnwqvwkfoghgacfmgpokegbbfoq"}, {"id_str": "1316122", "location": "", "listed_count": 1, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Fri Jul 31 14:40:53 +0000 2009", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://pdvjdwpglpamujukqmshtgfzqwspvpkpbfzbqwclrehctiwtngalcypqctrxrrfnpuohfpykgmf", "contributors_enabled": false, "name": "kzcsdxudgeublj", "profile_background_image_url": "http://ztrxpwkjfpuosccrqltalwvehwrvdzfihhrshfimjcnsofrl", "screen_name": "fzezhvmoqks", "profile_background_color": "C0DEED", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "en", "is_translation_enabled": false, "profile_banner_url": "http://umrwgfmldqodyvidymjvkydotpwmvgzfcnvzjrehsemspjxxfpzpgwcnm", "verified": false, "id": 1316122, "followers_count": 122, "friends_count": 158, "statuses_count": 475, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "mtzwqymarbdxchocouugcecueydohogotlptryxldypirvzdelcsxrkecatinzbtlgejvixc", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": null, "profile_image_url": "http://imocshbcdqtqodtaekeveaqmlqxdnmlerbqbbfuokkmwlproxskpoqtzrjozxfavdxafbhxuoi", "status": {"id_str": "755785656465653352", "is_quote_status": false, "coordinates": null, "retweeted_status": {"id_str": "127169746429714265", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 8, "in_reply_to_user_id": null, "favorited": false, "id": 127169746429714265, "entities": null, "possibly_sensitive": false, "created_at": "Mon Apr 17 07:28:27 +0000 2017", "place": null, "retweeted": false, "text": "svxednrangljovgqdjbddmiukxqbaqjvckypopbbtvmzilrgxxeanrvtudoealkgjtrchdffnugsinvrdozcnygvxyccihnxgpslxdawsv", "in_reply_to_status_id_str": null, "source": "Twitter for Android", "favorite_count": 16, "geo": null, "lang": "en", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 8, "in_reply_to_user_id": null, "favorited": false, "id": 755785656465653352, "entities": null, "possibly_sensitive": false, "created_at": "Sun Apr 16 20:40:32 +0000 2017", "place": null, "retweeted": false, "text": "swanylvodybnchgzqmoxuqdcggbhstwfgcgapilyorjfiyjrosnwzdirqpdtyceyolubddlhsxxphbnzlqzpsiziwyxbysuhojulnqchmapwzveenjnonrysahqov", "in_reply_to_status_id_str": null, "source": "Twitter for Android", "favorite_count": 0, "geo": null, "lang": "en", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 58, "profile_background_image_url_https": "http://prroppcgqwqbvsqxprvpjbaavmmudxsvoozrtanyndlgrbqyi"}, {"id_str": "7393584133", "location": "Guarulhos, Brasil", "listed_count": 3, "profile_background_tile": false, "profile_sidebar_fill_color": "000000", "utc_offset": null, "created_at": "Sun Jun 15 12:06:12 +0000 2014", "time_zone": null, "profile_link_color": "FA743E", "profile_image_url_https": "http://ihpwdvuqelyynaroutyfbnwsuslhghacxbrdzxlwolpwnlzieuatbxalaqkwjkekgzrzsedtcew", "contributors_enabled": false, "name": "iyelewnkrkxgxtaqqi", "profile_background_image_url": "http://fvwbxsuxsqdpftutndbnpfbacnvpvxjxfiltpyrnvjxxispb", "screen_name": "dkqxrxwvsjlwjfg", "profile_background_color": "000000", "default_profile_image": false, "profile_text_color": "000000", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "000000", "protected": false, "lang": "pt", "is_translation_enabled": false, "profile_banner_url": "http://kdghirksbcnzauzsbhrxvocopxwqzvintuxthvjzllkvrhilsltcyacvjbl", "verified": false, "id": 7393584133, "followers_count": 3971, "friends_count": 4591, "statuses_count": 9144, "profile_use_background_image": false, "entities": {}, "has_extended_profile": false, "description": "insooebmyzjedbviqirfpgbhypfnktqwoosnfjzcovthcoznyohagmtxmviqvuhxlezsmsgahoxmeawbintfaxmtmmmpprikepdexmchupfxbtzffqivqgwrvbxxppvyzgtgdadmaolricmbz", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": true, "default_profile": false, "url": null, "profile_image_url": "http://bkfztvpycximofzgdroqhyhtnzpefjvfglpoknzoudbhjstlouzhghnpglgxdoiuwxwkutbxgu", "status": {"id_str": "349684191512793225", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "extended_entities": {"media": [{"media_url": "http://pbs.twimg.com/ext_tw_video_thumb/853704672758181889/pu/img/QS_YEdnk19Yxm-TX.jpg", "id_str": "853704672758181889", "id": 853704672758181889, "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/853704672758181889/pu/img/QS_YEdnk19Yxm-TX.jpg", "type": "video", "source_user_id_str": "57728655", "indices": [28, 51], "sizes": {"small": {"h": 191, "w": 340, "resize": "fit"}, "large": {"h": 576, "w": 1024, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 338, "w": 600, "resize": "fit"}}, "additional_media_info": {"monetizable": false}, "source_status_id": 853704888211181568, "source_user_id": 57728655, "expanded_url": "https://twitter.com/chavesmarcos/status/853704888211181568/video/1", "video_info": {"variants": [{"bitrate": 832000, "content_type": "video/mp4", "url": "https://video.twimg.com/ext_tw_video/853704672758181889/pu/vid/640x360/zLItFvOBxsBdc67q.mp4"}, {"bitrate": 2176000, "content_type": "video/mp4", "url": "https://video.twimg.com/ext_tw_video/853704672758181889/pu/vid/1280x720/Mben41IP13oRDRY5.mp4"}, {"bitrate": 320000, "content_type": "video/mp4", "url": "https://video.twimg.com/ext_tw_video/853704672758181889/pu/vid/320x180/RIgqccWWx5w0qU6J.mp4"}, {"content_type": "application/x-mpegURL", "url": "https://video.twimg.com/ext_tw_video/853704672758181889/pu/pl/SZEVRbfTKWqfUMxN.m3u8"}], "aspect_ratio": [16, 9], "duration_millis": 7508}, "url": "https://t.co/SFlwhh2Hra", "source_status_id_str": "853704888211181568", "display_url": "pic.twitter.com/SFlwhh2Hra"}]}, "geo": null, "in_reply_to_user_id": null, "in_reply_to_status_id_str": null, "favorited": false, "id": 349684191512793225, "entities": null, "possibly_sensitive": false, "created_at": "Sun Apr 16 20:26:58 +0000 2017", "retweet_count": 0, "retweeted": false, "text": "xjlwgzoxldhvysrkuxanqirotzxcwtvejsfjrbubtcqebdkiwld", "place": null, "source": "Twitter for Android", "favorite_count": 0, "lang": "pt", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 72, "profile_background_image_url_https": "http://xxiryonwpornowiulryabdznqzsfayzxchdqtolzmikdqbwmu"}, {"id_str": "472729287293707447", "location": "", "listed_count": 0, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Sun Apr 16 19:07:56 +0000 2017", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://mzabmpfbhmdmubxlvzkukmjqtvgbrnpokqajmjpuirpmlkmtmzpkitjpvkcbhgvbmzaqgemczdiqkd", "contributors_enabled": false, "name": "cpadjbqtogk", "profile_background_image_url": null, "screen_name": "fzbxekfkduip", "profile_background_color": "F5F8FA", "default_profile_image": true, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "ar", "is_translation_enabled": false, "verified": false, "id": 472729287293707447, "followers_count": 0, "friends_count": 0, "statuses_count": 6, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": null, "profile_image_url": "http://tfdbljimakcitemdpizexdelupvsuxolpvjjgbmqjbhcwmyvqyjwgqfemzgizxerlbkabjyyhybun", "status": {"id_str": "682864286145766783", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 0, "in_reply_to_user_id": null, "favorited": false, "id": 682864286145766783, "entities": null, "possibly_sensitive": false, "created_at": "Sat Apr 15 19:13:26 +0000 2017", "place": null, "retweeted": false, "text": "mebkboiupbbewqjhtyaupzrhuwsrqwfnxgdfzkwzvircrjvtlfwnzafzxhwupbvzhmrkuiohbmzyrvyhhsgbigffcmmnigcdseuyahzlseee", "in_reply_to_status_id_str": null, "source": "Twitter Web Client", "favorite_count": 0, "geo": null, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 0, "profile_background_image_url_https": null}, {"id_str": "6615215834", "location": "frankfurt. Germany", "listed_count": 79, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Sun Aug 17 22:36:31 +0000 2014", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://jfccjlkxhieiimtywgmdghdadngfldczdjpnepeceilbpixulhdahdvyadlvtljvwgiqxvwyhzp", "contributors_enabled": false, "name": "xcvxunuzuwq", "profile_background_image_url": "http://aljcjlpzzdgvtxviypwpsvkdwpxfosalzlzpuwdauaopoyvh", "screen_name": "adpjqa", "profile_background_color": "C0DEED", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "en", "is_translation_enabled": false, "profile_banner_url": "http://vblzixlrtcyngffmvnsdgtggirrdynwilsxbfdknismihzdlhrtgkxjugfh", "verified": false, "id": 6615215834, "followers_count": 177, "friends_count": 183, "statuses_count": 26237, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": true, "default_profile": true, "url": null, "profile_image_url": "http://hsqvkzgeekxrbuiwkvmzozawbhfmxloxgjxuayupjyngfltpfzqovgzzxoneagpuvbeaynjebn", "status": {"id_str": "885932048221380864", "is_quote_status": false, "coordinates": null, "retweeted_status": {"id_str": "610682937133441423", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 50, "in_reply_to_user_id": null, "favorited": false, "id": 610682937133441423, "entities": null, "possibly_sensitive": false, "created_at": "Mon Apr 17 18:38:37 +0000 2017", "place": null, "retweeted": false, "text": "neifvuuygfgdfqsmmydrvajmjfcaokbnxtfhpbnqmzxfsnzswhltjcgrnjifxgauehdwuwvblfcycitopjlbwraouszynzqxdpemarcndzidoiorignhwtukwpcwececrzhsufzoidqj", "in_reply_to_status_id_str": null, "source": "Twitter for Android", "favorite_count": 76, "geo": null, "lang": "en", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": true}, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 50, "in_reply_to_user_id": null, "favorited": false, "id": 885932048221380864, "entities": null, "created_at": "Fri Apr 14 20:58:46 +0000 2017", "place": null, "retweeted": false, "text": "aphotzrcyvwpghzguhwpppzdanrswfgccaklrquezgcwrlrpvfmxxvgrnvlglyjccqnyksnrzwtibiecdxeyqgiikpxgplebgclbwlwcnktnnjagkyaoivqychyopjdcvmmmvpvuozon", "in_reply_to_status_id_str": null, "source": "Twitter for iPhone", "favorite_count": 0, "geo": null, "lang": "en", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 8386, "profile_background_image_url_https": "http://vgkschmbvokaypkjspzdlhvzliigndioqkjilzpmzqvlgmqso"}, {"id_str": "870758600790028257", "location": "", "listed_count": 0, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Wed Apr 12 17:51:40 +0000 2017", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://mekavpcoucxoezaftdmblidxgivpkzpacuxuhdgtzupzztegezepfesgyowdfsvsqpywfgsxosjfpe", "contributors_enabled": false, "name": "sqdrigxrggju", "profile_background_image_url": null, "screen_name": "pgqxbw", "profile_background_color": "F5F8FA", "default_profile_image": true, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "ar", "is_translation_enabled": false, "verified": false, "id": 870758600790028257, "followers_count": 0, "friends_count": 0, "statuses_count": 6, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": null, "profile_image_url": "http://pjgibfpefbvzvamuqdieurmfwmsbwuldiznlxyptbqgnjzihevtvgjybfqtodipllaxncaclxwssl", "status": {"id_str": "543039516340250545", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 0, "in_reply_to_user_id": null, "favorited": false, "id": 543039516340250545, "entities": null, "possibly_sensitive": false, "created_at": "Fri Apr 14 17:57:18 +0000 2017", "place": null, "retweeted": false, "text": "whkpxfzczgtaequtuzycucdaskpviqfttavnazewaiaadzttcvpurlgrwrkapviyrcbaxjnlddxfseuydmxcpflemetxzykih", "in_reply_to_status_id_str": null, "source": "Twitter Web Client", "favorite_count": 0, "geo": null, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 0, "profile_background_image_url_https": null}, {"id_str": "101020933614736211", "location": "", "listed_count": 15, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": 10800, "created_at": "Thu Sep 22 17:47:58 +0000 2016", "time_zone": "Riyadh", "profile_link_color": "1DA1F2", "profile_image_url_https": "http://ihqyulaxeaoqmiezotutjaplptcadcpsezsgpmxexxcakcwlcknlasfvbjgkngbrsretrbcqbbv", "contributors_enabled": false, "name": "rwnzfcpkhzypgpeplm", "profile_background_image_url": null, "screen_name": "umwbzdikytgu", "profile_background_color": "F5F8FA", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "ar", "is_translation_enabled": false, "profile_banner_url": "http://nmafkolgqrwxycsloaqkxsanhxidlkrweenrdhgeemuigypqjqkvjbdsrdyxfpztiue", "verified": false, "id": 101020933614736211, "followers_count": 3769, "friends_count": 28, "statuses_count": 1736, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "ybyhuxlqnatywyhwfqwgncjcnxldcqlwhesfenduwyrfqrvkjmnjx", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": null, "profile_image_url": "http://hbdhxtcuioujosponrndqcgnydubnbwmurwmgywdrbxnrcigmvhfxqukbljvzeecqsegkpnfia", "status": {"id_str": "763677739647891964", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 2, "in_reply_to_user_id": null, "favorited": false, "id": 763677739647891964, "entities": null, "possibly_sensitive": false, "created_at": "Fri Apr 14 17:07:44 +0000 2017", "place": null, "retweeted": false, "text": "usckubtsifrjtwrdnjlpjchgjrgmjamndnvifazqtvxjfdlflrnqdmtytoemkrmdocydpmcixixrucmfuxefmvskulszmqjuewkyoaqfp", "in_reply_to_status_id_str": null, "source": "Twitter for Android", "favorite_count": 0, "geo": null, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 95, "profile_background_image_url_https": null}, {"id_str": "7276914", "location": "Dubai, United Arab Emirates", "listed_count": 51, "profile_background_tile": true, "profile_sidebar_fill_color": "252429", "utc_offset": null, "created_at": "Mon Jun 04 17:57:01 +0000 2012", "time_zone": null, "profile_link_color": "2FC2EF", "profile_image_url_https": "http://jsnusrqmybokajwcehpfhupogqncogpdifqpwopqpqzcgofddxmzkiwosazalpbrcusnpqamxgv", "contributors_enabled": false, "name": "gcm", "profile_background_image_url": "http://ptfwhurdwxovkxcskmiplgsvnyjgeueauxualpxamunripournahywsynwraugxlahhczfuimwvpeuu", "screen_name": "nxxzsabboqgtfb", "profile_background_color": "1A1B1F", "default_profile_image": false, "profile_text_color": "666666", "translator_type": "regular", "is_translator": false, "profile_sidebar_border_color": "FFFFFF", "protected": false, "lang": "en", "is_translation_enabled": false, "profile_banner_url": "http://tzudszgknvodhskapecmwhwnwrolsdldvsnzfkmgputqykwbujoxbhxpct", "verified": false, "id": 7276914, "followers_count": 9293, "friends_count": 2634, "statuses_count": 108773, "profile_use_background_image": true, "entities": {}, "has_extended_profile": true, "description": "cnkaiyeevdbfvtvvqzuhrkygnuawklpmekblvvxbldunwgfvthvwlgajmkbljrvmgslkppbuhlpeoakq", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": true, "default_profile": false, "url": null, "profile_image_url": "http://zbxghpaytrelncwfvhmotpdrvtqwpmoevzyuoxcskaeegevsiopuzzhmufjhqibzrwamnmblxy", "status": {"id_str": "654229510296127613", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": "gfcoxpjmehg", "retweet_count": 1, "in_reply_to_user_id": 18166964, "favorited": false, "id": 654229510296127613, "entities": null, "created_at": "Mon Apr 17 21:03:10 +0000 2017", "place": {"place_type": "admin", "name": "Dubai", "country_code": "AE", "attributes": {}, "url": "https://api.twitter.com/1.1/geo/id/001907e868d06e24.json", "country": "United Arab Emirates", "bounding_box": {"type": "Polygon", "coordinates": [[[54.8939725, 24.6182526], [56.2083722, 24.6182526], [56.2083722, 25.3686719], [54.8939725, 25.3686719]]]}, "full_name": "Dubai, United Arab Emirates", "contained_within": [], "id": "001907e868d06e24"}, "retweeted": false, "text": "etxxkqgutpwggrbipisonwpcjfinmdklwbqgcnbmrpfcsrpztgmbiskcksspycxbpnaxqopebbkkijtdztoctflebhibfatjmnmyfufungeahrzszescnwotuodmugxljlpdukbbzhcksktd", "in_reply_to_status_id_str": "280544373483291666", "source": "Twitter for Android", "favorite_count": 0, "geo": null, "lang": "en", "in_reply_to_user_id_str": "18166964", "in_reply_to_status_id": 280544373483291666, "truncated": true}, "favourites_count": 151081, "profile_background_image_url_https": "http://uuuxrcywzgprhcvmdfkracnofynsdbzgjbdcrotdrpxuauxjxfusupqcoeqoprlvztzfsafxqkvnrcdj"}, {"id_str": "537249596149166163", "location": "Casablanca, Grand Casablanca", "listed_count": 1, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Tue Apr 11 17:27:55 +0000 2017", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://gdoascwnkiytxzmbvxtphjrmogwxxqtkfhxccppmcdgoorlmgfitnexqmggzyfukuwbetrpupcm", "contributors_enabled": false, "name": "yhhxdvhwqhaofludrng", "profile_background_image_url": null, "screen_name": "ejtpgsybjqlb", "profile_background_color": "F5F8FA", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "fr", "is_translation_enabled": false, "verified": false, "id": 537249596149166163, "followers_count": 223, "friends_count": 1, "statuses_count": 15, "profile_use_background_image": true, "entities": {}, "has_extended_profile": true, "description": "awtydwxpbasrtbkgxbgaoscczxsbwaapjbxyqzkvsmpvxfohohjhywabxikyguvkogrurruscqprmgltgrgyyhklgqoxitppsltwuslgikwprjrnnxot", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": "http://urqxiwegjihvxcxnjoemabw", "profile_image_url": "http://jranlqvkbtousqynsfzaioofkawcaflvtmmowadoxiydaredpwwcheblwrdwlczsqtpebxrtit", "status": {"id_str": "523715059510091115", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 0, "in_reply_to_user_id": null, "favorited": false, "id": 523715059510091115, "entities": null, "created_at": "Sun Apr 16 19:57:57 +0000 2017", "place": null, "retweeted": false, "text": "ibjmudwwgttdcplqtwmfjfnjckruuogfbevwumoxvprjcsl", "in_reply_to_status_id_str": null, "source": "Twitter Web Client", "favorite_count": 0, "geo": null, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 0, "profile_background_image_url_https": null}, {"id_str": "341977058956907142", "location": "Dhaka, Bangladesh", "listed_count": 0, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Fri Jul 01 12:13:59 +0000 2016", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://opqconezaznodnvkiaxjbtghvofmjnumpoyubvghvvgtjmmugmupfrfdcrukzhrcqqxasxjmfgx", "contributors_enabled": false, "name": "ohdexvtgautgdilwj", "profile_background_image_url": null, "screen_name": "zruczlnk", "profile_background_color": "F5F8FA", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "en", "is_translation_enabled": false, "profile_banner_url": "http://vhbcrmvlozcggjxsdgikvjwsyzocjgzcelczyxrvzfyjdoiwgcgwbudgdkrlfemdhab", "verified": false, "id": 341977058956907142, "followers_count": 18, "friends_count": 32, "statuses_count": 25, "profile_use_background_image": true, "entities": {}, "has_extended_profile": true, "description": "fgqqxrazatfl", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": "http://fngvpdhuikorfzhbseuifeo", "profile_image_url": "http://lxhgpmkvkkflvbgpktlqgmflpggtisrpxzygnmcwpjoaqfippivmnhhydddebbfpqhhmjizhbz", "status": {"id_str": "928224366795960534", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": "ygbevprmweqmkt", "retweet_count": 0, "in_reply_to_user_id": 8146893, "favorited": false, "id": 928224366795960534, "entities": null, "possibly_sensitive": false, "created_at": "Sat Apr 08 13:26:02 +0000 2017", "place": null, "retweeted": false, "text": "kkydcmlpzqtqwvrcclqwsgwaxvnmyljsjibxgip", "in_reply_to_status_id_str": "171819331300305847", "source": "Twitter Web Client", "favorite_count": 0, "geo": null, "lang": "und", "in_reply_to_user_id_str": "8146893", "in_reply_to_status_id": 171819331300305847, "truncated": false}, "favourites_count": 60, "profile_background_image_url_https": null}, {"id_str": "242344442", "location": "Colombo. Sri lanka", "listed_count": 43, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": 19800, "created_at": "Sat Sep 25 15:34:02 +0000 2010", "time_zone": "Sri Jayawardenepura", "profile_link_color": "4B27CF", "profile_image_url_https": "http://smdvzwmeyruvbthpcoxkskfxikxynicdwhodsqxrlvpoemqwzkrpgavswltbhrjneaxmplvcppv", "contributors_enabled": false, "name": "rhubi", "profile_background_image_url": "http://bywecswcumxnmzigoqcgvcvjjxfhwughxayvexchwaeskimaessqtubkbrhkefkkxnieynjajnwsgvyhay", "screen_name": "hvuqzsn", "profile_background_color": "D0CDCD", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "en", "is_translation_enabled": false, "profile_banner_url": "http://nokzxlnxpqqakxdzgfrymqbqwsbddhhdrlhsvdfixrozaeoionsazjilxy", "verified": false, "id": 242344442, "followers_count": 2442, "friends_count": 996, "statuses_count": 41250, "profile_use_background_image": true, "entities": {}, "has_extended_profile": true, "description": "fpiqvvexjuqmleailgwgulrakgxemnobdyxdcsorgchttvtildokjgkvpkutqvmpyvyqsqwggkuarnyufekarld", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": true, "default_profile": false, "url": "http://dngceirnhlwkwlbcvhioreo", "profile_image_url": "http://gvjloctbzifsqyvecskdefmibouiuetdcvblyzzjztjqhszioaormlgkllxzojzgfgfrartvjk", "status": {"id_str": "76288347737566684", "is_quote_status": false, "coordinates": null, "retweeted_status": {"id_str": "738125970962018573", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "extended_entities": {"media": [{"media_url": "http://pbs.twimg.com/media/C9jE8YVXcAEfhGg.jpg", "id_str": "853648670989971457", "expanded_url": "https://twitter.com/ScuderiaFerrari/status/853648706599624705/photo/1", "id": 853648670989971457, "url": "https://t.co/H8pE5hGuk1", "media_url_https": "https://pbs.twimg.com/media/C9jE8YVXcAEfhGg.jpg", "type": "photo", "indices": [106, 129], "sizes": {"small": {"h": 454, "w": 680, "resize": "fit"}, "large": {"h": 1366, "w": 2048, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 800, "w": 1200, "resize": "fit"}}, "display_url": "pic.twitter.com/H8pE5hGuk1"}]}, "geo": null, "in_reply_to_user_id": null, "in_reply_to_status_id_str": null, "favorited": false, "id": 738125970962018573, "entities": null, "possibly_sensitive": false, "created_at": "Mon Apr 17 16:38:10 +0000 2017", "retweet_count": 3859, "retweeted": false, "text": "iegiwngnjtrqjdwwnptlhiewfsztausqrhkwtkufdbtkbdpcjltjlepuwyjrfruwjreqgahjlvdcmpljgqrvilicnkireybhukqmyznnyzjpwbmuibwwtcszfewnexycx", "place": null, "source": "Twitter for iPhone", "favorite_count": 5072, "lang": "en", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 3859, "in_reply_to_user_id": null, "favorited": false, "id": 76288347737566684, "entities": null, "created_at": "Fri Apr 14 16:41:43 +0000 2017", "place": null, "retweeted": false, "text": "irfjyeofdhbsbgvhfgdiflshpgkuqmxbgwwkqngzczmzwjaynlieucvaazdwubbshpaucgjjntdseendkqxzwowtwekrlrozmmxfxhyiqsrxexwbrmylvdeodreuupdbtnkcomgetdvk", "in_reply_to_status_id_str": null, "source": "Twitter for Android", "favorite_count": 0, "geo": null, "lang": "en", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 12560, "profile_background_image_url_https": "http://rslfjhucdbomfkhstffzghsyfqwjjbuaqmtqebuugqqovofwmqbsmdngkdiwozijyvumjbmsfkusneeviof"}, {"id_str": "954216469759083584", "location": "Hyderabad, India", "listed_count": 4, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": 19800, "created_at": "Fri Oct 14 14:03:41 +0000 2016", "time_zone": "Chennai", "profile_link_color": "1DA1F2", "profile_image_url_https": "http://omriozznnsmhailtejrpfhztggsksjthtzlxsuoomhwowvhnggxzfwgkcjcvobawddhielpxpce", "contributors_enabled": false, "name": "tqnhpkjcmlrogjzfuwl", "profile_background_image_url": null, "screen_name": "spxvwhszb", "profile_background_color": "F5F8FA", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "en", "is_translation_enabled": false, "profile_banner_url": "http://cmtblnnurrteahvcdgqkmkxjgbtsksducmprogpprtmtsxojukjmioscigqjrcysinz", "verified": false, "id": 954216469759083584, "followers_count": 104, "friends_count": 197, "statuses_count": 981, "profile_use_background_image": true, "entities": {}, "has_extended_profile": true, "description": "zyfwtiqvpedpozukpnmdbuodbbgjtxxkmorpoltowuzqezblyjfpagewwpxgnd", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": true, "default_profile": true, "url": null, "profile_image_url": "http://qeonydjilalxopsukwrvlaikmeehoorajjnepneoshwjflfalhfhlrlrceynwwofbwrdohjjwn", "status": {"id_str": "433322973187450724", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": "sirvhqfvtwbzn", "retweet_count": 0, "in_reply_to_user_id": 33296853, "favorited": false, "id": 433322973187450724, "entities": null, "created_at": "Sun Apr 16 17:27:22 +0000 2017", "place": null, "retweeted": false, "text": "acfnnbqbtjaongbolynpdzzlwmicmuoxetveurwz", "in_reply_to_status_id_str": "521966358346771852", "source": "Twitter for Android", "favorite_count": 0, "geo": null, "lang": "et", "in_reply_to_user_id_str": "33296853", "in_reply_to_status_id": 521966358346771852, "truncated": false}, "favourites_count": 259, "profile_background_image_url_https": null}, {"id_str": "619541015737447201", "location": "", "listed_count": 0, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Sat Apr 15 19:04:18 +0000 2017", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://qvnfrjceylalzgaqcxxpkrkbeztsejsaqortrbxxpncesjjzobvulvitoshsrroptdpcdfwszqlekp", "contributors_enabled": false, "name": "xtxizb", "profile_background_image_url": null, "screen_name": "vgdvcd", "profile_background_color": "F5F8FA", "default_profile_image": true, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "ar", "is_translation_enabled": false, "verified": false, "id": 619541015737447201, "followers_count": 0, "friends_count": 21, "statuses_count": 5, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": null, "profile_image_url": "http://jsvyojuyxmtisviyjxjpkferofrqsxntpdbawioardfmwbweejrypjfsxeyxaffhwuihoobuhlxqf", "status": {"id_str": "25662007000976797", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 0, "in_reply_to_user_id": null, "favorited": false, "id": 25662007000976797, "entities": null, "possibly_sensitive": false, "created_at": "Sat Apr 15 19:06:19 +0000 2017", "place": null, "retweeted": false, "text": "rpcxpvwdwdqpsqlrixorgdkakohasuvemwhiijvhjekbndkhwifblfqjdqtoqasszduaexoqomyxzzgskotrmfyhbzipfuyqpyrc", "in_reply_to_status_id_str": null, "source": "Twitter Web Client", "favorite_count": 0, "geo": null, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 0, "profile_background_image_url_https": null}, {"id_str": "778621956", "location": "Sri Lanka", "listed_count": 0, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": -25200, "created_at": "Wed Dec 23 01:29:16 +0000 2015", "time_zone": "Pacific Time (US & Canada)", "profile_link_color": "1DA1F2", "profile_image_url_https": "http://jqfpzekygachsoefrooknpxjrijgysdywudxllxwzskmpembezybozwjxodahhfyjqmtbardbxr", "contributors_enabled": false, "name": "hjtwhmnitaplfq", "profile_background_image_url": null, "screen_name": "zpqsrwzgdseo", "profile_background_color": "F5F8FA", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "en", "is_translation_enabled": false, "profile_banner_url": "http://doxtvfhbgfpoeevdzvuqecotzxvgsjcccbvdylwftktisnwdgeidmdutzoj", "verified": false, "id": 778621956, "followers_count": 31, "friends_count": 26, "statuses_count": 512, "profile_use_background_image": true, "entities": {}, "has_extended_profile": true, "description": "dwnwsdgtlll", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": true, "default_profile": true, "url": null, "profile_image_url": "http://tlnpgjwimhzoynkgzzqzwzbdabcbetlvubljsjemnzotwrzthkleawlplilpjbhozaixmzykzy", "status": {"id_str": "711290205766287242", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 0, "in_reply_to_user_id": null, "favorited": false, "id": 711290205766287242, "entities": null, "possibly_sensitive": false, "created_at": "Sat Apr 15 12:53:30 +0000 2017", "place": null, "retweeted": false, "text": "eukexalyohvbqastgsjlbiw", "in_reply_to_status_id_str": null, "source": "Facebook", "favorite_count": 0, "geo": null, "lang": "und", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 13, "profile_background_image_url_https": null}, {"id_str": "872700086031883729", "location": "", "listed_count": 1, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Thu Apr 13 18:15:41 +0000 2017", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://nuyejjulcnchqsunrtvcfhotrtvekzltlyxvwiwjqqrutyllsjewyswzysnydftnzahdmqxcjbjsge", "contributors_enabled": false, "name": "wjhxcqdcvv", "profile_background_image_url": null, "screen_name": "wmbjrftkiwybc", "profile_background_color": "F5F8FA", "default_profile_image": true, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "ar", "is_translation_enabled": false, "verified": false, "id": 872700086031883729, "followers_count": 1, "friends_count": 19, "statuses_count": 12, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": null, "profile_image_url": "http://btdhemkmxgtgzmogjmfcxcncntekhhwxfdwrqjsrxtmhuiesxsllllrzomhijoiijzchkanpmvyck", "status": {"id_str": "355703879091865357", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 0, "in_reply_to_user_id": null, "favorited": false, "id": 355703879091865357, "entities": null, "possibly_sensitive": false, "created_at": "Fri Apr 14 18:30:50 +0000 2017", "place": null, "retweeted": false, "text": "brhonhfnvtaocppesobhxiyfovcrspnfmgcztiehzjevnvntvlmleewqgjlwacwgpztrlvtafqbslbzeykrbxfbyuliuhmatn", "in_reply_to_status_id_str": null, "source": "Twitter Web Client", "favorite_count": 0, "geo": null, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 0, "profile_background_image_url_https": null}, {"id_str": "109191549894984811", "location": "", "listed_count": 0, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Sat Apr 15 18:18:10 +0000 2017", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://dpkiqbjxweicvdjqgxryrcisuzdxwbfeukmrosidxnsgttjkbtugkjhceedtwnirlglzskpvzccjqk", "contributors_enabled": false, "name": "zpqpcozhkrkfb", "profile_background_image_url": null, "screen_name": "wlxyiqed", "profile_background_color": "F5F8FA", "default_profile_image": true, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "ar", "is_translation_enabled": false, "verified": false, "id": 109191549894984811, "followers_count": 0, "friends_count": 0, "statuses_count": 6, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": null, "profile_image_url": "http://lhpaxcgchyvfretfgmruhmiyuvkaglcsjaoinlesqngygayudkevmsaihpfgyzhfsskiqpovhgyxt", "status": {"id_str": "410152434081925780", "is_quote_status": false, "coordinates": null, "truncated": false, "contributors": null, "in_reply_to_screen_name": null, "withheld_copyright": true, "in_reply_to_user_id": null, "favorited": false, "withheld_in_countries": ["XY"], "id": 410152434081925780, "entities": null, "created_at": "Wed Apr 12 18:23:37 +0000 2017", "place": null, "retweet_count": 0, "retweeted": false, "text": "izouqgrrdbsphvvzljyaaisktpmiuvifbpwqjaczrewcedvzxlvnptzfsptqbzhqoxmtijestpnaubomeyveprsgqcoehm", "in_reply_to_status_id_str": null, "withheld_scope": "status", "favorite_count": 0, "geo": null, "lang": "ar", "source": "Twitter Web Client", "in_reply_to_status_id": null, "in_reply_to_user_id_str": null}, "favourites_count": 0, "profile_background_image_url_https": null}, {"id_str": "3339996229", "location": "San Mames, Euskal Herria", "listed_count": 16, "profile_background_tile": true, "profile_sidebar_fill_color": "000000", "utc_offset": -25200, "created_at": "Mon Nov 18 18:03:12 +0000 2013", "time_zone": "Pacific Time (US & Canada)", "profile_link_color": "DD2E44", "profile_image_url_https": "http://xwrkbsyrvurxuloycweafleijumkmternwlozzlnftezfxgyxysvmjvxsbodcekracyunvgnowp", "contributors_enabled": false, "name": "oiuvgbklp", "profile_background_image_url": "http://hhvnagjaricghhthsubsqldpgzcqdyxximstuxfcoacyfeqytdoullcxkagpgwgcrgxncrshyddgao", "screen_name": "lcukyakkawbzb", "profile_background_color": "C0DEED", "default_profile_image": false, "profile_text_color": "000000", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "000000", "protected": false, "lang": "es", "is_translation_enabled": false, "profile_banner_url": "http://adbspfepoinqlnvwftkfqmdmryafykenyaacdkljdvenstuccpydeyyjrqk", "verified": false, "id": 3339996229, "followers_count": 1230, "friends_count": 511, "statuses_count": 31409, "profile_use_background_image": false, "entities": {}, "has_extended_profile": true, "description": "nqecokblwdsnyrh", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": true, "default_profile": false, "url": "http://jiagkxbqzpuhledqgojbljh", "profile_image_url": "http://ucwcasepuybfvpqzqwezpsqrsyenbeqvyhctaslsifljrvfqbzcpvowdvxvenksjrwblkvnncb", "status": {"id_str": "692861067177474991", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 0, "in_reply_to_user_id": null, "favorited": false, "id": 692861067177474991, "entities": null, "created_at": "Sun Apr 16 08:07:39 +0000 2017", "place": null, "retweeted": false, "text": "fjchniwtihumetiuteigwqqlhnqkmvagnyg", "in_reply_to_status_id_str": null, "source": "Twitter for Android", "favorite_count": 12, "geo": null, "lang": "es", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 25587, "profile_background_image_url_https": "http://uyldipkkynaxbazejerfyxmrkgdjhyfqzxokjutivotlyqqgowhxfqorojwtvxshqncpheuyryufbgj"}, {"id_str": "518736543854350943", "location": "", "listed_count": 0, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Sat Feb 18 16:10:57 +0000 2017", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://pekfkwnnemoelibdjjmdsgzdojqljusfgooyiutjwkehnzsntrjxedqpfnvfbcusvxatpjjvzev", "contributors_enabled": false, "name": "ihounfpsqivk", "profile_background_image_url": null, "screen_name": "qnixmjabjfh", "profile_background_color": "F5F8FA", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "ar", "is_translation_enabled": false, "verified": false, "id": 518736543854350943, "followers_count": 33, "friends_count": 21, "statuses_count": 133, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": null, "profile_image_url": "http://qzgnaxktiofpkhrymovzcxidqrnqzznirqljpmuxzzljlofdessrzsqwdkjhplvsojoobtxpau", "status": {"id_str": "611137166693001289", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "extended_entities": {"media": [{"media_url": "http://pbs.twimg.com/media/C9ZMVCzXUAAsPQA.jpg", "id_str": "852953103846559744", "expanded_url": "https://twitter.com/alshamsiKsa/status/852953125375942656/photo/1", "id": 852953103846559744, "url": "https://t.co/HYfITiWesd", "media_url_https": "https://pbs.twimg.com/media/C9ZMVCzXUAAsPQA.jpg", "type": "photo", "indices": [81, 104], "sizes": {"small": {"h": 538, "w": 680, "resize": "fit"}, "large": {"h": 694, "w": 877, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 694, "w": 877, "resize": "fit"}}, "display_url": "pic.twitter.com/HYfITiWesd"}]}, "geo": null, "in_reply_to_user_id": null, "in_reply_to_status_id_str": null, "favorited": false, "id": 611137166693001289, "entities": null, "possibly_sensitive": false, "created_at": "Thu Apr 13 18:34:19 +0000 2017", "retweet_count": 140, "retweeted": false, "text": "zrwcowxryerhkicvkhmbectykzwhssuraqljypywmuaeififoakwgtmaqtxuutqkyttktpllixtligzszsffjkvtbyopcpbshmxhkkrh", "place": null, "source": "Twitter Web Client", "favorite_count": 2, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 106, "profile_background_image_url_https": null}, {"id_str": "1189142066", "location": "\u0627\u0644\u0645\u063a\u0631\u0628 \u0628\u0644\u062f \u0627\u062c\u062f\u0627\u062f\u064a", "listed_count": 1, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": -25200, "created_at": "Mon Feb 02 14:18:27 +0000 2015", "time_zone": "Pacific Time (US & Canada)", "profile_link_color": "1DA1F2", "profile_image_url_https": "http://kaubsrcxrcsltmsidzurxxjrqkvygypdeizxmaxjyvuqdpsdhgydytapkzbzltbsjrqcmssuqru", "contributors_enabled": false, "name": "gabnrhaiodjpttteelzi", "profile_background_image_url": "http://xsjounpmnrkssagvuzdsoycmyxwzuipzygvqxgvnxrvkeaeo", "screen_name": "piwghoz", "profile_background_color": "C0DEED", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "fr", "is_translation_enabled": false, "profile_banner_url": "http://ckkjiklpkwtnbtcllhccwalpslmxcxuajygjhwwzxvrhsqbrscaezfdnwbh", "verified": false, "id": 1189142066, "followers_count": 3811, "friends_count": 3133, "statuses_count": 5358, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": "http://ycwvqzmgbxqfarzzzylodsh", "profile_image_url": "http://osvsamoatdumjgpceefvsritlxyqcbadunhnqmtzbriqinbftesdtbyzofgcumglzjfztenekm", "status": {"id_str": "326360165825161631", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 0, "in_reply_to_user_id": null, "favorited": false, "id": 326360165825161631, "entities": null, "possibly_sensitive": false, "created_at": "Tue Apr 18 10:40:22 +0000 2017", "place": null, "retweeted": false, "text": "pmskvaciidcfcqqsytneremaufxyrcmbbdvlnbbxyrzxfeynigiiqltaqutrdluvoobdbarlqavnmpbhxvkidrltrni", "in_reply_to_status_id_str": null, "source": "Twitter Web Client", "favorite_count": 0, "geo": null, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 9, "profile_background_image_url_https": "http://rixzstfgyflfsflxprdcqjmkpcvctaosqfvvtguesqlxtploy"}, {"id_str": "578893191320507201", "location": "", "listed_count": 1, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": 14400, "created_at": "Thu Sep 22 21:08:54 +0000 2016", "time_zone": "Muscat", "profile_link_color": "1DA1F2", "profile_image_url_https": "http://gptkynnvcilrtqyaebwgwaczhihxrvuyinhyopdaanpdzqtyinxqspfdgjgrvhrdvntotokrhys", "contributors_enabled": false, "name": "lyiinhpkdnvyref", "profile_background_image_url": null, "screen_name": "evyxualhkuexm", "profile_background_color": "F5F8FA", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "en", "is_translation_enabled": false, "profile_banner_url": "http://dweyxemfeiczflgvvzmkspyjdaettqntqyvnhaireuohjodffmkbumaelylfxuojory", "verified": false, "id": 578893191320507201, "followers_count": 270, "friends_count": 1, "statuses_count": 999, "profile_use_background_image": true, "entities": {}, "has_extended_profile": true, "description": "kbipzrpupwysushpbbestlgqrivbkjlfvzgpfqachguxhunylfriqicuvxnptygkfhvxzatndrxnmtcjysgvbhlwpupkjflkriiegiqvqynmgawqxxqlunjnubpobyvblmvyk", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": "http://jiqklntswysewspaxodvaul", "profile_image_url": "http://iqptwbujdgqjvjhusmbygfandfwokemdqvakqwtykcltsguetmlnugbupiedrmjigttrzowikf", "status": {"id_str": "614800309473474822", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 0, "in_reply_to_user_id": null, "favorited": false, "id": 614800309473474822, "entities": null, "possibly_sensitive": false, "created_at": "Mon Apr 17 19:20:30 +0000 2017", "place": null, "retweeted": false, "text": "miroalqkpgmfjmawroaianqmbfguviksopphjzkijcetwrwhlervcksxivccvxnvesuupkwfbkfsqqylgxkz", "in_reply_to_status_id_str": null, "source": "Hootsuite", "favorite_count": 0, "geo": null, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 4, "profile_background_image_url_https": null}, {"id_str": "466910630167932669", "location": "", "listed_count": 1, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Thu Apr 13 17:14:04 +0000 2017", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://rfpkwapsulqumzwtmrrsjxkgqkdkogrgcxeefbrtfsxdkevdxmzcghhoqnbrtupidrobdfcshkjayw", "contributors_enabled": false, "name": "crspi", "profile_background_image_url": null, "screen_name": "dhqlxmzcqcdbhwi", "profile_background_color": "F5F8FA", "default_profile_image": true, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "ar", "is_translation_enabled": false, "verified": false, "id": 466910630167932669, "followers_count": 2, "friends_count": 21, "statuses_count": 39, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": null, "profile_image_url": "http://agfzrwdommcjahrkokqpcfsdogywhxosveugcmkgefvgajvcfsypzqtsueubsqrnpsokvimtflgib", "status": {"id_str": "214333273876877734", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 0, "in_reply_to_user_id": null, "favorited": false, "id": 214333273876877734, "entities": null, "possibly_sensitive": false, "created_at": "Sat Apr 15 19:12:02 +0000 2017", "place": null, "retweeted": false, "text": "dcaagvwnhbtvoxzkpgjaovxcuriyjrbpxrkdpcijrhmnftrkhhnugmzzrprthvgroocwsbjzpwlbhfrudrjhmhjjewrjnsystczstwztfzqvlqydbcfpdkyswkjxt", "in_reply_to_status_id_str": null, "source": "Twitter Web Client", "favorite_count": 0, "geo": null, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 0, "profile_background_image_url_https": null}, {"id_str": "821631657352689715", "location": "Sindh, Pakistan", "listed_count": 1, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Sun Apr 09 08:13:47 +0000 2017", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://ydjlwyekmdftnadusieialwugihvrpzdbyguuiwreaodkoedqdistkdglrgapxssemvjsmngdpi", "contributors_enabled": false, "name": "rfstksalvlkp", "profile_background_image_url": null, "screen_name": "dupqtxqwpmtimlm", "profile_background_color": "F5F8FA", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "en", "is_translation_enabled": false, "verified": false, "id": 821631657352689715, "followers_count": 150, "friends_count": 99, "statuses_count": 10, "profile_use_background_image": true, "entities": {}, "has_extended_profile": true, "description": "dlscaikpzezjmktzoyhjcwgf", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": null, "profile_image_url": "http://cmudtprugnsphovcldwrsiwowgsjbgowltbyxattndjcoiedmsjsykoyuhzbaxenthqruoeebt", "status": {"id_str": "854158840540676697", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 98, "in_reply_to_user_id": null, "favorited": false, "id": 854158840540676697, "entities": null, "possibly_sensitive": false, "created_at": "Fri Apr 14 08:52:11 +0000 2017", "place": null, "retweeted": false, "text": "jehzpsetlcoogyfrppyzfmrnfbeqksslsumxbjqueiolcstggdacnwybhsagfkczzesllkswxmbpdaliqfwrvjgichuoqdwpdwcuivvrhembxbfvpiqlflylfongncdedabj", "in_reply_to_status_id_str": null, "source": "Twitter Web Client", "favorite_count": 101, "geo": null, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": true}, "favourites_count": 0, "profile_background_image_url_https": null}, {"id_str": "856058030956278909", "location": "", "listed_count": 0, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": -25200, "created_at": "Wed Apr 12 16:00:21 +0000 2017", "time_zone": "Pacific Time (US & Canada)", "profile_link_color": "1DA1F2", "profile_image_url_https": "http://vvcgpkifbrdiomuwlbarfjtcflmjhvsrcbomckpmceqsztbtmkpgkdqehjutumnptoqghboozca", "contributors_enabled": false, "name": "ybgs", "profile_background_image_url": null, "screen_name": "oekmpklduohp", "profile_background_color": "F5F8FA", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "ar", "is_translation_enabled": false, "verified": false, "id": 856058030956278909, "followers_count": 10, "friends_count": 0, "statuses_count": 9, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": null, "profile_image_url": "http://cvkmnrhrshdnqyrsknulwootbmeiesariscvpgpucrhpbthzjefwzbpzytxgoxoozlhhxjxefg", "status": {"id_str": "328096431410440428", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "extended_entities": {"media": [{"media_url": "http://pbs.twimg.com/media/C9ekPNSW0AA5Pwu.jpg", "id_str": "853331235581644800", "expanded_url": "https://twitter.com/Yalalalooooo/status/853331248101588992/photo/1", "id": 853331235581644800, "url": "https://t.co/uGv6CDCIIj", "media_url_https": "https://pbs.twimg.com/media/C9ekPNSW0AA5Pwu.jpg", "type": "photo", "indices": [114, 137], "sizes": {"small": {"h": 191, "w": 264, "resize": "fit"}, "large": {"h": 191, "w": 264, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 191, "w": 264, "resize": "fit"}}, "display_url": "pic.twitter.com/uGv6CDCIIj"}, {"media_url": "http://pbs.twimg.com/media/C9ekPNdXsAMWvVL.jpg", "id_str": "853331235627839491", "expanded_url": "https://twitter.com/Yalalalooooo/status/853331248101588992/photo/1", "id": 853331235627839491, "url": "https://t.co/uGv6CDCIIj", "media_url_https": "https://pbs.twimg.com/media/C9ekPNdXsAMWvVL.jpg", "type": "photo", "indices": [114, 137], "sizes": {"small": {"h": 183, "w": 275, "resize": "fit"}, "large": {"h": 183, "w": 275, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 183, "w": 275, "resize": "fit"}}, "display_url": "pic.twitter.com/uGv6CDCIIj"}]}, "geo": null, "in_reply_to_user_id": null, "in_reply_to_status_id_str": null, "favorited": false, "id": 328096431410440428, "entities": null, "possibly_sensitive": false, "created_at": "Mon Apr 17 19:36:42 +0000 2017", "retweet_count": 86, "retweeted": false, "text": "jjmnwwstrevfolgbcmdazkjowdnuxlbsqfsnvvvwzhdeinjfwmhqigjbkxblqnskgaitojhvesiccagswtgjxsloebnqdsdfyjjtodelrrbgidomzmouuczhbmhehdmcokioyuciz", "place": null, "source": "Twitter Web Client", "favorite_count": 80, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 0, "profile_background_image_url_https": null}, {"id_str": "7387902733", "location": "Canada", "listed_count": 41, "profile_background_tile": true, "profile_sidebar_fill_color": "000000", "utc_offset": -25200, "created_at": "Sun Dec 27 15:36:11 +0000 2015", "time_zone": "Pacific Time (US & Canada)", "profile_link_color": "009999", "profile_image_url_https": "http://upprbuxfmvxxtcfyuomypxikauzoxllqblyuhzgpwmbhhkzzggiximlujgijxeoitcninpowjao", "contributors_enabled": false, "name": "lxxgfjqlhlucrmagl", "profile_background_image_url": "http://eruygjucvhfwhldlprjgwbtwamhneblrjpyvqdwyxserythns", "screen_name": "rkodiemkzpzloj", "profile_background_color": "131516", "default_profile_image": false, "profile_text_color": "000000", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "000000", "protected": false, "lang": "en", "is_translation_enabled": false, "profile_banner_url": "http://nqdpxepzwtmdrdjdeejbdhgygomgxamwfxyzlaidglvnbcctyxqmfrdumer", "verified": false, "id": 7387902733, "followers_count": 7738, "friends_count": 990, "statuses_count": 442, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "tdnizffwvdozrtgqlmgycgdqtu", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": false, "url": "http://qrmixgehrxddjatydupdjyq", "profile_image_url": "http://ecollofswrblxqdlragvyelylaognssmupnvxgyonzcmnowihxnmiywvzbtnozpjnbbtketlbc", "status": {"id_str": "844157744638507283", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "extended_entities": {"media": [{"media_url": "http://pbs.twimg.com/media/C8109-ZXYAIJtMy.jpg", "id_str": "850464512713121794", "expanded_url": "https://twitter.com/AmateursInHose/status/850464514852216835/photo/1", "id": 850464512713121794, "url": "https://t.co/O5dEc0DKJy", "media_url_https": "https://pbs.twimg.com/media/C8109-ZXYAIJtMy.jpg", "type": "photo", "indices": [63, 86], "sizes": {"small": {"h": 680, "w": 510, "resize": "fit"}, "large": {"h": 800, "w": 600, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 800, "w": 600, "resize": "fit"}}, "display_url": "pic.twitter.com/O5dEc0DKJy"}]}, "geo": null, "in_reply_to_user_id": null, "in_reply_to_status_id_str": null, "favorited": false, "id": 844157744638507283, "entities": null, "possibly_sensitive": false, "created_at": "Thu Apr 06 21:45:27 +0000 2017", "retweet_count": 29, "retweeted": false, "text": "fvmjwyvahahqrxqtwzvgcsmdyaeyvzondcxnkrsuykrqjypvwjdglkwzpxsdxkhotdugcwoznifybvjyvvvqpe", "place": null, "source": "Hootsuite", "favorite_count": 97, "lang": "en", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 275, "profile_background_image_url_https": "http://wqjjsqvbtktyzwtvqomwcrvutbatotiycrvqcxgmcdwnakrxdd"}, {"id_str": "888746079748703950", "location": "", "listed_count": 0, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Fri Apr 14 18:24:14 +0000 2017", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://njzpvqqonpwyzyfnwnpoqlssbltemsvuyaqvdpdvozpkvzcccbdygvlxntgppbygvewagxmrakpjdq", "contributors_enabled": false, "name": "prlgp", "profile_background_image_url": null, "screen_name": "btwwuh", "profile_background_color": "F5F8FA", "default_profile_image": true, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "ar", "is_translation_enabled": false, "verified": false, "id": 888746079748703950, "followers_count": 0, "friends_count": 0, "statuses_count": 4, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": null, "profile_image_url": "http://afanswsdxkeegsxtsxncvcbvhtksieeojvdqbhpofsfdwynznvjcwzvnpnclyhlnogsocyyqyxxtq", "status": {"id_str": "834449514025079667", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 0, "in_reply_to_user_id": null, "favorited": false, "id": 834449514025079667, "entities": null, "possibly_sensitive": false, "created_at": "Wed Apr 12 18:26:37 +0000 2017", "place": null, "retweeted": false, "text": "rddmknnwjaxrwckdxvafzkaeyjtyepboxhhcvpxcmxantrqswqcbmjdtjhjodyvnovvivwrgrnahqvvywbdozzhfjzlncqpytz", "in_reply_to_status_id_str": null, "source": "Twitter Web Client", "favorite_count": 0, "geo": null, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 0, "profile_background_image_url_https": null}, {"id_str": "769431921634407408", "location": "", "listed_count": 0, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Sat Apr 15 17:59:01 +0000 2017", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://bijdepetckjgbtepugxgsyhnyvblrenrlylbwsnljrlliluojjjwctlsfovlwvkocomsdmljsavbof", "contributors_enabled": false, "name": "yhxwpnmynl", "profile_background_image_url": null, "screen_name": "aiuuxvtro", "profile_background_color": "F5F8FA", "default_profile_image": true, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "ar", "is_translation_enabled": false, "verified": false, "id": 769431921634407408, "followers_count": 0, "friends_count": 0, "statuses_count": 10, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": null, "profile_image_url": "http://kocnfypzzwajsdtkbwcaoeduyvpvpomidujhozfpkucuzzqxmllsreiiflifkhdnufxmyulwgpqji", "status": {"id_str": "615672765164537460", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "extended_entities": {"media": [{"media_url": "http://pbs.twimg.com/media/C9ZGY9WXoAABg3h.jpg", "id_str": "852946574032478208", "expanded_url": "https://twitter.com/5454564Hy/status/852946583188623360/photo/1", "id": 852946574032478208, "url": "https://t.co/77loJLAGpp", "media_url_https": "https://pbs.twimg.com/media/C9ZGY9WXoAABg3h.jpg", "type": "photo", "indices": [79, 102], "sizes": {"small": {"h": 480, "w": 480, "resize": "fit"}, "large": {"h": 480, "w": 480, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 480, "w": 480, "resize": "fit"}}, "display_url": "pic.twitter.com/77loJLAGpp"}]}, "geo": null, "in_reply_to_user_id": null, "in_reply_to_status_id_str": null, "favorited": false, "id": 615672765164537460, "entities": null, "possibly_sensitive": false, "created_at": "Sun Apr 16 18:08:22 +0000 2017", "retweet_count": 0, "retweeted": false, "text": "yvxaqknhezsbiwdvhtkacotdtmevaxbofxvhuhikntkftdfwqqudtnbslgbmaibwhitjqgoluvcyuocdayfqesxcrjfctwyyusnxxq", "place": null, "source": "Twitter Web Client", "favorite_count": 0, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 0, "profile_background_image_url_https": null}, {"id_str": "858316747", "location": "Dubai, United Arab Emirates", "listed_count": 0, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Sun May 20 10:04:02 +0000 2012", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://ukdddzprghvioysdfexnlcaypktulqtajhdjfzhjtqkxgnkokpqvdwruxbcyjwyaoerlhwxrntk", "contributors_enabled": false, "name": "ukexppdgrsyqunfozudv", "profile_background_image_url": "http://fraywtqhdahdaptrvolazueqciwbdsnnxtfxeymlslyzmyej", "screen_name": "teenfltwpgzufr", "profile_background_color": "C0DEED", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "en", "is_translation_enabled": false, "profile_banner_url": "http://cbcfdixwiqmfnjuexklwqqmwgnmsybvdkreywxnowgzmmzsxbsiuvvghic", "verified": false, "id": 858316747, "followers_count": 116, "friends_count": 108, "statuses_count": 1321, "profile_use_background_image": true, "entities": {}, "has_extended_profile": true, "description": "ivhzvnnazdvzkdgyhgxufsyaecgvpfcsgidipmmubxjzumnjhzmyrkxoqwpqtbfkqumrgivpamcojmbbixufsxteun", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": true, "default_profile": true, "url": "http://mykrdhyemiuivvahlvmpgti", "profile_image_url": "http://gtikitkkpaqaozgsbgskftpmzrihqbtjrxpcmofyadopkuhdqxovagtiqjakiysthuljgxwqcc", "status": {"id_str": "989459850693369974", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 0, "in_reply_to_user_id": null, "favorited": false, "id": 989459850693369974, "entities": null, "created_at": "Mon Apr 17 17:42:08 +0000 2017", "place": null, "retweeted": false, "text": "pruyodiuuchiqpqqybmjgmnifqhzafrlzeodiziwghmxmeriqegeiwxewwpufltepsoviarfrmjnpqzgjnaznimzjsproltuppacsyjelmnutjafhvraeuxbtvwxagctonaydoxxuq", "in_reply_to_status_id_str": null, "source": "Twitter for iPhone", "favorite_count": 0, "geo": null, "lang": "en", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 521, "profile_background_image_url_https": "http://tuferubcifroutvifkpjajlehdwelmekomdhphdtojyreovjx"}, {"id_str": "8578962270", "location": "Saudi Arabia ", "listed_count": 7, "profile_background_tile": false, "profile_sidebar_fill_color": "F3F3F3", "utc_offset": null, "created_at": "Wed Dec 30 14:52:03 +0000 2015", "time_zone": null, "profile_link_color": "990000", "profile_image_url_https": "http://wowymsyggrqfshtqjacjuuevyhdekffbxkkrgijdbtuhrdnhvhewlsmbgyinxexnjoqnrymenkm", "contributors_enabled": false, "name": "qdquaatotggrainwpwdl", "profile_background_image_url": "http://pxvpvrgoziaimoewovksgrgcpgspdnkfrwjhzpcvmgtgigqg", "screen_name": "gjxofccou", "profile_background_color": "EBEBEB", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "DFDFDF", "protected": false, "lang": "en", "is_translation_enabled": false, "profile_banner_url": "http://tyoknijnwmlfhrbdamrsohzazdcuwntensmddjmbszvwalqcdgopbrhrqgi", "verified": false, "id": 8578962270, "followers_count": 3956, "friends_count": 53, "statuses_count": 16232, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "ahdugnlanekcegsjsxrh", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": false, "url": "http://wqsyjmkmspsveblkpbcnhtl", "profile_image_url": "http://nfnbksgcxlpbqqyqfrghsrtjpmhowbiirwwmglpmngeiezzxlsevgszgputzdhvepfuakccenw", "status": {"id_str": "150083919128378690", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 0, "in_reply_to_user_id": null, "favorited": false, "id": 150083919128378690, "entities": null, "possibly_sensitive": false, "created_at": "Sun Apr 16 14:38:56 +0000 2017", "place": null, "retweeted": false, "text": "tlzhfybggfxskgzgrdihkgxvchfusaldhirzchkwzegytuzqoxwvuvxiocrurgystsvupldlutdraceswkkepgnreqoprnjxwzuohnbinoshlkvortrmeyrtttqkhdtsmqnnjkkdizdq", "in_reply_to_status_id_str": null, "source": "IFTTT", "favorite_count": 0, "geo": null, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": true}, "favourites_count": 10, "profile_background_image_url_https": "http://veppqxgfrmevnqjfmpwobuypldeexsrnatvkfakizlxxaywnq"}, {"id_str": "639180956603349227", "location": "", "listed_count": 2, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": -25200, "created_at": "Sat Apr 02 14:28:52 +0000 2016", "time_zone": "Pacific Time (US & Canada)", "profile_link_color": "1DA1F2", "profile_image_url_https": "http://tunpnsoayqsantlvyxycbxybcoervxnfkjiaeeeooxnvzyllgsrbqqvzovaioyvxpcbdslucgkc", "contributors_enabled": false, "name": "delevbsalcaygr", "profile_background_image_url": null, "screen_name": "iiykxw", "profile_background_color": "F5F8FA", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "ar", "is_translation_enabled": false, "profile_banner_url": "http://sbfqlagwdaooeetddrbzhzmvrcdttpaleoouziuugreifockawegsfymoygjlefeoto", "verified": false, "id": 639180956603349227, "followers_count": 168, "friends_count": 15, "statuses_count": 54373, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "szflqhorwltjmuccqpzflycpvkfanwddwzmjywzoo", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": null, "profile_image_url": "http://clahdyedetvjghebffnehzdnspajixsynhsidrenpbrldcpoyvcghikkffllbnqrfcprtlkjen", "status": {"id_str": "20067422554229235", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 0, "in_reply_to_user_id": null, "favorited": false, "id": 20067422554229235, "entities": null, "possibly_sensitive": false, "created_at": "Tue Apr 18 21:05:23 +0000 2017", "place": null, "retweeted": false, "text": "qwbjgdpxmcrcbfeaqxxuxoxlmmpzsthpshpqeiazjovhwanyfanwwihdraldcgbxglthquwhkuxlpdjbyvkheoutrlhnk", "in_reply_to_status_id_str": null, "source": "WordPress.com", "favorite_count": 0, "geo": null, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 5767, "profile_background_image_url_https": null}, {"id_str": "2735529875", "location": "", "listed_count": 195, "profile_background_tile": false, "profile_sidebar_fill_color": "000000", "utc_offset": 7200, "created_at": "Tue Jan 13 18:02:17 +0000 2015", "time_zone": "Cairo", "profile_link_color": "BCAE03", "profile_image_url_https": "http://bmgxxykxyrlhvvfldwfcxmfnddoltxhctkfpzdpjkasvyusigmcxvaeqqvuaimmlifmarvvnwtl", "contributors_enabled": false, "name": "tmskiwzjtwwukvhssv", "profile_background_image_url": "http://gxogcobswixgvaxxuljxylrmsrmbygclrpxhsiqlqabuioko", "screen_name": "hhhfrqarjwlxbmp", "profile_background_color": "000000", "default_profile_image": false, "profile_text_color": "000000", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "000000", "protected": false, "lang": "en", "is_translation_enabled": false, "profile_banner_url": "http://nceixtenbckdthwzrwattvrfevxknaavixfhadecbyjhblqgjlijzezcsyb", "verified": true, "id": 2735529875, "followers_count": 88038, "friends_count": 1, "statuses_count": 43841, "profile_use_background_image": false, "entities": {}, "has_extended_profile": false, "description": "nrinjyhcsyrbwocysmvpvmjzqtxjhrekpalrgvb", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": true, "default_profile": false, "url": "http://tdgtmtjkphvznkehlxlgdi", "profile_image_url": "http://jzvfpckknejapqpbxhybagdfuduhxrpowyxqohhpdopyrjshtzltvgfpiopuakhkdcjijouhhl", "status": {"id_str": "549025820273338713", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 0, "in_reply_to_user_id": null, "favorited": false, "id": 549025820273338713, "entities": null, "created_at": "Sun Apr 16 21:02:46 +0000 2017", "place": null, "retweeted": false, "text": "agutgpqbswzifrrepbndkgltxqtpjapgligseejugfgicpnxzpujqwmjcsaeztdqszvqr", "in_reply_to_status_id_str": null, "source": "Twitter Web Client", "favorite_count": 5, "geo": null, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 0, "profile_background_image_url_https": "http://scvcqwezsuwprpqykbdpszeigamelbfcjnpylqxmovbzupvyd"}, {"id_str": "314924360", "location": "", "listed_count": 4, "profile_background_tile": false, "profile_sidebar_fill_color": "252429", "utc_offset": 10800, "created_at": "Thu Jun 16 17:19:32 +0000 2011", "time_zone": "Baghdad", "profile_link_color": "2FC2EF", "profile_image_url_https": "http://tasbnixyzuwstvgwkavrgwwervtjofnkehgjohknbnhhwzysbdfckkjtopdciwwpuffpmfafupyptdxznqfcbrpkdqhc", "contributors_enabled": false, "name": "njuadjvfivkdbnw", "profile_background_image_url": "http://pcrptuzzdijuzypqjcbxjiejastvvdlqqicyzxqyfncpigpz", "screen_name": "rhdvpxcxdlcuu", "profile_background_color": "1A1B1F", "default_profile_image": false, "profile_text_color": "666666", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "181A1E", "protected": false, "lang": "ar", "is_translation_enabled": false, "profile_banner_url": "http://fzzzerixgbpagoroowigsmppbuhdswkkvybtninhbrdfdwwvhcpzttmzlz", "verified": false, "id": 314924360, "followers_count": 2208, "friends_count": 146, "statuses_count": 36818, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "ouxdhmqsqpxrqvovawjxrlwpgqefpbbgzvulnobbobaozaadwtrrhaauydahvedksjaedyjjpmjoznpytsogytiiiwtdamva", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": false, "url": "http://wiqfmfjcyuaowclstwehsow", "profile_image_url": "http://rktjeqmehaeefrtbzaluhztpjglxljykgcghrnkxopaeaqnftirjfwegzqfzncicnvxwhjypwnvrngfjscmeavmyoqb", "status": {"id_str": "985286743299635754", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 0, "in_reply_to_user_id": null, "favorited": false, "id": 985286743299635754, "entities": null, "possibly_sensitive": false, "created_at": "Sun Apr 16 16:18:39 +0000 2017", "place": null, "retweeted": false, "text": "lazqrmqexggfsotgxktgyuhltnsappinzjoiajuqjzcayxqgvsnevjxmespodwwenuesxjlzflvbdvnsbxmkscwmlaqll", "in_reply_to_status_id_str": null, "source": "Twitter for Android", "favorite_count": 0, "geo": null, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 40, "profile_background_image_url_https": "http://lhaqbuqazjyaofjzikmilsnucwxoauptkbhgqrnncdxtfhwlm"}, {"id_str": "31194601", "location": "", "listed_count": 223, "profile_background_tile": true, "profile_sidebar_fill_color": "0A0A0A", "utc_offset": -18000, "created_at": "Sat Apr 04 23:54:22 +0000 2009", "time_zone": "Quito", "profile_link_color": "0083B3", "profile_image_url_https": "http://hmprfprvjsvkvdnleoitnuzktqxcufkuqoagyjvzbbbqyumarjvosqwheffhdpawi", "contributors_enabled": false, "name": "vkrrkp", "profile_background_image_url": "http://flbomigopvmaybibjgdyjwauotybpgqynujkopzvplcifkoobekcsoxzzkgouqqgty", "screen_name": "pvkxtyjurg", "profile_background_color": "CAC1EB", "default_profile_image": false, "profile_text_color": "B1B1F5", "translator_type": "regular", "is_translator": false, "profile_sidebar_border_color": "CFC5ED", "protected": false, "lang": "ar", "is_translation_enabled": false, "verified": false, "id": 31194601, "followers_count": 14412, "friends_count": 12, "statuses_count": 618, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "durufbeugichyoxmranlmwolgjruekcnvmfbkbjivegmcajp", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": false, "url": "http://blrkcsivitixizdvkrifxu", "profile_image_url": "http://sufcvtyvobbboqutiocrimvxpoetzljkwxzobcxgddvaouwblxprushqubebhlhz", "status": {"id_str": "218633645455396373", "is_quote_status": false, "coordinates": null, "retweeted_status": {"id_str": "383890612750285871", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "extended_entities": {"media": [{"media_url": "http://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "id_str": "853680251884457984", "expanded_url": "https://twitter.com/vNw2f/status/853680261707571203/photo/1", "id": 853680251884457984, "url": "https://t.co/0RyfRJe5zd", "media_url_https": "https://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "type": "photo", "indices": [45, 68], "sizes": {"small": {"h": 527, "w": 350, "resize": "fit"}, "large": {"h": 527, "w": 350, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 527, "w": 350, "resize": "fit"}}, "display_url": "pic.twitter.com/0RyfRJe5zd"}]}, "geo": null, "in_reply_to_user_id": null, "in_reply_to_status_id_str": null, "favorited": false, "id": 383890612750285871, "entities": null, "possibly_sensitive": false, "created_at": "Sun Apr 16 18:43:58 +0000 2017", "retweet_count": 195, "retweeted": false, "text": "wjqfihodbhjsmuzgkwrcvvuhzfelfhmmjssrkmctukcytytfysqtbibuntencdmzqcem", "place": null, "source": "TweetDeck", "favorite_count": 1, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "contributors": null, "in_reply_to_screen_name": null, "extended_entities": {"media": [{"media_url": "http://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "id_str": "853680251884457984", "id": 853680251884457984, "media_url_https": "https://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "type": "photo", "source_user_id_str": "1321452678", "indices": [56, 79], "sizes": {"small": {"h": 527, "w": 350, "resize": "fit"}, "large": {"h": 527, "w": 350, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 527, "w": 350, "resize": "fit"}}, "source_status_id": 853680261707571203, "source_user_id": 1321452678, "expanded_url": "https://twitter.com/vNw2f/status/853680261707571203/photo/1", "url": "https://t.co/0RyfRJe5zd", "source_status_id_str": "853680261707571203", "display_url": "pic.twitter.com/0RyfRJe5zd"}]}, "geo": null, "in_reply_to_user_id": null, "in_reply_to_status_id_str": null, "favorited": false, "id": 218633645455396373, "entities": null, "possibly_sensitive": false, "created_at": "Sat Apr 15 18:43:54 +0000 2017", "retweet_count": 195, "retweeted": false, "text": "qtomxkuilzqswrotxsgveswtpavytuuuhaznrolskxuwdyztcqbcaoponbdocixpxmvyaqnvdfkltwa", "place": null, "source": "TweetDeck", "favorite_count": 0, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 3, "profile_background_image_url_https": "http://izaisezrqqazdkkcmmijhhfajmmfqzqbngiohoqbpkyftoghjygicjhjahsrdfmbaws"}, {"id_str": "7246747553", "location": "", "listed_count": 5, "profile_background_tile": true, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": 7200, "created_at": "Sat Jun 28 02:07:48 +0000 2014", "time_zone": "Cairo", "profile_link_color": "A901DB", "profile_image_url_https": "http://fnvfftcogpqejfdvmlzhveirkkqbhtrcailmumdctcovzsuvnbfgjwvegnrthqmdrpdjaetuqpf", "contributors_enabled": false, "name": "snhizpiocmc", "profile_background_image_url": "http://juwxgrjyrkkdthjvokwycljrktnhyotaicfmyfrcwhmfchloilwgyhltyydsegfygvydzyrhweqrsyh", "screen_name": "ajvbeehvzcadiig", "profile_background_color": "B40431", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "FFFFFF", "protected": false, "lang": "ar", "is_translation_enabled": false, "profile_banner_url": "http://losrtfgumdjowfsbswqsrvkghnctrhmkxbeintuifvblcliwuulynfrywzq", "verified": false, "id": 7246747553, "followers_count": 1207, "friends_count": 515, "statuses_count": 26074, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": true, "default_profile": false, "url": "http://ndsqkzezwggzajxjvywaxgu", "profile_image_url": "http://yzcvzscaxelzdrytskiiywthwgullqeuzebaqznpzdpslpmvaiaoppjjaujvpgvtadcfidufhf", "status": {"id_str": "500932234291329717", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": "vuzqgqunkoa", "retweet_count": 0, "in_reply_to_user_id": 972552511, "favorited": false, "id": 500932234291329717, "entities": null, "created_at": "Sat Apr 15 20:12:15 +0000 2017", "place": null, "retweeted": false, "text": "prammgfaiquoykajvtnryhfkqfonmnmattsfrmugoolxisw", "in_reply_to_status_id_str": "212168306465929092", "source": "Twitter Web Client", "favorite_count": 1, "geo": null, "lang": "ar", "in_reply_to_user_id_str": "972552511", "in_reply_to_status_id": 212168306465929092, "truncated": false}, "favourites_count": 130, "profile_background_image_url_https": "http://yaxzamwfjaevuchcpmeqehqrrcrpljallhqwpvnpktlmzykhnrtdbiltxxrzienuddoaipmkvvazwulw"}, {"id_str": "558139751513071876", "location": "", "listed_count": 0, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Fri Dec 09 18:48:31 +0000 2016", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://ttlaqfisfxykaynhalqcnudgwebekvrxsqmequexuideqdscmjfjvdrdvayhtfqozrlnoyvoanh", "contributors_enabled": false, "name": "jz", "profile_background_image_url": null, "screen_name": "fktmkh", "profile_background_color": "F5F8FA", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "ar", "is_translation_enabled": false, "verified": false, "id": 558139751513071876, "followers_count": 6, "friends_count": 0, "statuses_count": 112, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": null, "profile_image_url": "http://iozvcoxtpmshrhgaycifeobgloawjmgdslatpfupkkqloqwsklleoxkeohiggowmvthowxjxck", "status": {"id_str": "537484372223968508", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "extended_entities": {"media": [{"media_url": "http://pbs.twimg.com/media/C9eQR5UXcAArZXe.jpg", "id_str": "853309291528417280", "expanded_url": "https://twitter.com/trf_00/status/853309309891076096/photo/1", "id": 853309291528417280, "url": "https://t.co/qvhO9hPc2Z", "media_url_https": "https://pbs.twimg.com/media/C9eQR5UXcAArZXe.jpg", "type": "photo", "indices": [109, 132], "sizes": {"small": {"h": 146, "w": 346, "resize": "fit"}, "large": {"h": 146, "w": 346, "resize": "fit"}, "thumb": {"h": 146, "w": 146, "resize": "crop"}, "medium": {"h": 146, "w": 346, "resize": "fit"}}, "display_url": "pic.twitter.com/qvhO9hPc2Z"}, {"media_url": "http://pbs.twimg.com/media/C9eQSVyXkAANWNr.jpg", "id_str": "853309299170447360", "expanded_url": "https://twitter.com/trf_00/status/853309309891076096/photo/1", "id": 853309299170447360, "url": "https://t.co/qvhO9hPc2Z", "media_url_https": "https://pbs.twimg.com/media/C9eQSVyXkAANWNr.jpg", "type": "photo", "indices": [109, 132], "sizes": {"small": {"h": 191, "w": 264, "resize": "fit"}, "large": {"h": 191, "w": 264, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 191, "w": 264, "resize": "fit"}}, "display_url": "pic.twitter.com/qvhO9hPc2Z"}]}, "geo": null, "in_reply_to_user_id": null, "in_reply_to_status_id_str": null, "favorited": false, "id": 537484372223968508, "entities": null, "possibly_sensitive": false, "created_at": "Sat Apr 15 18:09:47 +0000 2017", "retweet_count": 53, "retweeted": false, "text": "vcnuhxwhefzycbcffgrkctsnjnpdyrphqiuludmaiwhsaoovzvdlhrbruhvnayemfxfmndsgdnlqwuwlwbqvytfoankgmwgyqdphcrdlfjtkokmivvqzzscoeyawpiqnmjvv", "place": null, "source": "Twitter Web Client", "favorite_count": 53, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 58, "profile_background_image_url_https": null}, {"id_str": "40970141", "location": "Riyadh, Kingdom of Saudi Arabia", "listed_count": 0, "profile_background_tile": true, "profile_sidebar_fill_color": "252429", "utc_offset": -18000, "created_at": "Wed Jul 27 04:22:30 +0000 2011", "time_zone": "Quito", "profile_link_color": "009999", "profile_image_url_https": "http://nhqrtjjkbrwgugqpptijoewriramvyfozrrhwwfvbqxeneaxkwpmqdjidyhuwtaqhtzwvljvdeq", "contributors_enabled": false, "name": "sofphhratdiiwa", "profile_background_image_url": "http://izmujdmdyhgluvpzeybeqfkcedejffbbdxlmbbvcieagpwnja", "screen_name": "ynrgcd", "profile_background_color": "131516", "default_profile_image": false, "profile_text_color": "666666", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "000000", "protected": false, "lang": "ar", "is_translation_enabled": false, "profile_banner_url": "http://jpwstpjvlrthdjjxgopufeomzerdrpwturfjeqxypcjrfthfedhaviwlsj", "verified": false, "id": 40970141, "followers_count": 292, "friends_count": 189, "statuses_count": 3420, "profile_use_background_image": false, "entities": {}, "has_extended_profile": false, "description": "op", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": false, "url": null, "profile_image_url": "http://hvljdccxlttztxhdnyodndnivrlqlksyrmurvexdmjbanxlscajktkmtvnzzujjptdpzkynxif", "status": {"id_str": "97398462377940498", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 82, "in_reply_to_user_id": null, "favorited": false, "id": 97398462377940498, "entities": null, "possibly_sensitive": false, "created_at": "Fri Apr 14 10:21:10 +0000 2017", "place": null, "retweeted": false, "text": "cdotsuuojsuhlnbfpymkxmlkylaovtlfbbfhjmklpksdoyqfwshidgbqjuislrxwnvphlrwxcbnnmldjqbtunawrwqhdcvhcqqwoiuvmfhumhoolxenkzwstr", "in_reply_to_status_id_str": null, "source": "TweetDeck", "favorite_count": 83, "geo": null, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 64, "profile_background_image_url_https": "http://hknoiysxtqnqrfhsdjzgsupfclemfzggkbqtqiviaatoqdcgzw"}, {"id_str": "8411714346", "location": "World", "listed_count": 8, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Sun Sep 13 13:59:48 +0000 2015", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://nfywelihnunczsydnapxmpfuicvevmyjqgextbirpmggqgrxzpfvombeqlrxweyqxxlsxotyilu", "contributors_enabled": false, "name": "aqgkitrs", "profile_background_image_url": "http://qvxscuqwkzvvwwbooiwgkwqaxezylgsmovezxrnvsitxzcnz", "screen_name": "albiojlazpfyff", "profile_background_color": "C0DEED", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "en", "is_translation_enabled": false, "profile_banner_url": "http://ljkvscsxphbrmibmbhhcpzzcldcedgrilgbffivwcydyafmllrqwqihvilp", "verified": false, "id": 8411714346, "followers_count": 79, "friends_count": 2, "statuses_count": 14138, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "syfmrrkvtcfzjwcolzltceiimrazdrsyxkrhzywpcmgxfatnbxfqxkxtuvtpabznokpxcxqwxsuiepzobkmdsoqrxcupuknzimciycktwynlmbammjmuryureahipuewiuqkddwutsswpdwftwnnnphhhnv", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": true, "default_profile": true, "url": "http://teoxsmuivsmfzbmbbnqxonn", "profile_image_url": "http://dlpwkqdrxqdlmcnbbqioyzwddrvzgdkxvhvxxvnhxjzjxtvgqrnqhhzvedfowfxdttxyhriowe", "status": {"id_str": "533705801564766893", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 0, "in_reply_to_user_id": null, "favorited": false, "id": 533705801564766893, "entities": null, "possibly_sensitive": false, "created_at": "Thu Apr 13 17:17:40 +0000 2017", "place": null, "retweeted": false, "text": "ttaudmvvkihghmayrzkbrzsjjogzbklevzqvazvemzhhryvimouvjlgzjsqxhazbnndavbswkeerwypnkkgjou", "in_reply_to_status_id_str": null, "source": "Mobile Web (M2)", "favorite_count": 0, "geo": null, "lang": "en", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 2, "profile_background_image_url_https": "http://kisnfcpfzpvjskgvuqmjqxafgcsiepzkrximfgnisyzmtmwhg"}, {"id_str": "1831963834", "location": "", "listed_count": 7, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Sun Jun 30 09:52:01 +0000 2013", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://qwrirtbxkhlnysorhuwkrgghysypnzmonlqjbqwtzfhdnynpypfxyaizgdtobjlmffivwqavcll", "contributors_enabled": false, "name": "wvfbwzai", "profile_background_image_url": "http://yhhkqcqehkpbrtkitbcamfthqxecczrixjlmrpgwsoegbqgo", "screen_name": "asguqtbpq", "profile_background_color": "C0DEED", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "en", "is_translation_enabled": false, "profile_banner_url": "http://vtkwdahijbyxrkmmlmzxxosnyibegqrxxfjuzxpndbmhcdneburcimjsjze", "verified": false, "id": 1831963834, "followers_count": 976, "friends_count": 294, "statuses_count": 14316, "profile_use_background_image": true, "entities": {}, "has_extended_profile": true, "description": "zrxnvfqfgybqzbskcnvlzqkdbuklzpizmboekwgeysplnixphwgmhbrqyxzzowvhdmjcnxewhoqgdsdzpycnqwxzfbcafnmfmtcwsxdrmdgsogucdc", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": true, "default_profile": true, "url": null, "profile_image_url": "http://pndkftbvknvncshxjhigenbjpebslfadgkaxwredvbcmvoizapynjdxxcwumdlylxgnrahndhp", "status": {"id_str": "34952112768647626", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": "hxnvynbunqbiq", "retweet_count": 0, "in_reply_to_user_id": 4991699131, "favorited": false, "id": 34952112768647626, "entities": null, "created_at": "Sun Apr 09 08:35:16 +0000 2017", "place": null, "retweeted": false, "text": "elffldsguaeadgzvzhbsgxfruvnvykekkopiohazbdddtyhpfun", "in_reply_to_status_id_str": "211946432707978113", "source": "Twitter for Android", "favorite_count": 0, "geo": null, "lang": "tl", "in_reply_to_user_id_str": "4991699131", "in_reply_to_status_id": 211946432707978113, "truncated": false}, "favourites_count": 27596, "profile_background_image_url_https": "http://rceijfzvsymptcpaemleyulflxlugwxclzwgqdumxkxxllbym"}, {"id_str": "62739163", "location": "", "listed_count": 2, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Wed Jan 23 22:06:16 +0000 2013", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://egduzimaqjnjjmurvkdzcbcrknbowjbbcqokhpwoxxsjxrkywmmqsrruxfscouvnkfpkuxkfijn", "contributors_enabled": false, "name": "lhtdtdistbq", "profile_background_image_url": "http://eygsdducndffzejkobxtesoovbhmcugumwypzdvlizzfqoru", "screen_name": "czixrive", "profile_background_color": "C0DEED", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "ar", "is_translation_enabled": false, "verified": false, "id": 62739163, "followers_count": 898, "friends_count": 1860, "statuses_count": 1408, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "byeybvkjdm", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": true, "default_profile": true, "url": null, "profile_image_url": "http://kwbddakcwxugouvokintbibtosutrzogxdlktutlniiymfdzhprcbmvdbmusfuqvcvakdpiqes", "status": {"id_str": "946152054497677424", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 53, "in_reply_to_user_id": null, "favorited": false, "id": 946152054497677424, "entities": null, "possibly_sensitive": false, "created_at": "Sun Apr 16 18:24:39 +0000 2017", "place": null, "retweeted": false, "text": "wlgkftgpbaelcejohqfotekbvsolhpjbbspbflgygrdpuuorvpqhdxhejasaplhtsgspbbhebrlpcghfjeievqqzrffxciqzloufylvxlvbtdyjimpoqcazuizpgftmcyomgnlbfrgro", "in_reply_to_status_id_str": null, "source": "Twitter Web Client", "favorite_count": 54, "geo": null, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": true}, "favourites_count": 6, "profile_background_image_url_https": "http://zwrbkxjqswwwekmjewatbkzbjnkvriexrpdyxcqrxfvdgalcn"}, {"id_str": "168248314", "location": "", "listed_count": 2, "profile_background_tile": false, "profile_sidebar_fill_color": "DAECF4", "utc_offset": 3600, "created_at": "Tue Jan 25 20:44:43 +0000 2011", "time_zone": "London", "profile_link_color": "1F98C7", "profile_image_url_https": "http://kmuzvpdrujxtdyvssurzpiwtdiuxygyijfsqkbfbwvjrzegvlnjgtolwaqmqzmjkhcjhpahghsg", "contributors_enabled": false, "name": "svwxahwzvedw", "profile_background_image_url": "http://oaxrhcvkdwpkwqptwvpfahouqkpzniqayvagezprhclhdazi", "screen_name": "nidtzedi", "profile_background_color": "C6E2EE", "default_profile_image": false, "profile_text_color": "663B12", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C6E2EE", "protected": false, "lang": "en", "is_translation_enabled": false, "verified": false, "id": 168248314, "followers_count": 168, "friends_count": 700, "statuses_count": 16915, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "kuchzkjlqhyfe", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": true, "default_profile": false, "url": null, "profile_image_url": "http://lqxqzcoackrhobmdnitghejlehvcmkqfqcuhqdladbtntndhdinwioqdmorowgsleximeaovgr", "status": {"id_str": "615722174074121768", "is_quote_status": false, "coordinates": null, "retweeted_status": {"id_str": "594622197096553725", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "extended_entities": {"media": [{"media_url": "http://pbs.twimg.com/media/C9e3rcqWAAAHxXL.jpg", "id_str": "853352611466051584", "expanded_url": "https://twitter.com/mindbiowingpost/status/853352725769318400/photo/1", "id": 853352611466051584, "url": "https://t.co/xwpDVCRZHB", "media_url_https": "https://pbs.twimg.com/media/C9e3rcqWAAAHxXL.jpg", "type": "photo", "indices": [15, 38], "sizes": {"small": {"h": 680, "w": 680, "resize": "fit"}, "large": {"h": 1080, "w": 1080, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 1080, "w": 1080, "resize": "fit"}}, "display_url": "pic.twitter.com/xwpDVCRZHB"}]}, "geo": null, "in_reply_to_user_id": null, "in_reply_to_status_id_str": null, "favorited": false, "id": 594622197096553725, "entities": null, "possibly_sensitive": false, "created_at": "Mon Apr 17 21:02:14 +0000 2017", "retweet_count": 14, "retweeted": false, "text": "bmjseloyerppdlxatfxxendobjavuhhmvhzwkp", "place": null, "source": "Twitter Web Client", "favorite_count": 51, "lang": "en", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "contributors": null, "in_reply_to_screen_name": null, "extended_entities": {"media": [{"media_url": "http://pbs.twimg.com/media/C9e3rcqWAAAHxXL.jpg", "id_str": "853352611466051584", "id": 853352611466051584, "media_url_https": "https://pbs.twimg.com/media/C9e3rcqWAAAHxXL.jpg", "type": "photo", "source_user_id_str": "417565340", "indices": [36, 59], "sizes": {"small": {"h": 680, "w": 680, "resize": "fit"}, "large": {"h": 1080, "w": 1080, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 1080, "w": 1080, "resize": "fit"}}, "source_status_id": 853352725769318400, "source_user_id": 417565340, "expanded_url": "https://twitter.com/mindbiowingpost/status/853352725769318400/photo/1", "url": "https://t.co/xwpDVCRZHB", "source_status_id_str": "853352725769318400", "display_url": "pic.twitter.com/xwpDVCRZHB"}]}, "geo": null, "in_reply_to_user_id": null, "in_reply_to_status_id_str": null, "favorited": false, "id": 615722174074121768, "entities": null, "possibly_sensitive": false, "created_at": "Fri Apr 14 21:13:01 +0000 2017", "retweet_count": 14, "retweeted": false, "text": "tyxxpsfnvkbfovhivfocieuvcluqulrcpqxthhpamewcjhpscxatmaupvux", "place": null, "source": "Twitter for iPhone", "favorite_count": 0, "lang": "en", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 394, "profile_background_image_url_https": "http://isbifjrnwukmuxaeobrbhppnxddkkutkbyidrebwhoqpnyzzh"}, {"id_str": "74039010", "location": "", "listed_count": 0, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Fri Nov 02 14:50:48 +0000 2012", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://kyxrrkqgmleirvwjnmyiyrsxogbwztblcuxawzaehzzsrqezcquyoxaskdymnfxmfriggejwfzobwrvbawazoofiubpw", "contributors_enabled": false, "name": "sxdvjcouqshz", "profile_background_image_url": "http://qomotukochqbmqydoiyklwevpqfmkpqkmzmagmmcxyqkbdql", "screen_name": "kzdhmeayqx", "profile_background_color": "C0DEED", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "ar", "is_translation_enabled": false, "profile_banner_url": "http://jxwzddvnahkmvdtcztdwhmljjnviutklrgtnjqnwtzfxwbtfzubispjtit", "verified": false, "id": 74039010, "followers_count": 279, "friends_count": 794, "statuses_count": 164, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "wihczmxvamkwekxxybgyzkwgppvwbclfl", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": null, "profile_image_url": "http://cjolsaxgbldsqausvdtxxjlxjysumtysndvaqhoiqwdzfqdmuxofmzdjjvvglszmxzxbojbudknkruoycfowjwmxxhp", "status": {"id_str": "480964011964049394", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "extended_entities": {"media": [{"media_url": "http://pbs.twimg.com/media/C9eVO78XkAcgOyh.jpg", "id_str": "853314738251599879", "expanded_url": "https://twitter.com/maoaal1223/status/853314754127048704/photo/1", "id": 853314738251599879, "url": "https://t.co/Dtmol2xifN", "media_url_https": "https://pbs.twimg.com/media/C9eVO78XkAcgOyh.jpg", "type": "photo", "indices": [113, 136], "sizes": {"small": {"h": 168, "w": 300, "resize": "fit"}, "large": {"h": 168, "w": 300, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 168, "w": 300, "resize": "fit"}}, "display_url": "pic.twitter.com/Dtmol2xifN"}, {"media_url": "http://pbs.twimg.com/media/C9eVPZBW0AAEyoL.jpg", "id_str": "853314746057150464", "expanded_url": "https://twitter.com/maoaal1223/status/853314754127048704/photo/1", "id": 853314746057150464, "url": "https://t.co/Dtmol2xifN", "media_url_https": "https://pbs.twimg.com/media/C9eVPZBW0AAEyoL.jpg", "type": "photo", "indices": [113, 136], "sizes": {"small": {"h": 158, "w": 319, "resize": "fit"}, "large": {"h": 158, "w": 319, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 158, "w": 319, "resize": "fit"}}, "display_url": "pic.twitter.com/Dtmol2xifN"}]}, "geo": null, "in_reply_to_user_id": null, "in_reply_to_status_id_str": null, "favorited": false, "id": 480964011964049394, "entities": null, "possibly_sensitive": false, "created_at": "Sun Apr 16 18:31:08 +0000 2017", "retweet_count": 53, "retweeted": false, "text": "acfnhcvyguwrwhpdaqbsuovhlpskcscfnddxyoyrropdjkppmkeghaebsginusvswhvxydhyzkcnnmkawcwfxsuocwtzbovpdscuxxwawwqbbanxvpfntbjjxondbobyawhimdbf", "place": null, "source": "Twitter Web Client", "favorite_count": 55, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 14, "profile_background_image_url_https": "http://bnxdumdfwthnychyawexgitlbjtndgjiaebuucfyzrbgtdxez"}, {"id_str": "370883181361747597", "location": "\u062f\u0628\u064a, \u0627\u0644\u0627\u0645\u0627\u0631\u0627\u062a \u0627\u0644\u0639\u0631\u0628\u064a\u0629 \u0627\u0644\u0645\u062a\u062d\u062f\u0629", "listed_count": 5, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Mon May 16 08:24:46 +0000 2016", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://pevhlqoxbciusyzvfddeecvedrmkglldzxwnbqhtepeakckliihtueddlaqjugbxydgskyxzmbf", "contributors_enabled": false, "name": "hsjmmmxjg", "profile_background_image_url": null, "screen_name": "plxrlwj", "profile_background_color": "F5F8FA", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "ar", "is_translation_enabled": false, "profile_banner_url": "http://slkxecwbjykrqkdnfvyqbzuzqwbvurlaphcfsaouwvexwhrslaltlovlkgfmbmignnj", "verified": false, "id": 370883181361747597, "followers_count": 561, "friends_count": 34, "statuses_count": 99140, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "fafhxqwowvbbxkfegebtcyzefylifwshptihrmcvbasvduzilgjfmsmoegwh", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": null, "profile_image_url": "http://tujiefqqmwqeijcpyzcfwiqhqfjplohalnkjcxeazknganqugdmqczdzbrhjzhmxkelvwvoxuu", "status": {"id_str": "101684972552495455", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 0, "in_reply_to_user_id": null, "favorited": false, "id": 101684972552495455, "entities": null, "possibly_sensitive": false, "created_at": "Tue Apr 18 21:05:27 +0000 2017", "place": null, "retweeted": false, "text": "oiznxvbvlslniwpxqyroylkmxwwujokmiulriffwngcyuhzszjmokekdjwpdaywlrlxcbowbheuhjbguwdtyqlkhtboow", "in_reply_to_status_id_str": null, "source": "WordPress.com", "favorite_count": 0, "geo": null, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 5961, "profile_background_image_url_https": null}, {"id_str": "615844917753160903", "location": "", "listed_count": 1, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Sat Apr 15 17:44:54 +0000 2017", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://yzycvacjvdpbfquianempfhvgwfrtzvpwgfmoyyhoavotuxvjrwpyhaausuyagownqmbllkoigawme", "contributors_enabled": false, "name": "snvpoplldmsr", "profile_background_image_url": null, "screen_name": "yllyxfamvheayus", "profile_background_color": "F5F8FA", "default_profile_image": true, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "ar", "is_translation_enabled": false, "verified": false, "id": 615844917753160903, "followers_count": 2, "friends_count": 0, "statuses_count": 10, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": null, "profile_image_url": "http://baxwljuiwmrdanvpbgakvrguoyqmrjaywvdpkcofjpkxowdyzprnkaidmojwzefxjaojlglmggpor", "status": {"id_str": "298441710287660636", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 0, "in_reply_to_user_id": null, "favorited": false, "id": 298441710287660636, "entities": null, "possibly_sensitive": false, "created_at": "Fri Apr 14 17:55:30 +0000 2017", "place": null, "retweeted": false, "text": "pzzvfbicqkwphyqpnmlsscjqkslkolnznlbqetrutcyoozhyfpvutnjiybyldvegjkbrdonstfmkkyfvsdqimvhlkdtcjkuskwmgvnxpnjlncojjs", "in_reply_to_status_id_str": null, "source": "Twitter Web Client", "favorite_count": 0, "geo": null, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 0, "profile_background_image_url_https": null}, {"id_str": "431380626192255857", "location": "", "listed_count": 0, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Wed Apr 12 18:26:06 +0000 2017", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://iuwfgvwxkezbtwjixlmdjvechwfdswgnllgujdgxfwafoyrslopmffrxmaljvxvzvhguzzyxlzrsoo", "contributors_enabled": false, "name": "kfidtykumlyl", "profile_background_image_url": null, "screen_name": "umqdslddgmcl", "profile_background_color": "F5F8FA", "default_profile_image": true, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "ar", "is_translation_enabled": false, "verified": false, "id": 431380626192255857, "followers_count": 0, "friends_count": 0, "statuses_count": 12, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": null, "profile_image_url": "http://prphlonynuwqdjvwxctrrzjldaomxjuwyfvdjttujiqgcgmbdwtimvpipqnmuhoaoxlrujkapydlk", "status": {"id_str": "742878548716576514", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 0, "in_reply_to_user_id": null, "favorited": false, "id": 742878548716576514, "entities": null, "possibly_sensitive": false, "created_at": "Sun Apr 16 18:33:54 +0000 2017", "place": null, "retweeted": false, "text": "akseidlfhtkhzxerukkiswzniyjhawytxinyjyxkshyndnntsqlkcrsepubfizrtqfumwrfcucdglgsgyvnovmbmsgdewerpbayzreyksimei", "in_reply_to_status_id_str": null, "source": "Twitter Web Client", "favorite_count": 0, "geo": null, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 0, "profile_background_image_url_https": null}, {"id_str": "387833901162206758", "location": "", "listed_count": 0, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Thu Apr 13 15:45:55 +0000 2017", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://dshnetiyfjybcbielwbickclbwpsrxhktuudfutxjnskldwkuphjwnfkcvvnrkvkokhmopixfbn", "contributors_enabled": false, "name": "xsdwmajvvvw", "profile_background_image_url": null, "screen_name": "ihdyffpdarwb", "profile_background_color": "F5F8FA", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "ar", "is_translation_enabled": false, "verified": false, "id": 387833901162206758, "followers_count": 2, "friends_count": 20, "statuses_count": 11, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": null, "profile_image_url": "http://rwcjetjnmmnmskwpgtknevzhrdsiiimbpdlzsswxzdvdqcsavoytgisxgecynkqlofkzifcsel", "status": {"id_str": "84472469504491111", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 63, "in_reply_to_user_id": null, "favorited": false, "id": 84472469504491111, "entities": null, "possibly_sensitive": false, "created_at": "Sat Apr 15 19:32:10 +0000 2017", "place": null, "retweeted": false, "text": "eywzxtforbnxqdmxkymlsyvitvmdpjzxmwkmraonewvzdfxrpzjvvwpmfgygbanpqxgcscpxritxlopshkogafqlfwnwwamururgiuofwvrccflesdqsdmtzeq", "in_reply_to_status_id_str": null, "source": "Twitter Web Client", "favorite_count": 37, "geo": null, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": true}, "favourites_count": 0, "profile_background_image_url_https": null}, {"id_str": "580691969647934035", "location": "", "listed_count": 0, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Mon Apr 10 17:43:31 +0000 2017", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://hdpipeayvtryrcfypcjvphzcxpsfoxybqtpnjliwmfkldaajqitakttllcmbtoncxkfrpkihwru", "contributors_enabled": false, "name": "rthvzongubejyf", "profile_background_image_url": null, "screen_name": "hmjrpsnymyfbzcv", "profile_background_color": "F5F8FA", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "ar", "is_translation_enabled": false, "verified": false, "id": 580691969647934035, "followers_count": 2, "friends_count": 21, "statuses_count": 6, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": null, "profile_image_url": "http://byzjhrmcnmriwdwgwmosyuqalzijakrecqpqjqdztwmngjrifqkbtplgiztvpgioebgmnaoslp", "status": {"id_str": "55797117741536041", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "extended_entities": {"media": [{"media_url": "http://pbs.twimg.com/media/C9ZbbrqXUAELIAE.jpg", "id_str": "852969710568296449", "expanded_url": "https://twitter.com/AD81kBaJ7bJI6az/status/852969733242707969/photo/1", "id": 852969710568296449, "url": "https://t.co/904mwogeh0", "media_url_https": "https://pbs.twimg.com/media/C9ZbbrqXUAELIAE.jpg", "type": "photo", "indices": [110, 133], "sizes": {"small": {"h": 167, "w": 302, "resize": "fit"}, "large": {"h": 167, "w": 302, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 167, "w": 302, "resize": "fit"}}, "display_url": "pic.twitter.com/904mwogeh0"}]}, "geo": null, "in_reply_to_user_id": null, "in_reply_to_status_id_str": null, "favorited": false, "id": 55797117741536041, "entities": null, "possibly_sensitive": false, "created_at": "Thu Apr 13 19:40:27 +0000 2017", "retweet_count": 16, "retweeted": false, "text": "qahznhekgxufljmcqrtfrrfilpmenntfdsunqdbcqcnenrfzdfrrtoojydbzexntfppuopdklslncldbdzsdwcczezumumcfwlcdrjkpuourbonwrfkdweejkstglgjvifhux", "place": null, "source": "Twitter Web Client", "favorite_count": 16, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 0, "profile_background_image_url_https": null}, {"id_str": "805367065466521398", "location": "", "listed_count": 1, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Fri Apr 14 17:41:58 +0000 2017", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://yqbnrayzquvathslypequlxhelnhgpmlsuqwazzmmifchistyhtbabppbnhxvowlqcbamttnuibidw", "contributors_enabled": false, "name": "xlvmx", "profile_background_image_url": null, "screen_name": "pwugkgkxjjobsgw", "profile_background_color": "F5F8FA", "default_profile_image": true, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "ar", "is_translation_enabled": false, "verified": false, "id": 805367065466521398, "followers_count": 1, "friends_count": 0, "statuses_count": 7, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": null, "profile_image_url": "http://aeienmwuxetsofafwmrbwouwyznpxvbhhaqhppcrvcgqzmutuvwpfzgvrcidbkwoqjychbeazzdrw", "status": {"id_str": "130846199158430923", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 0, "in_reply_to_user_id": null, "favorited": false, "id": 130846199158430923, "entities": null, "possibly_sensitive": false, "created_at": "Fri Apr 14 17:52:10 +0000 2017", "place": null, "retweeted": false, "text": "tfcygsfdqqgbizmarqmisuncmpkydhtvbifvmscjkjxmqknovzcnagyfcpeekzbmvvteopecycsogtmoxydqmyulzissqchkeqqodunzjxcnqrsbutolkefblk", "in_reply_to_status_id_str": null, "source": "Twitter Web Client", "favorite_count": 0, "geo": null, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 0, "profile_background_image_url_https": null}, {"id_str": "5266303277", "location": "", "listed_count": 0, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Sat Sep 27 19:17:56 +0000 2014", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://jofofbhlrqrnliwvzsjwjbqogblorkmqvhboiqtmfdgrebejketctnojizsfmoqcxnzcwcksceza", "contributors_enabled": false, "name": "rcotluxpeqavbjrdvqfl", "profile_background_image_url": "http://oxzgfvqdsmoqobijhonylvcknujcpjpklnfvljvwtcyrdsoc", "screen_name": "jstxyqwh", "profile_background_color": "C0DEED", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "ar", "is_translation_enabled": false, "profile_banner_url": "http://mgwlruomborawammghrnnddwmcstdehhmcmquydkroxspeglbyftlrcupqb", "verified": false, "id": 5266303277, "followers_count": 590, "friends_count": 877, "statuses_count": 277, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "sdsjjoerunoqayzmtwdlrdnxcqvtghpyluc", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": null, "profile_image_url": "http://ahaqrrbdsxrtzabjweipotqwxdctwkcogxuhvydhfsrdgbeeslxsjiffvfxayjywsjjlpbiepym", "status": {"id_str": "361484355341472665", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 82, "in_reply_to_user_id": null, "favorited": false, "id": 361484355341472665, "entities": null, "possibly_sensitive": false, "created_at": "Sun Apr 16 15:11:00 +0000 2017", "place": null, "retweeted": false, "text": "mhkljulrukzsavjvapfcvkgypeuobfzkpjdrvgygapxywvpxdidortnsigkurypmdshyzbfysqriwyibcdufjfmawrpfsleaiqsvzdmbdqerwlpwdfjjbphqcswlppdy", "in_reply_to_status_id_str": null, "source": "TweetDeck", "favorite_count": 83, "geo": null, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 12, "profile_background_image_url_https": "http://hmjweenohfmjnzxflxnivhzcjwwtqqyejrmaopleorimlvtkt"}, {"id_str": "763289970148082705", "location": "\u062c\u062f\u0629, \u0627\u0644\u0645\u0645\u0644\u0643\u0629 \u0627\u0644\u0639\u0631\u0628\u064a\u0629 \u0627\u0644\u0633\u0639\u0648\u062f\u064a\u0629", "listed_count": 0, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "created_at": "Sun Apr 16 08:00:32 +0000 2017", "time_zone": null, "profile_link_color": "1DA1F2", "profile_image_url_https": "http://myaqkqngovvfbobhparchqcvjtakkhawjrrpizblhfauzdmyhksluzaprvnxdlzlxljlanzjmle", "contributors_enabled": false, "name": "ibfzysiwykqcxkqyf", "profile_background_image_url": null, "screen_name": "qcgwupvyk", "profile_background_color": "F5F8FA", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "ar", "is_translation_enabled": false, "verified": false, "id": 763289970148082705, "followers_count": 4, "friends_count": 0, "statuses_count": 42, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "qahvgxfpffuniq", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": null, "profile_image_url": "http://hdfxlblvtmcpggqfstincdcvnzfyanerudegnvfsegogbkrbgnvtrpbdqhqlohwpndkngogsxk", "status": {"id_str": "296931958100403443", "is_quote_status": false, "coordinates": null, "retweeted_status": {"id_str": "528025472699666161", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "extended_entities": {"media": [{"media_url": "http://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "id_str": "853680251884457984", "expanded_url": "https://twitter.com/vNw2f/status/853680261707571203/photo/1", "id": 853680251884457984, "url": "https://t.co/0RyfRJe5zd", "media_url_https": "https://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "type": "photo", "indices": [45, 68], "sizes": {"small": {"h": 527, "w": 350, "resize": "fit"}, "large": {"h": 527, "w": 350, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 527, "w": 350, "resize": "fit"}}, "display_url": "pic.twitter.com/0RyfRJe5zd"}]}, "geo": null, "in_reply_to_user_id": null, "in_reply_to_status_id_str": null, "favorited": false, "id": 528025472699666161, "entities": null, "possibly_sensitive": false, "created_at": "Sat Apr 15 18:43:51 +0000 2017", "retweet_count": 195, "retweeted": false, "text": "vwlzpjxgpifpavwvqzfurdibetwwgjjlrpwteteoeptojmuguqmmuuhnaopsawbyagyh", "place": null, "source": "TweetDeck", "favorite_count": 1, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "contributors": null, "in_reply_to_screen_name": null, "extended_entities": {"media": [{"media_url": "http://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "id_str": "853680251884457984", "id": 853680251884457984, "media_url_https": "https://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "type": "photo", "source_user_id_str": "1321452678", "indices": [56, 79], "sizes": {"small": {"h": 527, "w": 350, "resize": "fit"}, "large": {"h": 527, "w": 350, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 527, "w": 350, "resize": "fit"}}, "source_status_id": 853680261707571203, "source_user_id": 1321452678, "expanded_url": "https://twitter.com/vNw2f/status/853680261707571203/photo/1", "url": "https://t.co/0RyfRJe5zd", "source_status_id_str": "853680261707571203", "display_url": "pic.twitter.com/0RyfRJe5zd"}]}, "geo": null, "in_reply_to_user_id": null, "in_reply_to_status_id_str": null, "favorited": false, "id": 296931958100403443, "entities": null, "possibly_sensitive": false, "created_at": "Fri Apr 14 18:45:55 +0000 2017", "retweet_count": 195, "retweeted": false, "text": "zepkpmtdjadtgohuhdtplmskudknqdnvncimkiwytqmvpqekwuwnvwxmxxbwfeeohrgbqgzxtsxlqfg", "place": null, "source": "TweetDeck", "favorite_count": 0, "lang": "ar", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 36, "profile_background_image_url_https": null}, {"id_str": "4064017786", "location": "\u0b85\u0bae\u0bc0\u0bb0\u0b95\u0bae\u0bcd", "listed_count": 5, "profile_background_tile": false, "profile_sidebar_fill_color": "000000", "utc_offset": 14400, "created_at": "Mon Apr 28 09:41:54 +0000 2014", "time_zone": "Abu Dhabi", "profile_link_color": "4A913C", "profile_image_url_https": "http://zwixfsrznsmdruselbpybzodferbdqesroaoityoudvgftflgolsyxceinkesiueynxkexfeymj", "contributors_enabled": false, "name": "cdcanpy", "profile_background_image_url": "http://huylgccwjmxigjyztnsaatdzsphzvvfxbspyjuuvfstiebsk", "screen_name": "zwlieusge", "profile_background_color": "000000", "default_profile_image": false, "profile_text_color": "000000", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "000000", "protected": false, "lang": "en", "is_translation_enabled": false, "profile_banner_url": "http://dwzsiwzxrmscekomwdmkytruxdggfwhnpynqrlkberirrmuaopkqkjpbvuq", "verified": false, "id": 4064017786, "followers_count": 748, "friends_count": 1016, "statuses_count": 2493, "profile_use_background_image": false, "entities": {}, "has_extended_profile": false, "description": "khyfzzfmqvsqntsqrmxxeelenkswufalhwojmjibqvrsqsigs", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": true, "default_profile": false, "url": "http://trfuupdleclywlhrvpvouwc", "profile_image_url": "http://qbusemomggolhypwxoveekdbebsbimxgiwrvbojisjzwfcmfybvummbqafhovsvrgzxuaiqvsi", "status": {"id_str": "205003777565164662", "is_quote_status": false, "coordinates": null, "retweeted_status": {"id_str": "459438984916877025", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 256, "in_reply_to_user_id": null, "favorited": false, "id": 459438984916877025, "entities": null, "possibly_sensitive": false, "created_at": "Mon Apr 17 11:15:41 +0000 2017", "place": null, "retweeted": false, "text": "dlvuzsybriywvcstimjsvndjvmqsqrsqdelefpchurqnznpvwasyxtrgsigucoddurdqojyoxxrvrlkspbtdpyqyrtgpniygrkoooukvdqwmwoekooowwzlgjxatmbaaakmhajutxdcf", "in_reply_to_status_id_str": null, "source": "Twitter for Android", "favorite_count": 204, "geo": null, "lang": "ta", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": true}, "contributors": null, "in_reply_to_screen_name": null, "retweet_count": 256, "in_reply_to_user_id": null, "favorited": false, "id": 205003777565164662, "entities": null, "created_at": "Mon Apr 17 14:01:00 +0000 2017", "place": null, "retweeted": false, "text": "yptxwdhcxjvqstadrxyiycgdgagwnvqpquqryopbohxewfihekitwsrchswchudzbzzalmkhuubkoripvrwpqftekbxtigzvyovbqbbelewqlfkvqlbuqlpkpvahfvmonsygvfglcjs", "in_reply_to_status_id_str": null, "source": "Twitter for iPhone", "favorite_count": 0, "geo": null, "lang": "ta", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 863, "profile_background_image_url_https": "http://lngzefjvlcermmuwyfpegfgrpfpgpaqtvrswkhqcudjqrrreu"}, {"id_str": "410270747", "location": "", "listed_count": 4, "profile_background_tile": true, "profile_sidebar_fill_color": "EFEFEF", "utc_offset": 7200, "created_at": "Sun Aug 07 13:11:55 +0000 2011", "time_zone": "Madrid", "profile_link_color": "009999", "profile_image_url_https": "http://bzgldphadpgsmuohqwjedftmfzutpzwfdpslmkrnklljcjjkigmxgrnikmuauwwbayvbjdsnndp", "contributors_enabled": false, "name": "dpwvsgyhlrqcq", "profile_background_image_url": "http://tnrsonzpdrzdgxziiuohcpzljmdkdouggwqwnmkfbyvrvmkxv", "screen_name": "zecsssiljkgow", "profile_background_color": "131535", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "FFFFFF", "protected": false, "lang": "es", "is_translation_enabled": false, "profile_banner_url": "http://kxpqomvnnfahjrvtnzoseybkmhvrrzrksappvrwocubevmmunbkzglurao", "verified": false, "id": 410270747, "followers_count": 146, "friends_count": 234, "statuses_count": 10449, "profile_use_background_image": false, "entities": {}, "has_extended_profile": false, "description": "vslnhlpqeyrlupwdqndgdbzciskcsbjuvpewwzhli", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": false, "url": null, "profile_image_url": "http://tqwafolokssucaznlshgeyggeedmlolsctssjlmwnqtdujkwmzrkvtsjjqvgbthqwbdmecmglp", "status": {"id_str": "856201542891433754", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": "zcepurbbjrblzch", "retweet_count": 0, "in_reply_to_user_id": 333332, "favorited": false, "id": 856201542891433754, "entities": null, "created_at": "Sat Apr 15 15:05:03 +0000 2017", "place": null, "retweeted": false, "text": "qosedqjwvalaiumjoxpbqssolclcdghbknegpdtjkqpuagawrutprdaoqpstofbragofziirsydgbbzxnrmlpdoeuaxbzdikqfbpfxmpqxizyirlbikxvcjgjwruphyzixwcrzasrcry", "in_reply_to_status_id_str": "22551719877637587", "source": "Twitter for Android", "favorite_count": 0, "geo": null, "lang": "es", "in_reply_to_user_id_str": "333332", "in_reply_to_status_id": 22551719877637587, "truncated": true}, "favourites_count": 62, "profile_background_image_url_https": "http://pieffnllcclqhtnxfwlufwefvstkqdyecmespiqiyubamfjbmn"}, {"id_str": "854907385", "location": "", "listed_count": 367, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": 7200, "created_at": "Wed Nov 14 10:31:39 +0000 2012", "time_zone": "Amsterdam", "profile_link_color": "1DA1F2", "profile_image_url_https": "http://vuhxndcnzbfuiezkgtqgjyncntwybagloonsbbewedynkckccmpxtbrfysfqgjrcrxvhdqcsbzjrtywyhqafkoteskb", "contributors_enabled": false, "name": "cevgpkrfstfsnnj", "profile_background_image_url": "http://gogcnhjpqrefkbatfcwnfpuxfzgmawcccfsqguqhlrwziark", "screen_name": "nbekyfbdytnopun", "profile_background_color": "C0DEED", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "nl", "is_translation_enabled": false, "verified": false, "id": 854907385, "followers_count": 11504, "friends_count": 12478, "statuses_count": 39759, "profile_use_background_image": true, "entities": {}, "has_extended_profile": false, "description": "kkmpcrpcpqbqpyyiwdvtjmrbzremfniuskyddqxrajrxgtkgkldzxkqzoprondejbsjccjkmcurjbajryqkywewfnqokkmtafvmvyuzcuvgpkctikztuludmpddnzsjsimvugoxybauxogallvsggvaxoqwfwi", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": "http://gvdcpardsfoxbgkiivfepz", "profile_image_url": "http://brpipaqxdmrncykqbzevlbrozxhvnmhmybmxiqxrftcjgpwhhcigfxyvhreiulaxcxrsnpbnbrjfhnowsmtzaczass", "status": {"id_str": "452218695931074692", "is_quote_status": false, "coordinates": null, "contributors": null, "in_reply_to_screen_name": null, "extended_entities": {"media": [{"media_url": "http://pbs.twimg.com/media/C9iCzGOXUAABaqT.jpg", "id_str": "853575943742509056", "expanded_url": "https://twitter.com/SollicitatieLAB/status/853606156287131648/photo/1", "id": 853575943742509056, "url": "https://t.co/74c261XXs2", "media_url_https": "https://pbs.twimg.com/media/C9iCzGOXUAABaqT.jpg", "type": "photo", "indices": [112, 135], "sizes": {"small": {"h": 510, "w": 680, "resize": "fit"}, "large": {"h": 720, "w": 960, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 720, "w": 960, "resize": "fit"}}, "display_url": "pic.twitter.com/74c261XXs2"}]}, "geo": null, "in_reply_to_user_id": null, "in_reply_to_status_id_str": null, "favorited": false, "id": 452218695931074692, "entities": null, "possibly_sensitive": false, "created_at": "Mon Apr 17 13:49:14 +0000 2017", "retweet_count": 1, "retweeted": false, "text": "ppgutfdocsplzexvdycqtdcblgixiqsirkcmfjoppxcpxefpaspwjfpadqeiafdbayjtzfwrjbyxjpidiloejduymukksocsplgvgdiedygpoitxaoxocvfwbzscmqivgxtxviw", "place": null, "source": "TweetDeck", "favorite_count": 1, "lang": "nl", "in_reply_to_user_id_str": null, "in_reply_to_status_id": null, "truncated": false}, "favourites_count": 1365, "profile_background_image_url_https": "http://tfmbgfpcylqoeeqdnkbutcfrwwqatwdyiqesfpdgvzewcieec"}, {"id_str": "74178429138015799", "location": "Kingdom of Saudi Arabia", "listed_count": 0, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": -25200, "created_at": "Tue Apr 11 09:54:43 +0000 2017", "time_zone": "Pacific Time (US & Canada)", "profile_link_color": "1DA1F2", "profile_image_url_https": "http://zhjxdyzribzspwmvomzvhvwwmkawszefgxaiekbemrafsctjuedukwxpyhdyksnsclnsobagrda", "contributors_enabled": false, "name": "rfjgiebdu", "profile_background_image_url": null, "screen_name": "othtomaubkywye", "profile_background_color": "F5F8FA", "default_profile_image": false, "profile_text_color": "333333", "translator_type": "none", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "protected": false, "lang": "ar", "is_translation_enabled": false, "verified": false, "id": 74178429138015799, "followers_count": 21, "friends_count": 20, "statuses_count": 2, "profile_use_background_image": true, "entities": {}, "has_extended_profile": true, "description": "vqwjkmrmml", "following": false, "follow_request_sent": false, "notifications": false, "geo_enabled": false, "default_profile": true, "url": null, "profile_image_url": "http://qnjubsyaqjtpzvnxmfjvqoxybrzihbqvrollnbkbvshmaozygwxwzxirbvlnlychkfgdxgrlds", "status": {"id_str": "617450921764345643", "is_quote_status": false, "coordinates": null, "truncated": false, "contributors": null, "in_reply_to_screen_name": null, "withheld_copyright": true, "in_reply_to_user_id": null, "favorited": false, "withheld_in_countries": ["XY"], "id": 617450921764345643, "entities": null, "created_at": "Wed Apr 12 17:12:43 +0000 2017", "place": null, "retweet_count": 371, "retweeted": false, "text": "zxzzrwxmjezshxpzxezzycdhrdxfzhdcjogbthdgoqbbgeruebrteoqrwyehijrwkgiywxbytijshbephixwvwhzcnfggcddpzvg", "in_reply_to_status_id_str": null, "withheld_scope": "status", "favorite_count": 376, "geo": null, "lang": "ar", "source": "Twitter Web Client", "in_reply_to_status_id": null, "in_reply_to_user_id_str": null}, "favourites_count": 0, "profile_background_image_url_https": null}] \ No newline at end of file diff --git a/tests/fixture_data/lumen_notices_0.json b/tests/fixture_data/lumen_notices_0.json deleted file mode 100644 index 2a14111..0000000 --- a/tests/fixture_data/lumen_notices_0.json +++ /dev/null @@ -1,5316 +0,0 @@ -{ - - "notices": [ - { - "score": null, - "id": 14197431, - "tags": [ ], - "date_received": "2017-04-14T21:58:58.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/masrarabiasport/status/852988222137389058", - "url_original": null - }, - { - "url": "https://t.co/kGA6kEjVSr", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": "Kijamii for Internet Service", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14197398, - "tags": [ ], - "date_received": "2017-04-14T19:53:04.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/afrosnugglz/status/725073537535479808", - "url_original": null - }, - { - "url": "https://t.co/RclrCP43tF", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": "Freelance", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14197394, - "tags": [ ], - "date_received": "2017-04-14T19:52:19.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/escotsindubai/status/852877864512966656", - "url_original": null - }, - { - "url": "https://t.co/PLVakt0orP", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": "Lady Celebrity", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14197397, - "tags": [ ], - "date_received": "2017-04-14T19:50:33.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/thetruevoicetv/status/852970600641384448", - "url_original": null - }, - { - "url": "https://twitter.com/dyoathletic/status/825817401832923137", - "url_original": null - }, - { - "url": "https://twitter.com/athleticfanspag/status/826038557026430976", - "url_original": null - }, - { - "url": "https://t.co/Spw7fmvYLc", - "url_original": null - }, - { - "url": "https://t.co/MPbS4ehu2N", - "url_original": null - }, - { - "url": "https://t.co/d790du2o7R", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": "Liga Nacional de Fútbol Profesional", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14197346, - "tags": [ ], - "date_received": "2017-04-14T19:20:23.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/marceloroger435/status/852962549712773120", - "url_original": null - }, - { - "url": "https://twitter.com/arranobaltzaa/status/849386261567680512", - "url_original": null - }, - { - "url": "https://t.co/wpWJOm6y7x", - "url_original": null - }, - { - "url": "https://t.co/vGFavPfYW8", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": "Liga Nacional de Fútbol Profesional", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14197408, - "tags": [ ], - "date_received": "2017-04-14T19:19:46.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/tailsdoll553/status/845623793057906690", - "url_original": null - }, - { - "url": "https://t.co/LzUYQNEOWc", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": " - ", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14197406, - "tags": [ ], - "date_received": "2017-04-14T19:19:35.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/tailsdoll553/status/845945455729029120", - "url_original": null - }, - { - "url": "https://t.co/5edNziCjCH", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": " - ", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14197272, - "tags": [ ], - "date_received": "2017-04-14T19:17:55.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/yasser7ob787/status/852961176258576387", - "url_original": null - }, - { - "url": "https://twitter.com/world_saudi2013/status/852957624026976256", - "url_original": null - }, - { - "url": "https://twitter.com/u54547/status/852960895189889024", - "url_original": null - }, - { - "url": "https://twitter.com/snd_ds/status/852961922161025025", - "url_original": null - }, - { - "url": "https://twitter.com/skdjhasjgdagshf/status/852956711535210499", - "url_original": null - }, - { - "url": "https://twitter.com/nayf1438/status/852962666503184384", - "url_original": null - }, - { - "url": "https://twitter.com/mzi71/status/852952965572952064", - "url_original": null - }, - { - "url": "https://twitter.com/dawrisaudi4k/status/852946469795618816", - "url_original": null - }, - { - "url": "https://twitter.com/calpsoslewpcp1h/status/852959043274637312", - "url_original": null - }, - { - "url": "https://twitter.com/alnah65484hy/status/852962783733977089", - "url_original": null - }, - { - "url": "https://twitter.com/aln5954hy/status/852962199022817280", - "url_original": null - }, - { - "url": "https://twitter.com/akhbarr24/status/852956792158113794", - "url_original": null - }, - { - "url": "https://t.co/vX4cB2cvf3", - "url_original": null - }, - { - "url": "https://t.co/UyXGvOY6zN", - "url_original": null - }, - { - "url": "https://t.co/P2bqfvSays", - "url_original": null - }, - { - "url": "https://t.co/nnFd2Ta5Jm", - "url_original": null - }, - { - "url": "https://t.co/lKqJAID0DE", - "url_original": null - }, - { - "url": "https://t.co/lFawVum8fU", - "url_original": null - }, - { - "url": "https://t.co/HtLXzLMs8d", - "url_original": null - }, - { - "url": "https://t.co/E00IRKzlXl", - "url_original": null - }, - { - "url": "https://t.co/DU5ibJujV1", - "url_original": null - }, - { - "url": "https://t.co/bMEndvb0tG", - "url_original": null - }, - { - "url": "https://t.co/aWSSZjUjga", - "url_original": null - }, - { - "url": "https://t.co/adkF9jbYcT", - "url_original": null - }, - { - "url": "https://t.co/9K36aSIWsJ", - "url_original": null - }, - { - "url": "https://t.co/4RTg08zxs1", - "url_original": null - }, - { - "url": "https://t.co/4jVxPwvt1l", - "url_original": null - }, - { - "url": "https://t.co/3bRGXiBIad", - "url_original": null - }, - { - "url": "https://t.co/ZauN6bCvui", - "url_original": null - }, - { - "url": "https://t.co/nqGu6WNIk3", - "url_original": null - }, - { - "url": "https://t.co/GQnkktwgpt", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": "Dawri Plus", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14197389, - "tags": [ ], - "date_received": "2017-04-14T19:16:45.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "http://twitter.com/zaynoo55/status/698227988672937984", - "url_original": null - }, - { - "url": "http://twitter.com/wasifwah/status/702175324050690050", - "url_original": null - }, - { - "url": "http://twitter.com/wa5imm/status/702548651151912960", - "url_original": null - }, - { - "url": "http://twitter.com/vishalprash/status/704496060513660928", - "url_original": null - }, - { - "url": "http://twitter.com/thotas9999/status/849652757640355840", - "url_original": null - }, - { - "url": "http://twitter.com/thilangura/status/697081932304224256", - "url_original": null - }, - { - "url": "http://twitter.com/sureshrcs/status/703481506921054208", - "url_original": null - }, - { - "url": "http://twitter.com/sunil_k1/status/711141430727741440", - "url_original": null - }, - { - "url": "https://t.co/vFLag2DSPl", - "url_original": null - }, - { - "url": "https://t.co/uuGyZzvdAC.", - "url_original": null - }, - { - "url": "https://t.co/sSo70tyPfL", - "url_original": null - }, - { - "url": "https://t.co/qNCYyflMbN", - "url_original": null - }, - { - "url": "https://t.co/pM4R5hyo7x", - "url_original": null - }, - { - "url": "https://t.co/HfYtT0Qhm3", - "url_original": null - }, - { - "url": "https://t.co/czIaSu6pC8", - "url_original": null - }, - { - "url": "https://t.co/b2mRstHqty", - "url_original": null - }, - { - "url": "https://t.co/1Ftx5vUSfs", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": "Copyright Integrity International", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14197371, - "tags": [ ], - "date_received": "2017-04-14T19:10:24.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/_goropa_/status/848253391914631168", - "url_original": null - }, - { - "url": "https://t.co/SCfefmTF1O", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": "Liga Nacional de Fútbol Profesional", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14197288, - "tags": [ ], - "date_received": "2017-04-14T19:08:22.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/so6an_999/status/852957664493654018", - "url_original": null - }, - { - "url": "https://twitter.com/samiafox2/status/852957384020566017", - "url_original": null - }, - { - "url": "https://twitter.com/news_glo/status/852957156349546497", - "url_original": null - }, - { - "url": "https://twitter.com/mhamdalshrary/status/852955497561034752", - "url_original": null - }, - { - "url": "https://twitter.com/janaalshammry/status/852957848355053572", - "url_original": null - }, - { - "url": "https://twitter.com/bein720/status/852960552359997440", - "url_original": null - }, - { - "url": "https://t.co/ZJ7Ov2oqUg", - "url_original": null - }, - { - "url": "https://t.co/xn4xCD02oQ", - "url_original": null - }, - { - "url": "https://t.co/vNHxo9fgNG", - "url_original": null - }, - { - "url": "https://t.co/uc43oQ3q1K", - "url_original": null - }, - { - "url": "https://t.co/iNdKsStaBH", - "url_original": null - }, - { - "url": "https://t.co/igWHeUPJRO", - "url_original": null - }, - { - "url": "https://t.co/b4NBRg78vS", - "url_original": null - }, - { - "url": "https://twitter.com/world_saudi2013/status/852957624026976256", - "url_original": null - }, - { - "url": "https://t.co/ZauN6bCvui", - "url_original": null - }, - { - "url": "https://t.co/4RTg08zxs1", - "url_original": null - }, - { - "url": "https://t.co/1vIlhj68jX", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": "Dawri PLus", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14197042, - "tags": [ ], - "date_received": "2017-04-14T19:07:44.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "http://twitter.com/snaqvi97/status/702192510219763712", - "url_original": null - }, - { - "url": "http://twitter.com/shukrytwitts/status/849631335971000320", - "url_original": null - }, - { - "url": "http://twitter.com/sachin_6600/status/703580540889337856", - "url_original": null - }, - { - "url": "http://twitter.com/rokkingrahman/status/852564755122466816", - "url_original": null - }, - { - "url": "http://twitter.com/rizwan_gillani/status/849617136754601984", - "url_original": null - }, - { - "url": "http://twitter.com/red_log_in/status/849992940587859968", - "url_original": null - }, - { - "url": "http://twitter.com/ranukad/status/833245598438526976", - "url_original": null - }, - { - "url": "http://twitter.com/nitindhanuka/status/702525706983469057", - "url_original": null - }, - { - "url": "http://twitter.com/mrplanner1/status/703299999275290624", - "url_original": null - }, - { - "url": "http://twitter.com/maria_h_k/status/697781471277408257", - "url_original": null - }, - { - "url": "http://twitter.com/kh_masood/status/702192728789164032", - "url_original": null - }, - { - "url": "http://twitter.com/kazztr_/status/850003359687901184", - "url_original": null - }, - { - "url": "http://twitter.com/kazztr_/status/849277634148270081", - "url_original": null - }, - { - "url": "http://twitter.com/imranali27/status/697755127189499904", - "url_original": null - }, - { - "url": "http://twitter.com/ghalibirfann/status/837730569010151424", - "url_original": null - }, - { - "url": "http://twitter.com/ghalibirfann/status/837698517829320704", - "url_original": null - }, - { - "url": "http://twitter.com/engr_naveed111/status/702192176554442752", - "url_original": null - }, - { - "url": "http://twitter.com/ari_franchi/status/852171617035800576", - "url_original": null - }, - { - "url": "http://twitter.com/alluswagg/status/850715240052477952", - "url_original": null - }, - { - "url": "http://twitter.com/abirbcse/status/849976337435578369", - "url_original": null - }, - { - "url": "https://t.co/zrPnQ61RmB", - "url_original": null - }, - { - "url": "https://t.co/ZOLR2kP8Zp", - "url_original": null - }, - { - "url": "https://t.co/yVtUkg9W9K", - "url_original": null - }, - { - "url": "https://t.co/Y7izWRt5TG", - "url_original": null - }, - { - "url": "https://t.co/vlLO3rFSyV", - "url_original": null - }, - { - "url": "https://t.co/V5QVKJMcnA", - "url_original": null - }, - { - "url": "https://t.co/u37GEyOvKb", - "url_original": null - }, - { - "url": "https://t.co/rdcWlb4cmZ", - "url_original": null - }, - { - "url": "https://t.co/P4eVWRHJDG", - "url_original": null - }, - { - "url": "https://t.co/o1SI0aj4y9", - "url_original": null - }, - { - "url": "https://t.co/M5x7kq76zn", - "url_original": null - }, - { - "url": "https://t.co/KVxmVrLD8X", - "url_original": null - }, - { - "url": "https://t.co/HyCqVPgWy1", - "url_original": null - }, - { - "url": "https://t.co/hVAV4BtVo3", - "url_original": null - }, - { - "url": "https://t.co/h3MdVa5YtS", - "url_original": null - }, - { - "url": "https://t.co/gqIcTcg2Yh", - "url_original": null - }, - { - "url": "https://t.co/G9OmxLaahT", - "url_original": null - }, - { - "url": "https://t.co/fPSUS0sdxy", - "url_original": null - }, - { - "url": "https://t.co/bvNx9wn27m", - "url_original": null - }, - { - "url": "https://t.co/8uAXceJvco", - "url_original": null - }, - { - "url": "https://t.co/11Ao0RTxfs", - "url_original": null - }, - { - "url": "https://t.co/xY7eGJX5Kn", - "url_original": null - }, - { - "url": "https://t.co/db4XwDZcYH", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": "Copyright Integrity International", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14197405, - "tags": [ ], - "date_received": "2017-04-14T19:06:49.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/tailsdoll553/status/850195372647436289", - "url_original": null - }, - { - "url": "https://t.co/ezSc10QJGL", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": " - ", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14197404, - "tags": [ ], - "date_received": "2017-04-14T19:06:29.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/tailsdoll553/status/851336503212949504", - "url_original": null - }, - { - "url": "https://t.co/bouPCStk9F", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": " - ", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14197402, - "tags": [ ], - "date_received": "2017-04-14T19:06:22.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/tailsdoll553/status/852896025773658112", - "url_original": null - }, - { - "url": "https://t.co/phyeVlUlBZ", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": " - ", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14197401, - "tags": [ ], - "date_received": "2017-04-14T19:06:18.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/tailsdoll553/status/852900106638512129", - "url_original": null - }, - { - "url": "https://t.co/h2WBzt6Ruk", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": " - ", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14197395, - "tags": [ ], - "date_received": "2017-04-14T19:06:16.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/tailsdoll553/status/852901778479751170", - "url_original": null - }, - { - "url": "https://t.co/ESFZc9ktJr", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": " - ", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14197205, - "tags": [ ], - "date_received": "2017-04-14T19:00:22.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/pericosafe/status/852268915505991680", - "url_original": null - }, - { - "url": "https://twitter.com/pericosafe/status/848255148434575360", - "url_original": null - }, - { - "url": "https://twitter.com/pericosafe/status/837417093935087616", - "url_original": null - }, - { - "url": "https://twitter.com/mdesantiago1/status/848254510032146433", - "url_original": null - }, - { - "url": "https://twitter.com/judahdavies/status/848928639920087046", - "url_original": null - }, - { - "url": "https://twitter.com/javimerino_93/status/848254104858234885", - "url_original": null - }, - { - "url": "https://twitter.com/hawkapuestas/status/848257619479453698", - "url_original": null - }, - { - "url": "https://twitter.com/elvidibu/status/848259115252162561", - "url_original": null - }, - { - "url": "https://twitter.com/breakingiines/status/840985732676120576", - "url_original": null - }, - { - "url": "https://t.co/z1MFzoKgTj", - "url_original": null - }, - { - "url": "https://t.co/uxIMPdjMRX", - "url_original": null - }, - { - "url": "https://t.co/OroBwRpmYO", - "url_original": null - }, - { - "url": "https://t.co/kGXUx8lQ2h", - "url_original": null - }, - { - "url": "https://t.co/hMinOVBuP6", - "url_original": null - }, - { - "url": "https://t.co/bBetRbcFgx", - "url_original": null - }, - { - "url": "https://t.co/9Q8uN6b5j4", - "url_original": null - }, - { - "url": "https://t.co/38oIxHupPb", - "url_original": null - }, - { - "url": "https://t.co/0C3vPq3CoZ", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": "Liga Nacional de Fútbol Profesional", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14197049, - "tags": [ ], - "date_received": "2017-04-14T18:57:08.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/tailsdoll553/status/852906700294115328", - "url_original": null - }, - { - "url": "https://t.co/hR7M3aGH19", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": " - ", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14197110, - "tags": [ ], - "date_received": "2017-04-14T18:54:00.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/v1buees7vktqybm/status/852956171891871746", - "url_original": null - }, - { - "url": "https://twitter.com/trf_00/status/852953572149006338", - "url_original": null - }, - { - "url": "https://twitter.com/tmukqvxardfu5yq/status/852956187003957248", - "url_original": null - }, - { - "url": "https://twitter.com/moollaooeeew/status/852956133652389888", - "url_original": null - }, - { - "url": "https://twitter.com/gizhhfqn3ahk4hd/status/852956370542440448", - "url_original": null - }, - { - "url": "https://twitter.com/fofo_5033/status/852954196982849538", - "url_original": null - }, - { - "url": "https://twitter.com/elhilallive/status/852956165533249536", - "url_original": null - }, - { - "url": "https://twitter.com/elhilallive/status/852950965565218816", - "url_original": null - }, - { - "url": "https://twitter.com/elhilallive/status/852948476036087808", - "url_original": null - }, - { - "url": "https://twitter.com/elhilallive/status/852946259396702208", - "url_original": null - }, - { - "url": "https://twitter.com/elhilallive/status/852943183998791680", - "url_original": null - }, - { - "url": "https://twitter.com/elhilallive/status/852940791433625600", - "url_original": null - }, - { - "url": "https://twitter.com/elhilallive/status/852936757574336512", - "url_original": null - }, - { - "url": "https://twitter.com/beinfull/status/852951241873395712", - "url_original": null - }, - { - "url": "https://twitter.com/bein720/status/852951277025845249", - "url_original": null - }, - { - "url": "https://twitter.com/bein720/status/852947802187608066", - "url_original": null - }, - { - "url": "https://t.co/zcRmmHDJYG", - "url_original": null - }, - { - "url": "https://t.co/XzazKotvHr", - "url_original": null - }, - { - "url": "https://t.co/SbdLaLmHEH", - "url_original": null - }, - { - "url": "https://t.co/QuW6eU52dY", - "url_original": null - }, - { - "url": "https://t.co/QUaV9duRQp", - "url_original": null - }, - { - "url": "https://t.co/MfzjMpiPXf", - "url_original": null - }, - { - "url": "https://t.co/KgY4zvHyxO", - "url_original": null - }, - { - "url": "https://t.co/IyCVY2isvA", - "url_original": null - }, - { - "url": "https://t.co/IQ2dqPHdjY", - "url_original": null - }, - { - "url": "https://t.co/9Ucewfrc36", - "url_original": null - }, - { - "url": "https://t.co/5MlunCQofA", - "url_original": null - }, - { - "url": "https://t.co/3MjUasu54K", - "url_original": null - }, - { - "url": "https://t.co/1Gc1T4xk7b", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": "Dawri Plus", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14197412, - "tags": [ ], - "date_received": "2017-04-14T18:48:36.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/uzomediaonline/status/847706330383040512", - "url_original": null - }, - { - "url": "https://twitter.com/uzomedianews/status/847706353569157120", - "url_original": null - }, - { - "url": "https://twitter.com/temydee/status/847796427807969280", - "url_original": null - }, - { - "url": "https://twitter.com/temydee/status/847792373866409984", - "url_original": null - }, - { - "url": "https://twitter.com/muzomamichael/status/847706343255425029", - "url_original": null - }, - { - "url": "https://twitter.com/gorodova1985/status/848039765043576832", - "url_original": null - }, - { - "url": "https://twitter.com/choockor/status/850564012664381440", - "url_original": null - }, - { - "url": "https://t.co/ZPyw3LiDsi", - "url_original": null - }, - { - "url": "https://t.co/zlKb2mGeUD", - "url_original": null - }, - { - "url": "https://t.co/Yju0rHZZii", - "url_original": null - }, - { - "url": "https://t.co/UNDT59Tvu0", - "url_original": null - }, - { - "url": "https://t.co/syN6F6DFNJ", - "url_original": null - }, - { - "url": "https://t.co/K6VgI1cNFi", - "url_original": null - }, - { - "url": "https://t.co/iUPvIQpuPv", - "url_original": null - }, - { - "url": "https://t.co/IHWkQqa4sD", - "url_original": null - }, - { - "url": "https://t.co/iDa1PRhVAA", - "url_original": null - }, - { - "url": "https://t.co/D0MNsN1dUa", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": " - ", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14197051, - "tags": [ ], - "date_received": "2017-04-14T18:45:58.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/amateursinhose/status/845775533606625280", - "url_original": null - }, - { - "url": "https://t.co/fW0Y1R7jF8", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": "Aucune", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14196987, - "tags": [ ], - "date_received": "2017-04-14T18:36:02.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/yahala_news/status/852951820259528704", - "url_original": null - }, - { - "url": "https://twitter.com/world_saudi2013/status/852951780883353600", - "url_original": null - }, - { - "url": "https://twitter.com/maoaal1223/status/852952619475771392", - "url_original": null - }, - { - "url": "https://twitter.com/lna5hye/status/852951405707108352", - "url_original": null - }, - { - "url": "https://twitter.com/lna5hye/status/852951233442828288", - "url_original": null - }, - { - "url": "https://twitter.com/jojo5265/status/852951227252002816", - "url_original": null - }, - { - "url": "https://twitter.com/iunfm1/status/852951060297785344", - "url_original": null - }, - { - "url": "https://twitter.com/alna654564thy/status/852952015986733060", - "url_original": null - }, - { - "url": "https://twitter.com/aln547848454/status/852952587355795456", - "url_original": null - }, - { - "url": "https://twitter.com/a65489451thy/status/852952863928180736", - "url_original": null - }, - { - "url": "https://t.co/ZauN6bCvui", - "url_original": null - }, - { - "url": "https://t.co/RCFp8TMpAg", - "url_original": null - }, - { - "url": "https://t.co/Oqjr7678Mt", - "url_original": null - }, - { - "url": "https://t.co/ODs24Pr0WP", - "url_original": null - }, - { - "url": "https://t.co/NRaq8d2IB9", - "url_original": null - }, - { - "url": "https://t.co/IE3A7Z5WGb", - "url_original": null - }, - { - "url": "https://t.co/HYSn5Ujdfh", - "url_original": null - }, - { - "url": "https://t.co/GHfQZCcZHH", - "url_original": null - }, - { - "url": "https://t.co/ECm79GbpTl", - "url_original": null - }, - { - "url": "https://t.co/B4TQsEzoMN", - "url_original": null - }, - { - "url": "https://t.co/AxQNSdX7FY", - "url_original": null - }, - { - "url": "https://t.co/5ke4fB1YsS", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": "Dawri Plus", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14196922, - "tags": [ ], - "date_received": "2017-04-14T18:27:28.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/skattt4/status/852949137507135493", - "url_original": null - }, - { - "url": "https://twitter.com/skattt4/status/852949079948742658", - "url_original": null - }, - { - "url": "https://twitter.com/skattt4/status/852948606730600449", - "url_original": null - }, - { - "url": "https://twitter.com/skattt4/status/852948293458034690", - "url_original": null - }, - { - "url": "https://twitter.com/skattt4/status/852948072946700288", - "url_original": null - }, - { - "url": "https://twitter.com/skattt4/status/852940722550566912", - "url_original": null - }, - { - "url": "https://twitter.com/skattt4/status/852937818489966592", - "url_original": null - }, - { - "url": "https://twitter.com/skattt4/status/852585427135598592", - "url_original": null - }, - { - "url": "https://twitter.com/mhamdalshrary/status/852947042108309505", - "url_original": null - }, - { - "url": "https://twitter.com/mhamdalshrary/status/852941534320353283", - "url_original": null - }, - { - "url": "https://twitter.com/mhamdalshrary/status/852937126249463808", - "url_original": null - }, - { - "url": "https://twitter.com/koraliv18715232/status/852948856711114752", - "url_original": null - }, - { - "url": "https://twitter.com/khaledalmoosa/status/852945650052366337", - "url_original": null - }, - { - "url": "https://twitter.com/footballf121/status/852943385019260928", - "url_original": null - }, - { - "url": "https://twitter.com/a654894y/status/852950461791469569", - "url_original": null - }, - { - "url": "https://t.co/zJgI6HoS4G", - "url_original": null - }, - { - "url": "https://t.co/Y82IFUMHUl", - "url_original": null - }, - { - "url": "https://t.co/XLK4j4e9qC", - "url_original": null - }, - { - "url": "https://t.co/wN4MZWqmSn", - "url_original": null - }, - { - "url": "https://t.co/TscOe4vpnT", - "url_original": null - }, - { - "url": "https://t.co/SH8MLz7yD7", - "url_original": null - }, - { - "url": "https://t.co/sFme7Co95h", - "url_original": null - }, - { - "url": "https://t.co/RxPEKtk9By", - "url_original": null - }, - { - "url": "https://t.co/r4SLkcTppi", - "url_original": null - }, - { - "url": "https://t.co/qlZOgyDaPc", - "url_original": null - }, - { - "url": "https://t.co/Qh4JAoOiSr", - "url_original": null - }, - { - "url": "https://t.co/MwYwjXe1qd", - "url_original": null - }, - { - "url": "https://t.co/iq2ptM8vuf", - "url_original": null - }, - { - "url": "https://t.co/ikVDDYRP8u", - "url_original": null - }, - { - "url": "https://t.co/AX7D2XV08B", - "url_original": null - }, - { - "url": "https://t.co/8gmF1G2tn2", - "url_original": null - }, - { - "url": "https://t.co/1vIlhj68jX", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": "Dawri Plus", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14196891, - "tags": [ ], - "date_received": "2017-04-14T18:02:44.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/yalla_test/status/852941649504333825", - "url_original": null - }, - { - "url": "https://twitter.com/yalalalooooo/status/852939085551460352", - "url_original": null - }, - { - "url": "https://twitter.com/uof5to5zvhrxjtw/status/852942229589164032", - "url_original": null - }, - { - "url": "https://twitter.com/ubspa9wgqy5kqdd/status/852942464554020864", - "url_original": null - }, - { - "url": "https://twitter.com/tabiii3live433/status/852932528117862400", - "url_original": null - }, - { - "url": "https://twitter.com/sooos243/status/852942353321140224", - "url_original": null - }, - { - "url": "https://twitter.com/snd_ds/status/852941906044751872", - "url_original": null - }, - { - "url": "https://twitter.com/pa8bj5xkqoyvbnr/status/852943338454102016", - "url_original": null - }, - { - "url": "https://twitter.com/live720h/status/852942396270751746", - "url_original": null - }, - { - "url": "https://twitter.com/knjzw0iurxa3qky/status/852942439933411330", - "url_original": null - }, - { - "url": "https://twitter.com/kinghafimawesi/status/852940748551065600", - "url_original": null - }, - { - "url": "https://twitter.com/gmgq58j4hcb5hvb/status/852943322721259520", - "url_original": null - }, - { - "url": "https://twitter.com/fvpdn5nuufurout/status/852941899006709760", - "url_original": null - }, - { - "url": "https://twitter.com/footballf114/status/852942462213664768", - "url_original": null - }, - { - "url": "https://twitter.com/alshamsiksa/status/852941906422235136", - "url_original": null - }, - { - "url": "https://twitter.com/alna889489hy/status/852942174782189568", - "url_original": null - }, - { - "url": "https://twitter.com/actionha_live/status/852942294315659264", - "url_original": null - }, - { - "url": "https://twitter.com/887fyf054/status/852944493410230272", - "url_original": null - }, - { - "url": "https://twitter.com/5845hy/status/852943625201876994", - "url_original": null - }, - { - "url": "https://twitter.com/5454564hy/status/852944507209486337", - "url_original": null - }, - { - "url": "https://t.co/ZU1eisgVR1", - "url_original": null - }, - { - "url": "https://t.co/YW7EyBwTjk", - "url_original": null - }, - { - "url": "https://t.co/yoW1ru99IY", - "url_original": null - }, - { - "url": "https://t.co/Yb56MtCYPi", - "url_original": null - }, - { - "url": "https://t.co/XuuCpxZIxU", - "url_original": null - }, - { - "url": "https://t.co/x6J8ZWL0Gh", - "url_original": null - }, - { - "url": "https://t.co/VVKoJUpuds", - "url_original": null - }, - { - "url": "https://t.co/vd6IbNvLgC", - "url_original": null - }, - { - "url": "https://t.co/uMEXfRypt0", - "url_original": null - }, - { - "url": "https://t.co/tDbttrXJd7", - "url_original": null - }, - { - "url": "https://t.co/sqNW8ycU6t", - "url_original": null - }, - { - "url": "https://t.co/S0IqlxmAYR", - "url_original": null - }, - { - "url": "https://t.co/LZXIpoEPLa", - "url_original": null - }, - { - "url": "https://t.co/Kk3YMxIfAE", - "url_original": null - }, - { - "url": "https://t.co/JKPcTviS7w", - "url_original": null - }, - { - "url": "https://t.co/JB4y6CbgNl", - "url_original": null - }, - { - "url": "https://t.co/iE95Y9KGOL", - "url_original": null - }, - { - "url": "https://t.co/i5dkBildiD", - "url_original": null - }, - { - "url": "https://t.co/gMo3I4jXyM", - "url_original": null - }, - { - "url": "https://t.co/foeThUW6Bi", - "url_original": null - }, - { - "url": "https://t.co/FLlNdI768J", - "url_original": null - }, - { - "url": "https://t.co/F1mlDHnDRU", - "url_original": null - }, - { - "url": "https://t.co/DVz8dsznks", - "url_original": null - }, - { - "url": "https://t.co/dveSW5vxOv", - "url_original": null - }, - { - "url": "https://t.co/DqFkc6AJa5", - "url_original": null - }, - { - "url": "https://t.co/dMlZB5VWPr", - "url_original": null - }, - { - "url": "https://t.co/bWUDFwwD8l", - "url_original": null - }, - { - "url": "https://t.co/9Knl5Yiw7s", - "url_original": null - }, - { - "url": "https://t.co/4wV7wIvcbw", - "url_original": null - }, - { - "url": "https://t.co/1ZwquJMOvv", - "url_original": null - }, - { - "url": "https://t.co/XuTLIZ42s9", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": "Dawri Pkus", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14196860, - "tags": [ ], - "date_received": "2017-04-14T18:00:01.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/thatsalafi/status/852941963649310720", - "url_original": null - }, - { - "url": "https://twitter.com/thatsalafi/status/852940200636542976", - "url_original": null - }, - { - "url": "https://twitter.com/kora2day/status/852943791816355842", - "url_original": null - }, - { - "url": "https://twitter.com/kora2day/status/852942322614640640", - "url_original": null - }, - { - "url": "https://twitter.com/itihad_vs/status/852937157866082307", - "url_original": null - }, - { - "url": "https://twitter.com/itihad_vs/status/852928625162809344", - "url_original": null - }, - { - "url": "https://twitter.com/aioood_303_rr/status/852943165124476932", - "url_original": null - }, - { - "url": "https://t.co/Zn21MjOjY2", - "url_original": null - }, - { - "url": "https://t.co/ylXiESplf2", - "url_original": null - }, - { - "url": "https://t.co/pBpmlQNPiI", - "url_original": null - }, - { - "url": "https://t.co/N0kqyuZw0y", - "url_original": null - }, - { - "url": "https://t.co/lSfiDUpU19", - "url_original": null - }, - { - "url": "https://t.co/ksxneyBUp6", - "url_original": null - }, - { - "url": "https://t.co/iu8QutOPfv", - "url_original": null - }, - { - "url": "https://t.co/FJYPX90dHA", - "url_original": null - }, - { - "url": "https://t.co/aBNNLnA2aQ", - "url_original": null - }, - { - "url": "https://t.co/7KeiIAMVV8", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": "Dawri Plus", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14196856, - "tags": [ ], - "date_received": "2017-04-14T17:53:55.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "http://t.co/ZL7xQB7byq", - "url_original": null - }, - { - "url": "http://t.co/ovknwnrtEq", - "url_original": null - }, - { - "url": "https://twitter.com/sollicitatielab/status/570186642549579776", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": "Arvy.org", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14196817, - "tags": [ ], - "date_received": "2017-04-14T17:46:01.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/pa8bj5xkqoyvbnr/status/852939504113549312", - "url_original": null - }, - { - "url": "https://twitter.com/newsrany/status/852939484710809603", - "url_original": null - }, - { - "url": "https://twitter.com/m_abu_husam/status/852938298431504384", - "url_original": null - }, - { - "url": "https://twitter.com/live7sport77/status/852938263618867200", - "url_original": null - }, - { - "url": "https://twitter.com/dawrisaudi4k/status/852935082914570242", - "url_original": null - }, - { - "url": "https://twitter.com/dawrisaudi4k/status/852921107648827392", - "url_original": null - }, - { - "url": "https://twitter.com/dawrisaudi4k/status/852578138177646593", - "url_original": null - }, - { - "url": "https://twitter.com/alhadathalyoum1/status/852938263996321792", - "url_original": null - }, - { - "url": "https://twitter.com/ad81kbaj7bji6az/status/852938755036110848", - "url_original": null - }, - { - "url": "https://twitter.com/aasgfjfdfsda/status/852937642945769473", - "url_original": null - }, - { - "url": "https://twitter.com/aaas123123/status/852938268144435200", - "url_original": null - }, - { - "url": "https://t.co/z70QwRt7dD", - "url_original": null - }, - { - "url": "https://t.co/XuTLIZ42s9", - "url_original": null - }, - { - "url": "https://t.co/x6xrB7jR5O", - "url_original": null - }, - { - "url": "https://t.co/PSLiYz9rVl", - "url_original": null - }, - { - "url": "https://t.co/PdxAMOSZlm", - "url_original": null - }, - { - "url": "https://t.co/nTfuy3fLBu", - "url_original": null - }, - { - "url": "https://t.co/nqGu6WNIk3", - "url_original": null - }, - { - "url": "https://t.co/mhsK80pNAM", - "url_original": null - }, - { - "url": "https://t.co/KmRh5D9n1F", - "url_original": null - }, - { - "url": "https://t.co/HoTmgwqsDN", - "url_original": null - }, - { - "url": "https://t.co/GQnkktwgpt", - "url_original": null - }, - { - "url": "https://t.co/dAiIkq13Ep", - "url_original": null - }, - { - "url": "https://t.co/bVURfDOpcl", - "url_original": null - }, - { - "url": "https://t.co/bCPW4yz814", - "url_original": null - }, - { - "url": "https://t.co/aKnu2KqRjk", - "url_original": null - }, - { - "url": "https://t.co/AiUL2Gi2WJ", - "url_original": null - }, - { - "url": "https://t.co/97xuD2Noxd", - "url_original": null - }, - { - "url": "https://t.co/3bXHk9nqIN", - "url_original": null - }, - { - "url": "https://t.co/2KZmEnNaB5", - "url_original": null - }, - { - "url": "https://t.co/BuQzowE0Y4", - "url_original": null - }, - { - "url": "https://t.co/b3CTn60ZuC", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": "Dawri Plus", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14196812, - "tags": [ ], - "date_received": "2017-04-14T17:30:13.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/sukkbiggdikk", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": "Totally Gay", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14196848, - "tags": [ ], - "date_received": "2017-04-14T17:17:56.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/newnevvs/status/852914774983704576", - "url_original": null - }, - { - "url": "https://twitter.com/kora6596/status/852925546451357697", - "url_original": null - }, - { - "url": "https://twitter.com/kora6596/status/852924112972505089", - "url_original": null - }, - { - "url": "https://twitter.com/kora6596/status/852921565222195200", - "url_original": null - }, - { - "url": "https://twitter.com/kora6596/status/852920380373303296", - "url_original": null - }, - { - "url": "https://twitter.com/kora6596/status/852919060983676934", - "url_original": null - }, - { - "url": "https://twitter.com/aleymnews/status/852915194103726084", - "url_original": null - }, - { - "url": "https://twitter.com/aleymnews/status/852914044944097280", - "url_original": null - }, - { - "url": "https://twitter.com/al3sol1/status/852931606209855491", - "url_original": null - }, - { - "url": "https://twitter.com/al3sol1/status/852921570884562946", - "url_original": null - }, - { - "url": "https://twitter.com/al3sol1/status/852920387025371138", - "url_original": null - }, - { - "url": "https://twitter.com/al3sol1/status/852919066692128768", - "url_original": null - }, - { - "url": "https://twitter.com/5barko/status/852927952312573953", - "url_original": null - }, - { - "url": "https://t.co/r7rGp9UlYK", - "url_original": null - }, - { - "url": "https://t.co/R6twMZ89QQ", - "url_original": null - }, - { - "url": "https://t.co/qooAIjyPAx", - "url_original": null - }, - { - "url": "https://t.co/or5ep4PwJ1", - "url_original": null - }, - { - "url": "https://t.co/kWdAMAQIW4", - "url_original": null - }, - { - "url": "https://t.co/g7RZEfGevL", - "url_original": null - }, - { - "url": "https://t.co/eBtpjpqZET", - "url_original": null - }, - { - "url": "https://t.co/dGTPeyghgV", - "url_original": null - }, - { - "url": "https://t.co/BVnHIvhN2w", - "url_original": null - }, - { - "url": "https://t.co/6VQBjizh79", - "url_original": null - }, - { - "url": "https://t.co/6Jqt6lZ339", - "url_original": null - }, - { - "url": "https://t.co/5J7iTBmOaN", - "url_original": null - }, - { - "url": "https://t.co/4wcIdHhl0o", - "url_original": null - }, - { - "url": "https://t.co/1oRrtAkJHi", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": "Dawri Plus", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14196815, - "tags": [ ], - "date_received": "2017-04-14T17:14:07.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/dosomething/status/852897156033892353", - "url_original": null - }, - { - "url": "https://t.co/tPO5o270Nb", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": "Gannett", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14196813, - "tags": [ ], - "date_received": "2017-04-14T17:05:02.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/yougaku_boy0628/status/835871182746353666", - "url_original": null - }, - { - "url": "https://twitter.com/yogaku_pvdouga/status/852747102828380160", - "url_original": null - }, - { - "url": "https://twitter.com/temmii_a/status/851949944252633088", - "url_original": null - }, - { - "url": "https://twitter.com/soulswipeapp/status/779122058793934848", - "url_original": null - }, - { - "url": "https://twitter.com/nickimverses/status/848764850331365377", - "url_original": null - }, - { - "url": "https://twitter.com/kevinhartpriv/status/852383228073836544", - "url_original": null - }, - { - "url": "https://t.co/zH5Ub1W7Kw", - "url_original": null - }, - { - "url": "https://t.co/t9oYpObQNz", - "url_original": null - }, - { - "url": "https://t.co/K4eeMKm631", - "url_original": null - }, - { - "url": "https://t.co/hDvarakRV6", - "url_original": null - }, - { - "url": "https://t.co/a3iUtA6ZR8", - "url_original": null - }, - { - "url": "https://t.co/8RPGAnGV7k", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": "Recording Industry Association of America, Inc. (RIAA)", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14196810, - "tags": [ ], - "date_received": "2017-04-14T17:03:38.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/yugyeumie/status/852230498772537347", - "url_original": null - }, - { - "url": "https://twitter.com/tcu_upbeat/status/822424747493376005", - "url_original": null - }, - { - "url": "https://twitter.com/svtsparkle/status/813539045649350657", - "url_original": null - }, - { - "url": "https://twitter.com/senentae_/status/851568609503608833", - "url_original": null - }, - { - "url": "https://twitter.com/piscok99/status/823743614765273088", - "url_original": null - }, - { - "url": "https://twitter.com/ofivetv/status/852124230183522304", - "url_original": null - }, - { - "url": "https://twitter.com/noirxfs/status/852331561299173376", - "url_original": null - }, - { - "url": "https://twitter.com/ninbrevas/status/852390699991531520", - "url_original": null - }, - { - "url": "https://twitter.com/m_2fairooz96/status/852064503198076928", - "url_original": null - }, - { - "url": "https://twitter.com/k13kay/status/852045024187400192", - "url_original": null - }, - { - "url": "https://twitter.com/hervolume1/status/852464982100918272", - "url_original": null - }, - { - "url": "https://twitter.com/enquetesdojb_/status/852743232404336640", - "url_original": null - }, - { - "url": "https://twitter.com/edpenn13/status/852722872732631040", - "url_original": null - }, - { - "url": "https://twitter.com/dylanruss32/status/852754919152959488", - "url_original": null - }, - { - "url": "https://twitter.com/corespeedelite/status/852224861594427392", - "url_original": null - }, - { - "url": "https://twitter.com/chillbxy/status/851448362125709312", - "url_original": null - }, - { - "url": "https://twitter.com/bangdangsnd/status/852316741745090560", - "url_original": null - }, - { - "url": "https://twitter.com/andysixx990/status/851840876406034434", - "url_original": null - }, - { - "url": "https://twitter.com/121training/status/852077215424667650", - "url_original": null - }, - { - "url": "https://twitter.com/11091584/status/846317342468390912", - "url_original": null - }, - { - "url": "https://t.co/ZfQnzHmclx", - "url_original": null - }, - { - "url": "https://t.co/VbSUJMP1Z4", - "url_original": null - }, - { - "url": "https://t.co/SrxfC7QVbE", - "url_original": null - }, - { - "url": "https://t.co/S5Sgh1s1GO", - "url_original": null - }, - { - "url": "https://t.co/QiaFSQlTe4", - "url_original": null - }, - { - "url": "https://t.co/PE8gtOUZoh", - "url_original": null - }, - { - "url": "https://t.co/nipqDyhhRJ", - "url_original": null - }, - { - "url": "https://t.co/L6Sl2T132m", - "url_original": null - }, - { - "url": "https://t.co/J6aw4l3odr", - "url_original": null - }, - { - "url": "https://t.co/i3xlGNxBGn", - "url_original": null - }, - { - "url": "https://t.co/Gf3IZWyosL", - "url_original": null - }, - { - "url": "https://t.co/GAVAWoUc5o", - "url_original": null - }, - { - "url": "https://t.co/FUpbfDypzB", - "url_original": null - }, - { - "url": "https://t.co/cRtKrokWLy", - "url_original": null - }, - { - "url": "https://t.co/AEIzKbjW9l", - "url_original": null - }, - { - "url": "https://t.co/6OC9YPFEIz", - "url_original": null - }, - { - "url": "https://t.co/4XeOCN1U8g", - "url_original": null - }, - { - "url": "https://t.co/3fXIx6oZjq", - "url_original": null - }, - { - "url": "https://t.co/3ekcFuSAOk", - "url_original": null - }, - { - "url": "https://t.co/1kkQ6nYkgz", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": "Recording Industry Association of America, Inc. (RIAA)", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14196804, - "tags": [ ], - "date_received": "2017-04-14T17:01:41.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/zkcqsfzdjwhiqi4/status/844537197743128582", - "url_original": null - }, - { - "url": "https://twitter.com/yeah48966782/status/844532544225751041", - "url_original": null - }, - { - "url": "https://twitter.com/wanturtrophy/status/772770662951813120", - "url_original": null - }, - { - "url": "https://twitter.com/ucanpenguenns/status/852465884778160128", - "url_original": null - }, - { - "url": "https://twitter.com/scskyhawksfb/status/851888343436713985", - "url_original": null - }, - { - "url": "https://twitter.com/ponponmmd/status/847094188017500162", - "url_original": null - }, - { - "url": "https://twitter.com/piscok99/status/822377718725521409", - "url_original": null - }, - { - "url": "https://twitter.com/pal__mer/status/843354687172620288", - "url_original": null - }, - { - "url": "https://twitter.com/ovophantuums/status/851513415721943041", - "url_original": null - }, - { - "url": "https://twitter.com/ourclassix/status/681469316559155200", - "url_original": null - }, - { - "url": "https://twitter.com/mwnmashup/status/852339888280051712", - "url_original": null - }, - { - "url": "https://twitter.com/maxinessy/status/852712374737936384", - "url_original": null - }, - { - "url": "https://twitter.com/maryseffens/status/852388589404958720", - "url_original": null - }, - { - "url": "https://twitter.com/lisaswift50/status/826817278922600448", - "url_original": null - }, - { - "url": "https://twitter.com/kawashi1116/status/829603877603282944", - "url_original": null - }, - { - "url": "https://twitter.com/jump_30_byo/status/695223534751080454", - "url_original": null - }, - { - "url": "https://twitter.com/bhaavgandhi/status/811875926950768640", - "url_original": null - }, - { - "url": "https://twitter.com/asaohanibanha/status/851425449150365696", - "url_original": null - }, - { - "url": "https://twitter.com/abovemillions_/status/851615287799566336", - "url_original": null - }, - { - "url": "https://twitter.com/5harmonya/status/851943341273092101", - "url_original": null - }, - { - "url": "https://t.co/WuufgpspK1", - "url_original": null - }, - { - "url": "https://t.co/wGQIuQW0L6", - "url_original": null - }, - { - "url": "https://t.co/W3AuWDjgkN", - "url_original": null - }, - { - "url": "https://t.co/UQ0EUJaN8C", - "url_original": null - }, - { - "url": "https://t.co/UOEeY9uceq", - "url_original": null - }, - { - "url": "https://t.co/ty2frJgRih", - "url_original": null - }, - { - "url": "https://t.co/rTJblG9Y17", - "url_original": null - }, - { - "url": "https://t.co/oBxYjS4x2Z", - "url_original": null - }, - { - "url": "https://t.co/NRB2WRbYny", - "url_original": null - }, - { - "url": "https://t.co/lIhTmEvvxN", - "url_original": null - }, - { - "url": "https://t.co/Jw2hc4fsAd", - "url_original": null - }, - { - "url": "https://t.co/gqhb6oVcVu", - "url_original": null - }, - { - "url": "https://t.co/Fwhj8kfhuz", - "url_original": null - }, - { - "url": "https://t.co/EZD3ZBr0ui", - "url_original": null - }, - { - "url": "https://t.co/cGk3sYrr8K", - "url_original": null - }, - { - "url": "https://t.co/8YxdD0JrUG", - "url_original": null - }, - { - "url": "https://t.co/8DaS5eUvqj", - "url_original": null - }, - { - "url": "https://t.co/7T1EmJ7kqj", - "url_original": null - }, - { - "url": "https://t.co/7OqqjO9hMu", - "url_original": null - }, - { - "url": "https://t.co/7B87e186EP", - "url_original": null - }, - { - "url": "https://t.co/2jMps8fMJm", - "url_original": null - }, - { - "url": "https://t.co/0LY47nJIDz", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": "Recording Industry Association of America, Inc. (RIAA)", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14196801, - "tags": [ ], - "date_received": "2017-04-14T16:59:51.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/zachsio/status/851943188369596416", - "url_original": null - }, - { - "url": "https://twitter.com/yubillerenah/status/850692826627178496", - "url_original": null - }, - { - "url": "https://twitter.com/tymirshareef/status/852224187498364928", - "url_original": null - }, - { - "url": "https://twitter.com/to_geppy/status/827466743861886976", - "url_original": null - }, - { - "url": "https://twitter.com/takenote916/status/852204621477036032", - "url_original": null - }, - { - "url": "https://twitter.com/rileyhamilton_/status/852318890528985088", - "url_original": null - }, - { - "url": "https://twitter.com/raphighiights/status/851433331354992641", - "url_original": null - }, - { - "url": "https://twitter.com/omgthatsb/status/852011777369849857", - "url_original": null - }, - { - "url": "https://twitter.com/nightride/status/852743384338911235", - "url_original": null - }, - { - "url": "https://twitter.com/__nancyball/status/852470277049118720", - "url_original": null - }, - { - "url": "https://twitter.com/megwinst/status/852752721870323713", - "url_original": null - }, - { - "url": "https://twitter.com/mary94am/status/848813997151449088", - "url_original": null - }, - { - "url": "https://twitter.com/lotusmusica/status/851857420083245057", - "url_original": null - }, - { - "url": "https://twitter.com/littlelarryenij/status/792762116734328832", - "url_original": null - }, - { - "url": "https://twitter.com/iaurmilarchive/status/852071816332017664", - "url_original": null - }, - { - "url": "https://twitter.com/edmojii/status/852231428104491009", - "url_original": null - }, - { - "url": "https://twitter.com/chychyhall/status/852187627591741441", - "url_original": null - }, - { - "url": "https://twitter.com/beautywoc/status/851983044454100994", - "url_original": null - }, - { - "url": "https://twitter.com/addae3madison/status/852001790480359424", - "url_original": null - }, - { - "url": "https://twitter.com/99_07_21/status/825537733330243584", - "url_original": null - }, - { - "url": "https://t.co/s5HPcjuf7M", - "url_original": null - }, - { - "url": "https://t.co/rJTvT1iSPm", - "url_original": null - }, - { - "url": "https://t.co/QZgwi8NvV7", - "url_original": null - }, - { - "url": "https://t.co/qiO3gFMxHa", - "url_original": null - }, - { - "url": "https://t.co/PCNb190rDb", - "url_original": null - }, - { - "url": "https://t.co/P04fHRLm9v", - "url_original": null - }, - { - "url": "https://t.co/n0t4GjHver", - "url_original": null - }, - { - "url": "https://t.co/M9gXObB70N", - "url_original": null - }, - { - "url": "https://t.co/IF08RfEiUc", - "url_original": null - }, - { - "url": "https://t.co/hoBi8cQDgO", - "url_original": null - }, - { - "url": "https://t.co/FjcETjgLYC", - "url_original": null - }, - { - "url": "https://t.co/e2tjey5375", - "url_original": null - }, - { - "url": "https://t.co/DIWwyeLjpl", - "url_original": null - }, - { - "url": "https://t.co/CgraXZVF7N", - "url_original": null - }, - { - "url": "https://t.co/BEYgrYW4It", - "url_original": null - }, - { - "url": "https://t.co/9ALUMTmT19", - "url_original": null - }, - { - "url": "https://t.co/8zhRF2YYsS", - "url_original": null - }, - { - "url": "https://t.co/8mQS40Gn3f", - "url_original": null - }, - { - "url": "https://t.co/8FpWqnCZyM", - "url_original": null - }, - { - "url": "https://t.co/1qc90TNR6S.", - "url_original": null - }, - { - "url": "https://t.co/0uvDt2WGjG", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": "Recording Industry Association of America, Inc. (RIAA)", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14196794, - "tags": [ ], - "date_received": "2017-04-14T16:31:33.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/youcrazy24/status/852776704045076480", - "url_original": null - }, - { - "url": "https://twitter.com/www_musik/status/852829793716285440", - "url_original": null - }, - { - "url": "https://twitter.com/vibeslinknet/status/852890241962823680", - "url_original": null - }, - { - "url": "https://twitter.com/viabeehive/status/852851156837642240", - "url_original": null - }, - { - "url": "https://twitter.com/viabeehive_/status/852851145949282304", - "url_original": null - }, - { - "url": "https://twitter.com/u_nkosana/status/852659676135264256", - "url_original": null - }, - { - "url": "https://twitter.com/umatijolada/status/852665740394156034", - "url_original": null - }, - { - "url": "https://twitter.com/tush_media/status/852866634947506176", - "url_original": null - }, - { - "url": "https://twitter.com/tush_media/status/852866618036150274", - "url_original": null - }, - { - "url": "https://twitter.com/tush_media/status/852866604316540928", - "url_original": null - }, - { - "url": "https://twitter.com/tush_media/status/852849723622834176", - "url_original": null - }, - { - "url": "https://twitter.com/tush_media/status/852849717046239233", - "url_original": null - }, - { - "url": "https://twitter.com/tush_media/status/852849711023181825", - "url_original": null - }, - { - "url": "https://twitter.com/tush_media/status/852849703674814465", - "url_original": null - }, - { - "url": "https://twitter.com/tush_media/status/852849689489625089", - "url_original": null - }, - { - "url": "https://twitter.com/tush_media/status/852841304690008065", - "url_original": null - }, - { - "url": "https://twitter.com/jthemelaningod/status/852888273177464832", - "url_original": null - }, - { - "url": "https://twitter.com/grindbodysoul/status/852888273047388160", - "url_original": null - }, - { - "url": "https://twitter.com/beefalertnow/status/852888272632205312", - "url_original": null - }, - { - "url": "https://t.co/zWwkCQb3Sq", - "url_original": null - }, - { - "url": "https://t.co/ZQSckZOdkn", - "url_original": null - }, - { - "url": "https://t.co/WUdYo19r5t", - "url_original": null - }, - { - "url": "https://t.co/vOKD85e8M2", - "url_original": null - }, - { - "url": "https://t.co/UTnQCaEDzN", - "url_original": null - }, - { - "url": "https://t.co/tq1WPXPRzF", - "url_original": null - }, - { - "url": "https://t.co/sYdKld2nty", - "url_original": null - }, - { - "url": "https://t.co/soB5I5IReJ", - "url_original": null - }, - { - "url": "https://t.co/sMwXamHBWy", - "url_original": null - }, - { - "url": "https://t.co/reIlNgQaZU", - "url_original": null - }, - { - "url": "https://t.co/QTR0uNcm9O", - "url_original": null - }, - { - "url": "https://t.co/qATRfniysr", - "url_original": null - }, - { - "url": "https://t.co/onEdU6hcDZ", - "url_original": null - }, - { - "url": "https://t.co/nSgm0Cllyo", - "url_original": null - }, - { - "url": "https://t.co/lo00mKjlFx", - "url_original": null - }, - { - "url": "https://t.co/k961FEt8IZ", - "url_original": null - }, - { - "url": "https://t.co/IWwTOKYXau", - "url_original": null - }, - { - "url": "https://t.co/iT7puF6bxm", - "url_original": null - }, - { - "url": "https://t.co/H6bJ5Hi3gg", - "url_original": null - }, - { - "url": "https://t.co/fr6aiKRSMe", - "url_original": null - }, - { - "url": "https://t.co/fMpyuzoRbg", - "url_original": null - }, - { - "url": "https://t.co/FltRHGofho", - "url_original": null - }, - { - "url": "https://t.co/e2bFNBBgwR", - "url_original": null - }, - { - "url": "https://t.co/dHbWMbpm52", - "url_original": null - }, - { - "url": "https://t.co/D2sQqxFMrO", - "url_original": null - }, - { - "url": "https://t.co/Cs7BJ8GXNw", - "url_original": null - }, - { - "url": "https://t.co/8RQ3zgysvf", - "url_original": null - }, - { - "url": "https://t.co/8r7vJblC4u", - "url_original": null - }, - { - "url": "https://t.co/6iUpyOLdka", - "url_original": null - }, - { - "url": "https://t.co/0arp40Q9fv", - "url_original": null - }, - { - "url": "https://t.co/Yax2warCOc", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": "protect artists", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14196799, - "tags": [ ], - "date_received": "2017-04-14T16:24:10.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/tush_media/status/852841299384324096", - "url_original": null - }, - { - "url": "https://twitter.com/tush_media/status/852841294657232896", - "url_original": null - }, - { - "url": "https://twitter.com/tush_media/status/852841290521690113", - "url_original": null - }, - { - "url": "https://twitter.com/tush_media/status/852841232556408835", - "url_original": null - }, - { - "url": "https://twitter.com/tush_media/status/852841222284525569", - "url_original": null - }, - { - "url": "https://twitter.com/tush_media/status/852841210276335616", - "url_original": null - }, - { - "url": "https://twitter.com/tush_media/status/852841199316606978", - "url_original": null - }, - { - "url": "https://twitter.com/tush_media/status/852824181834108931", - "url_original": null - }, - { - "url": "https://twitter.com/tobi_sensei_/status/852734924117336068", - "url_original": null - }, - { - "url": "https://twitter.com/thesmallestboy/status/852725123157286912", - "url_original": null - }, - { - "url": "https://twitter.com/themadhetter/status/852658472826974208", - "url_original": null - }, - { - "url": "https://twitter.com/thatguynamedleo/status/852690840065527809", - "url_original": null - }, - { - "url": "https://twitter.com/suuhdudee/status/852693964847169536", - "url_original": null - }, - { - "url": "https://twitter.com/stunnah_100/status/852721223473795072", - "url_original": null - }, - { - "url": "https://twitter.com/spotgetscake/status/852716806808756224", - "url_original": null - }, - { - "url": "https://twitter.com/speedyback/status/852856214518198272", - "url_original": null - }, - { - "url": "https://twitter.com/somethingliite/status/852751803447877632", - "url_original": null - }, - { - "url": "https://twitter.com/scumbagmac/status/852562637497839616", - "url_original": null - }, - { - "url": "https://twitter.com/samucabeats/status/852682007058501632", - "url_original": null - }, - { - "url": "https://twitter.com/saifa7i/status/852654369120104448", - "url_original": null - }, - { - "url": "https://t.co/yZ6mMEAOZa", - "url_original": null - }, - { - "url": "https://t.co/y7djOoIo3C", - "url_original": null - }, - { - "url": "https://t.co/UmccIgKWct", - "url_original": null - }, - { - "url": "https://t.co/ucGlnAzjAU", - "url_original": null - }, - { - "url": "https://t.co/tYClocBxxM", - "url_original": null - }, - { - "url": "https://t.co/rNRQS4EYlK", - "url_original": null - }, - { - "url": "https://t.co/Qi0aGDe3Fm", - "url_original": null - }, - { - "url": "https://t.co/pwl8UdcUkf", - "url_original": null - }, - { - "url": "https://t.co/PsNOfZxHBm", - "url_original": null - }, - { - "url": "https://t.co/OwckUgX7SU", - "url_original": null - }, - { - "url": "https://t.co/oI8xCZhvoR", - "url_original": null - }, - { - "url": "https://t.co/milrpt2PA4", - "url_original": null - }, - { - "url": "https://t.co/LCYsftDsME", - "url_original": null - }, - { - "url": "https://t.co/l3PmNguOjo", - "url_original": null - }, - { - "url": "https://t.co/if7N8SQXwV", - "url_original": null - }, - { - "url": "https://t.co/hX2LBy1bJq", - "url_original": null - }, - { - "url": "https://t.co/gCDJvc5yta", - "url_original": null - }, - { - "url": "https://t.co/eVZ3IFJuPK", - "url_original": null - }, - { - "url": "https://t.co/EF0xr42J4H", - "url_original": null - }, - { - "url": "https://t.co/CxUOEd4zzk", - "url_original": null - }, - { - "url": "https://t.co/CiLZZaEUVf", - "url_original": null - }, - { - "url": "https://t.co/bOwifFHGB1", - "url_original": null - }, - { - "url": "https://t.co/abV8aDoalY", - "url_original": null - }, - { - "url": "https://t.co/A4fE3ThT0C", - "url_original": null - }, - { - "url": "https://t.co/9m2VStkSSM", - "url_original": null - }, - { - "url": "https://t.co/7tWIhFvZO7", - "url_original": null - }, - { - "url": "https://t.co/5GgyQnDaKk", - "url_original": null - }, - { - "url": "https://t.co/5APGEDvt60", - "url_original": null - }, - { - "url": "https://t.co/3xbmppnbvm", - "url_original": null - }, - { - "url": "https://t.co/3R6wr4DVuU", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": "protect artists", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14196790, - "tags": [ ], - "date_received": "2017-04-14T16:14:50.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/_poggioli/status/852651182979940353", - "url_original": null - }, - { - "url": "https://twitter.com/_maluzera/status/852725253084196864", - "url_original": null - }, - { - "url": "https://twitter.com/frazziemusic/status/852849362849890306", - "url_original": null - }, - { - "url": "https://twitter.com/fleolindo/status/852733628026986497", - "url_original": null - }, - { - "url": "https://twitter.com/dumbrass/status/852658997199065088", - "url_original": null - }, - { - "url": "https://twitter.com/drepisco/status/852655978692694016", - "url_original": null - }, - { - "url": "https://twitter.com/dmf180593/status/852664078145290240", - "url_original": null - }, - { - "url": "https://twitter.com/deadlyoxlade/status/852832527530082305", - "url_original": null - }, - { - "url": "https://twitter.com/dapazbolas/status/852845939018670080", - "url_original": null - }, - { - "url": "https://twitter.com/damie_baybie/status/852815555908087808", - "url_original": null - }, - { - "url": "https://twitter.com/chineduifeka/status/852862080193634304", - "url_original": null - }, - { - "url": "https://twitter.com/chillinbeats/status/852681530430369792", - "url_original": null - }, - { - "url": "https://twitter.com/bleachliquor/status/852720562787024896", - "url_original": null - }, - { - "url": "https://twitter.com/beyonce2016f/status/852794129205534721", - "url_original": null - }, - { - "url": "https://twitter.com/beefalertnow/status/852687296734388224", - "url_original": null - }, - { - "url": "https://twitter.com/barbaricmango/status/852657911885180930", - "url_original": null - }, - { - "url": "https://twitter.com/baba_promoter/status/852843237542813699", - "url_original": null - }, - { - "url": "https://twitter.com/asapbriiian/status/852841238076289024", - "url_original": null - }, - { - "url": "https://twitter.com/arminkeihani/status/852709950530887680", - "url_original": null - }, - { - "url": "https://t.co/Z4WkskKQBP", - "url_original": null - }, - { - "url": "https://t.co/Yax2warCOc", - "url_original": null - }, - { - "url": "https://t.co/Y4SY6dn1b5", - "url_original": null - }, - { - "url": "https://t.co/wF0apqsdqi", - "url_original": null - }, - { - "url": "https://t.co/VUGoDhQ8kd", - "url_original": null - }, - { - "url": "https://t.co/qxrO5w51sP", - "url_original": null - }, - { - "url": "https://t.co/MbQW1fno21", - "url_original": null - }, - { - "url": "https://t.co/kx8JpnZCU1", - "url_original": null - }, - { - "url": "https://t.co/KwI2ilBU9s", - "url_original": null - }, - { - "url": "https://t.co/jpTSorQB8u", - "url_original": null - }, - { - "url": "https://t.co/i8SCPbDELF", - "url_original": null - }, - { - "url": "https://t.co/i72smLTKnj", - "url_original": null - }, - { - "url": "https://t.co/i3mrLRTYLC", - "url_original": null - }, - { - "url": "https://t.co/HcUdtpcgmx", - "url_original": null - }, - { - "url": "https://t.co/DN9d75cNG4", - "url_original": null - }, - { - "url": "https://t.co/dAHXdiqQhr", - "url_original": null - }, - { - "url": "https://t.co/COhpEAhVg8", - "url_original": null - }, - { - "url": "https://t.co/9XiCT5jKV5", - "url_original": null - }, - { - "url": "https://t.co/7eQzpwF5gb", - "url_original": null - }, - { - "url": "https://t.co/5hIcf49104", - "url_original": null - }, - { - "url": "https://t.co/4WTjb2gJrn", - "url_original": null - }, - { - "url": "https://t.co/3KeE5tPtMq", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": "protect artists", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14196698, - "tags": [ ], - "date_received": "2017-04-14T15:54:20.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/yallashot1/status/852791301070241792", - "url_original": null - }, - { - "url": "https://twitter.com/newsrany/status/852911658825654272", - "url_original": null - }, - { - "url": "https://twitter.com/newnevvs/status/852912292505292800", - "url_original": null - }, - { - "url": "https://twitter.com/newnevvs/status/852912289044942848", - "url_original": null - }, - { - "url": "https://twitter.com/newnevvs/status/852912246414073861", - "url_original": null - }, - { - "url": "https://twitter.com/newnevvs/status/852911016052654081", - "url_original": null - }, - { - "url": "https://twitter.com/live7sport77/status/852694276509192193", - "url_original": null - }, - { - "url": "https://twitter.com/kora6596/status/852791295110111232", - "url_original": null - }, - { - "url": "https://twitter.com/dawrisaudi4k/status/852904844730011649", - "url_original": null - }, - { - "url": "https://twitter.com/ashko65/status/852791306879328257", - "url_original": null - }, - { - "url": "https://twitter.com/aleymnews/status/852911387110248450", - "url_original": null - }, - { - "url": "https://twitter.com/aleymnews/status/852911372837019648", - "url_original": null - }, - { - "url": "https://twitter.com/al3sol1/status/852791319940317184", - "url_original": null - }, - { - "url": "https://twitter.com/abuomarlive4/status/852790099863416833", - "url_original": null - }, - { - "url": "https://twitter.com/abuomarlive4/status/852775963301601281", - "url_original": null - }, - { - "url": "https://twitter.com/5barko/status/852791313900519424", - "url_original": null - }, - { - "url": "https://t.co/zKb30MO6FT", - "url_original": null - }, - { - "url": "https://t.co/ZhSWhD8Xs0", - "url_original": null - }, - { - "url": "https://t.co/y2IdqaMt6J", - "url_original": null - }, - { - "url": "https://t.co/TS96f7fmKo", - "url_original": null - }, - { - "url": "https://t.co/StdRwrJxhC", - "url_original": null - }, - { - "url": "https://t.co/SPGZ8OJAwb", - "url_original": null - }, - { - "url": "https://t.co/SeVTxKSEph", - "url_original": null - }, - { - "url": "https://t.co/rQeR4zCLu2", - "url_original": null - }, - { - "url": "https://t.co/RdScIwmUKV", - "url_original": null - }, - { - "url": "https://t.co/oMD6r1BUUo", - "url_original": null - }, - { - "url": "https://t.co/NhukYvb34Q", - "url_original": null - }, - { - "url": "https://t.co/mzhxKOotfb", - "url_original": null - }, - { - "url": "https://t.co/jV5pV1ebbF", - "url_original": null - }, - { - "url": "https://t.co/jeoeZaOqe1", - "url_original": null - }, - { - "url": "https://t.co/iyezxdG0cm", - "url_original": null - }, - { - "url": "https://t.co/IXJumcNXUv", - "url_original": null - }, - { - "url": "https://t.co/inxFL2RNoJ", - "url_original": null - }, - { - "url": "https://t.co/FysApSUkZa", - "url_original": null - }, - { - "url": "https://t.co/BuQzowE0Y4", - "url_original": null - }, - { - "url": "https://t.co/b3CTn60ZuC", - "url_original": null - }, - { - "url": "https://t.co/6lc4b7UXUZ", - "url_original": null - }, - { - "url": "https://t.co/5sQww5N357", - "url_original": null - }, - { - "url": "https://t.co/5AMa849iqZ", - "url_original": null - }, - { - "url": "https://t.co/4XQ1KCV597", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": "Dawri Plus", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14196476, - "tags": [ ], - "date_received": "2017-04-14T15:25:18.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/thorgot1960/status/851952136715993088", - "url_original": null - }, - { - "url": "https://t.co/yodaeuDNNX", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": "Government Employees Insurance Company", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14196482, - "tags": [ ], - "date_received": "2017-04-14T15:20:55.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/vstarvibes/status/852890928918532097", - "url_original": null - }, - { - "url": "https://twitter.com/vstarvibes/status/852882449138929666", - "url_original": null - }, - { - "url": "https://twitter.com/vstarvibes/status/852869503859871744", - "url_original": null - }, - { - "url": "https://twitter.com/tripleotmedia/status/852719981359976449", - "url_original": null - }, - { - "url": "https://twitter.com/official_crack/status/852871600668119041", - "url_original": null - }, - { - "url": "https://twitter.com/naijahub_media/status/852871592577306624", - "url_original": null - }, - { - "url": "https://twitter.com/exclusivejam/status/852888203388268544", - "url_original": null - }, - { - "url": "https://twitter.com/angelxdv/status/852704595835064320", - "url_original": null - }, - { - "url": "https://t.co/ThrpKGtn4P", - "url_original": null - }, - { - "url": "https://t.co/RHRwMPOk47", - "url_original": null - }, - { - "url": "https://t.co/p41PliUX0x", - "url_original": null - }, - { - "url": "https://t.co/NMs5annZhy", - "url_original": null - }, - { - "url": "https://t.co/MnEgyBvuiN", - "url_original": null - }, - { - "url": "https://t.co/LOxhBA2Opb", - "url_original": null - }, - { - "url": "https://t.co/LEqohfjjDE", - "url_original": null - }, - { - "url": "https://t.co/eojRF49cMq", - "url_original": null - }, - { - "url": "https://t.co/8Y4q7i3bSN", - "url_original": null - }, - { - "url": "https://t.co/2mPUcF8xoP", - "url_original": null - }, - { - "url": "https://t.co/1OwrjnVBYM", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": "Recording Industry Association of America, Inc. (RIAA)", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14196784, - "tags": [ ], - "date_received": "2017-04-14T15:17:23.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/yaggaradio/status/852690371918299137", - "url_original": null - }, - { - "url": "https://twitter.com/xx__bob__xx/status/852846343902986252", - "url_original": null - }, - { - "url": "https://twitter.com/oneunderthesun_/status/852772568905818113", - "url_original": null - }, - { - "url": "https://twitter.com/moonlansky/status/852803228307570689", - "url_original": null - }, - { - "url": "https://twitter.com/lubracate/status/852694893038256128", - "url_original": null - }, - { - "url": "https://twitter.com/hlphopxhotspot/status/852733323168198656", - "url_original": null - }, - { - "url": "https://twitter.com/hlphopxhotspot/status/852732969559015424", - "url_original": null - }, - { - "url": "https://twitter.com/devonharipal/status/852699656970657792", - "url_original": null - }, - { - "url": "https://twitter.com/cdubbyuhh/status/852751181566812160", - "url_original": null - }, - { - "url": "https://t.co/XRhw3pitnT", - "url_original": null - }, - { - "url": "https://t.co/vqZU8oFxPR", - "url_original": null - }, - { - "url": "https://t.co/u8mZ4B3DXP", - "url_original": null - }, - { - "url": "https://t.co/rUpCF8jl7d", - "url_original": null - }, - { - "url": "https://t.co/KS3Hx4V9p7", - "url_original": null - }, - { - "url": "https://t.co/JZjT1WvvmH", - "url_original": null - }, - { - "url": "https://t.co/JbD2tsEFZm", - "url_original": null - }, - { - "url": "https://t.co/Ie3ZBay4nL", - "url_original": null - }, - { - "url": "https://t.co/GVOSPeHV5d", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": "Recording Industry Association of America, Inc. (RIAA)", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14196792, - "tags": [ ], - "date_received": "2017-04-14T15:15:39.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/_vhugala_/status/852661698305634304", - "url_original": null - }, - { - "url": "https://twitter.com/shawny8god/status/852748945155424256", - "url_original": null - }, - { - "url": "https://twitter.com/romelldawkins/status/852819973260980224", - "url_original": null - }, - { - "url": "https://twitter.com/rodriguezthagod/status/852693023188279296", - "url_original": null - }, - { - "url": "https://twitter.com/liveempirical/status/852749935661338626", - "url_original": null - }, - { - "url": "https://twitter.com/j_page__/status/852728819865669634", - "url_original": null - }, - { - "url": "https://twitter.com/hlphopxhotspot/status/852738480086016000", - "url_original": null - }, - { - "url": "https://twitter.com/hlphopxhotspot/status/852733634113028098", - "url_original": null - }, - { - "url": "https://twitter.com/hlphopxhotspot/status/852733498435584004", - "url_original": null - }, - { - "url": "https://twitter.com/cosmerubalcaba/status/852747125108518914", - "url_original": null - }, - { - "url": "https://twitter.com/bumble__bree/status/852728397222563840", - "url_original": null - }, - { - "url": "https://twitter.com/boomthe8thnote/status/852757063306313728", - "url_original": null - }, - { - "url": "https://twitter.com/a_lunaaa/status/852723292129579008", - "url_original": null - }, - { - "url": "https://t.co/XxRXx284zy", - "url_original": null - }, - { - "url": "https://t.co/XdIVFwZHV7", - "url_original": null - }, - { - "url": "https://t.co/wofxoNXLbA", - "url_original": null - }, - { - "url": "https://t.co/TY2ET6xoNB", - "url_original": null - }, - { - "url": "https://t.co/RU4kfTjNNq", - "url_original": null - }, - { - "url": "https://t.co/qeHikCcYyl", - "url_original": null - }, - { - "url": "https://t.co/niPjmV77fN", - "url_original": null - }, - { - "url": "https://t.co/ERLO6WVkyq", - "url_original": null - }, - { - "url": "https://t.co/EnFPnf9bWG", - "url_original": null - }, - { - "url": "https://t.co/D4OU0pl2tN", - "url_original": null - }, - { - "url": "https://t.co/9BVskX5bW9", - "url_original": null - }, - { - "url": "https://t.co/6scho7MRow", - "url_original": null - }, - { - "url": "https://t.co/171zWnEO7O", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": "Recording Industry Association of America, Inc. (RIAA)", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14196788, - "tags": [ ], - "date_received": "2017-04-14T15:13:52.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/trappyhiphop/status/852724623837863936", - "url_original": null - }, - { - "url": "https://twitter.com/ryanurzi/status/852767315141591041", - "url_original": null - }, - { - "url": "https://twitter.com/rihannaxie/status/852706688138448897", - "url_original": null - }, - { - "url": "https://twitter.com/malummabura/status/852838951970902016", - "url_original": null - }, - { - "url": "https://twitter.com/malebye_dk/status/852823969908441089", - "url_original": null - }, - { - "url": "https://twitter.com/j_274/status/852710149529534464", - "url_original": null - }, - { - "url": "https://twitter.com/darn_naanaa/status/852688228846927872", - "url_original": null - }, - { - "url": "https://twitter.com/capamagmuzik/status/852778164870721537", - "url_original": null - }, - { - "url": "https://twitter.com/asvpxdiamonds/status/850041070327037953", - "url_original": null - }, - { - "url": "https://twitter.com/adridista_/status/852697345007529984", - "url_original": null - }, - { - "url": "https://t.co/SWMXJsnW2y", - "url_original": null - }, - { - "url": "https://t.co/ojlvYdEw6x", - "url_original": null - }, - { - "url": "https://t.co/obXHU0ESN7", - "url_original": null - }, - { - "url": "https://t.co/oadXiarNse", - "url_original": null - }, - { - "url": "https://t.co/lTGGUfOWvI", - "url_original": null - }, - { - "url": "https://t.co/InK7XClVwD", - "url_original": null - }, - { - "url": "https://t.co/coobivPrYZ", - "url_original": null - }, - { - "url": "https://t.co/AvTP7Z0sVe", - "url_original": null - }, - { - "url": "https://t.co/8VYK82ZERr", - "url_original": null - }, - { - "url": "https://t.co/3zapRrFFbn", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": "Recording Industry Association of America, Inc. (RIAA)", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14196465, - "tags": [ ], - "date_received": "2017-04-14T15:12:00.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/woridstarhlphop/status/852830291269828609", - "url_original": null - }, - { - "url": "https://twitter.com/souljahoward/status/852730642177576960", - "url_original": null - }, - { - "url": "https://twitter.com/shadesof666/status/852662189961957376", - "url_original": null - }, - { - "url": "https://twitter.com/riri_be/status/852714680397070336", - "url_original": null - }, - { - "url": "https://twitter.com/plrihanna/status/852815282112315392", - "url_original": null - }, - { - "url": "https://twitter.com/ok0ko_/status/852864465775333376", - "url_original": null - }, - { - "url": "https://twitter.com/justlnw/status/852733830960037890", - "url_original": null - }, - { - "url": "https://twitter.com/juic3e87/status/852693263270260737", - "url_original": null - }, - { - "url": "https://twitter.com/hlphopxhotspot/status/852738744482267137", - "url_original": null - }, - { - "url": "https://twitter.com/hlphopxhotspot/status/852738103840092161", - "url_original": null - }, - { - "url": "https://twitter.com/hlphopxhotspot/status/852733213139099649", - "url_original": null - }, - { - "url": "https://twitter.com/hlphopxhotspot/status/852732823551188995", - "url_original": null - }, - { - "url": "https://twitter.com/h8rproof82/status/852717121058603008", - "url_original": null - }, - { - "url": "https://twitter.com/goatfreestyles/status/852701500027666433", - "url_original": null - }, - { - "url": "https://twitter.com/gangsta_hustla/status/852773507876376576", - "url_original": null - }, - { - "url": "https://twitter.com/cuberopillin/status/852683040644108288", - "url_original": null - }, - { - "url": "https://twitter.com/chopshop702/status/852762814976413700", - "url_original": null - }, - { - "url": "https://twitter.com/7evensofuego/status/852736850460426240", - "url_original": null - }, - { - "url": "https://twitter.com/1srg35/status/852737531749703680", - "url_original": null - }, - { - "url": "https://t.co/WyQrctVJ4N", - "url_original": null - }, - { - "url": "https://t.co/wcHTlGkwjT", - "url_original": null - }, - { - "url": "https://t.co/tjAdwLraVC", - "url_original": null - }, - { - "url": "https://t.co/SDdbbSyJhT", - "url_original": null - }, - { - "url": "https://t.co/O4Y2RvI242", - "url_original": null - }, - { - "url": "https://t.co/jRCEVSHEMJ", - "url_original": null - }, - { - "url": "https://t.co/Ii6LHvL9ZL", - "url_original": null - }, - { - "url": "https://t.co/Gact0EB4gc", - "url_original": null - }, - { - "url": "https://t.co/ezFR2dzBqF", - "url_original": null - }, - { - "url": "https://t.co/cmlXObI3JM", - "url_original": null - }, - { - "url": "https://t.co/Chd4A0DjYG", - "url_original": null - }, - { - "url": "https://t.co/BSASUgPH3s", - "url_original": null - }, - { - "url": "https://t.co/BpfBwhKMD4", - "url_original": null - }, - { - "url": "https://t.co/bLBOWPkrlw", - "url_original": null - }, - { - "url": "https://t.co/AAZYTcNqtc", - "url_original": null - }, - { - "url": "https://t.co/9oPVjXGw4C", - "url_original": null - }, - { - "url": "https://t.co/9H2dcxT0Fo", - "url_original": null - }, - { - "url": "https://t.co/59l9SRpIzI", - "url_original": null - }, - { - "url": "https://t.co/4YpPSlyCJR", - "url_original": null - }, - { - "url": "https://t.co/03egdsstp7", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": "Recording Industry Association of America, Inc. (RIAA)", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14196469, - "tags": [ ], - "date_received": "2017-04-14T15:10:14.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/y_2506/status/852778057567842304", - "url_original": null - }, - { - "url": "https://twitter.com/vaicyon/status/852659544262033408", - "url_original": null - }, - { - "url": "https://twitter.com/uglyoliie/status/852870506843955200", - "url_original": null - }, - { - "url": "https://twitter.com/_triceeeey/status/852683863306448897", - "url_original": null - }, - { - "url": "https://twitter.com/ricanpapl/status/852668375792791553", - "url_original": null - }, - { - "url": "https://twitter.com/o_theoneandonly/status/852790586700513280", - "url_original": null - }, - { - "url": "https://twitter.com/olly_zulu/status/852745992692617219", - "url_original": null - }, - { - "url": "https://twitter.com/natayio/status/852745641339920386", - "url_original": null - }, - { - "url": "https://twitter.com/myalteregoooo/status/852663123102367744", - "url_original": null - }, - { - "url": "https://twitter.com/loyaltyioyalty/status/852657954566397953", - "url_original": null - }, - { - "url": "https://twitter.com/lilyachty/status/852725602499035136", - "url_original": null - }, - { - "url": "https://twitter.com/goatfreestyles/status/852672283642605568", - "url_original": null - }, - { - "url": "https://twitter.com/gametimeburnett/status/852831992706064384", - "url_original": null - }, - { - "url": "https://twitter.com/darthvenn/status/852735186471079936", - "url_original": null - }, - { - "url": "https://twitter.com/b_ingonpoint/status/852748245541330944", - "url_original": null - }, - { - "url": "https://twitter.com/b820064/status/852735873166655489", - "url_original": null - }, - { - "url": "https://twitter.com/atrak/status/850497162815221760", - "url_original": null - }, - { - "url": "https://twitter.com/antwanewillis/status/852682220779261952", - "url_original": null - }, - { - "url": "https://twitter.com/5sos3leak/status/852225802535960576", - "url_original": null - }, - { - "url": "https://twitter.com/5sos3leak/status/852225760186126336", - "url_original": null - }, - { - "url": "https://t.co/zUzeTYrt3p", - "url_original": null - }, - { - "url": "https://t.co/zQbG7c4LKm", - "url_original": null - }, - { - "url": "https://t.co/zAUOYUpQs2", - "url_original": null - }, - { - "url": "https://t.co/vqjhnNSSbh", - "url_original": null - }, - { - "url": "https://t.co/vHUT5jV6Y0", - "url_original": null - }, - { - "url": "https://t.co/tRdZINk9vs", - "url_original": null - }, - { - "url": "https://t.co/rulwCltQCT", - "url_original": null - }, - { - "url": "https://t.co/QTupCGUgD6", - "url_original": null - }, - { - "url": "https://t.co/qTogw1agf5", - "url_original": null - }, - { - "url": "https://t.co/PraNeS2ofZ", - "url_original": null - }, - { - "url": "https://t.co/Lj7Zhky48n", - "url_original": null - }, - { - "url": "https://t.co/ib5W91VNgF", - "url_original": null - }, - { - "url": "https://t.co/FZzz6cajgQ", - "url_original": null - }, - { - "url": "https://t.co/FV1SsrP0QD", - "url_original": null - }, - { - "url": "https://t.co/BbLYqh2a66", - "url_original": null - }, - { - "url": "https://t.co/aVWb6XMO1s", - "url_original": null - }, - { - "url": "https://t.co/3Au0DLf99P", - "url_original": null - }, - { - "url": "https://t.co/2niL5PJ8AG", - "url_original": null - }, - { - "url": "https://t.co/2BWQUgbgm1", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": "Recording Industry Association of America, Inc. (RIAA)", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14196447, - "tags": [ ], - "date_received": "2017-04-14T14:49:06.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/mish3lab/status/847057237071794176", - "url_original": null - }, - { - "url": "https://t.co/23dXZwEpDX", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": "Alsaqer", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14196446, - "tags": [ ], - "date_received": "2017-04-14T14:49:03.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/folyq8/status/852574773989314560", - "url_original": null - }, - { - "url": "https://t.co/SPDmKgsLNc", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": "alienpikachu on Youtube", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14196440, - "tags": [ ], - "date_received": "2017-04-14T14:31:26.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/myhit_official/status/852163652077670400", - "url_original": null - }, - { - "url": "https://twitter.com/marcoskunzi/status/852089204939124737", - "url_original": null - }, - { - "url": "https://twitter.com/aztorrent/status/852385646291308544", - "url_original": null - }, - { - "url": "https://t.co/zQZX2zcqrP", - "url_original": null - }, - { - "url": "https://t.co/SDFnBo2eaZ", - "url_original": null - }, - { - "url": "https://t.co/mTfmtIzw0w", - "url_original": null - }, - { - "url": "https://t.co/CQlz8O8GAj", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": "3ants D&S", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - }, - { - "score": null, - "id": 14196439, - "tags": [ ], - "date_received": "2017-04-14T14:31:05.000Z", - "action_taken": "Yes", - "works": [ - { - "copyrighted_urls": [ ], - "infringing_urls": [ - { - "url": "https://twitter.com/rytis81/status/852784923018534914", - "url_original": null - }, - { - "url": "https://twitter.com/rytis81/status/852784878428995584", - "url_original": null - }, - { - "url": "https://twitter.com/quemonadacarmen/status/852230748060897280", - "url_original": null - }, - { - "url": "https://t.co/TAG1BSW19h", - "url_original": null - }, - { - "url": "https://t.co/lw4md9ngDN", - "url_original": null - }, - { - "url": "https://t.co/3tYjJMvrFJ", - "url_original": null - } - ], - "description": null - } - ], - "language": null, - "sender_name": "3ants D&S", - "type": "DMCA", - "topics": [ - "Copyright" - ], - "date_sent": null, - "title": "DMCA Takedown Notice (Tweet)", - "jurisdictions": [ ], - "body": null, - "recipient_name": "Twitter", - "principal_name": null - } - ], - "meta": { - "total_entries": 113766, - "total_pages": 2276, - "query": { - "term": null, - "date_received_facet": "from" - }, - "previous_page": null, - "current_page": 1, - "next_page": null, - "facets": { - "tag_list_facet": { - "other": 0, - "terms": [ - { - "term": "text", - "count": 4 - }, - { - "term": "music", - "count": 1 - } - ], - "_type": "terms", - "total": 5, - "missing": 113935 - }, - "date_received_facet": { - "ranges": [ - { - "from_str": "2017-04-13T00:00:00.000-04:00", - "min": 1492057171000.0, - "total_count": 109, - "mean": 1492097873587.156, - "to_str": "2017-04-14T00:00:00.000-04:00", - "count": 109, - "max": 1492140903000.0, - "to": 1492142400000.0, - "from": 1492056000000.0, - "total": 162638668221000.0 - }, - { - "from_str": "2017-03-14T00:00:00.000-04:00", - "min": 1489468730000.0, - "total_count": 4053, - "mean": 1490809902883.543, - "to_str": "2017-04-14T00:00:00.000-04:00", - "count": 4053, - "max": 1492140903000.0, - "to": 1492142400000.0, - "from": 1489464000000.0, - "total": 6042252536387000.0 - }, - { - "from_str": "2016-10-14T00:00:00.000-04:00", - "min": 1476422799000.0, - "total_count": 20946, - "mean": 1484287807663.8499, - "to_str": "2017-04-14T00:00:00.000-04:00", - "count": 20946, - "max": 1492140903000.0, - "to": 1492142400000.0, - "from": 1476417600000.0, - "total": 3.1089892419327e+16 - }, - { - "from_str": "2016-04-14T00:00:00.000-04:00", - "min": 1460607552000.0, - "total_count": 49590, - "mean": 1475370537300.6455, - "to_str": "2017-04-14T00:00:00.000-04:00", - "count": 49590, - "max": 1492140903000.0, - "to": 1492142400000.0, - "from": 1460606400000.0, - "total": 7.3163624944739e+16 - } - ], - "_type": "range" - }, - "topic_facet": { - "other": 1, - "terms": [ - { - "term": "Copyright", - "count": 113940 - }, - { - "term": "DMCA Safe Harbor", - "count": 23682 - }, - { - "term": "DMCA Notices", - "count": 19166 - }, - { - "term": "Uncategorized", - "count": 996 - }, - { - "term": "International", - "count": 146 - }, - { - "term": "Court Orders", - "count": 5 - }, - { - "term": "Responses", - "count": 4 - }, - { - "term": "Lumen", - "count": 4 - }, - { - "term": "Copyright and Fair Use", - "count": 4 - }, - { - "term": "Defamation", - "count": 2 - } - ], - "_type": "terms", - "total": 157950, - "missing": 0 - }, - "country_code_facet": { - "other": 0, - "terms": [ - { - "term": "US", - "count": 113388 - }, - { - "term": "", - "count": 43 - }, - { - "term": "us", - "count": 6 - }, - { - "term": "gb", - "count": 1 - }, - { - "term": "Br", - "count": 1 - }, - { - "term": "94", - "count": 1 - } - ], - "_type": "terms", - "total": 113440, - "missing": 500 - }, - "sender_name_facet": { - "other": 63545, - "terms": [ - { - "term": " - ", - "count": 19542 - }, - { - "term": "Authorized agent", - "count": 4694 - }, - { - "term": "Director of Anti-Piracy", - "count": 3739 - }, - { - "term": "Web Sheriff", - "count": 2991 - }, - { - "term": "Remove Your Media LLC.", - "count": 2916 - }, - { - "term": "Liga Nacional de Fútbol Profesional", - "count": 2829 - }, - { - "term": "Recording Industry Association of America, Inc. (RIAA)", - "count": 2202 - }, - { - "term": "Legal Counsel", - "count": 1960 - }, - { - "term": "Adobe Systems Incorporated", - "count": 1582 - }, - { - "term": "Copyright Integrity International", - "count": 1216 - } - ], - "_type": "terms", - "total": 107216, - "missing": 6724 - }, - "submitter_name_facet": { - "other": 0, - "terms": [ - { - "term": "twitter", - "count": 41616 - }, - { - "term": "inc", - "count": 41616 - }, - { - "term": "private", - "count": 1 - }, - { - "term": "kittos", - "count": 1 - }, - { - "term": "david", - "count": 1 - } - ], - "_type": "terms", - "total": 83235, - "missing": 72322 - }, - "submitter_country_code_facet": { - "other": 0, - "terms": [ - { - "term": "usa", - "count": 8966 - } - ], - "_type": "terms", - "total": 8966, - "missing": 104974 - }, - "action_taken_facet": { - "other": 0, - "terms": [ - { - "term": "Yes", - "count": 113855 - }, - { - "term": "", - "count": 80 - }, - { - "term": "No", - "count": 4 - }, - { - "term": "Partial", - "count": 1 - } - ], - "_type": "terms", - "total": 113940, - "missing": 0 - }, - "recipient_name_facet": { - "other": 0, - "terms": [ - { - "term": "Twitter", - "count": 113810 - }, - { - "term": "Twitter, Inc.", - "count": 112 - }, - { - "term": "Twitter, Inc", - "count": 10 - }, - { - "term": "Twitter Inc.", - "count": 3 - }, - { - "term": "Twitter user @spin", - "count": 1 - }, - { - "term": "Twitter Trust and Safety", - "count": 1 - }, - { - "term": "Twitter -Vine", - "count": 1 - }, - { - "term": "Site http://www.celebrinando.com/ Perfil de Twitter @CelebrinandoRJ", - "count": 1 - }, - { - "term": "Emplacement / Bacau , Str. Pictor Aman Nr. 94 Romania E-mail / waldliebefamilien @ gmail.com Sur internet / Site web/ Twitter/ Facebook/ Discogs/ Soundcloud/", - "count": 1 - } - ], - "_type": "terms", - "total": 113940, - "missing": 0 - }, - "principal_name_facet": { - "other": 33035, - "terms": [ - { - "term": "IFPI", - "count": 2494 - }, - { - "term": "MX International Inc", - "count": 1964 - }, - { - "term": "CANAL+ GROUP", - "count": 1039 - }, - { - "term": "Magnolia Pictures", - "count": 992 - }, - { - "term": "Japan Creative Contents Alliance LLC", - "count": 961 - }, - { - "term": "Entura International", - "count": 800 - }, - { - "term": "Universal Music Group", - "count": 779 - }, - { - "term": "MAGNOLIA PICTURES INC.", - "count": 772 - }, - { - "term": "Copyright Integrity International", - "count": 694 - }, - { - "term": "ITMPA", - "count": 544 - } - ], - "_type": "terms", - "total": 44074, - "missing": 69866 - }, - "language_facet": { - "other": 0, - "terms": [ - { - "term": "en", - "count": 27 - }, - { - "term": "", - "count": 19 - }, - { - "term": "tr", - "count": 7 - }, - { - "term": "en-GB", - "count": 2 - }, - { - "term": "pt", - "count": 1 - } - ], - "_type": "terms", - "total": 56, - "missing": 113884 - } - }, - "offset": 0, - "per_page": 50 - } - -} \ No newline at end of file diff --git a/tests/fixture_data/lumen_notices_1.json b/tests/fixture_data/lumen_notices_1.json deleted file mode 100644 index 49ff9f8..0000000 --- a/tests/fixture_data/lumen_notices_1.json +++ /dev/null @@ -1 +0,0 @@ -{"notices": [{"score": null, "id": 14198134, "tags": [], "date_received": "2017-04-15T03:49:34.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/hello_syake", "url_original": null}], "description": null}], "language": null, "sender_name": "\u30ab\u30d7\u30b3\u30f3", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14198105, "tags": [], "date_received": "2017-04-15T03:04:10.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/yxngbane/status/845642719376629761", "url_original": null}, {"url": "https://twitter.com/worldstarfunny/status/845309488131444738", "url_original": null}, {"url": "https://twitter.com/stephanlauren/status/845745121194840067", "url_original": null}, {"url": "https://twitter.com/savagehumor/status/845290374222483457", "url_original": null}, {"url": "https://twitter.com/guruhouli/status/845323759972081664", "url_original": null}, {"url": "https://twitter.com/fatherlygod/status/844708137324154882", "url_original": null}, {"url": "https://t.co/Mlvxaq6NHM", "url_original": null}, {"url": "https://t.co/jQmYEGlsQZ", "url_original": null}, {"url": "https://t.co/D6AipgZLiy", "url_original": null}, {"url": "https://t.co/AjyvR5lr6u", "url_original": null}, {"url": "https://t.co/8XAy80qLUI", "url_original": null}, {"url": "https://t.co/16TlhQvvT1", "url_original": null}], "description": null}], "language": null, "sender_name": "Sean Locke Photography", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14198079, "tags": [], "date_received": "2017-04-15T02:39:31.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/viratian269/status/852882147673231360", "url_original": null}, {"url": "https://twitter.com/raina_universe/status/852914218386956288", "url_original": null}, {"url": "https://twitter.com/raina_fangirl/status/852894702613413888", "url_original": null}, {"url": "https://twitter.com/oyerjalok/status/852863714034409473", "url_original": null}, {"url": "https://twitter.com/mr_khiladi24/status/852851312962174979", "url_original": null}, {"url": "https://twitter.com/klay_sports/status/852920729062457344", "url_original": null}, {"url": "https://twitter.com/bhavsarkashyap2/status/852864333692456960", "url_original": null}, {"url": "https://t.co/x6IS6oYlnN", "url_original": null}, {"url": "https://t.co/Q7h7HmSg3t", "url_original": null}, {"url": "https://t.co/pJEM10JDxW", "url_original": null}, {"url": "https://t.co/LHrYAk5dkq", "url_original": null}, {"url": "https://t.co/GnXJYvYLB2", "url_original": null}, {"url": "https://t.co/GLCaTqrJ78", "url_original": null}, {"url": "https://t.co/6tuvwZwKzc", "url_original": null}], "description": null}], "language": null, "sender_name": "Copyright Integrity International", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197860, "tags": [], "date_received": "2017-04-15T01:34:49.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/madrizzcarter/status/804659392679411712", "url_original": null}, {"url": "https://t.co/iqVIcrY46W", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197854, "tags": [], "date_received": "2017-04-15T01:27:02.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/madrizzcarter/status/806150669619105792", "url_original": null}, {"url": "https://t.co/lKA69gwIFz", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197857, "tags": [], "date_received": "2017-04-15T01:24:12.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/madrizzcarter/status/808066729704325125", "url_original": null}, {"url": "https://t.co/ky3TGW0eWf", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197845, "tags": [], "date_received": "2017-04-15T00:57:08.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/madrizzcarter/status/817873520575283200", "url_original": null}, {"url": "https://t.co/qFrUW0rTTd", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197840, "tags": [], "date_received": "2017-04-15T00:54:41.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/madrizzcarter/status/821711472942313478", "url_original": null}, {"url": "https://t.co/Ro5NpXMm9g", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197842, "tags": [], "date_received": "2017-04-15T00:51:56.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/madrizzcarter/status/824422022289645572", "url_original": null}, {"url": "https://t.co/xXpbKyQbAe", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197843, "tags": [], "date_received": "2017-04-15T00:49:24.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/madrizzcarter/status/836127148175949824", "url_original": null}, {"url": "https://t.co/Sa2PodRXQA", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197837, "tags": [], "date_received": "2017-04-15T00:45:45.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/madrizzcarter/status/836320399684157440", "url_original": null}, {"url": "https://t.co/aE8y335U0E", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197839, "tags": [], "date_received": "2017-04-15T00:43:25.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/madrizzcarter/status/839919517803347970", "url_original": null}, {"url": "https://t.co/HsEhcfOwIx", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197835, "tags": [], "date_received": "2017-04-15T00:39:20.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/madrizzcarter/status/852947026165870593", "url_original": null}, {"url": "https://t.co/u0EGwXiIFV", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197831, "tags": [], "date_received": "2017-04-15T00:29:30.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "http://t.co/zbaXsaNr", "url_original": null}, {"url": "https://twitter.com/kimtang8/status/176894542287601664", "url_original": null}], "description": null}], "language": null, "sender_name": "self-employed", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197828, "tags": [], "date_received": "2017-04-15T00:21:21.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/_Futbolero_", "url_original": null}], "description": null}], "language": null, "sender_name": "gettyimages", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197829, "tags": [], "date_received": "2017-04-15T00:21:13.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/theinvaeznisnow/status/852630710481559553", "url_original": null}, {"url": "https://twitter.com/tanzeelshk/status/852312921321418752", "url_original": null}, {"url": "https://twitter.com/sociallifeny/status/852313001411719170", "url_original": null}, {"url": "https://twitter.com/roxxie2hotfatv/status/852356685259788288", "url_original": null}, {"url": "https://twitter.com/kilegilhenry99/status/852574266721751041", "url_original": null}, {"url": "https://twitter.com/fennecom_/status/852450710595792896", "url_original": null}, {"url": "https://twitter.com/dru_themonster/status/852401949362315264", "url_original": null}, {"url": "https://twitter.com/colourpjm/status/852553251375513602", "url_original": null}, {"url": "https://t.co/YIDvJEEiWd", "url_original": null}, {"url": "https://t.co/WxoAp1G2Ef", "url_original": null}, {"url": "https://t.co/w6JMIiSWA3", "url_original": null}, {"url": "https://t.co/lD9rjLPlxZ", "url_original": null}, {"url": "https://t.co/JcjuqopL8L", "url_original": null}, {"url": "https://t.co/I09gY9VzqW", "url_original": null}, {"url": "https://t.co/GW5bTaOSJQ", "url_original": null}, {"url": "https://t.co/azDABqUhDj", "url_original": null}], "description": null}], "language": null, "sender_name": " - ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197752, "tags": [], "date_received": "2017-04-15T00:12:04.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/_Futbolero_", "url_original": null}], "description": null}], "language": null, "sender_name": "pinteres", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197651, "tags": [], "date_received": "2017-04-14T23:17:10.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/shweraroy/status/852823153306882048", "url_original": null}, {"url": "https://twitter.com/jaynik001/status/852864632196825088", "url_original": null}, {"url": "https://twitter.com/imbarsha18_/status/852867687025979392", "url_original": null}, {"url": "https://twitter.com/deepujaguri123/status/852863855864754177", "url_original": null}, {"url": "https://twitter.com/bajirao_kitchen/status/850218471992446977", "url_original": null}, {"url": "https://twitter.com/bajirao_kitchen/status/850040828588302336", "url_original": null}, {"url": "https://twitter.com/bajirao_kitchen/status/849688275677626368", "url_original": null}, {"url": "https://t.co/xZFhDeZbzk", "url_original": null}, {"url": "https://t.co/StrnVKnSMI", "url_original": null}, {"url": "https://t.co/kPnzVukYCs", "url_original": null}, {"url": "https://t.co/K6ISPPsLgh", "url_original": null}, {"url": "https://t.co/jMDxL4wQSB", "url_original": null}, {"url": "https://t.co/4U6bCFXwAP", "url_original": null}, {"url": "https://t.co/1zbG1Fxb0G", "url_original": null}], "description": null}], "language": null, "sender_name": "Copyright Integrity International", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197647, "tags": [], "date_received": "2017-04-14T22:59:00.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/zlly12/status/852651414048444417", "url_original": null}, {"url": "https://twitter.com/pimp_maestro/status/852930591905415168", "url_original": null}, {"url": "https://twitter.com/ouza101/status/852805083242700801", "url_original": null}, {"url": "https://twitter.com/noahhildebrand1/status/852658003220336640", "url_original": null}, {"url": "https://twitter.com/mahlubonke_/status/852651379332190208", "url_original": null}, {"url": "https://twitter.com/louievanwolf/status/852756547398533120", "url_original": null}, {"url": "https://twitter.com/leonohoe/status/852677116231643137", "url_original": null}, {"url": "https://twitter.com/chubyewest/status/852699636435476480", "url_original": null}, {"url": "https://twitter.com/blakefrst/status/852882286425059328", "url_original": null}, {"url": "https://twitter.com/bizzzcuit/status/852657474058498048", "url_original": null}, {"url": "https://twitter.com/beyonce2016f/status/852789749366439936", "url_original": null}, {"url": "https://t.co/yWAFcNUETB", "url_original": null}, {"url": "https://t.co/wvsYAnPfJj", "url_original": null}, {"url": "https://t.co/Rt1nNgAyVw", "url_original": null}, {"url": "https://t.co/kVVq4yCZWD", "url_original": null}, {"url": "https://t.co/KrdaEXKYU0", "url_original": null}, {"url": "https://t.co/FE9cDX7e5c", "url_original": null}, {"url": "https://t.co/eSQ6qqLIlI", "url_original": null}, {"url": "https://t.co/bIyJPJFFZ1", "url_original": null}, {"url": "https://t.co/aDGzwzat02", "url_original": null}, {"url": "https://t.co/5VLBjhECNk", "url_original": null}, {"url": "https://t.co/1wju7f11MQ", "url_original": null}], "description": null}], "language": null, "sender_name": "protect artists", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197644, "tags": [], "date_received": "2017-04-14T22:54:29.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "http://t.co/p445rTq0IQ", "url_original": null}, {"url": "https://twitter.com/curiosodefutbol/status/467724791538274304", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197643, "tags": [], "date_received": "2017-04-14T22:51:20.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "http://twitter.com/viratian269/status/852874520507691008", "url_original": null}, {"url": "http://twitter.com/vichu1988/status/852999284672913413", "url_original": null}, {"url": "http://twitter.com/siddhontprakash/status/852901587672375296", "url_original": null}, {"url": "http://twitter.com/shraddhaxdaily/status/852738081241223169", "url_original": null}, {"url": "http://twitter.com/shraddhaxdaily/status/852734625826742273", "url_original": null}, {"url": "http://twitter.com/shraddhaworldfc/status/852523307010326531", "url_original": null}, {"url": "http://twitter.com/shourya_singh_/status/852863632924966913", "url_original": null}, {"url": "http://twitter.com/rainaist/status/852935928146534406", "url_original": null}, {"url": "http://twitter.com/one_the_na/status/852992110177529859", "url_original": null}, {"url": "http://twitter.com/imraina_girl/status/852945695539474432", "url_original": null}, {"url": "http://twitter.com/imraina_girl/status/852944493078757376", "url_original": null}, {"url": "http://twitter.com/imraina_girl/status/852938680729608193", "url_original": null}, {"url": "http://twitter.com/imraina_girl/status/852915900592177152", "url_original": null}, {"url": "http://twitter.com/imraina_girl/status/852914866964774912", "url_original": null}, {"url": "http://twitter.com/clubraina/status/852926252528873472", "url_original": null}, {"url": "http://twitter.com/attestedfangirl/status/852943149592858624", "url_original": null}, {"url": "http://twitter.com/attestedfangirl/status/852941969135288320", "url_original": null}, {"url": "http://twitter.com/attestedfangirl/status/852897745375514627", "url_original": null}, {"url": "http://twitter.com/attestedfangirl/status/852891075274571778", "url_original": null}, {"url": "https://twitter.com/kkriders_/status/852989722666389504", "url_original": null}, {"url": "https://t.co/Z0BEcJjfaJ", "url_original": null}, {"url": "https://t.co/xEu3dS1rlp", "url_original": null}, {"url": "https://t.co/X9Y3Cy5igg", "url_original": null}, {"url": "https://t.co/VFPyacpEhQ", "url_original": null}, {"url": "https://t.co/UMeTFicwza", "url_original": null}, {"url": "https://t.co/Rbmhm7LI4a", "url_original": null}, {"url": "https://t.co/Qfwj7JFDru", "url_original": null}, {"url": "https://t.co/N5cPgk3stn", "url_original": null}, {"url": "https://t.co/mTgSuIvklT", "url_original": null}, {"url": "https://t.co/kEvsAjGuNN", "url_original": null}, {"url": "https://t.co/JX7Jk3YBCU", "url_original": null}, {"url": "https://t.co/IdInghzghR", "url_original": null}, {"url": "https://t.co/fX7lmYoJMi", "url_original": null}, {"url": "https://t.co/EODn7cD18S", "url_original": null}, {"url": "https://t.co/CKnTy80zIW", "url_original": null}, {"url": "https://t.co/Bcz43d2nUe", "url_original": null}, {"url": "https://t.co/9RLv1a83bW", "url_original": null}, {"url": "https://t.co/9OE7EUXoan", "url_original": null}, {"url": "https://t.co/88fs8iEGfC", "url_original": null}, {"url": "https://t.co/0Fl3UUsmZA", "url_original": null}], "description": null}], "language": null, "sender_name": "Copyright Integrity International", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197641, "tags": [], "date_received": "2017-04-14T22:45:42.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "http://t.co/fW3pI1pXzQ", "url_original": null}, {"url": "https://twitter.com/curiosodefutbol/status/646084463890440192", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197638, "tags": [], "date_received": "2017-04-14T22:40:12.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "http://t.co/vHgLAfF8Vn", "url_original": null}, {"url": "https://twitter.com/curiosodefutbol/status/648956811580674048", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197637, "tags": [], "date_received": "2017-04-14T22:27:30.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/curiosodefutbol/status/743078085260632064", "url_original": null}, {"url": "https://t.co/oVOtK5A13R", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197633, "tags": [], "date_received": "2017-04-14T22:23:23.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/curiosodefutbol/status/793903947333394433", "url_original": null}, {"url": "https://t.co/m3OvX020lq", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197629, "tags": [], "date_received": "2017-04-14T22:20:46.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/curiosodefutbol/status/801503035298025472", "url_original": null}, {"url": "https://t.co/pagSxeTkBz", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197628, "tags": [], "date_received": "2017-04-14T22:17:48.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/curiosodefutbol/status/819332494210301952", "url_original": null}, {"url": "https://t.co/HVI9TxazME", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197625, "tags": [], "date_received": "2017-04-14T22:16:32.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/dopeytv/status/853004195024297986", "url_original": null}, {"url": "https://t.co/FdSlcR3qVJ", "url_original": null}], "description": null}], "language": null, "sender_name": "ZeniMax Media Inc", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197622, "tags": [], "date_received": "2017-04-14T22:15:20.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/curiosodefutbol/status/823693388880945152", "url_original": null}, {"url": "https://t.co/OnXlV0qAUT", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197635, "tags": [], "date_received": "2017-04-14T22:12:26.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/curiosodefutbol/status/831971598320152580", "url_original": null}, {"url": "https://t.co/bBgOz9WsHV", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197630, "tags": [], "date_received": "2017-04-14T22:10:06.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/curiosodefutbol/status/832355804044988416", "url_original": null}, {"url": "https://t.co/wN4sA5Qsma", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197627, "tags": [], "date_received": "2017-04-14T22:08:19.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/Cas_Girl44", "url_original": null}], "description": null}], "language": null, "sender_name": "self", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197620, "tags": [], "date_received": "2017-04-14T22:05:26.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/curiosodefutbol/status/837752566117191680", "url_original": null}, {"url": "https://t.co/cN4REdVss1", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197624, "tags": [], "date_received": "2017-04-14T22:05:26.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/curiosodefutbol/status/837752566117191680", "url_original": null}, {"url": "https://t.co/cN4REdVss1", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197619, "tags": [], "date_received": "2017-04-14T22:00:51.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/curiosodefutbol/status/845399970824015872", "url_original": null}, {"url": "https://t.co/AUhXrKjf73", "url_original": null}], "description": null}], "language": null, "sender_name": "Department security internet ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197431, "tags": [], "date_received": "2017-04-14T21:58:58.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/masrarabiasport/status/852988222137389058", "url_original": null}, {"url": "https://t.co/kGA6kEjVSr", "url_original": null}], "description": null}], "language": null, "sender_name": "Kijamii for Internet Service", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197398, "tags": [], "date_received": "2017-04-14T19:53:04.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/afrosnugglz/status/725073537535479808", "url_original": null}, {"url": "https://t.co/RclrCP43tF", "url_original": null}], "description": null}], "language": null, "sender_name": "Freelance", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197394, "tags": [], "date_received": "2017-04-14T19:52:19.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/escotsindubai/status/852877864512966656", "url_original": null}, {"url": "https://t.co/PLVakt0orP", "url_original": null}], "description": null}], "language": null, "sender_name": "Lady Celebrity", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197397, "tags": [], "date_received": "2017-04-14T19:50:33.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/thetruevoicetv/status/852970600641384448", "url_original": null}, {"url": "https://twitter.com/dyoathletic/status/825817401832923137", "url_original": null}, {"url": "https://twitter.com/athleticfanspag/status/826038557026430976", "url_original": null}, {"url": "https://t.co/Spw7fmvYLc", "url_original": null}, {"url": "https://t.co/MPbS4ehu2N", "url_original": null}, {"url": "https://t.co/d790du2o7R", "url_original": null}], "description": null}], "language": null, "sender_name": "Liga Nacional de F\u00fatbol Profesional", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197346, "tags": [], "date_received": "2017-04-14T19:20:23.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/marceloroger435/status/852962549712773120", "url_original": null}, {"url": "https://twitter.com/arranobaltzaa/status/849386261567680512", "url_original": null}, {"url": "https://t.co/wpWJOm6y7x", "url_original": null}, {"url": "https://t.co/vGFavPfYW8", "url_original": null}], "description": null}], "language": null, "sender_name": "Liga Nacional de F\u00fatbol Profesional", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197408, "tags": [], "date_received": "2017-04-14T19:19:46.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/tailsdoll553/status/845623793057906690", "url_original": null}, {"url": "https://t.co/LzUYQNEOWc", "url_original": null}], "description": null}], "language": null, "sender_name": " - ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197406, "tags": [], "date_received": "2017-04-14T19:19:35.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/tailsdoll553/status/845945455729029120", "url_original": null}, {"url": "https://t.co/5edNziCjCH", "url_original": null}], "description": null}], "language": null, "sender_name": " - ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197272, "tags": [], "date_received": "2017-04-14T19:17:55.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/yasser7ob787/status/852961176258576387", "url_original": null}, {"url": "https://twitter.com/world_saudi2013/status/852957624026976256", "url_original": null}, {"url": "https://twitter.com/u54547/status/852960895189889024", "url_original": null}, {"url": "https://twitter.com/snd_ds/status/852961922161025025", "url_original": null}, {"url": "https://twitter.com/skdjhasjgdagshf/status/852956711535210499", "url_original": null}, {"url": "https://twitter.com/nayf1438/status/852962666503184384", "url_original": null}, {"url": "https://twitter.com/mzi71/status/852952965572952064", "url_original": null}, {"url": "https://twitter.com/dawrisaudi4k/status/852946469795618816", "url_original": null}, {"url": "https://twitter.com/calpsoslewpcp1h/status/852959043274637312", "url_original": null}, {"url": "https://twitter.com/alnah65484hy/status/852962783733977089", "url_original": null}, {"url": "https://twitter.com/aln5954hy/status/852962199022817280", "url_original": null}, {"url": "https://twitter.com/akhbarr24/status/852956792158113794", "url_original": null}, {"url": "https://t.co/vX4cB2cvf3", "url_original": null}, {"url": "https://t.co/UyXGvOY6zN", "url_original": null}, {"url": "https://t.co/P2bqfvSays", "url_original": null}, {"url": "https://t.co/nnFd2Ta5Jm", "url_original": null}, {"url": "https://t.co/lKqJAID0DE", "url_original": null}, {"url": "https://t.co/lFawVum8fU", "url_original": null}, {"url": "https://t.co/HtLXzLMs8d", "url_original": null}, {"url": "https://t.co/E00IRKzlXl", "url_original": null}, {"url": "https://t.co/DU5ibJujV1", "url_original": null}, {"url": "https://t.co/bMEndvb0tG", "url_original": null}, {"url": "https://t.co/aWSSZjUjga", "url_original": null}, {"url": "https://t.co/adkF9jbYcT", "url_original": null}, {"url": "https://t.co/9K36aSIWsJ", "url_original": null}, {"url": "https://t.co/4RTg08zxs1", "url_original": null}, {"url": "https://t.co/4jVxPwvt1l", "url_original": null}, {"url": "https://t.co/3bRGXiBIad", "url_original": null}, {"url": "https://t.co/ZauN6bCvui", "url_original": null}, {"url": "https://t.co/nqGu6WNIk3", "url_original": null}, {"url": "https://t.co/GQnkktwgpt", "url_original": null}], "description": null}], "language": null, "sender_name": "Dawri Plus", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197389, "tags": [], "date_received": "2017-04-14T19:16:45.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "http://twitter.com/zaynoo55/status/698227988672937984", "url_original": null}, {"url": "http://twitter.com/wasifwah/status/702175324050690050", "url_original": null}, {"url": "http://twitter.com/wa5imm/status/702548651151912960", "url_original": null}, {"url": "http://twitter.com/vishalprash/status/704496060513660928", "url_original": null}, {"url": "http://twitter.com/thotas9999/status/849652757640355840", "url_original": null}, {"url": "http://twitter.com/thilangura/status/697081932304224256", "url_original": null}, {"url": "http://twitter.com/sureshrcs/status/703481506921054208", "url_original": null}, {"url": "http://twitter.com/sunil_k1/status/711141430727741440", "url_original": null}, {"url": "https://t.co/vFLag2DSPl", "url_original": null}, {"url": "https://t.co/uuGyZzvdAC.", "url_original": null}, {"url": "https://t.co/sSo70tyPfL", "url_original": null}, {"url": "https://t.co/qNCYyflMbN", "url_original": null}, {"url": "https://t.co/pM4R5hyo7x", "url_original": null}, {"url": "https://t.co/HfYtT0Qhm3", "url_original": null}, {"url": "https://t.co/czIaSu6pC8", "url_original": null}, {"url": "https://t.co/b2mRstHqty", "url_original": null}, {"url": "https://t.co/1Ftx5vUSfs", "url_original": null}], "description": null}], "language": null, "sender_name": "Copyright Integrity International", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197371, "tags": [], "date_received": "2017-04-14T19:10:24.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/_goropa_/status/848253391914631168", "url_original": null}, {"url": "https://t.co/SCfefmTF1O", "url_original": null}], "description": null}], "language": null, "sender_name": "Liga Nacional de F\u00fatbol Profesional", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197288, "tags": [], "date_received": "2017-04-14T19:08:22.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/so6an_999/status/852957664493654018", "url_original": null}, {"url": "https://twitter.com/samiafox2/status/852957384020566017", "url_original": null}, {"url": "https://twitter.com/news_glo/status/852957156349546497", "url_original": null}, {"url": "https://twitter.com/mhamdalshrary/status/852955497561034752", "url_original": null}, {"url": "https://twitter.com/janaalshammry/status/852957848355053572", "url_original": null}, {"url": "https://twitter.com/bein720/status/852960552359997440", "url_original": null}, {"url": "https://t.co/ZJ7Ov2oqUg", "url_original": null}, {"url": "https://t.co/xn4xCD02oQ", "url_original": null}, {"url": "https://t.co/vNHxo9fgNG", "url_original": null}, {"url": "https://t.co/uc43oQ3q1K", "url_original": null}, {"url": "https://t.co/iNdKsStaBH", "url_original": null}, {"url": "https://t.co/igWHeUPJRO", "url_original": null}, {"url": "https://t.co/b4NBRg78vS", "url_original": null}, {"url": "https://twitter.com/world_saudi2013/status/852957624026976256", "url_original": null}, {"url": "https://t.co/ZauN6bCvui", "url_original": null}, {"url": "https://t.co/4RTg08zxs1", "url_original": null}, {"url": "https://t.co/1vIlhj68jX", "url_original": null}], "description": null}], "language": null, "sender_name": "Dawri PLus", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197042, "tags": [], "date_received": "2017-04-14T19:07:44.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "http://twitter.com/snaqvi97/status/702192510219763712", "url_original": null}, {"url": "http://twitter.com/shukrytwitts/status/849631335971000320", "url_original": null}, {"url": "http://twitter.com/sachin_6600/status/703580540889337856", "url_original": null}, {"url": "http://twitter.com/rokkingrahman/status/852564755122466816", "url_original": null}, {"url": "http://twitter.com/rizwan_gillani/status/849617136754601984", "url_original": null}, {"url": "http://twitter.com/red_log_in/status/849992940587859968", "url_original": null}, {"url": "http://twitter.com/ranukad/status/833245598438526976", "url_original": null}, {"url": "http://twitter.com/nitindhanuka/status/702525706983469057", "url_original": null}, {"url": "http://twitter.com/mrplanner1/status/703299999275290624", "url_original": null}, {"url": "http://twitter.com/maria_h_k/status/697781471277408257", "url_original": null}, {"url": "http://twitter.com/kh_masood/status/702192728789164032", "url_original": null}, {"url": "http://twitter.com/kazztr_/status/850003359687901184", "url_original": null}, {"url": "http://twitter.com/kazztr_/status/849277634148270081", "url_original": null}, {"url": "http://twitter.com/imranali27/status/697755127189499904", "url_original": null}, {"url": "http://twitter.com/ghalibirfann/status/837730569010151424", "url_original": null}, {"url": "http://twitter.com/ghalibirfann/status/837698517829320704", "url_original": null}, {"url": "http://twitter.com/engr_naveed111/status/702192176554442752", "url_original": null}, {"url": "http://twitter.com/ari_franchi/status/852171617035800576", "url_original": null}, {"url": "http://twitter.com/alluswagg/status/850715240052477952", "url_original": null}, {"url": "http://twitter.com/abirbcse/status/849976337435578369", "url_original": null}, {"url": "https://t.co/zrPnQ61RmB", "url_original": null}, {"url": "https://t.co/ZOLR2kP8Zp", "url_original": null}, {"url": "https://t.co/yVtUkg9W9K", "url_original": null}, {"url": "https://t.co/Y7izWRt5TG", "url_original": null}, {"url": "https://t.co/vlLO3rFSyV", "url_original": null}, {"url": "https://t.co/V5QVKJMcnA", "url_original": null}, {"url": "https://t.co/u37GEyOvKb", "url_original": null}, {"url": "https://t.co/rdcWlb4cmZ", "url_original": null}, {"url": "https://t.co/P4eVWRHJDG", "url_original": null}, {"url": "https://t.co/o1SI0aj4y9", "url_original": null}, {"url": "https://t.co/M5x7kq76zn", "url_original": null}, {"url": "https://t.co/KVxmVrLD8X", "url_original": null}, {"url": "https://t.co/HyCqVPgWy1", "url_original": null}, {"url": "https://t.co/hVAV4BtVo3", "url_original": null}, {"url": "https://t.co/h3MdVa5YtS", "url_original": null}, {"url": "https://t.co/gqIcTcg2Yh", "url_original": null}, {"url": "https://t.co/G9OmxLaahT", "url_original": null}, {"url": "https://t.co/fPSUS0sdxy", "url_original": null}, {"url": "https://t.co/bvNx9wn27m", "url_original": null}, {"url": "https://t.co/8uAXceJvco", "url_original": null}, {"url": "https://t.co/11Ao0RTxfs", "url_original": null}, {"url": "https://t.co/xY7eGJX5Kn", "url_original": null}, {"url": "https://t.co/db4XwDZcYH", "url_original": null}], "description": null}], "language": null, "sender_name": "Copyright Integrity International", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197405, "tags": [], "date_received": "2017-04-14T19:06:49.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/tailsdoll553/status/850195372647436289", "url_original": null}, {"url": "https://t.co/ezSc10QJGL", "url_original": null}], "description": null}], "language": null, "sender_name": " - ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197404, "tags": [], "date_received": "2017-04-14T19:06:29.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/tailsdoll553/status/851336503212949504", "url_original": null}, {"url": "https://t.co/bouPCStk9F", "url_original": null}], "description": null}], "language": null, "sender_name": " - ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}, {"score": null, "id": 14197402, "tags": [], "date_received": "2017-04-14T19:06:22.000Z", "action_taken": "Yes", "works": [{"copyrighted_urls": [], "infringing_urls": [{"url": "https://twitter.com/tailsdoll553/status/852896025773658112", "url_original": null}, {"url": "https://t.co/phyeVlUlBZ", "url_original": null}], "description": null}], "language": null, "sender_name": " - ", "type": "DMCA", "topics": ["Copyright"], "date_sent": null, "title": "DMCA Takedown Notice (Tweet)", "jurisdictions": [], "body": null, "recipient_name": "Twitter", "principal_name": null}], "meta": {"total_entries": 114101, "total_pages": 2283, "query": {"term": null, "date_received_facet": "from"}, "previous_page": 6, "current_page": 7, "next_page": null, "facets": {"tag_list_facet": {"other": 0, "terms": [{"term": "text", "count": 4}, {"term": "music", "count": 1}], "_type": "terms", "total": 5, "missing": 114270}, "date_received_facet": {"ranges": [{"from_str": "2017-04-16T00:00:00.000-04:00", "min": 1492315756000.0, "total_count": 145, "mean": 1492364113537.9312, "to_str": "2017-04-17T00:00:00.000-04:00", "count": 145, "max": 1492399780000.0, "to": 1492401600000.0, "from": 1492315200000.0, "total": 216392796463000.0}, {"from_str": "2017-03-17T00:00:00.000-04:00", "min": 1489725404000.0, "total_count": 4050, "mean": 1491097731118.2715, "to_str": "2017-04-17T00:00:00.000-04:00", "count": 4050, "max": 1492399780000.0, "to": 1492401600000.0, "from": 1489723200000.0, "total": 6038945811029000.0}, {"from_str": "2016-10-17T00:00:00.000-04:00", "min": 1476676808000.0, "total_count": 20982, "mean": 1484598494758.1736, "to_str": "2017-04-17T00:00:00.000-04:00", "count": 20982, "max": 1492399780000.0, "to": 1492401600000.0, "from": 1476676800000.0, "total": 3.1149845617016e+16}, {"from_str": "2016-04-17T00:00:00.000-04:00", "min": 1460879315000.0, "total_count": 49523, "mean": 1475665453911.213, "to_str": "2017-04-17T00:00:00.000-04:00", "count": 49523, "max": 1492399780000.0, "to": 1492401600000.0, "from": 1460865600000.0, "total": 7.3079380274045e+16}], "_type": "range"}, "topic_facet": {"other": 1, "terms": [{"term": "Copyright", "count": 114275}, {"term": "DMCA Safe Harbor", "count": 23682}, {"term": "DMCA Notices", "count": 19166}, {"term": "Uncategorized", "count": 996}, {"term": "International", "count": 146}, {"term": "Court Orders", "count": 5}, {"term": "Responses", "count": 4}, {"term": "Lumen", "count": 4}, {"term": "Copyright and Fair Use", "count": 4}, {"term": "Defamation", "count": 2}], "_type": "terms", "total": 158285, "missing": 0}, "country_code_facet": {"other": 0, "terms": [{"term": "US", "count": 113723}, {"term": "", "count": 43}, {"term": "us", "count": 6}, {"term": "gb", "count": 1}, {"term": "Br", "count": 1}, {"term": "94", "count": 1}], "_type": "terms", "total": 113775, "missing": 500}, "sender_name_facet": {"other": 63686, "terms": [{"term": " - ", "count": 19631}, {"term": "Authorized agent", "count": 4694}, {"term": "Director of Anti-Piracy", "count": 3739}, {"term": "Web Sheriff", "count": 2991}, {"term": "Remove Your Media LLC.", "count": 2916}, {"term": "Liga Nacional de F\u00fatbol Profesional", "count": 2915}, {"term": "Recording Industry Association of America, Inc. (RIAA)", "count": 2202}, {"term": "Legal Counsel", "count": 1960}, {"term": "Copyright Integrity International", "count": 1539}, {"term": "Adobe Systems Incorporated", "count": 1278}], "_type": "terms", "total": 107551, "missing": 6724}, "submitter_name_facet": {"other": 0, "terms": [{"term": "twitter", "count": 41951}, {"term": "inc", "count": 41951}, {"term": "private", "count": 1}, {"term": "kittos", "count": 1}, {"term": "david", "count": 1}], "_type": "terms", "total": 83905, "missing": 72322}, "submitter_country_code_facet": {"other": 0, "terms": [{"term": "usa", "count": 9301}], "_type": "terms", "total": 9301, "missing": 104974}, "action_taken_facet": {"other": 0, "terms": [{"term": "Yes", "count": 114190}, {"term": "", "count": 80}, {"term": "No", "count": 4}, {"term": "Partial", "count": 1}], "_type": "terms", "total": 114275, "missing": 0}, "recipient_name_facet": {"other": 0, "terms": [{"term": "Twitter", "count": 114145}, {"term": "Twitter, Inc.", "count": 112}, {"term": "Twitter, Inc", "count": 10}, {"term": "Twitter Inc.", "count": 3}, {"term": "Twitter user @spin", "count": 1}, {"term": "Twitter Trust and Safety", "count": 1}, {"term": "Twitter -Vine", "count": 1}, {"term": "Site http://www.celebrinando.com/ Perfil de Twitter @CelebrinandoRJ", "count": 1}, {"term": "Emplacement / Bacau , Str. Pictor Aman Nr. 94 Romania E-mail / waldliebefamilien @ gmail.com Sur internet / Site web/ Twitter/ Facebook/ Discogs/ Soundcloud/", "count": 1}], "_type": "terms", "total": 114275, "missing": 0}, "principal_name_facet": {"other": 33035, "terms": [{"term": "IFPI", "count": 2494}, {"term": "MX International Inc", "count": 1964}, {"term": "CANAL+ GROUP", "count": 1039}, {"term": "Magnolia Pictures", "count": 992}, {"term": "Japan Creative Contents Alliance LLC", "count": 961}, {"term": "Entura International", "count": 800}, {"term": "Universal Music Group", "count": 779}, {"term": "MAGNOLIA PICTURES INC.", "count": 772}, {"term": "Copyright Integrity International", "count": 694}, {"term": "ITMPA", "count": 544}], "_type": "terms", "total": 44074, "missing": 70201}, "language_facet": {"other": 0, "terms": [{"term": "en", "count": 27}, {"term": "", "count": 19}, {"term": "tr", "count": 7}, {"term": "en-GB", "count": 2}, {"term": "pt", "count": 1}], "_type": "terms", "total": 56, "missing": 114219}}, "offset": 300, "per_page": 50}} \ No newline at end of file diff --git a/tests/fixture_data/twitter_id_list.json b/tests/fixture_data/twitter_id_list.json deleted file mode 100644 index 2b40ada..0000000 --- a/tests/fixture_data/twitter_id_list.json +++ /dev/null @@ -1 +0,0 @@ -["1120354020", "1216017344", "1230702126", "135779262", "1552707140", "1612942082", "1705823862", "1894231459", "1934219598", "195013676", "2203514268", "242456021", "2467503511", "2474387118", "251831601", "2592275256", "2606162693", "2709738468", "2740634292", "2760688606", "2768381226", "2834289858", "286659133", "28898050", "2976798423", "2989354778", "3017682893", "318548049", "341905255", "350248899", "3620970629", "398507134", "42188329", "4551905205", "4654870666", "4668149671", "4691693046", "566822774", "578065467", "585539111", "597611738", "61503886", "715546339619291136", "732486930152067073", "749576906966577152", "779739105026539520", "779789650290479106", "787292754766274560", "793908765607202818", "808020652556951552", "81387101", "829607762829139968", "830877552541650947", "832623312257769472", "851347406428004353", "851372779001831424", "852185986146729985", "852189562273181700", "852215553469153280", "852523540909875202", "852574026966892545", "852793656025141249", "852932930460667904", "852939990103465984", "852940733933916163", "852942402285338624", "852943036803936256", "852944096696180738", "852944264975843329", "852948430695649283", "852949031525511169", "852950595157860353", "852951058934530050", "852955536849022976", "852960599956967425", "852961627884449792", "91767550", "921160578", "949463634", "960587984"] \ No newline at end of file diff --git a/tests/fixture_data/twitter_tweets.json b/tests/fixture_data/twitter_tweets.json deleted file mode 100644 index 66483b2..0000000 --- a/tests/fixture_data/twitter_tweets.json +++ /dev/null @@ -1 +0,0 @@ -[{"favorited": false, "favorite_count": 6, "truncated": false, "id": 853657113498931200, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [118, 141], "display_url": "theatlantic.com/technology/arc\u2026", "expanded_url": "http://theatlantic.com/technology/archive/2015/06/the-tragedy-of-the-digital-commons/395129/", "url": "https://t.co/Tpa93ZDVPx"}], "symbols": []}, "id_str": "853657113498931200", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 853656490229551105, "created_at": "Sun Apr 16 17:11:30 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": 52332354, "geo": null, "text": "If I've learned anything at MIT, it's the need for enduring hope & action on problems that yield in the long term https://t.co/Tpa93ZDVPx", "retweet_count": 2, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "853656490229551105", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 2, "truncated": false, "id": 853656490229551105, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "853656490229551105", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 853656236977422336, "created_at": "Sun Apr 16 17:09:02 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "Fortunately, we can use more detailed measures to test outcomes in shorter periods of time as well <grin>", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "853656236977422336", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 2, "truncated": false, "id": 853656236977422336, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "853656236977422336", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 853655579730075653, "created_at": "Sun Apr 16 17:08:01 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "If today's efforts to reduce online bullying among young people are successful, I might see online harassment rates reduce in my lifetime", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "853655579730075653", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 2, "truncated": false, "id": 853655579730075653, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "853655579730075653", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 853654439324004353, "created_at": "Sun Apr 16 17:05:25 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "When the publicly-available benchmarks ask if people have ever experienced harassment, we can only observe change on generational scales", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "853654439324004353", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 3, "truncated": false, "id": 853654439324004353, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "853654439324004353", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 853650682276171776, "created_at": "Sun Apr 16 17:00:53 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "It's also hard to calibrate our expectations for social change. A change of 1% could improve the lives of millions, but still be just a drop", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "853650682276171776", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 7, "truncated": false, "id": 853650682276171776, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "853650682276171776", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 853650448959639554, "created_at": "Sun Apr 16 16:45:57 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "If online harassment is only something to be solved by platforms and small nonprofits, I empathize with the loss of hope to address it", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "853650448959639554", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 6, "truncated": false, "id": 853650448959639554, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "853650448959639554", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sun Apr 16 16:45:01 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "Still thinking about the NYTimes article that failed to mention the 100m+ Americans who have actively supported those harassed online", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 27, "truncated": false, "id": 853560269372567552, "in_reply_to_user_id_str": "16284697", "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 16284697, "url": "https://t.co/j1tDEbz7DF", "id_str": "16284697", "favourites_count": 2997, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "tinyletter.com/metafoundry", "expanded_url": "http://tinyletter.com/metafoundry", "url": "https://t.co/j1tDEbz7DF"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/765156008096305152/W0b0RNw0_normal.jpg", "profile_link_color": "009999", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme14/bg.gif", "listed_count": 465, "screen_name": "debcha", "profile_use_background_image": true, "followers_count": 7225, "statuses_count": 78151, "profile_background_color": "131516", "friends_count": 725, "created_at": "Sun Sep 14 17:00:26 +0000 2008", "location": "Cambridge, MA / London, UK", "is_translator": false, "verified": false, "profile_sidebar_border_color": "EEEEEE", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme14/bg.gif", "has_extended_profile": false, "protected": false, "description": "Engineering professor. Design, technology, nature, language, food, music, gender, intersections thereof. All enthusiasm is 100% genuine.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/765156008096305152/W0b0RNw0_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/16284697/1406479433", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "EFEFEF", "name": "Deb Chachra", "default_profile_image": false, "profile_background_tile": true, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "853560269372567552", "source": "Tweetbot for i\u039fS", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 853559842270785536, "created_at": "Sun Apr 16 10:46:41 +0000 2017", "in_reply_to_user_id": 16284697, "geo": null, "text": "tl;dr: Charging Bull is guerilla art. Fearless Girl is an ad that only makes sense in situ. It's complicated. Also, late capitalism sucks.", "retweet_count": 14, "in_reply_to_screen_name": "debcha", "in_reply_to_status_id_str": "853559842270785536", "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 853626807249227776, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "debcha", "id_str": "16284697", "name": "Deb Chachra", "id": 16284697, "indices": [3, 10]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "853626807249227776", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sun Apr 16 15:11:05 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @debcha: tl;dr: Charging Bull is guerilla art. Fearless Girl is an ad that only makes sense in situ. It's complicated. Also, late capita\u2026", "retweet_count": 14, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 43, "truncated": false, "id": 853559842270785536, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 16284697, "url": "https://t.co/j1tDEbz7DF", "id_str": "16284697", "favourites_count": 2997, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "tinyletter.com/metafoundry", "expanded_url": "http://tinyletter.com/metafoundry", "url": "https://t.co/j1tDEbz7DF"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/765156008096305152/W0b0RNw0_normal.jpg", "profile_link_color": "009999", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme14/bg.gif", "listed_count": 465, "screen_name": "debcha", "profile_use_background_image": true, "followers_count": 7225, "statuses_count": 78151, "profile_background_color": "131516", "friends_count": 725, "created_at": "Sun Sep 14 17:00:26 +0000 2008", "location": "Cambridge, MA / London, UK", "is_translator": false, "verified": false, "profile_sidebar_border_color": "EEEEEE", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme14/bg.gif", "has_extended_profile": false, "protected": false, "description": "Engineering professor. Design, technology, nature, language, food, music, gender, intersections thereof. All enthusiasm is 100% genuine.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/765156008096305152/W0b0RNw0_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/16284697/1406479433", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "EFEFEF", "name": "Deb Chachra", "default_profile_image": false, "profile_background_tile": true, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "FelicityDisco", "id_str": "271556955", "name": "Felicity Disco", "id": 271556955, "indices": [84, 98]}, {"screen_name": "JustineLavaworm", "id_str": "23730438", "name": "Justine Larbalestier", "id": 23730438, "indices": [99, 115]}], "hashtags": [], "urls": [{"indices": [116, 139], "display_url": "gregfallis.com/2017/04/14/ser\u2026", "expanded_url": "https://gregfallis.com/2017/04/14/seriously-the-guy-has-a-point/", "url": "https://t.co/WIwiuYYTWw"}], "symbols": []}, "id_str": "853559842270785536", "source": "Tweetbot for i\u039fS", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sun Apr 16 10:44:59 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Some important context for the Fearless Girl/Charging Bull statue controversy. /via @FelicityDisco @JustineLavaworm https://t.co/WIwiuYYTWw", "retweet_count": 54, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 853626796717244416, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "debcha", "id_str": "16284697", "name": "Deb Chachra", "id": 16284697, "indices": [3, 10]}, {"screen_name": "FelicityDisco", "id_str": "271556955", "name": "Felicity Disco", "id": 271556955, "indices": [96, 110]}, {"screen_name": "JustineLavaworm", "id_str": "23730438", "name": "Justine Larbalestier", "id": 23730438, "indices": [111, 127]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "853626796717244416", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sun Apr 16 15:11:02 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @debcha: Some important context for the Fearless Girl/Charging Bull statue controversy. /via @FelicityDisco @JustineLavaworm https://t.c\u2026", "retweet_count": 54, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 853623239905611776, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "853623239905611776", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sun Apr 16 14:56:54 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "\"Oh, morning, at the brown brink eastward, springs\"", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 853595806867353600, "in_reply_to_user_id_str": "2566358196", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "godtributes", "id_str": "2566358196", "name": "Appropriate Tributes", "id": 2566358196, "indices": [0, 12]}, {"screen_name": "deathmtn", "id_str": "129586119", "name": "Jim", "id": 129586119, "indices": [13, 22]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "853595806867353600", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 853595657785004032, "created_at": "Sun Apr 16 13:07:54 +0000 2017", "in_reply_to_user_id": 2566358196, "geo": null, "text": "@godtributes @deathmtn maybe another item to add to the blacklist", "retweet_count": 0, "in_reply_to_screen_name": "godtributes", "in_reply_to_status_id_str": "853595657785004032", "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 1, "truncated": false, "id": 853593615767097344, "in_reply_to_user_id_str": null, "user": {"time_zone": "Pacific Time (US & Canada)", "notifications": false, "id": 14145626, "url": "https://t.co/untaHq9I4B", "id_str": "14145626", "favourites_count": 23831, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "about.me/mkatti", "expanded_url": "http://about.me/mkatti", "url": "https://t.co/untaHq9I4B"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/840248084949012481/dntCKrou_normal.jpg", "profile_link_color": "0084B4", "lang": "en", "utc_offset": -25200, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/3464238/image6.jpg", "listed_count": 459, "screen_name": "leafwarbler", "profile_use_background_image": true, "followers_count": 4800, "statuses_count": 107489, "profile_background_color": "134F21", "friends_count": 4378, "created_at": "Fri Mar 14 08:35:06 +0000 2008", "location": "Raleigh, NC", "is_translator": false, "verified": false, "profile_sidebar_border_color": "BDDCAD", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/3464238/image6.jpg", "has_extended_profile": false, "protected": false, "description": "Alien of Extraordinary Ability | Study feathered dinosaurs of our urbanizing planet | Reconciliation Ecology | #PublicScience @NCState | #ScienceCandle podcast", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/840248084949012481/dntCKrou_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/14145626/1488765352", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "DDFFCC", "name": "Madhusudan Katti", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [90, 113], "display_url": "wapo.st/2mvRFZ9?tid=ss\u2026", "expanded_url": "http://wapo.st/2mvRFZ9?tid=ss_tw", "url": "https://t.co/mXG05E6Yw5"}], "symbols": []}, "id_str": "853593615767097344", "source": "Twitter for iPad", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sun Apr 16 12:59:11 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "The science whiz who dazzled Obama has schizophrenia. His family faces crushing expenses. https://t.co/mXG05E6Yw5", "retweet_count": 2, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 853595612327096320, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "leafwarbler", "id_str": "14145626", "name": "Madhusudan Katti", "id": 14145626, "indices": [3, 15]}], "hashtags": [], "urls": [{"indices": [107, 130], "display_url": "wapo.st/2mvRFZ9?tid=ss\u2026", "expanded_url": "http://wapo.st/2mvRFZ9?tid=ss_tw", "url": "https://t.co/mXG05E6Yw5"}], "symbols": []}, "id_str": "853595612327096320", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sun Apr 16 13:07:07 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @leafwarbler: The science whiz who dazzled Obama has schizophrenia. His family faces crushing expenses. https://t.co/mXG05E6Yw5", "retweet_count": 2, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 853591605919576065, "in_reply_to_user_id_str": "5734242", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "ChaToX", "id_str": "5734242", "name": "Carlos Castillo", "id": 5734242, "indices": [0, 7]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "853591605919576065", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 853591457348935681, "created_at": "Sun Apr 16 12:51:12 +0000 2017", "in_reply_to_user_id": 5734242, "geo": null, "text": "@ChaToX I'll be making them public soon", "retweet_count": 0, "in_reply_to_screen_name": "ChaToX", "in_reply_to_status_id_str": "853591457348935681", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 853463799994757120, "in_reply_to_user_id_str": "290879947", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "doougle", "id_str": "290879947", "name": "Douglas Wilson", "id": 290879947, "indices": [0, 8]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "853463799994757120", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 853461788385460224, "created_at": "Sun Apr 16 04:23:21 +0000 2017", "in_reply_to_user_id": 290879947, "geo": null, "text": "@doougle Lifted too much and injured your back? We have a medical procedure for you that will in-debt you to us for life. You're welcome.", "retweet_count": 0, "in_reply_to_screen_name": "doougle", "in_reply_to_status_id_str": "853461788385460224", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 853374127998201859, "in_reply_to_user_id_str": "87244851", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "LisaBolekaja", "id_str": "87244851", "name": "WhatFreshHellisThis?", "id": 87244851, "indices": [0, 13]}], "hashtags": [], "urls": [{"indices": [110, 133], "display_url": "science.time.com/2013/01/18/do-\u2026", "expanded_url": "http://science.time.com/2013/01/18/do-crabs-feel-pain-maybe-and-maybe-we-should-rethink-eating-them/", "url": "https://t.co/o0I6CXZr9f"}], "symbols": []}, "id_str": "853374127998201859", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 853373364546584576, "created_at": "Sat Apr 15 22:27:01 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": 87244851, "geo": null, "text": "@LisaBolekaja Recent research findings suggest that crabs may feel pain \u2013 at least they can learn to avoid it https://t.co/o0I6CXZr9f", "retweet_count": 0, "in_reply_to_screen_name": "LisaBolekaja", "in_reply_to_status_id_str": "853373364546584576", "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 3, "truncated": false, "id": 853346446321618945, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 3142042234, "url": "https://t.co/0NwcEyAxOB", "id_str": "3142042234", "favourites_count": 811, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "iheartmob.org", "expanded_url": "http://iheartmob.org", "url": "https://t.co/0NwcEyAxOB"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/585195023626547201/Wk8XACyE_normal.png", "profile_link_color": "1DA1F2", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "listed_count": 63, "screen_name": "theheartmob", "profile_use_background_image": true, "followers_count": 4326, "statuses_count": 1636, "profile_background_color": "C0DEED", "friends_count": 292, "created_at": "Mon Apr 06 21:33:05 +0000 2015", "location": "", "is_translator": false, "verified": true, "profile_sidebar_border_color": "C0DEED", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "has_extended_profile": false, "protected": false, "description": "HeartMob is a platform that provides real-time support to individuals experiencing online harassment and empowers bystanders to act.", "is_translation_enabled": false, "default_profile": true, "profile_image_url": "http://pbs.twimg.com/profile_images/585195023626547201/Wk8XACyE_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/3142042234/1483636651", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "DDEEF6", "name": "HeartMob", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "UofR", "id_str": "14778782", "name": "Univ. of Rochester", "id": 14778782, "indices": [63, 68]}, {"screen_name": "willxcheng", "id_str": "3249085780", "name": "William Cheng", "id": 3249085780, "indices": [69, 80]}], "hashtags": [], "media": [{"indices": [105, 128], "type": "photo", "media_url": "http://pbs.twimg.com/media/C9eyEadXcAE-pQr.jpg", "id": 853346443301711873, "media_url_https": "https://pbs.twimg.com/media/C9eyEadXcAE-pQr.jpg", "id_str": "853346443301711873", "url": "https://t.co/sx5VEVbL4g", "display_url": "pic.twitter.com/sx5VEVbL4g", "sizes": {"thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 447, "w": 300, "resize": "fit"}, "large": {"h": 447, "w": 300, "resize": "fit"}, "small": {"h": 447, "w": 300, "resize": "fit"}}, "expanded_url": "https://twitter.com/theheartmob/status/853346446321618945/photo/1"}], "urls": [{"indices": [81, 104], "display_url": "buff.ly/2pajfvC", "expanded_url": "http://buff.ly/2pajfvC", "url": "https://t.co/nHiZUDskZ2"}], "symbols": []}, "id_str": "853346446321618945", "source": "Buffer", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "extended_entities": {"media": [{"indices": [105, 128], "type": "photo", "media_url": "http://pbs.twimg.com/media/C9eyEadXcAE-pQr.jpg", "id": 853346443301711873, "media_url_https": "https://pbs.twimg.com/media/C9eyEadXcAE-pQr.jpg", "id_str": "853346443301711873", "url": "https://t.co/sx5VEVbL4g", "display_url": "pic.twitter.com/sx5VEVbL4g", "sizes": {"thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 447, "w": 300, "resize": "fit"}, "large": {"h": 447, "w": 300, "resize": "fit"}, "small": {"h": 447, "w": 300, "resize": "fit"}}, "expanded_url": "https://twitter.com/theheartmob/status/853346446321618945/photo/1"}]}, "created_at": "Sat Apr 15 20:37:01 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Rainbow Lecture to explore harassment in online gameworlds via @UofR @willxcheng https://t.co/nHiZUDskZ2 https://t.co/sx5VEVbL4g", "retweet_count": 2, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 853347688980598787, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "theheartmob", "id_str": "3142042234", "name": "HeartMob", "id": 3142042234, "indices": [3, 15]}, {"screen_name": "UofR", "id_str": "14778782", "name": "Univ. of Rochester", "id": 14778782, "indices": [80, 85]}, {"screen_name": "willxcheng", "id_str": "3249085780", "name": "William Cheng", "id": 3249085780, "indices": [86, 97]}], "hashtags": [], "urls": [{"indices": [98, 121], "display_url": "buff.ly/2pajfvC", "expanded_url": "http://buff.ly/2pajfvC", "url": "https://t.co/nHiZUDskZ2"}], "symbols": []}, "id_str": "853347688980598787", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sat Apr 15 20:41:58 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @theheartmob: Rainbow Lecture to explore harassment in online gameworlds via @UofR @willxcheng https://t.co/nHiZUDskZ2 https://t.co/sx5V\u2026", "retweet_count": 2, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 853269026163875840, "in_reply_to_user_id_str": "11095202", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "jamesdoc", "id_str": "11095202", "name": "James Doc", "id": 11095202, "indices": [0, 9]}, {"screen_name": "theglobechurch", "id_str": "2865479662", "name": "The Globe Church", "id": 2865479662, "indices": [10, 25]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "853269026163875840", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 853264466036830208, "created_at": "Sat Apr 15 15:29:23 +0000 2017", "in_reply_to_user_id": 11095202, "geo": null, "text": "@jamesdoc @theglobechurch *takes look at brownies*\n*gets on a plane*", "retweet_count": 0, "in_reply_to_screen_name": "jamesdoc", "in_reply_to_status_id_str": "853264466036830208", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 14, "truncated": false, "id": 853254569480138753, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "4sWeb", "id_str": "790089560", "name": "4sOnline", "id": 790089560, "indices": [93, 99]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "853254569480138753", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sat Apr 15 14:31:56 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "My paper on democratic political philosophies of social experimentation was accepted for the @4sWeb mtg in Aug. Can't wait for a great conv!", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 853033412487196672, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "mitsailing", "id_str": "153393007", "name": "MIT Sailing Pavilion", "id": 153393007, "indices": [41, 52]}], "hashtags": [], "urls": [{"indices": [68, 91], "display_url": "facebook.com/groups/3170456\u2026", "expanded_url": "https://www.facebook.com/groups/317045605039877/permalink/1332603133484114/", "url": "https://t.co/9fsZChaj6g"}], "symbols": []}, "id_str": "853033412487196672", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 14 23:53:08 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "How I spent my afternoon: helping splash @mitsailing's X-Dimension\n\nhttps://t.co/9fsZChaj6g", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 2, "truncated": true, "id": 852905628947427328, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 344235274, "url": "http://t.co/539gZbZ02B", "id_str": "344235274", "favourites_count": 647, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "aspeninstitute.org/c&s", "expanded_url": "http://aspeninstitute.org/c&s", "url": "http://t.co/539gZbZ02B"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000833689787/6bee38f21bdce5f383e72f4d372a399f_normal.jpeg", "profile_link_color": "1F98C7", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme2/bg.gif", "listed_count": 102, "screen_name": "aspencs", "profile_use_background_image": true, "followers_count": 1529, "statuses_count": 2370, "profile_background_color": "C6E2EE", "friends_count": 864, "created_at": "Thu Jul 28 19:04:44 +0000 2011", "location": " Washington, D.C.", "is_translator": false, "verified": false, "profile_sidebar_border_color": "C6E2EE", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme2/bg.gif", "has_extended_profile": false, "protected": false, "description": "The Communications & Society Program @aspeninstitute promotes integrated, thoughtful, values-based decision making in communications, media & information policy", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000833689787/6bee38f21bdce5f383e72f4d372a399f_normal.jpeg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/344235274/1386253484", "follow_request_sent": false, "profile_text_color": "663B12", "geo_enabled": true, "profile_sidebar_fill_color": "DAECF4", "name": "Aspen C&S", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [{"indices": [24, 37], "text": "guestscholar"}, {"indices": [52, 63], "text": "commpolicy"}, {"indices": [67, 90], "text": "ArtificialIntelligence"}], "urls": [{"indices": [116, 139], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/852905628947427328", "url": "https://t.co/2lQw31bvwg"}], "symbols": []}, "id_str": "852905628947427328", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 14 15:25:22 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "REMINDER: Apply to be a #guestscholar to either our #commpolicy or #ArtificialIntelligence conferences by May 1st.\u2026 https://t.co/2lQw31bvwg", "retweet_count": 4, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 852923146248364032, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "aspencs", "id_str": "344235274", "name": "Aspen C&S", "id": 344235274, "indices": [3, 11]}], "hashtags": [{"indices": [37, 50], "text": "guestscholar"}, {"indices": [65, 76], "text": "commpolicy"}, {"indices": [80, 103], "text": "ArtificialIntelligence"}], "urls": [], "symbols": []}, "id_str": "852923146248364032", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 14 16:34:59 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @aspencs: REMINDER: Apply to be a #guestscholar to either our #commpolicy or #ArtificialIntelligence conferences by May 1st. https://t.c\u2026", "retweet_count": 4, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": true, "favorite_count": 48, "truncated": false, "id": 852922975921766400, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "852922975921766400", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 14 16:34:18 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "Submitted the first draft of my dissertation. Taking the afternoon off", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 852921353263095808, "in_reply_to_user_id_str": "14109718", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "gloriakt", "id_str": "14109718", "name": "gloriakt", "id": 14109718, "indices": [0, 9]}, {"screen_name": "waynesutton", "id_str": "874", "name": "Wayne Sutton", "id": 874, "indices": [10, 22]}, {"screen_name": "reshmasaujani", "id_str": "57172253", "name": "Reshma Saujani", "id": 57172253, "indices": [23, 37]}, {"screen_name": "tglaisyer", "id_str": "1910381", "name": "Tom Glaisyer", "id": 1910381, "indices": [38, 48]}, {"screen_name": "s010n", "id_str": "174251966", "name": "Solon Barocas", "id": 174251966, "indices": [49, 55]}, {"screen_name": "gpanger", "id_str": "13126022", "name": "Galen Panger \u2615\ufe0f", "id": 13126022, "indices": [56, 64]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "852921353263095808", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 852915987095670784, "created_at": "Fri Apr 14 16:27:51 +0000 2017", "in_reply_to_user_id": 14109718, "geo": null, "text": "@gloriakt @waynesutton @reshmasaujani @tglaisyer @s010n @gpanger Thanks for the suggestion! I didn't know about this!", "retweet_count": 0, "in_reply_to_screen_name": "gloriakt", "in_reply_to_status_id_str": "852915987095670784", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 852892604329062400, "in_reply_to_user_id_str": "23214124", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "jtmatias", "id_str": "23214124", "name": "Jonathan Mat\u00edas", "id": 23214124, "indices": [0, 9]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "852892604329062400", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 852889087136628737, "created_at": "Fri Apr 14 14:33:37 +0000 2017", "in_reply_to_user_id": 23214124, "geo": null, "text": "@jtmatias no I didn't! Thanks for letting me know!", "retweet_count": 0, "in_reply_to_screen_name": "jtmatias", "in_reply_to_status_id_str": "852889087136628737", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 5, "truncated": true, "id": 852880722201382912, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [116, 139], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/852880722201382912", "url": "https://t.co/0kj6SL77pR"}], "symbols": []}, "id_str": "852880722201382912", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 55, "truncated": false, "id": 852874822728245248, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 10834752, "url": "http://t.co/gom6hTWCuB", "id_str": "10834752", "favourites_count": 972, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "randomwalker.info", "expanded_url": "http://randomwalker.info/", "url": "http://t.co/gom6hTWCuB"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/575322862917001217/QsEvFqX3_normal.jpeg", "profile_link_color": "1B95E0", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme2/bg.gif", "listed_count": 540, "screen_name": "random_walker", "profile_use_background_image": false, "followers_count": 9302, "statuses_count": 7395, "profile_background_color": "7898A6", "friends_count": 163, "created_at": "Tue Dec 04 11:14:14 +0000 2007", "location": "NYC & Princeton", "is_translator": false, "verified": true, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme2/bg.gif", "has_extended_profile": true, "protected": false, "description": "Princeton prof. I tweet about information privacy and security, Bitcoin, tech policy, science.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/575322862917001217/QsEvFqX3_normal.jpeg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/10834752/1488663432", "follow_request_sent": false, "profile_text_color": "301B08", "geo_enabled": false, "profile_sidebar_fill_color": "DAECF4", "name": "Arvind Narayanan", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [77, 100], "display_url": "randomwalker.info/publications/a\u2026", "expanded_url": "http://randomwalker.info/publications/ad-blocking-framework-techniques.pdf", "url": "https://t.co/VMwkUggcOi"}, {"indices": [112, 135], "display_url": "freedom-to-tinker.com/2017/04/14/the\u2026", "expanded_url": "https://freedom-to-tinker.com/2017/04/14/the-future-of-ad-blocking/", "url": "https://t.co/aJh5Aedblc"}], "symbols": []}, "id_str": "852874822728245248", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 14 13:22:58 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "The Future of Ad Blocking: An Analytical Framework and New Techniques\nPaper: https://t.co/VMwkUggcOi Blog post: https://t.co/aJh5Aedblc", "retweet_count": 37, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Fri Apr 14 13:46:24 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 852874822728245248, "geo": null, "text": "Browsers can lie to scripts about what they show, making it difficult for advertisers to get the upper hand in the\u2026 https://t.co/0kj6SL77pR", "retweet_count": 1, "in_reply_to_screen_name": null, "quoted_status_id_str": "852874822728245248", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 0, "truncated": false, "id": 852454103691272192, "in_reply_to_user_id_str": null, "user": {"time_zone": "Amsterdam", "notifications": false, "id": 916801304, "url": "https://t.co/VERHZZxdXM", "id_str": "916801304", "favourites_count": 284, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "vgresearcher.wordpress.com", "expanded_url": "https://vgresearcher.wordpress.com/", "url": "https://t.co/VERHZZxdXM"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/456520027445792768/jChqIFrK_normal.png", "profile_link_color": "307D7E", "lang": "en", "utc_offset": 7200, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme2/bg.gif", "listed_count": 41, "screen_name": "WY_Tang", "profile_use_background_image": false, "followers_count": 394, "statuses_count": 1578, "profile_background_color": "000000", "friends_count": 159, "created_at": "Wed Oct 31 12:40:06 +0000 2012", "location": "", "is_translator": false, "verified": false, "profile_sidebar_border_color": "000000", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme2/bg.gif", "has_extended_profile": false, "protected": false, "description": "Communication Ph.D. All things about #videogames research. Specializes in sexual harassment in online gaming. @ifkms postdoc", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/456520027445792768/jChqIFrK_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/916801304/1488034540", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": false, "profile_sidebar_fill_color": "000000", "name": "Wai Yen Tang", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [{"indices": [52, 59], "text": "Online"}, {"indices": [60, 69], "text": "internet"}, {"indices": [71, 78], "text": "Racism"}], "urls": [{"indices": [106, 129], "display_url": "dx.doi.org/10.1037/cou000\u2026", "expanded_url": "http://dx.doi.org/10.1037/cou0000205", "url": "https://t.co/DcfX9NcLRP"}], "symbols": []}, "id_str": "852454103691272192", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Thu Apr 13 09:31:10 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Development and initial validation of the Perceived #Online #internet #Racism Scale by Keum & Miller https://t.co/DcfX9NcLRP", "retweet_count": 1, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 852747393095262208, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "WY_Tang", "id_str": "916801304", "name": "Wai Yen Tang", "id": 916801304, "indices": [3, 11]}], "hashtags": [{"indices": [65, 72], "text": "Online"}, {"indices": [73, 82], "text": "internet"}, {"indices": [84, 91], "text": "Racism"}], "urls": [{"indices": [119, 142], "display_url": "dx.doi.org/10.1037/cou000\u2026", "expanded_url": "http://dx.doi.org/10.1037/cou0000205", "url": "https://t.co/DcfX9NcLRP"}], "symbols": []}, "id_str": "852747393095262208", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 14 04:56:36 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @WY_Tang: Development and initial validation of the Perceived #Online #internet #Racism Scale by Keum & Miller https://t.co/DcfX9NcLRP", "retweet_count": 1, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 74, "truncated": true, "id": 852683128040828929, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 796745155, "url": "https://t.co/DKv2pNevEM", "id_str": "796745155", "favourites_count": 10890, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "maimunamajumder.com", "expanded_url": "http://maimunamajumder.com/", "url": "https://t.co/DKv2pNevEM"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/822672164537171968/82uIbO6y_normal.jpg", "profile_link_color": "3C3C3C", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/378800000078279694/3bfc9ef91f3f82f056845c78d376fb66.jpeg", "listed_count": 236, "screen_name": "maiamajumder", "profile_use_background_image": false, "followers_count": 3518, "statuses_count": 12953, "profile_background_color": "FFFFFF", "friends_count": 262, "created_at": "Sat Sep 01 19:43:21 +0000 2012", "location": "Boston, MA, USA", "is_translator": false, "verified": true, "profile_sidebar_border_color": "000000", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/378800000078279694/3bfc9ef91f3f82f056845c78d376fb66.jpeg", "has_extended_profile": true, "protected": false, "description": "Kindergarten dropout turned data geek. Presently: @MIT (SM/PhD), @healthmap. Past: @TuftsUniversity (BS/MPH), @icddr_b. Bylines: @WIRED, @FiveThirtyEight, @NPR.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/822672164537171968/82uIbO6y_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/796745155/1484975294", "follow_request_sent": false, "profile_text_color": "634047", "geo_enabled": true, "profile_sidebar_fill_color": "E3E2DE", "name": "Maia Majumder", "default_profile_image": false, "profile_background_tile": false, "translator_type": "regular", "following": false}, "entities": {"user_mentions": [], "hashtags": [{"indices": [30, 41], "text": "California"}, {"indices": [44, 56], "text": "vaccination"}, {"indices": [72, 78], "text": "SB277"}], "urls": [{"indices": [117, 140], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/852683128040828929", "url": "https://t.co/2adlABwsz7"}], "symbols": []}, "id_str": "852683128040828929", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 14 00:41:14 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "New data show improvements in #California's #vaccination rates (thanks, #SB277!), but there's still work to be done\u2026 https://t.co/2adlABwsz7", "retweet_count": 35, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 852718379278491648, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "maiamajumder", "id_str": "796745155", "name": "Maia Majumder", "id": 796745155, "indices": [3, 16]}], "hashtags": [{"indices": [48, 59], "text": "California"}, {"indices": [62, 74], "text": "vaccination"}, {"indices": [90, 96], "text": "SB277"}], "urls": [], "symbols": []}, "id_str": "852718379278491648", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 14 03:01:19 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @maiamajumder: New data show improvements in #California's #vaccination rates (thanks, #SB277!), but there's still work to be done: http\u2026", "retweet_count": 35, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 8, "truncated": false, "id": 852365244018053120, "in_reply_to_user_id_str": null, "user": {"time_zone": "Pacific Time (US & Canada)", "notifications": false, "id": 14335332, "url": "https://t.co/rfQwd0LVZb", "id_str": "14335332", "favourites_count": 12987, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "danwin.com", "expanded_url": "http://danwin.com", "url": "https://t.co/rfQwd0LVZb"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/3134267999/54b1603856efb494c0fb6095089b769a_normal.jpeg", "profile_link_color": "000000", "lang": "en", "utc_offset": -25200, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme3/bg.gif", "listed_count": 874, "screen_name": "dancow", "profile_use_background_image": true, "followers_count": 10110, "statuses_count": 32908, "profile_background_color": "EDECE9", "friends_count": 7768, "created_at": "Tue Apr 08 19:39:54 +0000 2008", "location": "Stanford, California", "is_translator": false, "verified": true, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme3/bg.gif", "has_extended_profile": true, "protected": false, "description": "Proud son of war refugees. \n@Stanford visiting professor in computational journalism. Past: @Skift, @ProPublica, @sacbee_news.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/3134267999/54b1603856efb494c0fb6095089b769a_normal.jpeg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/14335332/1474893314", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "EFEFEF", "name": "Dan Nguyen", "default_profile_image": false, "profile_background_tile": false, "translator_type": "regular", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [60, 83], "display_url": "latimes.com/nation/la-na-u\u2026", "expanded_url": "http://www.latimes.com/nation/la-na-united-david-dao-20170412-story.html", "url": "https://t.co/QEFxuPzgjV"}], "symbols": []}, "id_str": "852365244018053120", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Thu Apr 13 03:38:05 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "LOLing at American journalists discovering Vietnamese names https://t.co/QEFxuPzgjV", "retweet_count": 5, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 852390888017997824, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "dancow", "id_str": "14335332", "name": "Dan Nguyen", "id": 14335332, "indices": [3, 10]}], "hashtags": [], "urls": [{"indices": [72, 95], "display_url": "latimes.com/nation/la-na-u\u2026", "expanded_url": "http://www.latimes.com/nation/la-na-united-david-dao-20170412-story.html", "url": "https://t.co/QEFxuPzgjV"}], "symbols": []}, "id_str": "852390888017997824", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Thu Apr 13 05:19:59 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @dancow: LOLing at American journalists discovering Vietnamese names https://t.co/QEFxuPzgjV", "retweet_count": 5, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 343, "truncated": false, "id": 852341472640872449, "in_reply_to_user_id_str": null, "user": {"time_zone": "Central Time (US & Canada)", "notifications": false, "id": 69133574, "url": "https://t.co/DWqWlxbOKK", "id_str": "69133574", "favourites_count": 7856, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "hadley.nz", "expanded_url": "http://hadley.nz", "url": "https://t.co/DWqWlxbOKK"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/677589103710306304/m56O6Wgf_normal.jpg", "profile_link_color": "0084B4", "lang": "en", "utc_offset": -18000, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme15/bg.png", "listed_count": 1819, "screen_name": "hadleywickham", "profile_use_background_image": true, "followers_count": 42860, "statuses_count": 24440, "profile_background_color": "022330", "friends_count": 294, "created_at": "Wed Aug 26 23:34:46 +0000 2009", "location": "Houston, TX", "is_translator": false, "verified": true, "profile_sidebar_border_color": "A8C7F7", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme15/bg.png", "has_extended_profile": true, "protected": false, "description": "R, data, visualisation.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/677589103710306304/m56O6Wgf_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/69133574/1404410942", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "C0DFEC", "name": "Hadley Wickham", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [{"indices": [88, 98], "text": "tidyverse"}], "urls": [{"indices": [64, 87], "display_url": "ggplot2.tidyverse.org", "expanded_url": "http://ggplot2.tidyverse.org", "url": "https://t.co/nXdDfdHfEZ"}], "symbols": []}, "id_str": "852341472640872449", "source": "Tweetbot for i\u039fS", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Thu Apr 13 02:03:37 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "I think I forgot to mention that ggplot2 got a new website too: https://t.co/nXdDfdHfEZ #tidyverse", "retweet_count": 162, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 852341622033567745, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "hadleywickham", "id_str": "69133574", "name": "Hadley Wickham", "id": 69133574, "indices": [3, 17]}], "hashtags": [{"indices": [107, 117], "text": "tidyverse"}], "urls": [{"indices": [83, 106], "display_url": "ggplot2.tidyverse.org", "expanded_url": "http://ggplot2.tidyverse.org", "url": "https://t.co/nXdDfdHfEZ"}], "symbols": []}, "id_str": "852341622033567745", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Thu Apr 13 02:04:13 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @hadleywickham: I think I forgot to mention that ggplot2 got a new website too: https://t.co/nXdDfdHfEZ #tidyverse", "retweet_count": 162, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 3, "truncated": true, "id": 852314895072858116, "in_reply_to_user_id_str": "221668486", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "kopshtik", "id_str": "221668486", "name": "Oliver Keyes", "id": 221668486, "indices": [0, 9]}], "hashtags": [], "urls": [{"indices": [117, 140], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/852314895072858116", "url": "https://t.co/rfh7wulTV4"}], "symbols": []}, "id_str": "852314895072858116", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 852314645683617792, "created_at": "Thu Apr 13 00:18:00 +0000 2017", "in_reply_to_user_id": 221668486, "geo": null, "text": "@kopshtik My public defense is May 1st, the MIT Dspace open access version will be out soon after. Looking for venu\u2026 https://t.co/rfh7wulTV4", "retweet_count": 1, "in_reply_to_screen_name": "kopshtik", "in_reply_to_status_id_str": "852314645683617792", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 852314526859055109, "in_reply_to_user_id_str": "221668486", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "kopshtik", "id_str": "221668486", "name": "Oliver Keyes", "id": 221668486, "indices": [0, 9]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "852314526859055109", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 852314434370392065, "created_at": "Thu Apr 13 00:16:33 +0000 2017", "in_reply_to_user_id": 221668486, "geo": null, "text": "@kopshtik chapter one of the dissertation! :D", "retweet_count": 0, "in_reply_to_screen_name": "kopshtik", "in_reply_to_status_id_str": "852314434370392065", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 2, "truncated": false, "id": 852314299884335104, "in_reply_to_user_id_str": "221668486", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "kopshtik", "id_str": "221668486", "name": "Oliver Keyes", "id": 221668486, "indices": [0, 9]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "852314299884335104", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 852313973747703808, "created_at": "Thu Apr 13 00:15:38 +0000 2017", "in_reply_to_user_id": 221668486, "geo": null, "text": "@kopshtik Yep. Also (4) Jewish refugees who reshaped statistics into a tool for democratic societies", "retweet_count": 0, "in_reply_to_screen_name": "kopshtik", "in_reply_to_status_id_str": "852313973747703808", "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 322, "truncated": true, "id": 844966779759808512, "in_reply_to_user_id_str": "189895397", "user": {"time_zone": "Paris", "notifications": false, "id": 189895397, "url": "https://t.co/4sdEqImB8G", "id_str": "189895397", "favourites_count": 8241, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "c2montreal.com/speaker/monika\u2026", "expanded_url": "https://www.c2montreal.com/speaker/monika-bielskyte/", "url": "https://t.co/4sdEqImB8G"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/821093751519055872/TSgoab1F_normal.jpg", "profile_link_color": "999999", "lang": "en", "utc_offset": 7200, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/378800000159978652/vbS3QW6e.jpeg", "listed_count": 169, "screen_name": "monikabielskyte", "profile_use_background_image": true, "followers_count": 3707, "statuses_count": 15203, "profile_background_color": "000000", "friends_count": 1134, "created_at": "Sun Sep 12 14:44:06 +0000 2010", "location": "around the world", "is_translator": false, "verified": false, "profile_sidebar_border_color": "000000", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/378800000159978652/vbS3QW6e.jpeg", "has_extended_profile": true, "protected": false, "description": "creative, strategist, troublemaker. prototyping futures. deep down the rabbit hole of VR. pathologically curious. always for diversity \u26a1\ufe0f", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/821093751519055872/TSgoab1F_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/189895397/1445725729", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": true, "profile_sidebar_fill_color": "000000", "name": "monika bielskyte", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [117, 140], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/844966779759808512", "url": "https://t.co/7qSthL5Bxv"}], "symbols": []}, "id_str": "844966779759808512", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 844966425576034305, "created_at": "Thu Mar 23 17:39:13 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": 189895397, "geo": null, "text": "Cold, sterile spaces seem so passe.. Break that light through the prism, work transparencies. New conversations req\u2026 https://t.co/7qSthL5Bxv", "retweet_count": 66, "in_reply_to_screen_name": "monikabielskyte", "in_reply_to_status_id_str": "844966425576034305", "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 852298671504994309, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "monikabielskyte", "id_str": "189895397", "name": "monika bielskyte", "id": 189895397, "indices": [3, 19]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "852298671504994309", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 23:13:32 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @monikabielskyte: Cold, sterile spaces seem so passe.. Break that light through the prism, work transparencies. New conversations requir\u2026", "retweet_count": 66, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 561, "truncated": true, "id": 844965267553898496, "in_reply_to_user_id_str": "189895397", "user": {"time_zone": "Paris", "notifications": false, "id": 189895397, "url": "https://t.co/4sdEqImB8G", "id_str": "189895397", "favourites_count": 8241, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "c2montreal.com/speaker/monika\u2026", "expanded_url": "https://www.c2montreal.com/speaker/monika-bielskyte/", "url": "https://t.co/4sdEqImB8G"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/821093751519055872/TSgoab1F_normal.jpg", "profile_link_color": "999999", "lang": "en", "utc_offset": 7200, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/378800000159978652/vbS3QW6e.jpeg", "listed_count": 169, "screen_name": "monikabielskyte", "profile_use_background_image": true, "followers_count": 3707, "statuses_count": 15203, "profile_background_color": "000000", "friends_count": 1134, "created_at": "Sun Sep 12 14:44:06 +0000 2010", "location": "around the world", "is_translator": false, "verified": false, "profile_sidebar_border_color": "000000", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/378800000159978652/vbS3QW6e.jpeg", "has_extended_profile": true, "protected": false, "description": "creative, strategist, troublemaker. prototyping futures. deep down the rabbit hole of VR. pathologically curious. always for diversity \u26a1\ufe0f", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/821093751519055872/TSgoab1F_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/189895397/1445725729", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": true, "profile_sidebar_fill_color": "000000", "name": "monika bielskyte", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [120, 143], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/844965267553898496", "url": "https://t.co/192joacbgG"}], "symbols": []}, "id_str": "844965267553898496", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 844964790959296513, "created_at": "Thu Mar 23 17:33:13 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": 189895397, "geo": null, "text": "Too much Hwood sci-fi is stuck with retro ideas about future. The world of actual research in science & tech space\u2026 https://t.co/192joacbgG", "retweet_count": 194, "in_reply_to_screen_name": "monikabielskyte", "in_reply_to_status_id_str": "844964790959296513", "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 852298598826090496, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "monikabielskyte", "id_str": "189895397", "name": "monika bielskyte", "id": 189895397, "indices": [3, 19]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "852298598826090496", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 23:13:15 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @monikabielskyte: Too much Hwood sci-fi is stuck with retro ideas about future. The world of actual research in science & tech space is\u2026", "retweet_count": 194, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 852285887606030336, "in_reply_to_user_id_str": "14392797", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "andresmh", "id_str": "14392797", "name": "Andr\u00e9s Monroy", "id": 14392797, "indices": [0, 9]}, {"screen_name": "erhardt", "id_str": "5721202", "name": "Erhardt Graeff", "id": 5721202, "indices": [10, 18]}, {"screen_name": "OddLetters", "id_str": "17789751", "name": "Molly Sauter", "id": 17789751, "indices": [19, 30]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "852285887606030336", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 852276677501607936, "created_at": "Wed Apr 12 22:22:44 +0000 2017", "in_reply_to_user_id": 14392797, "geo": null, "text": "@andresmh @erhardt @OddLetters I was actually wondering about that too!", "retweet_count": 0, "in_reply_to_screen_name": "andresmh", "in_reply_to_status_id_str": "852276677501607936", "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 28, "truncated": false, "id": 852201054993338368, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 57571700, "url": "http://t.co/CNSumxN3ep", "id_str": "57571700", "favourites_count": 28, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "oii.ox.ac.uk/people/yasseri/", "expanded_url": "http://www.oii.ox.ac.uk/people/yasseri/", "url": "http://t.co/CNSumxN3ep"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/553330447413833729/mShUX9ZG_normal.jpeg", "profile_link_color": "ABB8C2", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/731560088/fa12dfcd6fdb786b63e3334bc191a8dd.png", "listed_count": 128, "screen_name": "TahaYasseri", "profile_use_background_image": true, "followers_count": 1884, "statuses_count": 1882, "profile_background_color": "C0DEED", "friends_count": 95, "created_at": "Fri Jul 17 06:25:31 +0000 2009", "location": "Oxford", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/731560088/fa12dfcd6fdb786b63e3334bc191a8dd.png", "has_extended_profile": true, "protected": false, "description": "Assistant Professor in Computational Social Science @oiioxford University Oxford, Faculty Fellow @turinginst & Research Fellow @WolfsonCollege. \nPhD in Physics.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/553330447413833729/mShUX9ZG_normal.jpeg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/57571700/1420760076", "follow_request_sent": false, "profile_text_color": "0084B4", "geo_enabled": true, "profile_sidebar_fill_color": "DDEEF6", "name": "Taha Yasseri", "default_profile_image": false, "profile_background_tile": true, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [{"indices": [22, 32], "text": "SocInfo17"}], "media": [{"indices": [116, 139], "type": "photo", "media_url": "http://pbs.twimg.com/media/C9Od5gOWsAE-6_9.jpg", "id": 852198365731401729, "media_url_https": "https://pbs.twimg.com/media/C9Od5gOWsAE-6_9.jpg", "id_str": "852198365731401729", "url": "https://t.co/2YkD391Tg4", "display_url": "pic.twitter.com/2YkD391Tg4", "sizes": {"small": {"h": 364, "w": 680, "resize": "fit"}, "medium": {"h": 625, "w": 1166, "resize": "fit"}, "large": {"h": 625, "w": 1166, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}}, "expanded_url": "https://twitter.com/TahaYasseri/status/852201054993338368/photo/1"}], "urls": [{"indices": [33, 56], "display_url": "socinfo2017.oii.ox.ac.uk", "expanded_url": "http://socinfo2017.oii.ox.ac.uk/", "url": "https://t.co/TQGFDnyzvv"}], "symbols": []}, "id_str": "852201054993338368", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "extended_entities": {"media": [{"indices": [116, 139], "type": "photo", "media_url": "http://pbs.twimg.com/media/C9Od5gOWsAE-6_9.jpg", "id": 852198365731401729, "media_url_https": "https://pbs.twimg.com/media/C9Od5gOWsAE-6_9.jpg", "id_str": "852198365731401729", "url": "https://t.co/2YkD391Tg4", "display_url": "pic.twitter.com/2YkD391Tg4", "sizes": {"small": {"h": 364, "w": 680, "resize": "fit"}, "medium": {"h": 625, "w": 1166, "resize": "fit"}, "large": {"h": 625, "w": 1166, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}}, "expanded_url": "https://twitter.com/TahaYasseri/status/852201054993338368/photo/1"}]}, "created_at": "Wed Apr 12 16:45:39 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Submit your papers to #SocInfo17 https://t.co/TQGFDnyzvv Deadline: End of May. Conference: 13-15 September, Oxford. https://t.co/2YkD391Tg4", "retweet_count": 33, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 852250133337174021, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "TahaYasseri", "id_str": "57571700", "name": "Taha Yasseri", "id": 57571700, "indices": [3, 15]}], "hashtags": [{"indices": [39, 49], "text": "SocInfo17"}], "urls": [{"indices": [50, 73], "display_url": "socinfo2017.oii.ox.ac.uk", "expanded_url": "http://socinfo2017.oii.ox.ac.uk/", "url": "https://t.co/TQGFDnyzvv"}], "symbols": []}, "id_str": "852250133337174021", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 20:00:40 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @TahaYasseri: Submit your papers to #SocInfo17 https://t.co/TQGFDnyzvv Deadline: End of May. Conference: 13-15 September, Oxford. https:\u2026", "retweet_count": 33, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 2, "truncated": false, "id": 852160174324408326, "in_reply_to_user_id_str": null, "user": {"time_zone": "Amsterdam", "notifications": false, "id": 916801304, "url": "https://t.co/VERHZZxdXM", "id_str": "916801304", "favourites_count": 284, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "vgresearcher.wordpress.com", "expanded_url": "https://vgresearcher.wordpress.com/", "url": "https://t.co/VERHZZxdXM"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/456520027445792768/jChqIFrK_normal.png", "profile_link_color": "307D7E", "lang": "en", "utc_offset": 7200, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme2/bg.gif", "listed_count": 41, "screen_name": "WY_Tang", "profile_use_background_image": false, "followers_count": 394, "statuses_count": 1578, "profile_background_color": "000000", "friends_count": 159, "created_at": "Wed Oct 31 12:40:06 +0000 2012", "location": "", "is_translator": false, "verified": false, "profile_sidebar_border_color": "000000", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme2/bg.gif", "has_extended_profile": false, "protected": false, "description": "Communication Ph.D. All things about #videogames research. Specializes in sexual harassment in online gaming. @ifkms postdoc", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/456520027445792768/jChqIFrK_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/916801304/1488034540", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": false, "profile_sidebar_fill_color": "000000", "name": "Wai Yen Tang", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [56, 79], "display_url": "tandfonline.com/toc/rcom20/cur\u2026", "expanded_url": "http://www.tandfonline.com/toc/rcom20/current", "url": "https://t.co/JmBefsKsvw"}], "symbols": []}, "id_str": "852160174324408326", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 14:03:12 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Quite interesting: Journal of Graphic Novels and Comics\nhttps://t.co/JmBefsKsvw", "retweet_count": 1, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 852250102483779586, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "WY_Tang", "id_str": "916801304", "name": "Wai Yen Tang", "id": 916801304, "indices": [3, 11]}], "hashtags": [], "urls": [{"indices": [69, 92], "display_url": "tandfonline.com/toc/rcom20/cur\u2026", "expanded_url": "http://www.tandfonline.com/toc/rcom20/current", "url": "https://t.co/JmBefsKsvw"}], "symbols": []}, "id_str": "852250102483779586", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 20:00:33 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @WY_Tang: Quite interesting: Journal of Graphic Novels and Comics\nhttps://t.co/JmBefsKsvw", "retweet_count": 1, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 29, "truncated": false, "id": 852245660820799488, "in_reply_to_user_id_str": null, "user": {"time_zone": "Casablanca", "notifications": false, "id": 121413335, "url": "https://t.co/r63rivAI8W", "id_str": "121413335", "favourites_count": 1864, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "tisne.org", "expanded_url": "http://www.tisne.org", "url": "https://t.co/r63rivAI8W"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/745617795224838144/7XZaKbMh_normal.jpg", "profile_link_color": "2C4CCF", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/378800000078620662/6076c922325225551c91d5ad56d59cfb.jpeg", "listed_count": 335, "screen_name": "martintisne", "profile_use_background_image": true, "followers_count": 5090, "statuses_count": 12354, "profile_background_color": "352726", "friends_count": 1321, "created_at": "Tue Mar 09 12:27:13 +0000 2010", "location": "", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/378800000078620662/6076c922325225551c91d5ad56d59cfb.jpeg", "has_extended_profile": false, "protected": false, "description": "Investment Partner, Omidyar Network. Open Govt Partnership, Open Data Charter & Publish What You Fund co-founder. Openness, Privacy, AI ethics", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/745617795224838144/7XZaKbMh_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/121413335/1398421433", "follow_request_sent": false, "profile_text_color": "3E4415", "geo_enabled": true, "profile_sidebar_fill_color": "99CC33", "name": "Martin Tisn\u00e9", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "OmidyarNetwork", "id_str": "61542667", "name": "Omidyar Network", "id": 61542667, "indices": [22, 37]}, {"screen_name": "datasociety", "id_str": "1894231788", "name": "Data & Society", "id": 1894231788, "indices": [54, 66]}, {"screen_name": "zephoria", "id_str": "633", "name": "danah boyd", "id": 633, "indices": [91, 100]}, {"screen_name": "janethaven", "id_str": "17065569", "name": "Janet Haven", "id": 17065569, "indices": [101, 112]}], "hashtags": [], "urls": [{"indices": [67, 90], "display_url": "omidyar.com/blog/why-we-in\u2026", "expanded_url": "http://www.omidyar.com/blog/why-we-invested-data-society", "url": "https://t.co/MJufBtcFtz"}], "symbols": []}, "id_str": "852245660820799488", "source": "TweetDeck", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 19:42:54 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Delighted to announce @OmidyarNetwork\u2019s investment in @datasociety https://t.co/MJufBtcFtz @zephoria @janethaven", "retweet_count": 14, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 852245836239167490, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "martintisne", "id_str": "121413335", "name": "Martin Tisn\u00e9", "id": 121413335, "indices": [3, 15]}, {"screen_name": "OmidyarNetwork", "id_str": "61542667", "name": "Omidyar Network", "id": 61542667, "indices": [39, 54]}, {"screen_name": "datasociety", "id_str": "1894231788", "name": "Data & Society", "id": 1894231788, "indices": [71, 83]}, {"screen_name": "zephoria", "id_str": "633", "name": "danah boyd", "id": 633, "indices": [108, 117]}, {"screen_name": "janethaven", "id_str": "17065569", "name": "Janet Haven", "id": 17065569, "indices": [118, 129]}], "hashtags": [], "urls": [{"indices": [84, 107], "display_url": "omidyar.com/blog/why-we-in\u2026", "expanded_url": "http://www.omidyar.com/blog/why-we-invested-data-society", "url": "https://t.co/MJufBtcFtz"}], "symbols": []}, "id_str": "852245836239167490", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 19:43:35 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @martintisne: Delighted to announce @OmidyarNetwork\u2019s investment in @datasociety https://t.co/MJufBtcFtz @zephoria @janethaven", "retweet_count": 14, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 10, "truncated": false, "id": 852220422930264064, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 5721202, "url": "https://t.co/y8xeQOQAar", "id_str": "5721202", "favourites_count": 1881, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "erhardtgraeff.com", "expanded_url": "http://erhardtgraeff.com", "url": "https://t.co/y8xeQOQAar"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/637023480534319105/9vrI8WUP_normal.png", "profile_link_color": "004273", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/429278889/tahoe.jpg", "listed_count": 223, "screen_name": "erhardt", "profile_use_background_image": true, "followers_count": 2635, "statuses_count": 5100, "profile_background_color": "000000", "friends_count": 1482, "created_at": "Wed May 02 18:51:38 +0000 2007", "location": "somerville, ma", "is_translator": false, "verified": false, "profile_sidebar_border_color": "EEEEEE", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/429278889/tahoe.jpg", "has_extended_profile": false, "protected": false, "description": "Sociologist and Civic Technologist working with @civicMIT, @medialab, @AwesomeFound", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/637023480534319105/9vrI8WUP_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/5721202/1399499176", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "EFEFEF", "name": "Erhardt Graeff", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "OddLetters", "id_str": "17789751", "name": "Molly Sauter", "id": 17789751, "indices": [104, 115]}], "hashtags": [], "urls": [{"indices": [116, 139], "display_url": "limn.it/the-illicit-au\u2026", "expanded_url": "http://limn.it/the-illicit-aura-of-information/", "url": "https://t.co/tBbsWhwJn2"}], "symbols": []}, "id_str": "852220422930264064", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 18:02:36 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Unfiltered data dumps can displace experts with conspiracy theorists and confuse privacy with secrecy. \u2013@oddletters https://t.co/tBbsWhwJn2", "retweet_count": 7, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 852231803331104770, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "erhardt", "id_str": "5721202", "name": "Erhardt Graeff", "id": 5721202, "indices": [3, 11]}, {"screen_name": "OddLetters", "id_str": "17789751", "name": "Molly Sauter", "id": 17789751, "indices": [117, 128]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "852231803331104770", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 18:47:50 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @erhardt: Unfiltered data dumps can displace experts with conspiracy theorists and confuse privacy with secrecy. \u2013@oddletters https://t.\u2026", "retweet_count": 7, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 1, "truncated": false, "id": 852190803602624513, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 5721202, "url": "https://t.co/y8xeQOQAar", "id_str": "5721202", "favourites_count": 1881, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "erhardtgraeff.com", "expanded_url": "http://erhardtgraeff.com", "url": "https://t.co/y8xeQOQAar"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/637023480534319105/9vrI8WUP_normal.png", "profile_link_color": "004273", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/429278889/tahoe.jpg", "listed_count": 223, "screen_name": "erhardt", "profile_use_background_image": true, "followers_count": 2635, "statuses_count": 5100, "profile_background_color": "000000", "friends_count": 1482, "created_at": "Wed May 02 18:51:38 +0000 2007", "location": "somerville, ma", "is_translator": false, "verified": false, "profile_sidebar_border_color": "EEEEEE", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/429278889/tahoe.jpg", "has_extended_profile": false, "protected": false, "description": "Sociologist and Civic Technologist working with @civicMIT, @medialab, @AwesomeFound", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/637023480534319105/9vrI8WUP_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/5721202/1399499176", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "EFEFEF", "name": "Erhardt Graeff", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [85, 108], "display_url": "vox.com/policy-and-pol\u2026", "expanded_url": "http://www.vox.com/policy-and-politics/2017/4/12/15259438/social-media-political-polarization", "url": "https://t.co/j3VBrSd8HH"}], "symbols": []}, "id_str": "852190803602624513", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 16:04:55 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "New study of political polarization suggests social media can't be so easily blamed. https://t.co/j3VBrSd8HH", "retweet_count": 2, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 852191142896644098, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "erhardt", "id_str": "5721202", "name": "Erhardt Graeff", "id": 5721202, "indices": [3, 11]}], "hashtags": [], "urls": [{"indices": [98, 121], "display_url": "vox.com/policy-and-pol\u2026", "expanded_url": "http://www.vox.com/policy-and-politics/2017/4/12/15259438/social-media-political-polarization", "url": "https://t.co/j3VBrSd8HH"}], "symbols": []}, "id_str": "852191142896644098", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 16:06:16 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @erhardt: New study of political polarization suggests social media can't be so easily blamed. https://t.co/j3VBrSd8HH", "retweet_count": 2, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 3, "truncated": false, "id": 852169587416326145, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [109, 132], "display_url": "twitter.com/andrewrsorkin/\u2026", "expanded_url": "https://twitter.com/andrewrsorkin/status/851935063193378817", "url": "https://t.co/g7dMqjpqOT"}], "symbols": []}, "id_str": "852169587416326145", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 44, "truncated": true, "id": 851935063193378817, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 33792634, "url": "https://t.co/iUhvmVuRKJ", "id_str": "33792634", "favourites_count": 8417, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "nytimes.com/dealbook", "expanded_url": "http://nytimes.com/dealbook", "url": "https://t.co/iUhvmVuRKJ"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/673272991816548353/tn5thWZR_normal.jpg", "profile_link_color": "0084B4", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme15/bg.png", "listed_count": 7287, "screen_name": "andrewrsorkin", "profile_use_background_image": true, "followers_count": 713786, "statuses_count": 3432, "profile_background_color": "022330", "friends_count": 2061, "created_at": "Tue Apr 21 03:22:08 +0000 2009", "location": "New York, New York", "is_translator": false, "verified": true, "profile_sidebar_border_color": "A8C7F7", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme15/bg.png", "has_extended_profile": false, "protected": false, "description": "@NYTimes Columnist/Editor & @CNBC Squawk Box Co-Anchor. Author, Too Big To Fail. Founder, @DealBook. Co-Creator/Exec Producer, BILLIONS @Showtime. Proud Dad.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/673272991816548353/tn5thWZR_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/33792634/1452257372", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "C0DFEC", "name": "Andrew Ross Sorkin", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "duffmcdonald", "id_str": "220393924", "name": "Duff McDonald", "id": 220393924, "indices": [85, 98]}], "hashtags": [], "urls": [{"indices": [117, 140], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/851935063193378817", "url": "https://t.co/hLd6GBSi4r"}], "symbols": []}, "id_str": "851935063193378817", "source": "Buffer", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Apr 11 23:08:41 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "What timing! Harvard Business Review is out w/ a repudiation of \"agency theory\" that @duffmcdonald says ruined HBS.\u2026 https://t.co/hLd6GBSi4r", "retweet_count": 11, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 14:40:36 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 851935063193378817, "geo": null, "text": "\"The idea that corporate managers should make maximizing shareholder value their goal is relatively recent.\" https://t.co/g7dMqjpqOT", "retweet_count": 0, "in_reply_to_screen_name": null, "quoted_status_id_str": "851935063193378817", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 3, "truncated": false, "id": 852169041095659520, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [33, 56], "display_url": "twitter.com/bkeegan/status\u2026", "expanded_url": "https://twitter.com/bkeegan/status/852168453691539461", "url": "https://t.co/soCHAUwNwX"}], "symbols": []}, "id_str": "852169041095659520", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 0, "truncated": false, "id": 852168453691539461, "in_reply_to_user_id_str": null, "user": {"time_zone": "Mountain Time (US & Canada)", "notifications": false, "id": 16629994, "url": "https://t.co/HkgceIuHWt", "id_str": "16629994", "favourites_count": 2801, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "brianckeegan.com", "expanded_url": "http://www.brianckeegan.com", "url": "https://t.co/HkgceIuHWt"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/664544029225320452/s_W4ACEB_normal.png", "profile_link_color": "0084B4", "lang": "en", "utc_offset": -21600, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme15/bg.png", "listed_count": 466, "screen_name": "bkeegan", "profile_use_background_image": true, "followers_count": 5290, "statuses_count": 22916, "profile_background_color": "022330", "friends_count": 1206, "created_at": "Tue Oct 07 14:09:00 +0000 2008", "location": "Boulder, CO", "is_translator": false, "verified": false, "profile_sidebar_border_color": "A8C7F7", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme15/bg.png", "has_extended_profile": true, "protected": false, "description": "{Social, Data, Network} Scientist. @CUInfoScience assistant professor. Collaboration, news, games, misinformation, sequences. #resist", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/664544029225320452/s_W4ACEB_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/16629994/1349830806", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "C0DFEC", "name": "Brian Keegan", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "natematias", "id_str": "52332354", "name": "J. Nathan Matias", "id": 52332354, "indices": [76, 87]}], "hashtags": [{"indices": [66, 72], "text": "arXiv"}], "urls": [{"indices": [89, 112], "display_url": "arxiv.org/abs/1704.03289", "expanded_url": "http://arxiv.org/abs/1704.03289", "url": "https://t.co/1kY9HAUzBo"}], "symbols": []}, "id_str": "852168453691539461", "source": "Twitter for iPhone", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 14:36:06 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "\"Impact Of Content Features For Automatic Online Abuse Detection\" #arXiv cc @natematias https://t.co/1kY9HAUzBo", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 14:38:26 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 852168453691539461, "geo": null, "text": "Another machine learning attempt https://t.co/soCHAUwNwX", "retweet_count": 0, "in_reply_to_screen_name": null, "quoted_status_id_str": "852168453691539461", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 53, "truncated": true, "id": 852165702140260352, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 13982132, "url": "http://t.co/0XMS8rGngp", "id_str": "13982132", "favourites_count": 1495, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "media.mit.edu", "expanded_url": "http://www.media.mit.edu", "url": "http://t.co/0XMS8rGngp"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/524255035077566464/vSun8cBu_normal.png", "profile_link_color": "333BCC", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/571951725/so6nd4sfcb4znqtjllhj.jpeg", "listed_count": 11974, "screen_name": "medialab", "profile_use_background_image": false, "followers_count": 378905, "statuses_count": 11076, "profile_background_color": "DBE9ED", "friends_count": 1106, "created_at": "Tue Feb 26 03:06:21 +0000 2008", "location": "Cambridge, Massachusetts", "is_translator": false, "verified": true, "profile_sidebar_border_color": "C0DEED", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/571951725/so6nd4sfcb4znqtjllhj.jpeg", "has_extended_profile": false, "protected": false, "description": "News from the MIT Media Lab", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/524255035077566464/vSun8cBu_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/13982132/1401389384", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "DDEEF6", "name": "MIT Media Lab", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": true}, "entities": {"user_mentions": [{"screen_name": "eboyden3", "id_str": "17230461", "name": "Ed Boyden", "id": 17230461, "indices": [19, 28]}, {"screen_name": "Joi", "id_str": "691353", "name": "Joi Ito", "id": 691353, "indices": [33, 37]}], "hashtags": [], "urls": [{"indices": [104, 127], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/852165702140260352", "url": "https://t.co/Kc3RQkOnDT"}], "symbols": []}, "id_str": "852165702140260352", "source": "Hootsuite", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 14:25:10 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Congratulations to @eboyden3 and @Joi on being elected into the American Academy of Arts and Sciences!\u2026 https://t.co/Kc3RQkOnDT", "retweet_count": 16, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 852168180290244608, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "medialab", "id_str": "13982132", "name": "MIT Media Lab", "id": 13982132, "indices": [3, 12]}, {"screen_name": "eboyden3", "id_str": "17230461", "name": "Ed Boyden", "id": 17230461, "indices": [33, 42]}, {"screen_name": "Joi", "id_str": "691353", "name": "Joi Ito", "id": 691353, "indices": [47, 51]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "852168180290244608", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 14:35:01 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @medialab: Congratulations to @eboyden3 and @Joi on being elected into the American Academy of Arts and Sciences! https://t.co/fy7I8vic2\u2026", "retweet_count": 16, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 20, "truncated": false, "id": 852130340432998400, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 89477148, "url": "https://t.co/d5qeDpYMtj", "id_str": "89477148", "favourites_count": 7784, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "library.harvard.edu/hou", "expanded_url": "http://library.harvard.edu/hou", "url": "https://t.co/d5qeDpYMtj"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/568093631458705408/FNmOGqCK_normal.jpeg", "profile_link_color": "0084B4", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme15/bg.png", "listed_count": 641, "screen_name": "john_overholt", "profile_use_background_image": true, "followers_count": 13045, "statuses_count": 31707, "profile_background_color": "022330", "friends_count": 530, "created_at": "Thu Nov 12 16:08:21 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "A8C7F7", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme15/bg.png", "has_extended_profile": true, "protected": false, "description": "Curator of Early Modern Books & Manuscripts, Houghton Library, Harvard University. He/him", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/568093631458705408/FNmOGqCK_normal.jpeg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/89477148/1398194289", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "C0DFEC", "name": "John Overholt", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [95, 118], "display_url": "news.harvard.edu/gazette/story/\u2026", "expanded_url": "http://news.harvard.edu/gazette/story/2017/04/star-analysts-of-harvard-college-observatory-inspired-new-book-by-dava-sobel/", "url": "https://t.co/FGD5kJD3Yn"}], "symbols": []}, "id_str": "852130340432998400", "source": "Twitter for iPad", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 12:04:39 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "\"The Glass Universe: How the Ladies of the Harvard Observatory Took the Measure of the Stars.\u201d https://t.co/FGD5kJD3Yn", "retweet_count": 17, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 852166757406187520, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "john_overholt", "id_str": "89477148", "name": "John Overholt", "id": 89477148, "indices": [3, 17]}], "hashtags": [], "urls": [{"indices": [114, 137], "display_url": "news.harvard.edu/gazette/story/\u2026", "expanded_url": "http://news.harvard.edu/gazette/story/2017/04/star-analysts-of-harvard-college-observatory-inspired-new-book-by-dava-sobel/", "url": "https://t.co/FGD5kJD3Yn"}], "symbols": []}, "id_str": "852166757406187520", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 14:29:22 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @john_overholt: \"The Glass Universe: How the Ladies of the Harvard Observatory Took the Measure of the Stars.\u201d https://t.co/FGD5kJD3Yn", "retweet_count": 17, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 4, "truncated": false, "id": 852161665189781505, "in_reply_to_user_id_str": "143430352", "user": {"time_zone": "Melbourne", "notifications": false, "id": 143430352, "url": "http://t.co/I3lcPMGWjb", "id_str": "143430352", "favourites_count": 4666, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "economics.mit.edu/grad/rmeager/r\u2026", "expanded_url": "http://economics.mit.edu/grad/rmeager/research", "url": "http://t.co/I3lcPMGWjb"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/792768000118104064/b7JUgHDM_normal.jpg", "profile_link_color": "0084B4", "lang": "en", "utc_offset": 36000, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/378800000094095239/eb1e349e91607c19c3de6839da3ae117.png", "listed_count": 62, "screen_name": "economeager", "profile_use_background_image": true, "followers_count": 1233, "statuses_count": 4611, "profile_background_color": "9AE4E8", "friends_count": 454, "created_at": "Thu May 13 12:57:31 +0000 2010", "location": "Cambridge via Melbourne ", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/378800000094095239/eb1e349e91607c19c3de6839da3ae117.png", "has_extended_profile": false, "protected": false, "description": "MIT Economics PhD candidate. Works on development economics & econometrics. All views are either purely my own or proof I am the slave of some defunct economist", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/792768000118104064/b7JUgHDM_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/143430352/1477845704", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "DDFFCC", "name": "Rachael Meager", "default_profile_image": false, "profile_background_tile": true, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "852161665189781505", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 852161458238566400, "created_at": "Wed Apr 12 14:09:08 +0000 2017", "in_reply_to_user_id": 143430352, "geo": null, "text": "And this professor's idea of \"constructive criticism\" is to say \"you're too slow\" -- this is not helpful, ask the student what is going on!", "retweet_count": 1, "in_reply_to_screen_name": "economeager", "in_reply_to_status_id_str": "852161458238566400", "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 852162450199896066, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "economeager", "id_str": "143430352", "name": "Rachael Meager", "id": 143430352, "indices": [3, 15]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "852162450199896066", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 14:12:15 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @economeager: And this professor's idea of \"constructive criticism\" is to say \"you're too slow\" -- this is not helpful, ask the student\u2026", "retweet_count": 1, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 6, "truncated": false, "id": 852161458238566400, "in_reply_to_user_id_str": "143430352", "user": {"time_zone": "Melbourne", "notifications": false, "id": 143430352, "url": "http://t.co/I3lcPMGWjb", "id_str": "143430352", "favourites_count": 4666, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "economics.mit.edu/grad/rmeager/r\u2026", "expanded_url": "http://economics.mit.edu/grad/rmeager/research", "url": "http://t.co/I3lcPMGWjb"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/792768000118104064/b7JUgHDM_normal.jpg", "profile_link_color": "0084B4", "lang": "en", "utc_offset": 36000, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/378800000094095239/eb1e349e91607c19c3de6839da3ae117.png", "listed_count": 62, "screen_name": "economeager", "profile_use_background_image": true, "followers_count": 1233, "statuses_count": 4611, "profile_background_color": "9AE4E8", "friends_count": 454, "created_at": "Thu May 13 12:57:31 +0000 2010", "location": "Cambridge via Melbourne ", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/378800000094095239/eb1e349e91607c19c3de6839da3ae117.png", "has_extended_profile": false, "protected": false, "description": "MIT Economics PhD candidate. Works on development economics & econometrics. All views are either purely my own or proof I am the slave of some defunct economist", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/792768000118104064/b7JUgHDM_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/143430352/1477845704", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "DDFFCC", "name": "Rachael Meager", "default_profile_image": false, "profile_background_tile": true, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "852161458238566400", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 852161290722312194, "created_at": "Wed Apr 12 14:08:18 +0000 2017", "in_reply_to_user_id": 143430352, "geo": null, "text": "Yet the piece reveals that this same prof didn't notice for 6 MONTHS that one of his students had essentially disappeared!", "retweet_count": 1, "in_reply_to_screen_name": "economeager", "in_reply_to_status_id_str": "852161290722312194", "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 852162427944935424, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "economeager", "id_str": "143430352", "name": "Rachael Meager", "id": 143430352, "indices": [3, 15]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "852162427944935424", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 14:12:09 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @economeager: Yet the piece reveals that this same prof didn't notice for 6 MONTHS that one of his students had essentially disappeared!", "retweet_count": 1, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 6, "truncated": true, "id": 852161290722312194, "in_reply_to_user_id_str": null, "user": {"time_zone": "Melbourne", "notifications": false, "id": 143430352, "url": "http://t.co/I3lcPMGWjb", "id_str": "143430352", "favourites_count": 4666, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "economics.mit.edu/grad/rmeager/r\u2026", "expanded_url": "http://economics.mit.edu/grad/rmeager/research", "url": "http://t.co/I3lcPMGWjb"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/792768000118104064/b7JUgHDM_normal.jpg", "profile_link_color": "0084B4", "lang": "en", "utc_offset": 36000, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/378800000094095239/eb1e349e91607c19c3de6839da3ae117.png", "listed_count": 62, "screen_name": "economeager", "profile_use_background_image": true, "followers_count": 1233, "statuses_count": 4611, "profile_background_color": "9AE4E8", "friends_count": 454, "created_at": "Thu May 13 12:57:31 +0000 2010", "location": "Cambridge via Melbourne ", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/378800000094095239/eb1e349e91607c19c3de6839da3ae117.png", "has_extended_profile": false, "protected": false, "description": "MIT Economics PhD candidate. Works on development economics & econometrics. All views are either purely my own or proof I am the slave of some defunct economist", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/792768000118104064/b7JUgHDM_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/143430352/1477845704", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "DDFFCC", "name": "Rachael Meager", "default_profile_image": false, "profile_background_tile": true, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [117, 140], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/852161290722312194", "url": "https://t.co/UqT6cFmcX8"}], "symbols": []}, "id_str": "852161290722312194", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 24, "truncated": true, "id": 850755325980553216, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 15862891, "url": "https://t.co/SE3ZUng5ut", "id_str": "15862891", "favourites_count": 1081, "entities": {"description": {"urls": [{"indices": [111, 134], "display_url": "go.nature.com/dailynews", "expanded_url": "http://go.nature.com/dailynews", "url": "https://t.co/NEbCVCZW5O"}]}, "url": {"urls": [{"indices": [0, 23], "display_url": "nature.com/news", "expanded_url": "http://www.nature.com/news", "url": "https://t.co/SE3ZUng5ut"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/1158019862/nature-header.ed_normal.png", "profile_link_color": "DF1F1F", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/39594489/nn_twitter_bg2.jpg", "listed_count": 18924, "screen_name": "NatureNews", "profile_use_background_image": true, "followers_count": 1645394, "statuses_count": 43968, "profile_background_color": "A61919", "friends_count": 3683, "created_at": "Fri Aug 15 13:39:58 +0000 2008", "location": "Worldwide", "is_translator": false, "verified": true, "profile_sidebar_border_color": "D1D1D1", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/39594489/nn_twitter_bg2.jpg", "has_extended_profile": false, "protected": false, "description": "Science news & opinion from the news team at Nature, the weekly journal of #science. Get our daily newsletter: https://t.co/NEbCVCZW5O", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/1158019862/nature-header.ed_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/15862891/1416999309", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": true, "profile_sidebar_fill_color": "F0F0F0", "name": "Nature News&Comment", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [106, 129], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/850755325980553216", "url": "https://t.co/IoFPJU2Mej"}], "symbols": []}, "id_str": "850755325980553216", "source": "Hootsuite", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sat Apr 08 17:00:50 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Do you have supervisor phobia? Avoiding meetings won't help in the long run, so here's how deal with it:\u2026 https://t.co/IoFPJU2Mej", "retweet_count": 24, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 14:07:38 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 850755325980553216, "geo": null, "text": "So Nature has published an op-ed by a professor which blames students entirely for any difficulties in the advisor-\u2026 https://t.co/UqT6cFmcX8", "retweet_count": 8, "in_reply_to_screen_name": null, "quoted_status_id_str": "850755325980553216", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 852162417710833666, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "economeager", "id_str": "143430352", "name": "Rachael Meager", "id": 143430352, "indices": [3, 15]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "852162417710833666", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 14:12:07 +0000 2017", "in_reply_to_user_id": null, "quoted_status_id": 850755325980553216, "geo": null, "text": "RT @economeager: So Nature has published an op-ed by a professor which blames students entirely for any difficulties in the advisor-advisee\u2026", "retweet_count": 8, "in_reply_to_screen_name": null, "quoted_status_id_str": "850755325980553216", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 851972133228040193, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [{"indices": [103, 111], "text": "PhDlife"}], "urls": [{"indices": [112, 135], "display_url": "youtu.be/4Uf-PikY4mQ?t=\u2026", "expanded_url": "https://youtu.be/4Uf-PikY4mQ?t=1m23s", "url": "https://t.co/7Kjxs45ji6"}], "symbols": []}, "id_str": "851972133228040193", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 12 01:36:00 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Finishing the hat. Entering the world of the hat. Reaching through the world of the hat, like a window #PhDlife https://t.co/7Kjxs45ji6", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": true, "id": 851911051243343875, "in_reply_to_user_id_str": "48299517", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "drbrake", "id_str": "48299517", "name": "David R Brake", "id": 48299517, "indices": [0, 8]}], "hashtags": [], "urls": [{"indices": [121, 144], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/851911051243343875", "url": "https://t.co/Mi93v9DFTn"}], "symbols": []}, "id_str": "851911051243343875", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 851910567124246529, "created_at": "Tue Apr 11 21:33:17 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": 48299517, "geo": null, "text": "@drbrake many of us are searching for ways to describe the complex rationales & goods involved. I've been using civ\u2026 https://t.co/Mi93v9DFTn", "retweet_count": 0, "in_reply_to_screen_name": "drbrake", "in_reply_to_status_id_str": "851910567124246529", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 3, "truncated": false, "id": 851870650855804928, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "OddLetters", "id_str": "17789751", "name": "Molly Sauter", "id": 17789751, "indices": [79, 90]}], "hashtags": [], "urls": [{"indices": [91, 114], "display_url": "limn.it/the-illicit-au\u2026", "expanded_url": "http://limn.it/the-illicit-aura-of-information/", "url": "https://t.co/HFNXxfziUD"}], "symbols": []}, "id_str": "851870650855804928", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Apr 11 18:52:44 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Another great essay to file for later: \u201cillicit aura of stolen information\u201d by @oddletters https://t.co/HFNXxfziUD", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 851860711814967297, "in_reply_to_user_id_str": "22881265", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "tealtan", "id_str": "22881265", "name": "Allen Tan", "id": 22881265, "indices": [0, 8]}, {"screen_name": "roseveleth", "id_str": "44903491", "name": "Rose Eveleth \ud83d\ude80", "id": 44903491, "indices": [9, 20]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "851860711814967297", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 851859890725376000, "created_at": "Tue Apr 11 18:13:15 +0000 2017", "in_reply_to_user_id": 22881265, "geo": null, "text": "@tealtan @roseveleth CJR publishes an annual best *and* worst journalism of the year article", "retweet_count": 0, "in_reply_to_screen_name": "tealtan", "in_reply_to_status_id_str": "851859890725376000", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 851860113120014337, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "851860113120014337", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 851859930814570500, "created_at": "Tue Apr 11 18:10:52 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "\"inherent tensions between players' moral sense and Riot's corporate agenda... along the release, maintenance, and closure of the system\"", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "851859930814570500", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 5, "truncated": false, "id": 851859930814570500, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [{"indices": [28, 37], "text": "CSCW2017"}], "urls": [{"indices": [110, 133], "display_url": "dl.acm.org/citation.cfm?i\u2026", "expanded_url": "http://dl.acm.org/citation.cfm?id=3026312", "url": "https://t.co/NnbpaT0gNB"}], "symbols": []}, "id_str": "851859930814570500", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Apr 11 18:10:08 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Important poster paper from #CSCW2017 on the rise and fall of Riot Games's attempts to govern online behavior https://t.co/NnbpaT0gNB", "retweet_count": 5, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 36, "truncated": false, "id": 851807364294561792, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 15359205, "url": "https://t.co/ObnsyHJk6J", "id_str": "15359205", "favourites_count": 6829, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "rossandersen.com", "expanded_url": "http://rossandersen.com", "url": "https://t.co/ObnsyHJk6J"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/779487040647880704/gw3fxbm3_normal.jpg", "profile_link_color": "009999", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme14/bg.gif", "listed_count": 325, "screen_name": "andersen", "profile_use_background_image": true, "followers_count": 11364, "statuses_count": 13160, "profile_background_color": "131516", "friends_count": 1657, "created_at": "Tue Jul 08 22:41:48 +0000 2008", "location": "Washington, DC", "is_translator": false, "verified": true, "profile_sidebar_border_color": "EEEEEE", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme14/bg.gif", "has_extended_profile": false, "protected": false, "description": "Senior Editor at @TheAtlantic, overseeing the science, tech, and health sections; previously Deputy Editor at @aeonmag; email: ross[at]theatlantic[dot]com", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/779487040647880704/gw3fxbm3_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/15359205/1488909477", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "EFEFEF", "name": "Ross Andersen", "default_profile_image": false, "profile_background_tile": true, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "alexismadrigal", "id_str": "11107172", "name": "Alexis C. Madrigal", "id": 11107172, "indices": [36, 51]}], "hashtags": [], "urls": [{"indices": [52, 75], "display_url": "theatlantic.com/press-releases\u2026", "expanded_url": "https://www.theatlantic.com/press-releases/archive/2017/04/alexis-madrigal-returns-to-the-atlantic/522675/", "url": "https://t.co/F6XY1jQzHW"}], "symbols": []}, "id_str": "851807364294561792", "source": "TweetDeck", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Apr 11 14:41:16 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "This is the best day. Welcome home, @alexismadrigal https://t.co/F6XY1jQzHW", "retweet_count": 12, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 851810227628498945, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "andersen", "id_str": "15359205", "name": "Ross Andersen", "id": 15359205, "indices": [3, 12]}, {"screen_name": "alexismadrigal", "id_str": "11107172", "name": "Alexis C. Madrigal", "id": 11107172, "indices": [50, 65]}], "hashtags": [], "urls": [{"indices": [66, 89], "display_url": "theatlantic.com/press-releases\u2026", "expanded_url": "https://www.theatlantic.com/press-releases/archive/2017/04/alexis-madrigal-returns-to-the-atlantic/522675/", "url": "https://t.co/F6XY1jQzHW"}], "symbols": []}, "id_str": "851810227628498945", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Apr 11 14:52:38 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @andersen: This is the best day. Welcome home, @alexismadrigal https://t.co/F6XY1jQzHW", "retweet_count": 12, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 851788987056443392, "in_reply_to_user_id_str": "95431448", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "BostonGlobe", "id_str": "95431448", "name": "The Boston Globe", "id": 95431448, "indices": [0, 12]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "851788987056443392", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 851786683196559360, "created_at": "Tue Apr 11 13:28:14 +0000 2017", "in_reply_to_user_id": 95431448, "geo": null, "text": "@BostonGlobe do you know what's going to happen to the binders? I would love to see them go to an archive, given their cultural value", "retweet_count": 0, "in_reply_to_screen_name": "BostonGlobe", "in_reply_to_status_id_str": "851786683196559360", "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 4, "truncated": true, "id": 851786683196559360, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 95431448, "url": "http://t.co/g2XphqdJIo", "id_str": "95431448", "favourites_count": 334, "entities": {"description": {"urls": [{"indices": [133, 156], "display_url": "twitter.com/BostonGlobe/li\u2026", "expanded_url": "https://twitter.com/BostonGlobe/lists/globe-journalists", "url": "https://t.co/KPOiZTQG87"}]}, "url": {"urls": [{"indices": [0, 22], "display_url": "bostonglobe.com", "expanded_url": "http://bostonglobe.com", "url": "http://t.co/g2XphqdJIo"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/586570157734019072/Qxz1LIIM_normal.png", "profile_link_color": "050505", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/378800000003877254/c79663e95d0e284ce165db703dffd474.jpeg", "listed_count": 9736, "screen_name": "BostonGlobe", "profile_use_background_image": true, "followers_count": 623959, "statuses_count": 233708, "profile_background_color": "EDECE9", "friends_count": 1237, "created_at": "Tue Dec 08 14:33:38 +0000 2009", "location": "Boston, MA", "is_translator": false, "verified": true, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/378800000003877254/c79663e95d0e284ce165db703dffd474.jpeg", "has_extended_profile": false, "protected": false, "description": "Boston and New England's leading source for breaking news and analysis, with coverage from across the world. Follow our journalists: https://t.co/KPOiZTQG87", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/586570157734019072/Qxz1LIIM_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/95431448/1491431789", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": true, "profile_sidebar_fill_color": "FFFFFF", "name": "The Boston Globe", "default_profile_image": false, "profile_background_tile": false, "translator_type": "regular", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [95, 118], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/851786683196559360", "url": "https://t.co/ijEjAF2Afu"}], "symbols": []}, "id_str": "851786683196559360", "source": "SocialFlow", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Apr 11 13:19:05 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "It turns out that Mitt Romney really did have binders full of women. (Their resumes, anyway.)\u2026 https://t.co/ijEjAF2Afu", "retweet_count": 6, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 851788785876598785, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "BostonGlobe", "id_str": "95431448", "name": "The Boston Globe", "id": 95431448, "indices": [3, 15]}], "hashtags": [], "urls": [{"indices": [111, 134], "display_url": "bos.gl/eYYu2J5", "expanded_url": "http://bos.gl/eYYu2J5", "url": "https://t.co/Tzs4gO0ubm"}], "symbols": []}, "id_str": "851788785876598785", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Apr 11 13:27:26 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @BostonGlobe: It turns out that Mitt Romney really did have binders full of women. (Their resumes, anyway.) https://t.co/Tzs4gO0ubm http\u2026", "retweet_count": 6, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 20, "truncated": false, "id": 851606465735512064, "in_reply_to_user_id_str": "15379361", "user": {"time_zone": "Pacific Time (US & Canada)", "notifications": false, "id": 759249, "url": "https://t.co/aT4SyqFPFt", "id_str": "759249", "favourites_count": 3739, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "deaneckles.com", "expanded_url": "http://www.deaneckles.com", "url": "https://t.co/aT4SyqFPFt"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/823708216664199172/f3UMoSOh_normal.jpg", "profile_link_color": "1B95E0", "lang": "en", "utc_offset": -25200, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme2/bg.gif", "listed_count": 319, "screen_name": "deaneckles", "profile_use_background_image": false, "followers_count": 5027, "statuses_count": 7327, "profile_background_color": "000000", "friends_count": 973, "created_at": "Fri Feb 09 00:34:11 +0000 2007", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "000000", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme2/bg.gif", "has_extended_profile": true, "protected": false, "description": "@MIT professor", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/823708216664199172/f3UMoSOh_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/759249/1461379871", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": true, "profile_sidebar_fill_color": "000000", "name": "Dean Eckles", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "johnmyleswhite", "id_str": "15379361", "name": "John Myles White", "id": 15379361, "indices": [0, 15]}, {"screen_name": "MITSloan", "id_str": "8724862", "name": "MIT Sloan", "id": 8724862, "indices": [48, 57]}], "hashtags": [], "media": [{"indices": [58, 81], "type": "photo", "media_url": "http://pbs.twimg.com/media/C9GDdkFUMAAYW0j.jpg", "id": 851606348475150336, "media_url_https": "https://pbs.twimg.com/media/C9GDdkFUMAAYW0j.jpg", "id_str": "851606348475150336", "url": "https://t.co/0irR1qs0hX", "display_url": "pic.twitter.com/0irR1qs0hX", "sizes": {"small": {"h": 381, "w": 680, "resize": "fit"}, "medium": {"h": 673, "w": 1200, "resize": "fit"}, "large": {"h": 906, "w": 1616, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}}, "expanded_url": "https://twitter.com/deaneckles/status/851606465735512064/photo/1"}], "urls": [], "symbols": []}, "id_str": "851606465735512064", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": {"contained_within": [], "attributes": {}, "full_name": "Cambridge, MA", "name": "Cambridge", "id": "8193d87541f11dfb", "url": "https://api.twitter.com/1.1/geo/id/8193d87541f11dfb.json", "place_type": "city", "country_code": "US", "country": "United States", "bounding_box": {"type": "Polygon", "coordinates": [[[-71.160356, 42.352429], [-71.064398, 42.352429], [-71.064398, 42.4039663], [-71.160356, 42.4039663]]]}}, "is_quote_status": false, "in_reply_to_status_id": 851602127604416512, "extended_entities": {"media": [{"indices": [58, 81], "type": "photo", "media_url": "http://pbs.twimg.com/media/C9GDdkFUMAAYW0j.jpg", "id": 851606348475150336, "media_url_https": "https://pbs.twimg.com/media/C9GDdkFUMAAYW0j.jpg", "id_str": "851606348475150336", "url": "https://t.co/0irR1qs0hX", "display_url": "pic.twitter.com/0irR1qs0hX", "sizes": {"small": {"h": 381, "w": 680, "resize": "fit"}, "medium": {"h": 673, "w": 1200, "resize": "fit"}, "large": {"h": 906, "w": 1616, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}}, "expanded_url": "https://twitter.com/deaneckles/status/851606465735512064/photo/1"}]}, "created_at": "Tue Apr 11 01:22:58 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": 15379361, "geo": null, "text": "@johnmyleswhite Relevant slide from my class at @MITSloan https://t.co/0irR1qs0hX", "retweet_count": 6, "in_reply_to_screen_name": "johnmyleswhite", "in_reply_to_status_id_str": "851602127604416512", "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 851607017420619777, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "deaneckles", "id_str": "759249", "name": "Dean Eckles", "id": 759249, "indices": [3, 14]}, {"screen_name": "johnmyleswhite", "id_str": "15379361", "name": "John Myles White", "id": 15379361, "indices": [16, 31]}, {"screen_name": "MITSloan", "id_str": "8724862", "name": "MIT Sloan", "id": 8724862, "indices": [64, 73]}], "hashtags": [], "media": [{"indices": [74, 97], "source_status_id_str": "851606465735512064", "type": "photo", "media_url": "http://pbs.twimg.com/media/C9GDdkFUMAAYW0j.jpg", "id": 851606348475150336, "url": "https://t.co/0irR1qs0hX", "source_user_id": 759249, "id_str": "851606348475150336", "sizes": {"small": {"h": 381, "w": 680, "resize": "fit"}, "medium": {"h": 673, "w": 1200, "resize": "fit"}, "large": {"h": 906, "w": 1616, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}}, "expanded_url": "https://twitter.com/deaneckles/status/851606465735512064/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9GDdkFUMAAYW0j.jpg", "source_status_id": 851606465735512064, "source_user_id_str": "759249", "display_url": "pic.twitter.com/0irR1qs0hX"}], "urls": [], "symbols": []}, "id_str": "851607017420619777", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "extended_entities": {"media": [{"indices": [74, 97], "source_status_id_str": "851606465735512064", "type": "photo", "media_url": "http://pbs.twimg.com/media/C9GDdkFUMAAYW0j.jpg", "id": 851606348475150336, "url": "https://t.co/0irR1qs0hX", "source_user_id": 759249, "id_str": "851606348475150336", "sizes": {"small": {"h": 381, "w": 680, "resize": "fit"}, "medium": {"h": 673, "w": 1200, "resize": "fit"}, "large": {"h": 906, "w": 1616, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}}, "expanded_url": "https://twitter.com/deaneckles/status/851606465735512064/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9GDdkFUMAAYW0j.jpg", "source_status_id": 851606465735512064, "source_user_id_str": "759249", "display_url": "pic.twitter.com/0irR1qs0hX"}]}, "created_at": "Tue Apr 11 01:25:09 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @deaneckles: @johnmyleswhite Relevant slide from my class at @MITSloan https://t.co/0irR1qs0hX", "retweet_count": 6, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 4, "truncated": false, "id": 851593490521882624, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 80206595, "url": "http://t.co/TdytxWC5uP", "id_str": "80206595", "favourites_count": 726, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "sourcemap.com", "expanded_url": "http://www.sourcemap.com", "url": "http://t.co/TdytxWC5uP"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000515551323/91379b48b5d8e8c6d2d3a4c80fbd6dc2_normal.png", "profile_link_color": "3B94D9", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/312522555/twi.png", "listed_count": 193, "screen_name": "sourcemap", "profile_use_background_image": true, "followers_count": 2601, "statuses_count": 685, "profile_background_color": "AAAAAA", "friends_count": 2479, "created_at": "Tue Oct 06 03:42:36 +0000 2009", "location": "New York NY", "is_translator": false, "verified": true, "profile_sidebar_border_color": "EEEEEE", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/312522555/twi.png", "has_extended_profile": true, "protected": false, "description": "Software for supply chain transparency, powering the Higg Index, the Ethical Fashion Initiative, NY craft brewers, brands and manufacturers worldwide", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000515551323/91379b48b5d8e8c6d2d3a4c80fbd6dc2_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/80206595/1455738998", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "7AD8D2", "name": "Sourcemap", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [{"indices": [56, 80], "text": "supplychaintransparency"}, {"indices": [81, 91], "text": "sourcemap"}], "urls": [{"indices": [92, 115], "display_url": "srce.mp/2oZl8ek", "expanded_url": "http://srce.mp/2oZl8ek", "url": "https://t.co/WQD2KnkwKD"}], "symbols": []}, "id_str": "851593490521882624", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Apr 11 00:31:24 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Hershey Launches Latest Innovation in Food Transparency #supplychaintransparency #sourcemap https://t.co/WQD2KnkwKD", "retweet_count": 4, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 851595943896068096, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "sourcemap", "id_str": "80206595", "name": "Sourcemap", "id": 80206595, "indices": [3, 13]}], "hashtags": [{"indices": [71, 95], "text": "supplychaintransparency"}, {"indices": [96, 106], "text": "sourcemap"}], "urls": [{"indices": [107, 130], "display_url": "srce.mp/2oZl8ek", "expanded_url": "http://srce.mp/2oZl8ek", "url": "https://t.co/WQD2KnkwKD"}], "symbols": []}, "id_str": "851595943896068096", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Apr 11 00:41:09 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @sourcemap: Hershey Launches Latest Innovation in Food Transparency #supplychaintransparency #sourcemap https://t.co/WQD2KnkwKD", "retweet_count": 4, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 24, "truncated": false, "id": 851454623818948612, "in_reply_to_user_id_str": null, "user": {"time_zone": "Pacific Time (US & Canada)", "notifications": false, "id": 2805946082, "url": "https://t.co/Y5Yfoko7di", "id_str": "2805946082", "favourites_count": 14097, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "hypir.link", "expanded_url": "http://hypir.link", "url": "https://t.co/Y5Yfoko7di"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/827535794336329729/at6oSvW6_normal.jpg", "profile_link_color": "1DA1F2", "lang": "en", "utc_offset": -25200, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "listed_count": 54, "screen_name": "hypirlink", "profile_use_background_image": true, "followers_count": 420, "statuses_count": 13719, "profile_background_color": "C0DEED", "friends_count": 391, "created_at": "Fri Sep 12 17:51:57 +0000 2014", "location": "Brooklyn", "is_translator": false, "verified": false, "profile_sidebar_border_color": "C0DEED", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "has_extended_profile": true, "protected": false, "description": "Alpha-5 of the @NYMag web team. Really boring @Twitch streamer. Uhhhh game dev? He/Him.", "is_translation_enabled": false, "default_profile": true, "profile_image_url": "http://pbs.twimg.com/profile_images/827535794336329729/at6oSvW6_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/2805946082/1486513240", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "DDEEF6", "name": "Byron Hulcher", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "glitch", "id_str": "795717775989833729", "name": "Glitch", "id": 795717775989833729, "indices": [87, 94]}], "hashtags": [], "urls": [{"indices": [95, 118], "display_url": "glitch.com/~tracery-masto\u2026", "expanded_url": "https://glitch.com/~tracery-mastodon-bot", "url": "https://t.co/F4GYbf633p"}], "symbols": []}, "id_str": "851454623818948612", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": {"contained_within": [], "attributes": {}, "full_name": "Manhattan, NY", "name": "Manhattan", "id": "01a9a39529b27f36", "url": "https://api.twitter.com/1.1/geo/id/01a9a39529b27f36.json", "place_type": "city", "country_code": "US", "country": "United States", "bounding_box": {"type": "Polygon", "coordinates": [[[-74.026675, 40.683935], [-73.910408, 40.683935], [-73.910408, 40.877483], [-74.026675, 40.877483]]]}}, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 15:19:36 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Interested in building a bot for Mastodon? Check out and remix this example I built on @glitch https://t.co/F4GYbf633p", "retweet_count": 13, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 851557830817665024, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "hypirlink", "id_str": "2805946082", "name": "Byron Hulcher", "id": 2805946082, "indices": [3, 13]}, {"screen_name": "glitch", "id_str": "795717775989833729", "name": "Glitch", "id": 795717775989833729, "indices": [102, 109]}], "hashtags": [], "urls": [{"indices": [110, 133], "display_url": "glitch.com/~tracery-masto\u2026", "expanded_url": "https://glitch.com/~tracery-mastodon-bot", "url": "https://t.co/F4GYbf633p"}], "symbols": []}, "id_str": "851557830817665024", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 22:09:42 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @hypirlink: Interested in building a bot for Mastodon? Check out and remix this example I built on @glitch https://t.co/F4GYbf633p", "retweet_count": 13, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 8, "truncated": false, "id": 851555857972117504, "in_reply_to_user_id_str": null, "user": {"time_zone": "Pacific Time (US & Canada)", "notifications": false, "id": 414179273, "url": "https://t.co/uk0ukjkNCZ", "id_str": "414179273", "favourites_count": 6289, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "willmari.com", "expanded_url": "http://willmari.com", "url": "https://t.co/uk0ukjkNCZ"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/1642390865/164408_10100151951594688_10740924_54053668_7349253_n_normal.jpg", "profile_link_color": "0084B4", "lang": "en", "utc_offset": -25200, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/367737595/westernlandscape.PNG", "listed_count": 65, "screen_name": "willthewordguy", "profile_use_background_image": true, "followers_count": 1218, "statuses_count": 10287, "profile_background_color": "C0DEED", "friends_count": 3082, "created_at": "Wed Nov 16 18:44:00 +0000 2011", "location": "Seattle ", "is_translator": false, "verified": false, "profile_sidebar_border_color": "C0DEED", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/367737595/westernlandscape.PNG", "has_extended_profile": false, "protected": false, "description": "A PNW UW Ph.D, media historian, assist prof @ Northwest U, studies old newsrooms, likes tea, hiking, journalism. And the Inklings. retweets aren't endorsements", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/1642390865/164408_10100151951594688_10740924_54053668_7349253_n_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/414179273/1411577603", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "DDEEF6", "name": "Will Mari", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "NiemanLab", "id_str": "15865878", "name": "Nieman Lab", "id": 15865878, "indices": [117, 127]}], "hashtags": [], "urls": [{"indices": [89, 112], "display_url": "nie.mn/2pmOakN", "expanded_url": "http://nie.mn/2pmOakN", "url": "https://t.co/MlZqNPX2jM"}], "symbols": []}, "id_str": "851555857972117504", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 22:01:52 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "David Fahrenthold goes from tweeting pictures of his notepad to winning a Pulitzer Prize https://t.co/MlZqNPX2jM via @NiemanLab", "retweet_count": 5, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 851556251804762113, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "willthewordguy", "id_str": "414179273", "name": "Will Mari", "id": 414179273, "indices": [3, 18]}], "hashtags": [], "urls": [{"indices": [109, 132], "display_url": "nie.mn/2pmOakN", "expanded_url": "http://nie.mn/2pmOakN", "url": "https://t.co/MlZqNPX2jM"}], "symbols": []}, "id_str": "851556251804762113", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 22:03:26 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @willthewordguy: David Fahrenthold goes from tweeting pictures of his notepad to winning a Pulitzer Prize https://t.co/MlZqNPX2jM via @N\u2026", "retweet_count": 5, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 29, "truncated": false, "id": 851529589679685634, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 16295662, "url": "http://t.co/oo7rjqijBE", "id_str": "16295662", "favourites_count": 1398, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "knightfoundation.org", "expanded_url": "http://www.knightfoundation.org", "url": "http://t.co/oo7rjqijBE"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/477068863524200448/OvzX4qSB_normal.jpeg", "profile_link_color": "ABB8C2", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/241068321/kandinsky.comp-5.jpg", "listed_count": 541, "screen_name": "ibarguen", "profile_use_background_image": true, "followers_count": 11140, "statuses_count": 6761, "profile_background_color": "EDECE9", "friends_count": 2236, "created_at": "Mon Sep 15 13:53:13 +0000 2008", "location": "Miami", "is_translator": false, "verified": true, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/241068321/kandinsky.comp-5.jpg", "has_extended_profile": false, "protected": false, "description": "Knight Foundation, promoting informed & engaged communities.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/477068863524200448/OvzX4qSB_normal.jpeg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/16295662/1402576620", "follow_request_sent": false, "profile_text_color": "634047", "geo_enabled": true, "profile_sidebar_fill_color": "E3E2DE", "name": "Alberto Ibarguen", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "ProPublica", "id_str": "14606079", "name": "ProPublica", "id": 14606079, "indices": [19, 30]}], "hashtags": [], "urls": [{"indices": [82, 105], "display_url": "twitter.com/PulitzerPrize/\u2026", "expanded_url": "https://twitter.com/PulitzerPrize/status/851511226576384000", "url": "https://t.co/2bJadnvQXg"}], "symbols": []}, "id_str": "851529589679685634", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 2082, "truncated": false, "id": 851511226576384000, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 2909713155, "url": "https://t.co/svcBTH9EFQ", "id_str": "2909713155", "favourites_count": 11872, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "Pulitzer.org", "expanded_url": "http://Pulitzer.org", "url": "https://t.co/svcBTH9EFQ"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/685174334726475776/q701tUCU_normal.jpg", "profile_link_color": "1DA1F2", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "listed_count": 540, "screen_name": "PulitzerPrize", "profile_use_background_image": true, "followers_count": 28301, "statuses_count": 6852, "profile_background_color": "C0DEED", "friends_count": 748, "created_at": "Sun Dec 07 19:36:54 +0000 2014", "location": "New York, NY", "is_translator": false, "verified": true, "profile_sidebar_border_color": "C0DEED", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "has_extended_profile": false, "protected": false, "description": "It's our 101st year of honoring excellence in journalism and the arts. The Pulitzers' second century begins in 2017! #Pulitzer", "is_translation_enabled": false, "default_profile": true, "profile_image_url": "http://pbs.twimg.com/profile_images/685174334726475776/q701tUCU_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/2909713155/1491408179", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "DDEEF6", "name": "The Pulitzer Prizes", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "NYDailyNews", "id_str": "9763482", "name": "New York Daily News", "id": 9763482, "indices": [23, 35]}, {"screen_name": "ProPublica", "id_str": "14606079", "name": "ProPublica", "id": 14606079, "indices": [37, 48]}, {"screen_name": "MissRyley", "id_str": "220164244", "name": "Sarah Ryley", "id": 220164244, "indices": [53, 63]}], "hashtags": [], "media": [{"indices": [65, 88], "type": "photo", "media_url": "http://pbs.twimg.com/media/C9EqudfW0AEoos9.png", "id": 851508782228230145, "media_url_https": "https://pbs.twimg.com/media/C9EqudfW0AEoos9.png", "id_str": "851508782228230145", "url": "https://t.co/dUSQCHXF7z", "display_url": "pic.twitter.com/dUSQCHXF7z", "sizes": {"small": {"h": 340, "w": 680, "resize": "fit"}, "medium": {"h": 512, "w": 1024, "resize": "fit"}, "large": {"h": 512, "w": 1024, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}}, "expanded_url": "https://twitter.com/PulitzerPrize/status/851511226576384000/photo/1"}], "urls": [], "symbols": []}, "id_str": "851511226576384000", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "extended_entities": {"media": [{"indices": [65, 88], "type": "photo", "media_url": "http://pbs.twimg.com/media/C9EqudfW0AEoos9.png", "id": 851508782228230145, "media_url_https": "https://pbs.twimg.com/media/C9EqudfW0AEoos9.png", "id_str": "851508782228230145", "url": "https://t.co/dUSQCHXF7z", "display_url": "pic.twitter.com/dUSQCHXF7z", "sizes": {"small": {"h": 340, "w": 680, "resize": "fit"}, "medium": {"h": 512, "w": 1024, "resize": "fit"}, "large": {"h": 512, "w": 1024, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}}, "expanded_url": "https://twitter.com/PulitzerPrize/status/851511226576384000/photo/1"}]}, "created_at": "Mon Apr 10 19:04:31 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Congratulations to the @NYDailyNews, @ProPublica and @MissRyley! https://t.co/dUSQCHXF7z", "retweet_count": 903, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 20:17:29 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 851511226576384000, "geo": null, "text": "Congratulations to @ProPublica, online journalism's most heralded news operation. https://t.co/2bJadnvQXg", "retweet_count": 15, "in_reply_to_screen_name": null, "quoted_status_id_str": "851511226576384000", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 851529670998847489, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "ibarguen", "id_str": "16295662", "name": "Alberto Ibarguen", "id": 16295662, "indices": [3, 12]}, {"screen_name": "ProPublica", "id_str": "14606079", "name": "ProPublica", "id": 14606079, "indices": [33, 44]}], "hashtags": [], "urls": [{"indices": [96, 119], "display_url": "twitter.com/PulitzerPrize/\u2026", "expanded_url": "https://twitter.com/PulitzerPrize/status/851511226576384000", "url": "https://t.co/2bJadnvQXg"}], "symbols": []}, "id_str": "851529670998847489", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 20:17:48 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 851511226576384000, "geo": null, "text": "RT @ibarguen: Congratulations to @ProPublica, online journalism's most heralded news operation. https://t.co/2bJadnvQXg", "retweet_count": 15, "in_reply_to_screen_name": null, "quoted_status_id_str": "851511226576384000", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 2805, "truncated": false, "id": 851519411982880768, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 14606079, "url": "http://t.co/Fqv83dHVfq", "id_str": "14606079", "favourites_count": 3306, "entities": {"description": {"urls": [{"indices": [61, 84], "display_url": "propub.li/2hoDS2G", "expanded_url": "http://propub.li/2hoDS2G", "url": "https://t.co/ujWrcRGO73"}]}, "url": {"urls": [{"indices": [0, 22], "display_url": "propublica.org", "expanded_url": "http://www.propublica.org/", "url": "http://t.co/Fqv83dHVfq"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/660147326091182081/Q4TLW_Fe_normal.jpg", "profile_link_color": "5287B5", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/378800000022121172/c77bc8f8226919fde1415a8cab9b3511.png", "listed_count": 15006, "screen_name": "ProPublica", "profile_use_background_image": false, "followers_count": 650956, "statuses_count": 46132, "profile_background_color": "DFE9F3", "friends_count": 289, "created_at": "Wed Apr 30 21:17:15 +0000 2008", "location": "New York, NY", "is_translator": false, "verified": true, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/378800000022121172/c77bc8f8226919fde1415a8cab9b3511.png", "has_extended_profile": false, "protected": false, "description": "Pursuing stories with moral force. Here's how to leak to us: https://t.co/ujWrcRGO73. Also follow @ProPublicaIL. We'll be there soon.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/660147326091182081/Q4TLW_Fe_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/14606079/1485544429", "follow_request_sent": false, "profile_text_color": "030303", "geo_enabled": false, "profile_sidebar_fill_color": "FFFFFF", "name": "ProPublica", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": true}, "entities": {"user_mentions": [{"screen_name": "ProPublica", "id_str": "14606079", "name": "ProPublica", "id": 14606079, "indices": [3, 14]}, {"screen_name": "PulitzerPrize", "id_str": "2909713155", "name": "The Pulitzer Prizes", "id": 2909713155, "indices": [41, 55]}], "hashtags": [], "media": [{"indices": [76, 99], "type": "photo", "media_url": "http://pbs.twimg.com/media/C9E0OETXgAEG1if.jpg", "id": 851519220827521025, "media_url_https": "https://pbs.twimg.com/media/C9E0OETXgAEG1if.jpg", "id_str": "851519220827521025", "url": "https://t.co/SSjotUViaQ", "display_url": "pic.twitter.com/SSjotUViaQ", "sizes": {"thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 400, "w": 1200, "resize": "fit"}, "large": {"h": 683, "w": 2048, "resize": "fit"}, "small": {"h": 227, "w": 680, "resize": "fit"}}, "expanded_url": "https://twitter.com/ProPublica/status/851519411982880768/photo/1"}], "urls": [], "symbols": []}, "id_str": "851519411982880768", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "extended_entities": {"media": [{"indices": [76, 99], "type": "photo", "media_url": "http://pbs.twimg.com/media/C9E0OETXgAEG1if.jpg", "id": 851519220827521025, "media_url_https": "https://pbs.twimg.com/media/C9E0OETXgAEG1if.jpg", "id_str": "851519220827521025", "url": "https://t.co/SSjotUViaQ", "display_url": "pic.twitter.com/SSjotUViaQ", "sizes": {"thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 400, "w": 1200, "resize": "fit"}, "large": {"h": 683, "w": 2048, "resize": "fit"}, "small": {"h": 227, "w": 680, "resize": "fit"}}, "expanded_url": "https://twitter.com/ProPublica/status/851519411982880768/photo/1"}]}, "created_at": "Mon Apr 10 19:37:02 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "1/ @ProPublica is honored to receive the @PulitzerPrize for Public Service. https://t.co/SSjotUViaQ", "retweet_count": 780, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 851521935267770369, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "ProPublica", "id_str": "14606079", "name": "ProPublica", "id": 14606079, "indices": [3, 14]}, {"screen_name": "ProPublica", "id_str": "14606079", "name": "ProPublica", "id": 14606079, "indices": [19, 30]}, {"screen_name": "PulitzerPrize", "id_str": "2909713155", "name": "The Pulitzer Prizes", "id": 2909713155, "indices": [57, 71]}], "hashtags": [], "media": [{"indices": [92, 115], "source_status_id_str": "851519411982880768", "type": "photo", "media_url": "http://pbs.twimg.com/media/C9E0OETXgAEG1if.jpg", "id": 851519220827521025, "url": "https://t.co/SSjotUViaQ", "source_user_id": 14606079, "id_str": "851519220827521025", "sizes": {"thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 400, "w": 1200, "resize": "fit"}, "large": {"h": 683, "w": 2048, "resize": "fit"}, "small": {"h": 227, "w": 680, "resize": "fit"}}, "expanded_url": "https://twitter.com/ProPublica/status/851519411982880768/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9E0OETXgAEG1if.jpg", "source_status_id": 851519411982880768, "source_user_id_str": "14606079", "display_url": "pic.twitter.com/SSjotUViaQ"}], "urls": [], "symbols": []}, "id_str": "851521935267770369", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "extended_entities": {"media": [{"indices": [92, 115], "source_status_id_str": "851519411982880768", "type": "photo", "media_url": "http://pbs.twimg.com/media/C9E0OETXgAEG1if.jpg", "id": 851519220827521025, "url": "https://t.co/SSjotUViaQ", "source_user_id": 14606079, "id_str": "851519220827521025", "sizes": {"thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 400, "w": 1200, "resize": "fit"}, "large": {"h": 683, "w": 2048, "resize": "fit"}, "small": {"h": 227, "w": 680, "resize": "fit"}}, "expanded_url": "https://twitter.com/ProPublica/status/851519411982880768/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9E0OETXgAEG1if.jpg", "source_status_id": 851519411982880768, "source_user_id_str": "14606079", "display_url": "pic.twitter.com/SSjotUViaQ"}]}, "created_at": "Mon Apr 10 19:47:04 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @ProPublica: 1/ @ProPublica is honored to receive the @PulitzerPrize for Public Service. https://t.co/SSjotUViaQ", "retweet_count": 780, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 851519006221758465, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "Fahrenthold", "id_str": "61734492", "name": "David Fahrenthold", "id": 61734492, "indices": [57, 69]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "851519006221758465", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 19:35:26 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "Trying to imagine the amount of shoe leather expended by @Fahrenthold in a year of dogged, sustained investigative reporting. It escapes me", "retweet_count": 1, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 2446, "truncated": false, "id": 851511870452371456, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 38496530, "url": "https://t.co/168aM2s285", "id_str": "38496530", "favourites_count": 12877, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "washingtonpost.com/people/elahe-i\u2026", "expanded_url": "https://www.washingtonpost.com/people/elahe-izadi/", "url": "https://t.co/168aM2s285"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/833699717766750208/5ftb8zcL_normal.jpg", "profile_link_color": "009999", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/598885191822614528/jJ-uXDWt.png", "listed_count": 696, "screen_name": "ElaheIzadi", "profile_use_background_image": true, "followers_count": 15899, "statuses_count": 48646, "profile_background_color": "131516", "friends_count": 1887, "created_at": "Thu May 07 19:22:18 +0000 2009", "location": "Washington, D.C.", "is_translator": false, "verified": true, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/598885191822614528/jJ-uXDWt.png", "has_extended_profile": false, "protected": false, "description": "Pop culture writer @washingtonpost, stand-up comic. Pronounced Eh-law-heh. 'A source for news, comedy, and panda hatred.' -@Washingtonian", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/833699717766750208/5ftb8zcL_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/38496530/1466609774", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "EFEFEF", "name": "Elahe Izadi", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "Fahrenthold", "id_str": "61734492", "name": "David Fahrenthold", "id": 61734492, "indices": [16, 28]}, {"screen_name": "PulitzerPrize", "id_str": "2909713155", "name": "The Pulitzer Prizes", "id": 2909713155, "indices": [52, 66]}], "hashtags": [], "media": [{"indices": [67, 90], "type": "photo", "media_url": "http://pbs.twimg.com/ext_tw_video_thumb/851511784070631424/pu/img/ND3_eXowlbE9Riyk.jpg", "id": 851511784070631424, "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/851511784070631424/pu/img/ND3_eXowlbE9Riyk.jpg", "id_str": "851511784070631424", "url": "https://t.co/Q1yX19qj3T", "display_url": "pic.twitter.com/Q1yX19qj3T", "sizes": {"thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 338, "w": 600, "resize": "fit"}, "large": {"h": 576, "w": 1024, "resize": "fit"}, "small": {"h": 191, "w": 340, "resize": "fit"}}, "expanded_url": "https://twitter.com/ElaheIzadi/status/851511870452371456/video/1"}], "urls": [], "symbols": []}, "id_str": "851511870452371456", "source": "Twitter for iPhone", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "extended_entities": {"media": [{"indices": [67, 90], "type": "video", "media_url": "http://pbs.twimg.com/ext_tw_video_thumb/851511784070631424/pu/img/ND3_eXowlbE9Riyk.jpg", "id": 851511784070631424, "url": "https://t.co/Q1yX19qj3T", "additional_media_info": {"monetizable": false}, "id_str": "851511784070631424", "sizes": {"thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 338, "w": 600, "resize": "fit"}, "large": {"h": 576, "w": 1024, "resize": "fit"}, "small": {"h": 191, "w": 340, "resize": "fit"}}, "expanded_url": "https://twitter.com/ElaheIzadi/status/851511870452371456/video/1", "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/851511784070631424/pu/img/ND3_eXowlbE9Riyk.jpg", "display_url": "pic.twitter.com/Q1yX19qj3T", "video_info": {"aspect_ratio": [16, 9], "duration_millis": 23608, "variants": [{"bitrate": 2176000, "content_type": "video/mp4", "url": "https://video.twimg.com/ext_tw_video/851511784070631424/pu/vid/1280x720/B2jgWrw47P9Uq-Ze.mp4"}, {"bitrate": 832000, "content_type": "video/mp4", "url": "https://video.twimg.com/ext_tw_video/851511784070631424/pu/vid/640x360/OiZAAOetbhCmlWvF.mp4"}, {"bitrate": 320000, "content_type": "video/mp4", "url": "https://video.twimg.com/ext_tw_video/851511784070631424/pu/vid/320x180/3kcxGiJYL9EZ1qnH.mp4"}, {"content_type": "application/x-mpegURL", "url": "https://video.twimg.com/ext_tw_video/851511784070631424/pu/pl/i22hNi0usPmr5f2N.m3u8"}]}}]}, "created_at": "Mon Apr 10 19:07:04 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "The moment when @Fahrenthold wins his much deserved @PulitzerPrize https://t.co/Q1yX19qj3T", "retweet_count": 783, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 851518352090697729, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "ElaheIzadi", "id_str": "38496530", "name": "Elahe Izadi", "id": 38496530, "indices": [3, 14]}, {"screen_name": "Fahrenthold", "id_str": "61734492", "name": "David Fahrenthold", "id": 61734492, "indices": [32, 44]}, {"screen_name": "PulitzerPrize", "id_str": "2909713155", "name": "The Pulitzer Prizes", "id": 2909713155, "indices": [68, 82]}], "hashtags": [], "media": [{"indices": [83, 106], "source_status_id_str": "851511870452371456", "type": "photo", "media_url": "http://pbs.twimg.com/ext_tw_video_thumb/851511784070631424/pu/img/ND3_eXowlbE9Riyk.jpg", "id": 851511784070631424, "url": "https://t.co/Q1yX19qj3T", "source_user_id": 38496530, "id_str": "851511784070631424", "sizes": {"thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 338, "w": 600, "resize": "fit"}, "large": {"h": 576, "w": 1024, "resize": "fit"}, "small": {"h": 191, "w": 340, "resize": "fit"}}, "expanded_url": "https://twitter.com/ElaheIzadi/status/851511870452371456/video/1", "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/851511784070631424/pu/img/ND3_eXowlbE9Riyk.jpg", "source_status_id": 851511870452371456, "source_user_id_str": "38496530", "display_url": "pic.twitter.com/Q1yX19qj3T"}], "urls": [], "symbols": []}, "id_str": "851518352090697729", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "extended_entities": {"media": [{"indices": [83, 106], "source_status_id_str": "851511870452371456", "type": "video", "media_url": "http://pbs.twimg.com/ext_tw_video_thumb/851511784070631424/pu/img/ND3_eXowlbE9Riyk.jpg", "id": 851511784070631424, "url": "https://t.co/Q1yX19qj3T", "source_user_id": 38496530, "id_str": "851511784070631424", "sizes": {"thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 338, "w": 600, "resize": "fit"}, "large": {"h": 576, "w": 1024, "resize": "fit"}, "small": {"h": 191, "w": 340, "resize": "fit"}}, "expanded_url": "https://twitter.com/ElaheIzadi/status/851511870452371456/video/1", "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/851511784070631424/pu/img/ND3_eXowlbE9Riyk.jpg", "source_status_id": 851511870452371456, "source_user_id_str": "38496530", "video_info": {"aspect_ratio": [16, 9], "duration_millis": 23608, "variants": [{"bitrate": 2176000, "content_type": "video/mp4", "url": "https://video.twimg.com/ext_tw_video/851511784070631424/pu/vid/1280x720/B2jgWrw47P9Uq-Ze.mp4"}, {"bitrate": 832000, "content_type": "video/mp4", "url": "https://video.twimg.com/ext_tw_video/851511784070631424/pu/vid/640x360/OiZAAOetbhCmlWvF.mp4"}, {"bitrate": 320000, "content_type": "video/mp4", "url": "https://video.twimg.com/ext_tw_video/851511784070631424/pu/vid/320x180/3kcxGiJYL9EZ1qnH.mp4"}, {"content_type": "application/x-mpegURL", "url": "https://video.twimg.com/ext_tw_video/851511784070631424/pu/pl/i22hNi0usPmr5f2N.m3u8"}]}, "display_url": "pic.twitter.com/Q1yX19qj3T", "additional_media_info": {"source_user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 38496530, "url": "https://t.co/168aM2s285", "id_str": "38496530", "favourites_count": 12877, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "washingtonpost.com/people/elahe-i\u2026", "expanded_url": "https://www.washingtonpost.com/people/elahe-izadi/", "url": "https://t.co/168aM2s285"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/833699717766750208/5ftb8zcL_normal.jpg", "profile_link_color": "009999", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/598885191822614528/jJ-uXDWt.png", "listed_count": 696, "screen_name": "ElaheIzadi", "profile_use_background_image": true, "followers_count": 15899, "statuses_count": 48646, "profile_background_color": "131516", "friends_count": 1887, "created_at": "Thu May 07 19:22:18 +0000 2009", "location": "Washington, D.C.", "is_translator": false, "verified": true, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/598885191822614528/jJ-uXDWt.png", "has_extended_profile": false, "protected": false, "description": "Pop culture writer @washingtonpost, stand-up comic. Pronounced Eh-law-heh. 'A source for news, comedy, and panda hatred.' -@Washingtonian", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/833699717766750208/5ftb8zcL_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/38496530/1466609774", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "EFEFEF", "name": "Elahe Izadi", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "monetizable": false}}]}, "created_at": "Mon Apr 10 19:32:50 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @ElaheIzadi: The moment when @Fahrenthold wins his much deserved @PulitzerPrize https://t.co/Q1yX19qj3T", "retweet_count": 783, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 2, "truncated": false, "id": 851518209786343427, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [14, 37], "display_url": "twitter.com/PulitzerPrize/\u2026", "expanded_url": "https://twitter.com/PulitzerPrize/status/851511759135440896", "url": "https://t.co/58mSUCL5lV"}], "symbols": []}, "id_str": "851518209786343427", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 15281, "truncated": false, "id": 851511759135440896, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 2909713155, "url": "https://t.co/svcBTH9EFQ", "id_str": "2909713155", "favourites_count": 11872, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "Pulitzer.org", "expanded_url": "http://Pulitzer.org", "url": "https://t.co/svcBTH9EFQ"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/685174334726475776/q701tUCU_normal.jpg", "profile_link_color": "1DA1F2", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "listed_count": 540, "screen_name": "PulitzerPrize", "profile_use_background_image": true, "followers_count": 28301, "statuses_count": 6852, "profile_background_color": "C0DEED", "friends_count": 748, "created_at": "Sun Dec 07 19:36:54 +0000 2014", "location": "New York, NY", "is_translator": false, "verified": true, "profile_sidebar_border_color": "C0DEED", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "has_extended_profile": false, "protected": false, "description": "It's our 101st year of honoring excellence in journalism and the arts. The Pulitzers' second century begins in 2017! #Pulitzer", "is_translation_enabled": false, "default_profile": true, "profile_image_url": "http://pbs.twimg.com/profile_images/685174334726475776/q701tUCU_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/2909713155/1491408179", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "DDEEF6", "name": "The Pulitzer Prizes", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "Fahrenthold", "id_str": "61734492", "name": "David Fahrenthold", "id": 61734492, "indices": [19, 31]}, {"screen_name": "washingtonpost", "id_str": "2467791", "name": "Washington Post", "id": 2467791, "indices": [40, 55]}], "hashtags": [], "media": [{"indices": [57, 80], "type": "photo", "media_url": "http://pbs.twimg.com/media/C9EtbLrXkAARBxB.png", "id": 851511749564141568, "media_url_https": "https://pbs.twimg.com/media/C9EtbLrXkAARBxB.png", "id_str": "851511749564141568", "url": "https://t.co/kHp8bxcj52", "display_url": "pic.twitter.com/kHp8bxcj52", "sizes": {"small": {"h": 340, "w": 680, "resize": "fit"}, "medium": {"h": 512, "w": 1024, "resize": "fit"}, "large": {"h": 512, "w": 1024, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}}, "expanded_url": "https://twitter.com/PulitzerPrize/status/851511759135440896/photo/1"}], "urls": [], "symbols": []}, "id_str": "851511759135440896", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "extended_entities": {"media": [{"indices": [57, 80], "type": "photo", "media_url": "http://pbs.twimg.com/media/C9EtbLrXkAARBxB.png", "id": 851511749564141568, "media_url_https": "https://pbs.twimg.com/media/C9EtbLrXkAARBxB.png", "id_str": "851511749564141568", "url": "https://t.co/kHp8bxcj52", "display_url": "pic.twitter.com/kHp8bxcj52", "sizes": {"small": {"h": 340, "w": 680, "resize": "fit"}, "medium": {"h": 512, "w": 1024, "resize": "fit"}, "large": {"h": 512, "w": 1024, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}}, "expanded_url": "https://twitter.com/PulitzerPrize/status/851511759135440896/photo/1"}]}, "created_at": "Mon Apr 10 19:06:38 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Congratulations to @Fahrenthold and the @washingtonpost! https://t.co/kHp8bxcj52", "retweet_count": 5952, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 19:32:16 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 851511759135440896, "geo": null, "text": "Well-deserved https://t.co/58mSUCL5lV", "retweet_count": 1, "in_reply_to_screen_name": null, "quoted_status_id_str": "851511759135440896", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 7, "truncated": false, "id": 851467711708241920, "in_reply_to_user_id_str": null, "user": {"time_zone": "Pacific Time (US & Canada)", "notifications": false, "id": 3202202655, "url": "http://t.co/vBCu3DFSpQ", "id_str": "3202202655", "favourites_count": 1310, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "coralproject.net", "expanded_url": "http://www.coralproject.net", "url": "http://t.co/vBCu3DFSpQ"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/660125409304903680/1BAyoAZ3_normal.png", "profile_link_color": "FF691F", "lang": "en", "utc_offset": -25200, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "listed_count": 244, "screen_name": "coralproject", "profile_use_background_image": false, "followers_count": 4524, "statuses_count": 3663, "profile_background_color": "000000", "friends_count": 67, "created_at": "Fri Apr 24 20:47:35 +0000 2015", "location": "", "is_translator": false, "verified": false, "profile_sidebar_border_color": "000000", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "has_extended_profile": false, "protected": false, "description": "Free, open-source software to improve communities. Because journalism needs everyone. Made by @Mozilla, @nytimes, & @washingtonpost, funded by @knightfdn.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/660125409304903680/1BAyoAZ3_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/3202202655/1473383534", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": false, "profile_sidebar_fill_color": "000000", "name": "The Coral Project", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [69, 92], "display_url": "blog.coralproject.net/talk-features/", "expanded_url": "https://blog.coralproject.net/talk-features/", "url": "https://t.co/W2ENG7UxAr"}], "symbols": []}, "id_str": "851467711708241920", "source": "TweetDeck", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 16:11:36 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Our comment platform Talk is here. Here\u2019s what it contains so far: \n\nhttps://t.co/W2ENG7UxAr", "retweet_count": 3, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 851502261612294148, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "coralproject", "id_str": "3202202655", "name": "The Coral Project", "id": 3202202655, "indices": [3, 16]}], "hashtags": [], "urls": [{"indices": [87, 110], "display_url": "blog.coralproject.net/talk-features/", "expanded_url": "https://blog.coralproject.net/talk-features/", "url": "https://t.co/W2ENG7UxAr"}], "symbols": []}, "id_str": "851502261612294148", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 18:28:53 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @coralproject: Our comment platform Talk is here. Here\u2019s what it contains so far: \n\nhttps://t.co/W2ENG7UxAr", "retweet_count": 3, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 851502183166214145, "in_reply_to_user_id_str": "92199427", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "lawlkat", "id_str": "92199427", "name": "Kat Lo", "id": 92199427, "indices": [0, 8]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "851502183166214145", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 851497909677768707, "created_at": "Mon Apr 10 18:28:35 +0000 2017", "in_reply_to_user_id": 92199427, "geo": null, "text": "@lawlkat Not sure I want to further promote a weird diplomacy spam bot", "retweet_count": 0, "in_reply_to_screen_name": "lawlkat", "in_reply_to_status_id_str": "851497909677768707", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 851502081089449985, "in_reply_to_user_id_str": "92199427", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "lawlkat", "id_str": "92199427", "name": "Kat Lo", "id": 92199427, "indices": [0, 8]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "851502081089449985", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 851497976979611648, "created_at": "Mon Apr 10 18:28:10 +0000 2017", "in_reply_to_user_id": 92199427, "geo": null, "text": "@lawlkat I have no idea", "retweet_count": 0, "in_reply_to_screen_name": "lawlkat", "in_reply_to_status_id_str": "851497976979611648", "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 9, "truncated": false, "id": 851501959328784389, "in_reply_to_user_id_str": null, "user": {"time_zone": "Tehran", "notifications": false, "id": 14302121, "url": "https://t.co/w0BEoarP6H", "id_str": "14302121", "favourites_count": 135, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "localnewslab.org", "expanded_url": "http://localnewslab.org", "url": "https://t.co/w0BEoarP6H"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/851068401275609089/EcE6varM_normal.jpg", "profile_link_color": "0084B4", "lang": "en", "utc_offset": 16200, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/870638978/6a14a7a2abb8af0efa342a099492b950.jpeg", "listed_count": 1298, "screen_name": "jcstearns", "profile_use_background_image": true, "followers_count": 13581, "statuses_count": 59130, "profile_background_color": "FFFFFF", "friends_count": 1162, "created_at": "Fri Apr 04 12:29:11 +0000 2008", "location": "democracyfund.org", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/870638978/6a14a7a2abb8af0efa342a099492b950.jpeg", "has_extended_profile": false, "protected": false, "description": "Associate Director, Public Square Program at @DemocracyFund. Journalism and democracy of, by and for the people. Past: @grdodge @freepress @campus_compact", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/851068401275609089/EcE6varM_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/14302121/1491086015", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "C0DFEC", "name": "Josh Stearns", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "knightfdn", "id_str": "14073364", "name": "Knight Foundation", "id": 14073364, "indices": [4, 14]}], "hashtags": [], "urls": [{"indices": [70, 93], "display_url": "knightfoundation.org/careers/direct\u2026", "expanded_url": "https://knightfoundation.org/careers/director-journalism", "url": "https://t.co/mU8J2aJeb8"}], "symbols": []}, "id_str": "851501959328784389", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 18:27:41 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "The @knightfdn is hiring for a Director in their journalism program. https://t.co/mU8J2aJeb8", "retweet_count": 25, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 851502000630116352, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "jcstearns", "id_str": "14302121", "name": "Josh Stearns", "id": 14302121, "indices": [3, 13]}, {"screen_name": "knightfdn", "id_str": "14073364", "name": "Knight Foundation", "id": 14073364, "indices": [19, 29]}], "hashtags": [], "urls": [{"indices": [85, 108], "display_url": "knightfoundation.org/careers/direct\u2026", "expanded_url": "https://knightfoundation.org/careers/director-journalism", "url": "https://t.co/mU8J2aJeb8"}], "symbols": []}, "id_str": "851502000630116352", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 18:27:51 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @jcstearns: The @knightfdn is hiring for a Director in their journalism program. https://t.co/mU8J2aJeb8", "retweet_count": 25, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 851451521157955584, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [5, 28], "display_url": "twitter.com/npseaver/statu\u2026", "expanded_url": "https://twitter.com/npseaver/status/851439488421244928", "url": "https://t.co/eYs7hYlaw0"}], "symbols": []}, "id_str": "851451521157955584", "source": "Twitter Web Client", "lang": "und", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 23, "truncated": false, "id": 851439488421244928, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 14174091, "url": "https://t.co/lWcla9UZSK", "id_str": "14174091", "favourites_count": 26146, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "anthropology.town", "expanded_url": "http://anthropology.town", "url": "https://t.co/lWcla9UZSK"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/796765525993029633/vLBBRCWP_normal.jpg", "profile_link_color": "1DA1F2", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "listed_count": 174, "screen_name": "npseaver", "profile_use_background_image": true, "followers_count": 2963, "statuses_count": 29545, "profile_background_color": "C0DEED", "friends_count": 1196, "created_at": "Wed Mar 19 02:14:35 +0000 2008", "location": "Somerville, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "C0DEED", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "has_extended_profile": false, "protected": false, "description": "the anthropology of algorithms and vice versa | asst prof @tuftsuniversity | co-chair @castac_aaa | mr @thisischristina | he/him/his", "is_translation_enabled": false, "default_profile": true, "profile_image_url": "http://pbs.twimg.com/profile_images/796765525993029633/vLBBRCWP_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/14174091/1446383428", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "DDEEF6", "name": "Nick Seaver", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "media": [{"indices": [96, 119], "type": "photo", "media_url": "http://pbs.twimg.com/media/C9DrkfdWAAEE7Jb.jpg", "id": 851439341725417473, "media_url_https": "https://pbs.twimg.com/media/C9DrkfdWAAEE7Jb.jpg", "id_str": "851439341725417473", "url": "https://t.co/90IUsppsHn", "display_url": "pic.twitter.com/90IUsppsHn", "sizes": {"small": {"h": 95, "w": 680, "resize": "fit"}, "medium": {"h": 168, "w": 1200, "resize": "fit"}, "large": {"h": 182, "w": 1302, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}}, "expanded_url": "https://twitter.com/npseaver/status/851439488421244928/photo/1"}], "urls": [{"indices": [72, 95], "display_url": "journals.sagepub.com/doi/abs/10.117\u2026", "expanded_url": "http://journals.sagepub.com/doi/abs/10.1177/0306312714562103", "url": "https://t.co/mMlzvCO3Cs"}], "symbols": []}, "id_str": "851439488421244928", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "extended_entities": {"media": [{"indices": [96, 119], "type": "photo", "media_url": "http://pbs.twimg.com/media/C9DrkfdWAAEE7Jb.jpg", "id": 851439341725417473, "media_url_https": "https://pbs.twimg.com/media/C9DrkfdWAAEE7Jb.jpg", "id_str": "851439341725417473", "url": "https://t.co/90IUsppsHn", "display_url": "pic.twitter.com/90IUsppsHn", "sizes": {"small": {"h": 95, "w": 680, "resize": "fit"}, "medium": {"h": 168, "w": 1200, "resize": "fit"}, "large": {"h": 182, "w": 1302, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}}, "expanded_url": "https://twitter.com/npseaver/status/851439488421244928/photo/1"}]}, "created_at": "Mon Apr 10 14:19:27 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "wow (from this article, which I'm teaching today in my intro STS class: https://t.co/mMlzvCO3Cs https://t.co/90IUsppsHn", "retweet_count": 9, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 15:07:16 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 851439488421244928, "geo": null, "text": "\ud83d\ude1e \ud83d\ude20\ud83e\udd14 https://t.co/eYs7hYlaw0", "retweet_count": 1, "in_reply_to_screen_name": null, "quoted_status_id_str": "851439488421244928", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 3, "truncated": true, "id": 851450618149580800, "in_reply_to_user_id_str": "17773446", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "pgbovine", "id_str": "17773446", "name": "Philip Guo", "id": 17773446, "indices": [0, 9]}, {"screen_name": "bkeegan", "id_str": "16629994", "name": "Brian Keegan", "id": 16629994, "indices": [10, 18]}], "hashtags": [], "urls": [{"indices": [117, 140], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/851450618149580800", "url": "https://t.co/bDnQASZdl7"}], "symbols": []}, "id_str": "851450618149580800", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 851445150693736448, "created_at": "Mon Apr 10 15:03:41 +0000 2017", "in_reply_to_user_id": 17773446, "geo": null, "text": "@pgbovine @bkeegan Most learned committee, I am glad to say that I can answer this question, thanks to the foresigh\u2026 https://t.co/bDnQASZdl7", "retweet_count": 0, "in_reply_to_screen_name": "pgbovine", "in_reply_to_status_id_str": "851445150693736448", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 851439584890298368, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "851439584890298368", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 851439518527959041, "created_at": "Mon Apr 10 14:19:50 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "So strange", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "851439518527959041", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 14, "truncated": false, "id": 851439518527959041, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "851439518527959041", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 14:19:34 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "In other news, some weird diplomacy bot awarded one of my blog posts \"best conference paper of the year\" and fancy people are retweeting O_o", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 851439149978669056, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "851439149978669056", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 14:18:06 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "TIL that I've been doing the bracketed ellipsis wrong for over 15 years. I thought there were four dots [....] but there are only three [\u2026]", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 9, "truncated": false, "id": 851424786316177410, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 25726250, "url": "https://t.co/o9ecVWp6rN", "id_str": "25726250", "favourites_count": 967, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "web.media.mit.edu/~kdinakar/", "expanded_url": "http://web.media.mit.edu/~kdinakar/", "url": "https://t.co/o9ecVWp6rN"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/813334155761045504/49X5DhTA_normal.jpg", "profile_link_color": "038543", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme18/bg.gif", "listed_count": 25, "screen_name": "kaydeeb0y", "profile_use_background_image": true, "followers_count": 567, "statuses_count": 2846, "profile_background_color": "ACDED6", "friends_count": 199, "created_at": "Sat Mar 21 20:46:52 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "EEEEEE", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme18/bg.gif", "has_extended_profile": false, "protected": false, "description": "@reidhoffman Fellow & PhD student at MIT = argmax { nlp + machine learning + optimism}. Formerly @CarnegieMellon, @Yahoo, @DeutscheBank & @Microsoft.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/813334155761045504/49X5DhTA_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/25726250/1389099435", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "F6F6F6", "name": "K\u0101rthik Dinakar", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "medialab", "id_str": "13982132", "name": "MIT Media Lab", "id": 13982132, "indices": [35, 44]}, {"screen_name": "NockLabHarvard", "id_str": "935068962", "name": "Nock Lab at Harvard", "id": 935068962, "indices": [46, 61]}, {"screen_name": "erichorvitz", "id_str": "264501255", "name": "Eric Horvitz", "id": 264501255, "indices": [66, 78]}, {"screen_name": "MSFTResearch", "id_str": "21457289", "name": "Microsoft Research", "id": 21457289, "indices": [82, 95]}], "hashtags": [], "urls": [{"indices": [96, 119], "display_url": "twitter.com/talklifeapp/st\u2026", "expanded_url": "https://twitter.com/talklifeapp/status/841705925912207362", "url": "https://t.co/5juZ1gtQlY"}], "symbols": []}, "id_str": "851424786316177410", "source": "Twitter for iPhone", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 59, "truncated": false, "id": 841705925912207362, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 207325298, "url": "https://t.co/DFp7MW8LzL", "id_str": "207325298", "favourites_count": 6863, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "talklife.co", "expanded_url": "http://www.talklife.co", "url": "https://t.co/DFp7MW8LzL"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/837403578172059650/lf1Zof4m_normal.jpg", "profile_link_color": "E858C2", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/565203431464251392/ZRBtuOsV.jpeg", "listed_count": 99, "screen_name": "TalkLifeApp", "profile_use_background_image": true, "followers_count": 4141, "statuses_count": 2287, "profile_background_color": "622D8D", "friends_count": 2686, "created_at": "Mon Oct 25 02:09:00 +0000 2010", "location": "London, England", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/565203431464251392/ZRBtuOsV.jpeg", "has_extended_profile": false, "protected": false, "description": "Life can be incredibly tough. We're here for everyone & anyone who just needs someone to talk to. Who just needs someone to listen. Because, hey, we all do.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/837403578172059650/lf1Zof4m_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/207325298/1488488029", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "DDFFCC", "name": "TalkLife", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "TalkLifeApp", "id_str": "207325298", "name": "TalkLife", "id": 207325298, "indices": [96, 108]}], "hashtags": [{"indices": [81, 94], "text": "mentalhealth"}], "urls": [{"indices": [109, 132], "display_url": "blog.talklife.co/online-communi\u2026", "expanded_url": "https://blog.talklife.co/online-communities-and-peer-support-can-prevent-self-harm-and-promote-wellbeing-9722874b5ee1#.lnuezhez7", "url": "https://t.co/NK0U6ENYeg"}], "symbols": []}, "id_str": "841705925912207362", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Mar 14 17:41:45 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Peer support, social media & authentic sharing can have a positive impact on #mentalhealth. @TalkLifeApp https://t.co/NK0U6ENYeg", "retweet_count": 53, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 13:21:02 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 841705925912207362, "geo": null, "text": "Good article on joint work with us @medialab, @NockLabHarvard and @erichorvitz at @MSFTResearch https://t.co/5juZ1gtQlY", "retweet_count": 7, "in_reply_to_screen_name": null, "quoted_status_id_str": "841705925912207362", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 851425473666088960, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "kaydeeb0y", "id_str": "25726250", "name": "K\u0101rthik Dinakar", "id": 25726250, "indices": [3, 13]}, {"screen_name": "medialab", "id_str": "13982132", "name": "MIT Media Lab", "id": 13982132, "indices": [50, 59]}, {"screen_name": "NockLabHarvard", "id_str": "935068962", "name": "Nock Lab at Harvard", "id": 935068962, "indices": [61, 76]}, {"screen_name": "erichorvitz", "id_str": "264501255", "name": "Eric Horvitz", "id": 264501255, "indices": [81, 93]}, {"screen_name": "MSFTResearch", "id_str": "21457289", "name": "Microsoft Research", "id": 21457289, "indices": [97, 110]}], "hashtags": [], "urls": [{"indices": [111, 134], "display_url": "twitter.com/talklifeapp/st\u2026", "expanded_url": "https://twitter.com/talklifeapp/status/841705925912207362", "url": "https://t.co/5juZ1gtQlY"}], "symbols": []}, "id_str": "851425473666088960", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 13:23:46 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 841705925912207362, "geo": null, "text": "RT @kaydeeb0y: Good article on joint work with us @medialab, @NockLabHarvard and @erichorvitz at @MSFTResearch https://t.co/5juZ1gtQlY", "retweet_count": 7, "in_reply_to_screen_name": null, "quoted_status_id_str": "841705925912207362", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 194, "truncated": false, "id": 851072648444608512, "in_reply_to_user_id_str": null, "user": {"time_zone": "Pacific Time (US & Canada)", "notifications": false, "id": 991745802, "url": null, "id_str": "991745802", "favourites_count": 1398, "entities": {"description": {"urls": []}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/637716860377649152/h35KW64v_normal.jpg", "profile_link_color": "0084B4", "lang": "en", "utc_offset": -25200, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/502816613955940352/6KGqzBmg.jpeg", "listed_count": 1506, "screen_name": "CassSunstein", "profile_use_background_image": true, "followers_count": 49548, "statuses_count": 4627, "profile_background_color": "C0DEED", "friends_count": 199, "created_at": "Wed Dec 05 20:54:11 +0000 2012", "location": "", "is_translator": false, "verified": true, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/502816613955940352/6KGqzBmg.jpeg", "has_extended_profile": false, "protected": false, "description": "Professor at Harvard; coauthor, Nudge, and author, The World According to Star Wars.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/637716860377649152/h35KW64v_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/991745802/1469453924", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "DDEEF6", "name": "Cass Sunstein", "default_profile_image": false, "profile_background_tile": true, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [108, 131], "display_url": "cambridge.org/core/journals/\u2026", "expanded_url": "https://www.cambridge.org/core/journals/behavioural-public-policy", "url": "https://t.co/UwgZIUC0Cc"}], "symbols": []}, "id_str": "851072648444608512", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": {"contained_within": [], "attributes": {}, "full_name": "Massachusetts, USA", "name": "Massachusetts", "id": "cd450c94084cbf9b", "url": "https://api.twitter.com/1.1/geo/id/cd450c94084cbf9b.json", "place_type": "admin", "country_code": "US", "country": "United States", "bounding_box": {"type": "Polygon", "coordinates": [[[-73.508143, 41.187054], [-69.858861, 41.187054], [-69.858861, 42.8868241], [-73.508143, 42.8868241]]]}}, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sun Apr 09 14:01:46 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Announcing Behavioural Public Policy - new journal, edited by George Akerlof, Adam Oliver, and yours truly.\nhttps://t.co/UwgZIUC0Cc", "retweet_count": 141, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 851275486185504769, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "CassSunstein", "id_str": "991745802", "name": "Cass Sunstein", "id": 991745802, "indices": [3, 16]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "851275486185504769", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 03:27:46 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @CassSunstein: Announcing Behavioural Public Policy - new journal, edited by George Akerlof, Adam Oliver, and yours truly.\nhttps://t.co/\u2026", "retweet_count": 141, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 4, "truncated": false, "id": 851268730029875200, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "851268730029875200", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 851187794777079809, "created_at": "Mon Apr 10 03:00:55 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "Sites that help you find mastodon interfaces are now offering ratings on moderation styles, alongside technical capacity & infosec", "retweet_count": 2, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "851187794777079809", "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 10, "truncated": true, "id": 851221254665383937, "in_reply_to_user_id_str": "401773648", "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 401773648, "url": "https://t.co/XXHMHzL0Ic", "id_str": "401773648", "favourites_count": 24915, "entities": {"description": {"urls": [{"indices": [118, 141], "display_url": "bit.ly/programmed_ine\u2026", "expanded_url": "http://bit.ly/programmed_inequality", "url": "https://t.co/pv8X9MDBPb"}]}, "url": {"urls": [{"indices": [0, 23], "display_url": "bit.ly/mariehicksnet", "expanded_url": "http://bit.ly/mariehicksnet", "url": "https://t.co/XXHMHzL0Ic"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/852770314740088833/Sp9yomvR_normal.jpg", "profile_link_color": "666666", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme15/bg.png", "listed_count": 219, "screen_name": "histoftech", "profile_use_background_image": false, "followers_count": 3527, "statuses_count": 17742, "profile_background_color": "022330", "friends_count": 999, "created_at": "Mon Oct 31 02:11:48 +0000 2011", "location": "21st century chicago", "is_translator": false, "verified": false, "profile_sidebar_border_color": "A8C7F7", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme15/bg.png", "has_extended_profile": false, "protected": false, "description": "Resist. Historian of technology. Professor. Queer feminist. Former sysadmin. They/them online. Programmed Inequality: https://t.co/pv8X9MDBPb", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/852770314740088833/Sp9yomvR_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/401773648/1491300168", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "C0DFEC", "name": "Mar Hicks", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "ubiquity75", "id_str": "23451153", "name": "Sarah T. Roberts", "id": 23451153, "indices": [0, 11]}, {"screen_name": "safiyanoble", "id_str": "45891623", "name": "Safiya U Noble PhD", "id": 45891623, "indices": [44, 56]}, {"screen_name": "timeshighered", "id_str": "23602600", "name": "TimesHigherEducation", "id": 23602600, "indices": [61, 75]}], "hashtags": [], "urls": [{"indices": [121, 144], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/851221254665383937", "url": "https://t.co/ZldZPhvEYQ"}], "symbols": []}, "id_str": "851221254665383937", "source": "Twitter for iPhone", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 851220455403003909, "created_at": "Sun Apr 09 23:52:16 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": 401773648, "geo": null, "text": "@ubiquity75 recently I mentioned you (& @safiyanoble) in @timeshighered as 2 academics killin' it social media-wise\u2026 https://t.co/ZldZPhvEYQ", "retweet_count": 5, "in_reply_to_screen_name": "histoftech", "in_reply_to_status_id_str": "851220455403003909", "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 851224680652566528, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "histoftech", "id_str": "401773648", "name": "Mar Hicks", "id": 401773648, "indices": [3, 14]}, {"screen_name": "ubiquity75", "id_str": "23451153", "name": "Sarah T. Roberts", "id": 23451153, "indices": [16, 27]}, {"screen_name": "safiyanoble", "id_str": "45891623", "name": "Safiya U Noble PhD", "id": 45891623, "indices": [60, 72]}, {"screen_name": "timeshighered", "id_str": "23602600", "name": "TimesHigherEducation", "id": 23602600, "indices": [77, 91]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "851224680652566528", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Mon Apr 10 00:05:53 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @histoftech: @ubiquity75 recently I mentioned you (& @safiyanoble) in @timeshighered as 2 academics killin' it social media-wise https:/\u2026", "retweet_count": 5, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 851211166454075394, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [68, 91], "display_url": "web.mit.edu/hml/ncfmf.html", "expanded_url": "http://web.mit.edu/hml/ncfmf.html", "url": "https://t.co/U5ERnM8RwI"}], "symbols": []}, "id_str": "851211166454075394", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 851211022643941376, "created_at": "Sun Apr 09 23:12:11 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": 52332354, "geo": null, "text": "Shapiro's other films about visualizing 3D flows are archived here: https://t.co/U5ERnM8RwI", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "851211022643941376", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 3, "truncated": false, "id": 851211022643941376, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [111, 134], "display_url": "youtube.com/watch?v=nuQyKG\u2026", "expanded_url": "https://www.youtube.com/watch?v=nuQyKGuXJOs", "url": "https://t.co/wdrm5sIpaP"}], "symbols": []}, "id_str": "851211022643941376", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sun Apr 09 23:11:37 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Physical interactive 3D dataviz: MIT prof Ascher Shapiro visualizes fluid flows using hydrongen bubbles (1961) https://t.co/wdrm5sIpaP", "retweet_count": 1, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 851192669116276739, "in_reply_to_user_id_str": "9245752", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "rsoden", "id_str": "9245752", "name": "Robert Soden", "id": 9245752, "indices": [0, 7]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "851192669116276739", "source": "Twitter Web Client", "lang": "es", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 851188804073308160, "created_at": "Sun Apr 09 21:58:41 +0000 2017", "in_reply_to_user_id": 9245752, "geo": null, "text": "@rsoden octodon", "retweet_count": 0, "in_reply_to_screen_name": "rsoden", "in_reply_to_status_id_str": "851188804073308160", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 851187794777079809, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "851187794777079809", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850391861625856000, "created_at": "Sun Apr 09 21:39:19 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "Our mastodon sysop just asked if anyone could help moderating. Roughly 15 people volunteered in the first hour <3", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "850391861625856000", "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 10, "truncated": true, "id": 850430872377544707, "in_reply_to_user_id_str": null, "user": {"time_zone": "Quito", "notifications": false, "id": 296873851, "url": "http://t.co/LYjGrvwvf7", "id_str": "296873851", "favourites_count": 919, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "publiclab.org", "expanded_url": "http://publiclab.org", "url": "http://t.co/LYjGrvwvf7"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000144509535/3b5085f7ecd7e08f9360cdbef4c83e3f_normal.png", "profile_link_color": "1DA1F2", "lang": "en", "utc_offset": -18000, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "listed_count": 364, "screen_name": "PublicLab", "profile_use_background_image": true, "followers_count": 5478, "statuses_count": 4033, "profile_background_color": "C0DEED", "friends_count": 991, "created_at": "Wed May 11 14:58:47 +0000 2011", "location": "", "is_translator": false, "verified": false, "profile_sidebar_border_color": "C0DEED", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "has_extended_profile": false, "protected": false, "description": "The Public Laboratory for Open Technology and Science is a community which develops and applies open-source tools to environmental investigation.", "is_translation_enabled": false, "default_profile": true, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000144509535/3b5085f7ecd7e08f9360cdbef4c83e3f_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/296873851/1475006559", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "DDEEF6", "name": "Public Laboratory", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [{"indices": [6, 13], "text": "hiring"}], "urls": [{"indices": [122, 145], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/850430872377544707", "url": "https://t.co/33Uno6Iith"}], "symbols": []}, "id_str": "850430872377544707", "source": "TweetDeck", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 19:31:34 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "We're #hiring a Director of Development (multiple locations) & an Advocacy Manager (New Orleans)! Apply & share:\u2026 https://t.co/33Uno6Iith", "retweet_count": 16, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 851113160589312000, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "PublicLab", "id_str": "296873851", "name": "Public Laboratory", "id": 296873851, "indices": [3, 13]}], "hashtags": [{"indices": [21, 28], "text": "hiring"}], "urls": [], "symbols": []}, "id_str": "851113160589312000", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sun Apr 09 16:42:45 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @PublicLab: We're #hiring a Director of Development (multiple locations) & an Advocacy Manager (New Orleans)! Apply & share: https://t.c\u2026", "retweet_count": 16, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 1347, "truncated": false, "id": 851080969029382146, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 84653850, "url": "http://t.co/SLPQ03KEIP", "id_str": "84653850", "favourites_count": 10060, "entities": {"description": {"urls": [{"indices": [138, 160], "display_url": "brendan-nyhan.com", "expanded_url": "http://www.brendan-nyhan.com", "url": "http://t.co/BwoeFccCrA"}]}, "url": {"urls": [{"indices": [0, 22], "display_url": "dartmouth.edu/~nyhan/", "expanded_url": "http://www.dartmouth.edu/~nyhan/", "url": "http://t.co/SLPQ03KEIP"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/683489860728950784/BHPN623B_normal.jpg", "profile_link_color": "60BD9B", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme14/bg.gif", "listed_count": 1829, "screen_name": "BrendanNyhan", "profile_use_background_image": true, "followers_count": 50902, "statuses_count": 44471, "profile_background_color": "131516", "friends_count": 4578, "created_at": "Fri Oct 23 18:18:59 +0000 2009", "location": "Hanover, NH", "is_translator": false, "verified": true, "profile_sidebar_border_color": "EEEEEE", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme14/bg.gif", "has_extended_profile": true, "protected": false, "description": "@Dartmouth political science professor & @UpshotNYT contributor. Before: CJR media critic, Spinsanity/All the President's Spin co-author. http://t.co/BwoeFccCrA", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/683489860728950784/BHPN623B_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/84653850/1398214944", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "EFEFEF", "name": "Brendan Nyhan", "default_profile_image": false, "profile_background_tile": true, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [54, 77], "display_url": "twitter.com/rypauley/statu\u2026", "expanded_url": "https://twitter.com/rypauley/status/851034975717687296", "url": "https://t.co/sloVWMgano"}], "symbols": []}, "id_str": "851080969029382146", "source": "Twitter for iPhone", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 50067, "truncated": false, "id": 851034975717687296, "in_reply_to_user_id_str": null, "user": {"time_zone": "Atlantic Time (Canada)", "notifications": false, "id": 536877209, "url": "https://t.co/Kh4MF5MjVC", "id_str": "536877209", "favourites_count": 486, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "voxmedia.com", "expanded_url": "http://voxmedia.com", "url": "https://t.co/Kh4MF5MjVC"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/824057577717858305/mt8xnMUu_normal.jpg", "profile_link_color": "1DA1F2", "lang": "en", "utc_offset": -10800, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "listed_count": 37, "screen_name": "rypauley", "profile_use_background_image": true, "followers_count": 507, "statuses_count": 1496, "profile_background_color": "C0DEED", "friends_count": 622, "created_at": "Mon Mar 26 03:16:26 +0000 2012", "location": "New York", "is_translator": false, "verified": false, "profile_sidebar_border_color": "C0DEED", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "has_extended_profile": true, "protected": false, "description": "VP, Revenue Operations & GM, Concert @ Vox Media", "is_translation_enabled": false, "default_profile": true, "profile_image_url": "http://pbs.twimg.com/profile_images/824057577717858305/mt8xnMUu_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/536877209/1491774477", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "DDEEF6", "name": "Ryan Pauley", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "media": [{"indices": [14, 37], "type": "photo", "media_url": "http://pbs.twimg.com/media/C897zCJXkAADAsh.jpg", "id": 851034971276021760, "media_url_https": "https://pbs.twimg.com/media/C897zCJXkAADAsh.jpg", "id_str": "851034971276021760", "url": "https://t.co/5ITGTIQqhb", "display_url": "pic.twitter.com/5ITGTIQqhb", "sizes": {"small": {"h": 680, "w": 579, "resize": "fit"}, "medium": {"h": 879, "w": 749, "resize": "fit"}, "large": {"h": 879, "w": 749, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}}, "expanded_url": "https://twitter.com/rypauley/status/851034975717687296/photo/1"}], "urls": [], "symbols": []}, "id_str": "851034975717687296", "source": "Twitter for iPhone", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "extended_entities": {"media": [{"indices": [14, 37], "type": "photo", "media_url": "http://pbs.twimg.com/media/C897zCJXkAADAsh.jpg", "id": 851034971276021760, "media_url_https": "https://pbs.twimg.com/media/C897zCJXkAADAsh.jpg", "id_str": "851034971276021760", "url": "https://t.co/5ITGTIQqhb", "display_url": "pic.twitter.com/5ITGTIQqhb", "sizes": {"small": {"h": 680, "w": 579, "resize": "fit"}, "medium": {"h": 879, "w": 749, "resize": "fit"}, "large": {"h": 879, "w": 749, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}}, "expanded_url": "https://twitter.com/rypauley/status/851034975717687296/photo/1"}, {"indices": [14, 37], "type": "photo", "media_url": "http://pbs.twimg.com/media/C897zCOW0AEUxPm.jpg", "id": 851034971296944129, "media_url_https": "https://pbs.twimg.com/media/C897zCOW0AEUxPm.jpg", "id_str": "851034971296944129", "url": "https://t.co/5ITGTIQqhb", "display_url": "pic.twitter.com/5ITGTIQqhb", "sizes": {"thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 863, "w": 750, "resize": "fit"}, "large": {"h": 863, "w": 750, "resize": "fit"}, "small": {"h": 680, "w": 591, "resize": "fit"}}, "expanded_url": "https://twitter.com/rypauley/status/851034975717687296/photo/1"}]}, "created_at": "Sun Apr 09 11:32:04 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "30 mins apart https://t.co/5ITGTIQqhb", "retweet_count": 28527, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Sun Apr 09 14:34:49 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 851034975717687296, "geo": null, "text": "The indifferent epistemology of the clickbait economy https://t.co/sloVWMgano", "retweet_count": 801, "in_reply_to_screen_name": null, "quoted_status_id_str": "851034975717687296", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 851081057571045376, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "BrendanNyhan", "id_str": "84653850", "name": "Brendan Nyhan", "id": 84653850, "indices": [3, 16]}], "hashtags": [], "urls": [{"indices": [72, 95], "display_url": "twitter.com/rypauley/statu\u2026", "expanded_url": "https://twitter.com/rypauley/status/851034975717687296", "url": "https://t.co/sloVWMgano"}], "symbols": []}, "id_str": "851081057571045376", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Sun Apr 09 14:35:11 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 851034975717687296, "geo": null, "text": "RT @BrendanNyhan: The indifferent epistemology of the clickbait economy https://t.co/sloVWMgano", "retweet_count": 801, "in_reply_to_screen_name": null, "quoted_status_id_str": "851034975717687296", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 13, "truncated": false, "id": 851069692978618369, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [84, 107], "display_url": "twitter.com/cjack/status/8\u2026", "expanded_url": "https://twitter.com/cjack/status/850951555750789120", "url": "https://t.co/fLnxoripP9"}], "symbols": []}, "id_str": "851069692978618369", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 1, "truncated": false, "id": 850951555750789120, "in_reply_to_user_id_str": null, "user": {"time_zone": "Central Time (US & Canada)", "notifications": false, "id": 3716851, "url": "https://t.co/PQ8zepLqCv", "id_str": "3716851", "favourites_count": 4706, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "cjack.org", "expanded_url": "http://www.cjack.org", "url": "https://t.co/PQ8zepLqCv"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/808711659506270210/yfmkQlO1_normal.jpg", "profile_link_color": "3B94D9", "lang": "en", "utc_offset": -18000, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "listed_count": 30, "screen_name": "cjack", "profile_use_background_image": true, "followers_count": 589, "statuses_count": 1292, "profile_background_color": "9AE4E8", "friends_count": 786, "created_at": "Sat Apr 07 15:49:02 +0000 2007", "location": "Brooklyn, NY", "is_translator": false, "verified": false, "profile_sidebar_border_color": "87BC44", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "has_extended_profile": false, "protected": false, "description": "I'm into media history, media theory, cultural production of economies, history of propaganda, #histtech. Postdoc at @datasociety.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/808711659506270210/yfmkQlO1_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/3716851/1419545659", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": false, "profile_sidebar_fill_color": "E0FF92", "name": "Caroline Jack", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850951555750789120", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sun Apr 09 06:00:35 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "\"you feel like you\u2019re getting closer to the heart of something. That you never arrive doesn\u2019t matter. The joy is in the passage.\"", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Sun Apr 09 13:50:01 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 850951555750789120, "geo": null, "text": "Helpful reminder as I enter the last few days of writing the first draft of the PhD https://t.co/fLnxoripP9", "retweet_count": 0, "in_reply_to_screen_name": null, "quoted_status_id_str": "850951555750789120", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 17, "truncated": false, "id": 851067957899911169, "in_reply_to_user_id_str": null, "user": {"time_zone": "Pacific Time (US & Canada)", "notifications": false, "id": 15432179, "url": "https://t.co/ghAVqjln9U", "id_str": "15432179", "favourites_count": 41847, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "raulpacheco.org", "expanded_url": "http://www.raulpacheco.org", "url": "https://t.co/ghAVqjln9U"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/784592701828243456/X6LC3T71_normal.jpg", "profile_link_color": "0084B4", "lang": "en", "utc_offset": -25200, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/4917338/research_twitter.jpg", "listed_count": 1373, "screen_name": "raulpacheco", "profile_use_background_image": true, "followers_count": 16627, "statuses_count": 187117, "profile_background_color": "9AE4E8", "friends_count": 1871, "created_at": "Mon Jul 14 20:54:16 +0000 2008", "location": "Vancouver/Aguascalientes", "is_translator": false, "verified": false, "profile_sidebar_border_color": "BDDCAD", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/4917338/research_twitter.jpg", "has_extended_profile": false, "protected": false, "description": "Professor @CIDE_MX Water governance, public policy, environmental politics, experimental methods, North America. #ScholarSunday founder. Coffee lover. SNI 1", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/784592701828243456/X6LC3T71_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/15432179/1398193808", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "DDFFCC", "name": "Dr Raul Pacheco-Vega", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [{"indices": [0, 14], "text": "ScholarSunday"}], "urls": [{"indices": [115, 138], "display_url": "buff.ly/2oeCSRA", "expanded_url": "http://buff.ly/2oeCSRA", "url": "https://t.co/Nbq72vlOvZ"}], "symbols": []}, "id_str": "851067957899911169", "source": "Buffer", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sun Apr 09 13:43:07 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "#ScholarSunday is a hashtag intended to promote OTHER scholars. Doesn't distinguish tenured, student, practitioner https://t.co/Nbq72vlOvZ", "retweet_count": 9, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 851068101013778436, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "raulpacheco", "id_str": "15432179", "name": "Dr Raul Pacheco-Vega", "id": 15432179, "indices": [3, 15]}], "hashtags": [{"indices": [17, 31], "text": "ScholarSunday"}], "urls": [], "symbols": []}, "id_str": "851068101013778436", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sun Apr 09 13:43:42 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @raulpacheco: #ScholarSunday is a hashtag intended to promote OTHER scholars. Doesn't distinguish tenured, student, practitioner https:/\u2026", "retweet_count": 9, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 7, "truncated": false, "id": 850890842332069888, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [39, 62], "display_url": "github.com/ummjackson/mas\u2026", "expanded_url": "https://github.com/ummjackson/mastodon-guide/blob/master/up-and-running.md", "url": "https://t.co/ryhlV60g50"}], "symbols": []}, "id_str": "850890842332069888", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sun Apr 09 01:59:20 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "How to run your own Mastodon instance: https://t.co/ryhlV60g50", "retweet_count": 2, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 5, "truncated": false, "id": 850837390142967808, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "Central Time (US & Canada)", "notifications": false, "id": 1290351, "url": "https://t.co/N5xeaR1SvJ", "id_str": "1290351", "favourites_count": 5128, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "nancybaym.com", "expanded_url": "http://www.nancybaym.com", "url": "https://t.co/N5xeaR1SvJ"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/852944042912382977/JXd3XleR_normal.jpg", "profile_link_color": "3B94D9", "lang": "en", "utc_offset": -18000, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/2321268/twitterbackground.jpg", "listed_count": 527, "screen_name": "nancybaym", "profile_use_background_image": true, "followers_count": 7477, "statuses_count": 44215, "profile_background_color": "D3CFF0", "friends_count": 724, "created_at": "Fri Mar 16 14:39:19 +0000 2007", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "8ED238", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/2321268/twitterbackground.jpg", "has_extended_profile": false, "protected": false, "description": "Researcher at Microsoft. Wrote Personal Connections in the Digital Age. Forthcoming book on musician/audience relationships. May rant political.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/852944042912382977/JXd3XleR_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/1290351/1377531299", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": false, "profile_sidebar_fill_color": "C8D5A7", "name": "Nancy Baym", "default_profile_image": false, "profile_background_tile": true, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "natematias", "id_str": "52332354", "name": "J. Nathan Matias", "id": 52332354, "indices": [0, 11]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850837390142967808", "source": "Twitter Lite", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850833013667762176, "created_at": "Sat Apr 08 22:26:56 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "@natematias As methodologist David Silverman wisely put it, \"the phenomenon always escapes.\"", "retweet_count": 2, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "850833013667762176", "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 850856162497003520, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "nancybaym", "id_str": "1290351", "name": "Nancy Baym", "id": 1290351, "indices": [3, 13]}, {"screen_name": "natematias", "id_str": "52332354", "name": "J. Nathan Matias", "id": 52332354, "indices": [15, 26]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850856162497003520", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sat Apr 08 23:41:31 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @nancybaym: @natematias As methodologist David Silverman wisely put it, \"the phenomenon always escapes.\"", "retweet_count": 2, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 29, "truncated": false, "id": 850833013667762176, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850833013667762176", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sat Apr 08 22:09:32 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "Apparently finishing a PhD involves continuing to write even though you know you missed something important but can't put a finger on it", "retweet_count": 3, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 9, "truncated": false, "id": 850790032990498817, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 1285451, "url": "http://t.co/p8ubihV4m1", "id_str": "1285451", "favourites_count": 188, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "johotheblog.com", "expanded_url": "http://www.johotheblog.com", "url": "http://t.co/p8ubihV4m1"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/828424288478822400/lK1WPWl1_normal.jpg", "profile_link_color": "0000FF", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/132567486/purple_flowers_2_copy.jpg", "listed_count": 2732, "screen_name": "dweinberger", "profile_use_background_image": true, "followers_count": 28197, "statuses_count": 10913, "profile_background_color": "9AE4E8", "friends_count": 837, "created_at": "Fri Mar 16 13:27:30 +0000 2007", "location": "Boston, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "87BC44", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/132567486/purple_flowers_2_copy.jpg", "has_extended_profile": false, "protected": false, "description": "I mainly write about the effect of tech on our ideas", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/828424288478822400/lK1WPWl1_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/1285451/1398263360", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": true, "profile_sidebar_fill_color": "E0FF92", "name": "Party like it's 1933", "default_profile_image": false, "profile_background_tile": true, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [115, 138], "display_url": "sciencemag.org/news/2017/04/n\u2026", "expanded_url": "http://www.sciencemag.org/news/2017/04/now-free-citation-data-14-million-papers-and-more-might-come", "url": "https://t.co/vCTQJfvVK2"}], "symbols": []}, "id_str": "850790032990498817", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sat Apr 08 19:18:45 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Initiative for Open Citations gives the citations in 14M articles (so far!) in computable form. Huge contribution! https://t.co/vCTQJfvVK2", "retweet_count": 6, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 850790291904790529, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "dweinberger", "id_str": "1285451", "name": "Party like it's 1933", "id": 1285451, "indices": [3, 15]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850790291904790529", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sat Apr 08 19:19:47 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @dweinberger: Initiative for Open Citations gives the citations in 14M articles (so far!) in computable form. Huge contribution! https:/\u2026", "retweet_count": 6, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 4, "truncated": false, "id": 850777591166496768, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "waxpancake", "id_str": "13461", "name": "Andy Baio", "id": 13461, "indices": [38, 49]}], "hashtags": [], "urls": [{"indices": [102, 125], "display_url": "xoxo.zone/users/andybaio\u2026", "expanded_url": "https://xoxo.zone/users/andybaio/updates/511", "url": "https://t.co/pbeV1fLazw"}], "symbols": []}, "id_str": "850777591166496768", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sat Apr 08 18:29:19 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Thoughtful mastodon thread started by @waxpancake: \"Prediction: Mastodon will likely outlast Twitter\" https://t.co/pbeV1fLazw", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 850736924096679937, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850736924096679937", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850735735061839872, "created_at": "Sat Apr 08 15:47:43 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "I should be kinder than that. These are important issues. I'm glad that politicians want to do something. We're all trying to find out what", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "850735735061839872", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": true, "id": 850735735061839872, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [117, 140], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/850735735061839872", "url": "https://t.co/83aKhihTlQ"}], "symbols": []}, "id_str": "850735735061839872", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 12, "truncated": false, "id": 850566656506114049, "in_reply_to_user_id_str": null, "user": {"time_zone": null, "notifications": false, "id": 76423575, "url": "https://t.co/uHgHli8XlH", "id_str": "76423575", "favourites_count": 186, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "blogs.lse.ac.uk/mediapolicypro\u2026", "expanded_url": "http://blogs.lse.ac.uk/mediapolicyproject/", "url": "https://t.co/uHgHli8XlH"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/1209322019/image_normal.jpg", "profile_link_color": "1DA1F2", "lang": "en", "utc_offset": null, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "listed_count": 129, "screen_name": "damiantambini", "profile_use_background_image": true, "followers_count": 1963, "statuses_count": 4185, "profile_background_color": "C0DEED", "friends_count": 785, "created_at": "Tue Sep 22 19:26:41 +0000 2009", "location": "LSE", "is_translator": false, "verified": false, "profile_sidebar_border_color": "C0DEED", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "has_extended_profile": false, "protected": false, "description": "LSE academic and blogger. Runs LSE Media Policy Project. retweets are for interest not endorsement.", "is_translation_enabled": false, "default_profile": true, "profile_image_url": "http://pbs.twimg.com/profile_images/1209322019/image_normal.jpg", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "DDEEF6", "name": "damian tambini", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [79, 102], "display_url": "euobserver.com/foreign/137521", "expanded_url": "https://euobserver.com/foreign/137521", "url": "https://t.co/153q7K0mOE"}], "symbols": []}, "id_str": "850566656506114049", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sat Apr 08 04:31:08 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Delete, delete, delete: Germany calls for EU laws on hate speech and fake news https://t.co/153q7K0mOE", "retweet_count": 20, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Sat Apr 08 15:42:59 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 850566656506114049, "geo": null, "text": "In an imaginary parallel universe, EU politicians are asking for research to test effective approaches to addressin\u2026 https://t.co/83aKhihTlQ", "retweet_count": 2, "in_reply_to_screen_name": null, "quoted_status_id_str": "850566656506114049", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 850556731633668096, "in_reply_to_user_id_str": "177565966", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "mayameme", "id_str": "177565966", "name": "Auntie Occident", "id": 177565966, "indices": [0, 9]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850556731633668096", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850555483664650240, "created_at": "Sat Apr 08 03:51:42 +0000 2017", "in_reply_to_user_id": 177565966, "geo": null, "text": "@mayameme nice plan! Let us know how it goes!", "retweet_count": 0, "in_reply_to_screen_name": "mayameme", "in_reply_to_status_id_str": "850555483664650240", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 850553743972106240, "in_reply_to_user_id_str": "177565966", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "mayameme", "id_str": "177565966", "name": "Auntie Occident", "id": 177565966, "indices": [0, 9]}, {"screen_name": "TtW_conf", "id_str": "216140356", "name": "Theorizing the Web", "id": 216140356, "indices": [10, 19]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850553743972106240", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850551194984620033, "created_at": "Sat Apr 08 03:39:49 +0000 2017", "in_reply_to_user_id": 177565966, "geo": null, "text": "@mayameme @TtW_conf what's your octodon account?", "retweet_count": 0, "in_reply_to_screen_name": "mayameme", "in_reply_to_status_id_str": "850551194984620033", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 6, "truncated": false, "id": 850523147501801474, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [116, 139], "display_url": "arstechnica.com/tech-policy/20\u2026", "expanded_url": "https://arstechnica.com/tech-policy/2017/04/uber-said-to-use-sophisticated-software-to-defraud-drivers-passengers/", "url": "https://t.co/OcgWqbGhpD"}], "symbols": []}, "id_str": "850523147501801474", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sat Apr 08 01:38:14 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Ooof. Class action lawsuit alleges Uber charged riders for imaginary long routes but paid drivers for actual routes https://t.co/OcgWqbGhpD", "retweet_count": 6, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 9, "truncated": false, "id": 850497523684958212, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 324508782, "url": "http://t.co/KbI6C37hzv", "id_str": "324508782", "favourites_count": 2468, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "betsylevypaluck.com", "expanded_url": "http://www.betsylevypaluck.com", "url": "http://t.co/KbI6C37hzv"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/2543825930/i0fx3iphkav2smcsltvx_normal.jpeg", "profile_link_color": "3B94D9", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme9/bg.gif", "listed_count": 128, "screen_name": "betsylevyp", "profile_use_background_image": false, "followers_count": 2707, "statuses_count": 4188, "profile_background_color": "000000", "friends_count": 777, "created_at": "Sun Jun 26 19:03:41 +0000 2011", "location": "princeton nj", "is_translator": false, "verified": false, "profile_sidebar_border_color": "000000", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme9/bg.gif", "has_extended_profile": false, "protected": false, "description": "prof of psychology and public policy at princeton", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/2543825930/i0fx3iphkav2smcsltvx_normal.jpeg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/324508782/1415204764", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": false, "profile_sidebar_fill_color": "000000", "name": "Betsy Levy Paluck", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [117, 140], "display_url": "sites.google.com/site/melissajw\u2026", "expanded_url": "https://sites.google.com/site/melissajwms/postdoc2017", "url": "https://t.co/itkaql91Nj"}], "symbols": []}, "id_str": "850497523684958212", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 23:56:25 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "a wonderful postdoc opportunity in organizational behavior to work with my friend and collaborator Melissa Williams! https://t.co/itkaql91Nj", "retweet_count": 10, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 850498617144225792, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "betsylevyp", "id_str": "324508782", "name": "Betsy Levy Paluck", "id": 324508782, "indices": [3, 14]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850498617144225792", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Sat Apr 08 00:00:46 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @betsylevyp: a wonderful postdoc opportunity in organizational behavior to work with my friend and collaborator Melissa Williams! https:\u2026", "retweet_count": 10, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 850481720021352448, "in_reply_to_user_id_str": "14392797", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "andresmh", "id_str": "14392797", "name": "Andr\u00e9s Monroy", "id": 14392797, "indices": [0, 9]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850481720021352448", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850480973191852032, "created_at": "Fri Apr 07 22:53:37 +0000 2017", "in_reply_to_user_id": 14392797, "geo": null, "text": "@andresmh that was everyone's first response. Yes, with backups :-)", "retweet_count": 0, "in_reply_to_screen_name": "andresmh", "in_reply_to_status_id_str": "850480973191852032", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 850458504053878784, "in_reply_to_user_id_str": "5721202", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "erhardt", "id_str": "5721202", "name": "Erhardt Graeff", "id": 5721202, "indices": [0, 8]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850458504053878784", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850458215615782913, "created_at": "Fri Apr 07 21:21:22 +0000 2017", "in_reply_to_user_id": 5721202, "geo": null, "text": "@erhardt of course. And it all worked, fortunately :-)", "retweet_count": 0, "in_reply_to_screen_name": "erhardt", "in_reply_to_status_id_str": "850458215615782913", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 850458391277428736, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [86, 109], "display_url": "twitter.com/HelenMargetts/\u2026", "expanded_url": "https://twitter.com/HelenMargetts/status/850394789703016449", "url": "https://t.co/XBuHWROalS"}], "symbols": []}, "id_str": "850458391277428736", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 8, "truncated": true, "id": 850394789703016449, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 63859619, "url": "http://t.co/tqdisea6zk", "id_str": "63859619", "favourites_count": 230, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "oii.ox.ac.uk/people/?id=2", "expanded_url": "http://www.oii.ox.ac.uk/people/?id=2", "url": "http://t.co/tqdisea6zk"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/1514335914/twitter_photo_normal.jpg", "profile_link_color": "FA743E", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "listed_count": 199, "screen_name": "HelenMargetts", "profile_use_background_image": false, "followers_count": 3524, "statuses_count": 2040, "profile_background_color": "000000", "friends_count": 1136, "created_at": "Sat Aug 08 00:03:23 +0000 2009", "location": "University of Oxford", "is_translator": false, "verified": false, "profile_sidebar_border_color": "000000", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "has_extended_profile": false, "protected": false, "description": "Professor @UniofOxford Director @oiioxford - political scientist researching government, politics & the internet, see book Political Turbulence", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/1514335914/twitter_photo_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/63859619/1447516641", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": true, "profile_sidebar_fill_color": "000000", "name": "Helen Margetts", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [117, 140], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/850394789703016449", "url": "https://t.co/tNrXdGGD6S"}], "symbols": []}, "id_str": "850394789703016449", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 17:08:12 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 849913547010314240, "geo": null, "text": "'The gender pay gap reporting provisions are likely to do more for pay parity in five years than equal pay legislat\u2026 https://t.co/tNrXdGGD6S", "retweet_count": 1, "in_reply_to_screen_name": null, "quoted_status_id_str": "849913547010314240", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 21:20:55 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 850394789703016449, "geo": null, "text": "Let's hope? At the least, it's an exciting opportunity to put that theory to the test https://t.co/XBuHWROalS", "retweet_count": 0, "in_reply_to_screen_name": null, "quoted_status_id_str": "850394789703016449", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 850456130652430337, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "RedditScience", "id_str": "858896371", "name": "RedditScience", "id": 858896371, "indices": [9, 23]}], "hashtags": [], "urls": [{"indices": [120, 143], "display_url": "reddit.com/r/science/comm\u2026", "expanded_url": "https://www.reddit.com/r/science/comments/641h3y/science_discussion_series_the_importance_of/", "url": "https://t.co/zxZE9N54x8"}], "symbols": []}, "id_str": "850456130652430337", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 21:11:56 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Oh cool: @RedditScience is doing a live discussion w/ the public on sample size & what it means for science. Nice! https://t.co/zxZE9N54x8", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 6, "truncated": false, "id": 850454335293186048, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850454335293186048", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 21:04:48 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "TFW you are about to rename hundreds of important files using a conditional regular expression", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 850436914117304321, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [68, 91], "display_url": "twitter.com/AmeliaMN/statu\u2026", "expanded_url": "https://twitter.com/AmeliaMN/status/850436216545792001", "url": "https://t.co/eMaZAZzdPp"}], "symbols": []}, "id_str": "850436914117304321", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 2, "truncated": false, "id": 850436216545792001, "in_reply_to_user_id_str": null, "user": {"time_zone": "Mountain Time (US & Canada)", "notifications": false, "id": 19520842, "url": "http://t.co/6UotowCWjt", "id_str": "19520842", "favourites_count": 1888, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "science.smith.edu/~amcnamara", "expanded_url": "http://www.science.smith.edu/~amcnamara", "url": "http://t.co/6UotowCWjt"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/707607764344967168/TvVZobj-_normal.jpg", "profile_link_color": "ABB8C2", "lang": "en", "utc_offset": -21600, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme12/bg.gif", "listed_count": 237, "screen_name": "AmeliaMN", "profile_use_background_image": false, "followers_count": 3296, "statuses_count": 5800, "profile_background_color": "000000", "friends_count": 718, "created_at": "Mon Jan 26 04:49:51 +0000 2009", "location": "Northampton, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "000000", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme12/bg.gif", "has_extended_profile": true, "protected": false, "description": "PhD in statistics from @UCLA, statistics/data science faculty @SmithCollege, into data visualization and citizen science, obsessed with R.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/707607764344967168/TvVZobj-_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/19520842/1428784288", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": false, "profile_sidebar_fill_color": "000000", "name": "Amelia McNamara", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [60, 83], "display_url": "eventbrite.com/e/new-england-\u2026", "expanded_url": "https://www.eventbrite.com/e/new-england-machine-learning-hackathon-hacking-bias-in-ml-tickets-32951771636?aff=NEML", "url": "https://t.co/9AAPGla992"}], "symbols": []}, "id_str": "850436216545792001", "source": "TweetDeck", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 19:52:49 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "New England Machine Learning Hackathon: Hacking Bias in ML\n\nhttps://t.co/9AAPGla992", "retweet_count": 1, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 19:55:35 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 850436216545792001, "geo": null, "text": "Looks like a great event! Wish I could be join in, but dissertation https://t.co/eMaZAZzdPp", "retweet_count": 0, "in_reply_to_screen_name": null, "quoted_status_id_str": "850436216545792001", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": true, "id": 850429597174910982, "in_reply_to_user_id_str": "99173786", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "blahah404", "id_str": "99173786", "name": "\u24ea Rik Smith-Unna", "id": 99173786, "indices": [0, 10]}, {"screen_name": "Info_Activism", "id_str": "17018765", "name": "Tactical Tech", "id": 17018765, "indices": [11, 25]}], "hashtags": [], "urls": [{"indices": [117, 140], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/850429597174910982", "url": "https://t.co/jOFRcIbmRD"}], "symbols": []}, "id_str": "850429597174910982", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850425949418029056, "created_at": "Fri Apr 07 19:26:30 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": 99173786, "geo": null, "text": "@blahah404 @Info_Activism if you're curious about my take, here's our CSCW paper about gender discrimination on twi\u2026 https://t.co/jOFRcIbmRD", "retweet_count": 1, "in_reply_to_screen_name": "blahah404", "in_reply_to_status_id_str": "850425949418029056", "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 1683, "truncated": false, "id": 850419107128332288, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 472587261, "url": "https://t.co/v22BrldDuy", "id_str": "472587261", "favourites_count": 16063, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "clintsmithiii.com", "expanded_url": "http://www.clintsmithiii.com", "url": "https://t.co/v22BrldDuy"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/851141465476665348/jkFOQI10_normal.jpg", "profile_link_color": "2FC2EF", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme9/bg.gif", "listed_count": 1164, "screen_name": "ClintSmithIII", "profile_use_background_image": true, "followers_count": 74991, "statuses_count": 14842, "profile_background_color": "1A1B1F", "friends_count": 1349, "created_at": "Tue Jan 24 03:09:01 +0000 2012", "location": "DC/Boston", "is_translator": false, "verified": true, "profile_sidebar_border_color": "181A1E", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme9/bg.gif", "has_extended_profile": true, "protected": false, "description": "Writer. Teacher. PhD Candidate @Harvard studying incarceration, education, and inequality. Author of Counting Descent.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/851141465476665348/jkFOQI10_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/472587261/1405490588", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": true, "profile_sidebar_fill_color": "252429", "name": "Clint Smith", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850419107128332288", "source": "Twitter for iPhone", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 18:44:49 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "So I'm in Kentucky. I order a Lyft & when the driver pulls up I open the trunk & there's a huge Make America Great Again sign sitting there.", "retweet_count": 610, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 850427143486091265, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "ClintSmithIII", "id_str": "472587261", "name": "Clint Smith", "id": 472587261, "indices": [3, 17]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850427143486091265", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 19:16:45 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @ClintSmithIII: So I'm in Kentucky. I order a Lyft & when the driver pulls up I open the trunk & there's a huge Make America Great Again\u2026", "retweet_count": 610, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 850426330516774916, "in_reply_to_user_id_str": "99173786", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "blahah404", "id_str": "99173786", "name": "\u24ea Rik Smith-Unna", "id": 99173786, "indices": [0, 10]}, {"screen_name": "Info_Activism", "id_str": "17018765", "name": "Tactical Tech", "id": 17018765, "indices": [11, 25]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850426330516774916", "source": "Twitter Web Client", "lang": "und", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850425949418029056, "created_at": "Fri Apr 07 19:13:32 +0000 2017", "in_reply_to_user_id": 99173786, "geo": null, "text": "@blahah404 @Info_Activism yep", "retweet_count": 0, "in_reply_to_screen_name": "blahah404", "in_reply_to_status_id_str": "850425949418029056", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 850426071539490816, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "blahah404", "id_str": "99173786", "name": "\u24ea Rik Smith-Unna", "id": 99173786, "indices": [0, 10]}, {"screen_name": "Info_Activism", "id_str": "17018765", "name": "Tactical Tech", "id": 17018765, "indices": [11, 25]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850426071539490816", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850425930933784576, "created_at": "Fri Apr 07 19:12:30 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "@blahah404 @Info_Activism also, loopy simulations aren't very precise", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "850425930933784576", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 850425930933784576, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "blahah404", "id_str": "99173786", "name": "\u24ea Rik Smith-Unna", "id": 99173786, "indices": [0, 10]}, {"screen_name": "Info_Activism", "id_str": "17018765", "name": "Tactical Tech", "id": 17018765, "indices": [11, 25]}], "hashtags": [], "urls": [{"indices": [73, 96], "display_url": "civic.mit.edu/blog/natematia\u2026", "expanded_url": "https://civic.mit.edu/blog/natematias/fighting-racial-bias-with-big-science-calvin-lai-on-mass-cooperation-and-open", "url": "https://t.co/k280UTxo5f"}], "symbols": []}, "id_str": "850425930933784576", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850425615664730113, "created_at": "Fri Apr 07 19:11:56 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": 52332354, "geo": null, "text": "@blahah404 @Info_Activism See also Lai's work on implicit bias reduction https://t.co/k280UTxo5f", "retweet_count": 1, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "850425615664730113", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 850425615664730113, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "blahah404", "id_str": "99173786", "name": "\u24ea Rik Smith-Unna", "id": 99173786, "indices": [0, 10]}, {"screen_name": "Info_Activism", "id_str": "17018765", "name": "Tactical Tech", "id": 17018765, "indices": [11, 25]}], "hashtags": [], "urls": [{"indices": [64, 87], "display_url": "static1.squarespace.com/static/5186d08\u2026", "expanded_url": "https://static1.squarespace.com/static/5186d08fe4b065e39b45b91e/t/51e322a9e4b0031a73d97d1a/1373840041846/Commentary_Dixon+et+al_Paluck+Final.pdf", "url": "https://t.co/C0LIjPfgXW"}], "symbols": []}, "id_str": "850425615664730113", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850425539248754689, "created_at": "Fri Apr 07 19:10:41 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": 52332354, "geo": null, "text": "@blahah404 @Info_Activism See also this piece on social change: https://t.co/C0LIjPfgXW", "retweet_count": 1, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "850425539248754689", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": true, "id": 850425539248754689, "in_reply_to_user_id_str": "99173786", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "blahah404", "id_str": "99173786", "name": "\u24ea Rik Smith-Unna", "id": 99173786, "indices": [0, 10]}, {"screen_name": "Info_Activism", "id_str": "17018765", "name": "Tactical Tech", "id": 17018765, "indices": [11, 25]}], "hashtags": [], "urls": [{"indices": [117, 140], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/850425539248754689", "url": "https://t.co/6o4YVYgEIm"}], "symbols": []}, "id_str": "850425539248754689", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850421997880397824, "created_at": "Fri Apr 07 19:10:23 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": 99173786, "geo": null, "text": "@blahah404 @Info_Activism In the talk, the anigif includes a hypothesis on social change. Simulations aren't empiri\u2026 https://t.co/6o4YVYgEIm", "retweet_count": 1, "in_reply_to_screen_name": "blahah404", "in_reply_to_status_id_str": "850421997880397824", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 3, "truncated": true, "id": 850413123475578880, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [117, 140], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/850413123475578880", "url": "https://t.co/2P2tgtPSmy"}], "symbols": []}, "id_str": "850413123475578880", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 0, "truncated": false, "id": 850412602287116290, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 3023635558, "url": "http://t.co/rZnXaGeQMH", "id_str": "3023635558", "favourites_count": 38, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "troll-busters.com", "expanded_url": "http://www.troll-busters.com", "url": "http://t.co/rZnXaGeQMH"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/624942945699901441/oCUqd5xY_normal.jpg", "profile_link_color": "1DA1F2", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "listed_count": 42, "screen_name": "yoursosteam", "profile_use_background_image": true, "followers_count": 466, "statuses_count": 2390, "profile_background_color": "C0DEED", "friends_count": 51, "created_at": "Sat Feb 07 18:19:55 +0000 2015", "location": "", "is_translator": false, "verified": false, "profile_sidebar_border_color": "C0DEED", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "has_extended_profile": false, "protected": false, "description": "Online Pest Control for Women Writers", "is_translation_enabled": false, "default_profile": true, "profile_image_url": "http://pbs.twimg.com/profile_images/624942945699901441/oCUqd5xY_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/3023635558/1441405506", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "DDEEF6", "name": "TrollBusters", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [{"indices": [115, 131], "text": "documentinghate"}], "urls": [{"indices": [91, 114], "display_url": "bit.ly/2ohibFp", "expanded_url": "http://bit.ly/2ohibFp", "url": "https://t.co/4nX5bEsJxD"}], "symbols": []}, "id_str": "850412602287116290", "source": "Hootsuite", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 18:18:58 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "NEWS ALERT: Disqus has promised to banish toxic reader comments from sites like Breitbart. https://t.co/4nX5bEsJxD #documentinghate", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 18:21:03 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 850412602287116290, "geo": null, "text": "Fascinating. Disqus has typically expected individual websites to moderate themselves. Now they're going to take mo\u2026 https://t.co/2P2tgtPSmy", "retweet_count": 2, "in_reply_to_screen_name": null, "quoted_status_id_str": "850412602287116290", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 850391861625856000, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850391861625856000", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850390036952625152, "created_at": "Fri Apr 07 16:56:33 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "It's still unknown this brand-new instance will evolve, but watching the sysop work on community policies convinced me to donate on Patreon", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "850390036952625152", "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 8, "truncated": false, "id": 850389878735065090, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 1051171, "url": "http://t.co/rZpNJ8L8AN", "id_str": "1051171", "favourites_count": 3474, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "ethanzuckerman.com/blog", "expanded_url": "http://ethanzuckerman.com/blog", "url": "http://t.co/rZpNJ8L8AN"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/659351758704136193/5jUqQnv0_normal.jpg", "profile_link_color": "0000FF", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/1811372/56285630_d2fe511ddf_b.jpg", "listed_count": 3104, "screen_name": "EthanZ", "profile_use_background_image": true, "followers_count": 46238, "statuses_count": 25524, "profile_background_color": "9AE4E8", "friends_count": 1676, "created_at": "Mon Mar 12 23:01:19 +0000 2007", "location": "Pittsfield, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "87BC44", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/1811372/56285630_d2fe511ddf_b.jpg", "has_extended_profile": false, "protected": false, "description": "Center for Civic Media, MIT Media Lab, Global Voices, Berkman Klein Center. Author of \"Rewire\". RT \u2260 endorsement, RT = interesting read. #MakeAmericaKindAgain", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/659351758704136193/5jUqQnv0_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/1051171/1401413498", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": true, "profile_sidebar_fill_color": "E0FF92", "name": "Ethan Zuckerman", "default_profile_image": false, "profile_background_tile": true, "translator_type": "none", "following": true}, "entities": {"user_mentions": [{"screen_name": "globalvoices", "id_str": "794808", "name": "Global Voices", "id": 794808, "indices": [60, 73]}], "hashtags": [{"indices": [19, 33], "text": "IStandWithCEU"}], "urls": [{"indices": [75, 98], "display_url": "globalvoices.org/2017/04/04/hun\u2026", "expanded_url": "https://globalvoices.org/2017/04/04/hungary-fast-tracks-legislation-to-boot-out-central-european-university/", "url": "https://t.co/HOC4p7W2AE"}], "symbols": []}, "id_str": "850389878735065090", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 16:48:41 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "An overview of the #IStandWithCEU protests in Budapest from @globalvoices: https://t.co/HOC4p7W2AE", "retweet_count": 11, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 850390139452960768, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "EthanZ", "id_str": "1051171", "name": "Ethan Zuckerman", "id": 1051171, "indices": [3, 10]}, {"screen_name": "globalvoices", "id_str": "794808", "name": "Global Voices", "id": 794808, "indices": [72, 85]}], "hashtags": [{"indices": [31, 45], "text": "IStandWithCEU"}], "urls": [{"indices": [87, 110], "display_url": "globalvoices.org/2017/04/04/hun\u2026", "expanded_url": "https://globalvoices.org/2017/04/04/hungary-fast-tracks-legislation-to-boot-out-central-european-university/", "url": "https://t.co/HOC4p7W2AE"}], "symbols": []}, "id_str": "850390139452960768", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 16:49:43 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @EthanZ: An overview of the #IStandWithCEU protests in Budapest from @globalvoices: https://t.co/HOC4p7W2AE", "retweet_count": 11, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 2, "truncated": false, "id": 850390036952625152, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [114, 137], "display_url": "octodon.social/about/more", "expanded_url": "https://octodon.social/about/more", "url": "https://t.co/Fa6L3i9Vuq"}], "symbols": []}, "id_str": "850390036952625152", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850074766136487936, "created_at": "Fri Apr 07 16:49:18 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": 52332354, "geo": null, "text": "the mastodon instance I'm on now has guidelines for when to use \"CW\" (which hides the text unless someone clicks) https://t.co/Fa6L3i9Vuq", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "850074766136487936", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 850383422082228224, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850383422082228224", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 16:23:01 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "*So many* great questions & food for thought today at the Data Privacy Lab. Just the pick-me-up I needed to go and finish the dissertation", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 235, "truncated": false, "id": 850358909806227456, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 633, "url": "http://t.co/4ST5UQLw6b", "id_str": "633", "favourites_count": 47, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "danah.org", "expanded_url": "http://www.danah.org/", "url": "http://t.co/4ST5UQLw6b"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/2613209217/7in0v6wan5bq1rjbhdoz_normal.jpeg", "profile_link_color": "009999", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/484360446112047105/OQu9vplt.jpeg", "listed_count": 8863, "screen_name": "zephoria", "profile_use_background_image": true, "followers_count": 124368, "statuses_count": 5343, "profile_background_color": "131516", "friends_count": 1231, "created_at": "Thu Jul 13 21:27:23 +0000 2006", "location": "New York, NY", "is_translator": false, "verified": true, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/484360446112047105/OQu9vplt.jpeg", "has_extended_profile": false, "protected": false, "description": "social media scholar, youth researcher & advocate | Microsoft Research, Data & Society, NYU | zephoria@zephoria.org", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/2613209217/7in0v6wan5bq1rjbhdoz_normal.jpeg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/633/1404311276", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "EFEFEF", "name": "danah boyd", "default_profile_image": false, "profile_background_tile": true, "translator_type": "none", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850358909806227456", "source": "Twitter for iPhone", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 14:45:37 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "Regulating Facebook to \"fix\" misinformation is like \"fixing\" our economy by bringing back manufacturing. Nostalgic solutionism is sci-fi.", "retweet_count": 157, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 850382874251603968, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "zephoria", "id_str": "633", "name": "danah boyd", "id": 633, "indices": [3, 12]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850382874251603968", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 16:20:51 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @zephoria: Regulating Facebook to \"fix\" misinformation is like \"fixing\" our economy by bringing back manufacturing. Nostalgic solutionis\u2026", "retweet_count": 157, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 109, "truncated": false, "id": 850163338852126720, "in_reply_to_user_id_str": null, "user": {"time_zone": "Atlantic Time (Canada)", "notifications": false, "id": 415786964, "url": "http://t.co/rp09vbeaT3", "id_str": "415786964", "favourites_count": 19396, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "RevEverett.com", "expanded_url": "http://RevEverett.com", "url": "http://t.co/rp09vbeaT3"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/839504370056085504/wWkWsDgA_normal.jpg", "profile_link_color": "ABB8C2", "lang": "en", "utc_offset": -10800, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme6/bg.gif", "listed_count": 207, "screen_name": "RevEverett", "profile_use_background_image": false, "followers_count": 4252, "statuses_count": 25955, "profile_background_color": "000000", "friends_count": 3205, "created_at": "Fri Nov 18 20:26:26 +0000 2011", "location": "Boston, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "000000", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme6/bg.gif", "has_extended_profile": false, "protected": false, "description": "Let's all get free. Unabashed urbanist, bicycle evangelist. #HolySpokes book w/ @eerdmansbooks out in April. ED of @MassChurches. My opinions/RTs are apocryphal", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/839504370056085504/wWkWsDgA_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/415786964/1484111299", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": true, "profile_sidebar_fill_color": "000000", "name": "Laura Everett", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [{"indices": [25, 31], "text": "Syria"}], "urls": [], "symbols": []}, "id_str": "850163338852126720", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": {"contained_within": [], "attributes": {}, "full_name": "Syria", "name": "Syria", "id": "f773199c979358a5", "url": "https://api.twitter.com/1.1/geo/id/f773199c979358a5.json", "place_type": "country", "country_code": "SY", "country": "Syria", "bounding_box": {"type": "Polygon", "coordinates": [[[35.5868988, 32.3094341], [42.3753815, 32.3094341], [42.3753815, 37.3186098], [35.5868988, 37.3186098]]]}}, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 01:48:29 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "As missiles rain down in #Syria, we send up prayers:\nfor justice, for an end to war, for a peace we can scarcely imagine. \nAttend, O God.", "retweet_count": 71, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 850175208988311552, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "RevEverett", "id_str": "415786964", "name": "Laura Everett", "id": 415786964, "indices": [3, 14]}], "hashtags": [{"indices": [41, 47], "text": "Syria"}], "urls": [], "symbols": []}, "id_str": "850175208988311552", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 02:35:39 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @RevEverett: As missiles rain down in #Syria, we send up prayers:\nfor justice, for an end to war, for a peace we can scarcely imagine.\u2026", "retweet_count": 71, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 850174527413813248, "in_reply_to_user_id_str": "1409161", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "damiengwalter", "id_str": "1409161", "name": "Damien Walter", "id": 1409161, "indices": [0, 14]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850174527413813248", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850173229687857152, "created_at": "Fri Apr 07 02:32:57 +0000 2017", "in_reply_to_user_id": 1409161, "geo": null, "text": "@damiengwalter what's your username?", "retweet_count": 0, "in_reply_to_screen_name": "damiengwalter", "in_reply_to_status_id_str": "850173229687857152", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 10, "truncated": false, "id": 850173357882568705, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "ncasenmare", "id_str": "40631172", "name": "Nicky Case", "id": 40631172, "indices": [99, 110]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850173357882568705", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850173218057048064, "created_at": "Fri Apr 07 02:28:18 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "I made the animation in 5 minutes with Loopy, a gorgeous system for illustrating feedback loops by @ncasenmare", "retweet_count": 1, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "850173218057048064", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 158, "truncated": true, "id": 850173218057048064, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [108, 131], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/850173218057048064", "url": "https://t.co/wM1C3MpawU"}], "symbols": []}, "id_str": "850173218057048064", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 02:27:45 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Algorithmic discrimination illustrated. Animated gif from my talk tomorrow at the Harvard Data Privacy lab\u2026 https://t.co/wM1C3MpawU", "retweet_count": 104, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 850144786577272833, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "medialab", "id_str": "13982132", "name": "MIT Media Lab", "id": 13982132, "indices": [42, 51]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850144786577272833", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 00:34:46 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "Enjoyed many great discussions at my last @medialab member's event while still a student. So much inspiration to be found in the serendipity", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": true, "id": 850142343592333312, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [121, 144], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/850142343592333312", "url": "https://t.co/s5ylst0ZI9"}], "symbols": []}, "id_str": "850142343592333312", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 62, "truncated": false, "id": 850138991844184064, "in_reply_to_user_id_str": null, "user": {"time_zone": "Pacific Time (US & Canada)", "notifications": false, "id": 151774839, "url": "http://t.co/SSCm50uJNc", "id_str": "151774839", "favourites_count": 2132, "entities": {"description": {"urls": [{"indices": [60, 82], "display_url": "bit.ly/1zW7FNT", "expanded_url": "http://bit.ly/1zW7FNT", "url": "http://t.co/s14HKRm3H7"}, {"indices": [97, 119], "display_url": "bit.ly/1EWiQ0u", "expanded_url": "http://bit.ly/1EWiQ0u", "url": "http://t.co/Ws1885Hd1l"}, {"indices": [120, 142], "display_url": "keybase.io/spg", "expanded_url": "http://keybase.io/spg", "url": "http://t.co/lXPeH5NHBh"}]}, "url": {"urls": [{"indices": [0, 22], "display_url": "suegardner.org", "expanded_url": "http://suegardner.org", "url": "http://t.co/SSCm50uJNc"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/845088524973977600/ifoGN2Zn_normal.jpg", "profile_link_color": "0084B4", "lang": "en", "utc_offset": -25200, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme16/bg.gif", "listed_count": 311, "screen_name": "SuePGardner", "profile_use_background_image": true, "followers_count": 5449, "statuses_count": 4761, "profile_background_color": "9AE4E8", "friends_count": 1344, "created_at": "Fri Jun 04 06:17:11 +0000 2010", "location": "San Francisco, CA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "BDDCAD", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme16/bg.gif", "has_extended_profile": true, "protected": false, "description": "Internet do-gooder; many affiliations. Why women leave tech http://t.co/s14HKRm3H7 + 101 studies http://t.co/Ws1885Hd1l http://t.co/lXPeH5NHBh", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/845088524973977600/ifoGN2Zn_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/151774839/1480083846", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "DDFFCC", "name": "Sue Gardner", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [99, 122], "display_url": "scotusblog.com/2017/04/legal-\u2026", "expanded_url": "http://www.scotusblog.com/2017/04/legal-scholarship-highlight-justice-interrupted-gender-ideology-seniority-supreme-court/", "url": "https://t.co/869PBJDmfS"}], "symbols": []}, "id_str": "850138991844184064", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 00:11:45 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "This piece is really incredible. The more women you add to the bench, the more men interrupt them. https://t.co/869PBJDmfS", "retweet_count": 76, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Fri Apr 07 00:25:04 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 850138991844184064, "geo": null, "text": "A good pairing for this fascinating study wld be Karpowitz & Mandelberg's experiments on gender and meeting dynamic\u2026 https://t.co/s5ylst0ZI9", "retweet_count": 0, "in_reply_to_screen_name": null, "quoted_status_id_str": "850138991844184064", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 3, "truncated": false, "id": 850096370140708864, "in_reply_to_user_id_str": "1175221", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "digiphile", "id_str": "1175221", "name": "Alex Howard", "id": 1175221, "indices": [0, 10]}, {"screen_name": "jsb", "id_str": "815096", "name": "John S. Bracken", "id": 815096, "indices": [11, 15]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850096370140708864", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850095720078114816, "created_at": "Thu Apr 06 21:22:23 +0000 2017", "in_reply_to_user_id": 1175221, "geo": null, "text": "@digiphile @jsb .oO(imagining a twitter bot that spams people with every line in my dissertation, sent roughly once per minute)", "retweet_count": 0, "in_reply_to_screen_name": "digiphile", "in_reply_to_status_id_str": "850095720078114816", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 850095313138454531, "in_reply_to_user_id_str": "815096", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "jsb", "id_str": "815096", "name": "John S. Bracken", "id": 815096, "indices": [0, 4]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850095313138454531", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850081900488216576, "created_at": "Thu Apr 06 21:18:11 +0000 2017", "in_reply_to_user_id": 815096, "geo": null, "text": "@jsb alas! Will send a note your way after I submit the diss.", "retweet_count": 0, "in_reply_to_screen_name": "jsb", "in_reply_to_status_id_str": "850081900488216576", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 7, "truncated": true, "id": 850078989792288769, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [117, 140], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/850078989792288769", "url": "https://t.co/gy1CSahALB"}], "symbols": []}, "id_str": "850078989792288769", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 2, "truncated": false, "id": 850075323911876609, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "Central Time (US & Canada)", "notifications": false, "id": 1290351, "url": "https://t.co/N5xeaR1SvJ", "id_str": "1290351", "favourites_count": 5128, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "nancybaym.com", "expanded_url": "http://www.nancybaym.com", "url": "https://t.co/N5xeaR1SvJ"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/852944042912382977/JXd3XleR_normal.jpg", "profile_link_color": "3B94D9", "lang": "en", "utc_offset": -18000, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/2321268/twitterbackground.jpg", "listed_count": 527, "screen_name": "nancybaym", "profile_use_background_image": true, "followers_count": 7477, "statuses_count": 44215, "profile_background_color": "D3CFF0", "friends_count": 724, "created_at": "Fri Mar 16 14:39:19 +0000 2007", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "8ED238", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/2321268/twitterbackground.jpg", "has_extended_profile": false, "protected": false, "description": "Researcher at Microsoft. Wrote Personal Connections in the Digital Age. Forthcoming book on musician/audience relationships. May rant political.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/852944042912382977/JXd3XleR_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/1290351/1377531299", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": false, "profile_sidebar_fill_color": "C8D5A7", "name": "Nancy Baym", "default_profile_image": false, "profile_background_tile": true, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "natematias", "id_str": "52332354", "name": "J. Nathan Matias", "id": 52332354, "indices": [0, 11]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850075323911876609", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850074766136487936, "created_at": "Thu Apr 06 19:58:45 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "@natematias Is being a mastadonian going to turn out to be too much work?", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "850074766136487936", "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Thu Apr 06 20:13:19 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 850075323911876609, "geo": null, "text": "I think there are two kinds of work:\n1) the labor of being on any social platform\n2) the civic labor of shaping gov\u2026 https://t.co/gy1CSahALB", "retweet_count": 0, "in_reply_to_screen_name": null, "quoted_status_id_str": "850075323911876609", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 3, "truncated": false, "id": 850074766136487936, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850074766136487936", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849766280181755904, "created_at": "Thu Apr 06 19:56:32 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "Now I'm watching a mastodon instance discuss de-affiliating from an instance that they consider a source of spam/trolling", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "849766280181755904", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 850062742883094528, "in_reply_to_user_id_str": "815096", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "jsb", "id_str": "815096", "name": "John S. Bracken", "id": 815096, "indices": [0, 4]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850062742883094528", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Thu Apr 06 19:08:45 +0000 2017", "in_reply_to_user_id": 815096, "geo": null, "text": "@jsb how can I find you?", "retweet_count": 0, "in_reply_to_screen_name": "jsb", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 2, "truncated": false, "id": 850043161766498304, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "RedditScience", "id_str": "858896371", "name": "RedditScience", "id": 858896371, "indices": [22, 36]}], "hashtags": [], "urls": [{"indices": [115, 138], "display_url": "ctan.org/tex-archive/ma\u2026", "expanded_url": "https://www.ctan.org/tex-archive/macros/latex/contrib/flipbook?lang=en", "url": "https://t.co/C5vfWMAPJQ"}], "symbols": []}, "id_str": "850043161766498304", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849994559417458688, "created_at": "Thu Apr 06 17:50:57 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": 52332354, "geo": null, "text": "Now the good folks at @RedditScience have pointed me to a library that adds flipbook animations to LaTeX documents https://t.co/C5vfWMAPJQ", "retweet_count": 1, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "849994559417458688", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 2, "truncated": false, "id": 850032128754692098, "in_reply_to_user_id_str": "14848946", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "katemiltner", "id_str": "14848946", "name": "Kate Miltner", "id": 14848946, "indices": [0, 12]}, {"screen_name": "aschrock", "id_str": "14860076", "name": "Andrew R. Schrock", "id": 14860076, "indices": [13, 22]}, {"screen_name": "Nsousanis", "id_str": "427354566", "name": "Nick Sousanis", "id": 427354566, "indices": [26, 36]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850032128754692098", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850030132211269632, "created_at": "Thu Apr 06 17:07:06 +0000 2017", "in_reply_to_user_id": 14848946, "geo": null, "text": "@katemiltner @aschrock if @Nsousanis could create a graphic novel for his PhD, we can dream, rite?", "retweet_count": 0, "in_reply_to_screen_name": "katemiltner", "in_reply_to_status_id_str": "850030132211269632", "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 32, "truncated": true, "id": 847432685614006273, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 355686812, "url": "https://t.co/OXFKvSircK", "id_str": "355686812", "favourites_count": 20398, "entities": {"description": {"urls": [{"indices": [100, 123], "display_url": "instagram.com/bostonattitude", "expanded_url": "http://instagram.com/bostonattitude", "url": "https://t.co/wd1vbJjVH7"}]}, "url": {"urls": [{"indices": [0, 23], "display_url": "thebostonattitude.com", "expanded_url": "http://www.thebostonattitude.com", "url": "https://t.co/OXFKvSircK"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/839851810517024769/F2OBip6t_normal.jpg", "profile_link_color": "556677", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/717170405581197312/Em2HPXhQ.png", "listed_count": 427, "screen_name": "BostonAttitude", "profile_use_background_image": true, "followers_count": 22693, "statuses_count": 29446, "profile_background_color": "131516", "friends_count": 4635, "created_at": "Mon Aug 15 18:52:44 +0000 2011", "location": "Boston, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/717170405581197312/Em2HPXhQ.png", "has_extended_profile": false, "protected": false, "description": "Telling my story in Boston through social media posts of the happenings around the city. Instagram: https://t.co/wd1vbJjVH7 Posts by: John Romard.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/839851810517024769/F2OBip6t_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/355686812/1486436972", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "EFEFEF", "name": "Boston Attitude", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "bostonmarathon", "id_str": "111037335", "name": "Boston Marathon", "id": 111037335, "indices": [61, 76]}], "hashtags": [], "urls": [{"indices": [117, 140], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/847432685614006273", "url": "https://t.co/VeqAq5yRlN"}], "symbols": []}, "id_str": "847432685614006273", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": {"contained_within": [], "attributes": {}, "full_name": "Boston, MA", "name": "Boston", "id": "67b98f17fdcf20be", "url": "https://api.twitter.com/1.1/geo/id/67b98f17fdcf20be.json", "place_type": "city", "country_code": "US", "country": "United States", "bounding_box": {"type": "Polygon", "coordinates": [[[-71.191421, 42.227797], [-70.986004, 42.227797], [-70.986004, 42.399542], [-71.191421, 42.399542]]]}}, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Thu Mar 30 12:57:51 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "This year, there will be 30,000 official participants in the @BostonMarathon, including 6,200+ runners traveling fr\u2026 https://t.co/VeqAq5yRlN", "retweet_count": 19, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 850021338307756032, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "BostonAttitude", "id_str": "355686812", "name": "Boston Attitude", "id": 355686812, "indices": [3, 18]}, {"screen_name": "bostonmarathon", "id_str": "111037335", "name": "Boston Marathon", "id": 111037335, "indices": [81, 96]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850021338307756032", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Thu Apr 06 16:24:14 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @BostonAttitude: This year, there will be 30,000 official participants in the @BostonMarathon, including 6,200+ runners traveling from 9\u2026", "retweet_count": 19, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 4, "truncated": false, "id": 850020895552884737, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [114, 137], "display_url": "twitter.com/johnmyleswhite\u2026", "expanded_url": "https://twitter.com/johnmyleswhite/status/849977417791819778", "url": "https://t.co/jMsipcnfRQ"}], "symbols": []}, "id_str": "850020895552884737", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 101, "truncated": false, "id": 849977417791819778, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 15379361, "url": "http://t.co/5IYWkW9dbW", "id_str": "15379361", "favourites_count": 5596, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "johnmyleswhite.com", "expanded_url": "http://www.johnmyleswhite.com", "url": "http://t.co/5IYWkW9dbW"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/847101416107720705/TqP7iVpy_normal.jpg", "profile_link_color": "1DA1F2", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "listed_count": 1039, "screen_name": "johnmyleswhite", "profile_use_background_image": true, "followers_count": 18906, "statuses_count": 19568, "profile_background_color": "C0DEED", "friends_count": 30, "created_at": "Thu Jul 10 16:10:19 +0000 2008", "location": "San Francisco, CA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "C0DEED", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "has_extended_profile": true, "protected": false, "description": "Research scientist at Facebook working on statistical computing. Julia developer. Tweets reflect my views only.", "is_translation_enabled": false, "default_profile": true, "profile_image_url": "http://pbs.twimg.com/profile_images/847101416107720705/TqP7iVpy_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/15379361/1483023755", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "DDEEF6", "name": "John Myles White", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [111, 134], "display_url": "rss.org.uk/Images/PDF/pub\u2026", "expanded_url": "http://www.rss.org.uk/Images/PDF/publications/2017/Gelman-Hennig-April-17.pdf", "url": "https://t.co/eChDD8Yvac"}], "symbols": []}, "id_str": "849977417791819778", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Thu Apr 06 13:29:42 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "This recent essay by Gelman and Hennig is a remarkably good description of what healthy statistics looks like: https://t.co/eChDD8Yvac", "retweet_count": 34, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Thu Apr 06 16:22:28 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 849977417791819778, "geo": null, "text": "\"We argue that the words \u2018objective\u2019 and \u2018subjective\u2019 in statistics discourse are used in a mostly unhelpful way\" https://t.co/jMsipcnfRQ", "retweet_count": 2, "in_reply_to_screen_name": null, "quoted_status_id_str": "849977417791819778", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 24, "truncated": false, "id": 849977929694150658, "in_reply_to_user_id_str": null, "user": {"time_zone": "Amsterdam", "notifications": false, "id": 916801304, "url": "https://t.co/VERHZZxdXM", "id_str": "916801304", "favourites_count": 284, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "vgresearcher.wordpress.com", "expanded_url": "https://vgresearcher.wordpress.com/", "url": "https://t.co/VERHZZxdXM"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/456520027445792768/jChqIFrK_normal.png", "profile_link_color": "307D7E", "lang": "en", "utc_offset": 7200, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme2/bg.gif", "listed_count": 41, "screen_name": "WY_Tang", "profile_use_background_image": false, "followers_count": 394, "statuses_count": 1578, "profile_background_color": "000000", "friends_count": 159, "created_at": "Wed Oct 31 12:40:06 +0000 2012", "location": "", "is_translator": false, "verified": false, "profile_sidebar_border_color": "000000", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme2/bg.gif", "has_extended_profile": false, "protected": false, "description": "Communication Ph.D. All things about #videogames research. Specializes in sexual harassment in online gaming. @ifkms postdoc", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/456520027445792768/jChqIFrK_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/916801304/1488034540", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": false, "profile_sidebar_fill_color": "000000", "name": "Wai Yen Tang", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "CommFox", "id_str": "328712209", "name": "Jesse Fox", "id": 328712209, "indices": [28, 36]}], "hashtags": [{"indices": [0, 13], "text": "multiplayer2"}, {"indices": [62, 69], "text": "sexism"}, {"indices": [70, 81], "text": "videogames"}], "media": [{"indices": [82, 105], "type": "photo", "media_url": "http://pbs.twimg.com/media/C8u6YEwXsAAXEQT.jpg", "id": 849977877445718016, "media_url_https": "https://pbs.twimg.com/media/C8u6YEwXsAAXEQT.jpg", "id_str": "849977877445718016", "url": "https://t.co/MtCzAe9CAE", "display_url": "pic.twitter.com/MtCzAe9CAE", "sizes": {"small": {"h": 680, "w": 442, "resize": "fit"}, "medium": {"h": 1200, "w": 780, "resize": "fit"}, "large": {"h": 2048, "w": 1332, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}}, "expanded_url": "https://twitter.com/WY_Tang/status/849977929694150658/photo/1"}], "urls": [], "symbols": []}, "id_str": "849977929694150658", "source": "Twitter for Android", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "extended_entities": {"media": [{"indices": [82, 105], "type": "photo", "media_url": "http://pbs.twimg.com/media/C8u6YEwXsAAXEQT.jpg", "id": 849977877445718016, "media_url_https": "https://pbs.twimg.com/media/C8u6YEwXsAAXEQT.jpg", "id_str": "849977877445718016", "url": "https://t.co/MtCzAe9CAE", "display_url": "pic.twitter.com/MtCzAe9CAE", "sizes": {"small": {"h": 680, "w": 442, "resize": "fit"}, "medium": {"h": 1200, "w": 780, "resize": "fit"}, "large": {"h": 2048, "w": 1332, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}}, "expanded_url": "https://twitter.com/WY_Tang/status/849977929694150658/photo/1"}, {"indices": [82, 105], "type": "photo", "media_url": "http://pbs.twimg.com/media/C8u6ZqdW0AAlkqB.jpg", "id": 849977904746385408, "media_url_https": "https://pbs.twimg.com/media/C8u6ZqdW0AAlkqB.jpg", "id_str": "849977904746385408", "url": "https://t.co/MtCzAe9CAE", "display_url": "pic.twitter.com/MtCzAe9CAE", "sizes": {"thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 1200, "w": 1199, "resize": "fit"}, "large": {"h": 1441, "w": 1440, "resize": "fit"}, "small": {"h": 680, "w": 680, "resize": "fit"}}, "expanded_url": "https://twitter.com/WY_Tang/status/849977929694150658/photo/1"}]}, "created_at": "Thu Apr 06 13:31:44 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "#multiplayer2 is published, @CommFox & I wrote chapter on #sexism #videogames https://t.co/MtCzAe9CAE", "retweet_count": 9, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 850020670218149891, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "WY_Tang", "id_str": "916801304", "name": "Wai Yen Tang", "id": 916801304, "indices": [3, 11]}, {"screen_name": "CommFox", "id_str": "328712209", "name": "Jesse Fox", "id": 328712209, "indices": [41, 49]}], "hashtags": [{"indices": [13, 26], "text": "multiplayer2"}, {"indices": [75, 82], "text": "sexism"}, {"indices": [83, 94], "text": "videogames"}], "media": [{"indices": [95, 118], "source_status_id_str": "849977929694150658", "type": "photo", "media_url": "http://pbs.twimg.com/media/C8u6YEwXsAAXEQT.jpg", "id": 849977877445718016, "url": "https://t.co/MtCzAe9CAE", "source_user_id": 916801304, "id_str": "849977877445718016", "sizes": {"small": {"h": 680, "w": 442, "resize": "fit"}, "medium": {"h": 1200, "w": 780, "resize": "fit"}, "large": {"h": 2048, "w": 1332, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}}, "expanded_url": "https://twitter.com/WY_Tang/status/849977929694150658/photo/1", "media_url_https": "https://pbs.twimg.com/media/C8u6YEwXsAAXEQT.jpg", "source_status_id": 849977929694150658, "source_user_id_str": "916801304", "display_url": "pic.twitter.com/MtCzAe9CAE"}], "urls": [], "symbols": []}, "id_str": "850020670218149891", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "extended_entities": {"media": [{"indices": [95, 118], "source_status_id_str": "849977929694150658", "type": "photo", "media_url": "http://pbs.twimg.com/media/C8u6YEwXsAAXEQT.jpg", "id": 849977877445718016, "url": "https://t.co/MtCzAe9CAE", "source_user_id": 916801304, "id_str": "849977877445718016", "sizes": {"small": {"h": 680, "w": 442, "resize": "fit"}, "medium": {"h": 1200, "w": 780, "resize": "fit"}, "large": {"h": 2048, "w": 1332, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}}, "expanded_url": "https://twitter.com/WY_Tang/status/849977929694150658/photo/1", "media_url_https": "https://pbs.twimg.com/media/C8u6YEwXsAAXEQT.jpg", "source_status_id": 849977929694150658, "source_user_id_str": "916801304", "display_url": "pic.twitter.com/MtCzAe9CAE"}, {"indices": [95, 118], "source_status_id_str": "849977929694150658", "type": "photo", "media_url": "http://pbs.twimg.com/media/C8u6ZqdW0AAlkqB.jpg", "id": 849977904746385408, "url": "https://t.co/MtCzAe9CAE", "source_user_id": 916801304, "id_str": "849977904746385408", "sizes": {"thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 1200, "w": 1199, "resize": "fit"}, "large": {"h": 1441, "w": 1440, "resize": "fit"}, "small": {"h": 680, "w": 680, "resize": "fit"}}, "expanded_url": "https://twitter.com/WY_Tang/status/849977929694150658/photo/1", "media_url_https": "https://pbs.twimg.com/media/C8u6ZqdW0AAlkqB.jpg", "source_status_id": 849977929694150658, "source_user_id_str": "916801304", "display_url": "pic.twitter.com/MtCzAe9CAE"}]}, "created_at": "Thu Apr 06 16:21:35 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @WY_Tang: #multiplayer2 is published, @CommFox & I wrote chapter on #sexism #videogames https://t.co/MtCzAe9CAE", "retweet_count": 9, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 850016862800838657, "in_reply_to_user_id_str": "93476253", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "dfreelon", "id_str": "93476253", "name": "Deen Freelon", "id": 93476253, "indices": [0, 9]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "850016862800838657", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850015734021443584, "created_at": "Thu Apr 06 16:06:27 +0000 2017", "in_reply_to_user_id": 93476253, "geo": null, "text": "@dfreelon CONGRATS!", "retweet_count": 0, "in_reply_to_screen_name": "dfreelon", "in_reply_to_status_id_str": "850015734021443584", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": true, "id": 850016719842271233, "in_reply_to_user_id_str": "72842277", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "deborahblum", "id_str": "72842277", "name": "Deborah Blum", "id": 72842277, "indices": [0, 12]}, {"screen_name": "RadioFreeTom", "id_str": "459872442", "name": "Tom Nichols", "id": 459872442, "indices": [13, 26]}, {"screen_name": "ForeignAffairs", "id_str": "21114659", "name": "Foreign Affairs", "id": 21114659, "indices": [27, 42]}], "hashtags": [], "urls": [{"indices": [117, 140], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/850016719842271233", "url": "https://t.co/9LwX11TNLE"}], "symbols": []}, "id_str": "850016719842271233", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 850015902514860032, "created_at": "Thu Apr 06 16:05:53 +0000 2017", "in_reply_to_user_id": 72842277, "geo": null, "text": "@deborahblum @RadioFreeTom @ForeignAffairs yep. Though I'd argue that Wikipedia is one of the places where a respec\u2026 https://t.co/9LwX11TNLE", "retweet_count": 0, "in_reply_to_screen_name": "deborahblum", "in_reply_to_status_id_str": "850015902514860032", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 4, "truncated": false, "id": 849996646121439233, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849996646121439233", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849994559417458688, "created_at": "Thu Apr 06 14:46:07 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "When worked on hypertext I imagined academic creations that unfold whole worlds of constellated knowledge. Now I see anigifs as cutting edge", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "849994559417458688", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 22, "truncated": false, "id": 849994559417458688, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849994559417458688", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Thu Apr 06 14:37:49 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "Deciding if it's worth the effort to embed an animated gif into my dissertation", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 20, "truncated": false, "id": 849781626662006784, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 1051171, "url": "http://t.co/rZpNJ8L8AN", "id_str": "1051171", "favourites_count": 3474, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "ethanzuckerman.com/blog", "expanded_url": "http://ethanzuckerman.com/blog", "url": "http://t.co/rZpNJ8L8AN"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/659351758704136193/5jUqQnv0_normal.jpg", "profile_link_color": "0000FF", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/1811372/56285630_d2fe511ddf_b.jpg", "listed_count": 3104, "screen_name": "EthanZ", "profile_use_background_image": true, "followers_count": 46238, "statuses_count": 25524, "profile_background_color": "9AE4E8", "friends_count": 1676, "created_at": "Mon Mar 12 23:01:19 +0000 2007", "location": "Pittsfield, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "87BC44", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/1811372/56285630_d2fe511ddf_b.jpg", "has_extended_profile": false, "protected": false, "description": "Center for Civic Media, MIT Media Lab, Global Voices, Berkman Klein Center. Author of \"Rewire\". RT \u2260 endorsement, RT = interesting read. #MakeAmericaKindAgain", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/659351758704136193/5jUqQnv0_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/1051171/1401413498", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": true, "profile_sidebar_fill_color": "E0FF92", "name": "Ethan Zuckerman", "default_profile_image": false, "profile_background_tile": true, "translator_type": "none", "following": true}, "entities": {"user_mentions": [{"screen_name": "natematias", "id_str": "52332354", "name": "J. Nathan Matias", "id": 52332354, "indices": [18, 29]}], "hashtags": [], "urls": [{"indices": [112, 135], "display_url": "fastcodesign.com/3068556/remind\u2026", "expanded_url": "https://www.fastcodesign.com/3068556/reminder-you-can-manipulate-algorithms-too", "url": "https://t.co/JPqXbLcGCV"}], "symbols": []}, "id_str": "849781626662006784", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Thu Apr 06 00:31:42 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Great overview of @natematias's work on Civil Servant, which helps online communities govern themselves better: https://t.co/JPqXbLcGCV", "retweet_count": 12, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 849788762234159104, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "EthanZ", "id_str": "1051171", "name": "Ethan Zuckerman", "id": 1051171, "indices": [3, 10]}, {"screen_name": "natematias", "id_str": "52332354", "name": "J. Nathan Matias", "id": 52332354, "indices": [30, 41]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849788762234159104", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Thu Apr 06 01:00:03 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @EthanZ: Great overview of @natematias's work on Civil Servant, which helps online communities govern themselves better: https://t.co/JP\u2026", "retweet_count": 12, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 849788680432758784, "in_reply_to_user_id_str": "75913", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "jessamyn", "id_str": "75913", "name": "jessamyn west", "id": 75913, "indices": [0, 9]}, {"screen_name": "JFTitone", "id_str": "426793713", "name": "Jeanine Finn", "id": 426793713, "indices": [10, 19]}, {"screen_name": "metafilter", "id_str": "8495642", "name": "MetaFilter", "id": 8495642, "indices": [20, 31]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849788680432758784", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849779920599470080, "created_at": "Thu Apr 06 00:59:44 +0000 2017", "in_reply_to_user_id": 75913, "geo": null, "text": "@jessamyn @JFTitone @metafilter <3 I will send you a note after finishing writing my dissertation about moderation. Thanks Jessamyn!", "retweet_count": 0, "in_reply_to_screen_name": "jessamyn", "in_reply_to_status_id_str": "849779920599470080", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 849769289154523136, "in_reply_to_user_id_str": "18363942", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "sdboyer", "id_str": "18363942", "name": "sam boyer", "id": 18363942, "indices": [0, 8]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849769289154523136", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849768827495886848, "created_at": "Wed Apr 05 23:42:41 +0000 2017", "in_reply_to_user_id": 18363942, "geo": null, "text": "@sdboyer how did those communities handle this discussion? Did they end up with polls?", "retweet_count": 0, "in_reply_to_screen_name": "sdboyer", "in_reply_to_status_id_str": "849768827495886848", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 2, "truncated": false, "id": 849766280181755904, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849766280181755904", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849765854594166785, "created_at": "Wed Apr 05 23:30:43 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "And now my mastodon instance is discussing the potential of setting up a polling system for group decisions", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "849765854594166785", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 849765854594166785, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849765854594166785", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849742222627090432, "created_at": "Wed Apr 05 23:29:02 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "Seeing mastodon trending hashtag bots, which only report the trends within a single instance", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "849742222627090432", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 849763548658114561, "in_reply_to_user_id_str": "426793713", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "JFTitone", "id_str": "426793713", "name": "Jeanine Finn", "id": 426793713, "indices": [0, 9]}, {"screen_name": "metafilter", "id_str": "8495642", "name": "MetaFilter", "id": 8495642, "indices": [10, 21]}, {"screen_name": "jessamyn", "id_str": "75913", "name": "jessamyn west", "id": 75913, "indices": [22, 31]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849763548658114561", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849762118194921473, "created_at": "Wed Apr 05 23:19:52 +0000 2017", "in_reply_to_user_id": 426793713, "geo": null, "text": "@JFTitone @metafilter @jessamyn <3 Metafilter and Jessamyn too. Glad to see there's interest in something like this!", "retweet_count": 0, "in_reply_to_screen_name": "JFTitone", "in_reply_to_status_id_str": "849762118194921473", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 849753134469709824, "in_reply_to_user_id_str": "636468387", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "niloufar_s", "id_str": "636468387", "name": "Niloufar Salehi", "id": 636468387, "indices": [0, 11]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849753134469709824", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849748731620597760, "created_at": "Wed Apr 05 22:38:29 +0000 2017", "in_reply_to_user_id": 636468387, "geo": null, "text": "@niloufar_s Yes, ish. Non-volunteers often sign NDAs that make it impossible for them to talk publicly. We'd need a way to overcome that", "retweet_count": 0, "in_reply_to_screen_name": "niloufar_s", "in_reply_to_status_id_str": "849748731620597760", "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 11, "truncated": false, "id": 849736524988121088, "in_reply_to_user_id_str": null, "user": {"time_zone": "Cairo", "notifications": false, "id": 6745972, "url": "https://t.co/AWX1RmIVsH", "id_str": "6745972", "favourites_count": 7271, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "bellavelo.me", "expanded_url": "http://www.bellavelo.me", "url": "https://t.co/AWX1RmIVsH"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/715824666896674816/VacclD4M_normal.jpg", "profile_link_color": "1B95E0", "lang": "en", "utc_offset": 7200, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/724829118626467840/qYaOG8cJ.jpg", "listed_count": 192, "screen_name": "bella_velo", "profile_use_background_image": true, "followers_count": 3770, "statuses_count": 36785, "profile_background_color": "ACDED6", "friends_count": 3367, "created_at": "Mon Jun 11 16:03:49 +0000 2007", "location": "Toronto, Ontario", "is_translator": false, "verified": false, "profile_sidebar_border_color": "EEEEEE", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/724829118626467840/qYaOG8cJ.jpg", "has_extended_profile": false, "protected": false, "description": "@creativecommons @CC_Canada CC \ud83c\udde8\ud83c\udde6Public Lead. Functional Pockets Feminist. Whisky in a teacup. She. Partner in crime @ryanmerkley", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/715824666896674816/VacclD4M_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/6745972/1456329413", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "F6F6F6", "name": "Kelsey Wiens \ud83d\udd75\ud83c\udffb\u200d\u2640\ufe0f", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "creativecommons", "id_str": "17462723", "name": "Creative Commons", "id": 17462723, "indices": [56, 72]}, {"screen_name": "lesliekwchan", "id_str": "154251965", "name": "Leslie Chan", "id": 154251965, "indices": [96, 109]}], "hashtags": [{"indices": [73, 82], "text": "CCSummit"}], "urls": [{"indices": [118, 141], "display_url": "sched.co/AFKV", "expanded_url": "http://sched.co/AFKV", "url": "https://t.co/eoArUGstfa"}], "symbols": []}, "id_str": "849736524988121088", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 21:32:29 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "So excited about the Community & Movement track for @creativecommons #CCSummit - Don't miss @lesliekwchan session https://t.co/eoArUGstfa", "retweet_count": 5, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 849752869985288196, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "bella_velo", "id_str": "6745972", "name": "Kelsey Wiens \ud83d\udd75\ud83c\udffb\u200d\u2640\ufe0f", "id": 6745972, "indices": [3, 14]}, {"screen_name": "creativecommons", "id_str": "17462723", "name": "Creative Commons", "id": 17462723, "indices": [72, 88]}, {"screen_name": "lesliekwchan", "id_str": "154251965", "name": "Leslie Chan", "id": 154251965, "indices": [112, 125]}], "hashtags": [{"indices": [89, 98], "text": "CCSummit"}], "urls": [], "symbols": []}, "id_str": "849752869985288196", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 22:37:26 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @bella_velo: So excited about the Community & Movement track for @creativecommons #CCSummit - Don't miss @lesliekwchan session https://t\u2026", "retweet_count": 5, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 15, "truncated": false, "id": 849745681271197696, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849745681271197696", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849742222627090432, "created_at": "Wed Apr 05 22:08:52 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "Actually, when I am finished with this dissertation, I may look into creating a guild of experienced volunteer moderators across the web", "retweet_count": 3, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "849742222627090432", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 13, "truncated": false, "id": 849742222627090432, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [114, 137], "display_url": "pdfs.semanticscholar.org/553b/7315936e4\u2026", "expanded_url": "https://pdfs.semanticscholar.org/553b/7315936e49f98b18a37c4937a9170edab096.pdf", "url": "https://t.co/dejtOlIcf0"}], "symbols": []}, "id_str": "849742222627090432", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849741555858636803, "created_at": "Wed Apr 05 21:55:07 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": 52332354, "geo": null, "text": "Citation: online communities with moderators who gained experience elsewhere are more likely to survive over time https://t.co/dejtOlIcf0", "retweet_count": 8, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "849741555858636803", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 8, "truncated": false, "id": 849741555858636803, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849741555858636803", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849741159907905536, "created_at": "Wed Apr 05 21:52:29 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "My advice to new mastodon servers: get help from people with experience moderating other communities. It's the best predictor of survival", "retweet_count": 4, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "849741159907905536", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 5, "truncated": false, "id": 849741159907905536, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849741159907905536", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849740851811057664, "created_at": "Wed Apr 05 21:50:54 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "We can make an evolutionary argument: different ops will try different things, and can learn from each other: laboratories of governance", "retweet_count": 3, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "849740851811057664", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 9, "truncated": false, "id": 849740851811057664, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849740851811057664", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849740196245643264, "created_at": "Wed Apr 05 21:49:41 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "What's interesting about Mastodon, sociologically, is that just like reddit, we see hundreds of communities struggle w/ issues, in parallel", "retweet_count": 2, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "849740196245643264", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 17, "truncated": false, "id": 849740196245643264, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849740196245643264", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849736873450893312, "created_at": "Wed Apr 05 21:47:04 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "Our mastodon server is struggling w conflicting definitions of harassment, as the op decides what lines to draw. History of Twitter in 24hrs", "retweet_count": 2, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "849736873450893312", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 22, "truncated": false, "id": 849736873450893312, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849736873450893312", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 21:33:52 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "Watching a mastodon sysop consultancy ecosystem emerge", "retweet_count": 2, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 23, "truncated": false, "id": 849729898134601729, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 95431448, "url": "http://t.co/g2XphqdJIo", "id_str": "95431448", "favourites_count": 334, "entities": {"description": {"urls": [{"indices": [133, 156], "display_url": "twitter.com/BostonGlobe/li\u2026", "expanded_url": "https://twitter.com/BostonGlobe/lists/globe-journalists", "url": "https://t.co/KPOiZTQG87"}]}, "url": {"urls": [{"indices": [0, 22], "display_url": "bostonglobe.com", "expanded_url": "http://bostonglobe.com", "url": "http://t.co/g2XphqdJIo"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/586570157734019072/Qxz1LIIM_normal.png", "profile_link_color": "050505", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/378800000003877254/c79663e95d0e284ce165db703dffd474.jpeg", "listed_count": 9736, "screen_name": "BostonGlobe", "profile_use_background_image": true, "followers_count": 623959, "statuses_count": 233708, "profile_background_color": "EDECE9", "friends_count": 1237, "created_at": "Tue Dec 08 14:33:38 +0000 2009", "location": "Boston, MA", "is_translator": false, "verified": true, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/378800000003877254/c79663e95d0e284ce165db703dffd474.jpeg", "has_extended_profile": false, "protected": false, "description": "Boston and New England's leading source for breaking news and analysis, with coverage from across the world. Follow our journalists: https://t.co/KPOiZTQG87", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/586570157734019072/Qxz1LIIM_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/95431448/1491431789", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": true, "profile_sidebar_fill_color": "FFFFFF", "name": "The Boston Globe", "default_profile_image": false, "profile_background_tile": false, "translator_type": "regular", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "media": [{"indices": [68, 91], "type": "photo", "media_url": "http://pbs.twimg.com/media/C8rY1lKVoAAGpmk.jpg", "id": 849729894732898304, "media_url_https": "https://pbs.twimg.com/media/C8rY1lKVoAAGpmk.jpg", "id_str": "849729894732898304", "url": "https://t.co/dLroPnUHM4", "display_url": "pic.twitter.com/dLroPnUHM4", "sizes": {"thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 914, "w": 960, "resize": "fit"}, "large": {"h": 914, "w": 960, "resize": "fit"}, "small": {"h": 647, "w": 680, "resize": "fit"}}, "expanded_url": "https://twitter.com/BostonGlobe/status/849729898134601729/photo/1"}], "urls": [{"indices": [44, 67], "display_url": "bos.gl/P5AMbbI", "expanded_url": "http://bos.gl/P5AMbbI", "url": "https://t.co/5NFwRLo7E4"}], "symbols": []}, "id_str": "849729898134601729", "source": "SocialFlow", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "extended_entities": {"media": [{"indices": [68, 91], "type": "photo", "media_url": "http://pbs.twimg.com/media/C8rY1lKVoAAGpmk.jpg", "id": 849729894732898304, "media_url_https": "https://pbs.twimg.com/media/C8rY1lKVoAAGpmk.jpg", "id_str": "849729894732898304", "url": "https://t.co/dLroPnUHM4", "display_url": "pic.twitter.com/dLroPnUHM4", "sizes": {"thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 914, "w": 960, "resize": "fit"}, "large": {"h": 914, "w": 960, "resize": "fit"}, "small": {"h": 647, "w": 680, "resize": "fit"}}, "expanded_url": "https://twitter.com/BostonGlobe/status/849729898134601729/photo/1"}]}, "created_at": "Wed Apr 05 21:06:09 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "How Western Mass. became kids\u2019 lit central https://t.co/5NFwRLo7E4 https://t.co/dLroPnUHM4", "retweet_count": 12, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 849730944701517824, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "BostonGlobe", "id_str": "95431448", "name": "The Boston Globe", "id": 95431448, "indices": [3, 15]}], "hashtags": [], "media": [{"indices": [85, 108], "source_status_id_str": "849729898134601729", "type": "photo", "media_url": "http://pbs.twimg.com/media/C8rY1lKVoAAGpmk.jpg", "id": 849729894732898304, "url": "https://t.co/dLroPnUHM4", "source_user_id": 95431448, "id_str": "849729894732898304", "sizes": {"thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 914, "w": 960, "resize": "fit"}, "large": {"h": 914, "w": 960, "resize": "fit"}, "small": {"h": 647, "w": 680, "resize": "fit"}}, "expanded_url": "https://twitter.com/BostonGlobe/status/849729898134601729/photo/1", "media_url_https": "https://pbs.twimg.com/media/C8rY1lKVoAAGpmk.jpg", "source_status_id": 849729898134601729, "source_user_id_str": "95431448", "display_url": "pic.twitter.com/dLroPnUHM4"}], "urls": [{"indices": [61, 84], "display_url": "bos.gl/P5AMbbI", "expanded_url": "http://bos.gl/P5AMbbI", "url": "https://t.co/5NFwRLo7E4"}], "symbols": []}, "id_str": "849730944701517824", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "extended_entities": {"media": [{"indices": [85, 108], "source_status_id_str": "849729898134601729", "type": "photo", "media_url": "http://pbs.twimg.com/media/C8rY1lKVoAAGpmk.jpg", "id": 849729894732898304, "url": "https://t.co/dLroPnUHM4", "source_user_id": 95431448, "id_str": "849729894732898304", "sizes": {"thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 914, "w": 960, "resize": "fit"}, "large": {"h": 914, "w": 960, "resize": "fit"}, "small": {"h": 647, "w": 680, "resize": "fit"}}, "expanded_url": "https://twitter.com/BostonGlobe/status/849729898134601729/photo/1", "media_url_https": "https://pbs.twimg.com/media/C8rY1lKVoAAGpmk.jpg", "source_status_id": 849729898134601729, "source_user_id_str": "95431448", "display_url": "pic.twitter.com/dLroPnUHM4"}]}, "created_at": "Wed Apr 05 21:10:19 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "RT @BostonGlobe: How Western Mass. became kids\u2019 lit central https://t.co/5NFwRLo7E4 https://t.co/dLroPnUHM4", "retweet_count": 12, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 849730098957889536, "in_reply_to_user_id_str": "815096", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "jsb", "id_str": "815096", "name": "John S. Bracken", "id": 815096, "indices": [0, 4]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849730098957889536", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 21:06:57 +0000 2017", "in_reply_to_user_id": 815096, "geo": null, "text": "@jsb I'm in the center for civic media now, or if you like, drop by during tomorrow's demo time", "retweet_count": 0, "in_reply_to_screen_name": "jsb", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 849699780213297152, "in_reply_to_user_id_str": "815096", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "jsb", "id_str": "815096", "name": "John S. Bracken", "id": 815096, "indices": [0, 4]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849699780213297152", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 19:06:28 +0000 2017", "in_reply_to_user_id": 815096, "geo": null, "text": "@jsb just missed you! I'd love to share my latest work on harassment, fact-checking, and discrimination if you have a moment", "retweet_count": 0, "in_reply_to_screen_name": "jsb", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 849679702159757312, "in_reply_to_user_id_str": "13731562", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "DGaff", "id_str": "13731562", "name": "Devin 'meat' Gaffney", "id": 13731562, "indices": [0, 6]}, {"screen_name": "ebruenig", "id_str": "1471542956", "name": "Elizabeth Bruenig", "id": 1471542956, "indices": [7, 16]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849679702159757312", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849678748794449920, "created_at": "Wed Apr 05 17:46:41 +0000 2017", "in_reply_to_user_id": 13731562, "geo": null, "text": "@DGaff @ebruenig also wishing I could have made it. Sigh, dissertation. Was it recorded?", "retweet_count": 0, "in_reply_to_screen_name": "DGaff", "in_reply_to_status_id_str": "849678748794449920", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 849679329269362692, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [74, 97], "display_url": "jeffbloem.files.wordpress.com/2012/12/bellem\u2026", "expanded_url": "https://jeffbloem.files.wordpress.com/2012/12/bellemarebloemexperimentalconversationsreviewfinal.pdf", "url": "https://t.co/IMJ2MCB1cK"}, {"indices": [98, 121], "display_url": "twitter.com/mfbellemare/st\u2026", "expanded_url": "https://twitter.com/mfbellemare/status/849562477083975680", "url": "https://t.co/8QScu5S9PA"}], "symbols": []}, "id_str": "849679329269362692", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 3, "truncated": false, "id": 849562477083975680, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 230049663, "url": "https://t.co/KkVkk9q71h", "id_str": "230049663", "favourites_count": 1042, "entities": {"description": {"urls": [{"indices": [93, 116], "display_url": "journals.elsevier.com/food-policy/", "expanded_url": "http://www.journals.elsevier.com/food-policy/", "url": "https://t.co/hOMgP2Rs2K"}]}, "url": {"urls": [{"indices": [0, 23], "display_url": "marcfbellemare.com", "expanded_url": "http://www.marcfbellemare.com", "url": "https://t.co/KkVkk9q71h"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/773992235004231681/tS0EUUxb_normal.jpg", "profile_link_color": "0084B4", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/230898493/Twitter.jpg", "listed_count": 255, "screen_name": "mfbellemare", "profile_use_background_image": true, "followers_count": 3902, "statuses_count": 14507, "profile_background_color": "C0DEED", "friends_count": 1873, "created_at": "Fri Dec 24 03:33:55 +0000 2010", "location": "MSP", "is_translator": false, "verified": false, "profile_sidebar_border_color": "C0DEED", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/230898493/Twitter.jpg", "has_extended_profile": false, "protected": false, "description": "Associate prof. @ApEcMN. Agricultural, development, and food economics. Editor, Food Policy (https://t.co/hOMgP2Rs2K) RTs \u2260 endorsement.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/773992235004231681/tS0EUUxb_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/230049663/1456179574", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "DDEEF6", "name": "Marc F. Bellemare", "default_profile_image": false, "profile_background_tile": true, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "media": [{"indices": [91, 114], "type": "photo", "media_url": "http://pbs.twimg.com/media/C8pAkYvWAAE0Eco.jpg", "id": 849562473573253121, "media_url_https": "https://pbs.twimg.com/media/C8pAkYvWAAE0Eco.jpg", "id_str": "849562473573253121", "url": "https://t.co/qw8A72Ugly", "display_url": "pic.twitter.com/qw8A72Ugly", "sizes": {"small": {"h": 680, "w": 461, "resize": "fit"}, "medium": {"h": 693, "w": 470, "resize": "fit"}, "large": {"h": 693, "w": 470, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}}, "expanded_url": "https://twitter.com/mfbellemare/status/849562477083975680/photo/1"}], "urls": [{"indices": [67, 90], "display_url": "marcfbellemare.com/wordpress/12416", "expanded_url": "http://marcfbellemare.com/wordpress/12416", "url": "https://t.co/ffjNbzqAJV"}], "symbols": []}, "id_str": "849562477083975680", "source": "WordPress.com", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "extended_entities": {"media": [{"indices": [91, 114], "type": "photo", "media_url": "http://pbs.twimg.com/media/C8pAkYvWAAE0Eco.jpg", "id": 849562473573253121, "media_url_https": "https://pbs.twimg.com/media/C8pAkYvWAAE0Eco.jpg", "id_str": "849562473573253121", "url": "https://t.co/qw8A72Ugly", "display_url": "pic.twitter.com/qw8A72Ugly", "sizes": {"small": {"h": 680, "w": 461, "resize": "fit"}, "medium": {"h": 693, "w": 470, "resize": "fit"}, "large": {"h": 693, "w": 470, "resize": "fit"}, "thumb": {"h": 150, "w": 150, "resize": "crop"}}, "expanded_url": "https://twitter.com/mfbellemare/status/849562477083975680/photo/1"}]}, "created_at": "Wed Apr 05 10:00:53 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Review of Timothy Ogden\u2019s \u201cExperimental Conversations\u201d Forthcoming https://t.co/ffjNbzqAJV https://t.co/qw8A72Ugly", "retweet_count": 2, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 17:45:13 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 849562477083975680, "geo": null, "text": "Here's the actual review (have to click through several times to find it) https://t.co/IMJ2MCB1cK https://t.co/8QScu5S9PA", "retweet_count": 0, "in_reply_to_screen_name": null, "quoted_status_id_str": "849562477083975680", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 849674830265929728, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849674830265929728", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 17:27:20 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "^ writes the \u00b6 on how volunteer moderation fits into the governance of social behavior on the web, for the 6th out of 7 times in this PhD", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 849661058356830208, "in_reply_to_user_id_str": "94384796", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "jvitak", "id_str": "94384796", "name": "Jessica Vitak", "id": 94384796, "indices": [0, 7]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849661058356830208", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849300311663661058, "created_at": "Wed Apr 05 16:32:36 +0000 2017", "in_reply_to_user_id": 94384796, "geo": null, "text": "@jvitak see also Alice's response to how she was quoted", "retweet_count": 0, "in_reply_to_screen_name": "jvitak", "in_reply_to_status_id_str": "849300311663661058", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 2, "truncated": false, "id": 849653814806421504, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849653814806421504", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 16:03:49 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "Today I learned it's possible to specify the date in Internet Archive URLs. Saving me lots of time as I binary search for a specific moment", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 849652328668037120, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [26, 49], "display_url": "twitter.com/verge/status/8\u2026", "expanded_url": "https://twitter.com/verge/status/849619438613786624", "url": "https://t.co/43wtFd2HZA"}], "symbols": []}, "id_str": "849652328668037120", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 39, "truncated": false, "id": 849619438613786624, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 275686563, "url": "http://t.co/W2SFxIXkC4", "id_str": "275686563", "favourites_count": 1626, "entities": {"description": {"urls": [{"indices": [0, 23], "display_url": "theverge.com", "expanded_url": "http://www.theverge.com", "url": "https://t.co/W2SFxIXkC4"}]}, "url": {"urls": [{"indices": [0, 22], "display_url": "theverge.com", "expanded_url": "http://www.theverge.com", "url": "http://t.co/W2SFxIXkC4"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/793336456718782464/cf1nuXC0_normal.jpg", "profile_link_color": "EC008C", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/481546505468145664/a59ZFvIP.jpeg", "listed_count": 32795, "screen_name": "verge", "profile_use_background_image": true, "followers_count": 1853810, "statuses_count": 117462, "profile_background_color": "FFFFFF", "friends_count": 151, "created_at": "Fri Apr 01 19:54:22 +0000 2011", "location": "New York", "is_translator": false, "verified": true, "profile_sidebar_border_color": "000000", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/481546505468145664/a59ZFvIP.jpeg", "has_extended_profile": false, "protected": false, "description": "https://t.co/W2SFxIXkC4 covers life in the future.", "is_translation_enabled": true, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/793336456718782464/cf1nuXC0_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/275686563/1484064279", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "EFEFEF", "name": "The Verge", "default_profile_image": false, "profile_background_tile": false, "translator_type": "regular", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "media": [{"indices": [96, 119], "type": "photo", "media_url": "http://pbs.twimg.com/media/C8p0YFGW0AAPind.jpg", "id": 849619436747280384, "media_url_https": "https://pbs.twimg.com/media/C8p0YFGW0AAPind.jpg", "id_str": "849619436747280384", "url": "https://t.co/95wlbPfksk", "display_url": "pic.twitter.com/95wlbPfksk", "sizes": {"thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 678, "w": 1020, "resize": "fit"}, "large": {"h": 678, "w": 1020, "resize": "fit"}, "small": {"h": 452, "w": 680, "resize": "fit"}}, "expanded_url": "https://twitter.com/verge/status/849619438613786624/photo/1"}], "urls": [{"indices": [72, 95], "display_url": "theverge.com/2017/4/5/15189\u2026", "expanded_url": "http://www.theverge.com/2017/4/5/15189618/facebook-revenge-porn-photo-matching?utm_campaign=theverge&utm_content=chorus&utm_medium=social&utm_source=twitter", "url": "https://t.co/nLBzYR5LgF"}], "symbols": []}, "id_str": "849619438613786624", "source": "Vox Media", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "extended_entities": {"media": [{"indices": [96, 119], "type": "photo", "media_url": "http://pbs.twimg.com/media/C8p0YFGW0AAPind.jpg", "id": 849619436747280384, "media_url_https": "https://pbs.twimg.com/media/C8p0YFGW0AAPind.jpg", "id_str": "849619436747280384", "url": "https://t.co/95wlbPfksk", "display_url": "pic.twitter.com/95wlbPfksk", "sizes": {"thumb": {"h": 150, "w": 150, "resize": "crop"}, "medium": {"h": 678, "w": 1020, "resize": "fit"}, "large": {"h": 678, "w": 1020, "resize": "fit"}, "small": {"h": 452, "w": 680, "resize": "fit"}}, "expanded_url": "https://twitter.com/verge/status/849619438613786624/photo/1"}]}, "created_at": "Wed Apr 05 13:47:13 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Facebook will use photo matching to stop revenge porn from being shared https://t.co/nLBzYR5LgF https://t.co/95wlbPfksk", "retweet_count": 29, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 15:57:55 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 849619438613786624, "geo": null, "text": "This will be interesting. https://t.co/43wtFd2HZA", "retweet_count": 0, "in_reply_to_screen_name": null, "quoted_status_id_str": "849619438613786624", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 849651977487298562, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849651977487298562", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 15:56:31 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "The Mastodon server I'm on has started to grow, has migrated hosting stacks twice, and now has a Patreon for covering costs", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 849650176767787010, "in_reply_to_user_id_str": "6328182", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "shiruken", "id_str": "6328182", "name": "Colin Sullender", "id": 6328182, "indices": [0, 9]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849650176767787010", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849648395467849729, "created_at": "Wed Apr 05 15:49:22 +0000 2017", "in_reply_to_user_id": 6328182, "geo": null, "text": "@shiruken yep. It's a distributed system", "retweet_count": 0, "in_reply_to_screen_name": "shiruken", "in_reply_to_status_id_str": "849648395467849729", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": true, "id": 849644360002129920, "in_reply_to_user_id_str": "6328182", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "shiruken", "id_str": "6328182", "name": "Colin Sullender", "id": 6328182, "indices": [0, 9]}], "hashtags": [], "urls": [{"indices": [117, 140], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/849644360002129920", "url": "https://t.co/BKEFSC92X6"}], "symbols": []}, "id_str": "849644360002129920", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849642692418166784, "created_at": "Wed Apr 05 15:26:15 +0000 2017", "in_reply_to_user_id": 6328182, "geo": null, "text": "@shiruken but that's the weakness. Figuring out who to trust. If communities like r/science had ways to pool/manage\u2026 https://t.co/BKEFSC92X6", "retweet_count": 0, "in_reply_to_screen_name": "shiruken", "in_reply_to_status_id_str": "849642692418166784", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": true, "id": 849644002299314176, "in_reply_to_user_id_str": "6328182", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "shiruken", "id_str": "6328182", "name": "Colin Sullender", "id": 6328182, "indices": [0, 9]}], "hashtags": [], "urls": [{"indices": [117, 140], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/849644002299314176", "url": "https://t.co/kfqJrpmkAZ"}], "symbols": []}, "id_str": "849644002299314176", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849642692418166784, "created_at": "Wed Apr 05 15:24:50 +0000 2017", "in_reply_to_user_id": 6328182, "geo": null, "text": "@shiruken I found one other mefites were using and read more about the sysop. They seemed very technically competen\u2026 https://t.co/kfqJrpmkAZ", "retweet_count": 0, "in_reply_to_screen_name": "shiruken", "in_reply_to_status_id_str": "849642692418166784", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 3, "truncated": false, "id": 849622673202327553, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849622673202327553", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849622260906418177, "created_at": "Wed Apr 05 14:00:05 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "People deep in tech, infosec, established online communities are starting first, and we know the popularity feedback loops this will create", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "849622260906418177", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 3, "truncated": false, "id": 849622260906418177, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849622260906418177", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 13:58:26 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "Another Mastodon pattern: following people you know. It makes sense, but this early adopter cycle leads to network discrimination overall", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 4, "truncated": false, "id": 849618644585906176, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849618644585906176", "source": "Twitter Web Client", "lang": "es", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849617363574153216, "created_at": "Wed Apr 05 13:44:04 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "also: natematias@octodon.social", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "849617363574153216", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 3, "truncated": false, "id": 849617363574153216, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849617363574153216", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849616970140053505, "created_at": "Wed Apr 05 13:38:59 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "Those laws won't protect instances from abusive/hateful content. I'll be interested to see how instance users/ops manage the collective risk", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "849616970140053505", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 4, "truncated": false, "id": 849616970140053505, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [115, 138], "display_url": "motherboard.vice.com/en_us/article/\u2026", "expanded_url": "https://motherboard.vice.com/en_us/article/mastodon-is-like-twitter-without-nazis-so-why-are-we-not-using-it", "url": "https://t.co/NoGscPhZiM"}], "symbols": []}, "id_str": "849616970140053505", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 13:37:25 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Fascinated to watch Mastodon instance operators brag that their servers are in countries with strong content laws\n\nhttps://t.co/NoGscPhZiM", "retweet_count": 1, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 418, "truncated": false, "id": 849604047648763904, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 17029640, "url": "http://t.co/lMiFeqYOGq", "id_str": "17029640", "favourites_count": 1049, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "juliaangwin.com", "expanded_url": "http://www.juliaangwin.com", "url": "http://t.co/lMiFeqYOGq"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/3429661270/09a1e02cb01fd352d9749ab27681bb25_normal.jpeg", "profile_link_color": "44A644", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/378800000168954225/o5UKK6EI.png", "listed_count": 1429, "screen_name": "JuliaAngwin", "profile_use_background_image": true, "followers_count": 22073, "statuses_count": 5252, "profile_background_color": "FFFFFF", "friends_count": 1035, "created_at": "Tue Oct 28 21:50:42 +0000 2008", "location": "New York", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/378800000168954225/o5UKK6EI.png", "has_extended_profile": false, "protected": false, "description": "Investigative journalist @ProPublica. Formerly @WSJ. Author of Dragnet Nation. PGP: F292 E93A 86B3 1713 05A6 FE9F 85C9 09BB C664 D201", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/3429661270/09a1e02cb01fd352d9749ab27681bb25_normal.jpeg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/17029640/1389381112", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "FFFFFF", "name": "Julia Angwin", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [113, 136], "display_url": "propublica.org/article/minori\u2026", "expanded_url": "https://www.propublica.org/article/minority-neighborhoods-higher-car-insurance-premiums-white-areas-same-risk", "url": "https://t.co/uwJ0AoKJoF"}], "symbols": []}, "id_str": "849604047648763904", "source": "TweetDeck", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 12:46:04 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Here\u2019s the latest in our series on algorithmic accountability - a look at disparities in auto insurance prices:\n\nhttps://t.co/uwJ0AoKJoF", "retweet_count": 451, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 849609246018859008, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "JuliaAngwin", "id_str": "17029640", "name": "Julia Angwin", "id": 17029640, "indices": [3, 15]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849609246018859008", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 13:06:43 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @JuliaAngwin: Here\u2019s the latest in our series on algorithmic accountability - a look at disparities in auto insurance prices:\n\nhttps://t\u2026", "retweet_count": 451, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 418, "truncated": false, "id": 849405935852433412, "in_reply_to_user_id_str": null, "user": {"time_zone": "Hawaii", "notifications": false, "id": 749963, "url": "http://t.co/8DxRcIoTTH", "id_str": "749963", "favourites_count": 111, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "omidyargroup.com", "expanded_url": "http://omidyargroup.com", "url": "http://t.co/8DxRcIoTTH"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/860459345/PierreCB2_normal.jpg", "profile_link_color": "2E2EEA", "lang": "en", "utc_offset": -36000, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "listed_count": 4426, "screen_name": "pierre", "profile_use_background_image": false, "followers_count": 534444, "statuses_count": 10046, "profile_background_color": "67695F", "friends_count": 457, "created_at": "Sat Feb 03 02:41:31 +0000 2007", "location": "Honolulu, HI", "is_translator": false, "verified": true, "profile_sidebar_border_color": "87BC44", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "has_extended_profile": true, "protected": false, "description": "Be you. Be cool. eBay, Omidyar Network, Peer News/Civil Beat, First Look. DCD2 BC7F 5341 A2B9 B188 928A 2CB2 7535 C8A5 4876", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/860459345/PierreCB2_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/749963/1483400066", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": false, "profile_sidebar_fill_color": "E0FF92", "name": "Pierre Omidyar", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [94, 117], "display_url": "twitter.com/sulliview/stat\u2026", "expanded_url": "https://twitter.com/sulliview/status/849401593636192258", "url": "https://t.co/RxBWy64pLn"}], "symbols": []}, "id_str": "849405935852433412", "source": "Twitter for iPad", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 1383, "truncated": false, "id": 849401593636192258, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 460470940, "url": "https://t.co/VLlTIVVRA8", "id_str": "460470940", "favourites_count": 8739, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "washingtonpost.com/people/margare\u2026", "expanded_url": "https://www.washingtonpost.com/people/margaret-sullivan?tid=a_inl", "url": "https://t.co/VLlTIVVRA8"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/723129006527225856/y9HBo1In_normal.jpg", "profile_link_color": "1DA1F2", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "listed_count": 2464, "screen_name": "Sulliview", "profile_use_background_image": true, "followers_count": 63092, "statuses_count": 10477, "profile_background_color": "C0DEED", "friends_count": 1490, "created_at": "Tue Jan 10 20:02:24 +0000 2012", "location": "Washington, DC", "is_translator": false, "verified": true, "profile_sidebar_border_color": "C0DEED", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "has_extended_profile": false, "protected": false, "description": "Wash Post media columnist. Priors: NYT public editor. Buffalo News exec editor. Nardin Kaleidoscope editor-in-chief. 'Venomous serpent' and/or 'angel of light'", "is_translation_enabled": false, "default_profile": true, "profile_image_url": "http://pbs.twimg.com/profile_images/723129006527225856/y9HBo1In_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/460470940/1394538733", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "DDEEF6", "name": "Margaret Sullivan", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "pierre", "id_str": "749963", "name": "Pierre Omidyar", "id": 749963, "indices": [111, 118]}], "hashtags": [], "urls": [{"indices": [120, 143], "display_url": "washingtonpost.com/lifestyle/styl\u2026", "expanded_url": "https://www.washingtonpost.com/lifestyle/style/omidyar-charity-gives-100-million-to-boost-journalism-and-fight-hate-speech/2017/04/04/aebb013c-193d-11e7-855e-4824bbb5d748_story.html?tid=ss_tw&utm_term=.a4a0bddbc4c5", "url": "https://t.co/C2DFELFtp6"}], "symbols": []}, "id_str": "849401593636192258", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Apr 04 23:21:35 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Huge commitment -- $100 million to support independent journalism & fight misinformation worldwide -- from @pierre. https://t.co/C2DFELFtp6", "retweet_count": 787, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Tue Apr 04 23:38:50 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 849401593636192258, "geo": null, "text": "The fight against misinformation, authoritarian lies, and online abuse is a fight we can win. https://t.co/RxBWy64pLn", "retweet_count": 199, "in_reply_to_screen_name": null, "quoted_status_id_str": "849401593636192258", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 849450864515395585, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "pierre", "id_str": "749963", "name": "Pierre Omidyar", "id": 749963, "indices": [3, 10]}], "hashtags": [], "urls": [{"indices": [106, 129], "display_url": "twitter.com/sulliview/stat\u2026", "expanded_url": "https://twitter.com/sulliview/status/849401593636192258", "url": "https://t.co/RxBWy64pLn"}], "symbols": []}, "id_str": "849450864515395585", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 02:37:22 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 849401593636192258, "geo": null, "text": "RT @pierre: The fight against misinformation, authoritarian lies, and online abuse is a fight we can win. https://t.co/RxBWy64pLn", "retweet_count": 199, "in_reply_to_screen_name": null, "quoted_status_id_str": "849401593636192258", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 7, "truncated": false, "id": 849306847999913984, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 784078, "url": "https://t.co/wJ1iQMh5yn", "id_str": "784078", "favourites_count": 3969, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "tiara.org", "expanded_url": "http://www.tiara.org", "url": "https://t.co/wJ1iQMh5yn"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/271273236/me_laughing_cropped_normal.jpg", "profile_link_color": "981CEB", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme4/bg.gif", "listed_count": 393, "screen_name": "alicetiara", "profile_use_background_image": true, "followers_count": 5292, "statuses_count": 7965, "profile_background_color": "0099B9", "friends_count": 996, "created_at": "Tue Feb 20 19:27:48 +0000 2007", "location": "New York, NY", "is_translator": false, "verified": false, "profile_sidebar_border_color": "5ED4DC", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme4/bg.gif", "has_extended_profile": false, "protected": false, "description": "Marwick, comm professor & fellow @datasociety. Former @McGannonCenter @fordhamcms @msrne. Studies social media & society. Loves kitsch, pop culture, & feminism", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/271273236/me_laughing_cropped_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/784078/1475824329", "follow_request_sent": false, "profile_text_color": "3C3940", "geo_enabled": false, "profile_sidebar_fill_color": "95E8EC", "name": "alicetiara", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "jennydeluxe", "id_str": "10454572", "name": "Jenna //\\\\ Wortham", "id": 10454572, "indices": [17, 29]}], "hashtags": [], "urls": [{"indices": [113, 136], "display_url": "nytimes.com/2017/04/04/mag\u2026", "expanded_url": "https://www.nytimes.com/2017/04/04/magazine/why-cant-silicon-valley-fix-online-harassment.html", "url": "https://t.co/swKWrtcbKG"}], "symbols": []}, "id_str": "849306847999913984", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Apr 04 17:05:06 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "So I'm quoted in @jennydeluxe's new NYT story on online harassment and I wanna qualify my \"lost cause\" statement https://t.co/swKWrtcbKG", "retweet_count": 6, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 849448639428796417, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "alicetiara", "id_str": "784078", "name": "alicetiara", "id": 784078, "indices": [3, 14]}, {"screen_name": "jennydeluxe", "id_str": "10454572", "name": "Jenna //\\\\ Wortham", "id": 10454572, "indices": [33, 45]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849448639428796417", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 02:28:32 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @alicetiara: So I'm quoted in @jennydeluxe's new NYT story on online harassment and I wanna qualify my \"lost cause\" statement https://t.\u2026", "retweet_count": 6, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 3, "truncated": false, "id": 849430000164110336, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849430000164110336", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849428875855659009, "created_at": "Wed Apr 05 01:14:28 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "Online harassment is no more a lost cause than any of the grand challenges of society that truly matter; it's much more tractable than many", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "849428875855659009", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": true, "id": 849428875855659009, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [117, 140], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/849428875855659009", "url": "https://t.co/TxGzPjNvj2"}], "symbols": []}, "id_str": "849428875855659009", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 1, "truncated": false, "id": 849416065679536128, "in_reply_to_user_id_str": null, "user": {"time_zone": "Pacific Time (US & Canada)", "notifications": false, "id": 125265789, "url": null, "id_str": "125265789", "favourites_count": 839, "entities": {"description": {"urls": []}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/733176189305528320/UxTrZVpH_normal.jpg", "profile_link_color": "1B95E0", "lang": "en", "utc_offset": -25200, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "listed_count": 17, "screen_name": "brittanheller", "profile_use_background_image": false, "followers_count": 491, "statuses_count": 1439, "profile_background_color": "000000", "friends_count": 332, "created_at": "Mon Mar 22 07:32:04 +0000 2010", "location": "San Francisco, CA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "000000", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "has_extended_profile": false, "protected": false, "description": "Director of Technology and Society @ADL_National | Imagine a world without hate | Views expressed are my own and RTs are not endorsements.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/733176189305528320/UxTrZVpH_normal.jpg", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": false, "profile_sidebar_fill_color": "000000", "name": "Brittan Heller", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [48, 71], "display_url": "nyti.ms/2nSlws4", "expanded_url": "https://nyti.ms/2nSlws4", "url": "https://t.co/HxNfvRzGWn"}], "symbols": []}, "id_str": "849416065679536128", "source": "Twitter for iPhone", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 00:19:06 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Why Can\u2019t Silicon Valley Fix Online Harassment? https://t.co/HxNfvRzGWn", "retweet_count": 1, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Wed Apr 05 01:10:00 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 849416065679536128, "geo": null, "text": "I wish we had context for Alice's quote that progress on harassment is a lost cause. I know she doesn't believe it,\u2026 https://t.co/TxGzPjNvj2", "retweet_count": 0, "in_reply_to_screen_name": null, "quoted_status_id_str": "849416065679536128", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 2, "truncated": false, "id": 849376832847785984, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "mattwallaert", "id_str": "12512312", "name": "matt wallaert", "id": 12512312, "indices": [20, 33]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849376832847785984", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Apr 04 21:43:12 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "Great conv today w/ @mattwallaert on tremendous potential from behavioral science for social good on platforms & ways to reap those benefits", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": true, "id": 849376036517228544, "in_reply_to_user_id_str": "12512312", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "mattwallaert", "id_str": "12512312", "name": "matt wallaert", "id": 12512312, "indices": [0, 13]}, {"screen_name": "andresmh", "id_str": "14392797", "name": "Andr\u00e9s Monroy", "id": 14392797, "indices": [14, 23]}], "hashtags": [], "urls": [{"indices": [117, 140], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/849376036517228544", "url": "https://t.co/aUVBZsavA6"}], "symbols": []}, "id_str": "849376036517228544", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849374590149300224, "created_at": "Tue Apr 04 21:40:02 +0000 2017", "in_reply_to_user_id": 12512312, "geo": null, "text": "@mattwallaert @andresmh Thanks for the intro Andr\u00e9s, and thanks for a great discussion today, Matt; I'm looking for\u2026 https://t.co/aUVBZsavA6", "retweet_count": 0, "in_reply_to_screen_name": "mattwallaert", "in_reply_to_status_id_str": "849374590149300224", "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 649, "truncated": true, "id": 849215231549157377, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 115763683, "url": "http://t.co/uuWFtq4Jab", "id_str": "115763683", "favourites_count": 560, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "acm.org", "expanded_url": "http://www.acm.org", "url": "http://t.co/uuWFtq4Jab"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/656872290492284928/6Vk-M4KK_normal.jpg", "profile_link_color": "1DA1F2", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "listed_count": 1252, "screen_name": "TheOfficialACM", "profile_use_background_image": true, "followers_count": 33360, "statuses_count": 5582, "profile_background_color": "C0DEED", "friends_count": 447, "created_at": "Fri Feb 19 21:27:46 +0000 2010", "location": "New York, NY", "is_translator": false, "verified": false, "profile_sidebar_border_color": "C0DEED", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "has_extended_profile": false, "protected": false, "description": "ACM is the world\u2019s largest educational and scientific computing society with more than 100,000 members. Be Creative. Stay Connected. Keep Inventing.", "is_translation_enabled": false, "default_profile": true, "profile_image_url": "http://pbs.twimg.com/profile_images/656872290492284928/6Vk-M4KK_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/115763683/1445445521", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "DDEEF6", "name": "Official ACM", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [{"indices": [81, 96], "text": "ACMTuringAward"}], "urls": [{"indices": [99, 122], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/849215231549157377", "url": "https://t.co/R5hiJIiCWm"}], "symbols": []}, "id_str": "849215231549157377", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Apr 04 11:01:03 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "ACM is pleased to announce that Sir Tim Berners-Lee is the recipient of the 2016 #ACMTuringAward!\u2026 https://t.co/R5hiJIiCWm", "retweet_count": 656, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 849375753674391554, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "TheOfficialACM", "id_str": "115763683", "name": "Official ACM", "id": 115763683, "indices": [3, 18]}], "hashtags": [{"indices": [101, 116], "text": "ACMTuringAward"}], "urls": [], "symbols": []}, "id_str": "849375753674391554", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Apr 04 21:38:54 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @TheOfficialACM: ACM is pleased to announce that Sir Tim Berners-Lee is the recipient of the 2016 #ACMTuringAward! https://t.co/NYHmuEQQ\u2026", "retweet_count": 656, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 7, "truncated": false, "id": 849366064744026112, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 14140375, "url": "http://t.co/YBD8ymWmeM", "id_str": "14140375", "favourites_count": 242, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "samidh.com", "expanded_url": "http://www.samidh.com", "url": "http://t.co/YBD8ymWmeM"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/2668458577/aa16c50b1a7eca8b87dbe460b94d79c1_normal.png", "profile_link_color": "1DA1F2", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "listed_count": 27, "screen_name": "samidh", "profile_use_background_image": true, "followers_count": 562, "statuses_count": 1298, "profile_background_color": "C0DEED", "friends_count": 160, "created_at": "Thu Mar 13 16:09:11 +0000 2008", "location": "Bay Area, CA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "C0DEED", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "has_extended_profile": false, "protected": false, "description": "PM for Civic Engagement at Facebook.", "is_translation_enabled": false, "default_profile": true, "profile_image_url": "http://pbs.twimg.com/profile_images/2668458577/aa16c50b1a7eca8b87dbe460b94d79c1_normal.png", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "DDEEF6", "name": "Samidh", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [118, 141], "display_url": "facebook.com/careers/jobs/a\u2026", "expanded_url": "https://www.facebook.com/careers/jobs/a0I1200000JYCwC/", "url": "https://t.co/FY0BEGiv05"}], "symbols": []}, "id_str": "849366064744026112", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Apr 04 21:00:24 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Want to join my team as a Product Manager leading Facebook's international elections & civic data work? Details: https://t.co/FY0BEGiv05", "retweet_count": 14, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 849375262714322944, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "samidh", "id_str": "14140375", "name": "Samidh", "id": 14140375, "indices": [3, 10]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849375262714322944", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Apr 04 21:36:57 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @samidh: Want to join my team as a Product Manager leading Facebook's international elections & civic data work? Details: https://t.co/\u2026", "retweet_count": 14, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 7, "truncated": false, "id": 849320336311111680, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849320336311111680", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Apr 04 17:58:42 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "Fascinating, provocative articles this week about online harassment & experimentation. Remembering to play the long game & finish the PhD", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 849307954654392320, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [65, 88], "display_url": "twitter.com/lizzie_wade/st\u2026", "expanded_url": "https://twitter.com/lizzie_wade/status/842395922264911872", "url": "https://t.co/IAaHXAIu94"}], "symbols": []}, "id_str": "849307954654392320", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "quoted_status": {"favorited": false, "favorite_count": 130, "truncated": false, "id": 842395922264911872, "in_reply_to_user_id_str": null, "user": {"time_zone": "Central Time (US & Canada)", "notifications": false, "id": 70784623, "url": "http://t.co/szjgwxKPtc", "id_str": "70784623", "favourites_count": 3006, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "lizziewade.com", "expanded_url": "http://lizziewade.com/", "url": "http://t.co/szjgwxKPtc"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/570270796522602496/ZTiD9Hhv_normal.png", "profile_link_color": "0084B4", "lang": "en", "utc_offset": -18000, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/685167118/26a5d7cd21a7c990c7b5dab9e79a3292.jpeg", "listed_count": 115, "screen_name": "lizzie_wade", "profile_use_background_image": true, "followers_count": 1957, "statuses_count": 4778, "profile_background_color": "C0DEED", "friends_count": 872, "created_at": "Tue Sep 01 21:01:48 +0000 2009", "location": "Mexico City", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/685167118/26a5d7cd21a7c990c7b5dab9e79a3292.jpeg", "has_extended_profile": false, "protected": false, "description": "Science writer, homecoming queen. Latin America correspondent for @NewsfromScience. Other words in @WIRED, @aeonmag, @Slate, and more. Eccentric enough.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/570270796522602496/ZTiD9Hhv_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/70784623/1425875151", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": true, "profile_sidebar_fill_color": "DDEEF6", "name": "Lizzie Wade", "default_profile_image": false, "profile_background_tile": true, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [73, 96], "display_url": "sciencemag.org/news/2017/03/i\u2026", "expanded_url": "http://www.sciencemag.org/news/2017/03/it-wasnt-just-greece-archaeologists-find-early-democratic-societies-americas?utm_source=newsfromscience&utm_medium=facebook-text&utm_campaign=mesodemocracy-11757", "url": "https://t.co/Q77LU6H8PB"}], "symbols": []}, "id_str": "842395922264911872", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Thu Mar 16 15:23:33 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Best predictor of a democratic government? Taxes that fund public goods. https://t.co/Q77LU6H8PB", "retweet_count": 73, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "is_quote_status": true, "in_reply_to_status_id": null, "created_at": "Tue Apr 04 17:09:30 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "quoted_status_id": 842395922264911872, "geo": null, "text": "\"Archaeologists find early democratic societies in the Americas\" https://t.co/IAaHXAIu94", "retweet_count": 2, "in_reply_to_screen_name": null, "quoted_status_id_str": "842395922264911872", "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 6, "truncated": false, "id": 849236958924681217, "in_reply_to_user_id_str": null, "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 37213193, "url": "http://t.co/3VA8Yzceuu", "id_str": "37213193", "favourites_count": 1236, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "davidlazer.com", "expanded_url": "http://www.davidlazer.com", "url": "http://t.co/3VA8Yzceuu"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/192936165/d_lazer_normal.jpg", "profile_link_color": "7FDBB6", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme6/bg.gif", "listed_count": 363, "screen_name": "davidlazer", "profile_use_background_image": false, "followers_count": 5354, "statuses_count": 7151, "profile_background_color": "000000", "friends_count": 1189, "created_at": "Sat May 02 15:11:37 +0000 2009", "location": "", "is_translator": false, "verified": false, "profile_sidebar_border_color": "000000", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme6/bg.gif", "has_extended_profile": true, "protected": false, "description": "Computational social scientist at Northeastern and Harvard Universities.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/192936165/d_lazer_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/37213193/1491675289", "follow_request_sent": false, "profile_text_color": "000000", "geo_enabled": true, "profile_sidebar_fill_color": "000000", "name": "David Lazer", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [{"screen_name": "HelenMargetts", "id_str": "63859619", "name": "Helen Margetts", "id": 63859619, "indices": [11, 25]}, {"screen_name": "NatureHumBehav", "id_str": "706800925394997249", "name": "NatureHumanBehaviour", "id": 706800925394997249, "indices": [97, 112]}], "hashtags": [], "urls": [{"indices": [113, 136], "display_url": "go.nature.com/2ouvTVR", "expanded_url": "http://go.nature.com/2ouvTVR", "url": "https://t.co/InfqU0f1O3"}], "symbols": []}, "id_str": "849236958924681217", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Apr 04 12:27:23 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Good read: @HelenMargetts for research on social media on info consumption & pol behavior in @NatureHumBehav\nhttps://t.co/InfqU0f1O3", "retweet_count": 7, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 849263882426122240, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "davidlazer", "id_str": "37213193", "name": "David Lazer", "id": 37213193, "indices": [3, 14]}, {"screen_name": "HelenMargetts", "id_str": "63859619", "name": "Helen Margetts", "id": 63859619, "indices": [27, 41]}, {"screen_name": "NatureHumBehav", "id_str": "706800925394997249", "name": "NatureHumanBehaviour", "id": 706800925394997249, "indices": [113, 128]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849263882426122240", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Apr 04 14:14:22 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @davidlazer: Good read: @HelenMargetts for research on social media on info consumption & pol behavior in @NatureHumBehav\nhttps://t.co/I\u2026", "retweet_count": 7, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 2, "truncated": false, "id": 849243029185626114, "in_reply_to_user_id_str": "17324052", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "karineb", "id_str": "17324052", "name": "Karine Nahon", "id": 17324052, "indices": [0, 8]}, {"screen_name": "andy_sellars", "id_str": "14045642", "name": "Andy Sellars", "id": 14045642, "indices": [16, 29]}], "hashtags": [], "urls": [{"indices": [101, 124], "display_url": "papers.ssrn.com/sol3/papers.cf\u2026", "expanded_url": "https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2882244", "url": "https://t.co/GMmYLtPQ92"}], "symbols": []}, "id_str": "849243029185626114", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849157325982224385, "created_at": "Tue Apr 04 12:51:30 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": 17324052, "geo": null, "text": "@karineb Here's @andy_sellars article on defining hate speech, with traits for people identifying it https://t.co/GMmYLtPQ92", "retweet_count": 0, "in_reply_to_screen_name": "karineb", "in_reply_to_status_id_str": "849157325982224385", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 849242802596794368, "in_reply_to_user_id_str": "17324052", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "karineb", "id_str": "17324052", "name": "Karine Nahon", "id": 17324052, "indices": [0, 8]}], "hashtags": [], "urls": [{"indices": [54, 77], "display_url": "ewulczyn.github.io/images/ex_mach\u2026", "expanded_url": "https://ewulczyn.github.io/images/ex_machina.pdf", "url": "https://t.co/pR7B5JRtT1"}], "symbols": []}, "id_str": "849242802596794368", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849157325982224385, "created_at": "Tue Apr 04 12:50:36 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": 17324052, "geo": null, "text": "@karineb Here's Ellery's article on personal attacks: https://t.co/pR7B5JRtT1", "retweet_count": 0, "in_reply_to_screen_name": "karineb", "in_reply_to_status_id_str": "849157325982224385", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 849242607054204928, "in_reply_to_user_id_str": "17324052", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "karineb", "id_str": "17324052", "name": "Karine Nahon", "id": 17324052, "indices": [0, 8]}], "hashtags": [], "urls": [{"indices": [32, 55], "display_url": "ta-cos.org/sites/ta-cos.o\u2026", "expanded_url": "http://www.ta-cos.org/sites/ta-cos.org/files/tacos2016_SaleemDillionBeneschRuths.pdf", "url": "https://t.co/HlAD9oOMlI"}], "symbols": []}, "id_str": "849242607054204928", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849157325982224385, "created_at": "Tue Apr 04 12:49:50 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": 17324052, "geo": null, "text": "@karineb here's the one by Haji https://t.co/HlAD9oOMlI", "retweet_count": 0, "in_reply_to_screen_name": "karineb", "in_reply_to_status_id_str": "849157325982224385", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 849104030945206272, "in_reply_to_user_id_str": "2493", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "gleemie", "id_str": "2493", "name": "Lilly Irani", "id": 2493, "indices": [0, 8]}, {"screen_name": "lawlkat", "id_str": "92199427", "name": "Kat Lo", "id": 92199427, "indices": [9, 17]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "849104030945206272", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 848978530524430338, "created_at": "Tue Apr 04 03:39:11 +0000 2017", "in_reply_to_user_id": 2493, "geo": null, "text": "@gleemie @lawlkat I love that this was not officially an accident, so it wasn't recorded", "retweet_count": 0, "in_reply_to_screen_name": "gleemie", "in_reply_to_status_id_str": "848978530524430338", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 6, "truncated": false, "id": 849064171236937729, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [110, 133], "display_url": "arxiv.org/abs/1703.04009", "expanded_url": "https://arxiv.org/abs/1703.04009", "url": "https://t.co/msE4CtcKP0"}], "symbols": []}, "id_str": "849064171236937729", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Tue Apr 04 01:00:47 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Another hate speech detection paper; this one attempts to different hate speech from other kinds of nastiness https://t.co/msE4CtcKP0", "retweet_count": 7, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 2, "truncated": true, "id": 849019273012019201, "in_reply_to_user_id_str": "52222336", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "ConFigures", "id_str": "52222336", "name": "Sarah Elkins", "id": 52222336, "indices": [0, 11]}, {"screen_name": "jon_agar", "id_str": "206372089", "name": "Jon Agar", "id": 206372089, "indices": [12, 21]}, {"screen_name": "histoftech", "id_str": "401773648", "name": "Mar Hicks", "id": 401773648, "indices": [22, 33]}], "hashtags": [], "urls": [{"indices": [116, 139], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/849019273012019201", "url": "https://t.co/m8ZSVgWbHo"}], "symbols": []}, "id_str": "849019273012019201", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849015105601896449, "created_at": "Mon Apr 03 22:02:23 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": 52222336, "geo": null, "text": "@ConFigures @jon_agar @histoftech Andrew Meade McGee's work turned out to be just what I was looking for. Eager to\u2026 https://t.co/m8ZSVgWbHo", "retweet_count": 0, "in_reply_to_screen_name": "ConFigures", "in_reply_to_status_id_str": "849015105601896449", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": true, "id": 849008868713738240, "in_reply_to_user_id_str": "52222336", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "ConFigures", "id_str": "52222336", "name": "Sarah Elkins", "id": 52222336, "indices": [0, 11]}, {"screen_name": "jon_agar", "id_str": "206372089", "name": "Jon Agar", "id": 206372089, "indices": [12, 21]}, {"screen_name": "histoftech", "id_str": "401773648", "name": "Mar Hicks", "id": 401773648, "indices": [22, 33]}], "hashtags": [], "urls": [{"indices": [117, 140], "display_url": "twitter.com/i/web/status/8\u2026", "expanded_url": "https://twitter.com/i/web/status/849008868713738240", "url": "https://t.co/L457nUOcfl"}], "symbols": []}, "id_str": "849008868713738240", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 849002073052127232, "created_at": "Mon Apr 03 21:21:02 +0000 2017", "in_reply_to_user_id": 52222336, "geo": null, "text": "@ConFigures @jon_agar @histoftech Agar's book on UK government computing does cover the ways that attitudes towards\u2026 https://t.co/L457nUOcfl", "retweet_count": 0, "in_reply_to_screen_name": "ConFigures", "in_reply_to_status_id_str": "849002073052127232", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 3, "truncated": false, "id": 848983727606816768, "in_reply_to_user_id_str": "84653850", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "BrendanNyhan", "id_str": "84653850", "name": "Brendan Nyhan", "id": 84653850, "indices": [0, 13]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "848983727606816768", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 848968780692807680, "created_at": "Mon Apr 03 19:41:08 +0000 2017", "in_reply_to_user_id": 84653850, "geo": null, "text": "@BrendanNyhan Would love to chat further about this and possible followup studies, after I defend on May 1st!", "retweet_count": 0, "in_reply_to_screen_name": "BrendanNyhan", "in_reply_to_status_id_str": "848968780692807680", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 848938503065014272, "in_reply_to_user_id_str": "15758490", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "Noleli", "id_str": "15758490", "name": "Noah Liebman", "id": 15758490, "indices": [0, 7]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "848938503065014272", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 848934156834877442, "created_at": "Mon Apr 03 16:41:26 +0000 2017", "in_reply_to_user_id": 15758490, "geo": null, "text": "@Noleli I've developed the technology infrastructure for it in my PhD project", "retweet_count": 0, "in_reply_to_screen_name": "Noleli", "in_reply_to_status_id_str": "848934156834877442", "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 11, "truncated": false, "id": 848898265550655490, "in_reply_to_user_id_str": null, "user": {"time_zone": null, "notifications": false, "id": 56341402, "url": null, "id_str": "56341402", "favourites_count": 168, "entities": {"description": {"urls": []}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000578700709/66c637100eac36a06d9312092e7fbeb7_normal.png", "profile_link_color": "1DA1F2", "lang": "en", "utc_offset": null, "contributors_enabled": false, "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "listed_count": 499, "screen_name": "barabasi", "profile_use_background_image": true, "followers_count": 9390, "statuses_count": 1512, "profile_background_color": "C0DEED", "friends_count": 126, "created_at": "Mon Jul 13 10:40:57 +0000 2009", "location": "", "is_translator": false, "verified": false, "profile_sidebar_border_color": "C0DEED", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "has_extended_profile": false, "protected": false, "description": "", "is_translation_enabled": false, "default_profile": true, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000578700709/66c637100eac36a06d9312092e7fbeb7_normal.png", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "DDEEF6", "name": "Laszlo Barabasi", "default_profile_image": false, "profile_background_tile": false, "translator_type": "none", "following": false}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [117, 140], "display_url": "ow.ly/qmfy30arhpb", "expanded_url": "http://ow.ly/qmfy30arhpb", "url": "https://t.co/QbHTrgZTHN"}], "symbols": []}, "id_str": "848898265550655490", "source": "Hootsuite", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Mon Apr 03 14:01:32 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "How can women gain equal recognition in creative fields? Submit your abstracts for Gendered Creative Teams Workshop: https://t.co/QbHTrgZTHN", "retweet_count": 14, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 848898609928122368, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "barabasi", "id_str": "56341402", "name": "Laszlo Barabasi", "id": 56341402, "indices": [3, 12]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "848898609928122368", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Mon Apr 03 14:02:55 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @barabasi: How can women gain equal recognition in creative fields? Submit your abstracts for Gendered Creative Teams Workshop: https://\u2026", "retweet_count": 14, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 848892434260131841, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [{"indices": [112, 135], "display_url": "wired.com/2017/04/elusiv\u2026", "expanded_url": "https://www.wired.com/2017/04/elusive-math-proof-found-almost-lost/?mbid=social_fb_onsiteshare", "url": "https://t.co/SOgiMyqZvX"}], "symbols": []}, "id_str": "848892434260131841", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Mon Apr 03 13:38:22 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "> The \u201cfeeling of deep joy and gratitude\u201d that comes from finding an important proof has been reward enough. https://t.co/SOgiMyqZvX", "retweet_count": 0, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 848884763964440577, "in_reply_to_user_id_str": "414890881", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "jmreagle", "id_str": "414890881", "name": "Joseph Reagle", "id": 414890881, "indices": [0, 9]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "848884763964440577", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 848884691679809537, "created_at": "Mon Apr 03 13:07:53 +0000 2017", "in_reply_to_user_id": 414890881, "geo": null, "text": "@jmreagle chapter two of my dissertation! <3", "retweet_count": 0, "in_reply_to_screen_name": "jmreagle", "in_reply_to_status_id_str": "848884691679809537", "coordinates": null, "retweeted": false}, {"favorited": false, "retweeted_status": {"favorited": false, "favorite_count": 38, "truncated": false, "id": 848883902185865219, "in_reply_to_user_id_str": "65375759", "user": {"time_zone": "Eastern Time (US & Canada)", "notifications": false, "id": 65375759, "url": "http://t.co/32zLRNverc", "id_str": "65375759", "favourites_count": 18609, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 22], "display_url": "technosociology.org", "expanded_url": "http://www.technosociology.org", "url": "http://t.co/32zLRNverc"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/852492056798916608/bydhBkye_normal.jpg", "profile_link_color": "0084B4", "lang": "en", "utc_offset": -14400, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/472471958014021632/dUj8haPh.jpeg", "listed_count": 3745, "screen_name": "zeynep", "profile_use_background_image": false, "followers_count": 242893, "statuses_count": 72176, "profile_background_color": "C0DEED", "friends_count": 861, "created_at": "Thu Aug 13 14:32:22 +0000 2009", "location": "", "is_translator": false, "verified": true, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/472471958014021632/dUj8haPh.jpeg", "has_extended_profile": false, "protected": false, "description": "Thinking about our tools, ourselves. @UNCSILS+Sociology Associate Prof. @NYTimes writer. @BKCHarvard. Former: @PrincetonCITP, @Message & Carnegie Fellow.", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/852492056798916608/bydhBkye_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/65375759/1491228723", "follow_request_sent": false, "profile_text_color": "333333", "geo_enabled": false, "profile_sidebar_fill_color": "DDEEF6", "name": "Zeynep Tufekci", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "848883902185865219", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 848883638758502400, "created_at": "Mon Apr 03 13:04:28 +0000 2017", "in_reply_to_user_id": 65375759, "geo": null, "text": "The key is asymmetric data, surveillance & platform control merging with social science and experimentation at scale in service of control.", "retweet_count": 21, "in_reply_to_screen_name": "zeynep", "in_reply_to_status_id_str": "848883638758502400", "coordinates": null, "retweeted": false}, "favorite_count": 0, "truncated": false, "id": 848884388762861568, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "zeynep", "id_str": "65375759", "name": "Zeynep Tufekci", "id": 65375759, "indices": [3, 10]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "848884388762861568", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Mon Apr 03 13:06:24 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "RT @zeynep: The key is asymmetric data, surveillance & platform control merging with social science and experimentation at scale in service\u2026", "retweet_count": 21, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 8, "truncated": false, "id": 848880199034908672, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "848880199034908672", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 848878949765656576, "created_at": "Mon Apr 03 12:49:45 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "In the 1930s, unions responded to scientific management with their own data science teams to negotiate with firms. We could do the same", "retweet_count": 4, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "848878949765656576", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 2, "truncated": false, "id": 848878949765656576, "in_reply_to_user_id_str": "52332354", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "848878949765656576", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 848878335476346880, "created_at": "Mon Apr 03 12:44:47 +0000 2017", "in_reply_to_user_id": 52332354, "geo": null, "text": "But if we generate bodies of knowledge that exclusively help employers tip all the scales, workers will complain. c.f. Scientific Management", "retweet_count": 0, "in_reply_to_screen_name": "natematias", "in_reply_to_status_id_str": "848878335476346880", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 3, "truncated": false, "id": 848878335476346880, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "848878335476346880", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Mon Apr 03 12:42:21 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "Lots of colleagues are calling the language in this article overblown, preferring that we differentiate the methods from the manipulation", "retweet_count": 1, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 17, "truncated": false, "id": 848877605814247424, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [], "hashtags": [], "urls": [], "symbols": []}, "id_str": "848877605814247424", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Mon Apr 03 12:39:27 +0000 2017", "in_reply_to_user_id": null, "geo": null, "text": "Articles on Uber's experiments give me more motivation to finish my dissertation on platform power & behavioral science experimentation", "retweet_count": 1, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 4, "truncated": false, "id": 848876984537141248, "in_reply_to_user_id_str": null, "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "noamscheiber", "id_str": "249469549", "name": "Noam Scheiber", "id": 249469549, "indices": [89, 102]}], "hashtags": [], "urls": [{"indices": [103, 126], "display_url": "nytimes.com/interactive/20\u2026", "expanded_url": "https://www.nytimes.com/interactive/2017/04/02/technology/uber-drivers-psychological-tricks.html?_r=0", "url": "https://t.co/iSCWJ6VUq1"}], "symbols": []}, "id_str": "848876984537141248", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": null, "created_at": "Mon Apr 03 12:36:59 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": null, "geo": null, "text": "Behind-the-schenes look at Uber's use of behavioral science to shape driver behavior, by @noamscheiber https://t.co/iSCWJ6VUq1", "retweet_count": 1, "in_reply_to_screen_name": null, "in_reply_to_status_id_str": null, "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 0, "truncated": false, "id": 848874949452451840, "in_reply_to_user_id_str": "281348080", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "sarakyeo", "id_str": "281348080", "name": "Sara K. Yeo", "id": 281348080, "indices": [0, 9]}], "hashtags": [], "urls": [{"indices": [103, 126], "display_url": "civilservant.io/moderation_exp\u2026", "expanded_url": "http://civilservant.io/moderation_experiment_r_science_rule_posting.html", "url": "https://t.co/dsu28F8Hk8"}], "symbols": []}, "id_str": "848874949452451840", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 848761634575089665, "created_at": "Mon Apr 03 12:28:53 +0000 2017", "possibly_sensitive": false, "in_reply_to_user_id": 281348080, "geo": null, "text": "@sarakyeo Hi Sara! I work with r/science to do a field experiments. We're always looking for new ideas https://t.co/dsu28F8Hk8", "retweet_count": 0, "in_reply_to_screen_name": "sarakyeo", "in_reply_to_status_id_str": "848761634575089665", "coordinates": null, "retweeted": false}, {"favorited": false, "favorite_count": 1, "truncated": false, "id": 848742265099038720, "in_reply_to_user_id_str": "2291049618", "user": {"time_zone": "London", "notifications": false, "id": 52332354, "url": "https://t.co/TLKVYDQ5YV", "id_str": "52332354", "favourites_count": 29238, "entities": {"description": {"urls": []}, "url": {"urls": [{"indices": [0, 23], "display_url": "civic.mit.edu/blog/natematias", "expanded_url": "http://civic.mit.edu/blog/natematias", "url": "https://t.co/TLKVYDQ5YV"}]}}, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_link_color": "1E718A", "lang": "en", "utc_offset": 3600, "contributors_enabled": false, "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "listed_count": 464, "screen_name": "natematias", "profile_use_background_image": true, "followers_count": 6565, "statuses_count": 32524, "profile_background_color": "EDECE9", "friends_count": 3846, "created_at": "Tue Jun 30 07:14:13 +0000 2009", "location": "Cambridge, MA", "is_translator": false, "verified": false, "profile_sidebar_border_color": "FFFFFF", "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/725867632/6bb5a8775e803191e629c649ee6521ce.png", "has_extended_profile": false, "protected": false, "description": "Building public interest, independent research on online safety & fairness. @medialab @CivicMIT @BKCharvard Prev @MSFTResearch @swiftkey @1book140 @mini_stories", "is_translation_enabled": false, "default_profile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/378800000401092475/b8e2ff437bd0a2bb21d022a73b82756e_normal.png", "profile_banner_url": "https://pbs.twimg.com/profile_banners/52332354/1481078082", "follow_request_sent": false, "profile_text_color": "666666", "geo_enabled": false, "profile_sidebar_fill_color": "252429", "name": "J. Nathan Matias", "default_profile_image": false, "profile_background_tile": true, "translator_type": "regular", "following": true}, "entities": {"user_mentions": [{"screen_name": "MuhammedKambal", "id_str": "2291049618", "name": "Mohamed Suliman", "id": 2291049618, "indices": [0, 15]}], "hashtags": [], "urls": [], "symbols": []}, "id_str": "848742265099038720", "source": "Twitter Web Client", "lang": "en", "contributors": null, "place": null, "is_quote_status": false, "in_reply_to_status_id": 848740506557452288, "created_at": "Mon Apr 03 03:41:39 +0000 2017", "in_reply_to_user_id": 2291049618, "geo": null, "text": "@MuhammedKambal lots of studies work fine with the knowledge of the participants of the studies", "retweet_count": 0, "in_reply_to_screen_name": "MuhammedKambal", "in_reply_to_status_id_str": "848740506557452288", "coordinates": null, "retweeted": false}] \ No newline at end of file diff --git a/tests/fixture_data/twitter_username_list.json b/tests/fixture_data/twitter_username_list.json deleted file mode 100644 index 774d486..0000000 --- a/tests/fixture_data/twitter_username_list.json +++ /dev/null @@ -1 +0,0 @@ -["masrarabiasport", "zaynoo55", "uzomediaonline", "gmgq58j4hcb5hvb", "maria_h_k", "samiafox2", "sooos243", "itihad_vs", "aleymnews", "javimerino_93", "alhadathalyoum1", "sunil_k1", "alnah65484hy", "world_saudi2013", "fvpdn5nuufurout", "calpsoslewpcp1h", "mzi71", "sachin_6600", "kinghafimawesi", "yalla_test", "ubspa9wgqy5kqdd", "maoaal1223", "dawrisaudi4k", "wa5imm", "thilangura", "arranobaltzaa", "tabiii3live433", "thotas9999", "thatsalafi", "newnevvs", "engr_naveed111", "koraliv18715232", "tailsdoll553", "mhamdalshrary", "marceloroger435", "skdjhasjgdagshf", "abirbcse", "5barko", "ad81kbaj7bji6az", "amateursinhose", "mdesantiago1", "snd_ds", "u54547", "rizwan_gillani", "moollaooeeew", "ari_franchi", "gorodova1985", "ranukad", "gizhhfqn3ahk4hd", "alshamsiksa", "shukrytwitts", "trf_00", "a654894y", "kora2day", "sollicitatielab", "nayf1438", "vishalprash", "live7sport77", "5454564hy", "iunfm1", "nitindhanuka", "so6an_999", "dyoathletic", "a65489451thy", "bein720", "sureshrcs", "skattt4", "jojo5265", "fofo_5033", "newsrany", "aioood_303_rr", "kazztr_", "judahdavies", "alluswagg", "yalalalooooo", "alna654564thy", "al3sol1", "887fyf054", "thetruevoicetv", "footballf121", "m_abu_husam", "5845hy", "muzomamichael", "actionha_live", "mrplanner1", "uof5to5zvhrxjtw"] \ No newline at end of file diff --git a/tests/fixture_data/twitter_users.json b/tests/fixture_data/twitter_users.json deleted file mode 100644 index 3fe799b..0000000 --- a/tests/fixture_data/twitter_users.json +++ /dev/null @@ -1 +0,0 @@ -[{"verified": false, "lang": "en", "id_str": "2768381226", "profile_link_color": "89C9FA", "default_profile": false, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 23], "url": "https://t.co/9kFpcZTPXw", "expanded_url": "https://footballtactics1415.wordpress.com", "display_url": "footballtactics1415.wordpress.com"}]}, "description": {"urls": []}}, "followers_count": 6620, "contributors_enabled": false, "name": "JD", "url": "https://t.co/9kFpcZTPXw", "profile_text_color": "000000", "profile_sidebar_fill_color": "000000", "profile_image_url": "http://pbs.twimg.com/profile_images/785404586999832576/W8L0DtZZ_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "en", "id_str": "853639883319111680", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [{"name": "JD", "indices": [3, 15], "screen_name": "JudahDavies", "id": 2768381226, "id_str": "2768381226"}]}, "favorited": false, "source": "Twitter Web Client", "text": "RT @JudahDavies: Mou's initial plan:\n6-2-2 with tight man-marking. Typical Mourinho: little pressure on 1st ball carrier, gradually increas\u2026", "contributors": null, "coordinates": null, "retweeted": false, "retweeted_status": {"lang": "en", "id_str": "841388572242522112", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [116, 139], "url": "https://t.co/xzIfXJqodj", "expanded_url": "https://twitter.com/i/web/status/841388572242522112", "display_url": "twitter.com/i/web/status/8\u2026"}], "hashtags": [], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "text": "Mou's initial plan:\n6-2-2 with tight man-marking. Typical Mourinho: little pressure on 1st ball carrier, gradually\u2026 https://t.co/xzIfXJqodj", "contributors": null, "coordinates": null, "retweeted": false, "id": 841388572242522112, "created_at": "Mon Mar 13 20:40:42 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 233, "favorite_count": 306, "truncated": true, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "id": 853639883319111680, "created_at": "Sun Apr 16 16:03:02 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 233, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "in_reply_to_status_id": null}, "description": "Opposition Scout @htafcdotcom Tactical analyst @spielvercom and Football Coach| 19", "screen_name": "JudahDavies", "id": 2768381226, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 2345, "notifications": false, "listed_count": 156, "location": "Bournemouth/London", "profile_background_color": "000000", "has_extended_profile": false, "utc_offset": 3600, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 7504, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/785404586999832576/W8L0DtZZ_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": false, "friends_count": 688, "profile_banner_url": "https://pbs.twimg.com/profile_banners/2768381226/1468441782", "created_at": "Mon Aug 25 23:42:52 +0000 2014", "time_zone": "London", "profile_sidebar_border_color": "000000"}, {"verified": false, "lang": "es", "id_str": "2760688606", "profile_link_color": "0084B4", "default_profile": false, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 22], "url": "http://t.co/W5AIavsnWq", "expanded_url": "http://www.deporteyocio.es/search/label/Athletic", "display_url": "deporteyocio.es/search/label/A\u2026"}]}, "description": {"urls": []}}, "followers_count": 3143, "contributors_enabled": false, "name": "Dyo Athletic", "url": "http://t.co/W5AIavsnWq", "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/631888485532758016/LBTLmj9N_normal.png", "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/507603077168263168/_U-f9CVF.jpeg", "status": {"lang": "es", "id_str": "853699988966256653", "place": null, "extended_entities": {"media": [{"indices": [115, 138], "media_url": "http://pbs.twimg.com/media/C9jzUV2V0AAJ9PZ.jpg", "expanded_url": "https://twitter.com/Athletic_MD/status/853699662833827840/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9jzUV2V0AAJ9PZ.jpg", "id_str": "853699660174708736", "source_status_id_str": "853699662833827840", "type": "photo", "source_user_id": 4803755908, "source_status_id": 853699662833827840, "source_user_id_str": "4803755908", "url": "https://t.co/TeE3qxEYRh", "sizes": {"small": {"resize": "fit", "w": 680, "h": 384}, "medium": {"resize": "fit", "w": 980, "h": 554}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 980, "h": 554}}, "display_url": "pic.twitter.com/TeE3qxEYRh", "id": 853699660174708736}]}, "entities": {"symbols": [], "urls": [{"indices": [71, 94], "url": "https://t.co/CJfNEyNF7u", "expanded_url": "http://www.mundodeportivo.com/futbol/athletic-bilbao/20170416/421753559467/athletic-eibar-mendilibar-ipurua.html?utm_source=dlvr.it&utm_medium=twitter", "display_url": "mundodeportivo.com/futbol/athleti\u2026"}], "hashtags": [], "user_mentions": [{"name": "Mundo Deportivo", "indices": [99, 114], "screen_name": "mundodeportivo", "id": 15748165, "id_str": "15748165"}], "media": [{"indices": [115, 138], "media_url": "http://pbs.twimg.com/media/C9jzUV2V0AAJ9PZ.jpg", "expanded_url": "https://twitter.com/Athletic_MD/status/853699662833827840/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9jzUV2V0AAJ9PZ.jpg", "id_str": "853699660174708736", "source_status_id_str": "853699662833827840", "type": "photo", "source_user_id": 4803755908, "source_status_id": 853699662833827840, "source_user_id_str": "4803755908", "url": "https://t.co/TeE3qxEYRh", "sizes": {"small": {"resize": "fit", "w": 680, "h": 384}, "medium": {"resize": "fit", "w": 980, "h": 554}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 980, "h": 554}}, "display_url": "pic.twitter.com/TeE3qxEYRh", "id": 853699660174708736}]}, "favorited": false, "source": "Twitter for Android", "text": "Eibar ya habla de \u201cpartido clave\u201d con el Athletic tras perder vs Betis https://t.co/CJfNEyNF7u v\u00eda @mundodeportivo https://t.co/TeE3qxEYRh", "contributors": null, "coordinates": null, "retweeted": false, "id": 853699988966256653, "created_at": "Sun Apr 16 20:01:53 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "in_reply_to_screen_name": null, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "Cuenta asociada a @deporteyocio. Gestionada por @jabustamante001. Sigue todas las noticias del Athletic Club. contacto@deporteyocio.es", "screen_name": "dyoathletic", "id": 2760688606, "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/507603077168263168/_U-f9CVF.jpeg", "default_profile_image": false, "following": false, "favourites_count": 3698, "notifications": false, "listed_count": 21, "location": "Bilbao, Espa\u00f1a", "profile_background_color": "C0DEED", "has_extended_profile": true, "utc_offset": 7200, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 16146, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/631888485532758016/LBTLmj9N_normal.png", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 2625, "profile_banner_url": "https://pbs.twimg.com/profile_banners/2760688606/1477472318", "created_at": "Wed Sep 03 20:19:24 +0000 2014", "time_zone": "Ljubljana", "profile_sidebar_border_color": "FFFFFF"}, {"verified": false, "lang": "en", "id_str": "793908765607202818", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 23], "url": "https://t.co/MH98cJPS5s", "expanded_url": "http://uzomediangr.wordpress.com", "display_url": "uzomediangr.wordpress.com"}]}, "description": {"urls": []}}, "followers_count": 54, "contributors_enabled": false, "name": "Michael UzomaMichael", "url": "https://t.co/MH98cJPS5s", "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/806884243406254080/ZNjLNV5K_normal.jpg", "profile_background_image_url_https": null, "status": {"lang": "en", "id_str": "853352268657115136", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [], "hashtags": [{"indices": [72, 87], "text": "SarakiProjects"}], "user_mentions": [{"name": "Shewn007", "indices": [3, 12], "screen_name": "shewn007", "id": 146947063, "id_str": "146947063"}, {"name": "Bukola Saraki", "indices": [112, 125], "screen_name": "bukolasaraki", "id": 157011426, "id_str": "157011426"}]}, "favorited": false, "source": "Naibac Influencer Network", "text": "RT @shewn007: As earlier promised and as a follow up to the read out of #SarakiProjects of this morning, the SP @bukolasaraki did some insp\u2026", "contributors": null, "coordinates": null, "retweeted": false, "retweeted_status": {"lang": "en", "id_str": "853320185104801792", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [117, 140], "url": "https://t.co/m0MAlbcaNe", "expanded_url": "https://twitter.com/i/web/status/853320185104801792", "display_url": "twitter.com/i/web/status/8\u2026"}], "hashtags": [{"indices": [58, 73], "text": "SarakiProjects"}], "user_mentions": [{"name": "Bukola Saraki", "indices": [98, 111], "screen_name": "bukolasaraki", "id": 157011426, "id_str": "157011426"}]}, "favorited": false, "source": "Twitter for Android", "text": "As earlier promised and as a follow up to the read out of #SarakiProjects of this morning, the SP @bukolasaraki did\u2026 https://t.co/m0MAlbcaNe", "contributors": null, "coordinates": null, "retweeted": false, "id": 853320185104801792, "created_at": "Sat Apr 15 18:52:40 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 252, "favorite_count": 9, "truncated": true, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "id": 853352268657115136, "created_at": "Sat Apr 15 21:00:10 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 252, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "in_reply_to_status_id": null}, "description": "Michael Uzoma Michael: Blogger, writer and founder @UzomediaOnline #Uzomedia", "screen_name": "MUzomaMichael", "id": 793908765607202818, "profile_background_image_url": null, "default_profile_image": false, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 8, "location": "World", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 10335, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/806884243406254080/ZNjLNV5K_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 50, "profile_banner_url": "https://pbs.twimg.com/profile_banners/793908765607202818/1481211218", "created_at": "Wed Nov 02 20:12:54 +0000 2016", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "1612942082", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 786, "contributors_enabled": false, "name": "\u0643\u0648\u0631\u0629 \u0645\u0628\u0627\u0634\u0631", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/848195829697568768/PU69zX9E_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "ar", "id_str": "853645421956222976", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [63, 86], "url": "https://t.co/ZunNK47QW6", "expanded_url": "https://goo.gl/ekrrSz", "display_url": "goo.gl/ekrrSz"}, {"indices": [97, 120], "url": "https://t.co/YfYMntktuc", "expanded_url": "https://twitter.com/i/web/status/853645421956222976", "display_url": "twitter.com/i/web/status/8\u2026"}], "hashtags": [{"indices": [24, 48], "text": "\u0645\u0627\u0646\u0634\u0633\u062a\u0631_\u064a\u0648\u0646\u0627\u064a\u062a\u062f_\u062a\u0634\u064a\u0644\u0633\u064a\u0650"}], "user_mentions": []}, "favorited": false, "source": "TweetDeck", "text": "\u0644\u0627\u0627\u0627\u0627\u064a\u0641 \u0631\u0648\u0627\u0628\u0637 HD \u0645\u0634\u0627\u0647\u062f\u0629 #\u0645\u0627\u0646\u0634\u0633\u062a\u0631_\u064a\u0648\u0646\u0627\u064a\u062a\u062f_\u062a\u0634\u064a\u0644\u0633\u064a\u0650 \u0631\u0627\u0628\u0637\n \u064a\u0648\u062a\u064a\u0648\u0628 \nhttps://t.co/ZunNK47QW6\n\n\u0627\u0646\u062f\u0631\u0648\u064a\u062f\u2026 https://t.co/YfYMntktuc", "contributors": null, "coordinates": null, "retweeted": false, "id": 853645421956222976, "created_at": "Sun Apr 16 16:25:03 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 206, "favorite_count": 207, "truncated": true, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "skdjhasjgdagshf", "id": 1612942082, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 54, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "C0DEED", "has_extended_profile": false, "utc_offset": -25200, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 181, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/848195829697568768/PU69zX9E_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 1841, "profile_banner_url": "https://pbs.twimg.com/profile_banners/1612942082/1462405065", "created_at": "Mon Jul 22 14:21:17 +0000 2013", "time_zone": "Pacific Time (US & Canada)", "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "398507134", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 135, "contributors_enabled": false, "name": "Thilan Gurusinghe", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/675369060029304832/hD0ay1BA_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "und", "id_str": "721534720505458688", "place": {"place_type": "admin", "url": "https://api.twitter.com/1.1/geo/id/00ecb59b0dad186e.json", "contained_within": [], "name": "Sharjah", "country": "United Arab Emirates", "attributes": {}, "country_code": "AE", "full_name": "Sharjah, United Arab Emirates", "id": "00ecb59b0dad186e", "bounding_box": {"type": "Polygon", "coordinates": [[[55.0091271, 24.7328863], [56.3816989, 24.7328863], [56.3816989, 25.8997649], [55.0091271, 25.8997649]]]}}, "extended_entities": {"media": [{"indices": [24, 47], "media_url": "http://pbs.twimg.com/media/CgNn_DqWwAAPxRJ.jpg", "expanded_url": "https://twitter.com/thilangura/status/721534720505458688/photo/1", "media_url_https": "https://pbs.twimg.com/media/CgNn_DqWwAAPxRJ.jpg", "id_str": "721534698321788928", "url": "https://t.co/t1jxIGPD9V", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 340, "h": 453}, "medium": {"resize": "fit", "w": 600, "h": 800}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 960, "h": 1280}}, "display_url": "pic.twitter.com/t1jxIGPD9V", "id": 721534698321788928}, {"indices": [24, 47], "media_url": "http://pbs.twimg.com/media/CgNn_DwWEAIf5mo.jpg", "expanded_url": "https://twitter.com/thilangura/status/721534720505458688/photo/1", "media_url_https": "https://pbs.twimg.com/media/CgNn_DwWEAIf5mo.jpg", "id_str": "721534698346909698", "url": "https://t.co/t1jxIGPD9V", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 340, "h": 255}, "medium": {"resize": "fit", "w": 600, "h": 450}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 1024, "h": 768}}, "display_url": "pic.twitter.com/t1jxIGPD9V", "id": 721534698346909698}, {"indices": [24, 47], "media_url": "http://pbs.twimg.com/media/CgNn_DuWwAUT97B.jpg", "expanded_url": "https://twitter.com/thilangura/status/721534720505458688/photo/1", "media_url_https": "https://pbs.twimg.com/media/CgNn_DuWwAUT97B.jpg", "id_str": "721534698338566149", "url": "https://t.co/t1jxIGPD9V", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 340, "h": 453}, "medium": {"resize": "fit", "w": 600, "h": 800}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 960, "h": 1280}}, "display_url": "pic.twitter.com/t1jxIGPD9V", "id": 721534698338566149}, {"indices": [24, 47], "media_url": "http://pbs.twimg.com/media/CgNn_FvWsAARiY5.jpg", "expanded_url": "https://twitter.com/thilangura/status/721534720505458688/photo/1", "media_url_https": "https://pbs.twimg.com/media/CgNn_FvWsAARiY5.jpg", "id_str": "721534698879627264", "url": "https://t.co/t1jxIGPD9V", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 340, "h": 255}, "medium": {"resize": "fit", "w": 600, "h": 450}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 1024, "h": 768}}, "display_url": "pic.twitter.com/t1jxIGPD9V", "id": 721534698879627264}]}, "entities": {"symbols": [], "urls": [{"indices": [0, 23], "url": "https://t.co/7BBu0GmwOV", "expanded_url": "https://biddi.com/item-i60679.html?p=1", "display_url": "biddi.com/item-i60679.ht\u2026"}], "hashtags": [], "user_mentions": [], "media": [{"indices": [24, 47], "media_url": "http://pbs.twimg.com/media/CgNn_DqWwAAPxRJ.jpg", "expanded_url": "https://twitter.com/thilangura/status/721534720505458688/photo/1", "media_url_https": "https://pbs.twimg.com/media/CgNn_DqWwAAPxRJ.jpg", "id_str": "721534698321788928", "url": "https://t.co/t1jxIGPD9V", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 340, "h": 453}, "medium": {"resize": "fit", "w": 600, "h": 800}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 960, "h": 1280}}, "display_url": "pic.twitter.com/t1jxIGPD9V", "id": 721534698321788928}]}, "favorited": false, "source": "Twitter for iPhone", "text": "https://t.co/7BBu0GmwOV https://t.co/t1jxIGPD9V", "contributors": null, "coordinates": null, "retweeted": false, "id": 721534720505458688, "created_at": "Sun Apr 17 03:04:17 +0000 2016", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 1, "in_reply_to_screen_name": null, "favorite_count": 39, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "thilangura", "id": 398507134, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 46, "notifications": false, "listed_count": 1, "location": "Kandana, Sri Lanka", "profile_background_color": "C0DEED", "has_extended_profile": true, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 158, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/675369060029304832/hD0ay1BA_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 970, "profile_banner_url": "https://pbs.twimg.com/profile_banners/398507134/1404925239", "created_at": "Wed Oct 26 04:48:27 +0000 2011", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "135779262", "profile_link_color": "1B95E0", "default_profile": false, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 23], "url": "https://t.co/22uXpuJzTc", "expanded_url": "http://about.me/ranukad", "display_url": "about.me/ranukad"}]}, "description": {"urls": []}}, "followers_count": 5850, "contributors_enabled": false, "name": "Ko-Kiss\ud83d\udc8b Ask-Me\ud83d\udc66", "url": "https://t.co/22uXpuJzTc", "profile_text_color": "000000", "profile_sidebar_fill_color": "00FF03", "profile_image_url": "http://pbs.twimg.com/profile_images/834458909385437185/brzUiOyC_normal.jpg", "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/378800000165055265/0DyG0Lzy.jpeg", "status": {"lang": "si", "id_str": "853646889106817025", "place": null, "in_reply_to_screen_name": "chama617", "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [{"name": "Who am I?", "indices": [0, 9], "screen_name": "chama617", "id": 190988285, "id_str": "190988285"}]}, "favorited": false, "source": "Twitter for Android", "text": "@chama617 \u0d86\u0dba\u0dd2 \u0d86\u0dba\u0dd2 \ud83e\udd17\ud83e\udd17\ud83e\udd17", "contributors": null, "coordinates": null, "retweeted": false, "id": 853646889106817025, "created_at": "Sun Apr 16 16:30:53 +0000 2017", "in_reply_to_user_id_str": "190988285", "is_quote_status": false, "in_reply_to_user_id": 190988285, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": "853645664684613632", "geo": null, "in_reply_to_status_id": 853645664684613632}, "description": "#ILLNoize Fan |Simple |Graduate |Computer Science| NIBM|NSBM|@ucddublin Snapchat|Instagram @ranukad", "screen_name": "ranukad", "id": 135779262, "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/378800000165055265/0DyG0Lzy.jpeg", "default_profile_image": false, "following": false, "favourites_count": 13901, "notifications": false, "listed_count": 47, "location": "Nugegoda,Ambalangoda,lka", "profile_background_color": "141314", "has_extended_profile": true, "utc_offset": 19800, "translator_type": "regular", "is_translator": false, "follow_request_sent": false, "statuses_count": 33599, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/834458909385437185/brzUiOyC_normal.jpg", "profile_background_tile": true, "protected": false, "profile_use_background_image": true, "friends_count": 1414, "profile_banner_url": "https://pbs.twimg.com/profile_banners/135779262/1435600572", "created_at": "Thu Apr 22 06:39:55 +0000 2010", "time_zone": "Sri Jayawardenepura", "profile_sidebar_border_color": "000000"}, {"verified": false, "lang": "ar", "id_str": "852943036803936256", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 1, "contributors_enabled": false, "name": "\u0627\u0645\u064a\u0631\u0647", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "852958881592594432", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [47, 70], "url": "https://t.co/3eY0OEztc1", "expanded_url": "http://ow.ly/699P30aRL0C", "display_url": "ow.ly/699P30aRL0C"}], "hashtags": [{"indices": [18, 36], "text": "\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0647"}, {"indices": [72, 98], "text": "\u0630\u0643\u0640\u0631_\u064a\u0639\u062a\u062f\u064a_\u0639\u0644\u064a_\u0627\u0645\u0631\u0627\u0647_\u0628\u0645\u0643\u0647"}], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "text": "\u062a\u062c\u062f\u064a\u062f \u0646\u0642\u0644 \u0645\u0628\u0627\u0631\u0627\u0629 #\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0647 \u0628\u062b \u0645\u0628\u0627\u0634\u0631\n\nhttps://t.co/3eY0OEztc1\n\n#\u0630\u0643\u0640\u0631_\u064a\u0639\u062a\u062f\u064a_\u0639\u0644\u064a_\u0627\u0645\u0631\u0627\u0647_\u0628\u0645\u0643\u0647", "contributors": null, "coordinates": null, "retweeted": false, "id": 852958881592594432, "created_at": "Fri Apr 14 18:56:59 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "GMgQ58j4hCb5HVb", "id": 852943036803936256, "profile_background_image_url": null, "default_profile_image": true, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 25, "geo_enabled": false, "profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 20, "protected": false, "created_at": "Fri Apr 14 17:54:01 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "1934219598", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 526, "contributors_enabled": false, "name": "\u0627\u0644\u0639\u0627\u0632\u0641 \u0639\u064a\u0648\u062f \u0627\u0644\u062f\u0648\u0633\u0631\u064a", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/464696148100251649/F8klw87t_normal.jpeg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "ar", "id_str": "853680288903426051", "place": null, "extended_entities": {"media": [{"indices": [56, 79], "media_url": "http://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "expanded_url": "https://twitter.com/vNw2f/status/853680261707571203/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "id_str": "853680251884457984", "source_status_id_str": "853680261707571203", "type": "photo", "source_user_id": 1321452678, "source_status_id": 853680261707571203, "source_user_id_str": "1321452678", "url": "https://t.co/0RyfRJe5zd", "sizes": {"small": {"resize": "fit", "w": 350, "h": 527}, "medium": {"resize": "fit", "w": 350, "h": 527}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 350, "h": 527}}, "display_url": "pic.twitter.com/0RyfRJe5zd", "id": 853680251884457984}]}, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [{"name": "\u0646\u0648\u0651\u0627\u0641", "indices": [3, 9], "screen_name": "vNw2f", "id": 1321452678, "id_str": "1321452678"}], "media": [{"indices": [56, 79], "media_url": "http://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "expanded_url": "https://twitter.com/vNw2f/status/853680261707571203/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "id_str": "853680251884457984", "source_status_id_str": "853680261707571203", "type": "photo", "source_user_id": 1321452678, "source_status_id": 853680261707571203, "source_user_id_str": "1321452678", "url": "https://t.co/0RyfRJe5zd", "sizes": {"small": {"resize": "fit", "w": 350, "h": 527}, "medium": {"resize": "fit", "w": 350, "h": 527}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 350, "h": 527}}, "display_url": "pic.twitter.com/0RyfRJe5zd", "id": 853680251884457984}]}, "favorited": false, "source": "TweetDeck", "text": "RT @vNw2f: \u0644\u0640\u0640\u064b\u0646 \u064a\u062a\u0645\u0643\u0646 \u0627\u0644\u0627\u0646\u064e\u0633\u0627\u0646 \u062f\u0627\u0626\u0645\u0627\u064b \u0628\u0627\u0644\u062d\u0638\u064a \u0628\u0645\u0627 \u064a\u062a\u0645\u0646\u0649 https://t.co/0RyfRJe5zd", "contributors": null, "coordinates": null, "retweeted": false, "retweeted_status": {"lang": "ar", "id_str": "853680261707571203", "place": null, "extended_entities": {"media": [{"indices": [45, 68], "media_url": "http://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "expanded_url": "https://twitter.com/vNw2f/status/853680261707571203/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "id_str": "853680251884457984", "url": "https://t.co/0RyfRJe5zd", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 350, "h": 527}, "medium": {"resize": "fit", "w": 350, "h": 527}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 350, "h": 527}}, "display_url": "pic.twitter.com/0RyfRJe5zd", "id": 853680251884457984}]}, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [], "media": [{"indices": [45, 68], "media_url": "http://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "expanded_url": "https://twitter.com/vNw2f/status/853680261707571203/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "id_str": "853680251884457984", "url": "https://t.co/0RyfRJe5zd", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 350, "h": 527}, "medium": {"resize": "fit", "w": 350, "h": 527}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 350, "h": 527}}, "display_url": "pic.twitter.com/0RyfRJe5zd", "id": 853680251884457984}]}, "favorited": false, "source": "TweetDeck", "text": "\u0644\u0640\u0640\u064b\u0646 \u064a\u062a\u0645\u0643\u0646 \u0627\u0644\u0627\u0646\u064e\u0633\u0627\u0646 \u062f\u0627\u0626\u0645\u0627\u064b \u0628\u0627\u0644\u062d\u0638\u064a \u0628\u0645\u0627 \u064a\u062a\u0645\u0646\u0649 https://t.co/0RyfRJe5zd", "contributors": null, "coordinates": null, "retweeted": false, "id": 853680261707571203, "created_at": "Sun Apr 16 18:43:29 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 195, "in_reply_to_screen_name": null, "favorite_count": 1, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "id": 853680288903426051, "created_at": "Sun Apr 16 18:43:36 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 195, "in_reply_to_screen_name": null, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "\u0645\u0628\u0631\u0648\u0643 \u064a\u0627 \u0627\u0646\u0627 \u0639\u0644\u0649 \u0627\u0644\u062e\u0637\u0628\u0647", "screen_name": "aioood_303_rr", "id": 1934219598, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 5, "notifications": false, "listed_count": 2, "location": "", "profile_background_color": "C0DEED", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 211, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/464696148100251649/F8klw87t_normal.jpeg", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 666, "protected": false, "created_at": "Fri Oct 04 13:20:08 +0000 2013", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "4691693046", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 219, "contributors_enabled": false, "name": "kora 100", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/821643265820819456/uf8ZDMHf_normal.jpg", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "853331214593404938", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [64, 87], "url": "https://t.co/vuLL7r9anr", "expanded_url": "https://goo.gl/8F4DoO", "display_url": "goo.gl/8F4DoO"}, {"indices": [89, 112], "url": "https://t.co/SELWDVATms", "expanded_url": "https://goo.gl/FdyRFL", "display_url": "goo.gl/FdyRFL"}], "hashtags": [{"indices": [114, 129], "text": "\u0627\u0644\u0647\u064c\u0644\u0627\u0644_\u0627\u0644\u0627\u0647\u0644\u064a"}], "user_mentions": [{"name": "online", "indices": [3, 15], "screen_name": "newsssss106", "id": 2184379017, "id_str": "2184379017"}]}, "favorited": false, "source": "TweetDeck", "text": "RT @newsssss106: \u0645\u0628\u0627\u0631\u0627\u0629 \u0627\u0644\u0647\u0644\u0627\u0644 \u0648\u0627\u0644\u0627\u0647\u0644\u064a \u0645\u0628\u0627\u0634\u0631 \u0627\u0648\u0646 \u0644\u0627\u064a\u0646\n\n\u0643\u0645\u0628\u064a\u0648\u062a\u0631 \nhttps://t.co/vuLL7r9anr\n\nhttps://t.co/SELWDVATms\n\n#\u0627\u0644\u0647\u064c\u0644\u0627\u0644_\u0627\u0644\u0627\u0647\u0644\u064a https://t\u2026", "contributors": null, "coordinates": null, "retweeted": false, "retweeted_status": {"lang": "ar", "id_str": "853331189918294016", "place": null, "extended_entities": {"media": [{"indices": [113, 136], "media_url": "http://pbs.twimg.com/media/C9ekL2ZW0AI_COQ.jpg", "expanded_url": "https://twitter.com/newsssss106/status/853331189918294016/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9ekL2ZW0AI_COQ.jpg", "id_str": "853331177897381890", "url": "https://t.co/erreQTywlB", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 644, "h": 366}, "medium": {"resize": "fit", "w": 644, "h": 366}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 644, "h": 366}}, "display_url": "pic.twitter.com/erreQTywlB", "id": 853331177897381890}]}, "entities": {"symbols": [], "urls": [{"indices": [47, 70], "url": "https://t.co/vuLL7r9anr", "expanded_url": "https://goo.gl/8F4DoO", "display_url": "goo.gl/8F4DoO"}, {"indices": [72, 95], "url": "https://t.co/SELWDVATms", "expanded_url": "https://goo.gl/FdyRFL", "display_url": "goo.gl/FdyRFL"}], "hashtags": [{"indices": [97, 112], "text": "\u0627\u0644\u0647\u064c\u0644\u0627\u0644_\u0627\u0644\u0627\u0647\u0644\u064a"}], "user_mentions": [], "media": [{"indices": [113, 136], "media_url": "http://pbs.twimg.com/media/C9ekL2ZW0AI_COQ.jpg", "expanded_url": "https://twitter.com/newsssss106/status/853331189918294016/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9ekL2ZW0AI_COQ.jpg", "id_str": "853331177897381890", "url": "https://t.co/erreQTywlB", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 644, "h": 366}, "medium": {"resize": "fit", "w": 644, "h": 366}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 644, "h": 366}}, "display_url": "pic.twitter.com/erreQTywlB", "id": 853331177897381890}]}, "favorited": false, "source": "TweetDeck", "text": "\u0645\u0628\u0627\u0631\u0627\u0629 \u0627\u0644\u0647\u0644\u0627\u0644 \u0648\u0627\u0644\u0627\u0647\u0644\u064a \u0645\u0628\u0627\u0634\u0631 \u0627\u0648\u0646 \u0644\u0627\u064a\u0646\n\n\u0643\u0645\u0628\u064a\u0648\u062a\u0631 \nhttps://t.co/vuLL7r9anr\n\nhttps://t.co/SELWDVATms\n\n#\u0627\u0644\u0647\u064c\u0644\u0627\u0644_\u0627\u0644\u0627\u0647\u0644\u064a https://t.co/erreQTywlB", "contributors": null, "coordinates": null, "retweeted": false, "id": 853331189918294016, "created_at": "Sat Apr 15 19:36:24 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 325, "in_reply_to_screen_name": null, "favorite_count": 328, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "id": 853331214593404938, "created_at": "Sat Apr 15 19:36:30 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 325, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "footballf121", "id": 4691693046, "profile_background_image_url": null, "default_profile_image": false, "following": false, "favourites_count": 461, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": -25200, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 618, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/821643265820819456/uf8ZDMHf_normal.jpg", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 178, "protected": false, "created_at": "Fri Jan 01 21:14:17 +0000 2016", "time_zone": "Pacific Time (US & Canada)", "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "852944096696180738", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 0, "contributors_enabled": false, "name": "\u064a\u0644\u0627 \u0634\u0648\u062a", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "852944493410230272", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "withheld_in_countries": ["XY"], "text": "This Tweet from @887fyf054 has been withheld in response to a report from the copyright holder.", "contributors": null, "coordinates": null, "retweeted": false, "withheld_copyright": true, "id": 852944493410230272, "created_at": "Fri Apr 14 17:59:48 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "withheld_scope": "status", "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "in_reply_to_status_id": null}, "description": "", "screen_name": "887fyf054", "id": 852944096696180738, "profile_background_image_url": null, "default_profile_image": true, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 5, "geo_enabled": false, "profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 0, "protected": false, "created_at": "Fri Apr 14 17:58:14 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ca", "id_str": "251831601", "profile_link_color": "19CF86", "default_profile": false, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 23], "url": "https://t.co/Kf9MCWUk8L", "expanded_url": "https://www.flickr.com/photos/mikidesantiago/", "display_url": "flickr.com/photos/mikides\u2026"}]}, "description": {"urls": []}}, "followers_count": 471, "contributors_enabled": false, "name": "Miquel de Santiago", "url": "https://t.co/Kf9MCWUk8L", "profile_text_color": "000000", "profile_sidebar_fill_color": "000000", "profile_image_url": "http://pbs.twimg.com/profile_images/830443341682704386/ZM_UUmT9_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme14/bg.gif", "status": {"lang": "und", "id_str": "853659928514502656", "place": null, "extended_entities": {"media": [{"indices": [110, 133], "media_url": "http://pbs.twimg.com/media/C9jGz__UQAApK5K.jpg", "expanded_url": "https://twitter.com/flleida/status/853650729218834433/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9jGz__UQAApK5K.jpg", "id_str": "853650726039339008", "source_status_id_str": "853650729218834433", "type": "photo", "source_user_id": 627341333, "source_status_id": 853650729218834433, "source_user_id_str": "627341333", "url": "https://t.co/YLp1eZx0Be", "sizes": {"small": {"resize": "fit", "w": 680, "h": 382}, "medium": {"resize": "fit", "w": 1200, "h": 674}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 1600, "h": 898}}, "display_url": "pic.twitter.com/YLp1eZx0Be", "id": 853650726039339008}]}, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [{"name": "Actel For\u00e7a Lleida", "indices": [3, 11], "screen_name": "flleida", "id": 627341333, "id_str": "627341333"}], "media": [{"indices": [110, 133], "media_url": "http://pbs.twimg.com/media/C9jGz__UQAApK5K.jpg", "expanded_url": "https://twitter.com/flleida/status/853650729218834433/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9jGz__UQAApK5K.jpg", "id_str": "853650726039339008", "source_status_id_str": "853650729218834433", "type": "photo", "source_user_id": 627341333, "source_status_id": 853650729218834433, "source_user_id_str": "627341333", "url": "https://t.co/YLp1eZx0Be", "sizes": {"small": {"resize": "fit", "w": 680, "h": 382}, "medium": {"resize": "fit", "w": 1200, "h": 674}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 1600, "h": 898}}, "display_url": "pic.twitter.com/YLp1eZx0Be", "id": 853650726039339008}]}, "favorited": false, "source": "Twitter for Android", "text": "RT @flleida: Una cinquantena de lleidatans donant suport a l'equip a Barcelona! Entre tots ho aconseguirem!\ud83d\udc4f\ud83d\udcaa https://t.co/YLp1eZx0Be", "contributors": null, "coordinates": null, "retweeted": false, "retweeted_status": {"lang": "und", "id_str": "853650729218834433", "place": null, "extended_entities": {"media": [{"indices": [97, 120], "media_url": "http://pbs.twimg.com/media/C9jGz__UQAApK5K.jpg", "expanded_url": "https://twitter.com/flleida/status/853650729218834433/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9jGz__UQAApK5K.jpg", "id_str": "853650726039339008", "url": "https://t.co/YLp1eZx0Be", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 680, "h": 382}, "medium": {"resize": "fit", "w": 1200, "h": 674}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 1600, "h": 898}}, "display_url": "pic.twitter.com/YLp1eZx0Be", "id": 853650726039339008}]}, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [], "media": [{"indices": [97, 120], "media_url": "http://pbs.twimg.com/media/C9jGz__UQAApK5K.jpg", "expanded_url": "https://twitter.com/flleida/status/853650729218834433/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9jGz__UQAApK5K.jpg", "id_str": "853650726039339008", "url": "https://t.co/YLp1eZx0Be", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 680, "h": 382}, "medium": {"resize": "fit", "w": 1200, "h": 674}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 1600, "h": 898}}, "display_url": "pic.twitter.com/YLp1eZx0Be", "id": 853650726039339008}]}, "favorited": false, "source": "Hootsuite", "text": "Una cinquantena de lleidatans donant suport a l'equip a Barcelona! Entre tots ho aconseguirem!\ud83d\udc4f\ud83d\udcaa https://t.co/YLp1eZx0Be", "contributors": null, "coordinates": null, "retweeted": false, "id": 853650729218834433, "created_at": "Sun Apr 16 16:46:08 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 6, "in_reply_to_screen_name": null, "favorite_count": 12, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "id": 853659928514502656, "created_at": "Sun Apr 16 17:22:41 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 6, "in_reply_to_screen_name": null, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "Fot\u00f2graf, redactor, locutor i sumant. (\u00a9 Miquel de Santiago Fotografia)", "screen_name": "mdesantiago1", "id": 251831601, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme14/bg.gif", "default_profile_image": false, "following": false, "favourites_count": 864, "notifications": false, "listed_count": 15, "location": "Lleida", "profile_background_color": "000000", "has_extended_profile": true, "utc_offset": 7200, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 2148, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/830443341682704386/ZM_UUmT9_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": false, "friends_count": 1728, "profile_banner_url": "https://pbs.twimg.com/profile_banners/251831601/1487871888", "created_at": "Sun Feb 13 23:12:19 +0000 2011", "time_zone": "Madrid", "profile_sidebar_border_color": "000000"}, {"verified": false, "lang": "ar", "id_str": "1705823862", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 1087, "contributors_enabled": false, "name": "\u0633\u0647\u0627\u0645", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/502969347908722688/7Ym5nFs4_normal.jpeg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "ar", "id_str": "853712577259593728", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": []}, "favorited": false, "source": "alshbkanews", "text": "\u0648\u0645\u0636\u0629 \u0627\u0644\u0628\u0631\u0642 \u0627\u0644\u062e\u0627\u0637\u0641\u0629 \u062a\u0633\u062a\u063a\u0631\u0642 \u0645\u0646 \u0627\u0644\u0632\u0645\u0646 \u0648\u0627\u062d\u062f \u0639\u0644\u0649 \u0627\u0644\u0627\u0644\u0641 \u0645\u0646 \u0627\u0644\u062b\u0627\u0646\u064a\u0629.", "contributors": null, "coordinates": null, "retweeted": false, "id": 853712577259593728, "created_at": "Sun Apr 16 20:51:54 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "in_reply_to_status_id": null}, "description": "\u0631\u064e\u0628\u064a \u0623\u0633\u06af\u0628\u0652 \u0641\u0650\u064a \u062c\u0633\u064e\u062f \u0623\u064f\u0645\u0650\u064a \u0648\u0623\u064f\u0645\u0650\u0647\u0627\u062a \u0627\u0644\u0645\u064b\u0633\u0644\u0653\u0645\u064a\u0646\u064c . .\n \u0646\u064e\u0647\u0631\u0627\u064b \u0645\u0650\u0646\u0652 \u0627\u0644\u0631\u064e\u0627\u062d\u064e\u0629 \u064a\u064e\u0633\u0631\u064a \u0641\u0650\u064a \u0623\u0648\u0631\u062f\u062a\u0647\u064e\u0627 .", "screen_name": "sooos243", "id": 1705823862, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 423, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "C0DEED", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 1700, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/502969347908722688/7Ym5nFs4_normal.jpeg", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 1214, "protected": false, "created_at": "Tue Aug 27 23:38:01 +0000 2013", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "2989354778", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 23], "url": "https://t.co/B8rti14CSl", "expanded_url": "https://www.youtube.com/c/TheTrueVoice", "display_url": "youtube.com/c/TheTrueVoice"}]}, "description": {"urls": []}}, "followers_count": 38, "contributors_enabled": false, "name": "Isaac Due\u00f1as", "url": "https://t.co/B8rti14CSl", "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/749475752194682884/Cxd5NFeu_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "en", "id_str": "853408696889507840", "place": null, "extended_entities": {"media": [{"indices": [97, 120], "media_url": "http://pbs.twimg.com/media/C9fqrcWUQAA57nz.jpg", "expanded_url": "https://twitter.com/Thetruevoicetv/status/853408696889507840/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9fqrcWUQAA57nz.jpg", "id_str": "853408686475067392", "url": "https://t.co/H6hxsuRaEJ", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 510, "h": 680}, "medium": {"resize": "fit", "w": 900, "h": 1200}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 1536, "h": 2048}}, "display_url": "pic.twitter.com/H6hxsuRaEJ", "id": 853408686475067392}]}, "entities": {"symbols": [], "urls": [{"indices": [73, 96], "url": "https://t.co/SBS0zmhRXJ", "expanded_url": "https://www.youtube.com/c/TheTrueVoice", "display_url": "youtube.com/c/TheTrueVoice"}], "hashtags": [], "user_mentions": [], "media": [{"indices": [97, 120], "media_url": "http://pbs.twimg.com/media/C9fqrcWUQAA57nz.jpg", "expanded_url": "https://twitter.com/Thetruevoicetv/status/853408696889507840/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9fqrcWUQAA57nz.jpg", "id_str": "853408686475067392", "url": "https://t.co/H6hxsuRaEJ", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 510, "h": 680}, "medium": {"resize": "fit", "w": 900, "h": 1200}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 1536, "h": 2048}}, "display_url": "pic.twitter.com/H6hxsuRaEJ", "id": 853408686475067392}]}, "favorited": false, "source": "Twitter for Android", "text": "I have a soccer game in 1 hour! But sleeping feels so good sometimes! :) https://t.co/SBS0zmhRXJ https://t.co/H6hxsuRaEJ", "contributors": null, "coordinates": null, "retweeted": false, "id": 853408696889507840, "created_at": "Sun Apr 16 00:44:23 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "in_reply_to_screen_name": null, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "please subscribe to my Youtube channel :)", "screen_name": "Thetruevoicetv", "id": 2989354778, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 180, "notifications": false, "listed_count": 1, "location": "", "profile_background_color": "C0DEED", "has_extended_profile": true, "utc_offset": -21600, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 923, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/749475752194682884/Cxd5NFeu_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 5, "profile_banner_url": "https://pbs.twimg.com/profile_banners/2989354778/1477601617", "created_at": "Mon Jan 19 05:15:46 +0000 2015", "time_zone": "Mountain Time (US & Canada)", "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "852523540909875202", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 0, "contributors_enabled": false, "name": "\u0631\u064a\u0647\u0627\u0645 \u0645\u062d\u0645\u062f", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_image_url_https": null, "status": {"lang": "und", "id_str": "853715790994042880", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [45, 68], "url": "https://t.co/qQ1uYf2gZ7", "expanded_url": "http://aleman-news.com/373941.html", "display_url": "aleman-news.com/373941.html"}], "hashtags": [], "user_mentions": []}, "favorited": false, "source": "WordPress.com", "text": "\u0645\u0634\u0627\u0647\u062f\u0629 \u0641\u064a\u0644\u0645 Matru ki Bijlee ka Mandola\u00a0\u0645\u062a\u0631\u062c\u0645 https://t.co/qQ1uYf2gZ7", "contributors": null, "coordinates": null, "retweeted": false, "id": 853715790994042880, "created_at": "Sun Apr 16 21:04:40 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "NewsRany", "id": 852523540909875202, "profile_background_image_url": null, "default_profile_image": true, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 840, "geo_enabled": false, "profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 20, "protected": false, "created_at": "Thu Apr 13 14:07:06 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "852955536849022976", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 0, "contributors_enabled": false, "name": "\u0627\u0644\u0628\u062b \u0627\u0644\u0645\u0628\u0627\u0634\u0631", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "852958187200315392", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [62, 85], "url": "https://t.co/SbdLaLmHEH", "expanded_url": "https://plus.google.com/103795556080144846035/posts/UqPysC52pdT?_utm_source=199-1-1", "display_url": "plus.google.com/10379555608014\u2026"}], "hashtags": [{"indices": [28, 46], "text": "\u0627\u0644\u0627\u062a\u0640\u062d\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0647"}, {"indices": [88, 106], "text": "\u0627\u0644\u0627\u062a\u0640\u062d\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0647"}, {"indices": [107, 120], "text": "\u0641\u0640\u0648\u0627\u0632_\u0627\u0644\u0642\u0631\u0646\u064a"}], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "text": "\u0631\u0627\u0628\u0637 \u0628\u062b \u0645\u0628\u0627\u0634\u0631 \u0627\u0644\u0634\u0648\u0637 \u0627\u0644\u062b\u0627\u0646\u064a #\u0627\u0644\u0627\u062a\u0640\u062d\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0647 \u064a\u062f\u0639\u0645 \u0627\u0644\u062c\u0648\u0627\u0644 \n\n https://t.co/SbdLaLmHEH \n\n#\u0627\u0644\u0627\u062a\u0640\u062d\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0647\n#\u0641\u0640\u0648\u0627\u0632_\u0627\u0644\u0642\u0631\u0646\u064a", "contributors": null, "coordinates": null, "retweeted": false, "id": 852958187200315392, "created_at": "Fri Apr 14 18:54:13 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "gIzHHFQn3aHK4hd", "id": 852955536849022976, "profile_background_image_url": null, "default_profile_image": true, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 6, "geo_enabled": false, "profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 0, "protected": false, "created_at": "Fri Apr 14 18:43:41 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "42188329", "profile_link_color": "D02B55", "default_profile": false, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 23], "url": "https://t.co/kraEyzas8Y", "expanded_url": "http://about.me/vishalprash", "display_url": "about.me/vishalprash"}]}, "description": {"urls": []}}, "followers_count": 205, "contributors_enabled": false, "name": "Vishal Prasher", "url": "https://t.co/kraEyzas8Y", "profile_text_color": "3E4415", "profile_sidebar_fill_color": "99CC33", "profile_image_url": "http://pbs.twimg.com/profile_images/772669422699962368/qtejE79D_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme5/bg.gif", "status": {"lang": "en", "id_str": "851210323281362944", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [], "hashtags": [{"indices": [55, 66], "text": "TheMasters"}], "user_mentions": [{"name": "Michael Vaughan", "indices": [3, 18], "screen_name": "MichaelVaughan", "id": 97893963, "id_str": "97893963"}]}, "favorited": false, "source": "Twitter for iPhone", "text": "RT @MichaelVaughan: Give them a Green jacket each .... #TheMasters", "contributors": null, "coordinates": null, "retweeted": false, "retweeted_status": {"lang": "en", "id_str": "851207675325108232", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [], "hashtags": [{"indices": [35, 46], "text": "TheMasters"}], "user_mentions": []}, "favorited": false, "source": "Twitter for iPhone", "text": "Give them a Green jacket each .... #TheMasters", "contributors": null, "coordinates": null, "retweeted": false, "id": 851207675325108232, "created_at": "Sun Apr 09 22:58:19 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 93, "favorite_count": 490, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "in_reply_to_status_id": null}, "id": 851210323281362944, "created_at": "Sun Apr 09 23:08:50 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 93, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "in_reply_to_status_id": null}, "description": "Hustler. Cricket tragic.", "screen_name": "vishalprash", "id": 42188329, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme5/bg.gif", "default_profile_image": false, "following": false, "favourites_count": 602, "notifications": false, "listed_count": 11, "location": "Calgary, Canada eh?", "profile_background_color": "352726", "has_extended_profile": true, "utc_offset": -21600, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 3363, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/772669422699962368/qtejE79D_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 691, "profile_banner_url": "https://pbs.twimg.com/profile_banners/42188329/1473053768", "created_at": "Sun May 24 09:11:56 +0000 2009", "time_zone": "Mountain Time (US & Canada)", "profile_sidebar_border_color": "829D5E"}, {"verified": false, "lang": "en", "id_str": "2474387118", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 173, "contributors_enabled": false, "name": "Zayn Broad", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/635811712319356929/EGX6s1gj_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "en", "id_str": "776713788313702400", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [], "hashtags": [{"indices": [106, 110], "text": "ARY"}], "user_mentions": []}, "favorited": false, "source": "Twitter for Android", "text": "Fifty Shades of Grey is only romantic bcz the guy is a billionaire.If he was some pindi boy it would be a #ARY Criminal Most Wanted episode", "contributors": null, "coordinates": null, "retweeted": false, "id": 776713788313702400, "created_at": "Fri Sep 16 09:26:12 +0000 2016", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 6, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "in_reply_to_status_id": null}, "description": "Em Zayn | Cricket is My Drug | Hate Study | TeamIK | Kharachi | innocent | Instagram= zaynoo55 |", "screen_name": "Zaynoo55", "id": 2474387118, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 1102, "notifications": false, "listed_count": 2, "location": "Karachi, Pakistan", "profile_background_color": "C0DEED", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 2657, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/635811712319356929/EGX6s1gj_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 429, "profile_banner_url": "https://pbs.twimg.com/profile_banners/2474387118/1456298851", "created_at": "Fri May 02 18:31:53 +0000 2014", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "1216017344", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 1490, "contributors_enabled": false, "name": "\u0631\u0645\u0632\u064a \u062d\u0633\u064a\u0646", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/3302478743/9074b2848b8c417beb7b727adfb91306_normal.jpeg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "ar", "id_str": "853708808769609728", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [50, 73], "url": "https://t.co/mCjqHVBOlK", "expanded_url": "http://dlvr.it/NvZzLl", "display_url": "dlvr.it/NvZzLl"}], "hashtags": [], "user_mentions": []}, "favorited": false, "source": "dlvr.it", "text": "\u00ab\u0643\u0641\u0627\u0621\u0629\u00bb: \u0648\u0632\u0646 \u00ab\u0623\u0630\u0631\u0639\u0629 \u0627\u0644\u0645\u0631\u0643\u0628\u0627\u062a\u00bb \u064a\u0642\u0644\u0644 \u0627\u0633\u062a\u0647\u0644\u0627\u0643 \u0627\u0644\u0648\u0642\u0648\u062f https://t.co/mCjqHVBOlK", "contributors": null, "coordinates": null, "retweeted": false, "id": 853708808769609728, "created_at": "Sun Apr 16 20:36:55 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "\u0623\u0645\u064a\u0632 \u0627\u0644\u062a\u063a\u0631\u064a\u062f\u0627\u062a \u0627\u0644\u0631\u0627\u0642\u064a\u0629 \u0648\u0623\u0639\u064a\u062f \u062a\u063a\u0631\u064a\u062f\u0647\u0627", "screen_name": "mzi71", "id": 1216017344, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 5, "notifications": false, "listed_count": 19, "location": "\u0647\u0646\u0627 \u0641\u064a \u0645\u0643\u0627\u0646\u064a", "profile_background_color": "C0DEED", "has_extended_profile": false, "utc_offset": 10800, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 107039, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/3302478743/9074b2848b8c417beb7b727adfb91306_normal.jpeg", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 1406, "protected": false, "created_at": "Sun Feb 24 17:01:37 +0000 2013", "time_zone": "Baghdad", "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ru", "id_str": "566822774", "profile_link_color": "FF0000", "default_profile": false, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 290, "contributors_enabled": false, "name": "\u0410\u043d\u043d\u0430 \u0413\u043e\u0440\u043e\u0434\u043e\u0432\u0430", "url": null, "profile_text_color": "0C3E53", "profile_sidebar_fill_color": "FFF7CC", "profile_image_url": "http://pbs.twimg.com/profile_images/767281658789785600/7_FPTTd2_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme12/bg.gif", "status": {"lang": "und", "id_str": "853609587093536768", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [52, 75], "url": "https://t.co/EUGklluRNO", "expanded_url": "http://www.xmusic.kz/music/3-1-0-9080", "display_url": "xmusic.kz/music/3-1-0-90\u2026"}], "hashtags": [], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "text": "\u0421\u043a\u0430\u0447\u0430\u0442\u044c \u043f\u0435\u0441\u043d\u044e Xenia - Lost In Time (2017) \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e https://t.co/EUGklluRNO", "contributors": null, "coordinates": null, "retweeted": false, "id": 853609587093536768, "created_at": "Sun Apr 16 14:02:39 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "\u041f\u0443\u0441\u0442\u0430\u044f \u0436\u0438\u0437\u043d\u044c....., \u0431\u0435\u0437 \u043f\u0440\u043e\u0448\u043b\u043e\u0433\u043e, \u0431\u0443\u0434\u0443\u0449\u0435\u0433\u043e \u0438 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0433\u043e.......", "screen_name": "Gorodova1985", "id": 566822774, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme12/bg.gif", "default_profile_image": false, "following": false, "favourites_count": 76, "notifications": false, "listed_count": 9, "location": "\u041a\u043e\u043c\u0441\u043e\u043c\u043e\u043b\u044c\u0441\u043a-\u043d\u0430-\u0410\u043c\u0443\u0440\u0435", "profile_background_color": "BADFCD", "has_extended_profile": true, "utc_offset": 39600, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 28009, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/767281658789785600/7_FPTTd2_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 805, "profile_banner_url": "https://pbs.twimg.com/profile_banners/566822774/1471769271", "created_at": "Mon Apr 30 01:54:40 +0000 2012", "time_zone": "New Caledonia", "profile_sidebar_border_color": "F2E195"}, {"verified": false, "lang": "en", "id_str": "91767550", "profile_link_color": "E81C4F", "default_profile": false, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 1343, "contributors_enabled": false, "name": "Thota\ud83d\udeb2\ud83d\udeb2", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/853620258279641088/C4AW2ZjW_normal.jpg", "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/669570238745174016/E9_9qDav.jpg", "status": {"lang": "en", "id_str": "853694982875525120", "place": null, "in_reply_to_screen_name": "Rao_Gari_Abbayi", "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [{"name": "\ud83d\ude48\ud83d\ude49\ud83d\ude4a", "indices": [0, 16], "screen_name": "Rao_Gari_Abbayi", "id": 1958494316, "id_str": "1958494316"}]}, "favorited": false, "source": "Twitter for iPhone", "text": "@Rao_Gari_Abbayi They are just entertainers and valaki ground full unte chalu", "contributors": null, "coordinates": null, "retweeted": false, "id": 853694982875525120, "created_at": "Sun Apr 16 19:41:59 +0000 2017", "in_reply_to_user_id_str": "1958494316", "is_quote_status": false, "in_reply_to_user_id": 1958494316, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": "853694751882715136", "geo": null, "in_reply_to_status_id": 853694751882715136}, "description": "Tweets are personal , No personal abuse encouraged \ud83d\udc4d\ud83c\udffb", "screen_name": "thotas9999", "id": 91767550, "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/669570238745174016/E9_9qDav.jpg", "default_profile_image": false, "following": false, "favourites_count": 3084, "notifications": false, "listed_count": 37, "location": "", "profile_background_color": "89C9FA", "has_extended_profile": false, "utc_offset": -18000, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 47402, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/853620258279641088/C4AW2ZjW_normal.jpg", "profile_background_tile": true, "protected": false, "profile_use_background_image": true, "friends_count": 114, "profile_banner_url": "https://pbs.twimg.com/profile_banners/91767550/1491987124", "created_at": "Sun Nov 22 10:46:02 +0000 2009", "time_zone": "Central Time (US & Canada)", "profile_sidebar_border_color": "FFFFFF"}, {"verified": false, "lang": "en", "id_str": "960587984", "profile_link_color": "0084B4", "default_profile": false, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 477, "contributors_enabled": false, "name": "\u0627\u0644\u063a\u0631\u0627\u0621 \u0627\u0644 \u062c\u0631\u0628\u0627", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/2873810206/075ac1416e6746879978eed78f5c9a43_normal.jpeg", "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/716730224/8084ac881771835dd52ce9dc309cd0df.jpeg", "status": {"lang": "ar", "id_str": "853628303726571520", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [65, 88], "url": "https://t.co/6SMr3QO6Vp", "expanded_url": "https://goo.gl/c0gKAC", "display_url": "goo.gl/c0gKAC"}, {"indices": [95, 118], "url": "https://t.co/01lrwTnPpZ", "expanded_url": "https://twitter.com/i/web/status/853628303726571520", "display_url": "twitter.com/i/web/status/8\u2026"}], "hashtags": [], "user_mentions": []}, "favorited": false, "source": "TweetDeck", "text": "aloostoooraYouTube\n\u0628\u062b \u0645\u0628\u0627\u0634\u0631 \u0645\u0628\u0627\u0631\u0627\u0629 \u062a\u0634\u064a\u0644\u0633\u064a \u0648\u0645\u0627\u0646 \u064a\u0648\u0646\u0627\u064a\u062a\u062f \u0628\u062b \u0645\u0628\u0627\u0634\u0631\n\nhttps://t.co/6SMr3QO6Vp\n\n+++\u2026 https://t.co/01lrwTnPpZ", "contributors": null, "coordinates": null, "retweeted": false, "id": 853628303726571520, "created_at": "Sun Apr 16 15:17:01 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 82, "favorite_count": 83, "truncated": true, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "\u0637\u0627\u0644\u0628\u0647 \u0628\u0643\u0644\u064a\u0629 \u0627\u0644\u0647\u0646\u062f\u0633\u0647", "screen_name": "samiafox2", "id": 960587984, "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/716730224/8084ac881771835dd52ce9dc309cd0df.jpeg", "default_profile_image": false, "following": false, "favourites_count": 1622, "notifications": false, "listed_count": 0, "location": "\u0627\u0644\u0645\u0645\u0644\u0643\u0629 \u0627\u0644\u0623\u0631\u062f\u0646\u064a\u0629 \u0627\u0644\u0647\u0627\u0634\u0645\u064a\u0629", "profile_background_color": "C0DEED", "has_extended_profile": true, "utc_offset": -21600, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 1731, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/2873810206/075ac1416e6746879978eed78f5c9a43_normal.jpeg", "profile_background_tile": true, "protected": false, "profile_use_background_image": true, "friends_count": 898, "profile_banner_url": "https://pbs.twimg.com/profile_banners/960587984/1353422419", "created_at": "Tue Nov 20 14:37:48 +0000 2012", "time_zone": "Central America", "profile_sidebar_border_color": "000000"}, {"verified": false, "lang": "en", "id_str": "286659133", "profile_link_color": "DD2E44", "default_profile": false, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 1442, "contributors_enabled": false, "name": "Awais ali", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "EFEFEF", "profile_image_url": "http://pbs.twimg.com/profile_images/853598119111663616/NLxWL5y-_normal.jpg", "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/586369886089154560/0YHGlBx2.jpg", "status": {"lang": "en", "id_str": "853667793069371394", "place": null, "extended_entities": {"media": [{"indices": [54, 77], "media_url": "http://pbs.twimg.com/media/C9iyUDZW0AA6LYS.jpg", "expanded_url": "https://twitter.com/Nid_Naveed/status/853628559654617090/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9iyUDZW0AA6LYS.jpg", "id_str": "853628186965495808", "source_status_id_str": "853628559654617090", "type": "photo", "source_user_id": 3236135328, "source_status_id": 853628559654617090, "source_user_id_str": "3236135328", "url": "https://t.co/XRbbRW7iQe", "sizes": {"small": {"resize": "fit", "w": 598, "h": 295}, "medium": {"resize": "fit", "w": 598, "h": 295}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 598, "h": 295}}, "display_url": "pic.twitter.com/XRbbRW7iQe", "id": 853628186965495808}, {"indices": [54, 77], "media_url": "http://pbs.twimg.com/media/C9iyVrRWAAA_Jkk.jpg", "expanded_url": "https://twitter.com/Nid_Naveed/status/853628559654617090/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9iyVrRWAAA_Jkk.jpg", "id_str": "853628214849175552", "source_status_id_str": "853628559654617090", "type": "photo", "source_user_id": 3236135328, "source_status_id": 853628559654617090, "source_user_id_str": "3236135328", "url": "https://t.co/XRbbRW7iQe", "sizes": {"small": {"resize": "fit", "w": 601, "h": 291}, "medium": {"resize": "fit", "w": 601, "h": 291}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 601, "h": 291}}, "display_url": "pic.twitter.com/XRbbRW7iQe", "id": 853628214849175552}]}, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [{"name": "\u0646\u0648\u06cc\u062f \u0627\u0631\u0634\u062f", "indices": [3, 14], "screen_name": "Nid_Naveed", "id": 3236135328, "id_str": "3236135328"}], "media": [{"indices": [54, 77], "media_url": "http://pbs.twimg.com/media/C9iyUDZW0AA6LYS.jpg", "expanded_url": "https://twitter.com/Nid_Naveed/status/853628559654617090/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9iyUDZW0AA6LYS.jpg", "id_str": "853628186965495808", "source_status_id_str": "853628559654617090", "type": "photo", "source_user_id": 3236135328, "source_status_id": 853628559654617090, "source_user_id_str": "3236135328", "url": "https://t.co/XRbbRW7iQe", "sizes": {"small": {"resize": "fit", "w": 598, "h": 295}, "medium": {"resize": "fit", "w": 598, "h": 295}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 598, "h": 295}}, "display_url": "pic.twitter.com/XRbbRW7iQe", "id": 853628186965495808}]}, "favorited": false, "source": "Twitter for iPhone", "text": "RT @Nid_Naveed: Hahahahah never laughed this hard \ud83d\ude02\ud83d\ude02\ud83d\ude02 https://t.co/XRbbRW7iQe", "contributors": null, "coordinates": null, "retweeted": false, "retweeted_status": {"lang": "en", "id_str": "853628559654617090", "place": null, "extended_entities": {"media": [{"indices": [38, 61], "media_url": "http://pbs.twimg.com/media/C9iyUDZW0AA6LYS.jpg", "expanded_url": "https://twitter.com/Nid_Naveed/status/853628559654617090/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9iyUDZW0AA6LYS.jpg", "id_str": "853628186965495808", "url": "https://t.co/XRbbRW7iQe", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 598, "h": 295}, "medium": {"resize": "fit", "w": 598, "h": 295}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 598, "h": 295}}, "display_url": "pic.twitter.com/XRbbRW7iQe", "id": 853628186965495808}, {"indices": [38, 61], "media_url": "http://pbs.twimg.com/media/C9iyVrRWAAA_Jkk.jpg", "expanded_url": "https://twitter.com/Nid_Naveed/status/853628559654617090/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9iyVrRWAAA_Jkk.jpg", "id_str": "853628214849175552", "url": "https://t.co/XRbbRW7iQe", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 601, "h": 291}, "medium": {"resize": "fit", "w": 601, "h": 291}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 601, "h": 291}}, "display_url": "pic.twitter.com/XRbbRW7iQe", "id": 853628214849175552}]}, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [], "media": [{"indices": [38, 61], "media_url": "http://pbs.twimg.com/media/C9iyUDZW0AA6LYS.jpg", "expanded_url": "https://twitter.com/Nid_Naveed/status/853628559654617090/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9iyUDZW0AA6LYS.jpg", "id_str": "853628186965495808", "url": "https://t.co/XRbbRW7iQe", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 598, "h": 295}, "medium": {"resize": "fit", "w": 598, "h": 295}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 598, "h": 295}}, "display_url": "pic.twitter.com/XRbbRW7iQe", "id": 853628186965495808}]}, "favorited": false, "source": "Twitter Web Client", "text": "Hahahahah never laughed this hard \ud83d\ude02\ud83d\ude02\ud83d\ude02 https://t.co/XRbbRW7iQe", "contributors": null, "coordinates": null, "retweeted": false, "id": 853628559654617090, "created_at": "Sun Apr 16 15:18:02 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 243, "in_reply_to_screen_name": null, "favorite_count": 222, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "id": 853667793069371394, "created_at": "Sun Apr 16 17:53:56 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 243, "in_reply_to_screen_name": null, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "love the Way i aM sincerly iNsPired by Apna Kam bnTa Bhar mai Jaye jnta love #cricket movies and music bht hi acha bacha hu feel free to follow me !", "screen_name": "MRplanner1", "id": 286659133, "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/586369886089154560/0YHGlBx2.jpg", "default_profile_image": false, "following": false, "favourites_count": 3193, "notifications": false, "listed_count": 12, "location": "Lahore, Pakistan", "profile_background_color": "232526", "has_extended_profile": true, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 66531, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/853598119111663616/NLxWL5y-_normal.jpg", "profile_background_tile": true, "protected": false, "profile_use_background_image": true, "friends_count": 410, "profile_banner_url": "https://pbs.twimg.com/profile_banners/286659133/1492348681", "created_at": "Sat Apr 23 12:46:33 +0000 2011", "time_zone": null, "profile_sidebar_border_color": "000000"}, {"verified": false, "lang": "ar", "id_str": "2709738468", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 546, "contributors_enabled": false, "name": "\u0639\u0627\u0644\u0645 \u0627\u0644\u0633\u0639\u0648\u062f\u064a\u0629", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/851201376281669632/p4BEflNh_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "ar", "id_str": "853301909356236801", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "withheld_in_countries": ["XY"], "text": "This Tweet from @World_Saudi2013 has been withheld in response to a report from the copyright holder.", "contributors": null, "coordinates": null, "retweeted": false, "withheld_copyright": true, "id": 853301909356236801, "created_at": "Sat Apr 15 17:40:03 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "withheld_scope": "status", "favorite_count": 1, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "in_reply_to_status_id": null}, "description": "\u0627\u0644\u062e\u0627\u0635 \u0645\u0647\u0645\u0644", "screen_name": "World_Saudi2013", "id": 2709738468, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 69, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "C0DEED", "has_extended_profile": false, "utc_offset": -25200, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 331, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/851201376281669632/p4BEflNh_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 1082, "profile_banner_url": "https://pbs.twimg.com/profile_banners/2709738468/1491777224", "created_at": "Tue Aug 05 16:32:09 +0000 2014", "time_zone": "Pacific Time (US & Canada)", "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "1230702126", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 1246, "contributors_enabled": false, "name": "\u062e\u0648\u0627\u0637\u0631 \u0641\u0648\u0641\u0648", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/601583534302564352/q-17At83_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "ar", "id_str": "853318331612483586", "place": null, "extended_entities": {"media": [{"indices": [113, 136], "media_url": "http://pbs.twimg.com/media/C9eYc-ZXUAAOzIL.jpg", "expanded_url": "https://twitter.com/fofo_5033/status/853318331612483586/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9eYc-ZXUAAOzIL.jpg", "id_str": "853318277963141120", "url": "https://t.co/KXglSPxk23", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 246, "h": 205}, "medium": {"resize": "fit", "w": 246, "h": 205}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 246, "h": 205}}, "display_url": "pic.twitter.com/KXglSPxk23", "id": 853318277963141120}, {"indices": [113, 136], "media_url": "http://pbs.twimg.com/media/C9eYe1XW0AIxHx3.jpg", "expanded_url": "https://twitter.com/fofo_5033/status/853318331612483586/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9eYe1XW0AIxHx3.jpg", "id_str": "853318309898539010", "url": "https://t.co/KXglSPxk23", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 346, "h": 146}, "medium": {"resize": "fit", "w": 346, "h": 146}, "thumb": {"resize": "crop", "w": 146, "h": 146}, "large": {"resize": "fit", "w": 346, "h": 146}}, "display_url": "pic.twitter.com/KXglSPxk23", "id": 853318309898539010}, {"indices": [113, 136], "media_url": "http://pbs.twimg.com/media/C9eYe1aWAAAZt32.jpg", "expanded_url": "https://twitter.com/fofo_5033/status/853318331612483586/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9eYe1aWAAAZt32.jpg", "id_str": "853318309911068672", "url": "https://t.co/KXglSPxk23", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 264, "h": 191}, "medium": {"resize": "fit", "w": 264, "h": 191}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 264, "h": 191}}, "display_url": "pic.twitter.com/KXglSPxk23", "id": 853318309911068672}]}, "entities": {"symbols": [], "urls": [{"indices": [87, 110], "url": "https://t.co/U2YeY3TFQA", "expanded_url": "https://goo.gl/ncJ02p", "display_url": "goo.gl/ncJ02p"}], "hashtags": [{"indices": [18, 33], "text": "\u0627\u0644\u0647\u0644\u0627\u0644_\u0627\u0644\u0627\u0647\u064e\u0644\u064a"}, {"indices": [36, 51], "text": "\u0627\u0644\u0646\u0635\u0631_\u0627\u0644\u062a\u0639\u0627\u0648\u0650\u0646"}], "user_mentions": [], "media": [{"indices": [113, 136], "media_url": "http://pbs.twimg.com/media/C9eYc-ZXUAAOzIL.jpg", "expanded_url": "https://twitter.com/fofo_5033/status/853318331612483586/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9eYc-ZXUAAOzIL.jpg", "id_str": "853318277963141120", "url": "https://t.co/KXglSPxk23", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 246, "h": 205}, "medium": {"resize": "fit", "w": 246, "h": 205}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 246, "h": 205}}, "display_url": "pic.twitter.com/KXglSPxk23", "id": 853318277963141120}]}, "favorited": false, "source": "Twitter Web Client", "text": "\u0645\u0634\u0627\u0647\u062f\u0629 \u0627\u0641\u0636\u0644 \u0631\u0648\u0627\u0628\u0637 #\u0627\u0644\u0647\u0644\u0627\u0644_\u0627\u0644\u0627\u0647\u064e\u0644\u064a \u0648 #\u0627\u0644\u0646\u0635\u0631_\u0627\u0644\u062a\u0639\u0627\u0648\u0650\u0646 \u0627\u0644\u0634\u0648\u0637 \u0627\u0644\u062b\u0627\u0646\u064a \u062a\u0627\u0628\u0639 \u0644\u0627\u064a\u0641\n\n\u0634\u0627\u0647\u062f \u062d\u0635\u0631\u064a: https://t.co/U2YeY3TFQA\n. https://t.co/KXglSPxk23", "contributors": null, "coordinates": null, "retweeted": false, "id": 853318331612483586, "created_at": "Sat Apr 15 18:45:18 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 53, "in_reply_to_screen_name": null, "favorite_count": 55, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "\u0627\u0644\u062e\u0627\u0635 \u0645\u0645\u0646\u0648\u0639 \u0627\u0644\u0627 \u0644\u0636\u0631\u0648\u0631\u0647", "screen_name": "fofo_5033", "id": 1230702126, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 38, "notifications": false, "listed_count": 1, "location": "", "profile_background_color": "C0DEED", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 3718, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/601583534302564352/q-17At83_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 1733, "profile_banner_url": "https://pbs.twimg.com/profile_banners/1230702126/1407987712", "created_at": "Fri Mar 01 18:03:44 +0000 2013", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "830877552541650947", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 19, "contributors_enabled": false, "name": "\u0627\u0628\u0648 \u0628\u062f\u0631", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/830879950664237057/eEXWVyuS_normal.jpg", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "852959043274637312", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": []}, "favorited": false, "source": "Twitter for iPhone", "withheld_in_countries": ["XY"], "text": "This Tweet from @CaLPSOsLEwPcP1h has been withheld in response to a report from the copyright holder.", "contributors": null, "coordinates": null, "retweeted": false, "withheld_copyright": true, "id": 852959043274637312, "created_at": "Fri Apr 14 18:57:37 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "withheld_scope": "status", "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "in_reply_to_status_id": null}, "description": "", "screen_name": "CaLPSOsLEwPcP1h", "id": 830877552541650947, "profile_background_image_url": null, "default_profile_image": false, "following": false, "favourites_count": 2, "notifications": false, "listed_count": 0, "location": "\u0627\u0644\u062f\u0645\u0627\u0645, \u0627\u0644\u0645\u0645\u0644\u0643\u0629 \u0627\u0644\u0639\u0631\u0628\u064a\u0629 \u0627\u0644\u0633\u0639\u0648\u062f\u064a\u0629", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 18, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/830879950664237057/eEXWVyuS_normal.jpg", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 97, "protected": false, "created_at": "Sun Feb 12 20:33:40 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "829607762829139968", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 18, "contributors_enabled": false, "name": "king sport", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/829608147555860480/FZg6RT7E_normal.jpg", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "853688484036575232", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [101, 124], "url": "https://t.co/S8DdSE1PXr", "expanded_url": "https://twitter.com/i/web/status/853688484036575232", "display_url": "twitter.com/i/web/status/8\u2026"}], "hashtags": [{"indices": [25, 39], "text": "\u0627\u0644\u0627\u0647\u0644\u064a_\u0627\u0633\u0648\u0627\u0646\u0651"}, {"indices": [40, 54], "text": "\u0627\u0633\u0648\u0627\u0646_\u0627\u0644\u0627\u0647\u0644\u064a\u0651"}, {"indices": [55, 70], "text": "\u0627\u0644\u0627\u0647\u0644\u064a_\u0627\u0644\u0645\u0635\u0631\u064a\u0651"}, {"indices": [74, 89], "text": "\u0627\u0644\u062f\u0648\u0631\u064a_\u0627\u0644\u0645\u0635\u0631\u064a\u0651"}, {"indices": [92, 99], "text": "\u0627\u0633\u0648\u0627\u0646\u0651"}], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "text": "\u0628\u062b \u0628\u064a \u0627\u0648\u0646 \u0633\u0628\u0648\u0631\u062a\u0633\u0651\n\u0645\u0628\u0627\u0631\u0629\u0651 #\u0627\u0644\u0627\u0647\u0644\u064a_\u0627\u0633\u0648\u0627\u0646\u0651\n#\u0627\u0633\u0648\u0627\u0646_\u0627\u0644\u0627\u0647\u0644\u064a\u0651\n#\u0627\u0644\u0627\u0647\u0644\u064a_\u0627\u0644\u0645\u0635\u0631\u064a\u0651 \u0641\u064a #\u0627\u0644\u062f\u0648\u0631\u064a_\u0627\u0644\u0645\u0635\u0631\u064a\u0651 \u0648 #\u0627\u0633\u0648\u0627\u0646\u0651\u2026 https://t.co/S8DdSE1PXr", "contributors": null, "coordinates": null, "retweeted": false, "id": 853688484036575232, "created_at": "Sun Apr 16 19:16:10 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": true, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "all thing about sports \nretwwet", "screen_name": "KingHafimawesi", "id": 829607762829139968, "profile_background_image_url": null, "default_profile_image": false, "following": false, "favourites_count": 30, "notifications": false, "listed_count": 0, "location": "Israel", "profile_background_color": "F5F8FA", "has_extended_profile": true, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 90, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/829608147555860480/FZg6RT7E_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 152, "profile_banner_url": "https://pbs.twimg.com/profile_banners/829607762829139968/1486629095", "created_at": "Thu Feb 09 08:27:58 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "81387101", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 1767, "contributors_enabled": false, "name": "nitin dhanuka", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/835182332113977344/a28UtaKN_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "en", "id_str": "853673752978223104", "place": null, "in_reply_to_screen_name": "pat_1978", "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [{"name": "Patrick Sigqwagqwa", "indices": [0, 9], "screen_name": "pat_1978", "id": 2379014259, "id_str": "2379014259"}]}, "favorited": false, "source": "Twitter for iPhone", "text": "@pat_1978 Yes we have to puncture their balloon .. need belief in the squad that's its just a setback , nothing more ..", "contributors": null, "coordinates": null, "retweeted": false, "id": 853673752978223104, "created_at": "Sun Apr 16 18:17:37 +0000 2017", "in_reply_to_user_id_str": "2379014259", "is_quote_status": false, "in_reply_to_user_id": 2379014259, "retweet_count": 1, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": "853673500363677697", "geo": null, "in_reply_to_status_id": 853673500363677697}, "description": "Member of Chelsea fc ..one life .. one club .. one passion .. chelsea fc .. ! Forever in love with Chelsea !!", "screen_name": "nitindhanuka", "id": 81387101, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 855, "notifications": false, "listed_count": 13, "location": "india ", "profile_background_color": "C0DEED", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 16562, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/835182332113977344/a28UtaKN_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 1727, "profile_banner_url": "https://pbs.twimg.com/profile_banners/81387101/1487958078", "created_at": "Sat Oct 10 16:15:26 +0000 2009", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "1894231459", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 174, "contributors_enabled": false, "name": "so6an_999", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/378800000734965956/d48be193e228a485c4219f4738c425d7_normal.jpeg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "ar", "id_str": "853330862531915776", "place": null, "extended_entities": {"media": [{"indices": [110, 133], "media_url": "http://pbs.twimg.com/media/C9ej44uWAAAkVVU.jpg", "expanded_url": "https://twitter.com/so6an_999/status/853330862531915776/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9ej44uWAAAkVVU.jpg", "id_str": "853330852104765440", "url": "https://t.co/X9F1VN0Sm4", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 225, "h": 225}, "medium": {"resize": "fit", "w": 225, "h": 225}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 225, "h": 225}}, "display_url": "pic.twitter.com/X9F1VN0Sm4", "id": 853330852104765440}]}, "entities": {"symbols": [], "urls": [{"indices": [84, 107], "url": "https://t.co/8V1tDW8eAY", "expanded_url": "https://goo.gl/m3CbiM", "display_url": "goo.gl/m3CbiM"}], "hashtags": [{"indices": [7, 22], "text": "\u0627\u0644\u0647\u0644\u0627\u0644_\u0627\u0644\u0627\u0647\u064e\u0644\u064a"}, {"indices": [25, 40], "text": "\u0627\u0644\u0646\u0635\u0631_\u0627\u0644\u062a\u0639\u0627\u0648\u0650\u0646"}], "user_mentions": [], "media": [{"indices": [110, 133], "media_url": "http://pbs.twimg.com/media/C9ej44uWAAAkVVU.jpg", "expanded_url": "https://twitter.com/so6an_999/status/853330862531915776/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9ej44uWAAAkVVU.jpg", "id_str": "853330852104765440", "url": "https://t.co/X9F1VN0Sm4", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 225, "h": 225}, "medium": {"resize": "fit", "w": 225, "h": 225}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 225, "h": 225}}, "display_url": "pic.twitter.com/X9F1VN0Sm4", "id": 853330852104765440}]}, "favorited": false, "source": "Twitter Web Client", "text": "\u0645\u0634\u0627\u0647\u062f\u0629 #\u0627\u0644\u0647\u0644\u0627\u0644_\u0627\u0644\u0627\u0647\u064e\u0644\u064a \u0648 #\u0627\u0644\u0646\u0635\u0631_\u0627\u0644\u062a\u0639\u0627\u0648\u0650\u0646 \u0627\u0644\u0634\u0648\u0637 \u0627\u0644\u062b\u0627\u0646\u064a \u0631\u0627\u0628\u0637 \u0628\u062b \u0645\u0628\u0627\u0634\u0631\n\n\u0634\u0627\u0647\u062f \u062d\u0635\u0631\u064a \u0647\u0646\u0627: https://t.co/8V1tDW8eAY\n. https://t.co/X9F1VN0Sm4", "contributors": null, "coordinates": null, "retweeted": false, "id": 853330862531915776, "created_at": "Sat Apr 15 19:35:06 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 52, "in_reply_to_screen_name": null, "favorite_count": 86, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "so6an_999", "id": 1894231459, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 1, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "C0DEED", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 95, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000734965956/d48be193e228a485c4219f4738c425d7_normal.jpeg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 569, "profile_banner_url": "https://pbs.twimg.com/profile_banners/1894231459/1384353363", "created_at": "Sun Sep 22 15:54:23 +0000 2013", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "578065467", "profile_link_color": "0084B4", "default_profile": false, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 1879, "contributors_enabled": false, "name": "\u200f\u0645\u0640\u0627\u062c\u0640\u0640\u062f \u0627\u0644\u0640\u0634\u0640\u0640\u064a\u0640\u062e\u0640\u064a", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/840979371053764608/eucvHMIZ_normal.jpg", "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/550371359/______________-_______.jpg", "status": {"lang": "ar", "id_str": "853713978379444225", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [], "hashtags": [{"indices": [15, 25], "text": "\u0641\u064a\u0646_\u0627\u0644\u0634\u064a\u0643"}], "user_mentions": [{"name": "\u0634\u064a\u0628\u0648", "indices": [3, 13], "screen_name": "ehmoode83", "id": 2683156627, "id_str": "2683156627"}]}, "favorited": false, "source": "Twitter for Android", "text": "RT @ehmoode83: #\u0641\u064a\u0646_\u0627\u0644\u0634\u064a\u0643\n.\u0627\u0635\u0639\u0628 \u0633\u0624\u0627\u0644.\u0648\u0644\u0627\u064a\u0648\u062c\u062f \u0637\u0627\u0644\u0628 \u0634\u0627\u0637\u0631 \u0641\u064a \u0627\u062f\u0627\u0631\u0629 \u0628\u0627\u0639\u0634\u0646 \u0645\u0645\u0643\u0646 \u064a\u062c\u0627\u0648\u0628 \u0639\u0644\u064a\u0647.\u062d\u062a\u0649 \u0628\u0627\u0639\u0634\u0646 \u0646\u0641\u0633\u0647.\u0648\u0644\u0627 \u0637\u0644\u0627\u0628 \u0627\u0644\u0644\u064a\u0644\u064a \u0648\u0627\u0644\u0645\u0646\u0627\u0632\u0644 \u0645\u0646 \u0627\u0639\u0644\u0627\u0645 \u0628\u0627\u0639\u0634\u2026", "contributors": null, "coordinates": null, "retweeted": false, "retweeted_status": {"lang": "ar", "id_str": "853657909707845632", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [], "hashtags": [{"indices": [0, 10], "text": "\u0641\u064a\u0646_\u0627\u0644\u0634\u064a\u0643"}], "user_mentions": []}, "favorited": false, "source": "Twitter for Android", "text": "#\u0641\u064a\u0646_\u0627\u0644\u0634\u064a\u0643\n.\u0627\u0635\u0639\u0628 \u0633\u0624\u0627\u0644.\u0648\u0644\u0627\u064a\u0648\u062c\u062f \u0637\u0627\u0644\u0628 \u0634\u0627\u0637\u0631 \u0641\u064a \u0627\u062f\u0627\u0631\u0629 \u0628\u0627\u0639\u0634\u0646 \u0645\u0645\u0643\u0646 \u064a\u062c\u0627\u0648\u0628 \u0639\u0644\u064a\u0647.\u062d\u062a\u0649 \u0628\u0627\u0639\u0634\u0646 \u0646\u0641\u0633\u0647.\u0648\u0644\u0627 \u0637\u0644\u0627\u0628 \u0627\u0644\u0644\u064a\u0644\u064a \u0648\u0627\u0644\u0645\u0646\u0627\u0632\u0644 \u0645\u0646 \u0627\u0639\u0644\u0627\u0645 \u0628\u0627\u0639\u0634\u0646.\u0631\u0633\u0648\u0628 \u062c\u0645\u0627\u0639\u064a.", "contributors": null, "coordinates": null, "retweeted": false, "id": 853657909707845632, "created_at": "Sun Apr 16 17:14:40 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 4, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "in_reply_to_status_id": null}, "id": 853713978379444225, "created_at": "Sun Apr 16 20:57:28 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 4, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "in_reply_to_status_id": null}, "description": "\u2014\u3030\u200f\u200f\u200f\u200f\u200f \u200f\u200f\u200f\u200f\u200f\u200f\u200f\u200f\u200f\u200f\u200f\u200f\u200f \u200f\u200f\u200f\u200f\u200f\u200f\u200f\u200f\u200f\u200f\u200f\u200f\u200f\u200f\u200f\u200f\u200f\u200f\u200f#\u0627\u0644\u0644\u0647_\u0627\u0644\u0644\u064a_\u0639\u0632\u0651\u0646\u0627_\u0645\u0627_\u0644\u064e\u062d\u062f_\u0645\u0650\u0646\u0651\u0647 \u3030\u2014\n@ittihad\n\u3030\u0646\u0627\u062f\u064a #\u0627\u0644\u0627\u062a\u062d\u0627\u062f \u0627\u0644\u0639\u0631\u0628\u064a \u0627\u0644\u0633\u0639\u0648\u062f\u064a\u3030\n#\u0639\u0645\u064a\u062f_\u0623\u0646\u062f\u064a\u0629_\u0627\u0644\u062c\u0632\u064a\u0631\u0629_\u0627\u0644\u0639\u0631\u0628\u064a\u0629\n#\u062c\u062f\u0629_\u063a\u0635\u0628_\u0625\u062a\u064a_\u0648\u0628\u062d\u0631", "screen_name": "M_abu_husam", "id": 578065467, "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/550371359/______________-_______.jpg", "default_profile_image": false, "following": false, "favourites_count": 8262, "notifications": false, "listed_count": 17, "location": "\u200f\u200f\u21ad\u200f/\u2026\u062c\u0640\u062f\u0629\ufe4f\u063a\u0640\u0635\u0628\u2026\u0625\u062a\u0640\u064a\ufe4f\u0648\u0628\u0640\u062d\u0640\u0631\u2026\\\u21ad", "profile_background_color": "022330", "has_extended_profile": true, "utc_offset": -36000, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 31144, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/840979371053764608/eucvHMIZ_normal.jpg", "profile_background_tile": true, "protected": false, "profile_use_background_image": true, "friends_count": 1555, "profile_banner_url": "https://pbs.twimg.com/profile_banners/578065467/1454480398", "created_at": "Sat May 12 11:46:28 +0000 2012", "time_zone": "Hawaii", "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "61503886", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 122, "contributors_enabled": false, "name": "sachin bansode", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/812416523755290624/oo0bla5H_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "en", "id_str": "853347287195463680", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [102, 125], "url": "https://t.co/ChUSe9YidX", "expanded_url": "http://www.storypick.com/bandra-girl-memes/", "display_url": "storypick.com/bandra-girl-me\u2026"}], "hashtags": [], "user_mentions": [{"name": "Bhayanak Puppy", "indices": [3, 17], "screen_name": "BhayanakPuppy", "id": 2376827797, "id_str": "2376827797"}, {"name": "StoryPick", "indices": [28, 40], "screen_name": "StoryPicker", "id": 2237652775, "id_str": "2237652775"}]}, "favorited": false, "source": "Twitter for Android", "text": "RT @BhayanakPuppy: Although @StoryPicker missed the best ones, but I take full responsibility for it. https://t.co/ChUSe9YidX", "contributors": null, "coordinates": null, "retweeted": false, "retweeted_status": {"lang": "en", "id_str": "853147945478217728", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [83, 106], "url": "https://t.co/ChUSe9YidX", "expanded_url": "http://www.storypick.com/bandra-girl-memes/", "display_url": "storypick.com/bandra-girl-me\u2026"}], "hashtags": [], "user_mentions": [{"name": "StoryPick", "indices": [9, 21], "screen_name": "StoryPicker", "id": 2237652775, "id_str": "2237652775"}]}, "favorited": false, "source": "Twitter for Android", "text": "Although @StoryPicker missed the best ones, but I take full responsibility for it. https://t.co/ChUSe9YidX", "contributors": null, "coordinates": null, "retweeted": false, "id": 853147945478217728, "created_at": "Sat Apr 15 07:28:15 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 8, "favorite_count": 16, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "id": 853347287195463680, "created_at": "Sat Apr 15 20:40:22 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 8, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "good for nothing..useless. was used once, long long ago as a bad example", "screen_name": "sachin_6600", "id": 61503886, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 58, "notifications": false, "listed_count": 1, "location": "", "profile_background_color": "C0DEED", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 475, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/812416523755290624/oo0bla5H_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 158, "profile_banner_url": "https://pbs.twimg.com/profile_banners/61503886/1482530166", "created_at": "Thu Jul 30 14:40:47 +0000 2009", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "pt", "id_str": "2606162693", "profile_link_color": "FA743E", "default_profile": false, "is_translation_enabled": false, "entities": {"description": {"urls": [{"indices": [122, 145], "url": "https://t.co/69K2paaLR4", "expanded_url": "http://Instagram.com/mcosta213", "display_url": "Instagram.com/mcosta213"}]}}, "followers_count": 3971, "contributors_enabled": false, "name": "Marcelo Costa \u2721\ufe0f\ud83c\udf1e\ud83c\udfc6", "url": null, "profile_text_color": "000000", "profile_sidebar_fill_color": "000000", "profile_image_url": "http://pbs.twimg.com/profile_images/832787134117326849/VgYWA_Kl_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme5/bg.gif", "status": {"lang": "pt", "id_str": "853706221551054848", "place": null, "extended_entities": {"media": [{"indices": [28, 51], "media_url": "http://pbs.twimg.com/ext_tw_video_thumb/853704672758181889/pu/img/QS_YEdnk19Yxm-TX.jpg", "expanded_url": "https://twitter.com/chavesmarcos/status/853704888211181568/video/1", "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/853704672758181889/pu/img/QS_YEdnk19Yxm-TX.jpg", "id_str": "853704672758181889", "source_status_id_str": "853704888211181568", "type": "video", "additional_media_info": {"monetizable": false}, "source_user_id": 57728655, "source_status_id": 853704888211181568, "source_user_id_str": "57728655", "video_info": {"variants": [{"url": "https://video.twimg.com/ext_tw_video/853704672758181889/pu/vid/640x360/zLItFvOBxsBdc67q.mp4", "content_type": "video/mp4", "bitrate": 832000}, {"url": "https://video.twimg.com/ext_tw_video/853704672758181889/pu/vid/1280x720/Mben41IP13oRDRY5.mp4", "content_type": "video/mp4", "bitrate": 2176000}, {"url": "https://video.twimg.com/ext_tw_video/853704672758181889/pu/vid/320x180/RIgqccWWx5w0qU6J.mp4", "content_type": "video/mp4", "bitrate": 320000}, {"url": "https://video.twimg.com/ext_tw_video/853704672758181889/pu/pl/SZEVRbfTKWqfUMxN.m3u8", "content_type": "application/x-mpegURL"}], "aspect_ratio": [16, 9], "duration_millis": 7508}, "url": "https://t.co/SFlwhh2Hra", "sizes": {"small": {"resize": "fit", "w": 340, "h": 191}, "medium": {"resize": "fit", "w": 600, "h": 338}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 1024, "h": 576}}, "display_url": "pic.twitter.com/SFlwhh2Hra", "id": 853704672758181889}]}, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [], "media": [{"indices": [28, 51], "media_url": "http://pbs.twimg.com/ext_tw_video_thumb/853704672758181889/pu/img/QS_YEdnk19Yxm-TX.jpg", "expanded_url": "https://twitter.com/chavesmarcos/status/853704888211181568/video/1", "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/853704672758181889/pu/img/QS_YEdnk19Yxm-TX.jpg", "id_str": "853704672758181889", "source_status_id_str": "853704888211181568", "type": "photo", "source_user_id": 57728655, "source_status_id": 853704888211181568, "source_user_id_str": "57728655", "url": "https://t.co/SFlwhh2Hra", "sizes": {"small": {"resize": "fit", "w": 340, "h": 191}, "medium": {"resize": "fit", "w": 600, "h": 338}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 1024, "h": 576}}, "display_url": "pic.twitter.com/SFlwhh2Hra", "id": 853704672758181889}]}, "favorited": false, "source": "Twitter for Android", "text": "Palavras do Felipe Melo... \nhttps://t.co/SFlwhh2Hra", "contributors": null, "coordinates": null, "retweeted": false, "id": 853706221551054848, "created_at": "Sun Apr 16 20:26:38 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "in_reply_to_screen_name": null, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "\ud83d\udc26\ud83d\udc24SEMPRE SDV! SEMPRE \ud83d\udc4d \ud83d\udcadNada melhor que um dia ap\u00f3s o outro!!!\n \n\ud83c\udde7\ud83c\uddf7\u2764\ufe0f\ud83d\ude1b\ud83d\udd4a\ufe0f\n\n\n\n \ud83d\udc26\ud83d\ude32\ud83d\udc24\n\n\n\ud83d\udd17https://t.co/69K2paaLR4", "screen_name": "marceloroger435", "id": 2606162693, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme5/bg.gif", "default_profile_image": false, "following": false, "favourites_count": 72, "notifications": false, "listed_count": 3, "location": "Guarulhos, Brasil", "profile_background_color": "000000", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 9144, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/832787134117326849/VgYWA_Kl_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": false, "friends_count": 4591, "profile_banner_url": "https://pbs.twimg.com/profile_banners/2606162693/1492181373", "created_at": "Fri Jun 13 12:05:43 +0000 2014", "time_zone": null, "profile_sidebar_border_color": "000000"}, {"verified": false, "lang": "ar", "id_str": "852961627884449792", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 0, "contributors_enabled": false, "name": "\u0627\u0645\u064a\u0631\u0629 \u0628\u0644\u0627\u062f\u064a", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "852962953934639105", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [64, 87], "url": "https://t.co/bMEndvb0tG", "expanded_url": "http://ow.ly/WS8x30aRFje", "display_url": "ow.ly/WS8x30aRFje"}], "hashtags": [{"indices": [34, 53], "text": "\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0648\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629"}, {"indices": [89, 108], "text": "\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0648\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629"}], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "text": "\u0634\u0627\u0647\u062f */*/* \u0627\u0633\u0631\u0639 \u0648\u0627\u062c\u062f\u062f \u0631\u0627\u0628\u0637 \u0645\u0628\u0627\u0631\u0627\u0629 #\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0648\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629 \u0628\u062b \u0645\u0628\u0627\u0634\u0631\n\nhttps://t.co/bMEndvb0tG\n\n#\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0648\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629", "contributors": null, "coordinates": null, "retweeted": false, "id": 852962953934639105, "created_at": "Fri Apr 14 19:13:10 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "alnah65484hy", "id": 852961627884449792, "profile_background_image_url": null, "default_profile_image": true, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 6, "geo_enabled": false, "profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 0, "protected": false, "created_at": "Fri Apr 14 19:07:54 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "2740634292", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 177, "contributors_enabled": false, "name": "waseem Aziz", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/751510555173748737/cCZq95V9_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "en", "id_str": "853714185888378880", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [{"name": "laila Khan", "indices": [3, 12], "screen_name": "iHiJabae", "id": 2344664051, "id_str": "2344664051"}]}, "favorited": false, "source": "Twitter for iPhone", "text": "RT @iHiJabae: What we can see is tht 5 Palestinian children holding the Palestn flag in their house tht was raided by Israeli forces in Heb\u2026", "contributors": null, "coordinates": null, "retweeted": false, "retweeted_status": {"lang": "en", "id_str": "853678985057886209", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [117, 140], "url": "https://t.co/eDhzWHzYJO", "expanded_url": "https://twitter.com/i/web/status/853678985057886209", "display_url": "twitter.com/i/web/status/8\u2026"}], "hashtags": [], "user_mentions": []}, "favorited": false, "source": "Twitter for Android", "text": "What we can see is tht 5 Palestinian children holding the Palestn flag in their house tht was raided by Israeli for\u2026 https://t.co/eDhzWHzYJO", "contributors": null, "coordinates": null, "retweeted": false, "id": 853678985057886209, "created_at": "Sun Apr 16 18:38:25 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 50, "favorite_count": 76, "truncated": true, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "id": 853714185888378880, "created_at": "Sun Apr 16 20:58:17 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 50, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "in_reply_to_status_id": null}, "description": "", "screen_name": "wa5imm", "id": 2740634292, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 8386, "notifications": false, "listed_count": 79, "location": "frankfurt. Germany", "profile_background_color": "C0DEED", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 26237, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/751510555173748737/cCZq95V9_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 183, "profile_banner_url": "https://pbs.twimg.com/profile_banners/2740634292/1468008918", "created_at": "Sun Aug 17 22:36:23 +0000 2014", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "852942402285338624", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 0, "contributors_enabled": false, "name": "\u0627\u0645\u064a\u0631\u0629 \u0627\u0644\u062d\u0644\u0628\u064a", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "852943775366295552", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [52, 75], "url": "https://t.co/DqFkc6AJa5", "expanded_url": "http://ow.ly/BELz30aRFwa", "display_url": "ow.ly/BELz30aRFwa"}], "hashtags": [{"indices": [22, 41], "text": "\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0648\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629"}, {"indices": [78, 97], "text": "\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0648\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629"}], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "text": "\u0634\u0627\u0647\u062f \u0627\u0642\u0648\u0649 \u0631\u0627\u0628\u0637 \u0645\u0628\u0627\u0631\u0627\u0629 #\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0648\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629 \u0628\u062b \u0645\u0628\u0627\u0634\u0631\n\nhttps://t.co/DqFkc6AJa5\n\n #\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0648\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629", "contributors": null, "coordinates": null, "retweeted": false, "id": 852943775366295552, "created_at": "Fri Apr 14 17:56:57 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "5845hy", "id": 852942402285338624, "profile_background_image_url": null, "default_profile_image": true, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 6, "geo_enabled": false, "profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 0, "protected": false, "created_at": "Fri Apr 14 17:51:30 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "779739105026539520", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 3769, "contributors_enabled": false, "name": "\u0628\u062b \u0645\u0628\u0627\u0634\u0631 \u0644\u0644\u0645\u0628\u0627\u0631\u064a\u0627\u062a", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/815635381701976064/AmUPoL-c_normal.jpg", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "853656070098694144", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [82, 105], "url": "https://t.co/j2kPvr198B", "expanded_url": "https://youtu.be/EEhKxx2LLNU", "display_url": "youtu.be/EEhKxx2LLNU"}], "hashtags": [{"indices": [0, 23], "text": "\u0645\u0627\u0646\u0634\u0633\u062a\u0631_\u064a\u0648\u0646\u0627\u064a\u062a\u062f_\u062a\u0634\u064a\u0644\u0633\u064a"}], "user_mentions": []}, "favorited": false, "source": "Twitter for Android", "text": "#\u0645\u0627\u0646\u0634\u0633\u062a\u0631_\u064a\u0648\u0646\u0627\u064a\u062a\u062f_\u062a\u0634\u064a\u0644\u0633\u064a\n\n\u0646\u0647\u0627\u0627\u0627\u064a\u0647 \u0627\u0644\u0645\u0628\u0627\u0631\u0627\u0629 \n\n\u0627\u0644\u064a\u0648\u0646\u0627\u064a\u062a\u062f 2\n\n\u062a\u0634\u0644\u0633\u064a 0\n\n\u0631\u0627\u0628\u0637 \u064a\u0648\u062a\u064a\u0648\u0628 HD \nhttps://t.co/j2kPvr198B", "contributors": null, "coordinates": null, "retweeted": false, "id": 853656070098694144, "created_at": "Sun Apr 16 17:07:21 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 2, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "\u200f\u200f\u200f\u200f\u200f\u200f\u0634\u0627\u0647\u062f \u062c\u0645\u064a\u0639 \u0627\u0644\u0645\u0628\u0627\u0631\u064a\u0627\u062a \u0628\u0631\u0627\u0628\u0637 \u0645\u0628\u0627\u0634\u0631 \u0628\u062f\u0648\u0646 \u0625\u0639\u0644\u0627\u0646\u0627\u062a \u2764", "screen_name": "live7sport77", "id": 779739105026539520, "profile_background_image_url": null, "default_profile_image": false, "following": false, "favourites_count": 95, "notifications": false, "listed_count": 15, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": 10800, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 1736, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/815635381701976064/AmUPoL-c_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 28, "profile_banner_url": "https://pbs.twimg.com/profile_banners/779739105026539520/1476551839", "created_at": "Sat Sep 24 17:47:44 +0000 2016", "time_zone": "Riyadh", "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "597611738", "profile_link_color": "2FC2EF", "default_profile": false, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 9293, "contributors_enabled": false, "name": "MNA", "url": null, "profile_text_color": "666666", "profile_sidebar_fill_color": "252429", "profile_image_url": "http://pbs.twimg.com/profile_images/848286323156938756/YpK41QzS_normal.jpg", "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/536110651676958720/EwXAHMqU.jpeg", "status": {"lang": "en", "id_str": "853715392417718278", "place": {"place_type": "admin", "url": "https://api.twitter.com/1.1/geo/id/001907e868d06e24.json", "contained_within": [], "name": "Dubai", "country": "United Arab Emirates", "attributes": {}, "country_code": "AE", "full_name": "Dubai, United Arab Emirates", "id": "001907e868d06e24", "bounding_box": {"type": "Polygon", "coordinates": [[[54.8939725, 24.6182526], [56.2083722, 24.6182526], [56.2083722, 25.3686719], [54.8939725, 25.3686719]]]}}, "in_reply_to_screen_name": "nadeemmalik", "entities": {"symbols": [], "urls": [{"indices": [121, 144], "url": "https://t.co/5GcBN05cJx", "expanded_url": "https://twitter.com/i/web/status/853715392417718278", "display_url": "twitter.com/i/web/status/8\u2026"}], "hashtags": [], "user_mentions": [{"name": "Nadeem Malik", "indices": [0, 12], "screen_name": "nadeemmalik", "id": 39927901, "id_str": "39927901"}]}, "favorited": false, "source": "Twitter for Android", "text": "@nadeemmalik most expensive in Pak & substandard Equipment being used in QA Solar power plant ,14.45 PKR by Chinese\u2026 https://t.co/5GcBN05cJx", "contributors": null, "coordinates": null, "retweeted": false, "id": 853715392417718278, "created_at": "Sun Apr 16 21:03:05 +0000 2017", "in_reply_to_user_id_str": "39927901", "is_quote_status": false, "in_reply_to_user_id": 39927901, "retweet_count": 1, "favorite_count": 0, "truncated": true, "in_reply_to_status_id_str": "853699742374567937", "geo": null, "in_reply_to_status_id": 853699742374567937}, "description": "Communication Engineer /#PTI, Extreme Insafian , Anti Mullah , Politics, Poetry", "screen_name": "Engr_Naveed111", "id": 597611738, "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/536110651676958720/EwXAHMqU.jpeg", "default_profile_image": false, "following": false, "favourites_count": 151081, "notifications": false, "listed_count": 51, "location": "Dubai, United Arab Emirates", "profile_background_color": "1A1B1F", "has_extended_profile": true, "utc_offset": null, "translator_type": "regular", "is_translator": false, "follow_request_sent": false, "statuses_count": 108773, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/848286323156938756/YpK41QzS_normal.jpg", "profile_background_tile": true, "protected": false, "profile_use_background_image": true, "friends_count": 2634, "profile_banner_url": "https://pbs.twimg.com/profile_banners/597611738/1478282852", "created_at": "Sat Jun 02 17:56:45 +0000 2012", "time_zone": null, "profile_sidebar_border_color": "FFFFFF"}, {"verified": false, "lang": "fr", "id_str": "852574026966892545", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 23], "url": "https://t.co/yJCuUOBUn6", "expanded_url": "http://www.beinmatch.com", "display_url": "beinmatch.com"}]}, "description": {"urls": []}}, "followers_count": 223, "contributors_enabled": false, "name": "\u0628\u062b \u0645\u0628\u0627\u0634\u0631 \u0644\u062f\u0648\u0631\u064a \u062c\u0645\u064a\u0644", "url": "https://t.co/yJCuUOBUn6", "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/852577427406692358/Qk1dSzkm_normal.jpg", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "853336608417996800", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "text": "\u0627\u062a\u0645\u0646\u0649 \u0627\u0646 \u0627\u0643\u0648\u0646 \u0642\u062f \u0648\u0641\u0642\u062a \u0641\u064a \u0646\u0642\u0644 \u0645\u0628\u0627\u0631\u064a\u0627\u062a \u0627\u0644\u064a\u0648\u0645 \u263a\ufe0f\u263a\ufe0f", "contributors": null, "coordinates": null, "retweeted": false, "id": 853336608417996800, "created_at": "Sat Apr 15 19:57:56 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "in_reply_to_status_id": null}, "description": "\u062d\u0633\u0627\u0628\u0646\u0627 \u0644\u0628\u062b \u062f\u0648\u0631\u064a \u062c\u0645\u064a\u0644 \u0627\u0644\u0633\u0639\u0648\u062f\u064a \u0644\u0644\u0645\u062d\u062a\u0631\u0641\u064a\u0646 \u0628\u062c\u0648\u062f\u0629 \u0639\u0627\u0644\u064a\u0629 , \u0648 \u062a\u0641\u0627\u0639\u0644 \u0645\u0639\u0643\u0645 , \u0646\u062d\u0646 \u0644\u0633\u0646\u0627 \u0643\u0628\u0627\u0642\u0649 \u0627\u0644\u062d\u0633\u0627\u0628\u0627\u062a \u0646\u062d\u0646 \u0625\u062e\u0648\u0629 , \u0645\u0631\u062d\u0628\u0627 \u0628\u0643 \u0645\u0639\u0646\u0627", "screen_name": "dawrisaudi4k", "id": 852574026966892545, "profile_background_image_url": null, "default_profile_image": false, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 1, "location": "Casablanca, Grand Casablanca", "profile_background_color": "F5F8FA", "has_extended_profile": true, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 15, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/852577427406692358/Qk1dSzkm_normal.jpg", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 1, "protected": false, "created_at": "Thu Apr 13 17:27:42 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "749576906966577152", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 23], "url": "https://t.co/dz6KJKzcRm", "expanded_url": "http://saruarabir.blogspot.com", "display_url": "saruarabir.blogspot.com"}]}, "description": {"urls": []}}, "followers_count": 18, "contributors_enabled": false, "name": "Gulam Sarwar ABir", "url": "https://t.co/dz6KJKzcRm", "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/839236482955001856/Hj7ZDhYy_normal.jpg", "profile_background_image_url_https": null, "status": {"lang": "und", "id_str": "849976436882407424", "place": null, "in_reply_to_screen_name": "MichaelVaughan", "entities": {"symbols": [], "urls": [{"indices": [16, 39], "url": "https://t.co/bvNx9wn27m", "expanded_url": "http://dhakasports.com/", "display_url": "dhakasports.com"}], "hashtags": [], "user_mentions": [{"name": "Michael Vaughan", "indices": [0, 15], "screen_name": "MichaelVaughan", "id": 97893963, "id_str": "97893963"}]}, "favorited": false, "source": "Twitter Web Client", "text": "@MichaelVaughan https://t.co/bvNx9wn27m", "contributors": null, "coordinates": null, "retweeted": false, "id": 849976436882407424, "created_at": "Thu Apr 06 13:25:49 +0000 2017", "in_reply_to_user_id_str": "97893963", "is_quote_status": false, "in_reply_to_user_id": 97893963, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": "849974375101214720", "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": 849974375101214720}, "description": "Studied CSE.", "screen_name": "AbirBCSE", "id": 749576906966577152, "profile_background_image_url": null, "default_profile_image": false, "following": false, "favourites_count": 60, "notifications": false, "listed_count": 0, "location": "Dhaka, Bangladesh", "profile_background_color": "F5F8FA", "has_extended_profile": true, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 25, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/839236482955001856/Hj7ZDhYy_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 32, "profile_banner_url": "https://pbs.twimg.com/profile_banners/749576906966577152/1480480471", "created_at": "Sun Jul 03 12:13:55 +0000 2016", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "195013676", "profile_link_color": "4B27CF", "default_profile": false, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 23], "url": "https://t.co/aGerASLhSX", "expanded_url": "https://www.instagram.com/kazztr/", "display_url": "instagram.com/kazztr/"}]}, "description": {"urls": []}}, "followers_count": 2442, "contributors_enabled": false, "name": "kasun", "url": "https://t.co/aGerASLhSX", "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/757093870135934976/kHQ7f_yi_normal.jpg", "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/616316389/4rsb662qrifdlk8jy3d6.jpeg", "status": {"lang": "en", "id_str": "853649505694040065", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [], "hashtags": [{"indices": [38, 43], "text": "Seb5"}, {"indices": [68, 78], "text": "BahrainGP"}, {"indices": [80, 86], "text": "Kimi7"}, {"indices": [90, 103], "text": "ForzaFerrari"}, {"indices": [104, 126], "text": "LaFerraridellaFerrari"}], "user_mentions": [{"name": "Scuderia Ferrari", "indices": [3, 19], "screen_name": "ScuderiaFerrari", "id": 108247668, "id_str": "108247668"}]}, "favorited": false, "source": "Twitter for Android", "text": "RT @ScuderiaFerrari: STUNNING WIN for #Seb5 and the Scuderia at the #BahrainGP! #Kimi7 P4 #ForzaFerrari #LaFerraridellaFerrari https://t.co\u2026", "contributors": null, "coordinates": null, "retweeted": false, "retweeted_status": {"lang": "en", "id_str": "853648706599624705", "place": null, "extended_entities": {"media": [{"indices": [106, 129], "media_url": "http://pbs.twimg.com/media/C9jE8YVXcAEfhGg.jpg", "expanded_url": "https://twitter.com/ScuderiaFerrari/status/853648706599624705/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9jE8YVXcAEfhGg.jpg", "id_str": "853648670989971457", "url": "https://t.co/H8pE5hGuk1", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 680, "h": 454}, "medium": {"resize": "fit", "w": 1200, "h": 800}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 2048, "h": 1366}}, "display_url": "pic.twitter.com/H8pE5hGuk1", "id": 853648670989971457}]}, "entities": {"symbols": [], "urls": [], "hashtags": [{"indices": [17, 22], "text": "Seb5"}, {"indices": [47, 57], "text": "BahrainGP"}, {"indices": [59, 65], "text": "Kimi7"}, {"indices": [69, 82], "text": "ForzaFerrari"}, {"indices": [83, 105], "text": "LaFerraridellaFerrari"}], "user_mentions": [], "media": [{"indices": [106, 129], "media_url": "http://pbs.twimg.com/media/C9jE8YVXcAEfhGg.jpg", "expanded_url": "https://twitter.com/ScuderiaFerrari/status/853648706599624705/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9jE8YVXcAEfhGg.jpg", "id_str": "853648670989971457", "url": "https://t.co/H8pE5hGuk1", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 680, "h": 454}, "medium": {"resize": "fit", "w": 1200, "h": 800}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 2048, "h": 1366}}, "display_url": "pic.twitter.com/H8pE5hGuk1", "id": 853648670989971457}]}, "favorited": false, "source": "Twitter for iPhone", "text": "STUNNING WIN for #Seb5 and the Scuderia at the #BahrainGP! #Kimi7 P4 #ForzaFerrari #LaFerraridellaFerrari https://t.co/H8pE5hGuk1", "contributors": null, "coordinates": null, "retweeted": false, "id": 853648706599624705, "created_at": "Sun Apr 16 16:38:06 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 3859, "in_reply_to_screen_name": null, "favorite_count": 5072, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "id": 853649505694040065, "created_at": "Sun Apr 16 16:41:16 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 3859, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "in_reply_to_status_id": null}, "description": "Super car freak, hardcore cricket fan, Gamer... explicit content follow with caution xD", "screen_name": "kazZtr_", "id": 195013676, "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/616316389/4rsb662qrifdlk8jy3d6.jpeg", "default_profile_image": false, "following": false, "favourites_count": 12560, "notifications": false, "listed_count": 43, "location": "Colombo. Sri lanka", "profile_background_color": "D0CDCD", "has_extended_profile": true, "utc_offset": 19800, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 41250, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/757093870135934976/kHQ7f_yi_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 996, "profile_banner_url": "https://pbs.twimg.com/profile_banners/195013676/1467866521", "created_at": "Sat Sep 25 15:33:51 +0000 2010", "time_zone": "Sri Jayawardenepura", "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "787292754766274560", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 104, "contributors_enabled": false, "name": "Duvvada Jagannadham", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/834976069442756608/swleA0kO_normal.jpg", "profile_background_image_url_https": null, "status": {"lang": "et", "id_str": "853661032807505920", "place": null, "in_reply_to_screen_name": "priyamucharla", "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [{"name": "Sense n Sensibility", "indices": [0, 14], "screen_name": "priyamucharla", "id": 60569630, "id_str": "60569630"}]}, "favorited": false, "source": "Twitter for Android", "text": "@priyamucharla Inkaaa hopes vunnaya \ud83d\ude37\ud83d\ude37\ud83d\ude4f\ud83d\ude4f", "contributors": null, "coordinates": null, "retweeted": false, "id": 853661032807505920, "created_at": "Sun Apr 16 17:27:05 +0000 2017", "in_reply_to_user_id_str": "60569630", "is_quote_status": false, "in_reply_to_user_id": 60569630, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": "853660733766156288", "geo": null, "in_reply_to_status_id": 853660733766156288}, "description": "Lieutenant General Of Allu Arjun Army. Proud Alluism follower.", "screen_name": "AlluSwagg", "id": 787292754766274560, "profile_background_image_url": null, "default_profile_image": false, "following": false, "favourites_count": 259, "notifications": false, "listed_count": 4, "location": "Hyderabad, India", "profile_background_color": "F5F8FA", "has_extended_profile": true, "utc_offset": 19800, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 981, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/834976069442756608/swleA0kO_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 197, "profile_banner_url": "https://pbs.twimg.com/profile_banners/787292754766274560/1488115365", "created_at": "Sat Oct 15 14:03:14 +0000 2016", "time_zone": "Chennai", "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "852960599956967425", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 0, "contributors_enabled": false, "name": "\u0627\u0644\u0627\u0647\u0644\u0649", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "852961189080576000", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [47, 70], "url": "https://t.co/adkF9jbYcT", "expanded_url": "http://ow.ly/SpSX30aRLCy", "display_url": "ow.ly/SpSX30aRLCy"}], "hashtags": [{"indices": [18, 36], "text": "\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0647"}, {"indices": [72, 100], "text": "\u0643\u0644\u0645\u0647_\u062a\u0642\u0648\u0644\u0647\u0640\u0627_\u0627\u0644\u0641\u064a\u0635\u0644_\u0628\u0646_\u062a\u0631\u0643\u064a"}], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "text": "\u062a\u062c\u062f\u064a\u062f \u0646\u0642\u0644 \u0645\u0628\u0627\u0631\u0627\u0629 #\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0647 \u0628\u062b \u0645\u0628\u0627\u0634\u0631\n\nhttps://t.co/adkF9jbYcT\n\n#\u0643\u0644\u0645\u0647_\u062a\u0642\u0648\u0644\u0647\u0640\u0627_\u0627\u0644\u0641\u064a\u0635\u0644_\u0628\u0646_\u062a\u0631\u0643\u064a", "contributors": null, "coordinates": null, "retweeted": false, "id": 852961189080576000, "created_at": "Fri Apr 14 19:06:09 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "U54547", "id": 852960599956967425, "profile_background_image_url": null, "default_profile_image": true, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 5, "geo_enabled": false, "profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 21, "protected": false, "created_at": "Fri Apr 14 19:03:49 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "4551905205", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 31, "contributors_enabled": false, "name": "Mohamed Shukry", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/842776309822558208/6rPQ1qH2_normal.jpg", "profile_background_image_url_https": null, "status": {"lang": "und", "id_str": "853229676524949504", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [0, 23], "url": "https://t.co/GNNbGv75fJ", "expanded_url": "http://fb.me/3p3vGoqyE", "display_url": "fb.me/3p3vGoqyE"}], "hashtags": [], "user_mentions": []}, "favorited": false, "source": "Facebook", "text": "https://t.co/GNNbGv75fJ", "contributors": null, "coordinates": null, "retweeted": false, "id": 853229676524949504, "created_at": "Sat Apr 15 12:53:01 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "85%Nallawan", "screen_name": "shukrytwitts", "id": 4551905205, "profile_background_image_url": null, "default_profile_image": false, "following": false, "favourites_count": 13, "notifications": false, "listed_count": 0, "location": "Sri Lanka", "profile_background_color": "F5F8FA", "has_extended_profile": true, "utc_offset": -25200, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 512, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/842776309822558208/6rPQ1qH2_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 26, "profile_banner_url": "https://pbs.twimg.com/profile_banners/4551905205/1489768536", "created_at": "Mon Dec 21 01:29:06 +0000 2015", "time_zone": "Pacific Time (US & Canada)", "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "852948430695649283", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 1, "contributors_enabled": false, "name": "\u0628\u0646\u062a \u0627\u0644\u0647\u0644\u0627\u0644", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "852952230848344064", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [52, 75], "url": "https://t.co/GHfQZCcZHH", "expanded_url": "http://ow.ly/b0UK30aRF3Q", "display_url": "ow.ly/b0UK30aRF3Q"}], "hashtags": [{"indices": [22, 41], "text": "\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0648\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629"}, {"indices": [78, 97], "text": "\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0648\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629"}], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "text": "\u0634\u0627\u0647\u062f \u0627\u0633\u0631\u0639 \u0631\u0627\u0628\u0637 \u0645\u0628\u0627\u0631\u0627\u0629 #\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0648\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629 \u0628\u062b \u0645\u0628\u0627\u0634\u0631\n\nhttps://t.co/GHfQZCcZHH\n\n #\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0648\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629", "contributors": null, "coordinates": null, "retweeted": false, "id": 852952230848344064, "created_at": "Fri Apr 14 18:30:33 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "alna654564thy", "id": 852948430695649283, "profile_background_image_url": null, "default_profile_image": true, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 1, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 12, "geo_enabled": false, "profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 19, "protected": false, "created_at": "Fri Apr 14 18:15:27 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "852949031525511169", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 0, "contributors_enabled": false, "name": "\u0639\u0627\u0634\u0642\u0629 \u0627\u0644\u0627\u062a\u062d\u0627\u062f", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "852950461791469569", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "withheld_in_countries": ["XY"], "text": "This Tweet from @a654894y has been withheld in response to a report from the copyright holder.", "contributors": null, "coordinates": null, "retweeted": false, "withheld_copyright": true, "id": 852950461791469569, "created_at": "Fri Apr 14 18:23:31 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "withheld_scope": "status", "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "in_reply_to_status_id": null}, "description": "", "screen_name": "a654894y", "id": 852949031525511169, "profile_background_image_url": null, "default_profile_image": true, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 6, "geo_enabled": false, "profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 0, "protected": false, "created_at": "Fri Apr 14 18:17:51 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "es", "id_str": "2203514268", "profile_link_color": "DD2E44", "default_profile": false, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 23], "url": "https://t.co/O4lTFqnBLp", "expanded_url": "http://Drunk.Vodka", "display_url": "Drunk.Vodka"}]}, "description": {"urls": []}}, "followers_count": 1230, "contributors_enabled": false, "name": "Sabinism\u00f6", "url": "https://t.co/O4lTFqnBLp", "profile_text_color": "000000", "profile_sidebar_fill_color": "000000", "profile_image_url": "http://pbs.twimg.com/profile_images/804445780119588864/3eqEdQXh_normal.jpg", "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/644972111229026304/tjgKi7K5.jpg", "status": {"lang": "es", "id_str": "853520142008975360", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [{"name": "Real Betis Balompi\u00e9", "indices": [17, 27], "screen_name": "RealBetis", "id": 296756458, "id_str": "296756458"}]}, "favorited": false, "source": "Twitter for Android", "text": "Hoy se va con mi @RealBetis querido", "contributors": null, "coordinates": null, "retweeted": false, "id": 853520142008975360, "created_at": "Sun Apr 16 08:07:14 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 12, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "in_reply_to_status_id": null}, "description": "Harrobiaz Harro", "screen_name": "ArranoBaltzaa", "id": 2203514268, "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/644972111229026304/tjgKi7K5.jpg", "default_profile_image": false, "following": false, "favourites_count": 25587, "notifications": false, "listed_count": 16, "location": "San Mames, Euskal Herria", "profile_background_color": "C0DEED", "has_extended_profile": true, "utc_offset": -25200, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 31409, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/804445780119588864/3eqEdQXh_normal.jpg", "profile_background_tile": true, "protected": false, "profile_use_background_image": false, "friends_count": 511, "profile_banner_url": "https://pbs.twimg.com/profile_banners/2203514268/1481153322", "created_at": "Tue Nov 19 18:02:47 +0000 2013", "time_zone": "Pacific Time (US & Canada)", "profile_sidebar_border_color": "000000"}, {"verified": false, "lang": "ar", "id_str": "832623312257769472", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 33, "contributors_enabled": false, "name": "\u062f\u0639\u0627\u0621 \u0627\u0644\u0634\u0627\u0645\u0633\u064a", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/832623514301591552/jjkywNCn_normal.jpg", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "852953125375942656", "place": null, "extended_entities": {"media": [{"indices": [81, 104], "media_url": "http://pbs.twimg.com/media/C9ZMVCzXUAAsPQA.jpg", "expanded_url": "https://twitter.com/alshamsiKsa/status/852953125375942656/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9ZMVCzXUAAsPQA.jpg", "id_str": "852953103846559744", "url": "https://t.co/HYfITiWesd", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 680, "h": 538}, "medium": {"resize": "fit", "w": 877, "h": 694}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 877, "h": 694}}, "display_url": "pic.twitter.com/HYfITiWesd", "id": 852953103846559744}]}, "entities": {"symbols": [], "urls": [{"indices": [26, 49], "url": "https://t.co/KqyTVLCIQW", "expanded_url": "https://goo.gl/5h7lhS", "display_url": "goo.gl/5h7lhS"}], "hashtags": [{"indices": [0, 18], "text": "\u0627\u0644\u0627\u062a\u0650\u062d\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629"}], "user_mentions": [], "media": [{"indices": [81, 104], "media_url": "http://pbs.twimg.com/media/C9ZMVCzXUAAsPQA.jpg", "expanded_url": "https://twitter.com/alshamsiKsa/status/852953125375942656/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9ZMVCzXUAAsPQA.jpg", "id_str": "852953103846559744", "url": "https://t.co/HYfITiWesd", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 680, "h": 538}, "medium": {"resize": "fit", "w": 877, "h": 694}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 877, "h": 694}}, "display_url": "pic.twitter.com/HYfITiWesd", "id": 852953103846559744}]}, "favorited": false, "source": "Twitter Web Client", "text": "#\u0627\u0644\u0627\u062a\u0650\u062d\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629\n\n\u0647\u0646\u0627: https://t.co/KqyTVLCIQW\n\n\u0627\u0648\u0646\u0644\u0627\u064a\u0646 \u0647\u0646\u0627 \u0628\u062f\u0648\u0648\u0648\u0646 \u062a\u0642\u0637\u064a\u0639 \u0627\u0644\u0627\u0646 https://t.co/HYfITiWesd", "contributors": null, "coordinates": null, "retweeted": false, "id": 852953125375942656, "created_at": "Fri Apr 14 18:34:06 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 140, "in_reply_to_screen_name": null, "favorite_count": 2, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "alshamsiKsa", "id": 832623312257769472, "profile_background_image_url": null, "default_profile_image": false, "following": false, "favourites_count": 106, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 133, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/832623514301591552/jjkywNCn_normal.jpg", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 21, "protected": false, "created_at": "Fri Feb 17 16:10:41 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "fr", "id_str": "3017682893", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 23], "url": "https://t.co/G85KVt5bPv", "expanded_url": "https://www.facebook.com/elbouhdoudi?ref=aymt_homepage_panel", "display_url": "facebook.com/elbouhdoudi?re\u2026"}]}, "description": {"urls": []}}, "followers_count": 3811, "contributors_enabled": false, "name": "\u0646\u0642\u0644 \u0645\u0628\u0627\u0634\u0631 \u0643\u0644 \u0645\u0628\u0627\u0631\u064a\u0627\u062a", "url": "https://t.co/G85KVt5bPv", "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/715686383860510720/TSW1F6nD_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "ar", "id_str": "853558616003145728", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [68, 91], "url": "https://t.co/nhjuAnnItZ", "expanded_url": "http://www.youtubbe.ga/2017/04/blog-post_80.html", "display_url": "youtubbe.ga/2017/04/blog-p\u2026"}], "hashtags": [], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "text": "\u0645\u064f\u0634\u064e\u0627\u0647\u064e\u062f\u064e\u0629 \u0645\u064f\u0628\u064e\u0627\u0631\u064e\u0627\u0629\u0650 \u0644\u064a\u062c\u0627\u0646\u064a\u0633 \u0648\u0625\u0633\u0628\u0627\u0646\u064a\u0648\u0644 \u0628\u062b \u0645\u0628\u0627\u0634\u0631 \u0627\u0644\u062f\u0648\u0631\u064a \u0627\u0644\u0627\u0633\u0628\u0627\u0646\u064a -- https://t.co/nhjuAnnItZ", "contributors": null, "coordinates": null, "retweeted": false, "id": 853558616003145728, "created_at": "Sun Apr 16 10:40:07 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "skattt4", "id": 3017682893, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 9, "notifications": false, "listed_count": 1, "location": "\u0627\u0644\u0645\u063a\u0631\u0628 \u0628\u0644\u062f \u0627\u062c\u062f\u0627\u062f\u064a", "profile_background_color": "C0DEED", "has_extended_profile": false, "utc_offset": -25200, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 5358, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/715686383860510720/TSW1F6nD_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 3133, "profile_banner_url": "https://pbs.twimg.com/profile_banners/3017682893/1459467889", "created_at": "Wed Feb 04 14:18:13 +0000 2015", "time_zone": "Pacific Time (US & Canada)", "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "779789650290479106", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 23], "url": "https://t.co/1h9Ml3rRW9", "expanded_url": "http://actionha-kooora.com", "display_url": "actionha-kooora.com"}]}, "description": {"urls": []}}, "followers_count": 270, "contributors_enabled": false, "name": "Actionha_Kooora", "url": "https://t.co/1h9Ml3rRW9", "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/819987634369994752/Gd_4gWwi_normal.jpg", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "853689486299074564", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [32, 55], "url": "https://t.co/ZB2cgxuX7w", "expanded_url": "https://goo.gl/2uykol", "display_url": "goo.gl/2uykol"}], "hashtags": [{"indices": [13, 19], "text": "\u0627\u0633\u0648\u0627\u0646"}, {"indices": [22, 29], "text": "\u0627\u0644\u0623\u0647\u0644\u064a"}, {"indices": [69, 82], "text": "\u0627\u0633\u0648\u0627\u0646_\u0627\u0644\u0623\u0647\u0644\u064a"}], "user_mentions": []}, "favorited": false, "source": "Hootsuite", "text": "\u0628\u062b \u0645\u0628\u0627\u0634\u0631 \u26bd\n[ #\u0627\u0633\u0648\u0627\u0646 \u274c #\u0627\u0644\u0623\u0647\u0644\u064a ]\nhttps://t.co/ZB2cgxuX7w\n\u231b\u062c\u0627\u0631\u064a\u0629 \u0627\u0644\u0622\u0646\u231b\n#\u0627\u0633\u0648\u0627\u0646_\u0627\u0644\u0623\u0647\u0644\u064a \u2764", "contributors": null, "coordinates": null, "retweeted": false, "id": 853689486299074564, "created_at": "Sun Apr 16 19:20:08 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "\u200f\u0646\u0628\u062b \u0627\u0644\u0645\u0628\u0627\u0631\u064a\u0627\u062a \u0628\u062c\u0648\u062f\u0629 \u0639\u0627\u0644\u064a\u0629 \u0648\u062a\u062f\u0639\u0645 \u062c\u0645\u064a\u0639 \u0627\u0644\u0623\u062c\u0647\u0632\u0629 \u0627\u0644\u0630\u0643\u064a\u0629 \u2764\ud83d\udcf1\ud83d\udcbb\ud83c\udfae ! . \u0644\u0646\u0633\u062a\u0645\u0631 \u0627\u062f\u0639\u0645\u0648\u0646\u0627 \u0628\u0631\u062a\u0648\u064a\u062a\u0633 \u0644\u0644\u0631\u0648\u0627\u0628\u0637 \ud83d\udc9c\n\u062d\u0633\u0627\u0628\u0646\u0627 \u0627\u0644\u0627\u062d\u062a\u064a\u0627\u0637\u064a\n\u200e@actionha_kooora", "screen_name": "Actionha_live", "id": 779789650290479106, "profile_background_image_url": null, "default_profile_image": false, "following": false, "favourites_count": 4, "notifications": false, "listed_count": 1, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": true, "utc_offset": 14400, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 999, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/819987634369994752/Gd_4gWwi_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 1, "profile_banner_url": "https://pbs.twimg.com/profile_banners/779789650290479106/1483807819", "created_at": "Sat Sep 24 21:08:35 +0000 2016", "time_zone": "Muscat", "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "852932930460667904", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 2, "contributors_enabled": false, "name": "\u0645\u0628\u0627\u0634\u0631", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "852962665119068160", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [49, 72], "url": "https://t.co/YW7EyBwTjk", "expanded_url": "https://plus.google.com/103795556080144846035/posts/UqPysC52pdT?_utm_source=199-1-1", "display_url": "plus.google.com/10379555608014\u2026"}], "hashtags": [{"indices": [28, 46], "text": "\u0627\u0644\u0627\u062a\u0640\u062d\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0647"}, {"indices": [76, 94], "text": "\u0627\u0644\u0627\u062a\u0640\u062d\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0647"}, {"indices": [95, 125], "text": "\u0639\u0640\u0627\u0645_\u0639\u0644\u064a_\u0627\u0639\u062a\u0642\u0627\u0644_\u0627\u0644\u0634\u064a\u062e_\u0627\u0644\u0637\u0631\u064a\u0641\u064a"}], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "text": "\u0631\u0627\u0628\u0637 \u0628\u062b \u0645\u0628\u0627\u0634\u0631 \u0627\u0644\u0634\u0648\u0637 \u0627\u0644\u062b\u0627\u0646\u064a #\u0627\u0644\u0627\u062a\u0640\u062d\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0647\n\n https://t.co/YW7EyBwTjk \u2026\n\n#\u0627\u0644\u0627\u062a\u0640\u062d\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0647\n#\u0639\u0640\u0627\u0645_\u0639\u0644\u064a_\u0627\u0639\u062a\u0642\u0627\u0644_\u0627\u0644\u0634\u064a\u062e_\u0627\u0644\u0637\u0631\u064a\u0641\u064a", "contributors": null, "coordinates": null, "retweeted": false, "id": 852962665119068160, "created_at": "Fri Apr 14 19:12:01 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "uBSpa9WGQy5kQDd", "id": 852932930460667904, "profile_background_image_url": null, "default_profile_image": true, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 1, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 39, "geo_enabled": false, "profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 21, "protected": false, "created_at": "Fri Apr 14 17:13:52 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "851347406428004353", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 150, "contributors_enabled": false, "name": "\u0627\u0644\u0643\u0648\u0631\u0629 \u0645\u0628\u0627\u0634\u0631", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/851347861757362177/M8tKoGKZ_normal.jpg", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "853531341035626496", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [84, 107], "url": "https://t.co/tfrLMHkjkd", "expanded_url": "https://goo.gl/BzD2bc", "display_url": "goo.gl/BzD2bc"}, {"indices": [109, 132], "url": "https://t.co/zT518fM4jM", "expanded_url": "https://twitter.com/i/web/status/853531341035626496", "display_url": "twitter.com/i/web/status/8\u2026"}], "hashtags": [], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "text": "\u0646\u0635 \u0627\u0644\u0627\u0648\u0627\u0645\u0631 \u0627\u0644\u0645\u0644\u0643\u064a\u0629 \u0627\u0644\u062c\u062f\u064a\u062f\u0629 \u0644\u0644\u0645\u0644\u0643 \u0633\u0644\u0645\u0627\u0646 \u0628\u0646 \u0639\u0628\u062f\u0627\u0644\u0639\u0632\u064a\u0632 \u062d\u0641\u0638\u0647 \u0627\u0644\u0644\u0647\n\n\u0627\u0644\u0623\u0648\u0627\u0645\u0631 \u0628\u0627\u0644\u062a\u0641\u0627\u0635\u064a\u0644 // https://t.co/tfrLMHkjkd\u2026 https://t.co/zT518fM4jM", "contributors": null, "coordinates": null, "retweeted": false, "id": 853531341035626496, "created_at": "Sun Apr 16 08:51:44 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 98, "favorite_count": 101, "truncated": true, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "\u0628\u062b \u0645\u0628\u0627\u0634\u0631 \u0644\u0623\u0642\u0648\u064a \u0627\u0644\u0645\u0628\u0627\u0631\u064a\u0627\u062a", "screen_name": "koraliv18715232", "id": 851347406428004353, "profile_background_image_url": null, "default_profile_image": false, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 1, "location": "Sindh, Pakistan", "profile_background_color": "F5F8FA", "has_extended_profile": true, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 10, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/851347861757362177/M8tKoGKZ_normal.jpg", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 99, "protected": false, "created_at": "Mon Apr 10 08:13:33 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "852189562273181700", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 10, "contributors_enabled": false, "name": "\u064a\u0627\u0631\u0627", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/852189737410605057/1UnhNxWQ_normal.jpg", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "853331248101588992", "place": null, "extended_entities": {"media": [{"indices": [114, 137], "media_url": "http://pbs.twimg.com/media/C9ekPNSW0AA5Pwu.jpg", "expanded_url": "https://twitter.com/Yalalalooooo/status/853331248101588992/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9ekPNSW0AA5Pwu.jpg", "id_str": "853331235581644800", "url": "https://t.co/uGv6CDCIIj", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 264, "h": 191}, "medium": {"resize": "fit", "w": 264, "h": 191}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 264, "h": 191}}, "display_url": "pic.twitter.com/uGv6CDCIIj", "id": 853331235581644800}, {"indices": [114, 137], "media_url": "http://pbs.twimg.com/media/C9ekPNdXsAMWvVL.jpg", "expanded_url": "https://twitter.com/Yalalalooooo/status/853331248101588992/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9ekPNdXsAMWvVL.jpg", "id_str": "853331235627839491", "url": "https://t.co/uGv6CDCIIj", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 275, "h": 183}, "medium": {"resize": "fit", "w": 275, "h": 183}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 275, "h": 183}}, "display_url": "pic.twitter.com/uGv6CDCIIj", "id": 853331235627839491}]}, "entities": {"symbols": [], "urls": [{"indices": [88, 111], "url": "https://t.co/NxOR9TGVYY", "expanded_url": "https://goo.gl/6mb6oD", "display_url": "goo.gl/6mb6oD"}], "hashtags": [{"indices": [14, 29], "text": "\u0627\u0644\u0647\u0644\u0627\u0644_\u0627\u0644\u0627\u0647\u064e\u0644\u064a"}, {"indices": [32, 47], "text": "\u0627\u0644\u0646\u0635\u0631_\u0627\u0644\u062a\u0639\u0627\u0648\u0650\u0646"}], "user_mentions": [], "media": [{"indices": [114, 137], "media_url": "http://pbs.twimg.com/media/C9ekPNSW0AA5Pwu.jpg", "expanded_url": "https://twitter.com/Yalalalooooo/status/853331248101588992/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9ekPNSW0AA5Pwu.jpg", "id_str": "853331235581644800", "url": "https://t.co/uGv6CDCIIj", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 264, "h": 191}, "medium": {"resize": "fit", "w": 264, "h": 191}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 264, "h": 191}}, "display_url": "pic.twitter.com/uGv6CDCIIj", "id": 853331235581644800}]}, "favorited": false, "source": "Twitter Web Client", "text": "\u0645\u0634\u0627\u0647\u062f\u0629 \u0645\u0628\u0627\u0631\u0627\u0629 #\u0627\u0644\u0647\u0644\u0627\u0644_\u0627\u0644\u0627\u0647\u064e\u0644\u064a \u0648 #\u0627\u0644\u0646\u0635\u0631_\u0627\u0644\u062a\u0639\u0627\u0648\u0650\u0646 \u0627\u0644\u0634\u0648\u0637 \u0627\u0644\u062b\u0627\u0646\u064a \u0627\u0644\u0627\u0633\u0637\u0648\u0631\u0629 \u0644\u0644\u062c\u0648\u0627\u0644\n\n\u0634\u0627\u0647\u062f \u0647\u0646\u0627: https://t.co/NxOR9TGVYY\n. https://t.co/uGv6CDCIIj", "contributors": null, "coordinates": null, "retweeted": false, "id": 853331248101588992, "created_at": "Sat Apr 15 19:36:38 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 86, "in_reply_to_screen_name": null, "favorite_count": 80, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "Yalalalooooo", "id": 852189562273181700, "profile_background_image_url": null, "default_profile_image": false, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": -25200, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 9, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/852189737410605057/1UnhNxWQ_normal.jpg", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 0, "protected": false, "created_at": "Wed Apr 12 15:59:59 +0000 2017", "time_zone": "Pacific Time (US & Canada)", "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "4668149671", "profile_link_color": "009999", "default_profile": false, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 23], "url": "https://t.co/TfuD4D3dvy", "expanded_url": "http://ow.ly/Vk3Ia", "display_url": "ow.ly/Vk3Ia"}]}, "description": {"urls": []}}, "followers_count": 7738, "contributors_enabled": false, "name": "Amateur Pantyhose", "url": "https://t.co/TfuD4D3dvy", "profile_text_color": "000000", "profile_sidebar_fill_color": "000000", "profile_image_url": "http://pbs.twimg.com/profile_images/681499371695808512/PPMuBcwj_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme14/bg.gif", "status": {"lang": "en", "id_str": "850464514852216835", "place": null, "extended_entities": {"media": [{"indices": [63, 86], "media_url": "http://pbs.twimg.com/media/C8109-ZXYAIJtMy.jpg", "expanded_url": "https://twitter.com/AmateursInHose/status/850464514852216835/photo/1", "media_url_https": "https://pbs.twimg.com/media/C8109-ZXYAIJtMy.jpg", "id_str": "850464512713121794", "url": "https://t.co/O5dEc0DKJy", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 510, "h": 680}, "medium": {"resize": "fit", "w": 600, "h": 800}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 600, "h": 800}}, "display_url": "pic.twitter.com/O5dEc0DKJy", "id": 850464512713121794}]}, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [], "media": [{"indices": [63, 86], "media_url": "http://pbs.twimg.com/media/C8109-ZXYAIJtMy.jpg", "expanded_url": "https://twitter.com/AmateursInHose/status/850464514852216835/photo/1", "media_url_https": "https://pbs.twimg.com/media/C8109-ZXYAIJtMy.jpg", "id_str": "850464512713121794", "url": "https://t.co/O5dEc0DKJy", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 510, "h": 680}, "medium": {"resize": "fit", "w": 600, "h": 800}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 600, "h": 800}}, "display_url": "pic.twitter.com/O5dEc0DKJy", "id": 850464512713121794}]}, "favorited": false, "source": "Hootsuite", "text": "Curvy girl in a very short skirt with boots and grey pantyhose https://t.co/O5dEc0DKJy", "contributors": null, "coordinates": null, "retweeted": false, "id": 850464514852216835, "created_at": "Fri Apr 07 21:45:15 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 29, "in_reply_to_screen_name": null, "favorite_count": 97, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "Lover of legs in pantyhose", "screen_name": "AmateursInHose", "id": 4668149671, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme14/bg.gif", "default_profile_image": false, "following": false, "favourites_count": 275, "notifications": false, "listed_count": 41, "location": "Canada", "profile_background_color": "131516", "has_extended_profile": false, "utc_offset": -25200, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 442, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/681499371695808512/PPMuBcwj_normal.jpg", "profile_background_tile": true, "protected": false, "profile_use_background_image": true, "friends_count": 990, "profile_banner_url": "https://pbs.twimg.com/profile_banners/4668149671/1451317592", "created_at": "Mon Dec 28 15:35:59 +0000 2015", "time_zone": "Pacific Time (US & Canada)", "profile_sidebar_border_color": "000000"}, {"verified": false, "lang": "ar", "id_str": "852950595157860353", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 0, "contributors_enabled": false, "name": "\u0627\u062d\u0644\u0627\u0645", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "852951210697121792", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [43, 66], "url": "https://t.co/ODs24Pr0WP", "expanded_url": "http://ow.ly/D6rX30aRIJX", "display_url": "ow.ly/D6rX30aRIJX"}], "hashtags": [{"indices": [14, 32], "text": "\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0647"}, {"indices": [68, 98], "text": "\u0627\u0631\u0628\u062d_50\u064000\u0631\u064a\u0627\u0644_\u0645\u0639_\u0627\u0644\u0639\u0628\u062f\u0627\u0644\u0644\u0637\u064a\u0641"}], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "text": "\u0645\u0634\u0627\u0647\u062f\u0629 \u0645\u0628\u0627\u0631\u0627\u0629 #\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0647 \u0628\u062b \u0645\u0628\u0627\u0634\u0631\n\nhttps://t.co/ODs24Pr0WP\n\n#\u0627\u0631\u0628\u062d_50\u064000\u0631\u064a\u0627\u0644_\u0645\u0639_\u0627\u0644\u0639\u0628\u062f\u0627\u0644\u0644\u0637\u064a\u0641", "contributors": null, "coordinates": null, "retweeted": false, "id": 852951210697121792, "created_at": "Fri Apr 14 18:26:30 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "iunfm1", "id": 852950595157860353, "profile_background_image_url": null, "default_profile_image": true, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 4, "geo_enabled": false, "profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 0, "protected": false, "created_at": "Fri Apr 14 18:24:03 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "852944264975843329", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 0, "contributors_enabled": false, "name": "\u0628\u0646\u062a \u0627\u0644\u0647\u0644\u0627\u0644", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "852946583188623360", "place": null, "extended_entities": {"media": [{"indices": [79, 102], "media_url": "http://pbs.twimg.com/media/C9ZGY9WXoAABg3h.jpg", "expanded_url": "https://twitter.com/5454564Hy/status/852946583188623360/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9ZGY9WXoAABg3h.jpg", "id_str": "852946574032478208", "url": "https://t.co/77loJLAGpp", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 480, "h": 480}, "medium": {"resize": "fit", "w": 480, "h": 480}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 480, "h": 480}}, "display_url": "pic.twitter.com/77loJLAGpp", "id": 852946574032478208}]}, "entities": {"symbols": [], "urls": [{"indices": [38, 61], "url": "https://t.co/DMootSD5wp", "expanded_url": "http://ow.ly/at8m30aRFqk", "display_url": "ow.ly/at8m30aRFqk"}], "hashtags": [{"indices": [63, 78], "text": "\u0627\u0644\u062e\u0644\u064a\u0640\u062c_\u0627\u0644\u0648\u062d\u062f\u0647"}], "user_mentions": [], "media": [{"indices": [79, 102], "media_url": "http://pbs.twimg.com/media/C9ZGY9WXoAABg3h.jpg", "expanded_url": "https://twitter.com/5454564Hy/status/852946583188623360/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9ZGY9WXoAABg3h.jpg", "id_str": "852946574032478208", "url": "https://t.co/77loJLAGpp", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 480, "h": 480}, "medium": {"resize": "fit", "w": 480, "h": 480}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 480, "h": 480}}, "display_url": "pic.twitter.com/77loJLAGpp", "id": 852946574032478208}]}, "favorited": false, "source": "Twitter Web Client", "text": "\u0634\u0627\u0647\u062f // \u0627\u0641\u0644\u0627\u0645 \u0627\u0628\u0627\u062d\u064a\u0629 \u0642\u0648\u064a\u0629 \u0648\u062c\u0627\u0645\u062f\u0629 +18\n\nhttps://t.co/DMootSD5wp\n\n#\u0627\u0644\u062e\u0644\u064a\u0640\u062c_\u0627\u0644\u0648\u062d\u062f\u0647 https://t.co/77loJLAGpp", "contributors": null, "coordinates": null, "retweeted": false, "id": 852946583188623360, "created_at": "Fri Apr 14 18:08:07 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "in_reply_to_screen_name": null, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "5454564Hy", "id": 852944264975843329, "profile_background_image_url": null, "default_profile_image": true, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 10, "geo_enabled": false, "profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 0, "protected": false, "created_at": "Fri Apr 14 17:58:54 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "585539111", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 23], "url": "https://t.co/KM8kOFPoht", "expanded_url": "http://www.rexpoproperty.com", "display_url": "rexpoproperty.com"}]}, "description": {"urls": []}}, "followers_count": 116, "contributors_enabled": false, "name": "rizwan zafar gillani", "url": "https://t.co/KM8kOFPoht", "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/640924908793401344/MaIkraPl_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "en", "id_str": "853302375859326976", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [{"name": "Fawad Hussain", "indices": [108, 122], "screen_name": "fawadchaudhry", "id": 113286385, "id_str": "113286385"}, {"name": "Dr Shahid Masood", "indices": [123, 138], "screen_name": "Shahidmasooddr", "id": 251060309, "id_str": "251060309"}]}, "favorited": false, "source": "Twitter for iPhone", "text": "Agr Pak mai rules of law n justice hona start ho jaye tu housing societies ki bajaye jails banana parain gi @fawadchaudhry @Shahidmasooddr", "contributors": null, "coordinates": null, "retweeted": false, "id": 853302375859326976, "created_at": "Sat Apr 15 17:41:54 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "in_reply_to_status_id": null}, "description": "Managing Director at Rexpo Real Estate Brokers, r.gillani@rexpoproperty.com, +971509223737", "screen_name": "rizwan_gillani", "id": 585539111, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 521, "notifications": false, "listed_count": 0, "location": "Dubai, United Arab Emirates", "profile_background_color": "C0DEED", "has_extended_profile": true, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 1321, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/640924908793401344/MaIkraPl_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 108, "profile_banner_url": "https://pbs.twimg.com/profile_banners/585539111/1477422978", "created_at": "Sun May 20 10:04:00 +0000 2012", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "4654870666", "profile_link_color": "990000", "default_profile": false, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 23], "url": "https://t.co/ANKvY6hvq0", "expanded_url": "http://ar.aleymnews.com/", "display_url": "ar.aleymnews.com"}]}, "description": {"urls": []}}, "followers_count": 3956, "contributors_enabled": false, "name": "\u0634\u0628\u0643\u0629 \u0627\u0644\u064a\u0648\u0645 \u0627\u0644\u0627\u062e\u0628\u0627\u0631\u064a\u0629", "url": "https://t.co/ANKvY6hvq0", "profile_text_color": "333333", "profile_sidebar_fill_color": "F3F3F3", "profile_image_url": "http://pbs.twimg.com/profile_images/682252187955781632/GhcORXvh_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme7/bg.gif", "status": {"lang": "ar", "id_str": "853618706722803713", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [117, 140], "url": "https://t.co/vauSY6jfHA", "expanded_url": "https://twitter.com/i/web/status/853618706722803713", "display_url": "twitter.com/i/web/status/8\u2026"}], "hashtags": [], "user_mentions": []}, "favorited": false, "source": "IFTTT", "text": "\u0628\u062b \u0645\u0628\u0627\u0634\u0631 \u0645\u0628\u0627\u0631\u0627\u0629 \u0627\u0644\u064a\u0631\u0645\u0648\u0643 \u0648 \u0628\u0631\u0642\u0627\u0646 \u0628\u062c\u0648\u062f\u0629 \u0639\u0627\u0644\u064a\u0629 \u0627\u0648\u0646\u0644\u0627\u064a\u0646\u060c \u0625\u064a\u0627\u0628 \u062f\u0648\u0631\u064a VIVA \u0627\u0644\u0643\u0648\u064a\u062a\u060c \u0643\u0648\u0631\u0629 \u0644\u0627\u064a\u0641 \u0648\u064a\u0644\u0627 \u0634\u0648\u062a Watch Yarmouk VS BU\u2026\u2026 https://t.co/vauSY6jfHA", "contributors": null, "coordinates": null, "retweeted": false, "id": 853618706722803713, "created_at": "Sun Apr 16 14:38:53 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": true, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "\u0634\u0628\u0643\u0629 \u0627\u0644\u064a\u0648\u0645 \u0627\u0644\u0627\u062e\u0628\u0627\u0631\u064a\u0629", "screen_name": "aleymnews", "id": 4654870666, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme7/bg.gif", "default_profile_image": false, "following": false, "favourites_count": 10, "notifications": false, "listed_count": 7, "location": "Saudi Arabia ", "profile_background_color": "EBEBEB", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 16232, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/682252187955781632/GhcORXvh_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 53, "profile_banner_url": "https://pbs.twimg.com/profile_banners/4654870666/1452462803", "created_at": "Wed Dec 30 14:51:33 +0000 2015", "time_zone": null, "profile_sidebar_border_color": "DFDFDF"}, {"verified": false, "lang": "ar", "id_str": "715546339619291136", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 168, "contributors_enabled": false, "name": "\u0641\u0636\u0627\u0626\u062d \u0627\u0644\u0645\u0634\u0627\u0647\u064a\u0631", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/839729777623851010/2caDmzso_normal.jpg", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "853715877417635841", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [70, 93], "url": "https://t.co/2ojUysbFAG", "expanded_url": "http://www.ar.ew3t.com/1225728.html", "display_url": "ar.ew3t.com/1225728.html"}], "hashtags": [], "user_mentions": []}, "favorited": false, "source": "WordPress.com", "text": "\u0633\u0639\u0631 \u0627\u0644\u0631\u064a\u0627\u0644 \u0627\u0644\u0633\u0639\u0648\u062f\u064a \u0627\u0644\u064a\u0648\u0645 \u0623\u0645\u0627\u0645 \u0627\u0644\u062f\u0648\u0644\u0627\u0631 \u0627\u0644\u0623\u0645\u0631\u064a\u0643\u064a \u0637\u0628\u0642\u0627 \u0644\u0644\u062a\u0639\u0627\u0645\u0644\u0627\u062a\u00a0\u0627\u0644\u064a\u0648\u0645\u064a\u0629 https://t.co/2ojUysbFAG", "contributors": null, "coordinates": null, "retweeted": false, "id": 853715877417635841, "created_at": "Sun Apr 16 21:05:01 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "\u0641\u0636\u0627\u0626\u062d \u0627\u0644\u0645\u0634\u0627\u0647\u064a\u0631 \u0641\u062f\u064a\u0648\u0647\u0627\u062a \u0627\u0641\u0644\u0627\u0645 \u0639\u0631\u0628\u064a\u0629 \u0627\u062c\u0646\u0628\u064a\u0629", "screen_name": "5barko", "id": 715546339619291136, "profile_background_image_url": null, "default_profile_image": false, "following": false, "favourites_count": 5767, "notifications": false, "listed_count": 2, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": -25200, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 54373, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/839729777623851010/2caDmzso_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 15, "profile_banner_url": "https://pbs.twimg.com/profile_banners/715546339619291136/1486791195", "created_at": "Thu Mar 31 14:28:36 +0000 2016", "time_zone": "Pacific Time (US & Canada)", "profile_sidebar_border_color": "C0DEED"}, {"verified": true, "lang": "en", "id_str": "2976798423", "profile_link_color": "BCAE03", "default_profile": false, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 22], "url": "http://t.co/XBeRcuNKQL", "expanded_url": "http://www.masralarabia.com/sports", "display_url": "masralarabia.com/sports"}]}, "description": {"urls": []}}, "followers_count": 88038, "contributors_enabled": false, "name": "Masralarabia Sport", "url": "http://t.co/XBeRcuNKQL", "profile_text_color": "000000", "profile_sidebar_fill_color": "000000", "profile_image_url": "http://pbs.twimg.com/profile_images/764220603616391168/3ceFIFqf_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "ar", "id_str": "853715286826131456", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [], "hashtags": [{"indices": [0, 14], "text": "\u0627\u0644\u062f\u0648\u0631\u0649_\u0627\u0644\u0645\u0635\u0631\u0649"}, {"indices": [51, 57], "text": "\u0623\u0633\u0648\u0627\u0646"}, {"indices": [60, 67], "text": "\u0627\u0644\u0623\u0647\u0644\u0649"}], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "text": "#\u0627\u0644\u062f\u0648\u0631\u0649_\u0627\u0644\u0645\u0635\u0631\u0649 : \u062f\u062e\u0648\u0644 \u0639\u0645\u0631\u0648 \u062c\u0645\u0627\u0644 \u0628\u062f\u0644\u0627\u064b \u0645\u0646 \u0643\u0648\u0644\u064a\u0628\u0627\u0644\u064a\n\n#\u0623\u0633\u0648\u0627\u0646 0\n#\u0627\u0644\u0623\u0647\u0644\u0649 2", "contributors": null, "coordinates": null, "retweeted": false, "id": 853715286826131456, "created_at": "Sun Apr 16 21:02:40 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 5, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "in_reply_to_status_id": null}, "description": "\u0627\u0644\u062d\u0633\u0627\u0628 \u0627\u0644\u0631\u064a\u0627\u0636\u0649 \u0627\u0644\u0631\u0633\u0645\u0649 \u0644\u0645\u0648\u0642\u0639 \u0645\u0635\u0631 \u0627\u0644\u0639\u0631\u0628\u064a\u0629", "screen_name": "masrarabiasport", "id": 2976798423, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 195, "location": "", "profile_background_color": "000000", "has_extended_profile": false, "utc_offset": 7200, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 43841, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/764220603616391168/3ceFIFqf_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": false, "friends_count": 1, "profile_banner_url": "https://pbs.twimg.com/profile_banners/2976798423/1471119304", "created_at": "Tue Jan 13 18:01:58 +0000 2015", "time_zone": "Cairo", "profile_sidebar_border_color": "000000"}, {"verified": false, "lang": "ar", "id_str": "318548049", "profile_link_color": "2FC2EF", "default_profile": false, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 23], "url": "https://t.co/XHbaDSpBSr", "expanded_url": "http://www.mysport-app.com/", "display_url": "mysport-app.com"}]}, "description": {"urls": []}}, "followers_count": 2208, "contributors_enabled": false, "name": "\u0631\u064a\u0627\u0636\u062a\u064a \u0627\u0644\u0633\u0639\u0648\u062f\u064a\u0647", "url": "https://t.co/XHbaDSpBSr", "profile_text_color": "666666", "profile_sidebar_fill_color": "252429", "profile_image_url": "http://pbs.twimg.com/profile_images/2801863463/538649d7a4877e3f02e5b3463817912f_normal.jpeg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme9/bg.gif", "status": {"lang": "ar", "id_str": "853643773355728898", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [45, 68], "url": "https://t.co/MrPtWdopqo", "expanded_url": "https://goo.gl/y73b3y", "display_url": "goo.gl/y73b3y"}], "hashtags": [{"indices": [70, 93], "text": "\u0645\u0627\u0646\u0634\u0633\u062a\u0631_\u064a\u0648\u0646\u0627\u064a\u062a\u062f_\u062a\u0634\u064a\u0644\u0633\u064a"}], "user_mentions": []}, "favorited": false, "source": "Twitter for Android", "text": "\u0631\u0627\u0628\u0637 \u0645\u0628\u0627\u0631\u0627\u0647 \u0645\u0627\u0646\u0634\u0633\u062a\u0631 \u064a\u0648\u0646\u0627\u064a\u062a\u062f \u0648\u062a\u0634\u064a\u0644\u0633\u064a \u0628\u062b \u0645\u0628\u0627\u0634\u0631\nhttps://t.co/MrPtWdopqo\n\n#\u0645\u0627\u0646\u0634\u0633\u062a\u0631_\u064a\u0648\u0646\u0627\u064a\u062a\u062f_\u062a\u0634\u064a\u0644\u0633\u064a", "contributors": null, "coordinates": null, "retweeted": false, "id": 853643773355728898, "created_at": "Sun Apr 16 16:18:30 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "\u200f\u0627\u062e\u0628\u0627\u0631 \u0631\u064a\u0627\u0636\u064a\u0647 | \u0627\u0647\u062f\u0627\u0641 | \u062a\u0635\u0631\u064a\u062d\u0627\u062a | \u0643\u0644 \u0634\u064a \u064a\u062a\u0639\u0644\u0642 \u0641\u064a \u0627\u0644\u0631\u064a\u0627\u0636\u0629 #\u0627\u0644\u0647\u0644\u0627\u0644 #\u0627\u0644\u0646\u0635\u0631 #\u0627\u0644\u0627\u062a\u062d\u0627\u062f #\u0627\u0644\u0627\u0647\u0644\u064a #\u0627\u0644\u0634\u0628\u0627\u0628", "screen_name": "mhamdalshrary", "id": 318548049, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme9/bg.gif", "default_profile_image": false, "following": false, "favourites_count": 40, "notifications": false, "listed_count": 4, "location": "", "profile_background_color": "1A1B1F", "has_extended_profile": false, "utc_offset": 10800, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 36818, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/2801863463/538649d7a4877e3f02e5b3463817912f_normal.jpeg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 146, "profile_banner_url": "https://pbs.twimg.com/profile_banners/318548049/1418851897", "created_at": "Thu Jun 16 17:19:13 +0000 2011", "time_zone": "Baghdad", "profile_sidebar_border_color": "181A1E"}, {"verified": false, "lang": "ar", "id_str": "28898050", "profile_link_color": "0083B3", "default_profile": false, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 22], "url": "http://t.co/0dF9pfboXg", "expanded_url": "http://favstar.fm/users/ThatSalafi", "display_url": "favstar.fm/users/ThatSala\u2026"}]}, "description": {"urls": []}}, "followers_count": 14412, "contributors_enabled": false, "name": "Salafi", "url": "http://t.co/0dF9pfboXg", "profile_text_color": "B1B1F5", "profile_sidebar_fill_color": "0A0A0A", "profile_image_url": "http://pbs.twimg.com/profile_images/1784755373/salafi_normal.jpg", "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/410399684/chmaq.jpg", "status": {"lang": "ar", "id_str": "853680288198795266", "place": null, "extended_entities": {"media": [{"indices": [56, 79], "media_url": "http://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "expanded_url": "https://twitter.com/vNw2f/status/853680261707571203/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "id_str": "853680251884457984", "source_status_id_str": "853680261707571203", "type": "photo", "source_user_id": 1321452678, "source_status_id": 853680261707571203, "source_user_id_str": "1321452678", "url": "https://t.co/0RyfRJe5zd", "sizes": {"small": {"resize": "fit", "w": 350, "h": 527}, "medium": {"resize": "fit", "w": 350, "h": 527}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 350, "h": 527}}, "display_url": "pic.twitter.com/0RyfRJe5zd", "id": 853680251884457984}]}, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [{"name": "\u0646\u0648\u0651\u0627\u0641", "indices": [3, 9], "screen_name": "vNw2f", "id": 1321452678, "id_str": "1321452678"}], "media": [{"indices": [56, 79], "media_url": "http://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "expanded_url": "https://twitter.com/vNw2f/status/853680261707571203/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "id_str": "853680251884457984", "source_status_id_str": "853680261707571203", "type": "photo", "source_user_id": 1321452678, "source_status_id": 853680261707571203, "source_user_id_str": "1321452678", "url": "https://t.co/0RyfRJe5zd", "sizes": {"small": {"resize": "fit", "w": 350, "h": 527}, "medium": {"resize": "fit", "w": 350, "h": 527}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 350, "h": 527}}, "display_url": "pic.twitter.com/0RyfRJe5zd", "id": 853680251884457984}]}, "favorited": false, "source": "TweetDeck", "text": "RT @vNw2f: \u0644\u0640\u0640\u064b\u0646 \u064a\u062a\u0645\u0643\u0646 \u0627\u0644\u0627\u0646\u064e\u0633\u0627\u0646 \u062f\u0627\u0626\u0645\u0627\u064b \u0628\u0627\u0644\u062d\u0638\u064a \u0628\u0645\u0627 \u064a\u062a\u0645\u0646\u0649 https://t.co/0RyfRJe5zd", "contributors": null, "coordinates": null, "retweeted": false, "retweeted_status": {"lang": "ar", "id_str": "853680261707571203", "place": null, "extended_entities": {"media": [{"indices": [45, 68], "media_url": "http://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "expanded_url": "https://twitter.com/vNw2f/status/853680261707571203/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "id_str": "853680251884457984", "url": "https://t.co/0RyfRJe5zd", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 350, "h": 527}, "medium": {"resize": "fit", "w": 350, "h": 527}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 350, "h": 527}}, "display_url": "pic.twitter.com/0RyfRJe5zd", "id": 853680251884457984}]}, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [], "media": [{"indices": [45, 68], "media_url": "http://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "expanded_url": "https://twitter.com/vNw2f/status/853680261707571203/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "id_str": "853680251884457984", "url": "https://t.co/0RyfRJe5zd", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 350, "h": 527}, "medium": {"resize": "fit", "w": 350, "h": 527}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 350, "h": 527}}, "display_url": "pic.twitter.com/0RyfRJe5zd", "id": 853680251884457984}]}, "favorited": false, "source": "TweetDeck", "text": "\u0644\u0640\u0640\u064b\u0646 \u064a\u062a\u0645\u0643\u0646 \u0627\u0644\u0627\u0646\u064e\u0633\u0627\u0646 \u062f\u0627\u0626\u0645\u0627\u064b \u0628\u0627\u0644\u062d\u0638\u064a \u0628\u0645\u0627 \u064a\u062a\u0645\u0646\u0649 https://t.co/0RyfRJe5zd", "contributors": null, "coordinates": null, "retweeted": false, "id": 853680261707571203, "created_at": "Sun Apr 16 18:43:29 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 195, "in_reply_to_screen_name": null, "favorite_count": 1, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "id": 853680288198795266, "created_at": "Sun Apr 16 18:43:35 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 195, "in_reply_to_screen_name": null, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "Females, don't follow me. Follow your husbands.", "screen_name": "ThatSalafi", "id": 28898050, "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/410399684/chmaq.jpg", "default_profile_image": false, "following": false, "favourites_count": 3, "notifications": false, "listed_count": 223, "location": "", "profile_background_color": "CAC1EB", "has_extended_profile": false, "utc_offset": -18000, "translator_type": "regular", "is_translator": false, "follow_request_sent": false, "statuses_count": 618, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/1784755373/salafi_normal.jpg", "profile_background_tile": true, "profile_use_background_image": true, "friends_count": 12, "protected": false, "created_at": "Sat Apr 04 23:54:12 +0000 2009", "time_zone": "Quito", "profile_sidebar_border_color": "CFC5ED"}, {"verified": false, "lang": "ar", "id_str": "2592275256", "profile_link_color": "A901DB", "default_profile": false, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 23], "url": "https://t.co/YKOvLjg8LD", "expanded_url": "http://alhadath-alyoum.blogspot.com/", "display_url": "alhadath-alyoum.blogspot.com"}]}, "description": {"urls": []}}, "followers_count": 1207, "contributors_enabled": false, "name": "\u0627\u0644\u062d\u062f\u062b \u0627\u0644\u064a\u0648\u0645", "url": "https://t.co/YKOvLjg8LD", "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/846134917289459714/6T2IzvkJ_normal.jpg", "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/574732852937408513/hUQRm_0e.jpeg", "status": {"lang": "ar", "id_str": "853702584862900225", "place": null, "in_reply_to_screen_name": "ebnzamora62", "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [{"name": "Sh \u0639 b an \ud83d\udc51", "indices": [0, 12], "screen_name": "ebnzamora62", "id": 3388805555, "id_str": "3388805555"}]}, "favorited": false, "source": "Twitter Web Client", "text": "@ebnzamora62 \u0644\u0648 \u0641\u064a\u0647 \u0627\u062a\u062d\u0627\u062f \u0645\u062d\u062a\u0631\u0645 \u0645\u0634 \u0647\u0646\u0634\u0648\u0641\u0647\u0627 \u062a\u0627\u0646\u0649", "contributors": null, "coordinates": null, "retweeted": false, "id": 853702584862900225, "created_at": "Sun Apr 16 20:12:11 +0000 2017", "in_reply_to_user_id_str": "3388805555", "is_quote_status": false, "in_reply_to_user_id": 3388805555, "retweet_count": 0, "favorite_count": 1, "truncated": false, "in_reply_to_status_id_str": "853700430395838468", "geo": null, "in_reply_to_status_id": 853700430395838468}, "description": "", "screen_name": "ALhadathALyoum1", "id": 2592275256, "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/574732852937408513/hUQRm_0e.jpeg", "default_profile_image": false, "following": false, "favourites_count": 130, "notifications": false, "listed_count": 5, "location": "", "profile_background_color": "B40431", "has_extended_profile": false, "utc_offset": 7200, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 26074, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/846134917289459714/6T2IzvkJ_normal.jpg", "profile_background_tile": true, "protected": false, "profile_use_background_image": true, "friends_count": 515, "profile_banner_url": "https://pbs.twimg.com/profile_banners/2592275256/1490569367", "created_at": "Sat Jun 28 02:07:32 +0000 2014", "time_zone": "Cairo", "profile_sidebar_border_color": "FFFFFF"}, {"verified": false, "lang": "ar", "id_str": "808020652556951552", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 6, "contributors_enabled": false, "name": "..", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/830878323370770435/SqbCl0mt_normal.jpg", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "853309309891076096", "place": null, "extended_entities": {"media": [{"indices": [109, 132], "media_url": "http://pbs.twimg.com/media/C9eQR5UXcAArZXe.jpg", "expanded_url": "https://twitter.com/trf_00/status/853309309891076096/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9eQR5UXcAArZXe.jpg", "id_str": "853309291528417280", "url": "https://t.co/qvhO9hPc2Z", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 346, "h": 146}, "medium": {"resize": "fit", "w": 346, "h": 146}, "thumb": {"resize": "crop", "w": 146, "h": 146}, "large": {"resize": "fit", "w": 346, "h": 146}}, "display_url": "pic.twitter.com/qvhO9hPc2Z", "id": 853309291528417280}, {"indices": [109, 132], "media_url": "http://pbs.twimg.com/media/C9eQSVyXkAANWNr.jpg", "expanded_url": "https://twitter.com/trf_00/status/853309309891076096/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9eQSVyXkAANWNr.jpg", "id_str": "853309299170447360", "url": "https://t.co/qvhO9hPc2Z", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 264, "h": 191}, "medium": {"resize": "fit", "w": 264, "h": 191}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 264, "h": 191}}, "display_url": "pic.twitter.com/qvhO9hPc2Z", "id": 853309299170447360}]}, "entities": {"symbols": [], "urls": [{"indices": [83, 106], "url": "https://t.co/4EHtUW8yB9", "expanded_url": "https://goo.gl/TuKWXo", "display_url": "goo.gl/TuKWXo"}], "hashtags": [{"indices": [12, 27], "text": "\u0627\u0644\u0647\u0644\u0627\u0644_\u0627\u0644\u0627\u0647\u064e\u0644\u064a"}, {"indices": [30, 45], "text": "\u0627\u0644\u0646\u0635\u0631_\u0627\u0644\u062a\u0639\u0627\u0648\u0650\u0646"}], "user_mentions": [], "media": [{"indices": [109, 132], "media_url": "http://pbs.twimg.com/media/C9eQR5UXcAArZXe.jpg", "expanded_url": "https://twitter.com/trf_00/status/853309309891076096/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9eQR5UXcAArZXe.jpg", "id_str": "853309291528417280", "url": "https://t.co/qvhO9hPc2Z", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 346, "h": 146}, "medium": {"resize": "fit", "w": 346, "h": 146}, "thumb": {"resize": "crop", "w": 146, "h": 146}, "large": {"resize": "fit", "w": 346, "h": 146}}, "display_url": "pic.twitter.com/qvhO9hPc2Z", "id": 853309291528417280}]}, "favorited": false, "source": "Twitter Web Client", "text": "\u0645\u0634\u0627\u0647\u062f\u0629 \u0631\u0627\u0628\u0637 #\u0627\u0644\u0647\u0644\u0627\u0644_\u0627\u0644\u0627\u0647\u064e\u0644\u064a \u0648 #\u0627\u0644\u0646\u0635\u0631_\u0627\u0644\u062a\u0639\u0627\u0648\u0650\u0646 \u0628\u062b \u0645\u0628\u0627\u0634\u0631 \u0627\u0644\u0627\u0633\u0637\u0648\u0631\u0629 \n\n\u0634\u0627\u0647\u062f \u0647\u0646\u0627\u0627\u0627 \u0627\u0644\u0627\u0646: https://t.co/4EHtUW8yB9\n. https://t.co/qvhO9hPc2Z", "contributors": null, "coordinates": null, "retweeted": false, "id": 853309309891076096, "created_at": "Sat Apr 15 18:09:27 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 53, "in_reply_to_screen_name": null, "favorite_count": 53, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "trf_00", "id": 808020652556951552, "profile_background_image_url": null, "default_profile_image": false, "following": false, "favourites_count": 58, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 112, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/830878323370770435/SqbCl0mt_normal.jpg", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 0, "protected": false, "created_at": "Sun Dec 11 18:48:30 +0000 2016", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "341905255", "profile_link_color": "009999", "default_profile": false, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 292, "contributors_enabled": false, "name": "\u0627\u0644\u0623\u0645\u064a\u0631\u0629 \u062e\u0644\u0648\u062f \u2728", "url": null, "profile_text_color": "666666", "profile_sidebar_fill_color": "252429", "profile_image_url": "http://pbs.twimg.com/profile_images/792089346706903040/PSlCZ162_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme14/bg.gif", "status": {"lang": "ar", "id_str": "853553755018727424", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [58, 81], "url": "https://t.co/yOUZtXUJxE", "expanded_url": "https://goo.gl/G5RvDu", "display_url": "goo.gl/G5RvDu"}], "hashtags": [{"indices": [89, 121], "text": "\u0634\u0627\u0628_\u0639\u0627\u0642_\u064a\u0636\u0631\u0628_\u0627\u0645\u0647_\u0648\u0627\u0628\u0648\u0647_\u0628\u0627\u0644\u0631\u064a\u0627\u0636\u064c"}], "user_mentions": []}, "favorited": false, "source": "TweetDeck", "text": "\u064a\u0627 \u0644\u0644\u0641\u0636\u064a\u062d\u0629\n\u0634\u0627\u0628 \u0633\u0639\u0648\u062f\u064a \u064a\u0636\u0631\u0628 \u0627\u0645\u0647 \u0648\u0627\u0628\u064a\u0647\n\u0634\u0627\u0647\u062f \u0628\u0627\u0644\u0641\u064a\u062f\u064a\u0648 \u0648\u0627\u0644\u0635\u0648\u0631\n\nhttps://t.co/yOUZtXUJxE\n\n****\n\n#\u0634\u0627\u0628_\u0639\u0627\u0642_\u064a\u0636\u0631\u0628_\u0627\u0645\u0647_\u0648\u0627\u0628\u0648\u0647_\u0628\u0627\u0644\u0631\u064a\u0627\u0636\u064c", "contributors": null, "coordinates": null, "retweeted": false, "id": 853553755018727424, "created_at": "Sun Apr 16 10:20:48 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 82, "favorite_count": 83, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "\u2648\ufe0f", "screen_name": "SND_DS", "id": 341905255, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme14/bg.gif", "default_profile_image": false, "following": false, "favourites_count": 64, "notifications": false, "listed_count": 0, "location": "Riyadh, Kingdom of Saudi Arabia", "profile_background_color": "131516", "has_extended_profile": false, "utc_offset": -18000, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 3420, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/792089346706903040/PSlCZ162_normal.jpg", "profile_background_tile": true, "protected": false, "profile_use_background_image": false, "friends_count": 189, "profile_banner_url": "https://pbs.twimg.com/profile_banners/341905255/1460134642", "created_at": "Mon Jul 25 04:22:09 +0000 2011", "time_zone": "Quito", "profile_sidebar_border_color": "000000"}, {"verified": false, "lang": "en", "id_str": "3620970629", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 23], "url": "https://t.co/dNli5Iud5H", "expanded_url": "https://uzomediangr.wordpress.com", "display_url": "uzomediangr.wordpress.com"}]}, "description": {"urls": [{"indices": [132, 155], "url": "https://t.co/OCz2CjgbnW", "expanded_url": "https://facebook.com/uzomedia", "display_url": "facebook.com/uzomedia"}]}}, "followers_count": 79, "contributors_enabled": false, "name": "Uzomedia", "url": "https://t.co/dNli5Iud5H", "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/814522288624332800/9n6YtXbk_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "en", "id_str": "852571383188131841", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [63, 86], "url": "https://t.co/LhRwmLS1P1", "expanded_url": "http://www.youtube.com/watch?v=BTwhtsQadOA&sns=tw", "display_url": "youtube.com/watch?v=BTwhts\u2026"}], "hashtags": [{"indices": [0, 8], "text": "youtube"}], "user_mentions": []}, "favorited": false, "source": "Mobile Web (M2)", "text": "#youtube World Best 2017/2018/2019/2020/ Dance Step - Uzomedia https://t.co/LhRwmLS1P1", "contributors": null, "coordinates": null, "retweeted": false, "id": 852571383188131841, "created_at": "Thu Apr 13 17:17:12 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "Breaking News | Entertainment | Politics | Gist/Gossip | Business | Biographies| Movies | Histories @UzomediaNews @MUzomaMichael\r\n\r\nhttps://t.co/OCz2CjgbnW", "screen_name": "UzomediaOnline", "id": 3620970629, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 2, "notifications": false, "listed_count": 8, "location": "World", "profile_background_color": "C0DEED", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 14138, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/814522288624332800/9n6YtXbk_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 2, "profile_banner_url": "https://pbs.twimg.com/profile_banners/3620970629/1450607018", "created_at": "Fri Sep 11 13:59:23 +0000 2015", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "1552707140", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 976, "contributors_enabled": false, "name": "Mari Way", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/848543332686938116/IfkdB3rV_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "tl", "id_str": "851352747446198275", "place": null, "in_reply_to_screen_name": "nomaldoscores", "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [{"name": "Nouman", "indices": [0, 14], "screen_name": "nomaldoscores", "id": 1633910605, "id_str": "1633910605"}]}, "favorited": false, "source": "Twitter for Android", "text": "@nomaldoscores Hahhaha dont cry \ud83d\ude05 say Masha Allah..", "contributors": null, "coordinates": null, "retweeted": false, "id": 851352747446198275, "created_at": "Mon Apr 10 08:34:47 +0000 2017", "in_reply_to_user_id_str": "1633910605", "is_quote_status": false, "in_reply_to_user_id": 1633910605, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": "851352543015968768", "geo": null, "in_reply_to_status_id": 851352543015968768}, "description": "I'm mature and immature at the same time, deep , weird , rude I'm a goof...\nlogically illogical , An Ambivert ...", "screen_name": "Maria_H_K", "id": 1552707140, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 27596, "notifications": false, "listed_count": 7, "location": "", "profile_background_color": "C0DEED", "has_extended_profile": true, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 14316, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/848543332686938116/IfkdB3rV_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 294, "profile_banner_url": "https://pbs.twimg.com/profile_banners/1552707140/1491143525", "created_at": "Fri Jun 28 09:51:31 +0000 2013", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "1120354020", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 898, "contributors_enabled": false, "name": "\u0627\u0633\u062a\u063a\u0641\u0631\u0643 \u0631\u0628\u064a", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/744688063419392000/_51ajo2E_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "ar", "id_str": "853313078154452992", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [92, 115], "url": "https://t.co/KnsLL1GgFf", "expanded_url": "https://goo.gl/FSO1Sw", "display_url": "goo.gl/FSO1Sw"}, {"indices": [117, 140], "url": "https://t.co/GEam8S8FoZ", "expanded_url": "https://twitter.com/i/web/status/853313078154452992", "display_url": "twitter.com/i/web/status/8\u2026"}], "hashtags": [{"indices": [29, 44], "text": "\u0627\u0644\u0647\u0644\u0627\u0644_\u0627\u0644\u0627\u0647\u064e\u0644\u064a"}, {"indices": [47, 62], "text": "\u0627\u0644\u0646\u0635\u0631_\u0627\u0644\u062a\u0639\u0627\u0648\u0650\u0646"}], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "text": "\u0645\u0634\u0627\u0647\u062f\u0629 \u0645\u0628\u0627\u0631\u0627\u0629 \u0627\u0644\u0627\u0647\u0644\u064a \u0648\u0627\u0644\u0647\u0644\u0627\u0644 #\u0627\u0644\u0647\u0644\u0627\u0644_\u0627\u0644\u0627\u0647\u064e\u0644\u064a \u0648 #\u0627\u0644\u0646\u0635\u0631_\u0627\u0644\u062a\u0639\u0627\u0648\u0650\u0646 \u0628\u062b \u0627\u0644\u0634\u0648\u0637 \u0627\u0644\u0627\u0648\u0644\n\n\u0645\u0646 \u0647\u0646\u0627 \u0627\u0644\u0627\u0646: https://t.co/KnsLL1GgFf\u2026 https://t.co/GEam8S8FoZ", "contributors": null, "coordinates": null, "retweeted": false, "id": 853313078154452992, "created_at": "Sat Apr 15 18:24:26 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 53, "favorite_count": 54, "truncated": true, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "\u0633\u0628\u062d\u0627\u0646 \u0627\u0644\u0644\u0647", "screen_name": "jojo5265", "id": 1120354020, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 6, "notifications": false, "listed_count": 2, "location": "", "profile_background_color": "C0DEED", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 1408, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/744688063419392000/_51ajo2E_normal.jpg", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 1860, "protected": false, "created_at": "Fri Jan 25 22:06:11 +0000 2013", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "242456021", "profile_link_color": "1F98C7", "default_profile": false, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 168, "contributors_enabled": false, "name": "smilerrrrrrr", "url": null, "profile_text_color": "663B12", "profile_sidebar_fill_color": "DAECF4", "profile_image_url": "http://pbs.twimg.com/profile_images/809111513961205760/xB4Uom9D_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme2/bg.gif", "status": {"lang": "en", "id_str": "853355429820280832", "place": null, "extended_entities": {"media": [{"indices": [36, 59], "media_url": "http://pbs.twimg.com/media/C9e3rcqWAAAHxXL.jpg", "expanded_url": "https://twitter.com/mindbiowingpost/status/853352725769318400/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9e3rcqWAAAHxXL.jpg", "id_str": "853352611466051584", "source_status_id_str": "853352725769318400", "type": "photo", "source_user_id": 417565340, "source_status_id": 853352725769318400, "source_user_id_str": "417565340", "url": "https://t.co/xwpDVCRZHB", "sizes": {"small": {"resize": "fit", "w": 680, "h": 680}, "medium": {"resize": "fit", "w": 1080, "h": 1080}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 1080, "h": 1080}}, "display_url": "pic.twitter.com/xwpDVCRZHB", "id": 853352611466051584}]}, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [{"name": "mindblowing pics.", "indices": [3, 19], "screen_name": "mindbiowingpost", "id": 417565340, "id_str": "417565340"}], "media": [{"indices": [36, 59], "media_url": "http://pbs.twimg.com/media/C9e3rcqWAAAHxXL.jpg", "expanded_url": "https://twitter.com/mindbiowingpost/status/853352725769318400/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9e3rcqWAAAHxXL.jpg", "id_str": "853352611466051584", "source_status_id_str": "853352725769318400", "type": "photo", "source_user_id": 417565340, "source_status_id": 853352725769318400, "source_user_id_str": "417565340", "url": "https://t.co/xwpDVCRZHB", "sizes": {"small": {"resize": "fit", "w": 680, "h": 680}, "medium": {"resize": "fit", "w": 1080, "h": 1080}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 1080, "h": 1080}}, "display_url": "pic.twitter.com/xwpDVCRZHB", "id": 853352611466051584}]}, "favorited": false, "source": "Twitter for iPhone", "text": "RT @mindbiowingpost: The good life. https://t.co/xwpDVCRZHB", "contributors": null, "coordinates": null, "retweeted": false, "retweeted_status": {"lang": "en", "id_str": "853352725769318400", "place": null, "extended_entities": {"media": [{"indices": [15, 38], "media_url": "http://pbs.twimg.com/media/C9e3rcqWAAAHxXL.jpg", "expanded_url": "https://twitter.com/mindbiowingpost/status/853352725769318400/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9e3rcqWAAAHxXL.jpg", "id_str": "853352611466051584", "url": "https://t.co/xwpDVCRZHB", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 680, "h": 680}, "medium": {"resize": "fit", "w": 1080, "h": 1080}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 1080, "h": 1080}}, "display_url": "pic.twitter.com/xwpDVCRZHB", "id": 853352611466051584}]}, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [], "media": [{"indices": [15, 38], "media_url": "http://pbs.twimg.com/media/C9e3rcqWAAAHxXL.jpg", "expanded_url": "https://twitter.com/mindbiowingpost/status/853352725769318400/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9e3rcqWAAAHxXL.jpg", "id_str": "853352611466051584", "url": "https://t.co/xwpDVCRZHB", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 680, "h": 680}, "medium": {"resize": "fit", "w": 1080, "h": 1080}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 1080, "h": 1080}}, "display_url": "pic.twitter.com/xwpDVCRZHB", "id": 853352611466051584}]}, "favorited": false, "source": "Twitter Web Client", "text": "The good life. https://t.co/xwpDVCRZHB", "contributors": null, "coordinates": null, "retweeted": false, "id": 853352725769318400, "created_at": "Sat Apr 15 21:01:59 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 14, "in_reply_to_screen_name": null, "favorite_count": 51, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "id": 853355429820280832, "created_at": "Sat Apr 15 21:12:43 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 14, "in_reply_to_screen_name": null, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "Smilerrrrrrrr", "screen_name": "Sunil_K1", "id": 242456021, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme2/bg.gif", "default_profile_image": false, "following": false, "favourites_count": 394, "notifications": false, "listed_count": 2, "location": "", "profile_background_color": "C6E2EE", "has_extended_profile": false, "utc_offset": 3600, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 16915, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/809111513961205760/xB4Uom9D_normal.jpg", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 700, "protected": false, "created_at": "Mon Jan 24 20:44:40 +0000 2011", "time_zone": "London", "profile_sidebar_border_color": "C6E2EE"}, {"verified": false, "lang": "ar", "id_str": "921160578", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 279, "contributors_enabled": false, "name": "\u0631\u064a\u062a\u0627\u0644 \u0627\u0644\u062d\u0631\u0628\u064a", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/3520296227/1da3202f7e44b8309b97da5bb3ae5f02_normal.jpeg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "ar", "id_str": "853314754127048704", "place": null, "extended_entities": {"media": [{"indices": [113, 136], "media_url": "http://pbs.twimg.com/media/C9eVO78XkAcgOyh.jpg", "expanded_url": "https://twitter.com/maoaal1223/status/853314754127048704/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9eVO78XkAcgOyh.jpg", "id_str": "853314738251599879", "url": "https://t.co/Dtmol2xifN", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 300, "h": 168}, "medium": {"resize": "fit", "w": 300, "h": 168}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 300, "h": 168}}, "display_url": "pic.twitter.com/Dtmol2xifN", "id": 853314738251599879}, {"indices": [113, 136], "media_url": "http://pbs.twimg.com/media/C9eVPZBW0AAEyoL.jpg", "expanded_url": "https://twitter.com/maoaal1223/status/853314754127048704/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9eVPZBW0AAEyoL.jpg", "id_str": "853314746057150464", "url": "https://t.co/Dtmol2xifN", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 319, "h": 158}, "medium": {"resize": "fit", "w": 319, "h": 158}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 319, "h": 158}}, "display_url": "pic.twitter.com/Dtmol2xifN", "id": 853314746057150464}]}, "entities": {"symbols": [], "urls": [{"indices": [87, 110], "url": "https://t.co/b8guQvlC3K", "expanded_url": "https://goo.gl/P0AmKG", "display_url": "goo.gl/P0AmKG"}], "hashtags": [{"indices": [28, 43], "text": "\u0627\u0644\u0647\u0644\u0627\u0644_\u0627\u0644\u0627\u0647\u064e\u0644\u064a"}, {"indices": [46, 61], "text": "\u0627\u0644\u0646\u0635\u0631_\u0627\u0644\u062a\u0639\u0627\u0648\u0650\u0646"}], "user_mentions": [], "media": [{"indices": [113, 136], "media_url": "http://pbs.twimg.com/media/C9eVO78XkAcgOyh.jpg", "expanded_url": "https://twitter.com/maoaal1223/status/853314754127048704/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9eVO78XkAcgOyh.jpg", "id_str": "853314738251599879", "url": "https://t.co/Dtmol2xifN", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 300, "h": 168}, "medium": {"resize": "fit", "w": 300, "h": 168}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 300, "h": 168}}, "display_url": "pic.twitter.com/Dtmol2xifN", "id": 853314738251599879}]}, "favorited": false, "source": "Twitter Web Client", "text": "\u0631\u0627\u0628\u0637 \u0645\u0645\u064a\u0632 \u0644\u0644\u0645\u0628\u0627\u0631\u0627\u0629 \u0628\u062b \u0645\u0628\u0627\u0634\u0631 #\u0627\u0644\u0647\u0644\u0627\u0644_\u0627\u0644\u0627\u0647\u064e\u0644\u064a \u0648 #\u0627\u0644\u0646\u0635\u0631_\u0627\u0644\u062a\u0639\u0627\u0648\u0650\u0646 \u0628\u062f\u0648\u0646 \u062a\u0642\u0637\u064a\u0639\n\n\u0645\u0646 \u0647\u0646\u0627 \u0627\u0644\u0627\u0646: https://t.co/b8guQvlC3K\n. https://t.co/Dtmol2xifN", "contributors": null, "coordinates": null, "retweeted": false, "id": 853314754127048704, "created_at": "Sat Apr 15 18:31:05 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 53, "in_reply_to_screen_name": null, "favorite_count": 55, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "\u200f\u0627\u0644\u0644\u0647\u0645 \u0627\u0646\u0643 \u0639\u0641\u0648 \u062a\u062d\u0628 \u0627\u0644\u0639\u0641\u0648 \u0641\u0623\u0639\u0641\u0648\u0639\u0646\u064a", "screen_name": "maoaal1223", "id": 921160578, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 14, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "C0DEED", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 164, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/3520296227/1da3202f7e44b8309b97da5bb3ae5f02_normal.jpeg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 794, "profile_banner_url": "https://pbs.twimg.com/profile_banners/921160578/1368613370", "created_at": "Fri Nov 02 14:50:43 +0000 2012", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "732486930152067073", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 561, "contributors_enabled": false, "name": "\u0627\u0645\u0627\u0631\u0627\u062a 24", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/830068025202208770/y8xwsfsC_normal.jpg", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "853715882731859968", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [70, 93], "url": "https://t.co/W2ktJkzSAv", "expanded_url": "http://www.ar.ew3t.com/1225728.html", "display_url": "ar.ew3t.com/1225728.html"}], "hashtags": [], "user_mentions": []}, "favorited": false, "source": "WordPress.com", "text": "\u0633\u0639\u0631 \u0627\u0644\u0631\u064a\u0627\u0644 \u0627\u0644\u0633\u0639\u0648\u062f\u064a \u0627\u0644\u064a\u0648\u0645 \u0623\u0645\u0627\u0645 \u0627\u0644\u062f\u0648\u0644\u0627\u0631 \u0627\u0644\u0623\u0645\u0631\u064a\u0643\u064a \u0637\u0628\u0642\u0627 \u0644\u0644\u062a\u0639\u0627\u0645\u0644\u0627\u062a\u00a0\u0627\u0644\u064a\u0648\u0645\u064a\u0629 https://t.co/W2ktJkzSAv", "contributors": null, "coordinates": null, "retweeted": false, "id": 853715882731859968, "created_at": "Sun Apr 16 21:05:02 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "\u0627\u0645\u0627\u0631\u0627\u062a 24 , \u0645\u0648\u0642\u0639 \u0627\u062e\u0628\u0627\u0631\u064a \u064a\u0647\u062a\u0645 \u0641\u064a \u0627\u0644\u0627\u062e\u0628\u0627\u0631 \u0627\u0644\u0627\u0645\u0627\u0631\u0627\u062a\u064a\u0629 \u0648\u0627\u0644\u0639\u0627\u0644\u0645\u064a\u0629", "screen_name": "al3sol1", "id": 732486930152067073, "profile_background_image_url": null, "default_profile_image": false, "following": false, "favourites_count": 5961, "notifications": false, "listed_count": 5, "location": "\u062f\u0628\u064a, \u0627\u0644\u0627\u0645\u0627\u0631\u0627\u062a \u0627\u0644\u0639\u0631\u0628\u064a\u0629 \u0627\u0644\u0645\u062a\u062d\u062f\u0629", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 99140, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/830068025202208770/y8xwsfsC_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 34, "profile_banner_url": "https://pbs.twimg.com/profile_banners/732486930152067073/1486738771", "created_at": "Tue May 17 08:24:27 +0000 2016", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "852940733933916163", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 2, "contributors_enabled": false, "name": "\u0627\u0644\u0628\u062b \u0627\u0644\u0645\u0628\u0627\u0634\u0631", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "852943284569870336", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [60, 83], "url": "https://t.co/yoW1ru99IY", "expanded_url": "https://plus.google.com/103795556080144846035/posts/UqPysC52pdT?_utm_source=199-1-1", "display_url": "plus.google.com/10379555608014\u2026"}], "hashtags": [{"indices": [26, 44], "text": "\u0627\u0644\u0627\u062a\u0640\u062d\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0647"}, {"indices": [86, 99], "text": "\u0641\u0640\u0648\u0627\u0632_\u0627\u0644\u0642\u0631\u0646\u064a"}, {"indices": [100, 113], "text": "\u0645\u0640\u062d\u0645\u062f_\u0627\u0644\u0634\u0631\u064a\u0641"}], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "text": "\u0631\u0627\u0628\u0637 \u0628\u062b \u0645\u0628\u0627\u0634\u0631 \u0627\u0644\u0634\u0648\u0637 \u0627\u0644\u0627\u0648\u0644 #\u0627\u0644\u0627\u062a\u0640\u062d\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0647 \u064a\u062f\u0639\u0645 \u0627\u0644\u062c\u0648\u0627\u0644 \n\n https://t.co/yoW1ru99IY \n\n#\u0641\u0640\u0648\u0627\u0632_\u0627\u0644\u0642\u0631\u0646\u064a\n#\u0645\u0640\u062d\u0645\u062f_\u0627\u0644\u0634\u0631\u064a\u0641", "contributors": null, "coordinates": null, "retweeted": false, "id": 852943284569870336, "created_at": "Fri Apr 14 17:55:00 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "UoF5TO5zVHRxJtW", "id": 852940733933916163, "profile_background_image_url": null, "default_profile_image": true, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 1, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 10, "geo_enabled": false, "profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 0, "protected": false, "created_at": "Fri Apr 14 17:44:52 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "852951058934530050", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 0, "contributors_enabled": false, "name": "\u0627\u0645\u064a\u0631\u0629 \u0627\u0644\u0639\u0634\u0627\u0642", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "852953018127572992", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [64, 87], "url": "https://t.co/RCFp8TMpAg", "expanded_url": "http://ow.ly/b0UK30aRF3Q", "display_url": "ow.ly/b0UK30aRF3Q"}], "hashtags": [{"indices": [34, 53], "text": "\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0648\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629"}, {"indices": [90, 109], "text": "\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0648\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629"}], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "text": "\u0634\u0627\u0647\u062f / \u0627\u0641\u0636\u0644 \u0646\u0642\u0644 \u0648\u0627\u0642\u0648\u0649 \u0631\u0627\u0628\u0637 \u0645\u0628\u0627\u0631\u0627\u0629 #\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0648\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629 \u0628\u062b \u0645\u0628\u0627\u0634\u0631\n\nhttps://t.co/RCFp8TMpAg \n\n#\u0627\u0644\u0627\u062a\u062d\u0640\u0627\u062f_\u0648\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629", "contributors": null, "coordinates": null, "retweeted": false, "id": 852953018127572992, "created_at": "Fri Apr 14 18:33:41 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "a65489451thy", "id": 852951058934530050, "profile_background_image_url": null, "default_profile_image": true, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 12, "geo_enabled": false, "profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 0, "protected": false, "created_at": "Fri Apr 14 18:25:54 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "852185986146729985", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 2, "contributors_enabled": false, "name": "\u064c\u0642\u0645\u0631 \u0627\u0644\u0634\u0627\u0645\u064a", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/852186185468444672/PdrIM-gz_normal.jpg", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "853330055535177728", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [99, 122], "url": "https://t.co/VHtDQKHKiD", "expanded_url": "https://twitter.com/i/web/status/853330055535177728", "display_url": "twitter.com/i/web/status/8\u2026"}], "hashtags": [{"indices": [26, 41], "text": "\u0627\u0644\u0647\u0644\u0627\u0644_\u0627\u0644\u0627\u0647\u064e\u0644\u064a"}, {"indices": [44, 59], "text": "\u0627\u0644\u0646\u0635\u0631_\u0627\u0644\u062a\u0639\u0627\u0648\u0650\u0646"}], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "text": "\u0631\u0627\u0628\u0637 \u0627\u0644\u0634\u0648\u0637 \u0627\u0644\u062b\u0627\u0646\u064a \u0644\u0645\u0628\u0627\u0631\u0627\u0629 #\u0627\u0644\u0647\u0644\u0627\u0644_\u0627\u0644\u0627\u0647\u064e\u0644\u064a \u0648 #\u0627\u0644\u0646\u0635\u0631_\u0627\u0644\u062a\u0639\u0627\u0648\u0650\u0646 \u0628\u062b \u064a\u0648\u062a\u064a\u0648\u0628 \u0633\u0631\u064a\u0639 \u0627\u0644\u0627\u0633\u0637\u0648\u0631\u0629\n\n\u0634\u0627\u0647\u062f \u0645\u0646 \u0647\u0646\u0627:\u2026 https://t.co/VHtDQKHKiD", "contributors": null, "coordinates": null, "retweeted": false, "id": 853330055535177728, "created_at": "Sat Apr 15 19:31:54 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 63, "favorite_count": 37, "truncated": true, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "Moollaooeeew", "id": 852185986146729985, "profile_background_image_url": null, "default_profile_image": false, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 11, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/852186185468444672/PdrIM-gz_normal.jpg", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 20, "protected": false, "created_at": "Wed Apr 12 15:45:46 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "852215553469153280", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 2, "contributors_enabled": false, "name": "\u0639\u0631\u0627\u0642\u064a\u0647\u0647 \u0648\u0627\u0641\u062a\u062e\u0631", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/852215767873585153/8WEVbc9m_normal.jpg", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "852969733242707969", "place": null, "extended_entities": {"media": [{"indices": [110, 133], "media_url": "http://pbs.twimg.com/media/C9ZbbrqXUAELIAE.jpg", "expanded_url": "https://twitter.com/AD81kBaJ7bJI6az/status/852969733242707969/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9ZbbrqXUAELIAE.jpg", "id_str": "852969710568296449", "url": "https://t.co/904mwogeh0", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 302, "h": 167}, "medium": {"resize": "fit", "w": 302, "h": 167}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 302, "h": 167}}, "display_url": "pic.twitter.com/904mwogeh0", "id": 852969710568296449}]}, "entities": {"symbols": [], "urls": [{"indices": [84, 107], "url": "https://t.co/X4hdUuGj6D", "expanded_url": "https://goo.gl/og7rYl", "display_url": "goo.gl/og7rYl"}], "hashtags": [{"indices": [28, 46], "text": "\u0627\u0644\u0627\u062a\u062d\u064e\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629"}], "user_mentions": [], "media": [{"indices": [110, 133], "media_url": "http://pbs.twimg.com/media/C9ZbbrqXUAELIAE.jpg", "expanded_url": "https://twitter.com/AD81kBaJ7bJI6az/status/852969733242707969/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9ZbbrqXUAELIAE.jpg", "id_str": "852969710568296449", "url": "https://t.co/904mwogeh0", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 302, "h": 167}, "medium": {"resize": "fit", "w": 302, "h": 167}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 302, "h": 167}}, "display_url": "pic.twitter.com/904mwogeh0", "id": 852969710568296449}]}, "favorited": false, "source": "Twitter Web Client", "text": "\u0634\u0627\u0647\u062f \u0644\u0627\u064a\u0641 \u0628\u062f\u0648\u0646 \u062a\u0642\u0637\u064a\u0639 \u0645\u0628\u0627\u0631\u0627\u0629 #\u0627\u0644\u0627\u062a\u062d\u064e\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629 \u0628\u062b \u0645\u0628\u0627\u0634\u0631 \u0627\u0644\u0634\u0648\u0637 \u0627\u0644\u062b\u0627\u0646\u064a \n\n\u0634\u0627\u0647\u062f \u0645\u0646 \u0647\u0646\u0627: https://t.co/X4hdUuGj6D\n. https://t.co/904mwogeh0", "contributors": null, "coordinates": null, "retweeted": false, "id": 852969733242707969, "created_at": "Fri Apr 14 19:40:06 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 16, "in_reply_to_screen_name": null, "favorite_count": 16, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "AD81kBaJ7bJI6az", "id": 852215553469153280, "profile_background_image_url": null, "default_profile_image": false, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 6, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/852215767873585153/8WEVbc9m_normal.jpg", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 21, "protected": false, "created_at": "Wed Apr 12 17:43:16 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "852939990103465984", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 1, "contributors_enabled": false, "name": "\u0645\u0628\u0627\u0634\u0631", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "852942453208481792", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [60, 83], "url": "https://t.co/Kk3YMxIfAE", "expanded_url": "https://plus.google.com/103795556080144846035/posts/UqPysC52pdT?_utm_source=199-1-1", "display_url": "plus.google.com/10379555608014\u2026"}], "hashtags": [{"indices": [26, 44], "text": "\u0627\u0644\u0627\u062a\u0640\u062d\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0647"}, {"indices": [90, 108], "text": "\u0627\u0644\u0627\u062a\u0640\u062d\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0647"}, {"indices": [109, 122], "text": "\u0641\u0640\u0648\u0627\u0632_\u0627\u0644\u0642\u0631\u0646\u064a"}], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "text": "\u0631\u0627\u0628\u0637 \u0628\u062b \u0645\u0628\u0627\u0634\u0631 \u0627\u0644\u0634\u0648\u0637 \u0627\u0644\u0627\u0648\u0644 #\u0627\u0644\u0627\u062a\u0640\u062d\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0647 \u064a\u062f\u0639\u0645 \u0627\u0644\u062c\u0648\u0627\u0644 \n\n https://t.co/Kk3YMxIfAE \u2026 \u2026 \n\n#\u0627\u0644\u0627\u062a\u0640\u062d\u0627\u062f_\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0647\n#\u0641\u0640\u0648\u0627\u0632_\u0627\u0644\u0642\u0631\u0646\u064a", "contributors": null, "coordinates": null, "retweeted": false, "id": 852942453208481792, "created_at": "Fri Apr 14 17:51:42 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 0, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "", "screen_name": "fVpdN5NUufURouT", "id": 852939990103465984, "profile_background_image_url": null, "default_profile_image": true, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 1, "location": "", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 7, "geo_enabled": false, "profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 0, "protected": false, "created_at": "Fri Apr 14 17:41:55 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "2834289858", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 590, "contributors_enabled": false, "name": "\u0641\u0640\u0653\u0640\u062e\u0640\u0653\u0640\u0627\u0645\u0640\u0647\u060c \u0631\u0653\u062c\u064f\u0640\u0644", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/516551672806400000/hsssHz3v_normal.jpeg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "ar", "id_str": "853626663682400256", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [74, 97], "url": "https://t.co/8mMlAKazCy", "expanded_url": "https://goo.gl/bntZvd", "display_url": "goo.gl/bntZvd"}], "hashtags": [{"indices": [104, 128], "text": "\u0645\u0627\u0646\u0634\u0633\u062a\u0631_\u064a\u0648\u0646\u0627\u064a\u062a\u062f_\u062a\u0634\u064a\u0644\u0633\u064a\u064e"}], "user_mentions": []}, "favorited": false, "source": "TweetDeck", "text": "\u0642\u0646\u0627\u0629 \u062d\u0635\u0631\u064a \u062a\u0628\u062b \u0627\u0644\u0644\u0642\u0627\u0621 \u064a\u0648\u062a\u064a\u0648\u0628 \u062a\u0634\u064a\u0644\u0633\u064a \u0648\u0645\u0627\u0646\u0634\u0633\u062a\u0631 \u064a\u0648\u0646\u0627\u064a\u062a\u064a\u062f\n\u0634\u0627\u0647\u062f \u0627\u0644\u0645\u0628\u0627\u0631\u0627\u0629 \u0645\u0628\u0627\u0634\u0631\n\nhttps://t.co/8mMlAKazCy\n\n+++\n\n#\u0645\u0627\u0646\u0634\u0633\u062a\u0631_\u064a\u0648\u0646\u0627\u064a\u062a\u062f_\u062a\u0634\u064a\u0644\u0633\u064a\u064e", "contributors": null, "coordinates": null, "retweeted": false, "id": 853626663682400256, "created_at": "Sun Apr 16 15:10:30 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 82, "favorite_count": 83, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "\u0633\u0628\u062d\u0627\u0646 \u0627\u0644\u0644\u0647 \u0648\u0628\u062d\u0645\u062f\u0647 \u0633\u0628\u062d\u0627\u0646 \u0627\u0644\u0644\u0647 \u0627\u0644\u0639\u0638\u064a\u0645", "screen_name": "nayf1438", "id": 2834289858, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 12, "notifications": false, "listed_count": 0, "location": "", "profile_background_color": "C0DEED", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 277, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/516551672806400000/hsssHz3v_normal.jpeg", "profile_background_tile": false, "protected": false, "profile_use_background_image": true, "friends_count": 877, "profile_banner_url": "https://pbs.twimg.com/profile_banners/2834289858/1412034061", "created_at": "Sat Sep 27 19:17:41 +0000 2014", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "852793656025141249", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 4, "contributors_enabled": false, "name": "\u0627\u0644\u0627\u062a\u062d\u0627\u062f \u0648\u0627\u0644\u0642\u0627\u062f\u0633\u064a\u0629", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/852794494638465024/ZKbtFApD_normal.jpg", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "853680832682352642", "place": null, "extended_entities": {"media": [{"indices": [56, 79], "media_url": "http://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "expanded_url": "https://twitter.com/vNw2f/status/853680261707571203/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "id_str": "853680251884457984", "source_status_id_str": "853680261707571203", "type": "photo", "source_user_id": 1321452678, "source_status_id": 853680261707571203, "source_user_id_str": "1321452678", "url": "https://t.co/0RyfRJe5zd", "sizes": {"small": {"resize": "fit", "w": 350, "h": 527}, "medium": {"resize": "fit", "w": 350, "h": 527}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 350, "h": 527}}, "display_url": "pic.twitter.com/0RyfRJe5zd", "id": 853680251884457984}]}, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [{"name": "\u0646\u0648\u0651\u0627\u0641", "indices": [3, 9], "screen_name": "vNw2f", "id": 1321452678, "id_str": "1321452678"}], "media": [{"indices": [56, 79], "media_url": "http://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "expanded_url": "https://twitter.com/vNw2f/status/853680261707571203/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "id_str": "853680251884457984", "source_status_id_str": "853680261707571203", "type": "photo", "source_user_id": 1321452678, "source_status_id": 853680261707571203, "source_user_id_str": "1321452678", "url": "https://t.co/0RyfRJe5zd", "sizes": {"small": {"resize": "fit", "w": 350, "h": 527}, "medium": {"resize": "fit", "w": 350, "h": 527}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 350, "h": 527}}, "display_url": "pic.twitter.com/0RyfRJe5zd", "id": 853680251884457984}]}, "favorited": false, "source": "TweetDeck", "text": "RT @vNw2f: \u0644\u0640\u0640\u064b\u0646 \u064a\u062a\u0645\u0643\u0646 \u0627\u0644\u0627\u0646\u064e\u0633\u0627\u0646 \u062f\u0627\u0626\u0645\u0627\u064b \u0628\u0627\u0644\u062d\u0638\u064a \u0628\u0645\u0627 \u064a\u062a\u0645\u0646\u0649 https://t.co/0RyfRJe5zd", "contributors": null, "coordinates": null, "retweeted": false, "retweeted_status": {"lang": "ar", "id_str": "853680261707571203", "place": null, "extended_entities": {"media": [{"indices": [45, 68], "media_url": "http://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "expanded_url": "https://twitter.com/vNw2f/status/853680261707571203/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "id_str": "853680251884457984", "url": "https://t.co/0RyfRJe5zd", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 350, "h": 527}, "medium": {"resize": "fit", "w": 350, "h": 527}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 350, "h": 527}}, "display_url": "pic.twitter.com/0RyfRJe5zd", "id": 853680251884457984}]}, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [], "media": [{"indices": [45, 68], "media_url": "http://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "expanded_url": "https://twitter.com/vNw2f/status/853680261707571203/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9jhqoVW0AAajEM.jpg", "id_str": "853680251884457984", "url": "https://t.co/0RyfRJe5zd", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 350, "h": 527}, "medium": {"resize": "fit", "w": 350, "h": 527}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 350, "h": 527}}, "display_url": "pic.twitter.com/0RyfRJe5zd", "id": 853680251884457984}]}, "favorited": false, "source": "TweetDeck", "text": "\u0644\u0640\u0640\u064b\u0646 \u064a\u062a\u0645\u0643\u0646 \u0627\u0644\u0627\u0646\u064e\u0633\u0627\u0646 \u062f\u0627\u0626\u0645\u0627\u064b \u0628\u0627\u0644\u062d\u0638\u064a \u0628\u0645\u0627 \u064a\u062a\u0645\u0646\u0649 https://t.co/0RyfRJe5zd", "contributors": null, "coordinates": null, "retweeted": false, "id": 853680261707571203, "created_at": "Sun Apr 16 18:43:29 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 195, "in_reply_to_screen_name": null, "favorite_count": 1, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "id": 853680832682352642, "created_at": "Sun Apr 16 18:45:45 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 195, "in_reply_to_screen_name": null, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "\u0645\u062c\u0646\u0648\u0646 \u0628\u0627\u0644\u0627\u062a\u062d\u0627\u062f", "screen_name": "itihad_vs", "id": 852793656025141249, "profile_background_image_url": null, "default_profile_image": false, "following": false, "favourites_count": 36, "notifications": false, "listed_count": 0, "location": "\u062c\u062f\u0629, \u0627\u0644\u0645\u0645\u0644\u0643\u0629 \u0627\u0644\u0639\u0631\u0628\u064a\u0629 \u0627\u0644\u0633\u0639\u0648\u062f\u064a\u0629", "profile_background_color": "F5F8FA", "has_extended_profile": false, "utc_offset": null, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 42, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/852794494638465024/ZKbtFApD_normal.jpg", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 0, "protected": false, "created_at": "Fri Apr 14 08:00:26 +0000 2017", "time_zone": null, "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "en", "id_str": "2467503511", "profile_link_color": "4A913C", "default_profile": false, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 23], "url": "https://t.co/uX9L6x1Mcj", "expanded_url": "http://www.aramental.com", "display_url": "aramental.com"}]}, "description": {"urls": []}}, "followers_count": 748, "contributors_enabled": false, "name": "\u0b8f\u0bb2\u0b95\u0bc8\u0bb5\u0ba9\u0bcd", "url": "https://t.co/uX9L6x1Mcj", "profile_text_color": "000000", "profile_sidebar_fill_color": "000000", "profile_image_url": "http://pbs.twimg.com/profile_images/821967499239522304/P5bjGjQW_normal.jpg", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "ta", "id_str": "853609153335631874", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": [{"name": "\u0b85\u0bb4\u0b95\u0bbf\u0baf \u0ba4\u0bae\u0bbf\u0bb4\u0bcd \u0bae\u0b95\u0ba9\u0bcd", "indices": [3, 16], "screen_name": "kaviintamizh", "id": 2485104318, "id_str": "2485104318"}]}, "favorited": false, "source": "Twitter for iPhone", "text": "RT @kaviintamizh: \u0baa\u0bc1\u0bb0\u0bbf\u0b9e\u0bcd\u0b9a\u0bbf\u0b95\u0bcd\u0b95\u0bcb\u0b99\u0bcd\u0b95 \u0b9a\u0bc0\u0bae\u0bbe\u0ba9\u0bcd.. 2011\u0b95\u0bcd\u0b95\u0bc1 \u0b85\u0baa\u0bcd\u0baa\u0bc1\u0bb1\u0bae\u0bcd \u0b9c\u0bc6, \u0b93\u0baa\u0bbf\u0b8e\u0bb8\u0bcd, \u0b87\u0baa\u0bbf\u0b8e\u0bb8\u0bcd \u0ba9\u0bc1 \u0bae\u0bc2\u0ba3\u0bc1 \u0bae\u0bc1\u0ba4\u0bb2\u0bcd\u0bb5\u0bb0\u0bcd \u0bb5\u0ba8\u0bcd\u0ba4\u0bc1\u0b9f\u0bcd\u0b9f\u0bbe\u0b99\u0bcd\u0b95.. \u0b87\u0ba9\u0bcd\u0ba9\u0bc1\u0bae\u0bcd \u0ba4\u0bbf\u0bae\u0bc1\u0b95 \u0b86\u0b9f\u0bcd\u0b9a\u0bbf\u0ba9\u0bc7 \u0ba8\u0bbf\u0ba9\u0bc8\u2026", "contributors": null, "coordinates": null, "retweeted": false, "retweeted_status": {"lang": "ta", "id_str": "853567447542181889", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [{"indices": [117, 140], "url": "https://t.co/LsToDSzStP", "expanded_url": "https://twitter.com/i/web/status/853567447542181889", "display_url": "twitter.com/i/web/status/8\u2026"}], "hashtags": [], "user_mentions": []}, "favorited": false, "source": "Twitter for Android", "text": "\u0baa\u0bc1\u0bb0\u0bbf\u0b9e\u0bcd\u0b9a\u0bbf\u0b95\u0bcd\u0b95\u0bcb\u0b99\u0bcd\u0b95 \u0b9a\u0bc0\u0bae\u0bbe\u0ba9\u0bcd.. 2011\u0b95\u0bcd\u0b95\u0bc1 \u0b85\u0baa\u0bcd\u0baa\u0bc1\u0bb1\u0bae\u0bcd \u0b9c\u0bc6, \u0b93\u0baa\u0bbf\u0b8e\u0bb8\u0bcd, \u0b87\u0baa\u0bbf\u0b8e\u0bb8\u0bcd \u0ba9\u0bc1 \u0bae\u0bc2\u0ba3\u0bc1 \u0bae\u0bc1\u0ba4\u0bb2\u0bcd\u0bb5\u0bb0\u0bcd \u0bb5\u0ba8\u0bcd\u0ba4\u0bc1\u0b9f\u0bcd\u0b9f\u0bbe\u0b99\u0bcd\u0b95.. \u0b87\u0ba9\u0bcd\u0ba9\u0bc1\u0bae\u0bcd \u0ba4\u0bbf\u0bae\u0bc1\u0b95 \u0b86\u0b9f\u0bcd\u0b9a\u0bbf\u0ba9\u0bc7\u2026 https://t.co/LsToDSzStP", "contributors": null, "coordinates": null, "retweeted": false, "id": 853567447542181889, "created_at": "Sun Apr 16 11:15:12 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 256, "favorite_count": 204, "truncated": true, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "id": 853609153335631874, "created_at": "Sun Apr 16 14:00:56 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 256, "favorite_count": 0, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "in_reply_to_status_id": null}, "description": "\u0b85\u0baf\u0bb2\u0bcd\u0ba8\u0bbe\u0b9f\u0bc1 \u0b89\u0ba8\u0bcd\u0ba4\u0ba9\u0bcd \u0bb5\u0bc0\u0b9f\u0bc1 \u0b85\u0bb2\u0bcd\u0bb2 \u0bb5\u0bbf\u0b9f\u0bc1\u0ba4\u0bbf\u0baf\u0b9f\u0bbe \u0ba4\u0bae\u0bbf\u0bb4\u0bbe.....!!!", "screen_name": "sureshrcs", "id": 2467503511, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 863, "notifications": false, "listed_count": 5, "location": "\u0b85\u0bae\u0bc0\u0bb0\u0b95\u0bae\u0bcd", "profile_background_color": "000000", "has_extended_profile": false, "utc_offset": 14400, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 2493, "geo_enabled": true, "profile_image_url_https": "https://pbs.twimg.com/profile_images/821967499239522304/P5bjGjQW_normal.jpg", "profile_background_tile": false, "protected": false, "profile_use_background_image": false, "friends_count": 1016, "profile_banner_url": "https://pbs.twimg.com/profile_banners/2467503511/1454088267", "created_at": "Mon Apr 28 09:41:47 +0000 2014", "time_zone": "Abu Dhabi", "profile_sidebar_border_color": "000000"}, {"verified": false, "lang": "es", "id_str": "350248899", "profile_link_color": "009999", "default_profile": false, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 146, "contributors_enabled": false, "name": "Javier Merino", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "EFEFEF", "profile_image_url": "http://pbs.twimg.com/profile_images/460745670232526848/kEGibGrH_normal.png", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme14/bg.gif", "status": {"lang": "es", "id_str": "853625282376478720", "place": null, "in_reply_to_screen_name": "laligaennumeros", "entities": {"symbols": [], "urls": [{"indices": [117, 140], "url": "https://t.co/xwRKDEH9pz", "expanded_url": "https://twitter.com/i/web/status/853625282376478720", "display_url": "twitter.com/i/web/status/8\u2026"}], "hashtags": [], "user_mentions": [{"name": "La Liga en 11\u00fameros", "indices": [0, 16], "screen_name": "laligaennumeros", "id": 60983606, "id_str": "60983606"}]}, "favorited": false, "source": "Twitter for Android", "text": "@laligaennumeros Un portero no puede jugar en 1a cuando tiene ese nivel en los balones por alto (por ejemplo). Y es\u2026 https://t.co/xwRKDEH9pz", "contributors": null, "coordinates": null, "retweeted": false, "id": 853625282376478720, "created_at": "Sun Apr 16 15:05:01 +0000 2017", "in_reply_to_user_id_str": "60983606", "is_quote_status": false, "in_reply_to_user_id": 60983606, "retweet_count": 0, "favorite_count": 0, "truncated": true, "in_reply_to_status_id_str": "853553213043339265", "geo": null, "in_reply_to_status_id": 853553213043339265}, "description": "S\u00ed, soy estad\u00edstico, soy raro, pero molo.", "screen_name": "JaviMerino_93", "id": 350248899, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme14/bg.gif", "default_profile_image": false, "following": false, "favourites_count": 62, "notifications": false, "listed_count": 4, "location": "", "profile_background_color": "131535", "has_extended_profile": false, "utc_offset": 7200, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 10449, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/460745670232526848/kEGibGrH_normal.png", "profile_background_tile": true, "protected": false, "profile_use_background_image": false, "friends_count": 234, "profile_banner_url": "https://pbs.twimg.com/profile_banners/350248899/1348185203", "created_at": "Sun Aug 07 13:11:48 +0000 2011", "time_zone": "Madrid", "profile_sidebar_border_color": "FFFFFF"}, {"verified": false, "lang": "nl", "id_str": "949463634", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"url": {"urls": [{"indices": [0, 22], "url": "http://t.co/Qfprq84U2P", "expanded_url": "http://www.sollicitatieLAB.nl", "display_url": "sollicitatieLAB.nl"}]}, "description": {"urls": []}}, "followers_count": 11504, "contributors_enabled": false, "name": "SollicitatieLAB", "url": "http://t.co/Qfprq84U2P", "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/2851807340/7cb28547fad6aa04cbc9c617e51071a2_normal.png", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "status": {"lang": "nl", "id_str": "853606156287131648", "place": null, "extended_entities": {"media": [{"indices": [112, 135], "media_url": "http://pbs.twimg.com/media/C9iCzGOXUAABaqT.jpg", "expanded_url": "https://twitter.com/SollicitatieLAB/status/853606156287131648/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9iCzGOXUAABaqT.jpg", "id_str": "853575943742509056", "url": "https://t.co/74c261XXs2", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 680, "h": 510}, "medium": {"resize": "fit", "w": 960, "h": 720}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 960, "h": 720}}, "display_url": "pic.twitter.com/74c261XXs2", "id": 853575943742509056}]}, "entities": {"symbols": [], "urls": [{"indices": [88, 111], "url": "https://t.co/qEHXYnfvpb", "expanded_url": "http://sollicitatielab.nl/Het-cv-van-de-maand/De-beste-cv-s-van-2017/", "display_url": "sollicitatielab.nl/Het-cv-van-de-\u2026"}], "hashtags": [{"indices": [16, 22], "text": "Pasen"}], "user_mentions": [{"name": "Karina Brouwer", "indices": [80, 87], "screen_name": "Kaakje", "id": 25294252, "id_str": "25294252"}], "media": [{"indices": [112, 135], "media_url": "http://pbs.twimg.com/media/C9iCzGOXUAABaqT.jpg", "expanded_url": "https://twitter.com/SollicitatieLAB/status/853606156287131648/photo/1", "media_url_https": "https://pbs.twimg.com/media/C9iCzGOXUAABaqT.jpg", "id_str": "853575943742509056", "url": "https://t.co/74c261XXs2", "type": "photo", "sizes": {"small": {"resize": "fit", "w": 680, "h": 510}, "medium": {"resize": "fit", "w": 960, "h": 720}, "thumb": {"resize": "crop", "w": 150, "h": 150}, "large": {"resize": "fit", "w": 960, "h": 720}}, "display_url": "pic.twitter.com/74c261XXs2", "id": 853575943742509056}]}, "favorited": false, "source": "TweetDeck", "text": "Niet alleen met #Pasen \nvind je bij ons PAASBESTE cv's \nBijvoorbeeld het cv van\n@Kaakje\nhttps://t.co/qEHXYnfvpb https://t.co/74c261XXs2", "contributors": null, "coordinates": null, "retweeted": false, "id": 853606156287131648, "created_at": "Sun Apr 16 13:49:01 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 1, "in_reply_to_screen_name": null, "favorite_count": 1, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "possibly_sensitive": false, "in_reply_to_status_id": null}, "description": "SollicitatieLAB maakt van je sollicitatie een succes! info@sollicitatielab.nl \u270606-53790492(Cees)\u270606-26946198(Ton) *Outplacement *Het cv van de maand *Training", "screen_name": "SollicitatieLAB", "id": 949463634, "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "default_profile_image": false, "following": false, "favourites_count": 1365, "notifications": false, "listed_count": 367, "location": "", "profile_background_color": "C0DEED", "has_extended_profile": false, "utc_offset": 7200, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 39759, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/2851807340/7cb28547fad6aa04cbc9c617e51071a2_normal.png", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 12478, "protected": false, "created_at": "Thu Nov 15 10:31:17 +0000 2012", "time_zone": "Amsterdam", "profile_sidebar_border_color": "C0DEED"}, {"verified": false, "lang": "ar", "id_str": "851372779001831424", "profile_link_color": "1DA1F2", "default_profile": true, "is_translation_enabled": false, "entities": {"description": {"urls": []}}, "followers_count": 21, "contributors_enabled": false, "name": "\u062a\u0627\u0628\u0639 \u0644\u0627\u064a\u0641", "url": null, "profile_text_color": "333333", "profile_sidebar_fill_color": "DDEEF6", "profile_image_url": "http://pbs.twimg.com/profile_images/851373192841134080/2A1pts2i_normal.jpg", "profile_background_image_url_https": null, "status": {"lang": "ar", "id_str": "852932528117862400", "place": null, "in_reply_to_screen_name": null, "entities": {"symbols": [], "urls": [], "hashtags": [], "user_mentions": []}, "favorited": false, "source": "Twitter Web Client", "withheld_in_countries": ["XY"], "text": "This Tweet from @TABIII3LIVE433 has been withheld in response to a report from the copyright holder.", "contributors": null, "coordinates": null, "retweeted": false, "withheld_copyright": true, "id": 852932528117862400, "created_at": "Fri Apr 14 17:12:16 +0000 2017", "in_reply_to_user_id_str": null, "is_quote_status": false, "in_reply_to_user_id": null, "retweet_count": 371, "withheld_scope": "status", "favorite_count": 376, "truncated": false, "in_reply_to_status_id_str": null, "geo": null, "in_reply_to_status_id": null}, "description": "\u0645\u0644\u0627\u0639\u0628 \u062a\u064a\u0641\u064a", "screen_name": "TABIII3LIVE433", "id": 851372779001831424, "profile_background_image_url": null, "default_profile_image": false, "following": false, "favourites_count": 0, "notifications": false, "listed_count": 0, "location": "Kingdom of Saudi Arabia", "profile_background_color": "F5F8FA", "has_extended_profile": true, "utc_offset": -25200, "translator_type": "none", "is_translator": false, "follow_request_sent": false, "statuses_count": 2, "geo_enabled": false, "profile_image_url_https": "https://pbs.twimg.com/profile_images/851373192841134080/2A1pts2i_normal.jpg", "profile_background_tile": false, "profile_use_background_image": true, "friends_count": 20, "protected": false, "created_at": "Mon Apr 10 09:54:23 +0000 2017", "time_zone": "Pacific Time (US & Canada)", "profile_sidebar_border_color": "C0DEED"}] \ No newline at end of file diff --git a/tests/test_controllers.py b/tests/test_controllers.py index 9727c29..a4b3375 100644 --- a/tests/test_controllers.py +++ b/tests/test_controllers.py @@ -3,7 +3,7 @@ from mock import Mock, patch import simplejson as json import sqlalchemy -from sqlalchemy import create_engine +from sqlalchemy import create_engine, func, or_ from sqlalchemy.orm import sessionmaker import glob, datetime import app.controllers.front_page_controller @@ -14,7 +14,10 @@ import app.controllers.twitter_controller from utils.common import PageType, DbEngine, json2obj, TwitterUserState import requests -from twitter import TwitterError +import twitter + +import utils +from utils.common import CS_JobState ### LOAD THE CLASSES TO TEST from app.models import Base, FrontPage, SubredditPage, Subreddit, Post, ModAction, Comment, User, LumenNotice, LumenNoticeToTwitterUser, TwitterUser, TwitterStatus, TwitterUserSnapshot @@ -51,7 +54,6 @@ def teardown_function(function): clear_all_tables() -""" @patch('praw.Reddit', autospec=True) @patch('praw.objects.Subreddit', autospec=True) def test_archive_reddit_front_page(mock_subreddit, mock_reddit): @@ -97,11 +99,8 @@ def test_archive_reddit_front_page(mock_subreddit, mock_reddit): assert new_pages.count() == 1 - -""" #### basic test for method archive_subreddit_page to insert timestamped pages to subreddit_pages table. #### analogous to test_archive_reddit_front_page. -""" @patch('praw.Reddit', autospec=True) @patch('praw.objects.Subreddit', autospec=True) def test_archive_subreddit_page(mock_subreddit, mock_reddit): @@ -326,6 +325,7 @@ def test_archive_all_missing_subreddit_post_comments(mock_submission, mock_reddi assert dbpost.comment_data == None assert dbpost.comments_queried_at == None +### this test doesn't pass right now. not related to twitter/lumen code @patch('praw.Reddit', autospec=True) def test_archive_last_thousand_comments(mock_reddit): r = mock_reddit.return_value @@ -586,140 +586,18 @@ def test_archive_user(mock_reddit): new_last_seen = user.last_seen assert(old_last_seen <= new_last_seen) -@patch('praw.Reddit', autospec=True) -def test_archive_last_thousand_comments(mock_reddit): - r = mock_reddit.return_value - log = app.cs_logger.get_logger(ENV, BASE_DIR) - - - subreddit_name = "science" - subreddit_id = "mouw" - - comment_fixtures = [] - for filename in glob.glob("{script_dir}/fixture_data/comments*".format(script_dir=TEST_DIR)): - f = open(filename, "r") - comment_fixtures.append(json.loads(f.read())) - f.close() - - - - m = Mock() - m.side_effect = [comment_fixtures[0][0:100], - comment_fixtures[0][100:200], - comment_fixtures[0][200:300], - comment_fixtures[0][300:400], - comment_fixtures[0][400:500], - comment_fixtures[0][500:600], - comment_fixtures[0][600:700], - comment_fixtures[0][700:800], - comment_fixtures[0][800:900], - comment_fixtures[0][900:], - []] - - r.get_comments = m - patch('praw.') - - ## add science subreddit - db_session.add(Subreddit( - id = subreddit_id, - name = subreddit_name)) - db_session.commit() - - cc = app.controllers.comment_controller.CommentController(db_session, r, log) - - assert db_session.query(Comment).count() == 0 - cc.archive_last_thousand_comments(subreddit_name) - assert db_session.query(Comment).count() == 1000 - - db_comment = db_session.query(Comment).order_by(app.models.Comment.created_utc.asc()).first() - assert db_comment.subreddit_id == subreddit_id - assert db_comment.post_id == comment_fixtures[0][-1]['link_id'].replace("t3_","") - assert db_comment.user_id == comment_fixtures[0][-1]['author'] - assert len(db_comment.comment_data) > 0 - - ## NOW TEST THAT NO OVERLAPPING IDS ARE ADDED - first_ids = [x['id'] for x in comment_fixtures[0]] - second_ids = [x['id'] for x in comment_fixtures[1] if (x['id'] in first_ids)!=True] - - m = Mock() - m.side_effect = [comment_fixtures[1][0:100], - comment_fixtures[1][100:200], - comment_fixtures[1][200:300], - comment_fixtures[1][300:400], - comment_fixtures[1][400:500], - comment_fixtures[1][500:600], - comment_fixtures[1][600:700], - comment_fixtures[1][700:800], - comment_fixtures[1][800:900], - comment_fixtures[1][900:], - []] - r.get_comments = m - patch('praw.') - cc.archive_last_thousand_comments(subreddit_name) - db_session.commit() - assert db_session.query(Comment).count() == len(first_ids) + len(second_ids) - -@patch('praw.Reddit', autospec=True) -def test_archive_mod_action_page(mock_reddit): - r = mock_reddit.return_value - log = app.cs_logger.get_logger(ENV, BASE_DIR) - ## TO START, LOAD MOD ACTION FIXTURES - mod_action_fixtures = [] - for filename in glob.glob("{script_dir}/fixture_data/mod_action*".format(script_dir=TEST_DIR)): - f = open(filename, "r") - mod_action_fixtures.append(json.loads(f.read())) - f.close() - - subreddit = mod_action_fixtures[0][0]['sr_id36'] - r.get_mod_log.return_value = mod_action_fixtures[0] - patch('praw.') - - mac = app.controllers.moderator_controller.ModeratorController( - subreddit=subreddit, db_session=db_session, r=r, log=log - ) - - assert db_session.query(ModAction).count() == 0 - last_action_id = mac.archive_mod_action_page() - db_session.commit() - assert db_session.query(ModAction).count() == len(mod_action_fixtures[0]) - assert last_action_id == mod_action_fixtures[0][-1]['id'] - - # makes sure all the properties were assigned - action = mod_action_fixtures[0][0] - db_action = db_session.query(ModAction).filter(ModAction.id == action['id']).first() - - assert db_action.id == action['id'] - assert db_action.created_utc == datetime.datetime.fromtimestamp(action['created_utc']) - assert db_action.subreddit_id == action['sr_id36'] - assert db_action.mod == action['mod'] - assert db_action.target_author == action['target_author'] - assert db_action.action == action['action'] - assert db_action.target_fullname == action['target_fullname'] - assert db_action.action_data != None - assert len(db_action.action_data) > 0 - - - # NOW TRY TO ADD DUPLICATES - # AND ASSERT THAT NO DUPLICATES WERE ADDED - mac.archive_mod_action_page() - db_session.commit() - assert db_session.query(ModAction).count() == len(mod_action_fixtures[0]) - - # NOW ADD A NEW PAGE - r.get_mod_log.return_value = mod_action_fixtures[1] - patch('praw.') - last_action_id = mac.archive_mod_action_page(after_id = mod_action_fixtures[0][-1]['id']) - assert db_session.query(ModAction).count() == len(mod_action_fixtures[0]) + len(mod_action_fixtures[1]) - assert last_action_id == mod_action_fixtures[1][-1]['id'] -""" +########################################## +########### LUMEN/TWITTER TESTS +########################################## +## we are not testing CS_JobState stuff @patch('app.connections.lumen_connect.LumenConnect', autospec=True) def test_archive_lumen_notices(mock_LumenConnect): lc = mock_LumenConnect.return_value - with open("{script_dir}/fixture_data/lumen_notices_1.json".format(script_dir=TEST_DIR)) as f: + with open("{script_dir}/fixture_data/anon_lumen_notices_0.json".format(script_dir=TEST_DIR)) as f: data = f.read() lc.get_notices_to_twitter.return_value = json.loads(data) @@ -731,11 +609,24 @@ def test_archive_lumen_notices(mock_LumenConnect): lumen = app.controllers.lumen_controller.LumenController(db_session, lc, log) topics = ["Copyright"] - date = datetime.datetime.utcnow() # dummy date + + date = datetime.datetime(2017, 6, 1, 0, 0) # 0 notices + lumen.archive_lumen_notices(topics, date) + assert len(db_session.query(LumenNotice).all()) == 0 + + date = datetime.datetime(2017, 4, 15, 0, 0) # 21 notices from 4/15/2017 onward + lumen.archive_lumen_notices(topics, date) + assert len(db_session.query(LumenNotice).all()) == 21 + + date = datetime.datetime(2017, 4, 12, 0, 0) # all 50 notices from 4/12/2017 onward + lumen.archive_lumen_notices(topics, date) + assert len(db_session.query(LumenNotice).all()) == 50 + + date = datetime.datetime(2017, 4, 1, 0, 0) # 50 notices, but all repeats lumen.archive_lumen_notices(topics, date) + assert len(db_session.query(LumenNotice).all()) == 50 # should stay the same - all_notices = db_session.query(LumenNotice).all() - assert len(all_notices) == 50 + # untested behavior: paging through + storing multiple pages of results def mocked_requests_get(url): class MockResponse: @@ -751,14 +642,24 @@ def url(self): @patch('requests.get', side_effect=mocked_requests_get) def test_helper_parse_url_for_username(mock_get): + log = app.cs_logger.get_logger(ENV, BASE_DIR) + test_cases = [ ("https://twitter.com/sooos243/status/852942353321140224", "sooos243"), - ("https://t.co/cDdD0cNOFd", "this_was_tco"), + #("https://t.co/cDdD0cNOFd", "this_was_tco"), # we are currently not unshortening t.cos + ("https://twitter.com/account/suspended", utils.common.ParseUsernameSuspendedUserFound), # matters less right now since we aren't unshortening t.cos ("any other domain or string actually", None) ] for (url, result) in test_cases: - assert app.controllers.lumen_controller.helper_parse_url_for_username(url) == result + try: + assert app.controllers.lumen_controller.helper_parse_url_for_username(url, log) == result + except utils.common.ParseUsernameSuspendedUserFound: + if result == utils.common.ParseUsernameSuspendedUserFound: + assert True + else: + assert False + @patch('requests.get', autospec=True) @patch('app.connections.lumen_connect.LumenConnect', autospec=True) @@ -771,25 +672,40 @@ def test_parse_notices_archive_users(mock_LumenConnect, mock_get): log = app.cs_logger.get_logger(ENV, BASE_DIR) lumen = app.controllers.lumen_controller.LumenController(db_session, lc, log) - with open("{script_dir}/fixture_data/lumen_notices_0.json".format(script_dir=TEST_DIR)) as f: + with open("{script_dir}/fixture_data/anon_lumen_notices_0.json".format(script_dir=TEST_DIR)) as f: data = json.loads(f.read()) notices = data["notices"][:30] # to make test faster, but get >100 users lumen.parse_notices_archive_users(notices) all_notices = db_session.query(LumenNoticeToTwitterUser).all() - assert len(all_notices) == 140 + assert len(all_notices) == 175 # 140 if not anon fixture data + + not_found_users = [nu for nu in all_notices if utils.common.NOT_FOUND_TWITTER_USER_STR in nu.twitter_username] + # because we are currently not unshortening t.co, we will know at least the username for each twitter user we find + assert len(not_found_users) == 0 -# TODO: need to patch get_statuses_user_state + + +# archive_new_users makes sure that new users get a TwitterUser and TwitterUserSnapshot stored for them +# currently, it is NOT responsible for updating existing TwitterUser objects +# (archive_old_users is responsible for that, e.g. in the case that a user goes from found to not found) +# however, it should make sure that it doesn't add duplicate entries for the same user +# # TODO: currently this test does not test user list with len>90, so as to not call api.UsersLookup more than once, which is difficult to mock +@patch('twitter.error', autospec=True) @patch('twitter.Api', autospec=True) @patch('app.connections.twitter_connect.TwitterConnect', autospec=True) -def test_archive_new_users(mock_TwitterConnect, mock_twitter): +def test_archive_new_users(mock_TwitterConnect, mock_twitter_api, mock_twitter_error): tc = mock_TwitterConnect.return_value - api = mock_twitter.return_value - with open("{script_dir}/fixture_data/twitter_users.json".format(script_dir=TEST_DIR)) as f: + api = mock_twitter_api.return_value + te = mock_twitter_error.return_value + with open("{script_dir}/fixture_data/anon_twitter_users.json".format(script_dir=TEST_DIR)) as f: data = f.read() api.UsersLookup.return_value = json.loads(data) tc.api = api + + api.GetUser.side_effect = te.TwitterError([{'message': 'User not found.', 'code': 50}]) + patch('twitter.') patch('app.connections.twitter_connect.') @@ -799,69 +715,229 @@ def test_archive_new_users(mock_TwitterConnect, mock_twitter): log = app.cs_logger.get_logger(ENV, BASE_DIR) twitter = app.controllers.twitter_controller.TwitterController(db_session, tc, log) - with open("{script_dir}/fixture_data/twitter_username_list.json".format(script_dir=TEST_DIR)) as f: + with open("{script_dir}/fixture_data/anon_twitter_username_list.json".format(script_dir=TEST_DIR)) as f: users = json.loads(f.read()) + for j in range(2): + # archive_new_users should be idempotent + # (running this twice shouldn't matter, as in, should not create duplicate records) - ####### essentially query_and_archive_new_users - twitter.archive_new_users(users) + if j == 0: + # (i, (resulting found users, resulting not found users)) + params_results = [(20, (15, 3)), (len(users), (80, 3))] + elif j == 1: + params_results = [(20, (80, 3)), (len(users), (80, 3))] - found_notices = db_session.query(TwitterUser).filter(TwitterUser.user_state == TwitterUserState.FOUND.value).all() - assert len(found_notices) == 80 + prev_limit = 0 + for (i, result) in params_results: + twitter.archive_new_users(users[prev_limit:i]) + prev_limit = i - not_found_notices = db_session.query(TwitterUser).filter(TwitterUser.user_state == TwitterUserState.NOT_FOUND.value).all() - assert len(not_found_notices) == 6 + found_users = db_session.query(TwitterUser).filter(TwitterUser.user_state == TwitterUserState.FOUND.value).all() + found_user_snapshots = db_session.query(TwitterUserSnapshot).filter(TwitterUserSnapshot.user_state == TwitterUserState.FOUND.value).all() + assert len(found_users) == result[0] + assert len(found_user_snapshots) == result[0] - all_notices = db_session.query(TwitterUser).all() - assert len(all_notices) == len(users) + not_found_users = db_session.query(TwitterUser).filter(TwitterUser.user_state == TwitterUserState.NOT_FOUND.value).all() + not_found_user_snapshots = db_session.query(TwitterUserSnapshot).filter(TwitterUserSnapshot.user_state == TwitterUserState.NOT_FOUND.value).all() + assert len(not_found_users) == result[1] + assert len(not_found_user_snapshots) == result[1] + + all_users = db_session.query(TwitterUser).all() + assert len(all_users) == len(set(users)) + + assert len(db_session.query(TwitterUser.screen_name, func.count(TwitterUser.id)).group_by(TwitterUser.screen_name).having(func.count(TwitterUser.id) != 1).all()) == 0 -# TODO: need to patch get_statuses_user_state # TODO: currently this test does not test user list with len>90, so as to not call api.UsersLookup more than once, which is difficult to mock +@patch('twitter.error', autospec=True) @patch('twitter.Api', autospec=True) @patch('app.connections.twitter_connect.TwitterConnect', autospec=True) -def test_archive_old_users(mock_TwitterConnect, mock_twitter): +def test_archive_old_users(mock_TwitterConnect, mock_twitter_api, mock_twitter_error): tc = mock_TwitterConnect.return_value - api = mock_twitter.return_value - with open("{script_dir}/fixture_data/twitter_users.json".format(script_dir=TEST_DIR)) as f: + api = mock_twitter_api.return_value + te = mock_twitter_error.return_value + + # for is_user_suspended_or_deleted + api.GetUser.side_effect = te.TwitterError([{'message': 'User not found.', 'code': 50}]) + + assert len(db_session.query(TwitterUser).all()) == 0 + assert len(db_session.query(TwitterUserSnapshot).all()) == 0 + + log = app.cs_logger.get_logger(ENV, BASE_DIR) + + now = datetime.datetime.utcnow() + + user_A_id = "888" + user_B_id = "999" + user_B_not_found_id = "_user_b_1498029635925.533" + + user_A_record = TwitterUser( + id = user_A_id, + not_found_id = None, + screen_name = "user_a", + created_at = now, + record_created_at = now, + lang = "en", + user_state = TwitterUserState.FOUND.value, + CS_oldest_tweets_archived = CS_JobState.NOT_PROCESSED.value) + + user_B_record = TwitterUser( + id = user_B_not_found_id, + not_found_id = user_B_not_found_id, + screen_name = "user_b", + created_at = None, + record_created_at = now, + lang = None, + user_state = TwitterUserState.NOT_FOUND.value, + CS_oldest_tweets_archived = CS_JobState.PROCESSED.value) # no tweets to find + + db_session.add(user_A_record) + db_session.add(user_B_record) + db_session.commit() + + users = db_session.query(TwitterUser).all() + key_to_user_A = {u.id: u for u in users if u.id == user_A_id} + key_to_user_B = {u.screen_name: u for u in users if u.id == user_B_not_found_id} + + + #################################################################### + + # user A.1: has id before, find id again + # expected behavior: add new snapshot + with open("{script_dir}/fixture_data/anon_twitter_user_A.json".format(script_dir=TEST_DIR)) as f: data = f.read() api.UsersLookup.return_value = json.loads(data) + tc.api = api patch('twitter.') patch('app.connections.twitter_connect.') - - assert len(db_session.query(TwitterUser).all()) == 0 + twitter = app.controllers.twitter_controller.TwitterController(db_session, tc, log) + twitter.archive_old_users(key_to_user_A, has_ids=True) + + users = db_session.query(TwitterUser).filter( + TwitterUser.id == user_A_id).all() + assert len(users) == 1 + assert users[0].not_found_id == None + + snapshots = db_session.query(TwitterUserSnapshot).filter( + TwitterUserSnapshot.twitter_user_id == user_A_id).all() + assert len(snapshots) == 1 + assert snapshots[0].user_json is not None + + + #################################################################### + + + # user A.2: has id before, don't find id this time + # expected behavior: add not_found_id to user object, add new snapshot + api.UsersLookup.return_value = [] + tc.api = api + patch('twitter.') + patch('app.connections.twitter_connect.') - log = app.cs_logger.get_logger(ENV, BASE_DIR) twitter = app.controllers.twitter_controller.TwitterController(db_session, tc, log) + twitter.archive_old_users(key_to_user_A, has_ids=True) + + users = db_session.query(TwitterUser).filter( + TwitterUser.id == user_A_id).all() + assert len(users) == 1 + assert users[0].not_found_id and utils.common.NOT_FOUND_TWITTER_USER_STR in users[0].not_found_id + user_A_not_found_id = users[0].not_found_id + + snapshots = db_session.query(TwitterUserSnapshot).filter( + or_(TwitterUserSnapshot.twitter_user_id == user_A_id, + TwitterUserSnapshot.twitter_user_id == user_A_not_found_id)).all() + assert len(snapshots) == 2 + for snapshot in snapshots: + if snapshot.twitter_user_id is user_A_not_found_id: + assert snapshot.user_json is None + elif snapshot.twitter_user_id is user_A_id: + assert snapshot.user_json is not None + assert newest_snapshot.twitter_not_found_id and newest_snapshot.twitter_not_found_id == user_A_not_found_id + + #################################################################### + + # user B.1: has (only) screen_name before, don't find id this time + # expected behavior: just add new snapshot + api.UsersLookup.return_value = [] + tc.api = api + patch('twitter.') + patch('app.connections.twitter_connect.') - with open("{script_dir}/fixture_data/twitter_id_list.json".format(script_dir=TEST_DIR)) as f: - users = json.loads(f.read()) + twitter = app.controllers.twitter_controller.TwitterController(db_session, tc, log) + twitter.archive_old_users(key_to_user_B, has_ids=False) + + users = db_session.query(TwitterUser).filter( + or_(TwitterUser.id == user_B_not_found_id, + TwitterUser.not_found_id == user_B_not_found_id)).all() + assert len(users) == 1 + assert users[0].id == user_B_not_found_id + assert users[0].not_found_id == user_B_not_found_id + + snapshots = db_session.query(TwitterUserSnapshot).filter( + TwitterUserSnapshot.twitter_user_id == user_B_not_found_id).all() + assert len(snapshots) == 1 + assert snapshots[0].twitter_not_found_id and snapshots[0].twitter_not_found_id == user_B_not_found_id + + + #################################################################### - ####### essentially query_and_archive_user_snapshots_and_tweets - twitter.archive_old_users(users) - found_notices = db_session.query(TwitterUserSnapshot).all() - assert len(found_notices) == 80 + # user B.2: has screen_name before, find id this time + # expected behavior: (we assume screen_name stays the same between the time of query and time of response, + # add user_id to TwitterUser object, add 1 new snapshot + with open("{script_dir}/fixture_data/anon_twitter_user_B.json".format(script_dir=TEST_DIR)) as f: + data = f.read() + api.UsersLookup.return_value = json.loads(data) + + tc.api = api + patch('twitter.') + patch('app.connections.twitter_connect.') + + twitter = app.controllers.twitter_controller.TwitterController(db_session, tc, log) + + # should work fine even if you know real id but call by screen_name + for i in [1,2]: + twitter.archive_old_users(key_to_user_B, has_ids=False) + + users = db_session.query(TwitterUser).filter( + TwitterUser.not_found_id == user_B_not_found_id).all() + assert len(users) == 1 + assert users[0].id == user_B_id + + snapshots = db_session.query(TwitterUserSnapshot).filter( + TwitterUserSnapshot.twitter_user_id == user_B_id).all() + assert len(snapshots) == i # add a new snapshot each time + assert snapshots[0].twitter_not_found_id == user_B_not_found_id + + snapshots = db_session.query(TwitterUserSnapshot).filter( + TwitterUserSnapshot.twitter_user_id == user_B_not_found_id).all() + assert len(snapshots) == 1 # one from B1. B2 shouldn't have created a not_found_id snapshot + + ########## + + all_users = db_session.query(TwitterUser).all() + assert len(all_users) == 2 + # TODO: currently this test does not test users with lots of statuses/tweets, so as to not call api.GetUserTimeline more than once, which is difficult to mock @patch('twitter.Api', autospec=True) @patch('app.connections.twitter_connect.TwitterConnect', autospec=True) -def test_archive_user_tweets(mock_TwitterConnect, mock_twitter): #, mock_twitter_error): +def test_archive_user_tweets(mock_TwitterConnect, mock_twitter_api): tc = mock_TwitterConnect.return_value - api = mock_twitter.return_value + api = mock_twitter_api.return_value def mocked_GetUserTimeline(user_id, count=None, max_id=None): - with open("{script_dir}/fixture_data/twitter_tweets.json".format(script_dir=TEST_DIR)) as f: + with open("{script_dir}/fixture_data/anon_twitter_tweets.json".format(script_dir=TEST_DIR)) as f: data = json.loads(f.read()) assert len(data) == 200 if user_id == "2" or user_id == "3": # suspended_user or protected_user - # not mocking TwitterErrors - raise TwitterError("Not authorized.") + raise twitter.error.TwitterError("Not authorized.") # not mocking TwitterError elif user_id == "1": # deleted_user - raise TwitterError([{'message': 'Sorry, that page does not exist.', 'code': 34}]) + raise twitter.error.TwitterError([{'message': 'Sorry, that page does not exist.', 'code': 34}]) else: # # existing_user ? return data @@ -878,15 +954,11 @@ def mocked_GetUserTimeline(user_id, count=None, max_id=None): log = app.cs_logger.get_logger(ENV, BASE_DIR) - #### - #import app.connections.twitter_connect - #tc = app.connections.twitter_connect.TwitterConnect(log) - - t_conroller = app.controllers.twitter_controller.TwitterController(db_session, tc, log) + t_controller = app.controllers.twitter_controller.TwitterController(db_session, tc, log) user_results = [ - ({"screen_name": "existing_user", "id": "52332354", "user_state": TwitterUserState.FOUND.value}, {"status_count": 200, "user_state": TwitterUserState.FOUND.value}), + ({"screen_name": "existing_user", "id": "888", "user_state": TwitterUserState.FOUND.value}, {"status_count": 200, "user_state": TwitterUserState.FOUND.value}), ({"screen_name": "deleted_user", "id": "1", "user_state": TwitterUserState.NOT_FOUND.value}, {"status_count": 0, "user_state": TwitterUserState.NOT_FOUND.value}), ({"screen_name": "suspended_user", "id": "2", "user_state": TwitterUserState.NOT_FOUND.value}, {"status_count": 0, "user_state": TwitterUserState.SUSPENDED.value}), ({"screen_name": "protected_user", "id": "3", "user_state": TwitterUserState.PROTECTED.value}, {"status_count": 0, "user_state": TwitterUserState.PROTECTED.value}) @@ -901,20 +973,127 @@ def mocked_GetUserTimeline(user_id, count=None, max_id=None): db_session.add(user_record) db_session.commit() - t_conroller.archive_user_tweets(user["id"]) + t_controller.archive_user_tweets(user_record, backfill=True, is_test=True) user_record = db_session.query(TwitterUser).filter(TwitterUser.screen_name == user["screen_name"]).first() all_tweets = db_session.query(TwitterStatus).filter(TwitterStatus.user_id == user_record.id).all() assert len(all_tweets) == result["status_count"] assert user_record.user_state == result["user_state"] - break + + """ +# TODO: currently this test does not test user list with len>90, so as to not call api.UsersLookup more than once, which is difficult to mock +@patch('twitter.error', autospec=True) +@patch('twitter.Api', autospec=True) +@patch('app.connections.twitter_connect.TwitterConnect', autospec=True) +def test_query_and_archive_user_snapshots_and_tweets(mock_TwitterConnect, mock_twitter_api, mock_twitter_error): + tc = mock_TwitterConnect.return_value + api = mock_twitter_api.return_value + te = mock_twitter_error.return_value + with open("{script_dir}/fixture_data/twitter_users.json".format(script_dir=TEST_DIR)) as f: + data = f.read() + api.UsersLookup.return_value = json.loads(data) + + with open("{script_dir}/fixture_data/twitter_tweets.json".format(script_dir=TEST_DIR)) as f: + data = f.read() + api.GetUserTimeline.return_value = json.loads(data) + + tc.api = api + patch('twitter.') + patch('app.connections.twitter_connect.') + + + + tc.api = api + + api.GetUser.side_effect = te.TwitterError([{'message': 'User not found.', 'code': 50}]) + + patch('twitter.') + patch('app.connections.twitter_connect.') + + + assert len(db_session.query(TwitterUser).all()) == 0 + + log = app.cs_logger.get_logger(ENV, BASE_DIR) + twitter = app.controllers.twitter_controller.TwitterController(db_session, tc, log) + + with open("{script_dir}/fixture_data/twitter_username_list.json".format(script_dir=TEST_DIR)) as f: + users = json.loads(f.read()) + + twitter.archive_new_users(users) + + # same as asserts for archive_new_users + found_users = db_session.query(TwitterUser).filter(TwitterUser.user_state == TwitterUserState.FOUND.value).all() + found_user_snapshots = db_session.query(TwitterUserSnapshot).filter(TwitterUserSnapshot.user_state == TwitterUserState.FOUND.value).all() + assert len(found_users) == 80 + assert len(found_user_snapshots) == 80 + + not_found_users = db_session.query(TwitterUser).filter(TwitterUser.user_state == TwitterUserState.NOT_FOUND.value).all() + not_found_user_snapshots = db_session.query(TwitterUserSnapshot).filter(TwitterUserSnapshot.user_state == TwitterUserState.NOT_FOUND.value).all() + assert len(not_found_users) == 6 + assert len(not_found_user_snapshots) == 6 + + all_notices = db_session.query(TwitterUser).all() + assert len(all_notices) == len(set(users)) + + assert len(db_session.query(TwitterUser.screen_name, func.count(TwitterUser.id)).group_by(TwitterUser.screen_name).having(func.count(TwitterUser.id) != 1).all()) == 0 + + + ########################################## + # now run query_and_archive_user_snapshots_and_tweets + future = datetime.datetime.utcnow() + datetime.timedelta(days=1) + + for i in range(2,4): + twitter.query_and_archive_user_snapshots_and_tweets(future, is_test=True) # to archive all + + found_users = db_session.query(TwitterUser).filter(TwitterUser.user_state == TwitterUserState.FOUND.value).all() + found_user_snapshots = db_session.query(TwitterUserSnapshot).filter(TwitterUserSnapshot.user_state == TwitterUserState.FOUND.value).all() + assert len(found_users) == 80 + assert len(found_user_snapshots) == 80*i + + not_found_users = db_session.query(TwitterUser).filter(TwitterUser.user_state == TwitterUserState.NOT_FOUND.value).all() + not_found_user_snapshots = db_session.query(TwitterUserSnapshot).filter(TwitterUserSnapshot.user_state == TwitterUserState.NOT_FOUND.value).all() + assert len(not_found_users) == 6 + assert len(not_found_user_snapshots) == 6*i + + all_users = db_session.query(TwitterUser).all() + assert len(all_users) == len(set(users)) + + assert len(db_session.query(TwitterUser.screen_name, func.count(TwitterUser.id)).group_by(TwitterUser.screen_name).having(func.count(TwitterUser.id) != 1).all()) == 0 + + ######################################## + + # get tweets for 1 user (since we can't mock GetUserTimeline for multiple users...) + not_found_user = None + found_user = None + for user in all_users: + if utils.common.NOT_FOUND_TWITTER_USER_STR in user.id or user.user_state is TwitterUserState.PROTECTED: + not_found_user = user + else: + found_user = user + if not_found_user is not None and found_user is not None: + break + + # can only have 1 found user, since we can't mock GetUserTimeline for so many users... + twitter.with_user_records_archive_tweets([found_user, not_found_user], backfill=True, is_test=True) + + assert len(db_session.query(TwitterStatus).all()) == 200 + #assert [s.user_id for s in db_session.query(TwitterStatus).all()] == [found_user.id] + assert len(db_session.query(TwitterStatus).filter(TwitterStatus.user_id == found_user.id).all()) == 200 + + # with not_found_user, with_user_records_archive_tweets shouldn't call GetUserTimeline + assert len(db_session.query(TwitterStatus).filter(TwitterStatus.user_id == not_found_user.id).all()) == 0 """ + + + + """ +t.query_and_archive_user_snapshots_and_tweets(date) + Should also test: lumen.query_and_parse_notices_archive_users() t.query_and_archive_new_users() - t.query_and_archive_user_snapshots_and_tweets(date) t.query_and_archive_tweets(username) """ \ No newline at end of file diff --git a/utils/anonymize_lumen_twitter_fixture_data.py b/utils/anonymize_lumen_twitter_fixture_data.py new file mode 100644 index 0000000..c3ea375 --- /dev/null +++ b/utils/anonymize_lumen_twitter_fixture_data.py @@ -0,0 +1,190 @@ +import simplejson as json +import datetime +import random +import string + +# all digits +def rand_id(n): + return int(''.join(random.choice(string.digits) for _ in range(n))) + +# all letters +def rand_string(n): + return ''.join(random.choice(string.ascii_lowercase) for _ in range(n)) + + +LUMEN_DATETIME_STR_FORMAT = "%Y-%m-%dT%H:%M:%S.000Z" +TWITTER_DATETIME_STR_FORMAT = "%a %b %d %H:%M:%S %z %Y" +def fuzz_date(date_str, date_format): + if date_str: + date = datetime.datetime.strptime(date_str, date_format) + fuzzed_date = date + datetime.timedelta(days=random.randint(-2, 2), seconds=random.randint(1, 30), microseconds=random.randint(1, 1000)) + return fuzzed_date.strftime(date_format) + return None + + +""" +goals: keep twitter.com urls in order to parse usernames +it is okay that usernames parsed here don't match with twitter user fixture data...so very unlikely to +have 2 urls parse the same username (too hard to do otherwise) + +the other change you have to make to a lumen_notices file is to +change the "meta" "next_page" value to something that will make the test pass +""" +def anonymize_lumen_notices(fname): + output_fname = "anon_" + fname + + with open(fname, "r") as f: + data = json.loads(f.read()) + + # don't anon data["meta"] + for notice in data["notices"]: + notice["id"] = rand_id(len(str(notice["id"]))) + notice["date_received"] = fuzz_date(notice["date_received"], LUMEN_DATETIME_STR_FORMAT) + notice["date_sent"] = fuzz_date(notice["date_sent"], LUMEN_DATETIME_STR_FORMAT) + notice["sender_name"] = rand_string(len(notice["sender_name"])) + notice["recipient_name"] = rand_string(len(notice["recipient_name"])) + notice["principal_name"] = rand_string(len(notice["principal_name"])) if notice["principal_name"] else None + + for work in notice["works"]: + twitter_domain = "twitter.com" + + # infringing_urls is known to contain urls + for url_obj in work["infringing_urls"]: + # not going to touch t.co urls for now + url = url_obj["url"] + url_split = url.split("/") + if len(url_split) >= 3 and url_split[2] == twitter_domain: + username = url_split[3] + url_split[3] = rand_string(len(url_split[3])) + url_obj["url"] = "/".join(url_split) + + + with open(output_fname, "w") as f: + f.write(json.dumps(data)) + + +""" +anon_twitter_username_list.json should be the list of usernames in twitter_users file +""" +def anonymize_twitter_users(fname, produce_username_list=False): + output_fname = "anon_" + fname + output_username_list_fname = "anon_twitter_username_list.json" + + with open(fname, "r") as f: + data = json.loads(f.read()) + + username_list = [] + for user in data: + user = anonymize_twitter_user(user) + username_list.append(user["screen_name"]) + + with open(output_fname, "w") as f: + f.write(json.dumps(data)) + + if produce_username_list: + with open(output_username_list_fname, "w") as f: + f.write(json.dumps(username_list)) + + +def anonymize_twitter_user(user, user_id=None): + screen_name = user["screen_name"] + uid = user["id"] + name = user["name"] + + anon_screen_name = rand_string(len(screen_name)) + anon_uid = rand_id(len(str(uid))) if not user_id else user_id + anon_name = rand_string(len(name)) + + user["id"] = anon_uid + user["id_str"] = str(anon_uid) + user["screen_name"] = anon_screen_name + user["name"] = anon_name + user["description"] = rand_string(len(user["description"])) + + # randomize urls but make them still look like urls by prepending "http://" + url_fields = ["profile_background_image_url", "profile_image_url_https", "profile_image_url", "profile_background_image_url_https", "profile_banner_url", "url"] + for url_field in url_fields: + if url_field in user and user[url_field]: + user[url_field] = "http://" + rand_string(len(user[url_field])) if user[url_field] else None + + user["created_at"] = fuzz_date(user["created_at"], TWITTER_DATETIME_STR_FORMAT) + + if "status" in user and user["status"]: + user["status"] = anonymize_twitter_tweet(user["status"], user_id=user_id) ## + + # throw out... current tests don't depend on knowing these fields + if "entities" in user and user["entities"]: + user["entities"] = {} ## + return user + +def anonymize_twitter_tweet(tweet, user_id=None): + status_id = tweet["id"] + in_reply_to_status_id = tweet["in_reply_to_status_id"] + in_reply_to_screen_name = tweet["in_reply_to_screen_name"] + in_reply_to_user_id = tweet["in_reply_to_user_id"] + + anon_status_id = rand_id(len(str(status_id))) + anon_in_reply_to_status_id = rand_id(len(str(in_reply_to_status_id))) if in_reply_to_status_id else None + anon_in_reply_to_user_id = rand_id(len(str(in_reply_to_user_id))) if in_reply_to_user_id else None + anon_in_reply_to_screen_name = rand_string(len(in_reply_to_screen_name)) if in_reply_to_screen_name else None + + + tweet["id"] = anon_status_id + tweet["id_str"] = str(anon_status_id) + if "in_reply_to_status_id" in tweet and tweet["in_reply_to_status_id"]: + tweet["in_reply_to_status_id"] = anon_in_reply_to_status_id + if "in_reply_to_status_id_str" in tweet and tweet["in_reply_to_status_id_str"]: + tweet["in_reply_to_status_id_str"] = str(anon_in_reply_to_status_id) + if "in_reply_to_user_id" in tweet and tweet["in_reply_to_user_id"]: + tweet["in_reply_to_user_id"] = anon_in_reply_to_user_id + if "in_reply_to_user_id_str" in tweet and tweet["in_reply_to_user_id_str"]: + tweet["in_reply_to_user_id_str"] = str(anon_in_reply_to_user_id) + if "in_reply_to_screen_name" in tweet and tweet["in_reply_to_screen_name"]: + tweet["in_reply_to_screen_name"] = anon_in_reply_to_screen_name + + tweet["created_at"] = fuzz_date(tweet["created_at"], TWITTER_DATETIME_STR_FORMAT) + + tweet["text"] = rand_string(len(tweet["text"])) + + if "retweeted_status" in tweet and tweet["retweeted_status"]: + tweet["retweeted_status"] = anonymize_twitter_tweet(tweet["retweeted_status"]) + + if "user" in tweet and tweet["user"]: + tweet["user"] = anonymize_twitter_user(tweet["user"], user_id=user_id) + + if "entities" in tweet and tweet["entities"]: + tweet["entities"] = None ### discarding for now + + return tweet + +# if user_id not None, set user id for each tweet to user_id +def anonymize_twitter_tweets(fname, user_id=None): + output_fname = "anon_" + fname + + with open(fname, "r") as f: + data = json.loads(f.read()) + + for tweet in data: + tweet = anonymize_twitter_tweet(tweet, user_id=user_id) + + with open(output_fname, "w") as f: + f.write(json.dumps(data)) + + + +# fname = "lumen_notices_0.json" +# anonymize_lumen_notices(fname) +# +# fname = "twitter_users.json" +# anonymize_twitter_users(fname, True) +# +# anonymize_twitter_users("twitter_user_A.json", False) # afterwards, need to modify id=888, username="user_a" +# anonymize_twitter_users("twitter_user_B.json", False) # afterwards, need to modify id=999, username="user_b" +# anonymize_twitter_users("twitter_user_ex.json", False) # to test +# +# fname = "twitter_tweets.json" +# anonymize_twitter_tweets(fname, user_id=888) +# +## to test +# fname = "twitter_tweets_ex.json" +# anonymize_twitter_tweets(fname) \ No newline at end of file From 729d0c7a3156b3041471e406e01aa9b08a5c77ec Mon Sep 17 00:00:00 2001 From: mmou Date: Wed, 19 Jul 2017 19:55:09 -0400 Subject: [PATCH 024/221] make twitter queries less expensive. --- app/controllers/twitter_controller.py | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 7a76278..1562c2b 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -178,8 +178,8 @@ def archive_new_users(self, unarchived_notice_users): failed_users.update(this_users) self.log.error("Failed to query for {0} Twitter users using api.UsersLookup: {1}".format(limit-prev_limit, str(e))) else: - self.log.info("Queried for {0} Twitter users out of a total of {1} users, got {2} users".format( - limit-prev_limit, len(user_names), len(users_info))) + self.log.info("Queried for {0} Twitter users out of a total of {1} users, got {2} out of {3} users".format( + limit, len(user_names), len(users_info), limit-prev_limit)) prev_limit = limit # for found users, commit to db @@ -329,20 +329,20 @@ def is_user_suspended_or_deleted(self, username): doesn't need to update any CS_JobState fields. """ def query_and_archive_user_snapshots_and_tweets(self, min_time, is_test=False): - need_snapshot_user_snapshots = self.db_session.query( - TwitterUserSnapshot.twitter_user_id).group_by( - TwitterUserSnapshot.twitter_user_id).having( - func.max(TwitterUserSnapshot.record_created_at) < min_time).all() + need_snapshot_users = self.db_session.query(TwitterUser).all() + + # querying TwitterUserSnapshot is very expensive + #need_snapshot_user_snapshots = self.db_session.query( + # TwitterUserSnapshot.twitter_user_id).group_by( + # TwitterUserSnapshot.twitter_user_id).having( + # func.max(TwitterUserSnapshot.record_created_at) < min_time).all() # make sure to get unique ids - need_snapshot_user_ids = list(set([us.twitter_user_id for us in need_snapshot_user_snapshots])) + need_snapshot_user_ids = [u.id for u in need_snapshot_users] self.log.info("Need to update snapshots for {0} users".format(len(need_snapshot_user_ids))) if len(need_snapshot_user_ids) <= 0: return - need_snapshot_users = self.db_session.query(TwitterUser).filter( - TwitterUser.id.in_(need_snapshot_user_ids)).all() - # store TwitterUserSnapshot, update TwitterUser for all queried users need_snapshot_id_to_all_user = {u.id: u for u in need_snapshot_users} need_snapshot_id_to_found_user = {uid: need_snapshot_id_to_all_user[uid] for uid in need_snapshot_id_to_all_user if utils.common.NOT_FOUND_TWITTER_USER_STR not in uid} @@ -393,8 +393,8 @@ def archive_old_users(self, key_to_users, has_ids=True): if e.message[0]['code'] != 17: self.log.error("Unexpected error while querying for {0} Twitter users using api.UsersLookup: {1}; users: {2}".format(limit-prev_limit, str(e), this_users)) else: - self.log.info("Queried for {0} Twitter users out of a total of {1} users, got {2} users".format( - limit-prev_limit, len(user_keys), len(users_info))) + self.log.info("Queried for {0} Twitter users out of a total of {1} users, got {2} out of {3} users".format( + limit, len(user_keys), len(users_info), limit-prev_limit)) prev_limit = limit @@ -507,11 +507,12 @@ def archive_old_users(self, key_to_users, has_ids=True): def query_and_archive_tweets(self, backfill=False, is_test=False): if backfill: + # archive tweets for all users who haven't had oldest tweets PROCESSED unarchived_users = self.db_session.query(TwitterUser).filter( TwitterUser.CS_oldest_tweets_archived != CS_JobState.PROCESSED.value).all() else: unarchived_users = self.db_session.query(TwitterUser).filter( - TwitterUser.CS_oldest_tweets_archived == CS_JobState.NOT_PROCESSED.value).all() + TwitterUser.CS_oldest_tweets_archived == CS_JobState.PROCESSED.value).all() self.log.info("About to query and archive tweets {0} users; backfill={1}".format(len(unarchived_users), backfill)) From 03d1d19420f0160f8636e2f7e1f8134afc174116 Mon Sep 17 00:00:00 2001 From: mmou Date: Wed, 16 Aug 2017 19:39:30 -0400 Subject: [PATCH 025/221] start on email_db_report.generate_twitter_report. untested. --- utils/email_db_report.py | 642 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 642 insertions(+) create mode 100644 utils/email_db_report.py diff --git a/utils/email_db_report.py b/utils/email_db_report.py new file mode 100644 index 0000000..bad5b29 --- /dev/null +++ b/utils/email_db_report.py @@ -0,0 +1,642 @@ +import os, sys +import datetime +import simplejson as json + +ENV = sys.argv[1] # "production" +os.environ['CS_ENV'] = ENV +BASE_DIR = os.path.join(os.path.dirname(os.path.realpath(__file__)), "..") +sys.path.append(BASE_DIR) + +from utils.common import PageType, ThingType, TwitterUserState + +with open(os.path.join(BASE_DIR, "config") + "/{env}.json".format(env=ENV), "r") as config: + DBCONFIG = json.loads(config.read()) + +with open(os.path.join(BASE_DIR, "config") + "/email_db_report.json".format(env=ENV), "r") as config: + EMAIL_CONFIG = json.loads(config.read()) + +### LOAD SQLALCHEMY +from sqlalchemy import create_engine +from sqlalchemy.orm import sessionmaker +from sqlalchemy import func + +db_engine = create_engine("mysql://{user}:{password}@{host}/{database}".format( + host = DBCONFIG['host'], + user = DBCONFIG['user'], + password = DBCONFIG['password'], + database = DBCONFIG['database'])) +DBSession = sessionmaker(bind=db_engine) +db_session = DBSession() + +### FILTER OUT DEPRECATION WARNINGS ASSOCIATED WITH DECORATORS +# https://github.com/ipython/ipython/issues/9242 +import warnings +warnings.filterwarnings('ignore', category=DeprecationWarning, message='.*use @default decorator instead.*') + + +##################################################### + + +TOTAL_LABEL = "total count" +DATE_FORMAT_SEC = "%Y-%m-%d %H:%M:%S" +DATE_FORMAT_DAY = "%Y-%m-%d" + +def date_to_str(date, by_day=True): + date_format = DATE_FORMAT_DAY if by_day else DATE_FORMAT_SEC + return date.strftime(date_format) + +def str_to_date(date_str, by_day=True): + date_format = DATE_FORMAT_DAY if by_day else DATE_FORMAT_SEC + return datetime.datetime.strptime(date_str, date_format) + +def run_query_for_days(query_str, today, days=7): + today_str = date_to_str(today, by_day=False) + last_week = today - datetime.timedelta(days=days) + last_week_str = date_to_str(last_week, by_day=False) + + result = db_session.execute(query_str, {"from_date": last_week_str, "to_date": today_str}).fetchall() + return result + +# query that doesn't take in arguments +def run_simple_query(query_str): + result = db_session.execute(query_str).fetchall() + return result + +# result should be an iterable of primitives +# column_names should be an iterable of strings +# expects arbitrary number of columns, 2 rows (one of which is the heading) +def generate_simple_html_table(result, column_names, title): + html = "{0}".format(title) + + for column in column_names: + html += "{0}".format(column) + html += "" + + for value in result: + html += "{0}".format(value) + html += "" + + return html + +# result should be [(label, count), (label, count), (label, count)...] +# expects 2 columns, arbitrary number of rows +def generate_group_by_html_table(result, title): + html = """ + + {0} + count + + """.format(title) + + html += "" + for (label, count) in result: + html += """ + {0} + {1} + """.format(label, count) + html += "" + + return html + +def transform_result_to_dict(result): + type_to_date_to_val = {} + for row in result: + (this_type, year, month, day, count) = row + date = str_to_date("{0}-{1}-{2}".format(year, month, day)) + + if this_type not in type_to_date_to_val: + type_to_date_to_val[this_type] = {} + type_to_date_to_val[this_type][date] = count + return type_to_date_to_val + +def generate_days_html_table(result, today, title): + d = transform_result_to_dict(result) + return generate_simple_html_table_from_dict(d, today, title) + +def generate_days_html_table_from_dict(type_to_date_to_val, today, title): + days_str = [date_to_str(today - datetime.timedelta(days=i)) for i in range(0,7)] + days = [str_to_date(d) for d in days_str] # to make everything 00:00:00 + past_days = days[1:] + html = """ + + {7} + {0} (Today) + Past Mean + {1} + {2} + {3} + {4} + {5} + {6} + """.format(*days_str, title) + + for type in sorted(type_to_date_to_val.keys()): + this_data = type_to_date_to_val[type] + past_mean = round(sum([this_data[d] if d in this_data else 0 for d in past_days ]) / len(past_days) if len(past_days) > 0 else 0, 2) + + html += """ + + {0} + {1} + {2} + {3} + {4} + {5} + {6} + {7} + {8} + """.format(type, + (this_data[days[0]] if days[0] in this_data else 0), + past_mean, + *[this_data[d] if d in this_data else 0 for d in past_days]) + + return html + + +def send_db_report(toaddrs, date, html): + fromaddr = EMAIL_CONFIG["fromaddr"] + subject = "CivilServant Database Report: {0}".format(date_to_str(date)) + send_email(fromaddr, toaddrs, subject, html) + +def send_email(fromaddr, toaddrs, subject, html): + import smtplib + from email.mime.multipart import MIMEMultipart + from email.mime.text import MIMEText + + COMMASPACE = ', ' + + msg = MIMEMultipart() + msg['From'] = fromaddr + msg['To'] = COMMASPACE.join(toaddrs) + msg['Subject'] = subject + + body = html + msg.attach(MIMEText(body, 'html')) + + server = smtplib.SMTP('localhost', 25) + text = msg.as_string() + server.sendmail(fromaddr, toaddrs, text) + server.quit() + print("Sent email from {0} to {1} recipients".format(fromaddr, len(toaddrs))) + + +###################################################################### +######### REDDIT ############################################ +###################################################################### + +def generate_reddit_front_page(today=datetime.datetime.utcnow(), days=7): + #query_str = "SELECT min(created_at), max(created_at) FROM front_pages" + #result = db_session.execute(query_str).fetchall() + #print(result) + + query_str = """ + SELECT page_type, YEAR(created_at), MONTH(created_at), DAY(created_at), count(*) + FROM front_pages WHERE created_at <= :to_date and created_at >= :from_date + GROUP BY page_type, YEAR(created_at), MONTH(created_at), DAY(created_at)""" + result = run_query_for_days(query_str, today, days=days) + result = [(PageType(a).name, b, c, d, e) for (a,b,c,d,e) in result] + return generate_days_html_table(result, + str_to_date(date_to_str(today)), + "New FrontPage count, by pagetype") # to make everything 00:00:00 + + +def generate_reddit_subreddit_page(today=datetime.datetime.utcnow(), days=7): + query_str = """ + SELECT subreddit_id, page_type, YEAR(created_at), MONTH(created_at), DAY(created_at), count(*) + FROM subreddit_pages WHERE created_at <= :to_date and created_at >= :from_date + GROUP BY subreddit_id, page_type, YEAR(created_at), MONTH(created_at), DAY(created_at)""" + result = run_query_for_days(query_str, today, days=days) + result = [("({0}, {1})".format(a, PageType(b).name), c, d, e, f) for (a,b,c,d,e,f) in result] + return generate_days_html_table(result, + str_to_date(date_to_str(today)), + "New SubredditPage count, by (subreddit, pagetype)") # to make everything 00:00:00 + + +def generate_reddit_subreddit(today=datetime.datetime.utcnow(), days=7): + query_str = """ + SELECT '{0}', YEAR(created_at), MONTH(created_at), DAY(created_at), count(*) + FROM subreddits WHERE created_at <= :to_date and created_at >= :from_date + GROUP BY YEAR(created_at), MONTH(created_at), DAY(created_at)""".format(TOTAL_LABEL) + result = run_query_for_days(query_str, today, days=days) + return generate_days_html_table(result, + str_to_date(date_to_str(today)), + "New Subreddit count") # to make everything 00:00:00 + +def generate_reddit_post(today=datetime.datetime.utcnow(), days=7): + query_str = """ + SELECT subreddit_id, YEAR(created_at), MONTH(created_at), DAY(created_at), count(*) + FROM posts WHERE created_at <= :to_date and created_at >= :from_date + GROUP BY subreddit_id, YEAR(created_at), MONTH(created_at), DAY(created_at)""" + result = run_query_for_days(query_str, today, days=days) + return generate_days_html_table(result, + str_to_date(date_to_str(today)), + "New Post count, by subreddit") # to make everything 00:00:00 + +def generate_reddit_comment(today=datetime.datetime.utcnow(), days=7): + query_str = """ + SELECT subreddit_id, YEAR(created_at), MONTH(created_at), DAY(created_at), count(*) + FROM comments WHERE created_at <= :to_date and created_at >= :from_date + GROUP BY subreddit_id, YEAR(created_at), MONTH(created_at), DAY(created_at)""" + result = run_query_for_days(query_str, today, days=days) + return generate_days_html_table(result, + str_to_date(date_to_str(today)), + "New Comment count, by subreddit") # to make everything 00:00:00 + + +def generate_reddit_user(today=datetime.datetime.utcnow(), days=7): + query_str = """ + SELECT '{0}', YEAR(first_seen), MONTH(first_seen), DAY(first_seen), count(*) + FROM users WHERE first_seen <= :to_date and first_seen >= :from_date + GROUP BY YEAR(first_seen), MONTH(first_seen), DAY(first_seen)""".format(TOTAL_LABEL) + result = run_query_for_days(query_str, today, days=days) + return generate_days_html_table(result, + str_to_date(date_to_str(today)), + "New User count") # to make everything 00:00:00 + +def generate_reddit_mod_action(today=datetime.datetime.utcnow(), days=7): + query_str = """ + SELECT subreddit_id, YEAR(created_at), MONTH(created_at), DAY(created_at), count(*) + FROM mod_actions WHERE created_at <= :to_date and created_at >= :from_date + GROUP BY subreddit_id, YEAR(created_at), MONTH(created_at), DAY(created_at)""" + result = run_query_for_days(query_str, today, days=days) + return generate_days_html_table(result, + str_to_date(date_to_str(today)), + "New Mod actions count") # to make everything 00:00:00 + + + + +###################################################################### +######### LUMEN, TWITTER ########################################### +###################################################################### + + +def generate_lumen_notices(today=datetime.datetime.utcnow(), days=7): + query_str = """ + SELECT '{0}', YEAR(date_received), MONTH(date_received), DAY(date_received), count(*) + FROM lumen_notices WHERE date_received <= :to_date and date_received >= :from_date + GROUP BY YEAR(date_received), MONTH(date_received), DAY(date_received)""".format(TOTAL_LABEL) + result = run_query_for_days(query_str, today, days=days) + return generate_days_html_table(result, + str_to_date(date_to_str(today)), + "New Lumen Notices per day count") + +def generate_lumen_notices_collected(today=datetime.datetime.utcnow(), days=7): + query_str = """ + SELECT '{0}', YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) + FROM lumen_notices WHERE record_created_at <= :to_date and record_created_at >= :from_date + GROUP BY YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at)""".format(TOTAL_LABEL) + result = run_query_for_days(query_str, today, days=days) + return generate_days_html_table(result, + str_to_date(date_to_str(today)), + "New Lumen Notices collected per day count") + +#job state query +def generate_lumen_notices_job_state(): + query_str = """ + SELECT CS_parsed_usernames, count(*) + FROM lumen_notices + GROUP BY CS_parsed_usernames + """ + result = run_simple_query(query_str) + return generate_group_by_html_table( + [(TwitterUserState(label).name, count) for (label, count) in result], + "LumenNotices.CS_parsed_usernames") + + + +def generate_lumen_notice_to_twitter_user_collected(today=datetime.datetime.utcnow(), days=7): + query_str = """ + SELECT '{0}', YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) + FROM lumen_notice_to_twitter_user WHERE record_created_at <= :to_date and record_created_at >= :from_date + GROUP BY YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at)""".format(TOTAL_LABEL) + result = run_query_for_days(query_str, today, days=days) + return generate_days_html_table(result, + str_to_date(date_to_str(today)), + "New Total LumenNoticeToTwitterUser collected per day count") + + +def generate_lumen_notice_to_twitter_user_incomplete(today=datetime.datetime.utcnow(), days=7): + query_str = """ + SELECT '{0}', YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) + FROM lumen_notice_to_twitter_user WHERE record_created_at <= :to_date and record_created_at >= :from_date + and twitter_user_id is NULL + GROUP BY YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at)""".format(TOTAL_LABEL) + result = run_query_for_days(query_str, today, days=days) + return generate_days_html_table(result, + str_to_date(date_to_str(today)), + "Incomplete LumenNoticeToTwitterUser per day count") + + + +# simple count query +def generate_lumen_notice_to_twitter_user_simple_counts(): + query_str = """ + SELECT count(*), count(notice_id), count(twitter_username) + FROM lumen_notice_to_twitter_user + """ + result = run_simple_query(query_str) + return generate_simple_html_table(result, "LumenNoticeToTwitterUser counts") + +# simple count query +def generate_lumen_notice_to_twitter_user_incomplete_simple_counts(): + query_str = """ + SELECT count(*), count(notice_id), count(twitter_username) + FROM lumen_notice_to_twitter_user + WHERE twitter_user_id is NULL + """ + result = run_simple_query(query_str) + return generate_simple_html_table(result, "Incomplete LumenNoticeToTwitterUser counts") + + +#job state query +def generate_lumen_notice_to_twitter_user_job_state(): + query_str = """ + SELECT CS_account_archived, count(*) + FROM lumen_notice_to_twitter_user + GROUP BY CS_account_archived + """ + result = run_simple_query(query_str) + return generate_group_by_html_table( + [(TwitterUserState(label).name, count) for (label, count) in result], + "LumenNoticeToTwitterUser.CS_account_archived") + + +def generate_twitter_user_collected(today=datetime.datetime.utcnow(), days=7): + query_str = """ + SELECT '{0}', YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) + FROM twitter_users WHERE record_created_at <= :to_date and record_created_at >= :from_date + GROUP BY YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at)""".format(TOTAL_LABEL) + result = run_query_for_days(query_str, today, days=days) + return generate_days_html_table(result, + str_to_date(date_to_str(today)), + "New Total Twitter Users collected per day count") + + +#job state query +def generate_twitter_users_job_state(): + query_str = """ + SELECT CS_oldest_tweets_archived, count(*) + FROM twitter_users + GROUP BY CS_oldest_tweets_archived + """ + result = run_simple_query(query_str) + return generate_group_by_html_table( + [(TwitterUserState(label).name, count) for (label, count) in result], + "TwitterUsers.CS_oldest_tweets_archived") + + +# simple count query +def generate_twitter_users_simple_counts(): + query_str = """ + SELECT count(*), count(screen_name) + FROM twitter_users + """ + result = run_simple_query(query_str) + return generate_simple_html_table( + result[0], + ["count(*)", "count(screen_name)"], + "TwitterUsers counts") + + +# simple count query +def generate_twitter_user_snapshots_simple_counts(): + query_str = """ + SELECT count(*), count(twitter_user_id) + FROM twitter_user_snapshots + """ + result = run_simple_query(query_str) + return generate_simple_html_table( + result[0], + ["count(*)", "count(twitter_user_id)"], + "TwitterUserSnapshots counts") + + + +##### TAKES (AT LEAST) 5 MIN TO RUN... +def generate_twitter_user_snapshots_collected(today=datetime.datetime.utcnow(), days=7): + query_str = """ + SELECT '{0}', YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) + FROM twitter_user_snapshots WHERE record_created_at <= :to_date and record_created_at >= :from_date + GROUP BY YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at)""".format(TOTAL_LABEL) + result = run_query_for_days(query_str, today, days=days) + return generate_days_html_table(result, + str_to_date(date_to_str(today)), + "New Total Twitter User Snapshots collected per day count") + +# simple count query +def generate_twitter_statuses_simple_counts(): + query_str = """ + SELECT count(*), count(user_id) + FROM twitter_statuses + """ + result = run_simple_query(query_str) + return generate_simple_html_table( + result[0], + ["count(*)", "count(user_id)"], + "TwitterStatuses counts") + + +##### TOO EXPENSIVE.... probably not worth doing. +query_str = """SELECT YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) +FROM twitter_statuses WHERE record_created_at <= "2017-07-19" and record_created_at >= "2017-07-05" +GROUP BY YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at);""" + + + +###################################################################### +######### EXPERIMENT ########################################### +###################################################################### + +######### EXPERIMENT ######### +def generate_experiment_new(today=datetime.datetime.utcnow(), days=7): + query_str = """ + SELECT '{0}', YEAR(created_at), MONTH(created_at), DAY(created_at), count(*) + FROM experiments WHERE created_at <= :to_date and created_at >= :from_date + GROUP BY YEAR(created_at), MONTH(created_at), DAY(created_at)""".format(TOTAL_LABEL) + result = run_query_for_days(query_str, today, days=days) + return generate_days_html_table(result, + str_to_date(date_to_str(today)), + "New Experiment count") # to make everything 00:00:00 + +def generate_experiment_active(today=datetime.datetime.utcnow(), days=7): + query_str = """ + SELECT id, start_time, end_time + FROM experiments WHERE start_time <= :to_date and end_time >= :from_date""" + result = run_query_for_days(query_str, today, days=days) + type_to_date_to_val = {} + type_to_date_to_val[TOTAL_LABEL] = {} + days_str = [date_to_str(today - datetime.timedelta(days=i)) for i in range(0,7)] + days = [str_to_date(d) for d in days_str] # to make everything 00:00:00 + for day in days: + type_to_date_to_val[TOTAL_LABEL][day] = 0 + for (eid, start, end) in result: + if start <= day and day <= end: + type_to_date_to_val[TOTAL_LABEL][day] += 1 + return generate_days_html_table_from_dict(type_to_date_to_val, + str_to_date(date_to_str(today)), + "Active Experiment count") # to make everything 00:00:00 + +def generate_experiment_thing(today=datetime.datetime.utcnow(), days=7): + query_str = """ + SELECT experiment_id, object_type, YEAR(created_at), MONTH(created_at), DAY(created_at), count(*) + FROM experiment_things WHERE created_at <= :to_date and created_at >= :from_date + GROUP BY experiment_id, object_type, YEAR(created_at), MONTH(created_at), DAY(created_at)""" + result = run_query_for_days(query_str, today, days=days) + result = [("({0}, {1})".format(a, ThingType(b).name), c, d, e, f) for (a,b,c,d,e,f) in result] + return generate_days_html_table(result, + str_to_date(date_to_str(today)), + "ExperimentThing count, by (experiment, objecttype)") # to make everything 00:00:00 + +def generate_experiment_thing_snapshot(today=datetime.datetime.utcnow(), days=7): + query_str = """ + SELECT experiment_id, object_type, YEAR(created_at), MONTH(created_at), DAY(created_at), count(*) + FROM experiment_thing_snapshots WHERE created_at <= :to_date and created_at >= :from_date + GROUP BY experiment_id, object_type, YEAR(created_at), MONTH(created_at), DAY(created_at)""" + result = run_query_for_days(query_str, today, days=days) + result = [("({0}, {1})".format(a, ThingType(b).name), c, d, e, f) for (a,b,c,d,e,f) in result] + return generate_days_html_table(result, + str_to_date(date_to_str(today)), + "ExperimentThingSnapshot count, by (experiment, objecttype)") # to make everything 00:00:00 + + +def generate_experiment_action(today=datetime.datetime.utcnow(), days=7): + query_str = """ + SELECT experiment_id, action, YEAR(created_at), MONTH(created_at), DAY(created_at), count(*) + FROM experiment_actions WHERE created_at <= :to_date and created_at >= :from_date + GROUP BY experiment_id, action, YEAR(created_at), MONTH(created_at), DAY(created_at)""" + result = run_query_for_days(query_str, today, days=days) + result = [("({0}, {1})".format(a, b), c, d, e, f) for (a,b,c,d,e,f) in result] + return generate_days_html_table(result, + str_to_date(date_to_str(today)), + "ExperimentAction count, by (experiment, action)") # to make everything 00:00:00 + + + + + +###################################################################### +######### GENERATE REPORT ########################################### +###################################################################### + + +css = """ + +""" + + +def generate_report(today=datetime.datetime.utcnow(), days=7): + html = "" + css + "" + html += "

Number of records stored per day

" + #html += "

Reddit:

" + html += "" + html += generate_reddit_front_page(today, days) + html += generate_reddit_subreddit_page(today, days) + html += generate_reddit_subreddit(today, days) + html += generate_reddit_post(today, days) + html += generate_reddit_comment(today, days) + html += generate_reddit_user(today, days) + html += generate_reddit_mod_action(today, days) + #html += "

Experiment:

" + html += generate_experiment_new(today, days) + html += generate_experiment_active(today, days) + html += generate_experiment_thing(today, days) + html += generate_experiment_thing_snapshot(today, days) + html += generate_experiment_action(today, days) + html += "
" + html += "" + return html + +def generate_twitter_report(today=datetime.datetime.utcnow(), days=7): + html = "" + css + "" + html += "

Number of records stored per day

" + + html += "

LumenNotices

" + html += "" + html += generate_lumen_notices(today, days) + html += generate_lumen_notices_collected(today, days) + html += "
" + html += "" + html += generate_lumen_notices_job_state() + html += "
" + + html += "

LumenNoticeToTwitterUsers

" + html += "" + html += generate_lumen_notice_to_twitter_user_collected(today, days) + html += generate_lumen_notice_to_twitter_user_incomplete(today, days) + html += "
" + html += "" + html += generate_lumen_notice_to_twitter_user_job_state() + html += "
" + html += "" + html += generate_lumen_notice_to_twitter_user_simple_counts() + html += generate_lumen_notice_to_twitter_user_incomplete_simple_counts() + html += "
" + + html += "

TwitterUsers

" + html += "" + html += generate_twitter_user_collected(today, days) + html += "
" + html += "" + html += generate_twitter_users_job_state() + html += "
" + html += "" + html += generate_twitter_users_simple_counts() + html += "
" + + html += "

TwitterUserSnapshots

" + html += "" + html += generate_twitter_user_snapshots_collected(today, days) + html += "
" + html += "" + html += generate_twitter_user_snapshots_simple_counts() + html += "
" + + html += "

TwitterStatuses

" + html += "" + html += generate_twitter_statuses_simple_counts() + html += "
" + + html += "" + return html + + +############################################################# +############################################################# + + +if __name__ == "__main__": + today = datetime.datetime.utcnow() # str_to_date("2016-08-26 23:59:59", by_day=False) + + html = generate_report(today, days=7) + toaddrs = EMAIL_CONFIG["toaddrs"] + send_db_report(toaddrs, today, html) + + print(html) + From 3e40beb9007034f07160081021f0763de9b93172 Mon Sep 17 00:00:00 2001 From: mmou Date: Fri, 25 Aug 2017 15:23:43 -0400 Subject: [PATCH 026/221] add tests for twitter_observational_analysis_controller. could be extended. --- ...itter_observational_analysis_controller.py | 15 +- tests/test_controllers.py | 21 +- ...itter_observational_analysis_controller.py | 415 ++++++++++++++++++ 3 files changed, 429 insertions(+), 22 deletions(-) create mode 100644 tests/test_twitter_observational_analysis_controller.py diff --git a/app/controllers/twitter_observational_analysis_controller.py b/app/controllers/twitter_observational_analysis_controller.py index 7785bd7..b2818cf 100644 --- a/app/controllers/twitter_observational_analysis_controller.py +++ b/app/controllers/twitter_observational_analysis_controller.py @@ -205,6 +205,7 @@ def get_users_to_notice_dates(self): def get_users_to_snapshots(self): twitter_users_to_snapshots = {} # {user_id: [snapshot]} num_snapshots = 0 + for uid in self.user_ids_to_not_found_ids: snapshots = self.db_session.query(TwitterUserSnapshot).filter( or_(TwitterUserSnapshot.twitter_user_id == uid, @@ -214,6 +215,7 @@ def get_users_to_snapshots(self): for snapshot in snapshots: if snapshot.twitter_user_id and snapshot.twitter_not_found_id and snapshot.twitter_user_id != snapshot.twitter_not_found_id: + # if we found a "found id" that we didn't know of before if snapshot.twitter_not_found_id==uid and NOT_FOUND_TWITTER_USER_STR in uid: # only 2 class attributes that are set before get_users_to_snapshots is run: self.user_ids_to_not_found_ids.pop(uid, None) @@ -224,16 +226,19 @@ def get_users_to_snapshots(self): uid = snapshot.twitter_user_id + # else... elif snapshot.twitter_user_id==uid: if self.user_ids_to_not_found_ids[uid] is not None and self.user_ids_to_not_found_ids[uid] != snapshot.twitter_not_found_id: self.log.info("Unexpected multiple-id-switches= uid: {0}, not_found: {1}, new_not_found: {2}".format( uid, self.user_ids_to_not_found_ids[uid], snapshot.twitter_not_found_id)) + + # update self.user_ids_to_not_found_ids self.user_ids_to_not_found_ids[uid] = snapshot.twitter_not_found_id # and this doesn't change self.twitter_users_to_notice_dates keys + twitter_users_to_snapshots[uid] = snapshots num_snapshots += len(snapshots) - self.log.info("Retrieved {0} TwitterUserSnapshot.".format(num_snapshots)) return twitter_users_to_snapshots @@ -281,7 +286,7 @@ def get_users_day_nums(self, this_uids): # look for media entities # https://dev.twitter.com/overview/api/entities-in-twitter-objects status_data_json = json.loads(tweet.status_data) - if "entities" in status_data_json and "media" in status_data_json["entities"]: + if "entities" in status_data_json and status_data_json["entities"] is not None and "media" in status_data_json["entities"]: twitter_users_day_nums[uid][day_num]["num_media_tweets"] += 1 # suspended, deleted, protected @@ -320,7 +325,7 @@ def get_aggregates(self, this_uids, prune=True): qualifying_user_ids.add(uid) else: # not best design... - self.user_ids_to_not_found_ids.pop(uid, None) + self.user_ids_to_not_found_ids.pop(uid, None) if (prune and uid in qualifying_user_ids) or (not prune): # prune this_day_nums so that aggregate calculations are accurate @@ -442,6 +447,8 @@ def create_dataframes(self, this_uids): self.tweet_day_dataframe[uid][i] = this_user_tweet_day + + ################################################ ############## basic_profiling ################################################ @@ -451,6 +458,8 @@ def append_to_csv(fname, row): with open(fname, "a") as f: f.write(",".join(row) + "\n") + +# mostly an adhoc thing. not going to test class TwitterBasicProfilingController: def __init__(self, output_dir, db_session, log): self.output_dir = output_dir diff --git a/tests/test_controllers.py b/tests/test_controllers.py index a4b3375..1db5356 100644 --- a/tests/test_controllers.py +++ b/tests/test_controllers.py @@ -20,7 +20,7 @@ from utils.common import CS_JobState ### LOAD THE CLASSES TO TEST -from app.models import Base, FrontPage, SubredditPage, Subreddit, Post, ModAction, Comment, User, LumenNotice, LumenNoticeToTwitterUser, TwitterUser, TwitterStatus, TwitterUserSnapshot +from app.models import * import app.cs_logger ## SET UP THE DATABASE ENGINE @@ -30,6 +30,7 @@ ENV = os.environ['CS_ENV'] ="test" db_session = DbEngine(os.path.join(TEST_DIR, "../", "config") + "/{env}.json".format(env=ENV)).new_session() +log = app.cs_logger.get_logger(ENV, BASE_DIR) def clear_all_tables(): db_session.rollback() @@ -62,7 +63,6 @@ def test_archive_reddit_front_page(mock_subreddit, mock_reddit): ## I should just be mocking the reddit API r = mock_reddit.return_value - log = app.cs_logger.get_logger(ENV, BASE_DIR) with open("{script_dir}/fixture_data/subreddit_posts_0.json".format(script_dir=TEST_DIR)) as f: sub_data = json.loads(f.read())['data']['children'] @@ -110,7 +110,6 @@ def test_archive_subreddit_page(mock_subreddit, mock_reddit): test_subreddit_id = "mouw" r = mock_reddit.return_value - log = app.cs_logger.get_logger(ENV, BASE_DIR) # with open("{script_dir}/fixture_data/subreddit_posts_0.json".format(script_dir=TEST_DIR)) as f: # sub_data = json.loads(f.read())['data']['children'] @@ -167,7 +166,6 @@ def test_archive_subreddit(mock_subreddit, mock_reddit): test_subreddit_id = "mouw" r = mock_reddit.return_value - log = app.cs_logger.get_logger(ENV, BASE_DIR) mock_subreddit.display_name = test_subreddit_name mock_subreddit.id = test_subreddit_id @@ -203,7 +201,6 @@ def test_archive_post(mock_reddit): r = mock_reddit.return_value test_subreddit_name = "science" - log = app.cs_logger.get_logger(ENV, BASE_DIR) patch('praw.') assert len(db_session.query(Post).all()) == 0 @@ -236,7 +233,6 @@ def test_fetch_post_comments(mock_submission, mock_reddit): mock_submission.comments = post_comments mock_submission.num_comments = len(post_comments) r.get_submission.return_value = mock_submission - log = app.cs_logger.get_logger(ENV, BASE_DIR) patch('praw.') ## ADD THE FIXTURE POST TO THE DATABASE @@ -269,7 +265,6 @@ def test_archive_all_missing_subreddit_post_comments(mock_submission, mock_reddi ## SET UP MOCKS r = mock_reddit.return_value - log = app.cs_logger.get_logger(ENV, BASE_DIR) ## TO START, LOAD POST FIXTURES post_fixture_names = ["post.json", "post2.json"] @@ -329,7 +324,6 @@ def test_archive_all_missing_subreddit_post_comments(mock_submission, mock_reddi @patch('praw.Reddit', autospec=True) def test_archive_last_thousand_comments(mock_reddit): r = mock_reddit.return_value - log = app.cs_logger.get_logger(ENV, BASE_DIR) subreddit_name = "science" @@ -402,7 +396,6 @@ def test_archive_last_thousand_comments(mock_reddit): @patch('praw.Reddit', autospec=True) def test_archive_mod_action_page(mock_reddit): r = mock_reddit.return_value - log = app.cs_logger.get_logger(ENV, BASE_DIR) ## TO START, LOAD MOD ACTION FIXTURES mod_action_fixtures = [] @@ -466,7 +459,6 @@ def test_fetch_post_comments(mock_submission, mock_reddit): mock_submission.comments = post_comments mock_submission.num_comments = len(post_comments) r.get_submission.return_value = mock_submission - log = app.cs_logger.get_logger(ENV, BASE_DIR) patch('praw.') ## ADD THE FIXTURE POST TO THE DATABASE @@ -498,7 +490,6 @@ def test_archive_all_missing_subreddit_post_comments(mock_submission, mock_reddi ## SET UP MOCKS r = mock_reddit.return_value - log = app.cs_logger.get_logger(ENV, BASE_DIR) ## TO START, LOAD POST FIXTURES post_fixture_names = ["post.json", "post2.json"] @@ -562,7 +553,6 @@ def test_archive_user(mock_reddit): r = mock_reddit.return_value test_subreddit_name = "science" - log = app.cs_logger.get_logger(ENV, BASE_DIR) patch('praw.') assert len(db_session.query(User).all()) == 0 @@ -605,7 +595,6 @@ def test_archive_lumen_notices(mock_LumenConnect): assert len(db_session.query(LumenNotice).all()) == 0 - log = app.cs_logger.get_logger(ENV, BASE_DIR) lumen = app.controllers.lumen_controller.LumenController(db_session, lc, log) topics = ["Copyright"] @@ -642,7 +631,6 @@ def url(self): @patch('requests.get', side_effect=mocked_requests_get) def test_helper_parse_url_for_username(mock_get): - log = app.cs_logger.get_logger(ENV, BASE_DIR) test_cases = [ ("https://twitter.com/sooos243/status/852942353321140224", "sooos243"), @@ -669,7 +657,6 @@ def test_parse_notices_archive_users(mock_LumenConnect, mock_get): assert len(db_session.query(LumenNoticeToTwitterUser).all()) == 0 - log = app.cs_logger.get_logger(ENV, BASE_DIR) lumen = app.controllers.lumen_controller.LumenController(db_session, lc, log) with open("{script_dir}/fixture_data/anon_lumen_notices_0.json".format(script_dir=TEST_DIR)) as f: @@ -712,7 +699,6 @@ def test_archive_new_users(mock_TwitterConnect, mock_twitter_api, mock_twitter_e assert len(db_session.query(TwitterUser).all()) == 0 - log = app.cs_logger.get_logger(ENV, BASE_DIR) twitter = app.controllers.twitter_controller.TwitterController(db_session, tc, log) with open("{script_dir}/fixture_data/anon_twitter_username_list.json".format(script_dir=TEST_DIR)) as f: @@ -764,7 +750,6 @@ def test_archive_old_users(mock_TwitterConnect, mock_twitter_api, mock_twitter_e assert len(db_session.query(TwitterUser).all()) == 0 assert len(db_session.query(TwitterUserSnapshot).all()) == 0 - log = app.cs_logger.get_logger(ENV, BASE_DIR) now = datetime.datetime.utcnow() @@ -952,7 +937,6 @@ def mocked_GetUserTimeline(user_id, count=None, max_id=None): assert len(db_session.query(TwitterStatus).all()) == 0 - log = app.cs_logger.get_logger(ENV, BASE_DIR) t_controller = app.controllers.twitter_controller.TwitterController(db_session, tc, log) @@ -1015,7 +999,6 @@ def test_query_and_archive_user_snapshots_and_tweets(mock_TwitterConnect, mock_t assert len(db_session.query(TwitterUser).all()) == 0 - log = app.cs_logger.get_logger(ENV, BASE_DIR) twitter = app.controllers.twitter_controller.TwitterController(db_session, tc, log) with open("{script_dir}/fixture_data/twitter_username_list.json".format(script_dir=TEST_DIR)) as f: diff --git a/tests/test_twitter_observational_analysis_controller.py b/tests/test_twitter_observational_analysis_controller.py new file mode 100644 index 0000000..0954404 --- /dev/null +++ b/tests/test_twitter_observational_analysis_controller.py @@ -0,0 +1,415 @@ +import pytest +import os +from mock import Mock, patch +import simplejson as json +import sqlalchemy +from sqlalchemy import create_engine, func, or_, and_ +from sqlalchemy.orm import sessionmaker +import glob, datetime +import app.controllers.twitter_observational_analysis_controller +from utils.common import PageType, DbEngine, json2obj, TwitterUserState +import requests +import twitter + +import utils +from utils.common import CS_JobState, NOT_FOUND_TWITTER_USER_STR, generate_not_found_twitter_user_id +from utils.common import TwitterUserState as TUS + +### LOAD THE CLASSES TO TEST +from app.models import Base, FrontPage, SubredditPage, Subreddit, Post, ModAction, Comment, User, LumenNotice, LumenNoticeToTwitterUser, TwitterUser, TwitterStatus, TwitterUserSnapshot +import app.cs_logger + +## SET UP THE DATABASE ENGINE +## TODO: IN FUTURE, SET UP A TEST-WIDE DB SESSION +TEST_DIR = os.path.dirname(os.path.realpath(__file__)) +BASE_DIR = os.path.join(TEST_DIR, "../") +ENV = os.environ['CS_ENV'] ="test" + +db_session = DbEngine(os.path.join(TEST_DIR, "../", "config") + "/{env}.json".format(env=ENV)).new_session() +log = app.cs_logger.get_logger(ENV, BASE_DIR) + +def clear_all_tables(): + db_session.rollback() + db_session.query(FrontPage).delete() + db_session.query(SubredditPage).delete() + db_session.query(Subreddit).delete() + db_session.query(Post).delete() + db_session.query(User).delete() + db_session.query(ModAction).delete() + db_session.query(Comment).delete() + db_session.query(LumenNotice).delete() + db_session.query(LumenNoticeToTwitterUser).delete() + db_session.query(TwitterUser).delete() + db_session.query(TwitterUserSnapshot).delete() + db_session.query(TwitterStatus).delete() + db_session.commit() + +def setup_function(function): + clear_all_tables() + +def teardown_function(function): + clear_all_tables() + +START_DATE = datetime.datetime.strptime("2017-01-01", "%Y-%m-%d") +END_DATE = datetime.datetime.strptime("2017-01-02", "%Y-%m-%d") +MIN_OBSERVED_DAYS = 7 + +user_e_id = generate_not_found_twitter_user_id("username_c") +CONFIG = [ + { # user a: always found; enough snapshots + "user_id": "user_id_a", + "not_found_id": None, + "screen_name": "username_a", + "lumen_notices_count": 2, + "user_states": [(0, TUS.FOUND), (1, TUS.FOUND), (2, TUS.FOUND), (3, TUS.FOUND), + (4, TUS.FOUND), (5, TUS.FOUND), (6, TUS.FOUND), (7, TUS.FOUND)], + "tweet_counts": [(-8, 2), (-5, 2), (-4, 2), (-2, 2), (-1, 2), (0, 1), + (1, 3), (2, 2), (3, 2), (5, 2), (7,2)], + "is_eligible": True + }, { # user b: suspended, found, not_found; enough snapshots + "user_id": "user_id_b", + "not_found_id": generate_not_found_twitter_user_id("username_b"), + "screen_name": "username_b", + "lumen_notices_count": 1, + "user_states": [(0, TUS.SUSPENDED), (1, TUS.SUSPENDED), (2, TUS.FOUND), (3, TUS.FOUND), + (4, TUS.FOUND), (5, TUS.FOUND), (6, TUS.FOUND), (7, TUS.FOUND)], + "tweet_counts": [(-10, 2), (3, 2)], + "is_eligible": True + }, { # user c: protected, found; enough snapshots + "user_id": "user_id_c", + "not_found_id": generate_not_found_twitter_user_id("username_c"), + "screen_name": "username_c", + "lumen_notices_count": 1, + "user_states": [(0, TUS.FOUND), (1, TUS.FOUND), (2, TUS.FOUND), (3, TUS.FOUND), + (4, TUS.FOUND), (5, TUS.FOUND), (6, TUS.PROTECTED), (7, TUS.FOUND)], + "tweet_counts": [(-8, 2), (-7, 2), (-5, 2), (-4, 2), (-2, 2), (-1, 2), (0, 1), + (1, 2), (2, 2), (3, 2), (4, 2), (5, 2), (7,3)], + "is_eligible": True + }, { # user d: suspended; not enough snapshots - will be pruned + "user_id": "user_id_d", + "not_found_id": generate_not_found_twitter_user_id("username_d"), + "screen_name": "username_d", + "lumen_notices_count": 1, + "user_states": [(0, TUS.FOUND), (1, TUS.FOUND), (2, TUS.FOUND), (3, TUS.FOUND), + (4, TUS.FOUND), (5, TUS.SUSPENDED)], + "tweet_counts": [(-8, 2), (0, 2), + (1, 2), (2, 2), (5,2)], # # we cut out users that don't have one snapshot per day + "is_eligible": False + }, { # user e: not found id. will be disqualified bc can't find user states, tweets + "user_id": user_e_id, + "not_found_id": user_e_id, + "screen_name": "username_e", + "lumen_notices_count": 2, + "user_states": [(0, TUS.NOT_FOUND)], # can't find + "tweet_counts": [], # can't find + "is_eligible": False + } +] +ELIGIBLE_COUNT = len([user for user in CONFIG if user["is_eligible"]]) # of users +NOT_ELIGIBLE_COUNT = len([user for user in CONFIG if not user["is_eligible"]]) # of users + +#questions - +# decide whether to cut out users that don't have one snapshot per day +# enough day nums back only depends on whether or not you have any tweets at all from before? is that a good way? + +def initialize_default_controller(): + output_dir = "/" # not using + to = app.controllers.twitter_observational_analysis_controller.TwitterObservationalAnalysisController( + START_DATE, END_DATE, MIN_OBSERVED_DAYS, output_dir, db_session, log) + return to + + +def load_test_db_records(config): + load_lumen_notices(eligible_count=ELIGIBLE_COUNT, not_eligible_notices_count=3) + load_lumen_notice_to_twitter_user(config, eligible_count=ELIGIBLE_COUNT) + load_twitter_users_and_snapshots_and_tweets(config) + +def load_lumen_notices(eligible_count=ELIGIBLE_COUNT, not_eligible_notices_count=3): + with open("{script_dir}/fixture_data/anon_lumen_notices_0.json".format(script_dir=TEST_DIR)) as f: + notices_json = json.loads(f.read())["notices"] + + for i, notice in enumerate(notices_json[:eligible_count+not_eligible_notices_count]): + nid = notice["id"] + date_received = datetime.datetime.strptime(notice["date_received"], '%Y-%m-%dT%H:%M:%S.000Z') # expect string like "2017-04-15T22:28:26.000Z" + sender = (notice["sender_name"].encode("utf-8", "replace") if notice["sender_name"] else "") + principal = (notice["principal_name"].encode("utf-8", "replace") if notice["principal_name"] else "") + recipient = (notice["recipient_name"].encode("utf-8", "replace") if notice["recipient_name"] else "") + if i < eligible_count: + date = START_DATE + datetime.timedelta(hours=i) # just make them all on start_date + else: + date = END_DATE + datetime.timedelta(hours=i) # out of date range + + notice_record = LumenNotice( + id = nid, + record_created_at = datetime.datetime.utcnow(), + date_received = date, + sender = sender, + principal = principal, + recipient = recipient, + notice_data = json.dumps(notice).encode("utf-8", "replace"), + CS_parsed_usernames = CS_JobState.NOT_PROCESSED.value) + db_session.add(notice_record) + + db_session.commit() + assert db_session.query(LumenNotice).count() == eligible_count+not_eligible_notices_count + + +# user A: found, 1 notice +# user B: 2 notices +# user C: username, id=NOT_FOUND_TWITTER_USER_STR +def load_lumen_notice_to_twitter_user(config, eligible_count=ELIGIBLE_COUNT): + notices = db_session.query(LumenNotice).filter( + and_(LumenNotice.date_received >= START_DATE, + LumenNotice.date_received <= END_DATE)).all() + assert len(notices) == eligible_count + + now = datetime.datetime.utcnow() + + for i, user in enumerate(config): + for j in range(user["lumen_notices_count"]): + notice_id = notices[(i+j) % len(notices)].id + + notice_user_record = LumenNoticeToTwitterUser( + record_created_at = now, + notice_id = notice_id, + twitter_username = user["screen_name"], + twitter_user_id = user["user_id"], + CS_account_archived = CS_JobState.NOT_PROCESSED.value + ) + db_session.add(notice_user_record) + db_session.commit() + + assert db_session.query(LumenNoticeToTwitterUser).count() == sum([user["lumen_notices_count"] for user in config]) + +def load_twitter_users_and_snapshots_and_tweets(config): + with open("{script_dir}/fixture_data/anon_twitter_users.json".format(script_dir=TEST_DIR)) as f: + users_json = json.loads(f.read()) + user_i = 0 + + with open("{script_dir}/fixture_data/anon_twitter_tweets.json".format(script_dir=TEST_DIR)) as f: + tweets_json = json.loads(f.read()) + tweet_i = 0 + + now = datetime.datetime.utcnow() + for i, user in enumerate(config): + + has_been_found = False + has_been_not_found = False + stored_user = False + for (day, state) in user["user_states"]: + if state==TUS.FOUND: + has_been_found = True + if state!=TUS.FOUND: + has_been_not_found = True + + if not stored_user: + #user_data = users_json[i] # currently not modifying this fixture data since our tests don't rely on it + user_record = TwitterUser( + id = user["user_id"] if has_been_found else user["not_found_id"], + not_found_id = user["not_found_id"] if has_been_not_found else None, + screen_name = user["screen_name"], + created_at = None, # not mocking right now + record_created_at = now, + lang = "en", + user_state = [state for (day, state) in user["user_states"] if day==0][0].value, + CS_oldest_tweets_archived = CS_JobState.NOT_PROCESSED.value) + db_session.add(user_record) + stored_user = True + + user_snapshot_record = TwitterUserSnapshot( + twitter_user_id = user["user_id"] if has_been_found else user["not_found_id"], + twitter_not_found_id = user["not_found_id"] if has_been_not_found else None, + record_created_at = START_DATE + datetime.timedelta(days=day, minutes=60), + user_state = state.value, + user_json = json.dumps(users_json[user_i]) + ) + user_i+=1 + db_session.add(user_snapshot_record) + + for (day, count) in user["tweet_counts"]: + for tweet_j in range(count): + tweet = tweets_json[tweet_i] + + status_record = TwitterStatus( + id = tweet["id"], ######### + user_id = user["user_id"], + record_created_at = datetime.datetime.utcnow(), + created_at = START_DATE + datetime.timedelta(days=day, minutes=30 + tweet_j), + status_data = json.dumps(tweet)) + db_session.add(status_record) + tweet_i+=1 + + db_session.commit() + + assert db_session.query(TwitterUser).count() == ELIGIBLE_COUNT+NOT_ELIGIBLE_COUNT + assert db_session.query(TwitterUserSnapshot).count() == sum([len(user["user_states"]) for user in config]) + assert db_session.query(TwitterStatus).count() == sum([sum([count for (day, count) in user["tweet_counts"]]) for user in config]) + + +################################################################################ +################################################################################ + + +# unless otherwise stated, assume that subsequent method calls +# in create_datasets() depend on effects of previous methods + +# in create_datasets(), sets self.twitter_users_to_notice_dates +# self.twitter_users_to_notice_dates = {user_id: [notice_date_received_day]} +def test_get_users_to_notice_dates(): + # load LumenNotice, some within date range, some not within + # load LumenNoticeToTwitterUser, some with found user_id, some with not_found_id + load_test_db_records(CONFIG) + + # pre + to = initialize_default_controller() + + + # test + twitter_users_to_notice_dates = to.get_users_to_notice_dates() + + # asserts + print(twitter_users_to_notice_dates) + assert len(twitter_users_to_notice_dates) == ELIGIBLE_COUNT+NOT_ELIGIBLE_COUNT # + for user in CONFIG: + assert len(twitter_users_to_notice_dates[user["user_id"]]) == user["lumen_notices_count"] + + +# in create_datasets(), sets self.twitter_users_to_snapshots +# modifies self.user_ids_to_not_found_ids +# modifies self.twitter_users_to_notice_dates +# self.twitter_users_to_snapshots = {user_id: [snapshot]} +# self.user_ids_to_not_found_ids = {} +def test_get_users_to_snapshots(): + # load TwitterUserSnapshot, some with twitter_user_id, some with twitter_not_found_id + load_test_db_records(CONFIG) + + # pre + to = initialize_default_controller() + to.twitter_users_to_notice_dates = to.get_users_to_notice_dates() + to.user_ids_to_not_found_ids = {uid: None for uid in to.twitter_users_to_notice_dates.keys()} + + # test + twitter_users_to_snapshots = to.get_users_to_snapshots() + + # asserts + # make sure self.user_ids_to_not_found_ids is updated correctly + # make sure uids get updated correctly in self.twitter_users_to_notice_dates + assert len(twitter_users_to_snapshots) == ELIGIBLE_COUNT+NOT_ELIGIBLE_COUNT # + assert len(to.user_ids_to_not_found_ids) == ELIGIBLE_COUNT+NOT_ELIGIBLE_COUNT # + +# in create_datasets(), sets twitter_users_to_tweets +# self.twitter_users_to_tweets = {user_id: [tweet_created_at_day]} +# "batch" method, so takes in list of this_uids +def test_get_users_to_tweets(): + # load some users that have many tweets, others without + load_test_db_records(CONFIG) + + # pre + to = initialize_default_controller() + to.twitter_users_to_notice_dates = to.get_users_to_notice_dates() + to.user_ids_to_not_found_ids = {uid: None for uid in to.twitter_users_to_notice_dates.keys()} + to.twitter_users_to_snapshots = to.get_users_to_snapshots() + + # test + this_uids = [user["user_id"] for user in CONFIG] # [id for id in self.user_ids_to_not_found_ids if "NOT_FOUND" not in id] + twitter_users_to_tweets = to.get_users_to_tweets(this_uids) + + # asserts + assert len(twitter_users_to_tweets) == ELIGIBLE_COUNT+NOT_ELIGIBLE_COUNT # + + +# in create_datasets(), sets self.twitter_users_day_nums +# self.twitter_users_day_nums = +# {user_id: +# {day_num: +# {"num_notices": 0, +# "num_tweets": 0, +# "num_media_tweets": 0, +# "deleted": 0, +# "suspended": 0, +# "protected": 0 +# }}} +# "batch" method, so takes in list of this_uids +def test_get_users_day_nums(): + load_test_db_records(CONFIG) + + # pre + to = initialize_default_controller() + to.twitter_users_to_notice_dates = to.get_users_to_notice_dates() + to.user_ids_to_not_found_ids = {uid: None for uid in to.twitter_users_to_notice_dates.keys()} + to.twitter_users_to_snapshots = to.get_users_to_snapshots() + log.info(to.twitter_users_to_snapshots) + this_uids = [user["user_id"] for user in CONFIG] # [id for id in self.user_ids_to_not_found_ids if "NOT_FOUND" not in id] + to.twitter_users_to_tweets = to.get_users_to_tweets(this_uids) + + # test + twitter_users_day_nums = to.get_users_day_nums(this_uids) + + # asserts + log.info(twitter_users_day_nums) + assert len(twitter_users_day_nums) == ELIGIBLE_COUNT+NOT_ELIGIBLE_COUNT # + + # TODO: add more asserts here + +# in create_datasets(), sets self.twitter_users_aggregates +# self.twitter_users_aggregates = +# {user_id: +# { +# "total_unavailable_hours": 0, # how to calculate this ???? +# "num_days_before_day_0": 0, +# "num_days_after_day_0": 0, +# "ave_tweets_before_day_0": 0, +# "ave_tweets_after_day_0": 0, +# "total_tweets": 0, +# "account_suspended": False, # ever +# "account_deleted": False, # ever +# "account_protected": False, # ever +# } +# "batch" method, so takes in list of this_uids +# prunes: removes all info for users without min days. modifies self.user_ids_to_not_found_ids +def test_get_aggregates(): + load_test_db_records(CONFIG) + + # pre + to = initialize_default_controller() + to.twitter_users_to_notice_dates = to.get_users_to_notice_dates() + to.user_ids_to_not_found_ids = {uid: None for uid in to.twitter_users_to_notice_dates.keys()} + to.twitter_users_to_snapshots = to.get_users_to_snapshots() + this_uids = [user["user_id"] for user in CONFIG] # + to.twitter_users_to_tweets = to.get_users_to_tweets(this_uids) + to.twitter_users_day_nums = to.get_users_day_nums(this_uids) + + # test + twitter_users_aggregates = to.get_aggregates(this_uids) + + # asserts + # assert calculations + log.info(twitter_users_aggregates) + assert len(twitter_users_aggregates) == ELIGIBLE_COUNT # + + # TODO: add more asserts here + + +# sets self.user_dataframe self.tweet_day_dataframe +# removes day nums outside of min days. +def test_create_dataframes(): + load_test_db_records(CONFIG) + + # pre + to = initialize_default_controller() + to.twitter_users_to_notice_dates = to.get_users_to_notice_dates() + to.user_ids_to_not_found_ids = {uid: None for uid in to.twitter_users_to_notice_dates.keys()} + to.twitter_users_to_snapshots = to.get_users_to_snapshots() + this_uids = [user["user_id"] for user in CONFIG] # + to.twitter_users_to_tweets = to.get_users_to_tweets(this_uids) + to.twitter_users_day_nums = to.get_users_day_nums(this_uids) + to.twitter_users_aggregates = to.get_aggregates(this_uids) + + # test + to.create_dataframes(this_uids) + + # asserts + assert len(to.user_dataframe) == ELIGIBLE_COUNT # + assert len(to.tweet_day_dataframe) == ELIGIBLE_COUNT # + + # TODO: add more asserts here From 761696d877008b86c1dc479a9d596f84e60cbec8 Mon Sep 17 00:00:00 2001 From: Nathan Matias Date: Mon, 28 Aug 2017 16:25:02 -0400 Subject: [PATCH 027/221] added twitter token multiplexing support --- .gitignore | 1 + app/connections/twitter_connect.py | 158 ++++++++++++++++-- .../stylesheet_experiment_controller.py | 3 - app/controllers/twitter_controller.py | 8 +- config/twitter_auth_environment.json.example | 4 + config/twitter_auth_test.json | 4 + ...ter_configuration_environment.json.example | 3 + config/twitter_configuration_test.json | 3 + requirements.txt | 1 + tests/fixture_data/twitter_get_friends.json | 8 + .../twitter_tokens/account_name_a.json | 1 + .../twitter_tokens/account_name_b.json | 1 + tests/test_controllers.py | 13 +- tests/test_twitter.py | 21 --- tests/test_twitter_connect.py | 82 +++++++++ 15 files changed, 265 insertions(+), 46 deletions(-) create mode 100644 config/twitter_auth_environment.json.example create mode 100644 config/twitter_auth_test.json create mode 100644 config/twitter_configuration_environment.json.example create mode 100644 config/twitter_configuration_test.json create mode 100644 tests/fixture_data/twitter_get_friends.json create mode 100644 tests/fixture_data/twitter_tokens/account_name_a.json create mode 100644 tests/fixture_data/twitter_tokens/account_name_b.json delete mode 100644 tests/test_twitter.py create mode 100644 tests/test_twitter_connect.py diff --git a/.gitignore b/.gitignore index c8d6d56..3774dff 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,7 @@ logs/* prawserver/supervise prawserver/run dump.rdb +.vscode # Byte-compiled / optimized / DLL files __pycache__/ diff --git a/app/connections/twitter_connect.py b/app/connections/twitter_connect.py index b9c69af..214b3b3 100644 --- a/app/connections/twitter_connect.py +++ b/app/connections/twitter_connect.py @@ -1,20 +1,154 @@ -import requests import simplejson as json -import os, inspect +import os, sys, glob, random, datetime, time, inspect import twitter +import app.cs_logger +from retrying import retry + ENV = os.environ['CS_ENV'] +## HOW MANY TIMES TO RETRY? +## IN THEORY, SHOULDN'T NEED +## TO RETRY MORE THAN ONCE +RETRY_LIMIT = 10 + +def retry_if_api_limit_error(exception): + return isinstance(exception, twitter.error.TwitterError) and len(exception.args)>0 and len(exception.args[0])>0 and "code" in exception.args[0][0] and exception.args[0][0]['code'] == 88 + +def rate_limit_retry(func): + @retry(stop_max_attempt_number=RETRY_LIMIT, retry_on_exception=retry_if_api_limit_error) + def func_wrapper(self,*args, **kwargs): + #print("Before (Class {0}, Method {1})".format(self.__class__.__name__, sys._getframe().f_code.co_name)) + self.try_counter += 1 + result = None + + #try a new key only if it's the second attempt or later + if(self.try_counter >= 2): + self.log.info("Twitter: rate limit calling TwitterConnect.api.{0} on ID {1}.".format(set(args).pop().__name__, self.token['user_id'])) + ## reset time to be the appropriate reset time + ## by setting it to the earliest possible reset time + ## TODO: Make this more efficient by observing the specific + max_rate_limit = None + max_rate_limit_keys = [] + for method, ratelist in self.api.rate_limit.resources.items(): + for rl in list(ratelist.items()): + url = rl[0] + ratelimit = rl[1] + ## TODO: THIS SHOULD BE THE LATEST RATE LIMIT FOR THIS KEY + if('reset' in ratelimit.keys() and (max_rate_limit is None or ratelimit['reset'] > max_rate_limit)): + max_rate_limit_keys = [method, url] + max_rate_limit = ratelimit['reset'] + self.token['next_available'] = datetime.datetime.fromtimestamp(max_rate_limit) + self.token['available'] = False + self.log.info("Twitter: Token for ID {0} next available at {1}. Selecting a new token...".format(self.token['user_id'], self.token['next_available'])) + + token = self.select_available_token() + if(self.apply_token(token)): + self.log.info("Twitter API connection verified under ID {0}".format(self.token['user_id'])) + + result = func(self,*args, **kwargs) + ## if the above line fails, the counter will iterate + ## without being reset, since the line below would never run + ## if the above line succeeds, reset the counter and continue + self.try_counter = 0 + return result + return func_wrapper + + class TwitterConnect(): - def __init__(self, log): + def __init__(self, log=None): BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), "../..") - twitter_config_path = os.path.join(BASE_DIR, "config", "twitter_auth_" + ENV + ".json") + self.try_counter = 0 + + ## LOAD LOGGER + if(log): + self.log = log + else: + self.log = app.cs_logger.get_logger(ENV, BASE_DIR) - with open(twitter_config_path, 'r') as config: - TWITTERCONFIG = json.loads(config.read()) - - self.api = twitter.Api(consumer_key=TWITTERCONFIG["consumer_key"], - consumer_secret=TWITTERCONFIG["consumer_secret"], - access_token_key=TWITTERCONFIG["access_token_key"], - access_token_secret=TWITTERCONFIG["access_token_secret"], - sleep_on_rate_limit=True) \ No newline at end of file + ## LOAD INFORMATION ABOUT KEYS (relative or absolute path) + config_path = os.path.join(BASE_DIR, "config", "twitter_configuration_" + ENV + ".json") + with open(config_path, "r") as config: + self.config = json.loads(config.read()) + + if(self.config['key_path'][0] == "/"): + self.log.info("TwitterConnect is loading from an absolute configuration path specified in {0}".format(config_path)) + token_path = self.config['key_path'] + else: + token_path = os.path.join(BASE_DIR, self.config['key_path']) + self.log.info("TwitterConnect is loading from a relative configuration path specified in {0}. Loading tokens from {1}".format(config_path, token_path)) + + + self.tokens = [] + for filename in sorted(glob.glob(os.path.join(token_path, "*.json"))): + with open(filename, "r") as f: + token = json.loads(f.read()) + token["valid"] = True + token["available"] = True + token["next_available"] = None + self.tokens.append(token) + + ## LOAD BASE CONFIGURATION INFORMATION + twitter_config_path = os.path.join(BASE_DIR, "config", "twitter_auth_" + ENV + ".json") + with open(twitter_config_path, 'r') as t_config: + twitter_config = json.loads(t_config.read()) + self.consumer_key = twitter_config["consumer_key"] + self.consumer_secret = twitter_config["consumer_secret"] + + token = self.select_available_token() + if(self.apply_token(token)): + self.log.info("Twitter API connection verified under ID {0}".format(self.token['user_id'])) + + ## This method takes a token and tries to adjust the API to query using the token + def apply_token(self, token): + self.api = twitter.Api(consumer_key = self.consumer_key, + consumer_secret = self.consumer_secret, + access_token_key = token['oauth_token'], + access_token_secret = token['oauth_token_secret']) + try: + verification = self.api.VerifyCredentials() + except twitter.error.TwitterError as e: + self.log.error("Twitter: Failed to connect to API with User ID {0}. Remove from token set. Error: {1}.".format(token['user_id'], str(e))) + token['valid'] = False + self.token = None + return False + self.token = token + return True + + ## This method will select from available tokens + ## or if no tokens are available, wait until the next token + ## becomes available, based on information from the Twitter API + ## then return that token + def select_available_token(self): + available_tokens = [token for token in self.tokens if (token['available'] and token['valid'])] + ## we take the first one rather than a random sample + ## to make testing more reliable + available_token = None + if(len(available_tokens)>0): + available_token = available_tokens[0] + + if(available_token is None): + available_tokens = sorted(self.tokens, key=lambda x: x['next_available']) + for token in available_tokens: + seconds_until_available = (token['next_available'] - datetime.datetime.now()).total_seconds() + 1 + if(seconds_until_available <= 0): + token['available'] = True + + try: + available_token = available_tokens[0] + except: + self.log.error("Twitter: failed to find any valid tokens. Ending process.") + sys.exit("Twitter: failed to find any valid tokens. Ending process") + + seconds_until_available = (available_token['next_available'] - datetime.datetime.now()).total_seconds() + 1 + if(seconds_until_available>0): + self.log.info("Twitter: Next available token ({0}): {1} seconds. Waiting...".format(available_token['user_id'], seconds_until_available)) + time.sleep(seconds_until_available) + return available_token + + ## TO USE RATE LIMIT MULTIPLEXING, CALL THE BELOW METHOD AS FOLLOWS + ## x = TwitterConnect() + ## x.query(x.api.GetFriends, "user") + @rate_limit_retry + def query(self, method, *args, **kwargs): + return method(*args, **kwargs) diff --git a/app/controllers/stylesheet_experiment_controller.py b/app/controllers/stylesheet_experiment_controller.py index 923db78..1e28c1f 100644 --- a/app/controllers/stylesheet_experiment_controller.py +++ b/app/controllers/stylesheet_experiment_controller.py @@ -2,9 +2,6 @@ import inspect, os, sys # set the BASE_DIR import simplejson as json import datetime, yaml, time, csv, pytz -import reddit.connection -import reddit.praw_utils as praw_utils -import reddit.queries import sqlalchemy from collections import defaultdict from dateutil import parser diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 1562c2b..b9b2404 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -173,7 +173,7 @@ def archive_new_users(self, unarchived_notice_users): this_users = user_names[prev_limit:limit] users_info = [] try: - users_info = self.t.api.UsersLookup(screen_name=this_users) + users_info = self.t.query(self.t.api.UsersLookup,screen_name=this_users) except twitter.error.TwitterError as e: failed_users.update(this_users) self.log.error("Failed to query for {0} Twitter users using api.UsersLookup: {1}".format(limit-prev_limit, str(e))) @@ -303,7 +303,7 @@ def archive_new_users(self, unarchived_notice_users): def is_user_suspended_or_deleted(self, username): user_state = TwitterUserState.NOT_FOUND try: - user = self.t.api.GetUser(screen_name=username) + user = self.t.query(self.t.api.GetUser,screen_name=username) except twitter.error.TwitterError as e: if e.message[0]['code'] == 50 and e.message[0]['message'] == 'User not found.': user_state = TwitterUserState.NOT_FOUND @@ -385,9 +385,9 @@ def archive_old_users(self, key_to_users, has_ids=True): self.log.error("Caught error where this_users is too long??? : len(this_users) = {0}".format(len(this_users))) try: if has_ids: - users_info = self.t.api.UsersLookup(user_id=this_users) + users_info = self.t.query(self.t.api.UsersLookup,user_id=this_users) else: - users_info = self.t.api.UsersLookup(screen_name=this_users) + users_info = self.t.query(self.t.api.UsersLookup,screen_name=this_users) except twitter.error.TwitterError as e: # this message means no users_info found: "[{'code': 17, 'message': 'No user matches for specified terms.'}]" if e.message[0]['code'] != 17: diff --git a/config/twitter_auth_environment.json.example b/config/twitter_auth_environment.json.example new file mode 100644 index 0000000..052ce10 --- /dev/null +++ b/config/twitter_auth_environment.json.example @@ -0,0 +1,4 @@ +{ + "consumer_key":"", + "consumer_secret":"" +} diff --git a/config/twitter_auth_test.json b/config/twitter_auth_test.json new file mode 100644 index 0000000..270ea09 --- /dev/null +++ b/config/twitter_auth_test.json @@ -0,0 +1,4 @@ +{ + "consumer_key":"TEST", + "consumer_secret":"TEST" +} diff --git a/config/twitter_configuration_environment.json.example b/config/twitter_configuration_environment.json.example new file mode 100644 index 0000000..a442d02 --- /dev/null +++ b/config/twitter_configuration_environment.json.example @@ -0,0 +1,3 @@ +{ +"key_path":"" +} diff --git a/config/twitter_configuration_test.json b/config/twitter_configuration_test.json new file mode 100644 index 0000000..3fa3d3f --- /dev/null +++ b/config/twitter_configuration_test.json @@ -0,0 +1,3 @@ +{ +"key_path":"tests/fixture_data/twitter_tokens" +} diff --git a/requirements.txt b/requirements.txt index e424ff7..62a05ac 100644 --- a/requirements.txt +++ b/requirements.txt @@ -15,3 +15,4 @@ pyyaml pytz numpy python-twitter +retrying diff --git a/tests/fixture_data/twitter_get_friends.json b/tests/fixture_data/twitter_get_friends.json new file mode 100644 index 0000000..971e4d0 --- /dev/null +++ b/tests/fixture_data/twitter_get_friends.json @@ -0,0 +1,8 @@ +[ +{"ID":"1234", "ScreenName":"abcd"}, +{"ID":"2345", "ScreenName":"bcde"}, +{"ID":"3456", "ScreenName":"cdef"}, +{"ID":"4567", "ScreenName":"defg"}, +{"ID":"5678", "ScreenName":"efgh"}, +{"ID":"6789", "ScreenName":"fghi"} +] diff --git a/tests/fixture_data/twitter_tokens/account_name_a.json b/tests/fixture_data/twitter_tokens/account_name_a.json new file mode 100644 index 0000000..a5b738c --- /dev/null +++ b/tests/fixture_data/twitter_tokens/account_name_a.json @@ -0,0 +1 @@ +{"username": "account_name_a", "user_id":1, "oauth_token_secret": "TOKEN_SECRET_account_name_a", "oauth_token": "OAUTH_TOKEN_account_name_a"} diff --git a/tests/fixture_data/twitter_tokens/account_name_b.json b/tests/fixture_data/twitter_tokens/account_name_b.json new file mode 100644 index 0000000..9849a0d --- /dev/null +++ b/tests/fixture_data/twitter_tokens/account_name_b.json @@ -0,0 +1 @@ +{"username": "account_name_b", "user_id":2, "oauth_token_secret": "TOKEN_SECRET_account_name_b", "oauth_token": "OAUTH_TOKEN_account_name_b"} diff --git a/tests/test_controllers.py b/tests/test_controllers.py index e7dcedc..a2caa76 100644 --- a/tests/test_controllers.py +++ b/tests/test_controllers.py @@ -13,6 +13,7 @@ import app.controllers.moderator_controller import app.controllers.lumen_controller import app.controllers.twitter_controller +import app.connections.twitter_connect from utils.common import PageType, DbEngine, json2obj, TwitterUserState import requests import twitter @@ -684,11 +685,11 @@ def test_parse_notices_archive_users(mock_LumenConnect, mock_get): # TODO: currently this test does not test user list with len>90, so as to not call api.UsersLookup more than once, which is difficult to mock @patch('twitter.error', autospec=True) @patch('twitter.Api', autospec=True) -@patch('app.connections.twitter_connect.TwitterConnect', autospec=True) -def test_archive_new_users(mock_TwitterConnect, mock_twitter_api, mock_twitter_error): - tc = mock_TwitterConnect.return_value +def test_archive_new_users(mock_twitter_api, mock_twitter_error): api = mock_twitter_api.return_value te = mock_twitter_error.return_value + tc = app.connections.twitter_connect.TwitterConnect() + with open("{script_dir}/fixture_data/anon_twitter_users.json".format(script_dir=TEST_DIR)) as f: data = f.read() api.UsersLookup.return_value = json.loads(data) @@ -741,11 +742,11 @@ def test_archive_new_users(mock_TwitterConnect, mock_twitter_api, mock_twitter_e # TODO: currently this test does not test user list with len>90, so as to not call api.UsersLookup more than once, which is difficult to mock @patch('twitter.error', autospec=True) @patch('twitter.Api', autospec=True) -@patch('app.connections.twitter_connect.TwitterConnect', autospec=True) -def test_archive_old_users(mock_TwitterConnect, mock_twitter_api, mock_twitter_error): - tc = mock_TwitterConnect.return_value +def test_archive_old_users(mock_twitter_api, mock_twitter_error): api = mock_twitter_api.return_value te = mock_twitter_error.return_value + tc = app.connections.twitter_connect.TwitterConnect() + # for is_user_suspended_or_deleted api.GetUser.side_effect = te.TwitterError([{'message': 'User not found.', 'code': 50}]) diff --git a/tests/test_twitter.py b/tests/test_twitter.py deleted file mode 100644 index c3e4938..0000000 --- a/tests/test_twitter.py +++ /dev/null @@ -1,21 +0,0 @@ -import app.connections.twitter_connect -import os -import simplejson as json -from sqlalchemy import create_engine -from sqlalchemy.orm import sessionmaker -import glob, datetime -from mock import Mock, patch -from app.models import Base, PrawKey -from utils.common import DbEngine - -TEST_DIR = os.path.dirname(os.path.realpath(__file__)) - -os.environ['CS_ENV'] ="test" - -def setup_function(function): - pass - -def teardown_function(function): - pass - -# currently no tests since class TwitterConnect has no methods \ No newline at end of file diff --git a/tests/test_twitter_connect.py b/tests/test_twitter_connect.py new file mode 100644 index 0000000..36b5193 --- /dev/null +++ b/tests/test_twitter_connect.py @@ -0,0 +1,82 @@ +import pytest +import os +import twitter +import datetime, time +from mock import Mock, patch +import simplejson as json +from utils.common import json2obj + +TEST_DIR = os.path.dirname(os.path.realpath(__file__)) +BASE_DIR = os.path.join(TEST_DIR, "../") +ENV = os.environ['CS_ENV'] ="test" + +import app.connections.twitter_connect + +def setup_function(function): + pass + +def teardown_function(function): + pass + +@patch('twitter.Api', autospec=True) +def test_twitter_connect(mock_twitter): + t = mock_twitter.return_value + conn = app.connections.twitter_connect.TwitterConnect() + friend_accounts = [] + with open("{script_dir}/fixture_data/twitter_get_friends.json".format(script_dir=TEST_DIR)) as f: + fixture = json.loads(f.read()) + for account in fixture: + json_dump = json.dumps(account) + account_obj = json2obj(json_dump) + friend_accounts.append(account_obj) + + t.GetFriends.return_value = friend_accounts + + friends = conn.query(conn.api.GetFriends) + assert len(friends) == len(friend_accounts) + +@patch('twitter.Api', autospec=True) +@patch('twitter.ratelimit.RateLimit', autospec=True) +def test_exception_retry(mock_rate_limit, mock_twitter): + #TODO: In the unlikelihood that a VERY slow machine is running these tests + # you can increase the timedelta here and below to microseconds=500 + reset_time = (datetime.datetime.now() + datetime.timedelta(seconds=1)) + mock_rate_limit.resources = {"getfriends":{"/friends/list":{ + "reset":time.mktime(reset_time.timetuple()), + "remaining":0, + "limit":15}}} + + t = mock_twitter.return_value + t.rate_limit = mock_rate_limit + t.VerifyCredentials.return_value = True + + conn = app.connections.twitter_connect.TwitterConnect() + + friend_accounts = [] + with open("{script_dir}/fixture_data/twitter_get_friends.json".format(script_dir=TEST_DIR)) as f: + fixture = json.loads(f.read()) + for account in fixture: + json_dump = json.dumps(account) + account_obj = json2obj(json_dump) + friend_accounts.append(account_obj) + + t.GetFriends.side_effect = [twitter.error.TwitterError([{'code': 88, 'message': 'Rate limit exceeded'}]), friend_accounts] + assert conn.token['user_id'] == 1 + friends = conn.query(conn.api.GetFriends) + assert len(friends) == len(friend_accounts) + assert conn.token['user_id'] == 2 + + ##now make it wait to go back to the previous key + t.GetFriends.side_effect = [twitter.error.TwitterError([{'code': 88, 'message': 'Rate limit exceeded'}]), friend_accounts] + mock_rate_limit.resources = {"getfriends":{"/friends/list":{ + "reset":time.mktime((datetime.datetime.now() + datetime.timedelta(seconds=1)).timetuple()), + "remaining":0, + "limit":15}}} + t.rate_limit = mock_rate_limit + + assert conn.token['user_id'] == 2 + assert (reset_time - datetime.datetime.now()).total_seconds() > 0 + friends = conn.query(conn.api.GetFriends) + assert len(friends) == len(friend_accounts) + assert conn.token['user_id'] == 1 + assert (reset_time - datetime.datetime.now()).total_seconds() < 0 From 1593ddde2e6769065646cae11e7d749dbf09f0ee Mon Sep 17 00:00:00 2001 From: mmou Date: Mon, 28 Aug 2017 16:25:50 -0400 Subject: [PATCH 028/221] remove merge text from email_db_report --- utils/email_db_report.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/utils/email_db_report.py b/utils/email_db_report.py index bae1422..218490a 100644 --- a/utils/email_db_report.py +++ b/utils/email_db_report.py @@ -7,11 +7,7 @@ BASE_DIR = os.path.join(os.path.dirname(os.path.realpath(__file__)), "..") sys.path.append(BASE_DIR) -<<<<<<< HEAD from utils.common import PageType, ThingType, TwitterUserState -======= -from utils.common import PageType, ThingType ->>>>>>> 7ac23d957d071e0160eb3f53fdfe101338ac0914 with open(os.path.join(BASE_DIR, "config") + "/{env}.json".format(env=ENV), "r") as config: DBCONFIG = json.loads(config.read()) From 770024bb21dc3a0ad07471262afd669bd9058693 Mon Sep 17 00:00:00 2001 From: = <=> Date: Mon, 28 Aug 2017 16:30:18 -0400 Subject: [PATCH 029/221] updated code to hannahmore status --- .../twitter_observational_analysis_controller.py | 8 +++++--- set_up_auth.py | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/app/controllers/twitter_observational_analysis_controller.py b/app/controllers/twitter_observational_analysis_controller.py index 7785bd7..26dd215 100644 --- a/app/controllers/twitter_observational_analysis_controller.py +++ b/app/controllers/twitter_observational_analysis_controller.py @@ -194,10 +194,11 @@ def get_users_to_notice_dates(self): uid = ntu.twitter_user_id # remove None because that means - if uid not in twitter_users_to_notice_dates: + if uid is not None: + if uid not in twitter_users_to_notice_dates: twitter_users_to_notice_dates[uid] = [] - notice_date = notice_id_to_date[ntu.notice_id] - twitter_users_to_notice_dates[uid].append(notice_date) + notice_date = notice_id_to_date[ntu.notice_id] + twitter_users_to_notice_dates[uid].append(notice_date) self.log.info("Retrieved {0} TwitterUser.".format(len(twitter_users_to_notice_dates))) return twitter_users_to_notice_dates @@ -245,6 +246,7 @@ def get_users_to_tweets(self, this_uids): num_tweets = 0 for (i, uid) in enumerate(this_uids): + self.log.info(uid) tweets = self.db_session.query(TwitterStatus).filter( or_(TwitterStatus.user_id == uid, TwitterStatus.user_id == self.user_ids_to_not_found_ids[uid])).all() diff --git a/set_up_auth.py b/set_up_auth.py index dc0cffe..2e1255a 100644 --- a/set_up_auth.py +++ b/set_up_auth.py @@ -15,7 +15,7 @@ r = praw.Reddit(user_agent="Test version of CivilServant by u/natematias") -url = r.get_authorize_url('uniqueKey', 'identity read modlog modposts submit modconfig flair', True) +url = r.get_authorize_url('uniqueKey', 'modcontributors identity read modlog modposts submit modconfig flair', True) print(url) print("After you accept permission, please enter the code from the redirect_url") code = input("Enter the text after 'code='\n") From 32ac011bc5fa714fa65c2dacd5a59eeaa31fd71f Mon Sep 17 00:00:00 2001 From: mmou Date: Tue, 29 Aug 2017 13:23:52 -0400 Subject: [PATCH 030/221] update twitter_connect to fix rate limit bug --- app/connections/twitter_connect.py | 1 + tests/test_twitter_connect.py | 1 + 2 files changed, 2 insertions(+) diff --git a/app/connections/twitter_connect.py b/app/connections/twitter_connect.py index 214b3b3..b0f9c1a 100644 --- a/app/connections/twitter_connect.py +++ b/app/connections/twitter_connect.py @@ -107,6 +107,7 @@ def apply_token(self, token): access_token_secret = token['oauth_token_secret']) try: verification = self.api.VerifyCredentials() + self.api.InitializeRateLimit() except twitter.error.TwitterError as e: self.log.error("Twitter: Failed to connect to API with User ID {0}. Remove from token set. Error: {1}.".format(token['user_id'], str(e))) token['valid'] = False diff --git a/tests/test_twitter_connect.py b/tests/test_twitter_connect.py index 36b5193..b38601e 100644 --- a/tests/test_twitter_connect.py +++ b/tests/test_twitter_connect.py @@ -49,6 +49,7 @@ def test_exception_retry(mock_rate_limit, mock_twitter): t = mock_twitter.return_value t.rate_limit = mock_rate_limit t.VerifyCredentials.return_value = True + t.InitializeRateLimit.return_value = True conn = app.connections.twitter_connect.TwitterConnect() From a9a724f241521567fed65741573884eb06523967 Mon Sep 17 00:00:00 2001 From: "J. Nathan Matias" Date: Sat, 13 Jan 2018 12:16:12 -0500 Subject: [PATCH 031/221] added model LumenNoticeExpandedURL --- ...51b28b_added_table_for_url_unshortening.py | 96 +++++++++++++++++++ app/models.py | 11 ++- 2 files changed, 106 insertions(+), 1 deletion(-) create mode 100644 alembic/versions/59dd3251b28b_added_table_for_url_unshortening.py diff --git a/alembic/versions/59dd3251b28b_added_table_for_url_unshortening.py b/alembic/versions/59dd3251b28b_added_table_for_url_unshortening.py new file mode 100644 index 0000000..3a3f8ad --- /dev/null +++ b/alembic/versions/59dd3251b28b_added_table_for_url_unshortening.py @@ -0,0 +1,96 @@ +"""added table for url unshortening + +Revision ID: 59dd3251b28b +Revises: dc2328901c69 +Create Date: 2018-01-13 12:02:37.703995 + +""" + +# revision identifiers, used by Alembic. +revision = '59dd3251b28b' +down_revision = 'dc2328901c69' +branch_labels = None +depends_on = None + +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import mysql + +def upgrade(engine_name): + globals()["upgrade_%s" % engine_name]() + + +def downgrade(engine_name): + globals()["downgrade_%s" % engine_name]() + + + + + +def upgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('lumen_notice_expanded_urls', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('notice_id', sa.BigInteger(), nullable=True), + sa.Column('original_url', mysql.MEDIUMTEXT(), nullable=True), + sa.Column('expanded_url', mysql.MEDIUMTEXT(), nullable=True), + sa.Column('number_of_hops', sa.Integer(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_index(op.f('ix_lumen_notice_expanded_urls_notice_id'), 'lumen_notice_expanded_urls', ['notice_id'], unique=False) + # ### end Alembic commands ### + + +def downgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index(op.f('ix_lumen_notice_expanded_urls_notice_id'), table_name='lumen_notice_expanded_urls') + op.drop_table('lumen_notice_expanded_urls') + # ### end Alembic commands ### + + +def upgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('lumen_notice_expanded_urls', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('notice_id', sa.BigInteger(), nullable=True), + sa.Column('original_url', mysql.MEDIUMTEXT(), nullable=True), + sa.Column('expanded_url', mysql.MEDIUMTEXT(), nullable=True), + sa.Column('number_of_hops', sa.Integer(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_index(op.f('ix_lumen_notice_expanded_urls_notice_id'), 'lumen_notice_expanded_urls', ['notice_id'], unique=False) + # ### end Alembic commands ### + + +def downgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index(op.f('ix_lumen_notice_expanded_urls_notice_id'), table_name='lumen_notice_expanded_urls') + op.drop_table('lumen_notice_expanded_urls') + # ### end Alembic commands ### + + +def upgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('lumen_notice_expanded_urls', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('created_at', sa.DateTime(), nullable=True), + sa.Column('notice_id', sa.BigInteger(), nullable=True), + sa.Column('original_url', mysql.MEDIUMTEXT(), nullable=True), + sa.Column('expanded_url', mysql.MEDIUMTEXT(), nullable=True), + sa.Column('number_of_hops', sa.Integer(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_index(op.f('ix_lumen_notice_expanded_urls_notice_id'), 'lumen_notice_expanded_urls', ['notice_id'], unique=False) + op.create_index('ix_comments_subreddit_id_created_at', 'comments', ['subreddit_id', 'created_at'], unique=False) + # ### end Alembic commands ### + + +def downgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index('ix_comments_subreddit_id_created_at', table_name='comments') + op.drop_index(op.f('ix_lumen_notice_expanded_urls_notice_id'), table_name='lumen_notice_expanded_urls') + op.drop_table('lumen_notice_expanded_urls') + # ### end Alembic commands ### + diff --git a/app/models.py b/app/models.py index 5742b8d..222c55a 100644 --- a/app/models.py +++ b/app/models.py @@ -213,6 +213,15 @@ class LumenNotice(Base): notice_data = Column(MEDIUMTEXT) CS_parsed_usernames = Column(Integer, default=1) # see CS_JobState Enum +class LumenNoticeExpandedURL(Base): + __tablename__ = 'lumen_notice_expanded_urls' + id = Column(BigInteger, primary_key = True) + created_at = Column(DateTime, default=datetime.datetime.utcnow()) + notice_id = Column(BigInteger, index=True) + original_url = Column(MEDIUMTEXT) + expanded_url = Column(MEDIUMTEXT) + number_of_hops = Column(Integer) + # twitter_username is the username parsed from the notice; may change later, but these changes will not be reflected in this record. # use twitter_use_id to join with TwitterUser, TwitterUserSnapshot, TwistterStatus class LumenNoticeToTwitterUser(Base): @@ -253,4 +262,4 @@ class TwitterStatus(Base): user_id = Column(String(64), index = True) created_at = Column(DateTime) record_created_at = Column(DateTime, default=datetime.datetime.utcnow) - status_data = Column(MEDIUMTEXT) \ No newline at end of file + status_data = Column(MEDIUMTEXT) From f2c04231b051acaae1002542424a69a2aff58fe8 Mon Sep 17 00:00:00 2001 From: Jason Baumgartner Date: Tue, 16 Jan 2018 05:48:40 +0000 Subject: [PATCH 032/221] Added requests and requests_futures modules --- requirements.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/requirements.txt b/requirements.txt index 62a05ac..c6d3e28 100644 --- a/requirements.txt +++ b/requirements.txt @@ -16,3 +16,6 @@ pytz numpy python-twitter retrying +requests +requests_futures + From 2d0d7c82fedaad99533278c55e12a948e2240914 Mon Sep 17 00:00:00 2001 From: Jason Baumgartner Date: Tue, 16 Jan 2018 05:57:31 +0000 Subject: [PATCH 033/221] Code to bulkunshorten URLs --- utils/url_unshortener.py | 80 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 utils/url_unshortener.py diff --git a/utils/url_unshortener.py b/utils/url_unshortener.py new file mode 100644 index 0000000..c161089 --- /dev/null +++ b/utils/url_unshortener.py @@ -0,0 +1,80 @@ +import requests +from requests_futures.sessions import FuturesSession +from concurrent.futures import wait + +def bulkUnshorten(urls,workers=25): + + # This function will unshorten an array of shortened URLS + # The second optional argument is the number of workers to run in parallel + + # When initially called, an array of string objects will be passed to the function. + # The function will then create an array of dicts to keep track of all urls, the number of hops and + # the final destination url. If there is an error, a status code of 4xx is recorded within the dict. + # Otherwise, a status code of 200 should be returned. + + # Global timeouts + # - REQUEST_TIMEOUT is the timeout when waiting for a reply from a remote server + # - HOPS_LIMIT is the maximum number of redirect hops allowed + + REQUEST_TIMEOUT = 10 + HOPS_LIMIT = 10 + + # Allow passing in of one url as a string object + if (isinstance(urls,str)): + urls = [urls] + + # If method is being called initally, create a dictionary for the urls passed. When the method calls + # itself, it will pass this object to itself as needed. + if (isinstance(urls,list)): + url_objects = urls[:] + urls = {} + for url in url_objects: + urls[url] = {"hops":0,"status_code":None,"success":None,"final_url":None,"error":None,"original_url":url} + + session = FuturesSession(max_workers=workers) + futures = [] + + for key in urls: + if urls[key]['success'] is not None: continue + if urls[key]['hops'] >= 10: continue + futures.append(session.head(key,timeout=REQUEST_TIMEOUT)) + + if futures: + done, incomplete = wait(futures) + for obj in done: + try: + result = obj.result() + except requests.exceptions.ConnectTimeout as e: + url = e.request.url + urls[url]['error'] = "ConnectTimeout" + urls[url]['success'] = False + continue + except requests.exceptions.ReadTimeout as e: + url = e.request.url + urls[url]['error'] = "ReadTimeout" + urls[url]['success'] = False + continue + + if result.status_code == 200: + urls[result.url]['success'] = True + urls[result.url]['final_url'] = result.url + urls[result.url]['status_code'] = result.status_code + elif result.status_code == 301 or result.status_code == 302: + redirect_url = result.headers['location'] + urls[result.url]['hops'] += 1 + urls[result.url]['final_url'] = redirect_url + urls[result.url]['status_code'] = result.status_code + urls[redirect_url] = urls.pop(result.url) + else: + urls[result.url]['success'] = False + urls[result.url]['status_code'] = result.status_code + + bulkUnshorten(urls, workers) + + url_dict = {} + + for key in urls: + original_url = urls[key]['original_url'] + url_dict[original_url] = urls[key] + + return url_dict From 7c8103d591330c9ac0602bb51b84c23ec7c2e45a Mon Sep 17 00:00:00 2001 From: Jason Baumgartner Date: Tue, 16 Jan 2018 06:11:07 +0000 Subject: [PATCH 034/221] Fixed description (dict not array of dicts) --- utils/url_unshortener.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/url_unshortener.py b/utils/url_unshortener.py index c161089..15e468c 100644 --- a/utils/url_unshortener.py +++ b/utils/url_unshortener.py @@ -8,7 +8,7 @@ def bulkUnshorten(urls,workers=25): # The second optional argument is the number of workers to run in parallel # When initially called, an array of string objects will be passed to the function. - # The function will then create an array of dicts to keep track of all urls, the number of hops and + # The function will then create a dictionary to keep track of all urls, the number of hops and # the final destination url. If there is an error, a status code of 4xx is recorded within the dict. # Otherwise, a status code of 200 should be returned. From 017d27f98be9dc16598dfb114883f1befe5d8777 Mon Sep 17 00:00:00 2001 From: Jason Baumgartner Date: Tue, 16 Jan 2018 06:13:01 +0000 Subject: [PATCH 035/221] Replace int where CONST variable belonged --- utils/url_unshortener.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/url_unshortener.py b/utils/url_unshortener.py index 15e468c..d24c452 100644 --- a/utils/url_unshortener.py +++ b/utils/url_unshortener.py @@ -36,7 +36,7 @@ def bulkUnshorten(urls,workers=25): for key in urls: if urls[key]['success'] is not None: continue - if urls[key]['hops'] >= 10: continue + if urls[key]['hops'] >= HOPS_LIMIT: continue futures.append(session.head(key,timeout=REQUEST_TIMEOUT)) if futures: From 61be4675e9e316f5fc0b97e23925531ca276e038 Mon Sep 17 00:00:00 2001 From: Jason Baumgartner Date: Wed, 17 Jan 2018 15:38:28 +0000 Subject: [PATCH 036/221] Added normalization of urls and ability to handle relative paths in location headers --- utils/url_unshortener.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/utils/url_unshortener.py b/utils/url_unshortener.py index d24c452..eb89076 100644 --- a/utils/url_unshortener.py +++ b/utils/url_unshortener.py @@ -29,7 +29,9 @@ def bulkUnshorten(urls,workers=25): url_objects = urls[:] urls = {} for url in url_objects: - urls[url] = {"hops":0,"status_code":None,"success":None,"final_url":None,"error":None,"original_url":url} + req = requests.Request('HEAD',url) + normalized_url = req.prepare().url + urls[normalized_url] = {"hops":0,"status_code":None,"success":None,"final_url":None,"error":None,"original_url":url} session = FuturesSession(max_workers=workers) futures = [] @@ -61,6 +63,17 @@ def bulkUnshorten(urls,workers=25): urls[result.url]['status_code'] = result.status_code elif result.status_code == 301 or result.status_code == 302: redirect_url = result.headers['location'] + + # Handle a location header that returns a relative path instead of an absolute path. This is now allowed + # under RFC 7231. If the returned location does not begin with http, then it is a relative path and should + # be concatenated to the original url + if not redirect_url.lower().startswith("http"): + redirect_url = result.url + redirect_url + + # Normalize the url using the requests module + req = requests.Request('HEAD',redirect_url) + redirect_url = req.prepare().url + urls[result.url]['hops'] += 1 urls[result.url]['final_url'] = redirect_url urls[result.url]['status_code'] = result.status_code From 269387593194b1aa57eef6ec2bcbf97090b17ffe Mon Sep 17 00:00:00 2001 From: Jason Baumgartner Date: Thu, 25 Jan 2018 08:51:34 +0000 Subject: [PATCH 037/221] Removed recursive call -- not needed --- utils/url_unshortener.py | 121 ++++++++++++++++++++------------------- 1 file changed, 62 insertions(+), 59 deletions(-) diff --git a/utils/url_unshortener.py b/utils/url_unshortener.py index eb89076..f1a6155 100644 --- a/utils/url_unshortener.py +++ b/utils/url_unshortener.py @@ -2,7 +2,7 @@ from requests_futures.sessions import FuturesSession from concurrent.futures import wait -def bulkUnshorten(urls,workers=25): +def bulkUnshorten(urls,workers=20): # This function will unshorten an array of shortened URLS # The second optional argument is the number of workers to run in parallel @@ -33,61 +33,64 @@ def bulkUnshorten(urls,workers=25): normalized_url = req.prepare().url urls[normalized_url] = {"hops":0,"status_code":None,"success":None,"final_url":None,"error":None,"original_url":url} - session = FuturesSession(max_workers=workers) - futures = [] - - for key in urls: - if urls[key]['success'] is not None: continue - if urls[key]['hops'] >= HOPS_LIMIT: continue - futures.append(session.head(key,timeout=REQUEST_TIMEOUT)) - - if futures: - done, incomplete = wait(futures) - for obj in done: - try: - result = obj.result() - except requests.exceptions.ConnectTimeout as e: - url = e.request.url - urls[url]['error'] = "ConnectTimeout" - urls[url]['success'] = False - continue - except requests.exceptions.ReadTimeout as e: - url = e.request.url - urls[url]['error'] = "ReadTimeout" - urls[url]['success'] = False - continue - - if result.status_code == 200: - urls[result.url]['success'] = True - urls[result.url]['final_url'] = result.url - urls[result.url]['status_code'] = result.status_code - elif result.status_code == 301 or result.status_code == 302: - redirect_url = result.headers['location'] - - # Handle a location header that returns a relative path instead of an absolute path. This is now allowed - # under RFC 7231. If the returned location does not begin with http, then it is a relative path and should - # be concatenated to the original url - if not redirect_url.lower().startswith("http"): - redirect_url = result.url + redirect_url - - # Normalize the url using the requests module - req = requests.Request('HEAD',redirect_url) - redirect_url = req.prepare().url - - urls[result.url]['hops'] += 1 - urls[result.url]['final_url'] = redirect_url - urls[result.url]['status_code'] = result.status_code - urls[redirect_url] = urls.pop(result.url) - else: - urls[result.url]['success'] = False - urls[result.url]['status_code'] = result.status_code - - bulkUnshorten(urls, workers) - - url_dict = {} - - for key in urls: - original_url = urls[key]['original_url'] - url_dict[original_url] = urls[key] - - return url_dict + while True: + + session = FuturesSession(max_workers=workers) + futures = [] + + for key in urls: + if urls[key]['success'] is not None: continue + if urls[key]['hops'] >= HOPS_LIMIT: continue + futures.append(session.head(key,timeout=REQUEST_TIMEOUT)) + + if futures: + done, incomplete = wait(futures) + for obj in done: + try: + result = obj.result() + except requests.exceptions.ConnectTimeout as e: + url = e.request.url + urls[url]['error'] = "ConnectTimeout" + urls[url]['success'] = False + continue + except requests.exceptions.ReadTimeout as e: + url = e.request.url + urls[url]['error'] = "ReadTimeout" + urls[url]['success'] = False + continue + + if result.status_code == 200: + urls[result.url]['success'] = True + urls[result.url]['final_url'] = result.url + urls[result.url]['status_code'] = result.status_code + elif result.status_code == 301 or result.status_code == 302: + redirect_url = result.headers['location'] + + # Handle a location header that returns a relative path instead of an absolute path. This is now allowed + # under RFC 7231. If the returned location does not begin with http, then it is a relative path and should + # be concatenated to the original url + + if not redirect_url.lower().startswith("http"): + redirect_url = result.url + redirect_url + + # Normalize the url using the requests module + req = requests.Request('HEAD',redirect_url) + redirect_url = req.prepare().url + + urls[result.url]['hops'] += 1 + urls[result.url]['final_url'] = redirect_url + urls[result.url]['status_code'] = result.status_code + urls[redirect_url] = urls.pop(result.url) + else: + urls[result.url]['success'] = False + urls[result.url]['status_code'] = result.status_code + + else: + + url_dict = {} + + for key in urls: + original_url = urls[key]['original_url'] + url_dict[original_url] = urls[key] + + return url_dict From 85bb5fe06e854d687281f96cb2404cf41f25b24f Mon Sep 17 00:00:00 2001 From: Jason Baumgartner Date: Thu, 25 Jan 2018 16:31:38 +0000 Subject: [PATCH 038/221] Integrated URL unshortening into Lumen Controller --- app/controllers/lumen_controller.py | 131 ++++++++++++++++++++++++++-- 1 file changed, 122 insertions(+), 9 deletions(-) diff --git a/app/controllers/lumen_controller.py b/app/controllers/lumen_controller.py index a6b673a..23bdc5b 100644 --- a/app/controllers/lumen_controller.py +++ b/app/controllers/lumen_controller.py @@ -1,10 +1,12 @@ import simplejson as json import datetime -from app.models import Base, LumenNotice, LumenNoticeToTwitterUser, TwitterUser +from app.models import Base, LumenNotice, LumenNoticeToTwitterUser, TwitterUser, LumenNoticeExpandedURL from app.controllers.twitter_controller import TwitterController import utils.common from utils.common import CS_JobState import requests +from requests_futures.sessions import FuturesSession +from concurrent.futures import wait import app.controllers.twitter_controller import sqlalchemy from sqlalchemy import or_ @@ -15,7 +17,7 @@ class LumenController(): def __init__(self, db_session, l, log): self.db_session = db_session self.l = l - self.log = log + self.log = log # archives lumen notices since date til now(+1day) def archive_lumen_notices(self, topics, date): @@ -31,13 +33,13 @@ def archive_lumen_notices(self, topics, date): while next_page is not None: # sleep for 2 seconds if we're calling page 2 or more # for now, implement this here. In future add to connection library - if(next_page > 1): + if(next_page > 1): time.sleep(2) data = self.l.get_notices_to_twitter([topic], 50, next_page, date, nowish) if not data: # error is already logged by get_notices_to_twitter - return + return notices_json = data["notices"] next_page = data["meta"]["next_page"] @@ -69,7 +71,7 @@ def archive_lumen_notices(self, topics, date): try: self.db_session.commit() - except: + except: self.log.error("Error while saving {0} lumen notices in DB Session".format(len(added_notices_ids)), extra=sys.exc_info()[0]) else: self.log.info("Saved {0} lumen notices.".format(len(newly_added_notices_ids) - prev_add_notices_size)) @@ -121,7 +123,7 @@ def parse_notices_archive_users(self, unparsed_notices): for url_obj in work["infringing_urls"]: url = url_obj["url"] try: - username = helper_parse_url_for_username(url, self.log) + username = helper_parse_url_for_username(url, self.log) except utils.common.ParseUsernameSuspendedUserFound: suspended_user_count += 1 except Exception as e: @@ -130,7 +132,7 @@ def parse_notices_archive_users(self, unparsed_notices): if username: # if no username, then no username found notice_users.add(username) - + if len(work["copyrighted_urls"]) > 0: # I've only seen this empty self.log.error("method helper_parse_notices_archive_users: maybe missed something in notice_json['works']['copyrighted_urls']; notice id = {0}".format(notice_json["id"])) job_state = CS_JobState.NEEDS_RETRY @@ -184,6 +186,116 @@ def parse_notices_archive_users(self, unparsed_notices): return notice_to_state + def bulk_unshorten(self,notice_id,urls,workers=10): + + # This function will unshorten an array of shortened URLS + # The second optional argument is the number of workers to run in parallel + + # When initially called, an array of string objects will be passed to the function. + # The function will then create a dictionary to keep track of all urls, the number of hops and + # the final destination url. If there is an error, a status code of 4xx is recorded within the dict. + # Otherwise, a status code of 200 should be returned. + + # Global timeouts + # - REQUEST_TIMEOUT is the timeout when waiting for a reply from a remote server + # - HOPS_LIMIT is the maximum number of redirect hops allowed + + REQUEST_TIMEOUT = 10 + HOPS_LIMIT = 10 + + # Allow passing in of one url as a string object + if (isinstance(urls,str)): + urls = [urls] + + # If method is being called initally, create a dictionary for the urls passed. When the method calls + # itself, it will pass this object to itself as needed. + if (isinstance(urls,list)): + url_objects = urls[:] + urls = {} + for url in url_objects: + req = requests.Request('HEAD',url) + normalized_url = req.prepare().url + urls[normalized_url] = {"notice_id":notice_id,"hops":0,"status_code":None,"success":None,"final_url":None,"error":None,"original_url":url} + + while True: + + session = FuturesSession(max_workers=workers) + futures = [] + + for key in urls: + if urls[key]['success'] is not None: continue + if urls[key]['hops'] >= HOPS_LIMIT: continue + futures.append(session.head(key,timeout=REQUEST_TIMEOUT)) + + if futures: + done, incomplete = wait(futures) + self.log.info("Making {0} simultaneous requests to unshorten urls for notice {1}.".format(len(futures),notice_id)) + for obj in done: + try: + result = obj.result() + except requests.exceptions.ConnectTimeout as e: + url = e.request.url + urls[url]['error'] = "ConnectTimeout" + urls[url]['success'] = False + continue + except requests.exceptions.ReadTimeout as e: + url = e.request.url + urls[url]['error'] = "ReadTimeout" + urls[url]['success'] = False + continue + + if result.status_code == 200: + urls[result.url]['success'] = True + urls[result.url]['final_url'] = result.url + urls[result.url]['status_code'] = result.status_code + elif result.status_code == 301 or result.status_code == 302: + redirect_url = result.headers['location'] + + # Handle a location header that returns a relative path instead of an absolute path. This is now allowed + # under RFC 7231. If the returned location does not begin with http, then it is a relative path and should + # be concatenated to the original url + + if not redirect_url.lower().startswith("http"): + redirect_url = result.url + redirect_url + + # Normalize the url using the requests module + req = requests.Request('HEAD',redirect_url) + redirect_url = req.prepare().url + + urls[result.url]['hops'] += 1 + urls[result.url]['final_url'] = redirect_url + urls[result.url]['status_code'] = result.status_code + urls[redirect_url] = urls.pop(result.url) + else: + urls[result.url]['success'] = False + urls[result.url]['status_code'] = result.status_code + + else: + + url_dict = {} + + for key in urls: + if urls[key]['status_code'] == 200: + now = datetime.datetime.utcnow() + url_record = LumenNoticeExpandedURL ( + created_at = now, + notice_id = urls[key]['notice_id'], + original_url = urls[key]['original_url'], + expanded_url = urls[key]['final_url'], + number_of_hops = urls[key]['hops']) + self.db_session.add(url_record) + original_url = urls[key]['original_url'] + url_dict[original_url] = urls[key] + + try: + self.db_session.commit() + except: + self.log.error("Error while committing expanded urls for notice {0}".format(notice_id), extra=sys.exc_info()[0]) + else: + self.log.info("Saved expanded urls for lumen notice {0}".format(notice_id)) + + return url_dict + # assume url is of the form 'https://twitter.com/sooos243/status/852942353321140224' # OR check if a t.co url extends to a twitter.com url @@ -198,7 +310,8 @@ def helper_parse_url_for_username(url, log): # TODO: how to resolve t.co urls without hitting twitter.com without auth tokens (since we're getting rate limited?) # calling requests.get is very time inefficient if len(url_split) >= 3 and url_split[2] == tco_domain: - log.error("t.co url that we didn't attempt to resolve: {0}".format(url)) + pass + #log.error("t.co url that we didn't attempt to resolve: {0}".format(url)) # try to get request and unshorten the url #####r = None @@ -219,6 +332,6 @@ def helper_parse_url_for_username(url, log): if len(url_split) >= 3 and url_split[2] == twitter_domain: username = url_split[3].lower() - + return username From 58b1b94621f488799af6756c8ece45a474b870e9 Mon Sep 17 00:00:00 2001 From: "J. Nathan Matias" Date: Sat, 17 Feb 2018 11:04:31 -0500 Subject: [PATCH 039/221] updated tests to surface cs job state issue --- app/controllers/lumen_controller.py | 6 +++- config/lumen_auth_test.json | 3 ++ tests/test_lumen.py | 52 ++++++++++++++++++++++++++--- 3 files changed, 56 insertions(+), 5 deletions(-) create mode 100644 config/lumen_auth_test.json diff --git a/app/controllers/lumen_controller.py b/app/controllers/lumen_controller.py index 23bdc5b..2e831eb 100644 --- a/app/controllers/lumen_controller.py +++ b/app/controllers/lumen_controller.py @@ -87,11 +87,15 @@ def archive_lumen_notices(self, topics, date): """ For all LumenNotices with CS_parsed_usernames=NOT_PROCESSED, parse for twitter accounts """ - def query_and_parse_notices_archive_users(self): + def query_and_parse_notices_archive_users(self, test_exception = False): unparsed_notices = self.db_session.query(LumenNotice).filter(LumenNotice.CS_parsed_usernames == CS_JobState.NOT_PROCESSED.value).all() utils.common.update_CS_JobState(unparsed_notices, "CS_parsed_usernames", CS_JobState.IN_PROGRESS, self.db_session, self.log) + if(test_exception): + raise Exception("Throwing an exception for test purposes") + + notice_to_state = self.parse_notices_archive_users(unparsed_notices) utils.common.update_all_CS_JobState(notice_to_state, "CS_parsed_usernames", self.db_session, self.log) diff --git a/config/lumen_auth_test.json b/config/lumen_auth_test.json new file mode 100644 index 0000000..343e032 --- /dev/null +++ b/config/lumen_auth_test.json @@ -0,0 +1,3 @@ +{ + "X-Authentication-Token": "" +} diff --git a/tests/test_lumen.py b/tests/test_lumen.py index 30e669f..9ab9981 100644 --- a/tests/test_lumen.py +++ b/tests/test_lumen.py @@ -1,22 +1,34 @@ import app.connections.lumen_connect +import app.controller +import app.controllers.lumen_controller import os import simplejson as json from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker import glob, datetime from mock import Mock, patch -from app.models import Base, PrawKey -from utils.common import DbEngine +from app.models import * +from utils.common import * +import app.cs_logger TEST_DIR = os.path.dirname(os.path.realpath(__file__)) +BASE_DIR = os.path.join(TEST_DIR, "../") +ENV = os.environ['CS_ENV'] ="test" -os.environ['CS_ENV'] ="test" +db_session = DbEngine(os.path.join(TEST_DIR, "../", "config") + "/{env}.json".format(env=ENV)).new_session() +log = app.cs_logger.get_logger(ENV, BASE_DIR) def setup_function(function): pass def teardown_function(function): - pass + db_session.query(LumenNotice).delete() + db_session.query(LumenNoticeExpandedURL).delete() + db_session.query(LumenNoticeToTwitterUser).delete() + db_session.query(TwitterUser).delete() + db_session.query(TwitterUserSnapshot).delete() + db_session.query(TwitterStatus).delete() + db_session.commit() @patch('app.connections.lumen_connect.LumenConnect', autospec=True) def test_archive_lumen_notices(mock_LumenConnect): @@ -34,3 +46,35 @@ def test_archive_lumen_notices(mock_LumenConnect): assert len(notices_json) == 50 assert type(notices_json[0]) == dict assert type(notices_json) == list + + ## TODO: COMPLETE THIS TEST + + +@patch('app.connections.lumen_connect.LumenConnect', autospec=True) +def test_parse_lumen_notices(mock_LumenConnect): + lc = mock_LumenConnect.return_value + with open("{script_dir}/fixture_data/anon_lumen_notices_0.json".format(script_dir=TEST_DIR)) as f: + data = f.read() + lumen_return_data = json.loads(data) + for notice in lumen_return_data['notices']: + notice['date_received'] = (datetime.datetime.utcnow() - datetime.timedelta(days=1)).strftime('%Y-%m-%dT%H:%M:%S.000Z') + lc.get_notices_to_twitter.return_value = lumen_return_data + patch('app.connections.lumen_connect.') + + num_days = 2 + + l = app.controllers.lumen_controller.LumenController(db_session, lc, log) + date = datetime.datetime.utcnow() - datetime.timedelta(days=int(float(num_days))) + l.archive_lumen_notices(['Copyright'], date) + + assert(len(db_session.query(LumenNotice).all()) == len(lumen_return_data['notices'])) + + try: + l.query_and_parse_notices_archive_users(test_exception=True) + except: + pass + ## AT THIS POINT, WE HAVE THINGS THAT SHOULD BE "NOT PROCESSED" THAT ARE + ## LABELED CS_JobState==2 (e.g. IN PROGRESS) DESPITE HAVING THE CODE FAIL + notices = [x for x in db_session.query(LumenNotice).all()] + for notice in notices: + assert notice.CS_parsed_usernames == CS_JobState.NOT_PROCESSED From ac602dd21a2bc20e0c2b69a1dac3ccdf941e0088 Mon Sep 17 00:00:00 2001 From: Jonathan Zong Date: Sat, 17 Feb 2018 12:12:54 -0500 Subject: [PATCH 040/221] consistent LumenNotice job state in case of exception --- app/controllers/lumen_controller.py | 176 +++++++++++++++------------- tests/test_lumen.py | 11 +- 2 files changed, 102 insertions(+), 85 deletions(-) diff --git a/app/controllers/lumen_controller.py b/app/controllers/lumen_controller.py index 2e831eb..bf32e03 100644 --- a/app/controllers/lumen_controller.py +++ b/app/controllers/lumen_controller.py @@ -89,17 +89,7 @@ def archive_lumen_notices(self, topics, date): """ def query_and_parse_notices_archive_users(self, test_exception = False): unparsed_notices = self.db_session.query(LumenNotice).filter(LumenNotice.CS_parsed_usernames == CS_JobState.NOT_PROCESSED.value).all() - - utils.common.update_CS_JobState(unparsed_notices, "CS_parsed_usernames", CS_JobState.IN_PROGRESS, self.db_session, self.log) - - if(test_exception): - raise Exception("Throwing an exception for test purposes") - - - notice_to_state = self.parse_notices_archive_users(unparsed_notices) - - utils.common.update_all_CS_JobState(notice_to_state, "CS_parsed_usernames", self.db_session, self.log) - + notice_to_state = self.parse_notices_archive_users(unparsed_notices, test_exception) """ unparsed_notices = list of LumenNotices @@ -107,7 +97,7 @@ def query_and_parse_notices_archive_users(self, test_exception = False): returns: notice_to_state = {LumenNotice: CS_JobState} """ - def parse_notices_archive_users(self, unparsed_notices): + def parse_notices_archive_users(self, unparsed_notices, test_exception = False): if len(unparsed_notices) == 0: return {} @@ -115,78 +105,104 @@ def parse_notices_archive_users(self, unparsed_notices): if not is_test: # to accomodate test fixture data notice_to_state = {notice: CS_JobState.FAILED for notice in unparsed_notices } else: - notice_to_state = {json.dumps(notice): CS_JobState.FAILED for notice in unparsed_notices } + notice_to_state = {json.dumps(notice): CS_JobState.FAILED for notice in unparsed_notices } + + if(test_exception): + counter = 0 for notice in unparsed_notices: - notice_json = json.loads(notice.notice_data) if not is_test else notice # to accomodate test fixture data - notice_users = set([]) - suspended_user_count = 0 - job_state = None - for work in notice_json["works"]: - # infringing_urls is known to contain urls - for url_obj in work["infringing_urls"]: - url = url_obj["url"] - try: - username = helper_parse_url_for_username(url, self.log) - except utils.common.ParseUsernameSuspendedUserFound: - suspended_user_count += 1 - except Exception as e: - self.log.error("Unexpected error while calling helper_parse_url_for_username on url {0}: {1}".format(url, e)) - else: - if username: - # if no username, then no username found - notice_users.add(username) + notice_old_job_state = notice.CS_parsed_usernames + notice.CS_parsed_usernames = CS_JobState.IN_PROGRESS.value + self.db_session.add(notice) + self.db_session.commit() - if len(work["copyrighted_urls"]) > 0: # I've only seen this empty - self.log.error("method helper_parse_notices_archive_users: maybe missed something in notice_json['works']['copyrighted_urls']; notice id = {0}".format(notice_json["id"])) - job_state = CS_JobState.NEEDS_RETRY - if work["description"]: # I've only seen this null - self.log.error("method helper_parse_notices_archive_users: maybe missed something in notice_json['works']['description']; notice id = {0}".format(notice_json["id"])) + try: + notice_json = json.loads(notice.notice_data) if not is_test else notice # to accomodate test fixture data + notice_users = set([]) + suspended_user_count = 0 + job_state = None + for work in notice_json["works"]: + # infringing_urls is known to contain urls + for url_obj in work["infringing_urls"]: + url = url_obj["url"] + try: + username = helper_parse_url_for_username(url, self.log) + except utils.common.ParseUsernameSuspendedUserFound: + suspended_user_count += 1 + except Exception as e: + self.log.error("Unexpected error while calling helper_parse_url_for_username on url {0}: {1}".format(url, e)) + else: + if username: + # if no username, then no username found + notice_users.add(username) + + if len(work["copyrighted_urls"]) > 0: # I've only seen this empty + self.log.error("method helper_parse_notices_archive_users: maybe missed something in notice_json['works']['copyrighted_urls']; notice id = {0}".format(notice_json["id"])) + job_state = CS_JobState.NEEDS_RETRY + if work["description"]: # I've only seen this null + self.log.error("method helper_parse_notices_archive_users: maybe missed something in notice_json['works']['description']; notice id = {0}".format(notice_json["id"])) + job_state = CS_JobState.NEEDS_RETRY + if notice_json["body"]: # I've only seen this null + self.log.error("method helper_parse_notices_archive_users: maybe missed something in notice_json['body']; notice id = {0}".format(notice_json["id"])) job_state = CS_JobState.NEEDS_RETRY - if notice_json["body"]: # I've only seen this null - self.log.error("method helper_parse_notices_archive_users: maybe missed something in notice_json['body']; notice id = {0}".format(notice_json["id"])) - job_state = CS_JobState.NEEDS_RETRY - - now = datetime.datetime.utcnow() - # for every notice, commit LumenNoticeToTwitterUser records - for username in notice_users: - notice_user_record = LumenNoticeToTwitterUser( - record_created_at = now, - notice_id = notice_json["id"], - twitter_username = username.lower(), - twitter_user_id = None, - CS_account_archived = CS_JobState.NOT_PROCESSED.value - ) - self.db_session.add(notice_user_record) - - # this notice has suspended_user_count not found users (t.co URL redirected to an account/suspended page) - for i in range(suspended_user_count): - notice_user_record = LumenNoticeToTwitterUser( - record_created_at = now, - notice_id = notice_json["id"], - twitter_username = utils.common.NOT_FOUND_TWITTER_USER_STR, - twitter_user_id = utils.common.NOT_FOUND_TWITTER_USER_STR, - CS_account_archived = CS_JobState.PROCESSED.value # can't do anything about these records. don't process - ) - self.db_session.add(notice_user_record) - try: - self.db_session.commit() + now = datetime.datetime.utcnow() + # for every notice, commit LumenNoticeToTwitterUser records + for username in notice_users: + notice_user_record = LumenNoticeToTwitterUser( + record_created_at = now, + notice_id = notice_json["id"], + twitter_username = username.lower(), + twitter_user_id = None, + CS_account_archived = CS_JobState.NOT_PROCESSED.value + ) + self.db_session.add(notice_user_record) + + # this notice has suspended_user_count not found users (t.co URL redirected to an account/suspended page) + for i in range(suspended_user_count): + notice_user_record = LumenNoticeToTwitterUser( + record_created_at = now, + notice_id = notice_json["id"], + twitter_username = utils.common.NOT_FOUND_TWITTER_USER_STR, + twitter_user_id = utils.common.NOT_FOUND_TWITTER_USER_STR, + CS_account_archived = CS_JobState.PROCESSED.value # can't do anything about these records. don't process + ) + self.db_session.add(notice_user_record) + + if(test_exception): + counter += 1 + if counter >= len(unparsed_notices) / 2: + raise Exception("Throwing an exception for test purposes") + except: - self.log.error("Error while saving {0} twitter users from {1} infringing_urls in notice {2} DB Session".format( - len(notice_users), - sum(len(work["infringing_urls"]) for work in notice_json["works"]), - notice_json["id"]), extra=sys.exc_info()[0]) - ####return notice_to_state + # something unhandled went wrong during processing + notice.CS_parsed_usernames = notice_old_job_state + self.db_session.add(notice) + self.db_session.commit() + raise # re-raise exception else: - self.log.info("Saved {0} twitter users from {1} infringing_urls in notice {2}.".format( - len(notice_users), - sum(len(work["infringing_urls"]) for work in notice_json["works"]), - notice_json["id"])) + # commit previously added LumenNoticeToTwitterUser record + # add & commit LumenNotice job state + # finish processing + try: + job_state = CS_JobState.PROCESSED if (job_state is not CS_JobState.NEEDS_RETRY) else CS_JobState.NEEDS_RETRY + notice.CS_parsed_usernames = job_state.value + self.db_session.add(notice) + self.db_session.commit() + except: + self.log.error("Error while saving {0} twitter users from {1} infringing_urls in notice {2} DB Session".format( + len(notice_users), + sum(len(work["infringing_urls"]) for work in notice_json["works"]), + notice_json["id"]), extra=sys.exc_info()[0]) + ####return notice_to_state + else: + self.log.info("Saved {0} twitter users from {1} infringing_urls in notice {2}.".format( + len(notice_users), + sum(len(work["infringing_urls"]) for work in notice_json["works"]), + notice_json["id"])) - job_state = CS_JobState.PROCESSED if (job_state is not CS_JobState.NEEDS_RETRY) else CS_JobState.NEEDS_RETRY - key = notice if not is_test else json.dumps(notice) - notice_to_state[key] = job_state + key = notice if not is_test else json.dumps(notice) + notice_to_state[key] = job_state return notice_to_state @@ -301,8 +317,8 @@ def bulk_unshorten(self,notice_id,urls,workers=10): return url_dict -# assume url is of the form 'https://twitter.com/sooos243/status/852942353321140224' -# OR check if a t.co url extends to a twitter.com url +# assume url is of the form 'https://twitter.com/sooos243/status/852942353321140224' +# OR check if a t.co url extends to a twitter.com url # interesting later study: see how many t.co links resolve to twitter links? def helper_parse_url_for_username(url, log): twitter_domain = "twitter.com" @@ -311,7 +327,7 @@ def helper_parse_url_for_username(url, log): url_split = url.split("/") retries = 3 - # TODO: how to resolve t.co urls without hitting twitter.com without auth tokens (since we're getting rate limited?) + # TODO: how to resolve t.co urls without hitting twitter.com without auth tokens (since we're getting rate limited?) # calling requests.get is very time inefficient if len(url_split) >= 3 and url_split[2] == tco_domain: pass @@ -330,7 +346,7 @@ def helper_parse_url_for_username(url, log): ##### raise Exception if url == "https://twitter.com/account/suspended": - # TODO: then we have no information. + # TODO: then we have no information. # save a LumenNoticeToTwitterUser record, with username = "SUSPENDED" raise utils.common.ParseUsernameSuspendedUserFound diff --git a/tests/test_lumen.py b/tests/test_lumen.py index 9ab9981..6459946 100644 --- a/tests/test_lumen.py +++ b/tests/test_lumen.py @@ -40,7 +40,7 @@ def test_archive_lumen_notices(mock_LumenConnect): ## NOW START THE TEST from_date = datetime.datetime.utcnow() - datetime.timedelta(days=2) - to_date = datetime.datetime.utcnow() + to_date = datetime.datetime.utcnow() data_json = lc.get_notices_to_twitter(["Copyright"], 50, 1, from_date, to_date) notices_json = data_json["notices"] assert len(notices_json) == 50 @@ -72,9 +72,10 @@ def test_parse_lumen_notices(mock_LumenConnect): try: l.query_and_parse_notices_archive_users(test_exception=True) except: - pass ## AT THIS POINT, WE HAVE THINGS THAT SHOULD BE "NOT PROCESSED" THAT ARE ## LABELED CS_JobState==2 (e.g. IN PROGRESS) DESPITE HAVING THE CODE FAIL - notices = [x for x in db_session.query(LumenNotice).all()] - for notice in notices: - assert notice.CS_parsed_usernames == CS_JobState.NOT_PROCESSED + notices = [x for x in db_session.query(LumenNotice).all()] + for notice in notices: + assert notice.CS_parsed_usernames != CS_JobState.IN_PROGRESS.value + else: + assert False # expected query_and_parse_notices_archive_users to throw test_exception From 1458618b1530aaff0a08536195358f4219614c53 Mon Sep 17 00:00:00 2001 From: Jonathan Zong Date: Sat, 17 Feb 2018 15:09:24 -0500 Subject: [PATCH 041/221] clean up lumen controller and test --- app/controllers/lumen_controller.py | 13 +------------ tests/test_lumen.py | 2 ++ 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/app/controllers/lumen_controller.py b/app/controllers/lumen_controller.py index bf32e03..97daf8c 100644 --- a/app/controllers/lumen_controller.py +++ b/app/controllers/lumen_controller.py @@ -89,23 +89,16 @@ def archive_lumen_notices(self, topics, date): """ def query_and_parse_notices_archive_users(self, test_exception = False): unparsed_notices = self.db_session.query(LumenNotice).filter(LumenNotice.CS_parsed_usernames == CS_JobState.NOT_PROCESSED.value).all() - notice_to_state = self.parse_notices_archive_users(unparsed_notices, test_exception) + self.parse_notices_archive_users(unparsed_notices, test_exception) """ unparsed_notices = list of LumenNotices - - returns: - notice_to_state = {LumenNotice: CS_JobState} """ def parse_notices_archive_users(self, unparsed_notices, test_exception = False): if len(unparsed_notices) == 0: return {} is_test = type(unparsed_notices[0]) is not LumenNotice - if not is_test: # to accomodate test fixture data - notice_to_state = {notice: CS_JobState.FAILED for notice in unparsed_notices } - else: - notice_to_state = {json.dumps(notice): CS_JobState.FAILED for notice in unparsed_notices } if(test_exception): counter = 0 @@ -194,7 +187,6 @@ def parse_notices_archive_users(self, unparsed_notices, test_exception = False): len(notice_users), sum(len(work["infringing_urls"]) for work in notice_json["works"]), notice_json["id"]), extra=sys.exc_info()[0]) - ####return notice_to_state else: self.log.info("Saved {0} twitter users from {1} infringing_urls in notice {2}.".format( len(notice_users), @@ -202,9 +194,6 @@ def parse_notices_archive_users(self, unparsed_notices, test_exception = False): notice_json["id"])) key = notice if not is_test else json.dumps(notice) - notice_to_state[key] = job_state - - return notice_to_state def bulk_unshorten(self,notice_id,urls,workers=10): diff --git a/tests/test_lumen.py b/tests/test_lumen.py index 6459946..3be495a 100644 --- a/tests/test_lumen.py +++ b/tests/test_lumen.py @@ -77,5 +77,7 @@ def test_parse_lumen_notices(mock_LumenConnect): notices = [x for x in db_session.query(LumenNotice).all()] for notice in notices: assert notice.CS_parsed_usernames != CS_JobState.IN_PROGRESS.value + assert notice[0].CS_parsed_usernames != CS_JobState.NOT_PROCESSED.value + assert notice[-1].CS_parsed_usernames == CS_JobState.NOT_PROCESSED.value else: assert False # expected query_and_parse_notices_archive_users to throw test_exception From 89cb1d7c2b66b3fb64c9c16e558504bca936cc82 Mon Sep 17 00:00:00 2001 From: "J. Nathan Matias" Date: Sat, 17 Feb 2018 16:11:14 -0500 Subject: [PATCH 042/221] added fixture data for user lookup test --- tests/fixture_data/anon_users_lookup_0.json | 1 + utils/anonymize_lumen_twitter_fixture_data.py | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 tests/fixture_data/anon_users_lookup_0.json diff --git a/tests/fixture_data/anon_users_lookup_0.json b/tests/fixture_data/anon_users_lookup_0.json new file mode 100644 index 0000000..6f62b3c --- /dev/null +++ b/tests/fixture_data/anon_users_lookup_0.json @@ -0,0 +1 @@ +[{"following": false, "profile_use_background_image": true, "favourites_count": 3497, "created_at": "Fri Apr 25 02:02:35 +0000 2014", "location": "\u65e5\u672c \u8328\u57ce", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "cqxawyxzgbj", "has_extended_profile": true, "profile_banner_url": "http://ocmsbiflylrciatnedvgskqukajxcpgtgrcazczmrzvpkdpjlkjujrwokda", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": -28800, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://swkmwbsgdzjzwcjdrhtatdwrxqizjbejdloqxolfylhmcnfuw", "notifications": false, "lang": "ja", "profile_background_color": "C0DEED", "followers_count": 4288, "id_str": "8638705631", "geo_enabled": false, "translator_type": "none", "friends_count": 4735, "description": "ltgjxccujvigwxromllvhkwnufutybaxobqictzxathgsmumdrmcyijpofdqnnzwogfxvazhouuteyjtjwkqrbhe", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 2462, "profile_image_url_https": "http://lrpgqcseuxnkylmdqgihawkdnivbowfkrickqnpxwjbeakxaocmfjqholghnaofcekkiahbxxmo", "listed_count": 4, "protected": false, "name": "hrwxwciktgts", "profile_text_color": "333333", "profile_link_color": "B30000", "follow_request_sent": false, "time_zone": "Pacific Time (US & Canada)", "url": null, "profile_background_image_url": "http://oeztyettequtijchofpxewwsxwopbrwwhucxgkwfoqhmadqy", "profile_image_url": "http://jmpabwrsbwrwqzsqaashidristgnmikyyksiegdbgkfqkpdfvigoeplgmbozzjkkfvcrwyhpjl", "verified": false, "default_profile_image": false, "id": 8638705631}, {"following": false, "profile_use_background_image": true, "favourites_count": 0, "created_at": "Thu Feb 16 13:57:05 +0000 2017", "location": "Ative as Notifica\u00e7oes", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "xxvaeohjutdpp", "has_extended_profile": false, "profile_banner_url": "http://lrbvnovlnznezoiapypjcifkpcfmxaqgzgowcnhnsjowqyrprfagtyuzoxggppzmssq", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "entities": {}, "default_profile": true, "profile_background_image_url_https": null, "notifications": false, "lang": "pt", "profile_background_color": "F5F8FA", "followers_count": 1132, "id_str": "20927995966334689", "geo_enabled": false, "translator_type": "none", "friends_count": 1, "description": "rkslgkulohqdkruonzarqsyhkegwqhxdhfptvglrrpakqzdmutreztxtmtnjsepcelzlqehwrcwdrkpslgntppcpursbwvg", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 84, "profile_image_url_https": "http://zvxkipecuobudwagahsfdnhopzrozbolgsosctpcbegeierdjwsylaapranvxoxnchryljvmcgk", "listed_count": 8, "protected": false, "name": "hxhxbzovwfinfjg", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": null, "url": null, "profile_background_image_url": null, "profile_image_url": "http://eutgqxrcyqmumgcfhzrjyplgrwkrwgzsduuilauogasgqoyyrmuxzmyasvlcumdrcptyphofvj", "verified": false, "default_profile_image": false, "id": 20927995966334689}, {"following": false, "profile_use_background_image": true, "favourites_count": 369, "created_at": "Sat Jun 16 22:11:46 +0000 2012", "location": "", "is_translator": false, "profile_sidebar_border_color": "5ED4DC", "screen_name": "tthimimcxlce", "has_extended_profile": true, "profile_banner_url": "http://bwqxdiqghjmyznaycdbgzjjothjzgqkptfzchxllhszfwvwckqunxeshkz", "profile_background_tile": false, "profile_sidebar_fill_color": "95E8EC", "utc_offset": -18000, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://bqiruxgupzdweqrhuhlxjorihjuhcmsymnrwcvgiovjnbjmtg", "notifications": false, "lang": "en", "profile_background_color": "0099B9", "followers_count": 21, "id_str": "739629137", "geo_enabled": false, "translator_type": "none", "friends_count": 115, "description": "ipzeazuvvmigckjnkweuxqbofehvgzcsluwfjzxhrnsayjnvtbxnncigrgltefkvpkcdryplxkjytxfeklglavymtfl", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 411, "profile_image_url_https": "http://ntxcxwkyxikdhmgheauytzgegantvwbzsonolyaulbhapmhuxoyhhwpnxtshgrznzguvzalsmmy", "listed_count": 0, "protected": false, "name": "eoqbml", "profile_text_color": "3C3940", "profile_link_color": "0099B9", "follow_request_sent": false, "time_zone": "Eastern Time (US & Canada)", "url": null, "profile_background_image_url": "http://aodiaepetefinpvrkjdfwkwtlnhdwfssyxuacsrhyptrvinv", "profile_image_url": "http://fbweyafxcmarzzimddiiwqdkyxroyqyfqugapclaishglkgwpeudoafccjrsimejezmmyjcxbo", "verified": false, "default_profile_image": false, "id": 739629137}, {"following": false, "profile_use_background_image": true, "favourites_count": 8311, "created_at": "Wed Mar 31 22:30:42 +0000 2010", "location": "Mundo F\u00fatbol", "is_translator": false, "profile_sidebar_border_color": "000000", "screen_name": "odutnzznshfgpy", "has_extended_profile": true, "profile_banner_url": "http://iiwffjhcnhwkckmwpiuaceneelqptazguutzfewcdtkfjersixrcuznlxc", "profile_background_tile": true, "profile_sidebar_fill_color": "EFEFEF", "utc_offset": -18000, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://qvfahrbcjadobkkddcgehvfoadsidihgcrznzwmispvvaqdqueyyhmsbudgotupshpbsortyrrehfurtrkrhrcubwvugvoeersveygzaanmn", "notifications": false, "lang": "es", "profile_background_color": "131516", "followers_count": 2354, "id_str": "371341296", "geo_enabled": true, "translator_type": "none", "friends_count": 161, "description": "zeriiqskjiarkohebaguvkkkqkflsgqjcgnjtdqegupcvyrrqganaxouyorivoxoviabjfabfyqbeepwddipgsquthbtdlsiifwnciwufyymuhjysxkfpgxqkjtzcfknfnkpgbuhknmytaqetxpmxntsgodr", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 14560, "profile_image_url_https": "http://mcquoevmegfojpsonjiriejoadbdbjwcuadubuwwmiajtvdeyudsckdvigwjtnrqmqbanqinxhu", "listed_count": 20, "protected": false, "name": "osayagojivxgxmxxovvfpbnvn", "profile_text_color": "333333", "profile_link_color": "0B0B61", "follow_request_sent": false, "time_zone": "America/Bogota", "url": "http://ewtagwqfdpirlppwzfiwwum", "profile_background_image_url": "http://opvtltgaqqrgofgljphzlbnakrkuxoglyfbdmmhtywadojimluaeyohmgwjmncyxhmnculwbaomdqibimnqkfnhfhrsitnaygbezavqrses", "profile_image_url": "http://hsjmoxiqoapprwfceljivmyopxryoljwipbqxywylbhxfjkmgwonvfkksypmkmgjtmjoofnxmd", "verified": false, "default_profile_image": false, "id": 371341296}, {"following": false, "profile_use_background_image": true, "favourites_count": 2515, "created_at": "Tue Aug 15 14:47:26 +0000 2017", "location": "", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "jkqtskit", "has_extended_profile": false, "profile_banner_url": "http://citvqipsmhjmfzbqfcqvzqvracpiahaeecdviivfbbtyqcqcplmebwqqgecbzvdmtku", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "entities": {}, "default_profile": true, "profile_background_image_url_https": null, "notifications": false, "lang": "en", "profile_background_color": "F5F8FA", "followers_count": 37, "id_str": "964042345667103356", "geo_enabled": false, "translator_type": "none", "friends_count": 66, "description": "uhkssusmmdasfndqwesghhqptqfmgddogqazypczveftcxldlwovtxguxowqvoxbzntbgjvppuunpq", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 4409, "profile_image_url_https": "http://ukwumrrnpzttylfpwuezbwntfevpvritvmuomzxwadmnvnqoqqjbyklsouzrgkuyitgngvebuaa", "listed_count": 0, "protected": false, "name": "co", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": null, "url": null, "profile_background_image_url": null, "profile_image_url": "http://alriwwuqbceuojbvhikvxobaiswrjdcyfxzmochurvtrsfxulcxoipjerlijqqnncpfizhmvtt", "verified": false, "default_profile_image": false, "id": 964042345667103356}, {"following": false, "profile_use_background_image": true, "favourites_count": 139, "created_at": "Sun Apr 16 16:46:42 +0000 2017", "location": "", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "fuvbentnqss", "has_extended_profile": false, "profile_banner_url": "http://szhywgiozqmkmaxqnzbajafxwpejfpqmwoxwgbtzxyfmnkmqiikgaogzpyaezozzbnx", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": -28800, "entities": {}, "default_profile": true, "profile_background_image_url_https": null, "notifications": false, "lang": "en", "profile_background_color": "F5F8FA", "followers_count": 9600, "id_str": "85450785994571083", "geo_enabled": false, "translator_type": "none", "friends_count": 5, "description": "xyrwowruexywczmzkfnazaapjuspkyci", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 388, "profile_image_url_https": "http://bmvgadzujbulcgfutspczplmdajejrzjufqynzgsmzghstkqzoklixxhvgcloyvtosjoufxoplu", "listed_count": 30, "protected": false, "name": "popcrhzbntjks", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": "Pacific Time (US & Canada)", "url": null, "profile_background_image_url": null, "profile_image_url": "http://wzdhojzvtfoyevnwlvpqlniewutjrjvrsujfttupahbgozzncclfaloxzibuhzqvvzfxbaljpn", "verified": false, "default_profile_image": false, "id": 85450785994571083}, {"following": false, "profile_use_background_image": true, "favourites_count": 47077, "created_at": "Sun Mar 20 00:31:32 +0000 2011", "location": "New York, NY", "is_translator": false, "profile_sidebar_border_color": "FFFFFF", "screen_name": "grqyqvscecm", "has_extended_profile": true, "profile_banner_url": "http://zoodzvnvhctlzdrpbentnmvfjeojmhbnwstmegupcdlzujdpvzpnznyzpr", "profile_background_tile": true, "profile_sidebar_fill_color": "78C0A8", "utc_offset": -18000, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://jeewtjkrowzajlyusnusprketrjcptcwqjiksrhedesdcnaofzqiolqrazchflvfpzausaqcsiyqzymrzubsjjioaqgzdni", "notifications": false, "lang": "en", "profile_background_color": "FCEBB6", "followers_count": 107091, "id_str": "806007920", "geo_enabled": false, "translator_type": "none", "friends_count": 1975, "description": "nggfewvyaaajcfxghokcslnxjfmciqritzagsfelqvxosbrftxkrcachsdwlasrhhemqrtryhainjakphevmmwpqkvirdrwmrunqvllfywsaduictrheuoatsawjuslxaaoettoozzradpsvtckruukchqqwsblw", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 14698, "profile_image_url_https": "http://munjhzhcxmyvhvarwsihpyhlablejbfosoizubuqptpynrufjtumwjowatrsavgqkkfajqofodv", "listed_count": 478, "protected": false, "name": "tskateibckbq", "profile_text_color": "CE7834", "profile_link_color": "5E412F", "follow_request_sent": false, "time_zone": "Eastern Time (US & Canada)", "url": null, "profile_background_image_url": "http://rqbgmnddbjyvvmpvvfdruuhwjaowqeolhnfwnyasmnjyahlutuvkcealhlnxoirwxsjabvygebtmkqtsaereydkvdhrfls", "profile_image_url": "http://cxgdfopwjqkludrmjdzdwcsszkijmofmjhvoydfrgyvzihoyzntkncmllylyafgbtvvcaonxjo", "verified": true, "default_profile_image": false, "id": 806007920}, {"following": false, "profile_use_background_image": true, "favourites_count": 6386, "created_at": "Mon Jul 12 09:59:19 +0000 2010", "location": "Palmerston North, New Zealand", "is_translator": false, "profile_sidebar_border_color": "86A4A6", "screen_name": "pvplhhaa", "has_extended_profile": false, "profile_banner_url": "http://wgzkulknnceimtpoydodlojbuwzbspnbfgfavsylehgeslzkznudjhgjpr", "profile_background_tile": true, "profile_sidebar_fill_color": "A0C5C7", "utc_offset": 46800, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://nlxhmjaoqfgdjmpnkiloedrkmrqehwswomyxblkgdduhkbmkvmnizmehevrzhjlipgolqprtodjsazamqhn", "notifications": false, "lang": "en", "profile_background_color": "ACDED6", "followers_count": 1192, "id_str": "811764805", "geo_enabled": true, "translator_type": "none", "friends_count": 2146, "description": "vtmkxqeqyulzhylglubuqcngdaubvltuvoqwlhijodakwjgyymrwcobwfahbyfftvxwusbvo", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 38795, "profile_image_url_https": "http://caaukbrzrmqzvpfnvbbebpenkpiqtofeoopzoigvmnxhqawnmdofcazmsgibysxgygbprzmtfmx", "listed_count": 22, "protected": false, "name": "jetygj", "profile_text_color": "333333", "profile_link_color": "038543", "follow_request_sent": false, "time_zone": "Auckland", "url": "http://mkiztkplysabnfybepeuikg", "profile_background_image_url": "http://tmtrslmtpluqxcjxvvkvabplrebgiexueyikhuykcqclpkdqyvfjreuzqokzirknovgnwyejjpgpmudile", "profile_image_url": "http://rfimekosedmhgbaxeclcmjylimwchfztnaqkznvoxffnjnmvcrlohdaaytlpgqbggxdfufljtd", "verified": false, "default_profile_image": false, "id": 811764805}, {"following": false, "profile_use_background_image": false, "favourites_count": 13009, "created_at": "Tue Oct 09 05:01:27 +0000 2012", "location": "", "is_translator": false, "profile_sidebar_border_color": "000000", "screen_name": "vkoptfbycftk", "has_extended_profile": true, "profile_banner_url": "http://kpohhjtyewlckymsphdjvanjfzmhkqwfxhuvyjnkwnjqeyelrqsxkkhgfa", "profile_background_tile": false, "profile_sidebar_fill_color": "000000", "utc_offset": -25200, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://soxaerzouqjoozsyzbeumdkiedngolpwkzctxatfckckbkkre", "notifications": false, "lang": "en", "profile_background_color": "000000", "followers_count": 1002, "id_str": "165318527", "geo_enabled": true, "translator_type": "none", "friends_count": 733, "description": "wthjdwyixtjvgmegixpr", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 47252, "profile_image_url_https": "http://xndceggyasdvxfugzzkhxhbkpxdgpvawhrnctmskgaejjqrqnlnsngozcemqjuscmxdomujzesq", "listed_count": 2, "protected": false, "name": "eqfuj", "profile_text_color": "000000", "profile_link_color": "9266CC", "follow_request_sent": false, "time_zone": "Arizona", "url": null, "profile_background_image_url": "http://newhfrtmxtpaqtxarbbwrvhusvficyniwkmcjvjhtioomtes", "profile_image_url": "http://rzldqzqkmzndfszekyumuqpkmhxnaucqvgxmaipsfdabgkmavdpnnutktyqutwznrbdouaxyyu", "verified": false, "default_profile_image": false, "id": 165318527}, {"following": false, "profile_use_background_image": true, "favourites_count": 80, "created_at": "Sat Aug 05 02:54:16 +0000 2017", "location": "", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "vnhcnwqx", "has_extended_profile": false, "profile_banner_url": "http://ueaehkxbchtnslkervmhcjfqutxzcwhwpyisirdltlzvklkhlyqkilrijvvzocqzjpp", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": -21600, "entities": {}, "default_profile": true, "profile_background_image_url_https": null, "notifications": false, "lang": "es", "profile_background_color": "F5F8FA", "followers_count": 12, "id_str": "386252649336772285", "geo_enabled": false, "translator_type": "none", "friends_count": 96, "description": "", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 993, "profile_image_url_https": "http://drbphsxsmjtmvwvmrvwxjhnqvqjqikphyzecyespijatszesfwnzalnlndqnrbqnithjbvgtrwx", "listed_count": 0, "protected": false, "name": "swdhqbst", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": "Guadalajara", "url": null, "profile_background_image_url": null, "profile_image_url": "http://cjrfratjnmnaecljkkwlqwgagyesvcjhkqcyviaittxfhzazsmwfclbxfmrfeggpybpahrfapo", "verified": false, "default_profile_image": false, "id": 386252649336772285}, {"following": false, "profile_use_background_image": true, "favourites_count": 404, "created_at": "Wed Feb 01 22:55:44 +0000 2017", "location": "NCT", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "trksdrfjtz", "has_extended_profile": false, "profile_banner_url": "http://kprvjtraumootwheklqmrgfydoutxautxfbmfilybmqtisetenrrqlfodkdrrmbxjpl", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": 25200, "entities": {}, "default_profile": true, "profile_background_image_url_https": null, "notifications": false, "lang": "id", "profile_background_color": "F5F8FA", "followers_count": 1012, "id_str": "176370378872083128", "geo_enabled": false, "translator_type": "none", "friends_count": 20, "description": "aoibpefcewtmkesenuydmzqfpnngqxqiaeultoaxgezimphhtzqiymeveaiacywwygpghdbhkxfathceqjukzbblll", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 11415, "profile_image_url_https": "http://tfpqdjvhfqsywzxehkepxlvoruvqpxbtceinllzjhneorsokwprdnfethbphbabfqiwbmrajhjv", "listed_count": 21, "protected": false, "name": "fmamsjhwxkovtumgz", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": "Jakarta", "url": null, "profile_background_image_url": null, "profile_image_url": "http://nizxthjtfbokbxiqxevdklejglowgwlafkzkesbwezrhvridlarjpdmebxewdwcbxzwcenjuux", "verified": false, "default_profile_image": false, "id": 176370378872083128}, {"following": false, "profile_use_background_image": true, "favourites_count": 3596, "created_at": "Sun Dec 23 15:20:08 +0000 2012", "location": "\u0130zmir, T\u00fcrkiye", "is_translator": false, "profile_sidebar_border_color": "000000", "screen_name": "oekxzfcahpy", "has_extended_profile": true, "profile_banner_url": "http://modqvsatexdbsofhwgbjunqdlwpetugkovccjbqxcuortdsqybgteyvpkag", "profile_background_tile": true, "profile_sidebar_fill_color": "FFFFFF", "utc_offset": 7200, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://uzuxdmavttgwycdrcbmkxmgyqbldflnfjjgpgjvvkbrnmouzxbyasfilnhvftmgqdpciksmdrzolices", "notifications": false, "lang": "tr", "profile_background_color": "FFFFFF", "followers_count": 505, "id_str": "6281352707", "geo_enabled": true, "translator_type": "regular", "friends_count": 288, "description": "qibidsqfkzbtuatxstrhfqligwqwjlgqaybvnllqsjykljdmnyacxfmphycrscfihksuhljat", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 13986, "profile_image_url_https": "http://ernjxnxcjjbapvlmsszqqkwntzrufydaczoefybiqkztkcbpcbjuinwdpruhjzyjiwiijylvkls", "listed_count": 0, "protected": false, "name": "zcgysbve", "profile_text_color": "000000", "profile_link_color": "000000", "follow_request_sent": false, "time_zone": "Athens", "url": null, "profile_background_image_url": "http://egeisffdbhcxrdomwiddzsspfffgsnqczuamtathjweehltqueriubjbzceqlnjzdxgwrwxcdrizggo", "profile_image_url": "http://geyysdqgztzufhezpqfxlmfbalryikppjhduimsgxuzzxyeichlvfqdgtpzljuscvyatkclamu", "verified": false, "default_profile_image": false, "id": 6281352707}, {"following": false, "profile_use_background_image": true, "favourites_count": 60820, "created_at": "Sun Sep 01 08:29:47 +0000 2013", "location": "\u0130stanbul, T\u00fcrkiye", "is_translator": false, "profile_sidebar_border_color": "FFFFFF", "screen_name": "bygdqvecummu", "has_extended_profile": true, "profile_banner_url": "http://cdxxdlwzcwmxeetskwphtqsxdnpcxkppztecfczczjtxhsapddtapsqcjrd", "profile_background_tile": true, "profile_sidebar_fill_color": "E6F6F9", "utc_offset": 10800, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://hpsisiqahowljecfmvlxvxriggwdikeklvbqdjfdxvyvpcupvmhhyjwxkevnmtqatnnblgipfdhaqqkg", "notifications": false, "lang": "tr", "profile_background_color": "F21FA8", "followers_count": 525, "id_str": "7777993641", "geo_enabled": true, "translator_type": "none", "friends_count": 103, "description": "", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 25335, "profile_image_url_https": "http://alqgkanjnurdztwznfdnfdjzhdaotmxscvyiuiwdovvqggiuawowmohjpgfshahoqharluihkuy", "listed_count": 4, "protected": false, "name": "ogqutduzgpzye", "profile_text_color": "333333", "profile_link_color": "DE628F", "follow_request_sent": false, "time_zone": "Baghdad", "url": "http://rhcqepgtorqfmxfqffkyyqnvuoeecdrho", "profile_background_image_url": "http://tmidaaskmkdtszccsbsnghctqgpdkhpqjlvpkzpxaumqjejdkdjjlfsjqnbvajpwdcjtxmwsogcuwxq", "profile_image_url": "http://wobkyaopwxytbbczudokmbgnwszukrjjshnxewcyyynvgtddvmduoksxniegfrjsquimehwnhk", "verified": false, "default_profile_image": false, "id": 7777993641}, {"following": false, "profile_use_background_image": true, "favourites_count": 0, "created_at": "Sat Mar 11 15:50:47 +0000 2017", "location": "", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "wizsgpevioegyci", "has_extended_profile": false, "profile_banner_url": "http://vppphkhiyiouffsbfqkkfvfbdnjqhanmeqamcyzambvyqvcgcioggwnnoeinkcmwytm", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "entities": {}, "default_profile": true, "profile_background_image_url_https": null, "notifications": false, "lang": "ja", "profile_background_color": "F5F8FA", "followers_count": 1, "id_str": "616542455825980949", "geo_enabled": false, "translator_type": "none", "friends_count": 0, "description": "", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 10, "profile_image_url_https": "http://ewtbgbpopwgcaszefjijztkyaxlvbhdnbmkmnbpgbabtmaysgirmlwlddnexdtkjmzscjreprxe", "listed_count": 0, "protected": false, "name": "rqhtptxe", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": null, "url": null, "profile_background_image_url": null, "profile_image_url": "http://bauauufxhnroapgnfnvjaobhljsxwuekytdxkvrisrqmdneambrnfntybkxnvjedwobhywyity", "verified": false, "default_profile_image": false, "id": 616542455825980949}, {"following": false, "profile_use_background_image": false, "favourites_count": 2, "created_at": "Wed Dec 02 17:47:23 +0000 2015", "location": "Marseille, France", "is_translator": false, "profile_sidebar_border_color": "000000", "screen_name": "wqmrpriaw", "has_extended_profile": true, "profile_background_tile": false, "profile_sidebar_fill_color": "000000", "utc_offset": -28800, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://vmguqzfhqscuurprvvxjcahzieeawegmlqrjupzzeafgqniwd", "notifications": false, "lang": "fr", "profile_background_color": "000000", "followers_count": 7, "id_str": "1195798806", "geo_enabled": false, "translator_type": "none", "friends_count": 2, "description": "", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 531, "profile_image_url_https": "http://rorrpnmqzpfegclrbzxekuwoimhzfxdhtcunmqsodhlbjhljyhgojepuqhxyenxpqhkaaqtlwfr", "listed_count": 2, "protected": false, "name": "ygrzwwzka", "profile_text_color": "000000", "profile_link_color": "19CF86", "follow_request_sent": false, "time_zone": "Pacific Time (US & Canada)", "url": null, "profile_background_image_url": "http://yxttrucdclucfurcqezxlunoroajkdltkugxylgprrojdsnl", "profile_image_url": "http://ojfjjxsagaeatyporgpixpjmtdamojfqpcbtsmoraopdwyivohgyibrhkujgaymroggoxypldt", "verified": false, "default_profile_image": false, "id": 1195798806}, {"following": false, "profile_use_background_image": true, "favourites_count": 0, "created_at": "Sat Jan 20 19:28:44 +0000 2018", "location": "", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "ytiaetit", "has_extended_profile": false, "profile_banner_url": "http://iihrksxriocsghdyynlqgfkgmhkxjfpivfqkrgxeeelgeaksgpvemamkkmiqxeotseg", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "entities": {}, "default_profile": true, "profile_background_image_url_https": null, "notifications": false, "lang": "ar", "profile_background_color": "F5F8FA", "followers_count": 1394, "id_str": "558562388447777091", "geo_enabled": false, "translator_type": "none", "friends_count": 0, "description": "", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 12, "profile_image_url_https": "http://popiwpcchdjnddoyurccubbdckiwobgvwzarayweuxftwzsalrxtfvecstpkixchscinrujhkjl", "listed_count": 15, "protected": false, "name": "tprbllcv", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": null, "url": null, "profile_background_image_url": null, "profile_image_url": "http://mpqbrlblihhbjcgzdqfkwwpqcmynbyeuqpmllgndvfrolbwejxsdpwwiaaxurtzefczncmixws", "verified": false, "default_profile_image": false, "id": 558562388447777091}, {"following": false, "profile_use_background_image": false, "favourites_count": 7559, "created_at": "Thu Feb 03 19:10:18 +0000 2011", "location": "", "is_translator": false, "profile_sidebar_border_color": "FFFFFF", "screen_name": "vqcbrcw", "has_extended_profile": false, "profile_background_tile": false, "profile_sidebar_fill_color": "DDFFCC", "utc_offset": 10800, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://ehnnjxkkvdyrqzgmgnuzaykcrkdvreujwojjsqkmuhrkxwkegu", "notifications": false, "lang": "tr", "profile_background_color": "FFFFFF", "followers_count": 41122, "id_str": "459834534", "geo_enabled": false, "translator_type": "none", "friends_count": 461, "description": "ukybjbkcprbfgitbtfulzcagmfikwihuoxccwlsanflzavlmocbox", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 1309, "profile_image_url_https": "http://ikbsllacysnbfmocdlpxqyhmwbqnevaepecdgniscmdqlgpwqdftczdglnwbnfwrfagjgntplym", "listed_count": 107, "protected": false, "name": "tsiy", "profile_text_color": "333333", "profile_link_color": "947982", "follow_request_sent": false, "time_zone": "Istanbul", "url": null, "profile_background_image_url": "http://vxwzeicshtrodmmwztvqpcsdcmeymbdfdkjugwiunnfljbnfs", "profile_image_url": "http://aoifguobeczfhshnlvfckmtiarlmdvbjoqkfuwzsylrcfcmyioxkaqozurxxpitvvovqfmxfcc", "verified": false, "default_profile_image": false, "id": 459834534}, {"following": false, "profile_use_background_image": true, "favourites_count": 62396, "created_at": "Sat Apr 11 18:10:12 +0000 2009", "location": "LA via Philly", "is_translator": false, "profile_sidebar_border_color": "FFF8AD", "screen_name": "ujajowiqsut", "has_extended_profile": true, "profile_banner_url": "http://ixurxddtvvayijbjfzdshslzgaqjtxhqznlpejkalszlnrykbvqokkzjm", "profile_background_tile": true, "profile_sidebar_fill_color": "F6FFD1", "utc_offset": -28800, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://mhvhvqduhpztgwiwzzacvnjspkqpwgxungjtujfrxzopqmhryaxaftiupkopnrxhnysqwwz", "notifications": false, "lang": "en", "profile_background_color": "C0DEED", "followers_count": 746951, "id_str": "55605699", "geo_enabled": true, "translator_type": "none", "friends_count": 2905, "description": "bfojllpplkkyajmiilmxdxmizyxdfsocdywvarzclxxdnncsxslbtyxjgtntqmsjauqfhotqbyiqatznueahyyqlzzrxtlxyrsloicgpyqkyadzzyxpzygganmgnqwupdtqqwhhlnogfmrj", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 100553, "profile_image_url_https": "http://fszabswyalyrzwxcxmbcrcivsckykufyjocuesxtuvbfcaegjxbzobwblodqrgeiydtuhfiwzth", "listed_count": 4532, "protected": false, "name": "nhhigibobkyvbtpuqmwc", "profile_text_color": "333333", "profile_link_color": "F589F3", "follow_request_sent": false, "time_zone": "Pacific Time (US & Canada)", "url": null, "profile_background_image_url": "http://tfoxmzcmsraplxflsffuxtrfbowyfutkzvisoygvrxvhqbqsqvianmtcgdhywywzcairhc", "profile_image_url": "http://mjcxyjcouahlhlriaifuunghnhfvmsjvwnohrrmagofpjziwyooiofgacmxvwymwsgjitrvryd", "verified": true, "default_profile_image": false, "id": 55605699}, {"following": false, "profile_use_background_image": true, "favourites_count": 731, "created_at": "Tue Apr 26 10:22:03 +0000 2011", "location": "Tsakane, South Africa", "is_translator": false, "profile_sidebar_border_color": "181A1E", "screen_name": "yktfarpek", "has_extended_profile": true, "profile_banner_url": "http://gfxuxuzxluzkmgsfobxywasbxpsrhmsajhwprkzohavbsffmpkzwykrycy", "profile_background_tile": false, "profile_sidebar_fill_color": "252429", "utc_offset": null, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://mcpdcesoumqnfulbmtpcnilnlbjkxbzbzhhdxmzlrxtcdoqxg", "notifications": false, "lang": "en", "profile_background_color": "1A1B1F", "followers_count": 1660, "id_str": "270064626", "geo_enabled": true, "translator_type": "none", "friends_count": 677, "description": "", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 38227, "profile_image_url_https": "http://hnqaiazntsctlsfmqstquiihskigzvcqtlkalkxhoxdmtrewjhxiqinqxzswboesqkhwcjpqgle", "listed_count": 10, "protected": false, "name": "klmkdzyghpvbiapbahx", "profile_text_color": "666666", "profile_link_color": "2FC2EF", "follow_request_sent": false, "time_zone": null, "url": "http://gomfvohdbayvzlvludvczgr", "profile_background_image_url": "http://eijfmvnfxvgxaoubbuoqqmgedmqjakzeltfmnrnfjdtnfvst", "profile_image_url": "http://xkeyoovorckonspkdqhrdgywtthtckxklchgjtcteudbqcwgelskdzocmgwvxjaiekzubmszoh", "verified": false, "default_profile_image": false, "id": 270064626}, {"following": false, "profile_use_background_image": true, "favourites_count": 1480, "created_at": "Sun Jul 08 14:18:27 +0000 2012", "location": "\u9e7f\u5150\u5cf6\u770c\u6307\u5bbf\u5e02", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "neraghmlajbhl", "has_extended_profile": true, "profile_banner_url": "http://aeleqshevanqtktpckxqzwiygeufdagdbzsvvblolrhpjystttfpskrpmr", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": 32400, "entities": {}, "default_profile": true, "profile_background_image_url_https": "http://wklrhykjjqqtaufvdtcjlfafptljppkbbdoqplksyzzxtkaiu", "notifications": false, "lang": "ja", "profile_background_color": "C0DEED", "followers_count": 1094, "id_str": "636399508", "geo_enabled": true, "translator_type": "none", "friends_count": 926, "description": "mjxfibhliraeywbgtqayxdqqnrkwqdgqjmokbpaiwrkvghmfmrfsahykkqnetrzpttzdjw", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 24753, "profile_image_url_https": "http://jhrflmbwwgkzptjyuvddzyojanfsxotvnfwrjtvdqlfeyzaqoyvpthzrvfulqyilxbeqqhtcvwh", "listed_count": 11, "protected": false, "name": "ftfkgb", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": "Tokyo", "url": null, "profile_background_image_url": "http://qpauqmmssuzgkbjwugltgsmrfutyklihvgyzbextslqbziof", "profile_image_url": "http://qzcttgsoryycclsxfzogdwlbssnzdxizqjjsjkxnpolvyuksloipqvpdnfoykpiofkosstnsnx", "verified": false, "default_profile_image": false, "id": 636399508}, {"following": false, "profile_use_background_image": true, "favourites_count": 475, "created_at": "Fri Nov 11 07:52:25 +0000 2011", "location": "Kuwait", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "qhhrkxyrxpjhhq", "has_extended_profile": true, "profile_banner_url": "http://dlwjotfwedurdnvniquehkjwshupjvxrmdnzdkcgdcvcyholkyrivvotdt", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "entities": {}, "default_profile": true, "profile_background_image_url_https": "http://zothzzxihbdneylpmdjojhisxswpfsbfaurgwpaxhujjpkdri", "notifications": false, "lang": "en", "profile_background_color": "C0DEED", "followers_count": 238, "id_str": "43029558", "geo_enabled": true, "translator_type": "none", "friends_count": 619, "description": "wdfztsshvpxstsvgdyflljgfbzypjxircbaqrqijcbjyabugrynndkexxlxibpzeplbvzzqjdfulnncrspouqch", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 731, "profile_image_url_https": "http://icxiaqtokgbwrqigflmlkbscxebrinseliocvuvucodeosygkravwhlyorlfbpvybhqwlotuala", "listed_count": 1, "protected": false, "name": "mrtwkklakdyxuq", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": null, "url": null, "profile_background_image_url": "http://vmstrlkesxzirpfennsrpqmfjxwxaolljtobnttxtfjwxxjs", "profile_image_url": "http://puvebvhkzcvaivmdpuwqlmzgdtaatolzegcdmiffuiyzxnhfvsigozfadvpzoxhvlotwacsvnv", "verified": false, "default_profile_image": false, "id": 43029558}, {"following": false, "profile_use_background_image": true, "favourites_count": 26516, "created_at": "Wed Feb 15 09:27:15 +0000 2012", "location": "mad city\u2122", "is_translator": false, "profile_sidebar_border_color": "000000", "screen_name": "euykdounyfvt", "has_extended_profile": true, "profile_banner_url": "http://mbrdmkcjemmozzayisnkazyzxqlngpsomuwvzdvljokgikgpmmazuuhtmf", "profile_background_tile": true, "profile_sidebar_fill_color": "F6F6F6", "utc_offset": 28800, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://kalvnrpuvmkdvwvwffwxnkayzvsndiyelquaeaclabrdqojwwqztmuchwlmykjhyqunckyhaatdxquh", "notifications": false, "lang": "en-gb", "profile_background_color": "89C9FA", "followers_count": 4583, "id_str": "984115602", "geo_enabled": false, "translator_type": "none", "friends_count": 167, "description": "rwutbiskxmmrr", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 51632, "profile_image_url_https": "http://tuxrenaooefqavrwkjcydgafrisjalcqzowplrdstlyerchchmtvzptiebulmcfsbwbcqudtguu", "listed_count": 86, "protected": false, "name": "ks", "profile_text_color": "333333", "profile_link_color": "19CF86", "follow_request_sent": false, "time_zone": "Beijing", "url": "http://ufmladjplgvdmavhmcwnsmc", "profile_background_image_url": "http://dvnrvnjbjncgtwvnncdcqoplsyvpagjenerkrbcdjbzvsmvbidngmjmagtdbgstjbbtcyjinhzodvv", "profile_image_url": "http://mmjqriypgpsibjidqkwcrdkbqxnjhcgidxgqihyjhjsycqqnlvngmyrjqcrvbxkqsiyhgwffms", "verified": false, "default_profile_image": false, "id": 984115602}, {"following": false, "profile_use_background_image": true, "favourites_count": 0, "created_at": "Tue Dec 31 13:56:34 +0000 2013", "location": "", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "nfgzonqrefx", "has_extended_profile": false, "profile_banner_url": "http://xfhrewrodykqxakeitveuehlywlcnkssrjzhnudonglcyecjblkmmwrxrdm", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "entities": {}, "default_profile": true, "profile_background_image_url_https": "http://zdxkjtjrawdwqbdytyrgyzinvzukekxqxacxoloroksyvombo", "notifications": false, "lang": "ru", "profile_background_color": "C0DEED", "followers_count": 1393, "id_str": "8195960204", "geo_enabled": false, "translator_type": "none", "friends_count": 2, "description": "", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 986, "profile_image_url_https": "http://qiyxnatuzdhvdxxcnozyjywyajoifhcmasrvqswoxycripunfxuylnpqkubkswhlicoapggsdkm", "listed_count": 0, "protected": false, "name": "nvtjxznzrkz", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": null, "url": "http://njjxzfxzilqywhqanbnkrt", "profile_background_image_url": "http://oaxvcetujikocdxnequbkqotzpfcpimqfajsamjjygbxikwr", "profile_image_url": "http://eiuphgfxkdwsjbhhodmvrtzjuagxizvgprefadcgzacjsyqrukhvbdysjnvgxazkavoxunmybb", "verified": false, "default_profile_image": false, "id": 8195960204}, {"following": false, "profile_use_background_image": false, "favourites_count": 9, "created_at": "Thu Jan 09 15:48:51 +0000 2014", "location": "www.bit.ly/storytellerngr", "is_translator": false, "profile_sidebar_border_color": "000000", "screen_name": "dkcumxgwiujwqu", "has_extended_profile": false, "profile_banner_url": "http://veyflhuiavwudohdblysmjatjsxthxlhrcqnodqcvdlvcbweenejegelzbn", "profile_background_tile": false, "profile_sidebar_fill_color": "000000", "utc_offset": -28800, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://szhmypdgnjppqcnxbgcdtdlchoohrkiprxtyllpygrynhvlwt", "notifications": false, "lang": "en", "profile_background_color": "000000", "followers_count": 1034, "id_str": "28080036", "geo_enabled": false, "translator_type": "none", "friends_count": 21, "description": "hhabvugdiiynqftvynqulzedqmrkmogsaokmsqkttactzlqgpwbipiqbhpagbvthjcdulfdffzgzjnztxiijjesxruegixkidysizdcwngfpzbaflqvcfrqfdixseptlfkd", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 4841, "profile_image_url_https": "http://herrrbbjljoxkdztvnzttvmcfsbfjlsddvnxvrjtcarnlypytbaybaefoqfbufjmgngodubskmo", "listed_count": 12, "protected": false, "name": "ncszrldikiuxliywrnr", "profile_text_color": "000000", "profile_link_color": "FAB81E", "follow_request_sent": false, "time_zone": "Pacific Time (US & Canada)", "url": "http://gwdedhclchvqucboitvwcux", "profile_background_image_url": "http://mgvblyhtsaaczozfhjcowpprpvadfccnpsnyueidiindhopm", "profile_image_url": "http://pxaqyoguuwifeyqlpypzqqyzrsfagqefallvacqgachpjplckojboervkcomsoiszertlfyhag", "verified": false, "default_profile_image": false, "id": 28080036}, {"following": false, "profile_use_background_image": true, "favourites_count": 16693, "created_at": "Sat Sep 28 13:05:45 +0000 2013", "location": "Korea", "is_translator": false, "profile_sidebar_border_color": "FFFFFF", "screen_name": "pbtnsegvhwfr", "has_extended_profile": false, "profile_banner_url": "http://jzrarydiniryhwsliwzmesnaovtxvrjfitgxitjkiupttwzcehisulelzud", "profile_background_tile": false, "profile_sidebar_fill_color": "99CC33", "utc_offset": 28800, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://dnxdtjijzgseslqsiawmcvvgfarxlnpukqnwembntzhdfvqep", "notifications": false, "lang": "ko", "profile_background_color": "352726", "followers_count": 799, "id_str": "2091106205", "geo_enabled": false, "translator_type": "regular", "friends_count": 687, "description": "ioptvcjpmqnaftfyukeocakcumzsvqbpucrdxfihdpvydgsncplypxhbjlkiwhmawcqdrikiilxzw", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 150121, "profile_image_url_https": "http://hpwsnltjmorrfqurxcuqlvhsaqhkymwqxkgilixmungubuiyqqidsnqolfuzycfcipucuopzyoa", "listed_count": 37, "protected": false, "name": "klyanq", "profile_text_color": "3E4415", "profile_link_color": "0E9617", "follow_request_sent": false, "time_zone": "Irkutsk", "url": null, "profile_background_image_url": "http://yyldihvjizfbbdiedvcffxxfomjbiwqoxfxvpmrvtjhdsuij", "profile_image_url": "http://lmvfzdlynlogtswbcqtbuaqykeytfrfgyrgrzkecigzsjlmxmqalsxvmzpkwcyhcdftsjlnido", "verified": false, "default_profile_image": false, "id": 2091106205}, {"following": false, "profile_use_background_image": false, "favourites_count": 1848, "created_at": "Thu May 26 09:48:25 +0000 2016", "location": "Zidane's backyard", "is_translator": false, "profile_sidebar_border_color": "000000", "screen_name": "kohopikxdzzvbis", "has_extended_profile": true, "profile_banner_url": "http://vcredbhikosojvvssbfqqqkxgttqlznrcjrjbfvpxkdmmnzkoxhlivhvyzcqmlejpiv", "profile_background_tile": false, "profile_sidebar_fill_color": "000000", "utc_offset": null, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://hsbwfdnluieyabailymhaglifemopllkpruydeyezlaqgclad", "notifications": false, "lang": "en", "profile_background_color": "000000", "followers_count": 69, "id_str": "459308930274019117", "geo_enabled": false, "translator_type": "none", "friends_count": 259, "description": "lhhrovcxggqcuseeculferctznzebbtsvxsxwnyiavpcpcxcpiojpwokyqmjkugkkukkqlxdyrdxvoprdbrwqyqvdblsg", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 4549, "profile_image_url_https": "http://pcbxspvkwrmlaiqgrrfapvzwozcmhiiazumcfsraomstgskmfbrptasiwbppjsdmjinntvazinc", "listed_count": 8, "protected": false, "name": "osdzjbjosdgjfj", "profile_text_color": "000000", "profile_link_color": "7FDBB6", "follow_request_sent": false, "time_zone": null, "url": "http://bglmklmwajjdbgzuyhvxtsl", "profile_background_image_url": "http://opvzmqwngkiofklecithoprxztuvbmzhdtifqjsjdlnnegbh", "profile_image_url": "http://irqkchhzfsprotapvnllxwvrheprieyuedetfmtzzzeccdfuxkqyxlxtkinvvtifyljsmapfxz", "verified": false, "default_profile_image": false, "id": 459308930274019117}, {"following": false, "profile_use_background_image": true, "favourites_count": 8183, "created_at": "Sat Apr 06 15:00:20 +0000 2013", "location": "15 minutes from the Camp Nou", "is_translator": false, "profile_sidebar_border_color": "FFFFFF", "screen_name": "cgvagcln", "has_extended_profile": false, "profile_banner_url": "http://iulcwioeprgahxsmlexuixfiyjzszevrvslhctfiklctgbfovpzgrsqoczs", "profile_background_tile": true, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": -14400, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://pvyqlxxwlhypbhgczzyekegquejexpknnqnlxqcvyuwzmtunhwzmuheplzjonxfauowqnafihhcvaeofzkuxdhomoahdhst", "notifications": false, "lang": "en", "profile_background_color": "C0DEED", "followers_count": 2262, "id_str": "2620290650", "geo_enabled": true, "translator_type": "none", "friends_count": 629, "description": "aqupbeablkcibdufwjdbuptatbleyetsshnppdncmzjrphsqizhwjiuxltbtzumlxmivcywuqcxtdeseulpymhxsipcmldfjwhyywdiramjutatqpyi", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 18111, "profile_image_url_https": "http://ktmhyinonjnwxcogxmngdamsmzybqvdkstqkfiqlmvbupyqzchhfuonazuhazrnhfjfcnfveflv", "listed_count": 61, "protected": false, "name": "dxwyyetg", "profile_text_color": "333333", "profile_link_color": "0084B4", "follow_request_sent": false, "time_zone": "Caracas", "url": "http://styyrlumwheaebtuoboahuz", "profile_background_image_url": "http://lipthbiaobmxjjsvxhbcrabgxuwvfbjckamrsivgtcasmbaoxtfiggvlagzrflhvyvdadzshxrstolafplvntwupctwugr", "profile_image_url": "http://rrnyapvepglxosvlvcjsfjhjbnnxwvaimzzbxjhmzgzamihejnqcurltszmsdkqsptoerktlab", "verified": false, "default_profile_image": false, "id": 2620290650}, {"following": false, "profile_use_background_image": true, "favourites_count": 34336, "created_at": "Tue Nov 29 12:57:49 +0000 2016", "location": "\ud83d\udc51\ud83d\udc7c\ud83d\udc3c\ud83d\udc32\ud83d\udd1d\ud83c\udf1e\ud83d\udd2b\ud83d\udc96\ud83d\udc31\u270c\ud83d\ude0a\ud83e\udd17", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "uelwhwzzxqsual", "has_extended_profile": true, "profile_banner_url": "http://dhcazytfgxdatfejahydxuuvmaeksxzlexoanxdrmggdhmbkhegmyvmbrjckonvgfxb", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "entities": {}, "default_profile": true, "profile_background_image_url_https": null, "notifications": false, "lang": "ja", "profile_background_color": "F5F8FA", "followers_count": 3505, "id_str": "784740629807936241", "geo_enabled": true, "translator_type": "none", "friends_count": 3328, "description": "ibjxyanyxwzncufeabkcibfqwjlnxcqhmmfmsbkzubotqissexjhimrpwxkbwazcpbinqglxacstsawifbbktngpysqlqiakvnfgedugfjscwznomgnxcymkjimqjyjbasvf", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 5593, "profile_image_url_https": "http://smjpizwegtxjqgapyhjpqovxxvursaepkbdtntubxsaxxpoiphzrdcvghlbewygxbehiluhuevn", "listed_count": 8, "protected": false, "name": "dffcfvzfoxejjgi", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": null, "url": "http://gqftitxzuflvlwrokicbfad", "profile_background_image_url": null, "profile_image_url": "http://sqpmwccljoyotosijfjvbjmpgaymcbdcbebagxxoekgefqpathoyuwjtlnqlchdnizroldbjrz", "verified": false, "default_profile_image": false, "id": 784740629807936241}, {"following": false, "profile_use_background_image": false, "favourites_count": 69347, "created_at": "Tue Apr 07 01:12:46 +0000 2015", "location": "I throw shade at your faves :)", "is_translator": false, "profile_sidebar_border_color": "000000", "screen_name": "cqghsacosujoge", "has_extended_profile": true, "profile_banner_url": "http://kgeyijbzvnsvucrqcivhufwokqvnvzevsvjimmhhofongjdpbeogblilxkd", "profile_background_tile": false, "profile_sidebar_fill_color": "000000", "utc_offset": -28800, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://ltdchenwlboumlhwwbtrqohzknyanpesmlwsecxdorixvchva", "notifications": false, "lang": "en", "profile_background_color": "000000", "followers_count": 2719, "id_str": "4361210113", "geo_enabled": false, "translator_type": "none", "friends_count": 197, "description": "junvzlenolryjhkrfadgexokqodlmjlnnefcuvtuzblmgikuudvnbvhfpfvzuidctpmnmwjgzmjgilnkbramshcoixntumcyklyuzjmsvsfowbyyoqognkyxnlogztionzxwthyhjsoz", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 36012, "profile_image_url_https": "http://zgmwqaopdedykjulswmorwstxcvpjxujgsqxmfxwttckfgadhqazcgphntqrcjlbkiraehamnyo", "listed_count": 100, "protected": false, "name": "tdciycuwrmrdiatft", "profile_text_color": "000000", "profile_link_color": "9266CC", "follow_request_sent": false, "time_zone": "Pacific Time (US & Canada)", "url": null, "profile_background_image_url": "http://panrijhmswbbxiqlthffbnkfnqugzehavtfxapzqtflffopt", "profile_image_url": "http://nqhxczwglmwfgbydhuaaisviufmkcejxroszexkbfcpztvfjnzbtipjouniipvfiqgxqrqopnl", "verified": false, "default_profile_image": false, "id": 4361210113}, {"following": false, "profile_use_background_image": true, "favourites_count": 15, "created_at": "Fri Jan 12 04:59:07 +0000 2018", "location": "Punjab, Pakistan", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "cvavfbivwbdjx", "has_extended_profile": true, "profile_banner_url": "http://qdjjzogfdajxtedarocqcpizmlmslkkyrexpssjyczvuxvgewfywxluhtsnctwrfcbp", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "entities": {}, "default_profile": true, "profile_background_image_url_https": null, "notifications": false, "lang": "en", "profile_background_color": "F5F8FA", "followers_count": 6, "id_str": "36102564171771870", "geo_enabled": false, "translator_type": "none", "friends_count": 121, "description": "vhcnbyfhguvznewjheulxzsubxyktqtzwazjnzjrfn", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 5, "profile_image_url_https": "http://buytsygnhhuzmqhysptlmeylpcjyznhfztslhiutxrdvlwyhoicpgcikahpxgigfrjwvaqenuas", "listed_count": 0, "protected": false, "name": "xvtzgtvitwi", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": null, "url": null, "profile_background_image_url": null, "profile_image_url": "http://omsadwsyodgiumomkysbswqsmipdewdnebthnkvhhifrlfvtgjjkrmdgtuassnbtucpftksrwu", "verified": false, "default_profile_image": false, "id": 36102564171771870}, {"following": false, "profile_use_background_image": false, "favourites_count": 1, "created_at": "Sun Feb 04 10:41:14 +0000 2018", "location": "United States", "is_translator": false, "profile_sidebar_border_color": "000000", "screen_name": "purjrthixjyu", "has_extended_profile": true, "profile_banner_url": "http://yiwhphfhqyutgamuqgeciqswyjwrghkrdgzmsdikwkaffdbssqngcngvvqhsxeconvd", "profile_background_tile": false, "profile_sidebar_fill_color": "000000", "utc_offset": null, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://cmkszkjvnjbkrspevuylsdtyvodmjwoxlhyqxvmvivixobzbt", "notifications": false, "lang": "en", "profile_background_color": "000000", "followers_count": 36, "id_str": "533971132646026747", "geo_enabled": false, "translator_type": "none", "friends_count": 1066, "description": "oqjfufpdkbxcyjqpjkjpwnbewesvqiyxxokbubjwphnaofttwktsiakrazlelbvmslogauqm", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 267, "profile_image_url_https": "http://mwokdkpjalbmpctvlukjazxixiokqizrmyirobikkjxqmeszfurrqpbroghbztfykumjdzwsdze", "listed_count": 0, "protected": false, "name": "cpfecmgjdrhz", "profile_text_color": "000000", "profile_link_color": "E81C4F", "follow_request_sent": false, "time_zone": null, "url": "http://cdakzxwpfbzrzivgjihdssr", "profile_background_image_url": "http://dgfryumenisyfkuuwcpckkathturzzbvxmuzidvfwdmkzbgr", "profile_image_url": "http://luipthyyzrnukvpualmslghxysaeqqqzzjfrsmbnftaxvqegankyqlrpjtbztjwxqtjlwkbfqa", "verified": false, "default_profile_image": false, "id": 533971132646026747}, {"following": false, "profile_use_background_image": true, "favourites_count": 0, "created_at": "Sat Oct 04 02:20:12 +0000 2014", "location": "", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "cfotgaiqw", "has_extended_profile": false, "profile_banner_url": "http://yvpvkleevwbkvhnbcbcibfydehbtmovwuerwbqmwengoykwcleuaagrxmue", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "entities": {}, "default_profile": true, "profile_background_image_url_https": "http://xfeadhfavjlvnpyvfszplpgivsoljmzvcojltrwihuotlgpcu", "notifications": false, "lang": "ar", "profile_background_color": "C0DEED", "followers_count": 12, "id_str": "5347796409", "geo_enabled": false, "translator_type": "none", "friends_count": 23, "description": "", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 137, "profile_image_url_https": "http://ygggdmtvlczfzsifppsnhaqqbcjqyzxkizjedmwnzzqqkioouszzwfgnmpeaivqibkmbqrnlbogc", "listed_count": 0, "protected": false, "name": "zgojlwvegajjqvnkm", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": null, "url": null, "profile_background_image_url": "http://qqzairhoeqlijsuaeyedfeucjzjfbnpmttzbyjfynrldnxby", "profile_image_url": "http://tzdkswbevmshnrnstqyptlhhbpfdizyhlwifyhmycingcxafgefzkdffvojkxfjlvuoiqeuexpg", "verified": false, "default_profile_image": false, "id": 5347796409}, {"following": false, "profile_use_background_image": true, "favourites_count": 21219, "created_at": "Thu Jan 12 06:20:04 +0000 2012", "location": "", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "mqnwmqhyt", "has_extended_profile": true, "profile_banner_url": "http://wybosvssxlmzmgiqssgtjhttuolvnhdvdtgvyaxhpiovcxyhjvnixemjfh", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": 19800, "entities": {}, "default_profile": true, "profile_background_image_url_https": "http://vpjisjnsjfzofhcsiouxszysoszrlzjwxomleexoyprmhcqaa", "notifications": false, "lang": "en", "profile_background_color": "C0DEED", "followers_count": 6996, "id_str": "968086191", "geo_enabled": false, "translator_type": "none", "friends_count": 315, "description": "lljwdzjvaznthivngygizcbbkgtpmxxofsxmsrj", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 143846, "profile_image_url_https": "http://pwpnjymqdmcktxdecjhxeoaebjrubpqixxajevwktsxbvguncsicfrcxierptaqewnzxiztrbho", "listed_count": 21, "protected": false, "name": "vcrvnmpxlhgmplkwk", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": "Chennai", "url": null, "profile_background_image_url": "http://kujplkwuyvugoxxqcspqtzlbdzsutgoprubtaysnqqjazkjl", "profile_image_url": "http://wwuwrkegocejnyumnbysrgltsopqfvnenbgdvskbioihibabvfrpdqryckxxsxtdoavatopkdc", "verified": false, "default_profile_image": false, "id": 968086191}, {"following": false, "profile_use_background_image": true, "favourites_count": 25766, "created_at": "Fri May 07 13:43:40 +0000 2010", "location": "Vadodara, IN / Los Angeles, CA", "is_translator": false, "profile_sidebar_border_color": "FFFFFF", "screen_name": "kamaywwylazwa", "has_extended_profile": true, "profile_banner_url": "http://uneibghkqrktjhacuvklcttpiromupawenbwadctinwxivnicypyycmufs", "profile_background_tile": false, "profile_sidebar_fill_color": "252429", "utc_offset": 19800, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://jjtsnsuqkqtmhmotipqatpaklztnheykmxcyarauelzmvzgpm", "notifications": false, "lang": "en", "profile_background_color": "1A1B1F", "followers_count": 58397, "id_str": "508885406", "geo_enabled": true, "translator_type": "none", "friends_count": 48493, "description": "pxngcisdkowbjylfrpfqcpnxszkomormstkmdfnqtaiifcmuz", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 14443, "profile_image_url_https": "http://okvpfuiqhznxxrorzgcsanjnlfiiusnhfgdxavjhkshjtchmlkmtezfkfwegwqizesunbcvpqpv", "listed_count": 680, "protected": false, "name": "trwvzyjdwummliem", "profile_text_color": "666666", "profile_link_color": "2FC2EF", "follow_request_sent": false, "time_zone": "New Delhi", "url": "http://faoskhkqcagatkgddlszcfo", "profile_background_image_url": "http://clgwcqosdiincrqmyniaizqogzkhvriwpefabmbzjtdkjwoh", "profile_image_url": "http://swotnivklpcwxhyhldsjdnqxrezvwfqbooggoozjnqcbmnuvoruwkdjdebdgaafmlhmiasumig", "verified": false, "default_profile_image": false, "id": 508885406}, {"following": false, "profile_use_background_image": true, "favourites_count": 7007, "created_at": "Mon Aug 11 02:15:00 +0000 2014", "location": "Manchester, UK", "is_translator": false, "profile_sidebar_border_color": "000000", "screen_name": "ibxmkllhsdzv", "has_extended_profile": false, "profile_banner_url": "http://vllonfvlwhlvjuvctzyrsrcwcjupnizhdkgfopfeyxucdyddwhdruallwls", "profile_background_tile": false, "profile_sidebar_fill_color": "000000", "utc_offset": null, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://iekljmqqqkdssopibhatljsfdludrwuvvkgbfcjtqkfzyxdhypqzebdfmezktbcseomzzcrhiwuodot", "notifications": false, "lang": "en", "profile_background_color": "000000", "followers_count": 9368, "id_str": "2111290185", "geo_enabled": true, "translator_type": "none", "friends_count": 2895, "description": "epuozkyauxdyomgviljwpipphzobmdiheqnijezbjmcvxwmnwwijzwvrhsqgkqvioyyqgfhbfz", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 9822, "profile_image_url_https": "http://cclozubtgrqzcssubhswzgopaysdrwcdtydgveihpvjzcikqhfglynpgixubxxfqfiwcycwhjic", "listed_count": 52, "protected": false, "name": "ndzexmsajqxycl", "profile_text_color": "000000", "profile_link_color": "FAB81E", "follow_request_sent": false, "time_zone": null, "url": "http://lybjaxmpdpgvnicaxmoxvpm", "profile_background_image_url": "http://ymmzlxjvpkoihppzefokaskdiwystdwdprkganxpxaypvwzsbcxtbwntiawxaatgkgvnqfepuutynf", "profile_image_url": "http://kdhfaexdxpdcucrzymjzjnxgtpzjtycptzqlajjchvgcyxmxzxvxridxrsljsvnrsgdaqmgapc", "verified": false, "default_profile_image": false, "id": 2111290185}, {"following": false, "profile_use_background_image": false, "favourites_count": 6874, "created_at": "Sat Apr 15 23:50:13 +0000 2017", "location": "Toronto, Ontario", "is_translator": false, "profile_sidebar_border_color": "000000", "screen_name": "ouarvioyirlaiw", "has_extended_profile": false, "profile_banner_url": "http://bovyacfmyvquyygjrjbaqqtvtyobujynyuqmrgtostsroskcvadhwatfkrczuwuesnc", "profile_background_tile": false, "profile_sidebar_fill_color": "000000", "utc_offset": null, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://bvnxxohuehubvprfkzzqdasaitqrroqybslrtftjorvehoqmu", "notifications": false, "lang": "en", "profile_background_color": "000000", "followers_count": 403, "id_str": "282142564611076248", "geo_enabled": false, "translator_type": "none", "friends_count": 15, "description": "rnypjuxlkgifmfctbszdvasxdmaimuriioguuyoxlrjshtujxfqtmbtawqtzridvvbwynfrrmrz", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 7296, "profile_image_url_https": "http://ysqohtpoubbrzlpnhyvevnmmugawixipqbpurikyimhnznckrwjfmlrdqdhoediuidevwfbgkvl", "listed_count": 0, "protected": false, "name": "qjkskiejdbh", "profile_text_color": "000000", "profile_link_color": "B2C195", "follow_request_sent": false, "time_zone": null, "url": "http://djtkwgwgwbjruprotfltbgi", "profile_background_image_url": "http://mtatwnezzdqchxdxwwxqdnuoxeplizwkoazatlkeadpurzdk", "profile_image_url": "http://pgompglsrokwhhjkqlkicqigzwtesvaviflajqtxsjbeicricvarmqfqdbjgiwdkdqhwctspfv", "verified": false, "default_profile_image": false, "id": 282142564611076248}, {"following": false, "profile_use_background_image": false, "favourites_count": 1955, "created_at": "Fri Aug 28 21:06:12 +0000 2015", "location": "Gournay-en-Bray, France", "is_translator": false, "profile_sidebar_border_color": "000000", "screen_name": "ogciqvmcle", "has_extended_profile": false, "profile_banner_url": "http://wsgruoocvhuiovtsbarhukqeoblxgzkaeysotxcycjbsmhdqautqgujwnye", "profile_background_tile": false, "profile_sidebar_fill_color": "000000", "utc_offset": -28800, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://lvsnysphoogzicsbwbzeaxfpyvguksxysvadhxwzzppphbchd", "notifications": false, "lang": "fr", "profile_background_color": "000000", "followers_count": 94, "id_str": "1037233275", "geo_enabled": true, "translator_type": "none", "friends_count": 420, "description": "", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 9025, "profile_image_url_https": "http://jqtzwsugbfkktnrnhwdmiqsdrbhttoyfcjgwqxwypochvxmzauuaewyfkqalivkeawklrjlcpmm", "listed_count": 34, "protected": false, "name": "vvbgohqmrpcmgqkrchm", "profile_text_color": "000000", "profile_link_color": "FF691F", "follow_request_sent": false, "time_zone": "Pacific Time (US & Canada)", "url": null, "profile_background_image_url": "http://dvgnypakulvdvkdbzitwzggdqjmgfftosnhuknyfqyknacdg", "profile_image_url": "http://rzkaadpwxjkrsxaufxlgdzigwabaohpliihhydiifaqvynydmielapphwmstfljkyutdkawbvo", "verified": false, "default_profile_image": false, "id": 1037233275}, {"following": false, "profile_use_background_image": true, "favourites_count": 3, "created_at": "Wed Feb 03 20:21:38 +0000 2010", "location": "valladolid,yucatan", "is_translator": false, "profile_sidebar_border_color": "FFFFFF", "screen_name": "rjegakkey", "has_extended_profile": false, "profile_banner_url": "http://vnyqveclakuywzaphrpziyrxsphphtxhknugjlkkcukyvembubeqqzkqnb", "profile_background_tile": true, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": -21600, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://tkavpauozjhyyzwgqzashntfzulggqttfltxhpdkenbhncqeorgxavhgdxeoqfnwsnutqnbkewimdxnw", "notifications": false, "lang": "es", "profile_background_color": "ACDED6", "followers_count": 12, "id_str": "590466389", "geo_enabled": true, "translator_type": "none", "friends_count": 64, "description": "ggivwnapvsxwgxlaomugsq", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 93, "profile_image_url_https": "http://pilunrycrtdsptbjhwnudhrinisnairboudnkmntjifckotkjqpegmwuguovcjpuvqljakadgmmi", "listed_count": 0, "protected": false, "name": "jrkiingeinnnekvowf", "profile_text_color": "333333", "profile_link_color": "038543", "follow_request_sent": false, "time_zone": "Mexico City", "url": "http://klckmarphleopnlculfory", "profile_background_image_url": "http://mhxhxadfsmxgpcrklvddnzbvscnclyyeykhoqovirjduvbmjnpfdaeyomrgvzzbxadhmynpeuarmfrt", "profile_image_url": "http://nxormfaokeainhidddmexhvsifzlzapzxszzgythwlishmmngviomtawqhmlcysbignlgecpivn", "verified": false, "default_profile_image": false, "id": 590466389}, {"following": false, "profile_use_background_image": true, "favourites_count": 349, "created_at": "Fri Dec 30 17:49:31 +0000 2016", "location": "", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "qwekkdpdhla", "has_extended_profile": false, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "entities": {}, "default_profile": true, "profile_background_image_url_https": null, "notifications": false, "lang": "en", "profile_background_color": "F5F8FA", "followers_count": 7, "id_str": "13633375851342424", "geo_enabled": false, "translator_type": "none", "friends_count": 842, "description": "", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 1090, "profile_image_url_https": "http://gusayunqlmlgvmgsqopktfqlsijhbktcnjqslaokvzwejtncebxtfzdxwxajenqauiarcvzjuevqqa", "listed_count": 0, "protected": false, "name": "evhaxrhu", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": null, "url": null, "profile_background_image_url": null, "profile_image_url": "http://vubhbahkeueafszplyxnkvjvxhluhgwwtdpgviotwzknevvnrxjcdsifsvpfywqognrciwxmrnrdv", "verified": false, "default_profile_image": true, "id": 13633375851342424}, {"following": false, "profile_use_background_image": true, "favourites_count": 831, "created_at": "Sat Nov 25 03:44:41 +0000 2017", "location": "Watertown, SD", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "bodmmacyfn", "has_extended_profile": true, "profile_banner_url": "http://gckxdugxlbbjteaepgeufwjoidjveszicmoqxmppkwshqcqfxygurarkmdvyziuiyip", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "entities": {}, "default_profile": true, "profile_background_image_url_https": null, "notifications": false, "lang": "en", "profile_background_color": "F5F8FA", "followers_count": 18, "id_str": "926094960911624161", "geo_enabled": false, "translator_type": "none", "friends_count": 64, "description": "cgjfnndkggdvopoeyahgcdqkhcskdmmytmejcwiniqtdugzfxkgwordbitcrfkyckaiprrnhvhs", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 477, "profile_image_url_https": "http://ryfyibafvvziecaxwwqetfmxjkucwpdpygpcksrvipfzhebsydlfbjyqfdlcwntvwpeqqajsldq", "listed_count": 0, "protected": false, "name": "f", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": null, "url": null, "profile_background_image_url": null, "profile_image_url": "http://dgkavryhpdawdigvejrjoytuqkvrdqwbobauzjvgfaalvpvojdqvultpggpubwxwvnowmbxesl", "verified": false, "default_profile_image": false, "id": 926094960911624161}, {"following": false, "profile_use_background_image": true, "favourites_count": 8884, "created_at": "Sun May 19 21:27:56 +0000 2013", "location": "Manchester", "is_translator": false, "profile_sidebar_border_color": "FFFFFF", "screen_name": "tdssmxmm", "has_extended_profile": true, "profile_banner_url": "http://oojcigwbuoatpvoxrxcntjhtquylhnlyuzngojntcgtmiqxfolgquxosaaf", "profile_background_tile": true, "profile_sidebar_fill_color": "F6F6F6", "utc_offset": 0, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://djlnbcnpdcskjpmduunzqaycvejnwvifbbtbxjppocnwrkuviyzaelslsgptpnlygnjysmnxhlzvmyioubxdtasimvvegisklkmcuoax", "notifications": false, "lang": "en", "profile_background_color": "ACDED6", "followers_count": 2349, "id_str": "7793390484", "geo_enabled": true, "translator_type": "none", "friends_count": 1937, "description": "lcxbhxwfjymzxqyovgxhfdjhoehzrlyexgkmqeztmkrdskgegxyvmtmdjohxt", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 7668, "profile_image_url_https": "http://jsblbmjkiinqmmymvpcdbtbidxoyqgfxakyhtlkvgmdshtfwcatuomdnjuvrxsfmhawkxgdsnhn", "listed_count": 16, "protected": false, "name": "gxej", "profile_text_color": "333333", "profile_link_color": "FAB81E", "follow_request_sent": false, "time_zone": "London", "url": "http://cxaonrwwtethlmhlbowfijy", "profile_background_image_url": "http://vmnmfyruuwfpiufbujllbwkenfccgnxeuauriemaevdvytbmrzplespzejgqirtgwsynchluokhgrpkhrnsyuncbrzhjxtzghipymvb", "profile_image_url": "http://mchgyyentwbebpzxjjosiaevnodmwktxivoutlufptzbxsjqshbyzzhvdlkrhkcvrxyhpqdrkq", "verified": false, "default_profile_image": false, "id": 7793390484}, {"following": false, "profile_use_background_image": true, "favourites_count": 32, "created_at": "Wed Jan 05 18:14:18 +0000 2011", "location": "Reading", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "xvobiguwi", "has_extended_profile": true, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": 0, "entities": {}, "default_profile": true, "profile_background_image_url_https": "http://eflepixqijmiuvyirtizuharuhptwfmivhssjsamwjskfuznq", "notifications": false, "lang": "en", "profile_background_color": "C0DEED", "followers_count": 24, "id_str": "676090072", "geo_enabled": true, "translator_type": "none", "friends_count": 36, "description": "mkjwijevege", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 366, "profile_image_url_https": "http://gzgenxbcjwkjqdsoojzgpqxnfubqfiuhlvnaxblbxcncjnipnxtxgqsrugbdl", "listed_count": 1, "protected": false, "name": "vgksgpxevsisseyt", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": "London", "url": null, "profile_background_image_url": "http://kctjxjkkhygtmcqfofnamcbvzrqiwhoscyidsifxykjlpsue", "profile_image_url": "http://jljpfhrmqysvxhahoyzxduxrpucewdntkfwnboqaropnsmfiogpfkjcmseqm", "verified": false, "default_profile_image": false, "id": 676090072}, {"following": false, "profile_use_background_image": true, "favourites_count": 71549, "created_at": "Sat Jun 01 07:46:42 +0000 2013", "location": "Valencia, Espa\u00f1a", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "zifvqbkbv", "has_extended_profile": true, "profile_banner_url": "http://xvzzosqxlqrvfacavaenjdkacecfntpdnhspfizagnoxrlkafopsczqysan", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": 3600, "entities": {}, "default_profile": true, "profile_background_image_url_https": "http://rtuwimkmwiclyszygkwzdpsrdllzaqwwwwktdwnpelqqykyhs", "notifications": false, "lang": "es", "profile_background_color": "C0DEED", "followers_count": 1334, "id_str": "6836409247", "geo_enabled": true, "translator_type": "none", "friends_count": 381, "description": "fyfrvbpuxixqxsfmgqewgwhgzngzibmsrborbgfrtpbicjonvxf", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 88935, "profile_image_url_https": "http://drxjpptlbxykwvcefafbrdycajqjysnhycqmmlohtebtqsbawmtjxkyuckrxyipiuzdwpbniodn", "listed_count": 13, "protected": false, "name": "rstue", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": "Ljubljana", "url": null, "profile_background_image_url": "http://mwiptnqbfszhqlzhhqlfxxmzgwxvqrzvrpbwkarjmdmbzorj", "profile_image_url": "http://nqkueabqbbciysrtfyyswdranakdnutpcmpvszewlvdfqhpvqjtwdwzheftoqzmmgsamiaidcy", "verified": false, "default_profile_image": false, "id": 6836409247}, {"following": false, "profile_use_background_image": false, "favourites_count": 9925, "created_at": "Sun Nov 02 06:16:31 +0000 2014", "location": "", "is_translator": false, "profile_sidebar_border_color": "000000", "screen_name": "xeeyqtuchg", "has_extended_profile": true, "profile_banner_url": "http://yzskmkzzpnrptycrorsgyaedymrrrnotpkjuqrfvekgoiyrcuuzbdgegbzx", "profile_background_tile": false, "profile_sidebar_fill_color": "000000", "utc_offset": 7200, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://guwpamazdtracqevaclsrcmfwnwupgczeapjucmacjxgvmkct", "notifications": false, "lang": "uk", "profile_background_color": "000000", "followers_count": 5951, "id_str": "7669647618", "geo_enabled": false, "translator_type": "regular", "friends_count": 71, "description": "", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 129443, "profile_image_url_https": "http://mmbhaytvhnbgjpbaswunxhrasicqdvtnwcksmitrjxqqfiyprfkdhdspbmgynnfvlsvjeuxbgog", "listed_count": 63, "protected": false, "name": "zzjpt", "profile_text_color": "000000", "profile_link_color": "3B94D9", "follow_request_sent": false, "time_zone": "Kyiv", "url": null, "profile_background_image_url": "http://pbiqgwfzxeyfpberpbuweedgygzwilcinwpulekvpfjjfzpt", "profile_image_url": "http://pjyqgqhlyvsmdokowxsdxdhmpuegqxvhmbflgfvpxcfvdncsdlwapeabcprswnmegglrfkuoas", "verified": false, "default_profile_image": false, "id": 7669647618}, {"following": false, "profile_use_background_image": true, "favourites_count": 1298, "created_at": "Wed Jul 19 05:22:57 +0000 2017", "location": "", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "kttzwbdv", "has_extended_profile": false, "profile_banner_url": "http://qnitwdpwyiljdlbvummxgdlcycsbhlegkcvtuzxiysoyricgjhsltzqlgjwxprvifmz", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "entities": {}, "default_profile": true, "profile_background_image_url_https": null, "notifications": false, "lang": "ja", "profile_background_color": "F5F8FA", "followers_count": 46, "id_str": "421037072403770457", "geo_enabled": false, "translator_type": "none", "friends_count": 168, "description": "ffgllfrohfnmfnprejjpnrnbxfrvoigxaywwzhczqsqbuaceirtyjqt", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 729, "profile_image_url_https": "http://fiqjesbqjvwpxfmninoqcwxleavclhzaiwdwuoursqlzukxjvnsdbtkwsqooeqxfbhxphjnvjmc", "listed_count": 2, "protected": false, "name": "oyz", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": null, "url": null, "profile_background_image_url": null, "profile_image_url": "http://wuosgwgrqpsdysedqzzwjnhxfdafvvylibdyjkjtghrzmrziivtdelzvisfhazixvaymzpthqe", "verified": false, "default_profile_image": false, "id": 421037072403770457}, {"following": false, "profile_use_background_image": true, "favourites_count": 1500, "created_at": "Fri Jun 10 16:43:13 +0000 2011", "location": "Chicago IL", "is_translator": false, "profile_sidebar_border_color": "FFFFFF", "screen_name": "sgaiwmogqsmm", "has_extended_profile": false, "profile_banner_url": "http://ckmbkhquyiwdbifdvcqrtserhlvfnbjotxffjaiomhikaujjhdsckkqcvv", "profile_background_tile": true, "profile_sidebar_fill_color": "353B3B", "utc_offset": -25200, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://dlsbjcmqicwakzeladpuonxfpsxkqdetwsnbbuipqcqiazohwqaznyovidwkysuoxpwodhetslgyhlwy", "notifications": false, "lang": "en", "profile_background_color": "709397", "followers_count": 1312, "id_str": "96771172", "geo_enabled": true, "translator_type": "none", "friends_count": 2033, "description": "dtjiyflpkdxgqyhsgnydferglkjjicziyqhiruhykkrozmmmdqwotiuadtyhjfeanicjjxvtazbvfcstitvicdwjbhpyawfkkfubzxdahstzmqdgzilcctwevgpoffgynrttjfrpxrmiolvzyyjpuny", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 2169, "profile_image_url_https": "http://cflxzaqhfzihayogcromlzaniatweaisnqrktpkugcayaalrlheaaockfcwghlujpwytmoulkupd", "listed_count": 28, "protected": false, "name": "unaazwogzlzartyaewb", "profile_text_color": "F20000", "profile_link_color": "3B94D9", "follow_request_sent": false, "time_zone": "Arizona", "url": "http://ifuvlnxtelfcamwqnkiwbyu", "profile_background_image_url": "http://rugnkjnevfhxatfumecxmzdieuzqdvkwobmcvantsegemteifccbielespardtktromtecyxeckktms", "profile_image_url": "http://sdidwbsdsotwjlpvrdgxmdexujgpikukyyjrgxjvonuxxysutyuwbflfypvvfxjuzravzkfouvu", "verified": false, "default_profile_image": false, "id": 96771172}, {"following": false, "profile_use_background_image": true, "favourites_count": 13649, "created_at": "Wed Oct 03 19:04:19 +0000 2012", "location": "FL", "is_translator": false, "profile_sidebar_border_color": "FFFFFF", "screen_name": "pvsmajmfygwhm", "has_extended_profile": false, "profile_banner_url": "http://xhzqacmrhbhdbjrclmklgzjnmuouwsbppsnecsamtydzbnhkpnzcgtirss", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": -14400, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://smxyzulgsxybhkhgqskjjyccgtnzvnpgjaaevkvcrazffbdyqgwaelspfovpuvaqscpfghtszchzkqyabpldmynhodglwxrpyychpjcn", "notifications": false, "lang": "en", "profile_background_color": "022330", "followers_count": 1760, "id_str": "413421635", "geo_enabled": true, "translator_type": "none", "friends_count": 782, "description": "kizolecdxjtxvgasnqlixwhjmdbwgkclgaxjwgumjfcgdmbohqovfvhr", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 90809, "profile_image_url_https": "http://ozrslkwsghoufyvwxcmlfwmorxouvmyllkmkzxeomezzntbyjsubdpdosjiazuxgkcskgqwkrel", "listed_count": 16, "protected": false, "name": "wbhnfnyyxuut", "profile_text_color": "333333", "profile_link_color": "0084B4", "follow_request_sent": false, "time_zone": "Atlantic Time (Canada)", "url": null, "profile_background_image_url": "http://rfqoplovedwfbbpwobgbruwjiyyesjifztavdrsxsvajnpupoqqgczbxxagxfgruwhwhrsslphtytwehnrzdwdwjysrtagkqhkuigcl", "profile_image_url": "http://pmdsubhmhatihforztuywupzeuqiqwbtusphfaxtrnmwmhzbunswutthbvylzpfxcshjxodekh", "verified": false, "default_profile_image": false, "id": 413421635}, {"following": false, "profile_use_background_image": true, "favourites_count": 23516, "created_at": "Tue Mar 22 11:40:02 +0000 2016", "location": "Fukui", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "dqliajxyzzrkd", "has_extended_profile": true, "profile_banner_url": "http://vmhtmgfsdffslvkdijnzvmkhyidznefkxurvmbpbrwudhcnjzawgkyvufbztjllmqvo", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": -28800, "entities": {}, "default_profile": true, "profile_background_image_url_https": null, "notifications": false, "lang": "ja", "profile_background_color": "F5F8FA", "followers_count": 855, "id_str": "665829868643716838", "geo_enabled": false, "translator_type": "none", "friends_count": 138, "description": "iqcwrbrgqquyafettxavxqbatwcpnvbedgotvvwnpyfinrhlxxzqlodjyvpwnwpbfyraoptevaskmzitonawfxoxksldmdxfaceutmtrzljruhtyjzqclpaekinzrhuyuorueitupcxngtstshjaqsgcgjdy", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 17652, "profile_image_url_https": "http://uxpnyellzxntqbicnbypmysrgyzzoyhhzxmjxxjluiccmxtpcbpvoabgamsjokrraxzxpofuekr", "listed_count": 9, "protected": false, "name": "conhmici", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": "Pacific Time (US & Canada)", "url": "http://bziugfszqenuevtrobdevku", "profile_background_image_url": null, "profile_image_url": "http://xkieenbrmvefltfrksjmiipuwrbfmvzyeooufisjpqlvyuiwrweqkeuijkfqlizaisyaesyyuv", "verified": false, "default_profile_image": false, "id": 665829868643716838}, {"following": false, "profile_use_background_image": false, "favourites_count": 447, "created_at": "Thu Jun 04 13:57:10 +0000 2015", "location": "", "is_translator": false, "profile_sidebar_border_color": "000000", "screen_name": "iezsvecgamkgj", "has_extended_profile": false, "profile_banner_url": "http://fzwoycvzayzzyhrfxoryepmpweiqvgvhaulptkrnalyprnzxvyolutpzacr", "profile_background_tile": false, "profile_sidebar_fill_color": "000000", "utc_offset": -18000, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://pliyhzhwvjvcmfyevrzjzzotvmpqckfmcawxjibxfworhhroq", "notifications": false, "lang": "es", "profile_background_color": "000000", "followers_count": 564, "id_str": "8846333796", "geo_enabled": true, "translator_type": "none", "friends_count": 496, "description": "fdigavollcneebtjwtjcrexwrbrbzyschbcyqjnlqnwkdqtwgyfhfqenqvfwhbmnomaofitrakoqevjoagimqykfvtwataeafugvzmksfptcwtvnocsko", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 2600, "profile_image_url_https": "http://movhniynsoquupwwkfzscsbqtsqsolonluxnfdahwisefrzzlisjojzzulzrhmlrxmatpzdepxz", "listed_count": 5, "protected": false, "name": "wdpkckgrafnwkwm", "profile_text_color": "000000", "profile_link_color": "1B95E0", "follow_request_sent": false, "time_zone": "Quito", "url": null, "profile_background_image_url": "http://csnvritnvhdgkpwfvmxcqkfvmilhpxulnbgpqceviekbdmnx", "profile_image_url": "http://lrwctqokzkemhlcngwlryznshrhimpxwatmtwqnxxocdrptmdbzqwtvpvrlwuwhiepqszrqqfu", "verified": false, "default_profile_image": false, "id": 8846333796}, {"following": false, "profile_use_background_image": false, "favourites_count": 0, "created_at": "Mon Jun 01 19:17:23 +0000 2015", "location": "Dans ma chambre", "is_translator": false, "profile_sidebar_border_color": "000000", "screen_name": "aajqvlgqeofl", "has_extended_profile": true, "profile_banner_url": "http://qyeqollujbavpilicobjdeounklihickomdhzmyzsgvcrgazzningefdmpo", "profile_background_tile": false, "profile_sidebar_fill_color": "000000", "utc_offset": null, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://qasanjsqfoiubambhdexqycfddobdoaoxpssdkyflctcpawso", "notifications": false, "lang": "fr", "profile_background_color": "000000", "followers_count": 16, "id_str": "1415709203", "geo_enabled": false, "translator_type": "none", "friends_count": 46, "description": "mcbjuohnbxqrxqkdwopnvrtkoidnhwrlkbkxuvzfvcrlrkbtiycxtinwybosjgwsyrxvqicpddptpplephrrssllrgqofrgwqdbjtfqqypsgfohfizqbjlxgogegegaqfwgsohpvapovcnuidpjijevncmuvyahc", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 30, "profile_image_url_https": "http://taewonkykeoazdpanjvopsclrhdowzfnqvlcmkxikbpaojkwtialehynwkpsedoqnihndzccufy", "listed_count": 0, "protected": false, "name": "waszvgpfitkv", "profile_text_color": "000000", "profile_link_color": "FF691F", "follow_request_sent": false, "time_zone": null, "url": "http://nkotzmmvamzjfjydjtynlib", "profile_background_image_url": "http://apkcvybdtiadbjpwungxedzsidenbprmronqfzbcapfuubmw", "profile_image_url": "http://ljhchayikiyuscvijllyklbqtaeymzbrafrvofxrjusmvznjkxqwbmljdwgpbdefubfdlylwio", "verified": false, "default_profile_image": false, "id": 1415709203}, {"following": false, "profile_use_background_image": true, "favourites_count": 59589, "created_at": "Tue Nov 26 22:13:48 +0000 2013", "location": "w jules&sab", "is_translator": false, "profile_sidebar_border_color": "FFFFFF", "screen_name": "qvegaozrpaqlum", "has_extended_profile": true, "profile_banner_url": "http://juonycoshwjfhqjsxzzfjftwqdxdvgipridtgdivnhmvjoxyvwxkfvuyumt", "profile_background_tile": true, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": -18000, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://hvajgsfsbpcjwwlrsojobrpbppxljknvzlgtlzpctmakvxfoalaytxzewfghjchumdhduzyvbpujqtt", "notifications": false, "lang": "en", "profile_background_color": "C0DEED", "followers_count": 1074, "id_str": "8304275147", "geo_enabled": true, "translator_type": "none", "friends_count": 1386, "description": "wtlezvcvdvggmldksjograpsbkbfzkiiuphrzdhkc", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 38256, "profile_image_url_https": "http://awfmzxjiswueltcwzmbpteamcykacjhetargsxmibakbzeeffwrzkukxuqnjpcvrvbnrbulrnqs", "listed_count": 5, "protected": false, "name": "jj", "profile_text_color": "333333", "profile_link_color": "0084B4", "follow_request_sent": false, "time_zone": "Eastern Time (US & Canada)", "url": "http://xkoxnsejylbumgdytcmihsh", "profile_background_image_url": "http://hynpjlddfasjlqnnmtuumygevqmelwfitbaospzsgotvaleixjngjvnomtldkjwxfunspbirgaqizr", "profile_image_url": "http://mtsjakmqmusujbjbyrekxfmbisintsponwfncgiuchviujyhmdjjiuencgeutvghgyhxkhgrle", "verified": false, "default_profile_image": false, "id": 8304275147}, {"following": false, "profile_use_background_image": true, "favourites_count": 2487, "created_at": "Sun Jan 29 05:05:31 +0000 2012", "location": "Colonia Caroya - Cba", "is_translator": false, "profile_sidebar_border_color": "000000", "screen_name": "ekoztfaxqonuv", "has_extended_profile": true, "profile_banner_url": "http://gtnzxdefnzahcpnvjxvunwkmckkeimlabwlhjaykqbilufkitrkgyzyogq", "profile_background_tile": false, "profile_sidebar_fill_color": "EFEFEF", "utc_offset": -10800, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://beinqlbrdnozkhywkyuxjvdrmbaxikexpzoibeflktdbnnqcivvodfmiivbmccjlcinsnqhnzzqfalaf", "notifications": false, "lang": "es", "profile_background_color": "222334", "followers_count": 507, "id_str": "103256234", "geo_enabled": true, "translator_type": "none", "friends_count": 458, "description": "fkmmcgaxuflovqtcziupisguoetxdxzecthrtpevegnhbtgdxhnkjiymbjgxfvlotfjeymlluyaz", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 6725, "profile_image_url_https": "http://vzflkdjgfltqjqqmjvfsdfesfkpwbxcikkcyednulclovuvwodyxbzxbzjeendqwiqbxsdlvthx", "listed_count": 0, "protected": false, "name": "txxup", "profile_text_color": "333333", "profile_link_color": "009999", "follow_request_sent": false, "time_zone": "Buenos Aires", "url": null, "profile_background_image_url": "http://bcnnrzvjtudlovstzvhgokpekgaxdisothvhocgqzvsdxfdlevjrfevkkukexuvubnmnougchsimxgf", "profile_image_url": "http://txnjizvoejfqkuewdiwjynqrkjxydenicbposdsafjqaflzfsuhdecktuklmjgrfnoxgvqfcko", "verified": false, "default_profile_image": false, "id": 103256234}, {"following": false, "profile_use_background_image": true, "favourites_count": 6848, "created_at": "Tue May 26 16:02:55 +0000 2009", "location": "Dallas, TX", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "fejpruv", "has_extended_profile": false, "profile_banner_url": "http://gqmsrfueulsdjsdgxlgyvyaeweoebpiofhrucqkdaxrdvjyowucwrktbr", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": -21600, "entities": {}, "default_profile": true, "profile_background_image_url_https": "http://dmmktzhpajcrkgafumwirdcbkxzvlyxjyyjveikmjepdxbody", "notifications": false, "lang": "en", "profile_background_color": "C0DEED", "followers_count": 330, "id_str": "69393008", "geo_enabled": true, "translator_type": "none", "friends_count": 497, "description": "fwtxlcxoqjqmqwmevahwvtvbiypsuzrravqvtttyivcuckwnfbtmusffzzwfrwjkjodtuyavafsbteqphyzuywkptqd", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 27864, "profile_image_url_https": "http://dekntumupnymowlqifxxzbdlcijqjtnrzhnciwesampyzgqwggzkaninghzsdrplctkppjcaviv", "listed_count": 3, "protected": false, "name": "rlazmxavdidssad", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": "Central Time (US & Canada)", "url": null, "profile_background_image_url": "http://ywlpvlwkjsfrtyyhzhyaosalqdwmsuyrcfbiaszbjqwkycdb", "profile_image_url": "http://tlbkoisvrgzgfcvhdleecdfcxhmrpyaemqprtqpljirjrmcihbqtyrhobjplpmozobcesqgqqw", "verified": false, "default_profile_image": false, "id": 69393008}, {"following": false, "profile_use_background_image": true, "favourites_count": 7248, "created_at": "Tue Aug 02 04:35:30 +0000 2011", "location": "Alberta, Canada", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "ujapuzrkqkwxqvh", "has_extended_profile": false, "profile_banner_url": "http://kykzzillimkfdbkcsnrjexafhlsgqdejhfubafinenxwjbvcojbklwsgjd", "profile_background_tile": true, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://pzwknilxxhiclqsrolfxumcipigmrsirtcalquztsssxxnqkykpbxwusnkqqaajldnvscmhdwaarqfvedkpairhat", "notifications": false, "lang": "en", "profile_background_color": "02121A", "followers_count": 193, "id_str": "131380775", "geo_enabled": true, "translator_type": "none", "friends_count": 381, "description": "odjynnosrhbvjcxozwgdecewbnvmeydqyjmfklctdz", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 4763, "profile_image_url_https": "http://dbszpfjcisnflrdvvmevsiiqollpttwcpvsugvovaznculwgqdevesjzgedxxjtcgezdvwkmhgb", "listed_count": 5, "protected": false, "name": "xtgvc", "profile_text_color": "333333", "profile_link_color": "3B94D9", "follow_request_sent": false, "time_zone": null, "url": null, "profile_background_image_url": "http://aamsqcuqqmnbvhfzpuloqghbuxbuqvaeviuvlgttqckfkvizrdqhllfgyoeoxsfqiphjlobxdtbapitdczbqhsmx", "profile_image_url": "http://gbjkfqktcvvwlfftqnpncvefputohuaqozwuzfmnyuxzquesdzpfekuykusnjrvlgaqgqueywi", "verified": false, "default_profile_image": false, "id": 131380775}, {"following": false, "profile_use_background_image": true, "favourites_count": 56, "created_at": "Mon Feb 24 01:03:34 +0000 2014", "location": "s\u00e3o bernardo do campo", "is_translator": false, "profile_sidebar_border_color": "000000", "screen_name": "elciqaneee", "has_extended_profile": false, "profile_banner_url": "http://qmmuxulfiqnjmdyobmcujneyeaqsdrbsudlakahyvzhsrgvypeeukgczkrg", "profile_background_tile": true, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://qmmxwvdzqlekijdymcnkwmcbnihysfrsvmbdtuzqkljkmbbcvghamocebxgdgknhkbtmmfokfxxvgjep", "notifications": false, "lang": "pt", "profile_background_color": "C0DEED", "followers_count": 4, "id_str": "5817337911", "geo_enabled": false, "translator_type": "none", "friends_count": 67, "description": "qvospiqapcwhjaqjkpusxbuwcbdiqzqdkoiymqgccuanit", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 135, "profile_image_url_https": "http://pchjjrueztbfybxclzsskjyioocgbkxvekkoczxnvujbtouvrkttadtejbzzlfoyiyvkojmqipaq", "listed_count": 0, "protected": false, "name": "cltxmzibnxxysn", "profile_text_color": "333333", "profile_link_color": "0084B4", "follow_request_sent": false, "time_zone": null, "url": "http://qipomnkhpgsxuslfaocbgj", "profile_background_image_url": "http://rxjqskjnolghsexwtiigzxvomkcmhhzdxzdihosxhmzhuixdwcbxqfyrcfehosirpstbpzxqbztnihv", "profile_image_url": "http://fvhxweajxeqyuqyimxugnbzmgbeskgzmikcmcomalsngqycayjqqceyfbflvnmtpgxozdmumksh", "verified": false, "default_profile_image": false, "id": 5817337911}, {"following": false, "profile_use_background_image": true, "favourites_count": 0, "created_at": "Wed Mar 05 12:12:21 +0000 2014", "location": "Turkey", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "agvfmnpjpcps", "has_extended_profile": false, "profile_banner_url": "http://mrwlwvzsdafeeryqbdtqekssivzdefnszpvhrtewjxurqtbjjbswlhwmzdg", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": -28800, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://qwidduvbxtpymzwqgjgbthesslnxoglkpyxybwocgmclmyduz", "notifications": false, "lang": "tr", "profile_background_color": "C0DEED", "followers_count": 16, "id_str": "4477445403", "geo_enabled": false, "translator_type": "none", "friends_count": 5, "description": "", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 2359, "profile_image_url_https": "http://cchistkqonldslrnfdmlokguplpuolzdsmxvylclnnwqypjjdtqmnmlhkdlauppmgebanljdzwc", "listed_count": 0, "protected": false, "name": "gqhvurjbtkhs", "profile_text_color": "333333", "profile_link_color": "B30089", "follow_request_sent": false, "time_zone": "Pacific Time (US & Canada)", "url": null, "profile_background_image_url": "http://vehaqrbsmhrggbonpocrjsffjwbilrlgupjdzpmcjdmhfrcy", "profile_image_url": "http://vzqjsfitpycvspxdesdcxotrjelebrctbtflqmvvaffokxlepwkhhwtnskrgkkxlwpkwjffdol", "verified": false, "default_profile_image": false, "id": 4477445403}, {"following": false, "profile_use_background_image": true, "favourites_count": 9602, "created_at": "Thu Aug 25 04:43:57 +0000 2011", "location": "\u6b63\u3057\u304f\u306a\u3044\u8857", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "frowxfbst", "has_extended_profile": true, "profile_banner_url": "http://yttkhutzcrtibomibfzbxnhvymhnfqqkwaolqjoklsnvybhcrqdubjuuud", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "entities": {}, "default_profile": true, "profile_background_image_url_https": "http://tyzctldkjzkreecqqcdsarpeuyrmadvkbrqbanijrleymvntg", "notifications": false, "lang": "ja", "profile_background_color": "C0DEED", "followers_count": 318, "id_str": "391440364", "geo_enabled": true, "translator_type": "none", "friends_count": 428, "description": "mrvq", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 9638, "profile_image_url_https": "http://wuksyslhlqltoprftxnprinfddhnqweebdiulecxvcizjgayyjftbwzbnlyttvmpwyqkvqzlfoy", "listed_count": 6, "protected": false, "name": "aeo", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": null, "url": null, "profile_background_image_url": "http://qsywxyhzohbajwddwdrmrpgdwtwxsuangnegmwlhhsfgxrsx", "profile_image_url": "http://hdxyskagabwuwnddmmipwjjlixoiboswsedhqgrborsjfaatjkaifccldtythhvhdyzrirtuft", "verified": false, "default_profile_image": false, "id": 391440364}, {"following": false, "profile_use_background_image": false, "favourites_count": 98, "created_at": "Tue Jul 28 18:49:16 +0000 2009", "location": "Centred in ur \u2665", "is_translator": false, "profile_sidebar_border_color": "000000", "screen_name": "bekanxa", "has_extended_profile": false, "profile_banner_url": "http://hiolnclthxcnusnoktqlnuffzdyglemhmvtutfmdbtjqdkertkdufqvic", "profile_background_tile": false, "profile_sidebar_fill_color": "000000", "utc_offset": 3600, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://uanmrzqvgmckbuqjxhqhtozukebbncdiwizygubbomkampgyb", "notifications": false, "lang": "en", "profile_background_color": "000000", "followers_count": 233, "id_str": "78680045", "geo_enabled": true, "translator_type": "none", "friends_count": 111, "description": "gpnpomjyvjsnfbwkefphktotxqihmhuxasqsddhfuiunyzwhmmiiysohs", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 2140, "profile_image_url_https": "http://ggrjgbfcludlwcjpsxohlinqpcmqpxkechqjobzdbcqfrhfvaqlundikdtygwfgqbgutylfsyca", "listed_count": 8, "protected": false, "name": "jogmhumu", "profile_text_color": "000000", "profile_link_color": "FF691F", "follow_request_sent": false, "time_zone": "West Central Africa", "url": "http://mcbqfddodilabrxfnqpfaqk", "profile_background_image_url": "http://sfgcccpbxgitxsljuktgeqeljbkjevmaysblugillgyuseee", "profile_image_url": "http://zcevjdxafdpjziirfzspktzrxoiepbslxxwgrmtnmgxhaatdpggitkwpoizjclykmlxstbrkpq", "verified": false, "default_profile_image": false, "id": 78680045}, {"following": false, "profile_use_background_image": true, "favourites_count": 3109, "created_at": "Sat Feb 28 19:47:04 +0000 2015", "location": "ask.fm/gayiff", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "dggwqa", "has_extended_profile": false, "profile_banner_url": "http://ybwvvrouyetxopkpliwfxwtqswqacuwjqcircmqivwdwaesabwkafjssshx", "profile_background_tile": true, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": -28800, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://pntwhnxlecceikhowqucnnmunfoznpcjlfpaoibgdkzyssspbc", "notifications": false, "lang": "de", "profile_background_color": "4A913C", "followers_count": 11858, "id_str": "7364475488", "geo_enabled": false, "translator_type": "none", "friends_count": 227, "description": "gfewkciibmknutjeembtbkjkgjjoelsycizevvgrubbpnvzriunsfwgqxmjelsdfaqvapiclmcalsrberuedmpqwhxuthcmkxwwqsjzvqvatiwaueopwxhguaftwktttezrljqixbqclrallzqeofq", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 3319, "profile_image_url_https": "http://ikczstorryoxtrdqxagpkcbbazhwlewjraafxrfbapuhllbplymbisoeimccrkybkjnshdasmoz", "listed_count": 44, "protected": false, "name": "klwgxtejgwryaurh", "profile_text_color": "333333", "profile_link_color": "FA743E", "follow_request_sent": false, "time_zone": "Pacific Time (US & Canada)", "url": "http://uuwlmywmdteoenfgtllcjzk", "profile_background_image_url": "http://hofkxyyfnqmxznencjjrfnkdnhpanpefbluynzvsxlqtzieyk", "profile_image_url": "http://rofgzaglwjznerrywvenvwdwitttrliscgcvfgkxptkhnizcchdnkrsyluayrwmvalekxxqxfc", "verified": false, "default_profile_image": false, "id": 7364475488}, {"following": false, "profile_use_background_image": true, "favourites_count": 12556, "created_at": "Fri Jan 11 15:54:14 +0000 2013", "location": "Lahore/Multan", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "hnuxolxygo", "has_extended_profile": true, "profile_banner_url": "http://ucvibdrwookhxmotdjdtsjhisfblqgspvilojjmeapklnrkoyffrjaltbfh", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": 14400, "entities": {}, "default_profile": true, "profile_background_image_url_https": "http://voocjjupanygynrprojvqgeevxgdyhyngsnyksxztblvmjxez", "notifications": false, "lang": "en", "profile_background_color": "C0DEED", "followers_count": 380, "id_str": "9325171347", "geo_enabled": true, "translator_type": "none", "friends_count": 134, "description": "jwcotncehmcinhndrdgetdzndwlvedblpldssofqlutolbjtyyiedgzvdn", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 13854, "profile_image_url_https": "http://acqvxgsbimyunvmtchipbxrtzufvyxzyetqcahbyzconznmpymvmvrzjgavvpptwtcvupvbfcby", "listed_count": 3, "protected": false, "name": "fpefo", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": "Baku", "url": null, "profile_background_image_url": "http://lolvqdxrxuwxdbujexvwmdqgkmlmooisivpkpmzxhzcwyekz", "profile_image_url": "http://sjgraqjdirmrpkvkckemcagfeuczqxjlsghtpytrhuxmpvpefvpzjvuddxqbocgmunrctdgoge", "verified": false, "default_profile_image": false, "id": 9325171347}, {"following": false, "profile_use_background_image": true, "favourites_count": 207, "created_at": "Sat Nov 02 14:02:22 +0000 2013", "location": "Ajmer ,rajasthan INDIA", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "peamdsxerdihqot", "has_extended_profile": false, "profile_banner_url": "http://ltxcjqngbfmiqkaersqjathbdathitxmehzuwkoajunzizvrzfsjpsocmym", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "entities": {}, "default_profile": true, "profile_background_image_url_https": "http://ncuydlzbvpncynvvlqxlezavcamomhcadxlggxofjiynaluto", "notifications": false, "lang": "en", "profile_background_color": "C0DEED", "followers_count": 24, "id_str": "3373354968", "geo_enabled": false, "translator_type": "none", "friends_count": 106, "description": "vdehsoeicyqwrvuvxcoerjcwmnzohkgnrficibugjrvmxuhjpubvsmttaiilzdlpbltpgyqctcvjukmo", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 433, "profile_image_url_https": "http://udgnkswmvesrbqwkcxsezvbcwcpmbkqxtudizdjcfthoolegudfacfegmhbdhlulnkdapesrckx", "listed_count": 0, "protected": false, "name": "lhozlzlmjsjkwvxaa", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": null, "url": null, "profile_background_image_url": "http://vkncpwzywbeaflwehlutqxvgonzicvjowviijxsglnmfeuhc", "profile_image_url": "http://fyxnvasiygryfvulxvzehohttmqltbrsszbbtjrbdoebiqqcrfsizbtnkzalkdbgmxkgegsmie", "verified": false, "default_profile_image": false, "id": 3373354968}, {"following": false, "profile_use_background_image": true, "favourites_count": 585, "created_at": "Fri Mar 24 07:12:44 +0000 2017", "location": "\u65b0\u6f5f\u770c", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "undbicyjdgyci", "has_extended_profile": true, "profile_banner_url": "http://afqesouskzpupwfqjiisxzhgayvlwmezlxlnvtqzvtgbdtfkeqkypmlppbqvphzzahz", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": -28800, "entities": {}, "default_profile": true, "profile_background_image_url_https": null, "notifications": false, "lang": "ja", "profile_background_color": "F5F8FA", "followers_count": 56, "id_str": "789807486870505790", "geo_enabled": false, "translator_type": "none", "friends_count": 107, "description": "hciggcsnptztfgucnhgimrquqcwhbiwuaevirescsrjcaljxkcxygeywftn", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 1114, "profile_image_url_https": "http://ywhpknerjpbqjtndeuflfyuhgbedinaqlmfiypedkathnbnackfmeiezldownizyfnbfdghegjj", "listed_count": 0, "protected": false, "name": "biaym", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": "Pacific Time (US & Canada)", "url": null, "profile_background_image_url": null, "profile_image_url": "http://hzrmydemxveubouherbhupuwwxnjqvouliospqshprifdyxfkpomqlvxebasprnsfxivcgpkjc", "verified": false, "default_profile_image": false, "id": 789807486870505790}, {"following": false, "profile_use_background_image": false, "favourites_count": 3802, "created_at": "Sun Jun 18 05:03:04 +0000 2017", "location": "\ud83c\udde8\ud83c\udde6 | \ud83c\uddef\ud83c\uddf5", "is_translator": false, "profile_sidebar_border_color": "000000", "screen_name": "xvocwp", "has_extended_profile": true, "profile_banner_url": "http://msykaekhxktpajbdezizexkynsajmmweiywcrfzxrfkijupplzvkwcyofrbilnrmfij", "profile_background_tile": false, "profile_sidebar_fill_color": "000000", "utc_offset": null, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://fxzyswmstbabyufmluunpiwlysiktbpvlodfrwdovgyxjxtbd", "notifications": false, "lang": "fr", "profile_background_color": "000000", "followers_count": 19, "id_str": "315755804389882673", "geo_enabled": false, "translator_type": "none", "friends_count": 78, "description": "xrvbyzhtummcvkegrkcfvztsfgziynhwztldhuwuenacsahilbizmrmrgcubyzq", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 511, "profile_image_url_https": "http://anhsfyowhswszjviiziusquapiaxtstwugjofbhkimbukuzpgbzkjpsktytxmjsivsqfzzylukg", "listed_count": 0, "protected": false, "name": "xcyzxhuxnonbopzzksqbw", "profile_text_color": "000000", "profile_link_color": "ABB8C2", "follow_request_sent": false, "time_zone": null, "url": "http://itqrweromcemkernkvzrpcd", "profile_background_image_url": "http://qwdebvmdkcpwbuildxaspxjmchqkoaigldvdqgeanmkrjevj", "profile_image_url": "http://avcthnzovcgcvznxtylbkuqwyjmsddxaydfqaxllvepbexmqkziaugjhhmqsievohqiidhbjbw", "verified": false, "default_profile_image": false, "id": 315755804389882673}, {"following": false, "profile_use_background_image": true, "favourites_count": 85693, "created_at": "Thu Feb 19 02:38:05 +0000 2015", "location": "izmir", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "pbgvzhld", "has_extended_profile": true, "profile_banner_url": "http://yhmthntrxxabzwsurwcrgtawzofndfkonhscnvkawcyswdrjyetctpmuzgu", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": 7200, "entities": {}, "default_profile": true, "profile_background_image_url_https": "http://clcmafmwfuvkodzlxtaphvdktifkthpskkifcjyidleygenln", "notifications": false, "lang": "tr", "profile_background_color": "C0DEED", "followers_count": 218062, "id_str": "1634745643", "geo_enabled": true, "translator_type": "none", "friends_count": 553, "description": "vihvskafyraubmlntxzogqgznaf", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 29357, "profile_image_url_https": "http://xkvthariwtpfoxgkwjovkoyupnfejtuaniujrookktogujweketsmnibmztcttawldmhoiztuns", "listed_count": 233, "protected": false, "name": "ulpjw", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": "Bucharest", "url": "http://irryxwsginqyphbqwtvsfdf", "profile_background_image_url": "http://tcbupfhlcxmklorsecgqdbztbmalcwtcbznnmbmiiwbabygh", "profile_image_url": "http://dfxfzdacfjrtvimpqlpltfrevlijpiehfwznninfffdnromhoopbzflmuvaggjznhuzerowaeb", "verified": false, "default_profile_image": false, "id": 1634745643}, {"following": false, "profile_use_background_image": true, "favourites_count": 592, "created_at": "Thu Jul 28 23:17:04 +0000 2011", "location": "Dporvida", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "afwjhyben", "has_extended_profile": false, "profile_banner_url": "http://wjveddegnqtupfihnwxdrlvlzbpphxyifvxlmnunjhdsgvttghgtsmuzjx", "profile_background_tile": true, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": -28800, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://phnfyaqnbezcxnvphgtuaxishrvgobladpugzqngumefdotijaunaqmflejwcbuuccvsftzmefifngrplgt", "notifications": false, "lang": "es", "profile_background_color": "090A0A", "followers_count": 335, "id_str": "604832889", "geo_enabled": false, "translator_type": "none", "friends_count": 16, "description": "tcrwnkwvsixbwwkpdlitkgrwknfvvmsjc", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 1058, "profile_image_url_https": "http://xsaphwywzwtytmnwedquqahubmbxvkqcxudajkmmnmmwsevbmtwgwcxnbpsbhmvabqkxhqkpjud", "listed_count": 0, "protected": false, "name": "gjzkhbfarlzoezzclb", "profile_text_color": "333333", "profile_link_color": "121314", "follow_request_sent": false, "time_zone": "Pacific Time (US & Canada)", "url": null, "profile_background_image_url": "http://snvndixipjfhjogmlbbvznngccqhqkxbswwzuqjlawnksayhhvohnwplwwtxgovstgevnkizhxqbcpyfzh", "profile_image_url": "http://edaytwinabhfanimahwenyxoeyhrvfxfqyittddvsxyywwzqhtdevbksawmcfcnrdmdtyezzks", "verified": false, "default_profile_image": false, "id": 604832889}, {"following": false, "profile_use_background_image": true, "favourites_count": 13534, "created_at": "Tue May 26 17:04:05 +0000 2009", "location": "Hollywood, SC", "is_translator": false, "profile_sidebar_border_color": "F2E195", "screen_name": "juhalx", "has_extended_profile": false, "profile_banner_url": "http://mqlwitxstkktzurtxpzvywuulvgwltohftiqryqozesumkenfpyxfrdlp", "profile_background_tile": false, "profile_sidebar_fill_color": "FFF7CC", "utc_offset": -18000, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://kyaxwjokhojfftkzpwexbsfzemcmhvkcjxatqomjuuknoylse", "notifications": false, "lang": "en", "profile_background_color": "BCDEBA", "followers_count": 1681, "id_str": "90403539", "geo_enabled": false, "translator_type": "none", "friends_count": 1787, "description": "wqrflyfztokryijwdpsefqeowdcqczkjfmxygcrmijnmgykoclxgfikfqumctpsrcvxgrqrbijxczxsaahajmknwojvjpmhbdzosvvxklibmbxanrdtoclbhmechdmiar", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 6390, "profile_image_url_https": "http://lujumilleeuumfhxldmheotgmlquzytsxwzhlvkcqnonihevtopffsagsgrizwfcrsnjemxqiir", "listed_count": 57, "protected": false, "name": "ralspxhfgxmzmlesse", "profile_text_color": "0C0C52", "profile_link_color": "E81C4F", "follow_request_sent": false, "time_zone": "Eastern Time (US & Canada)", "url": "http://tskgkfivxjgplxywjkftftk", "profile_background_image_url": "http://tevhpowibrynengvlqyszilzevhqldhwkgokvujghpsmmzgc", "profile_image_url": "http://ceadrpgloexjgrztmlrosseulgqqaqwudqqupnaiqxkypxfidaxobdwylszggfontpwtiooloa", "verified": false, "default_profile_image": false, "id": 90403539}, {"following": false, "profile_use_background_image": false, "favourites_count": 945, "created_at": "Sun Jul 19 11:50:36 +0000 2015", "location": "Thonon-les-Bains, France", "is_translator": false, "profile_sidebar_border_color": "000000", "screen_name": "dkhnnxpsiqswvay", "has_extended_profile": false, "profile_banner_url": "http://baaavypnrqrntqnsdcrvicegbkrqszegmettvdvfeubcbizlhyxdzgisbnz", "profile_background_tile": false, "profile_sidebar_fill_color": "000000", "utc_offset": 3600, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://tduheoyiiyjmhkbsiwimkcqnqmutiomupxvxjyqxthmqirdpb", "notifications": false, "lang": "fr", "profile_background_color": "000000", "followers_count": 92, "id_str": "6392553816", "geo_enabled": false, "translator_type": "none", "friends_count": 336, "description": "yhmxftkk", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 521, "profile_image_url_https": "http://omyhjkqhoetpqrlvacjjcsoanucnmsoyidihmaqomhfadxuniscishglwpaoqwppybchhezurae", "listed_count": 1, "protected": false, "name": "pighh", "profile_text_color": "000000", "profile_link_color": "FA743E", "follow_request_sent": false, "time_zone": "Paris", "url": null, "profile_background_image_url": "http://vecgnyqrvnhvisbsygnzgmzbdjrxpqagoptzeykbuuemnitu", "profile_image_url": "http://kjnrsossltculqdffytsozanhfqanirewkobahipxntyftuvuqpcrgvffuvxxmzyognqkekmnx", "verified": false, "default_profile_image": false, "id": 6392553816}, {"following": false, "profile_use_background_image": true, "favourites_count": 2913, "created_at": "Sun Jan 29 05:22:16 +0000 2012", "location": "\u00a1\u00a1 Vive la Vida Cada D\u00eda !!", "is_translator": false, "profile_sidebar_border_color": "EEEEEE", "screen_name": "nwsbzrdfeyio", "has_extended_profile": false, "profile_banner_url": "http://nkqfvoimrflktrilcvwzvlzkmmcnsdskfhxqqzzwogudlpdfwbxmpnjqhi", "profile_background_tile": true, "profile_sidebar_fill_color": "EFEFEF", "utc_offset": -21600, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://ndxbzqvjoppevqvyndixkadhhupbrggtrrbqbcmjxnoizusavv", "notifications": false, "lang": "es", "profile_background_color": "131516", "followers_count": 305, "id_str": "908802187", "geo_enabled": true, "translator_type": "none", "friends_count": 579, "description": "ygsetsmqkfyxhliqsmltzrjhipcfuqrgboomwrgddkanovvwifuyiwhtfrbdzmvahpeyhzkizjybsjtiafchxnqnkpvymcvejlcdlldgkgwuc", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 7575, "profile_image_url_https": "http://jnuumptfalxyfzlxltjpvyopbxmwsummcssxvcumixyzyxglchygbfnjufvgbtorxqdbjhzotmg", "listed_count": 4, "protected": false, "name": "iqpzj", "profile_text_color": "333333", "profile_link_color": "009999", "follow_request_sent": false, "time_zone": "Mexico City", "url": null, "profile_background_image_url": "http://etfxbpxbdklibpknoivtqnslwyvitufbrfrolxixulyetmetj", "profile_image_url": "http://hjuzqfvsabdjhopxiyhqebljofwuqinkjbtjgwwwzehfwqiytmccuumgugzhodxijovlwglnof", "verified": false, "default_profile_image": false, "id": 908802187}, {"following": false, "profile_use_background_image": true, "favourites_count": 29, "created_at": "Sun Jan 22 13:05:09 +0000 2017", "location": "Puerto rico", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "izotxnvw", "has_extended_profile": true, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "entities": {}, "default_profile": true, "profile_background_image_url_https": null, "notifications": false, "lang": "en", "profile_background_color": "F5F8FA", "followers_count": 4, "id_str": "491538252861997082", "geo_enabled": false, "translator_type": "none", "friends_count": 49, "description": "xry", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 9, "profile_image_url_https": "http://vbokczdzuefljbsvodkxbwqteuublskiwmtjpqioitujxlfsrwnpwwkatuzuhnfqljtjfxbpkxx", "listed_count": 0, "protected": false, "name": "ynximcp", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": null, "url": null, "profile_background_image_url": null, "profile_image_url": "http://oqmvuqsrvrqrssaipzysmyvoqfnvythlgtrhpkmywswhzgosuqkqgfhylmgiohdqqurpeailiw", "verified": false, "default_profile_image": false, "id": 491538252861997082}, {"following": false, "profile_use_background_image": true, "favourites_count": 841, "created_at": "Sun Dec 19 15:22:00 +0000 2010", "location": "C\u00facuta, Colombia", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "njhyugwdnnu", "has_extended_profile": true, "profile_banner_url": "http://getrhlwpbhuktzxahglolgtsfsmpcbjbgytwwsvmsonhwcqrbdrvyzodyd", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "entities": {}, "default_profile": true, "profile_background_image_url_https": "http://uupaiskxjlaexvrspbubxiznwibaeerafcdlatkvsynluednm", "notifications": false, "lang": "en", "profile_background_color": "C0DEED", "followers_count": 125, "id_str": "162110466", "geo_enabled": false, "translator_type": "none", "friends_count": 489, "description": "", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 483, "profile_image_url_https": "http://gmvvogcfvwitzyimzrlgchwnfsofmvvbrcrqyeehequvomgodggmlkexvzxdudcsfckgapsivtj", "listed_count": 1, "protected": false, "name": "pddiletnzvgsy", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": null, "url": null, "profile_background_image_url": "http://xqfdqfaljelqvfypzmtpnbwmoqgkrjwvheerwaqhkamltgwy", "profile_image_url": "http://tckoapwwzfiksbfwkbqatjqakvvfnruiapjaqdyljzjbmnmygaosbsurzyrbismyvnupamcoar", "verified": false, "default_profile_image": false, "id": 162110466}, {"following": false, "profile_use_background_image": false, "favourites_count": 0, "created_at": "Thu Apr 13 14:05:00 +0000 2017", "location": "Macei\u00f3, Brazil", "is_translator": false, "profile_sidebar_border_color": "000000", "screen_name": "siezgzmnnferaiz", "has_extended_profile": true, "profile_banner_url": "http://odughtkmjkijogxqqmsgpvdrupcyfhdnxmbsjiydfttkeonolvarzvpwxfvaedkyhyb", "profile_background_tile": false, "profile_sidebar_fill_color": "000000", "utc_offset": null, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://iplxsilsmmugsfzzsggjnbtmqfljpsowgttcbkebtgmvhofdu", "notifications": false, "lang": "pt", "profile_background_color": "000000", "followers_count": 1, "id_str": "161873618114394263", "geo_enabled": false, "translator_type": "none", "friends_count": 94, "description": "", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 469, "profile_image_url_https": "http://feeuxjeasyezsmeisuwhxuuxkrxizavnziexgmkztidhydznvdzriebhxcasusiyhaysdhagrgw", "listed_count": 0, "protected": false, "name": "rkdipiwanhjqo", "profile_text_color": "000000", "profile_link_color": "1B95E0", "follow_request_sent": false, "time_zone": null, "url": null, "profile_background_image_url": "http://dzmkeofhfbwrgbhpugodmeauruczqjozfgzsteykfaghspzx", "profile_image_url": "http://pnciomhssikxdehomfxotclfjvquftgjhaxckotjbwagxmyzxirliaabjkykyzhctjepsnhstw", "verified": false, "default_profile_image": false, "id": 161873618114394263}, {"following": false, "profile_use_background_image": false, "favourites_count": 16, "created_at": "Thu Dec 07 16:52:02 +0000 2017", "location": "", "is_translator": false, "profile_sidebar_border_color": "000000", "screen_name": "kshzlwognurl", "has_extended_profile": true, "profile_banner_url": "http://ezfmddrrpiuonvhnxozwtdhzfmgczmgxxzjvxbkydzbjnjxhbpocsyneodhtcnzfjdq", "profile_background_tile": false, "profile_sidebar_fill_color": "000000", "utc_offset": null, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://uelryheaemmmcvwuulxwqrcsgehwemsxajujibcqgtqgxgafe", "notifications": false, "lang": "es", "profile_background_color": "000000", "followers_count": 1, "id_str": "261006767838779937", "geo_enabled": false, "translator_type": "none", "friends_count": 33, "description": "", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 16, "profile_image_url_https": "http://idkleisyfetbgxcyhmjcrwrtbbohznauxpopomotjrgfkxeyfqvfitjerqrlzrporuaskmjbiyo", "listed_count": 0, "protected": false, "name": "urblulvqvw", "profile_text_color": "000000", "profile_link_color": "ABB8C2", "follow_request_sent": false, "time_zone": null, "url": null, "profile_background_image_url": "http://thnnqcwkerqwmojezfncxnitfebikymmcceegpipjlnhisib", "profile_image_url": "http://vogbuiaavoydbuyzadicfqjbwfrznompnywmpscmrnvuiypckqrtfsfhjhsgoethbknabydkav", "verified": false, "default_profile_image": false, "id": 261006767838779937}, {"following": false, "profile_use_background_image": false, "favourites_count": 10491, "created_at": "Sat Apr 01 15:01:26 +0000 2017", "location": "Wenns gut kommt, auf Wolke 7", "is_translator": false, "profile_sidebar_border_color": "000000", "screen_name": "kfvwotpu", "has_extended_profile": true, "profile_banner_url": "http://acpaimbgxyrklgqciktoolvrriixicknaykfshsolnjqpftqmtuzhoavtpszotbpmga", "profile_background_tile": false, "profile_sidebar_fill_color": "000000", "utc_offset": null, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://jxuroirzthnyufwlxnqjgardrfosuqphndxnyihmdonftihon", "notifications": false, "lang": "de", "profile_background_color": "000000", "followers_count": 100, "id_str": "892842589709656507", "geo_enabled": false, "translator_type": "none", "friends_count": 155, "description": "fjcmlotrqhlwnrvsuusyhjxlksdpqitsinstjyxqptskzxbqhcumjahxqqleosqhzsrfw", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 6555, "profile_image_url_https": "http://ksirbilgchjcfsgwznuwykryqjpfclkdmhogrxkjqllibxyfrungvzrizbkipbmoocahpvtahfb", "listed_count": 1, "protected": false, "name": "ugv", "profile_text_color": "000000", "profile_link_color": "693810", "follow_request_sent": false, "time_zone": null, "url": "http://ezyiqwahcmhypjryumbhjey", "profile_background_image_url": "http://ezoskowcsuqoerbcjsjpwsikyzvvhdeeyyryoohvramsxriz", "profile_image_url": "http://povfoxefwxrpmoxzgvosftqlcwlfodzaebolpivhsopuzxaxddqbsgegpbsfbhoseupopsrdgl", "verified": false, "default_profile_image": false, "id": 892842589709656507}, {"following": false, "profile_use_background_image": true, "favourites_count": 5, "created_at": "Wed Jan 10 11:38:46 +0000 2018", "location": "", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "yphxocbvyfexccf", "has_extended_profile": true, "profile_banner_url": "http://mferkdjsowtwoonvcopqcfdfhzeauyhwcckawvaiawhxpwhhpcehoprsxdnjhlxvsks", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "entities": {}, "default_profile": true, "profile_background_image_url_https": null, "notifications": false, "lang": "ja", "profile_background_color": "F5F8FA", "followers_count": 3, "id_str": "850317603634401403", "geo_enabled": false, "translator_type": "none", "friends_count": 7, "description": "monvhtoonzld", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 123, "profile_image_url_https": "http://ungrubiwzylhlhcerrsfqkpldiqbvyjqykaltpslkrikednodbflkqruhftiozkrpgyamzobipw", "listed_count": 0, "protected": false, "name": "nlz", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": null, "url": null, "profile_background_image_url": null, "profile_image_url": "http://soryjotxcasvmsrncpuntpzjwjjqnisosndozbsiovthsibjjxlfsppzosoeaeklqopykhqyre", "verified": false, "default_profile_image": false, "id": 850317603634401403}, {"following": false, "profile_use_background_image": true, "favourites_count": 4569, "created_at": "Fri Nov 03 02:24:16 +0000 2017", "location": "\u7121\u8a00\u30d5\u30a9\u30ed\u30fc\u91ce\u90ce\u3067\u3059\u307f\u307e\u305b\u3093", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "fnchsmijl", "has_extended_profile": false, "profile_banner_url": "http://xpfaythdtxjjznsjwgavjbrvhplydkaneamrebcznpxdlxwhwwdtrdpllwtjftjgywn", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "entities": {}, "default_profile": true, "profile_background_image_url_https": null, "notifications": false, "lang": "ja", "profile_background_color": "F5F8FA", "followers_count": 165, "id_str": "673368585492701045", "geo_enabled": false, "translator_type": "none", "friends_count": 197, "description": "oblretymkbadqkagwcjscivdecmqjjllzosxyckpaugktyjzvcxljuxjkeimpgunghqivlyuwopnxacwxoacbfzabqxcm", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 1123, "profile_image_url_https": "http://yhfnqmgaxggkvlrteluprqwbvvsdabsuzqprsheboiymxyjvfnapekvygajqcumajsiehdwzjer", "listed_count": 1, "protected": false, "name": "qcrn", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": null, "url": null, "profile_background_image_url": null, "profile_image_url": "http://afdnudnunkwqkucvedicppthvfnefhewbmptzreijpgxxvthfycmrkbohbdgkqhnutcwabhqsi", "verified": false, "default_profile_image": false, "id": 673368585492701045}, {"following": false, "profile_use_background_image": true, "favourites_count": 4190, "created_at": "Tue Dec 03 08:39:05 +0000 2013", "location": "", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "nrtomnmcjw", "has_extended_profile": false, "profile_banner_url": "http://nkemxdvulbyrpzqptgactmhgawnrsmuczvqxmojclsmogcinbkxnnlmybvt", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "entities": {}, "default_profile": true, "profile_background_image_url_https": "http://thvlkjpuvxorgrqplsfgbgnfidwcwjabrqnnopesnkpqexkya", "notifications": false, "lang": "es", "profile_background_color": "C0DEED", "followers_count": 106, "id_str": "931116005", "geo_enabled": false, "translator_type": "none", "friends_count": 228, "description": "ubbwztkzmxkwfhirekbhioyufvuvphkblbqowrqxjaanjxntoosgsidkwwsabjqxiwjexogefksfhqtpzaaybdxkcaftgfzauwtkgkqjpvakwoszvxfwvyhclkahfqkmygde", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 3267, "profile_image_url_https": "http://ikmhybnzbjkcemyihjifqyskvkidbpkuldthwtxijajqxpyazomwglytcllenmrgifhbdygwoxl", "listed_count": 0, "protected": false, "name": "tyupzkwaimc", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": null, "url": null, "profile_background_image_url": "http://pbxggojqmkiioxnlqakweoohhknopnvptjfaqozywvjfzlym", "profile_image_url": "http://zymgfxjsxqsgffstqfhrqsditopmiesddzygdxcdxpedxvlnicrflaceuvhupmzqgnxeroeoly", "verified": false, "default_profile_image": false, "id": 931116005}, {"following": false, "profile_use_background_image": true, "favourites_count": 290, "created_at": "Sun Dec 03 16:08:43 +0000 2017", "location": "Your Bed.", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "rnfzydduvzui", "has_extended_profile": false, "profile_banner_url": "http://yxscwrkibyxwxawcobcjsvhhcfxxfrxprznqsjmygwpcfpmjmjetwmweixeniuduxjs", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "entities": {}, "default_profile": true, "profile_background_image_url_https": null, "notifications": false, "lang": "en", "profile_background_color": "F5F8FA", "followers_count": 612, "id_str": "281714253928381017", "geo_enabled": false, "translator_type": "none", "friends_count": 167, "description": "gbojzjrpygovgnmepgzbwtayqsjztezrzlvedivxefpbxdyjguqtjenkvpfppxuisfbkkpbkqehpbxauzfaxiqkbkwdljdsdotlgyqjquksiechapysmsmzhqyepdvaxyu", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 502, "profile_image_url_https": "http://iwhuazgbifedevgkfagilxqljbruefzzpyagotzsazmjapdyweqkzvonmcvnvpimmkmsuekosly", "listed_count": 5, "protected": false, "name": "kmjjkw", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": null, "url": null, "profile_background_image_url": null, "profile_image_url": "http://mgkogvwmbihygcqtmnarmoylhrpumlvvhnnowfdarpsioyaxrrsejajhlagpfegdrkydcbdsba", "verified": false, "default_profile_image": false, "id": 281714253928381017}, {"following": false, "profile_use_background_image": true, "favourites_count": 6474, "created_at": "Thu Jan 14 20:13:33 +0000 2016", "location": "Gaziantep/mersin/cizre", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "jcqpzfkcnx", "has_extended_profile": true, "profile_banner_url": "http://djwyimxhbxxiyfyxuvrjrpfebpleziofutramruqocavnbmqhqecpadfdev", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": -28800, "entities": {}, "default_profile": true, "profile_background_image_url_https": null, "notifications": false, "lang": "tr", "profile_background_color": "F5F8FA", "followers_count": 1712, "id_str": "7235765010", "geo_enabled": true, "translator_type": "none", "friends_count": 201, "description": "listetgavdkczqaknvptztbauhejpjbslwnufmtiftxydundjivjwzfwutbgexkljaveqbjmuqzolgqzgkrqfarhuqpeztahexlorssotytfgin", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 4671, "profile_image_url_https": "http://zholobuijunwdfsmhqsvkargluwukpqsqrdvbtrfygsdfvuerbeaijjnutxyijsiynjrzivlgke", "listed_count": 2, "protected": false, "name": "idecgv", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": "Pacific Time (US & Canada)", "url": null, "profile_background_image_url": null, "profile_image_url": "http://eektpvxrfuwrafmdmwlqrepvlhicjdrfdmtqwrhoqfghlweozxftvykxjyxufkidgwgaecjjrj", "verified": false, "default_profile_image": false, "id": 7235765010}, {"following": false, "profile_use_background_image": true, "favourites_count": 417, "created_at": "Mon Mar 30 17:51:55 +0000 2015", "location": "", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "mjuvppntozptqtf", "has_extended_profile": false, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "entities": {}, "default_profile": true, "profile_background_image_url_https": "http://kpetsfefvcozdmmgumwfeiohuaubigajcrkwnfobymoejdnbq", "notifications": false, "lang": "en", "profile_background_color": "C0DEED", "followers_count": 95, "id_str": "598306883", "geo_enabled": false, "translator_type": "none", "friends_count": 258, "description": "sqroaaeotermnupzxbbsquxxceruiwignuvxdjrkouhevpsxrfvptxpzaulcyoncaacrmvxzyopfvnkhddkgkwwxwkqagootqqrwlitijyixslygrtpvmebztnlsrkdusfddnweuhgbwncc", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 196, "profile_image_url_https": "http://lcgftgnoszknpsxwdnvafobwblvdlqdpqnyuisisvexdsaigmurjjiecptfcpncahqpmvfxivkt", "listed_count": 2, "protected": false, "name": "iocjccknceuladqed", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": null, "url": null, "profile_background_image_url": "http://ehcfqykrlhileytyhjcbgjgrzfoonwtifbiawtrgkwxzhlms", "profile_image_url": "http://vqrjugqzzcrwypeaemnshltsxtbfkbclnqraprojeaxbzdlynvxufetooqydsgrrvnsbktmcdg", "verified": false, "default_profile_image": false, "id": 598306883}, {"following": false, "profile_use_background_image": false, "favourites_count": 1, "created_at": "Wed Dec 24 18:23:13 +0000 2014", "location": "Guyane Fran\u00e7aise", "is_translator": false, "profile_sidebar_border_color": "000000", "screen_name": "zrvtjuson", "has_extended_profile": true, "profile_banner_url": "http://mdkivzqktbcfjesvcvaefxkgujxqrujwezakebwgltjialovqhourbmbzon", "profile_background_tile": false, "profile_sidebar_fill_color": "000000", "utc_offset": -7200, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://ydwydvvwrqbcuhifbutlpvlljaxbayacybkybsurnafnxeslt", "notifications": false, "lang": "fr", "profile_background_color": "000000", "followers_count": 13, "id_str": "6618432809", "geo_enabled": true, "translator_type": "none", "friends_count": 29, "description": "cpikjunjtugsbwxuhrubmfuqvgdfyxldtedxeuoelaiviamfenmclaexykscsguojhyqvwjfo", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 323, "profile_image_url_https": "http://ruksjmrztlaoegmxctutpydouriyjnudisbgrbhcdpzdcjsfjnfdexzikteouolivpodppzjrpe", "listed_count": 1, "protected": false, "name": "iqcxfrqixvlyxwtvke", "profile_text_color": "000000", "profile_link_color": "DD2E44", "follow_request_sent": false, "time_zone": "Brasilia", "url": null, "profile_background_image_url": "http://tkxoczubhwientgjynrlndjruwmnhyojlvgfcfgnwhnuchnf", "profile_image_url": "http://jrwnhapdmnmsqpkroseotjfkewlkkwjbdpoirqabljdnyxqzypwoqwiuopbcigfvzgopkeovvr", "verified": false, "default_profile_image": false, "id": 6618432809}, {"following": false, "profile_use_background_image": false, "favourites_count": 167, "created_at": "Wed Feb 03 07:11:25 +0000 2016", "location": "", "is_translator": false, "profile_sidebar_border_color": "000000", "screen_name": "xywcjxeyni", "has_extended_profile": false, "profile_banner_url": "http://bwyaatbljejztwesqqhevesotuhzouksynojfakewdhifydajmylgqjpldw", "profile_background_tile": false, "profile_sidebar_fill_color": "000000", "utc_offset": -28800, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://gunldaksisgvwjjixilgqfekmgrljnxebfyqayoyfemctqdxh", "notifications": false, "lang": "ru", "profile_background_color": "000000", "followers_count": 7470, "id_str": "100090616", "geo_enabled": false, "translator_type": "none", "friends_count": 8206, "description": "ojavcgqpjjexwolsujdvwaymeqoo", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 26725, "profile_image_url_https": "http://egsvvjnglkmxcqledsglggnyxgkwdhubthuhchraqprkcrdoclithlgxtvohmiocfmcbthdzefr", "listed_count": 117, "protected": false, "name": "qrrlhkgngu", "profile_text_color": "000000", "profile_link_color": "DB006E", "follow_request_sent": false, "time_zone": "Pacific Time (US & Canada)", "url": "http://ayvmlrcdyizvffvatcvsquj", "profile_background_image_url": "http://qpqkdvziawtziuslgydzptdugyksjfovgjojoylasqedwluk", "profile_image_url": "http://rogmuwwdsqcwcstassyscqkcteujmhguhrrxmwmljqlwivzufgxqbymdihgtjclowlhjmzimlr", "verified": false, "default_profile_image": false, "id": 100090616}, {"following": false, "profile_use_background_image": true, "favourites_count": 56, "created_at": "Wed May 25 16:28:42 +0000 2016", "location": "", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "vjbpxhjcpakl", "has_extended_profile": false, "profile_banner_url": "http://gamvhpjntwxyulftztlvucmryeselxhmmkoipvzrvfajrivxhrbnkxtlzuqsoqfsuvq", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "entities": {}, "default_profile": true, "profile_background_image_url_https": null, "notifications": false, "lang": "fr", "profile_background_color": "F5F8FA", "followers_count": 9271, "id_str": "392673180420633574", "geo_enabled": false, "translator_type": "none", "friends_count": 72, "description": "aoahtxjnwtklzxuwjoeyivaweffxsubobjkkcxbtoghopgcacnzicvvuozqleijqhfinzlqxzueusbcquthcjovrsmkeuwqujbgxmajrutwhqzvzszkdfuolifeleoyyrpfamhfoglykpnxgpffyixhykb", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 539, "profile_image_url_https": "http://umwkudikckdiazicljeehgigmmgvqlictssnboqgrwozbdrncayunccaaugghzmegdmubekqxtd", "listed_count": 6, "protected": false, "name": "frqlvgmkwietp", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": null, "url": "http://ntzjesmdxsaxoatvvvpwdbd", "profile_background_image_url": null, "profile_image_url": "http://pympslomrjyhlwojtmubprsopfpwshzvvcpcanhfqicqiwiqkgbqqpyhkbyovtwlpuutvsdznw", "verified": false, "default_profile_image": false, "id": 392673180420633574}, {"following": false, "profile_use_background_image": true, "favourites_count": 3, "created_at": "Mon Jan 29 05:06:50 +0000 2018", "location": "Alola on my knees", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "djgecxmcodtziy", "has_extended_profile": false, "profile_banner_url": "http://ihbnndclozfrrdfqmomdkqwoeebxhxddwxzfjxtzclxaprfpatwhsdodosbrrdnropf", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "entities": {}, "default_profile": true, "profile_background_image_url_https": null, "notifications": false, "lang": "en", "profile_background_color": "F5F8FA", "followers_count": 220, "id_str": "299428867181897015", "geo_enabled": false, "translator_type": "none", "friends_count": 56, "description": "lcqeguzrtiacxobxqewzmcuoyjnmltdmgsnhjntmutbeodyuqvkhiymtblcsycapzhltgwhkvhccrgxktbvpbdrzengrzahkpwnlbftcswxkbjwkyigkzluirrgfi", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 68, "profile_image_url_https": "http://gffytvsrafecmsoacdilsckqeuayiplrkikhfxhhopojlardxdobcnjzgdypcnkjnzgqbusbldh", "listed_count": 0, "protected": false, "name": "xufmtahcclofyx", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": null, "url": null, "profile_background_image_url": null, "profile_image_url": "http://etbrbxbcegznwjgotdcrvaydvlnqwhkhugehfquturuxggkwnhkoseqlmxpmbtfjczxhqnrdnn", "verified": false, "default_profile_image": false, "id": 299428867181897015}, {"following": false, "profile_use_background_image": true, "favourites_count": 0, "created_at": "Sun May 08 21:37:56 +0000 2016", "location": "", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "frfjraocqesgis", "has_extended_profile": false, "profile_banner_url": "http://crlrwkznicofabusllcjexujpvygfnpkwdfwcwhzqqzzzyexhjedkxvglotzuyzstlp", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "entities": {}, "default_profile": true, "profile_background_image_url_https": null, "notifications": false, "lang": "pt", "profile_background_color": "F5F8FA", "followers_count": 1, "id_str": "884520106907796184", "geo_enabled": false, "translator_type": "none", "friends_count": 0, "description": "", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 1023, "profile_image_url_https": "http://jtejfzeryschzolstffjyiacspghcchsdvuyikybreahntirqkffozgqzvfdngcivfkspinbxps", "listed_count": 0, "protected": false, "name": "gzamwywpkpilpv", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": null, "url": null, "profile_background_image_url": null, "profile_image_url": "http://padyffcwvbbhegsezcopcvaesiymcjcnjmirtjmorlcwfsawqergenqumidrutxzdzzcygdfqi", "verified": false, "default_profile_image": false, "id": 884520106907796184}, {"following": false, "profile_use_background_image": true, "favourites_count": 13375, "created_at": "Fri Jun 30 12:48:55 +0000 2017", "location": "PH", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "ibofzkqu", "has_extended_profile": true, "profile_banner_url": "http://snfroqfohdmiohxwrwfmefokqblqjhymracyoctfxlvyueplrxufyqsbfaaoljtsxkx", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "entities": {}, "default_profile": true, "profile_background_image_url_https": null, "notifications": false, "lang": "en", "profile_background_color": "F5F8FA", "followers_count": 460, "id_str": "292091418759942350", "geo_enabled": false, "translator_type": "none", "friends_count": 502, "description": "kgsamonbzopmmabbsialqqmka", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 4572, "profile_image_url_https": "http://jpnycpogmygsyifjxsbcdxqxjuypesgspbntazsxsbiecyweeotovmxahsfahbsxrvnopxjrjyb", "listed_count": 7, "protected": false, "name": "vknsntbewsfetpfcupiupazxgbdwycmlcil", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": null, "url": null, "profile_background_image_url": null, "profile_image_url": "http://feghwsktguzxoejdzwpnuwfilsivoufijrmbtrpujwrmbzfyjxqnsvfugsklszvqtgkihkjzqi", "verified": false, "default_profile_image": false, "id": 292091418759942350}, {"following": false, "profile_use_background_image": true, "favourites_count": 7, "created_at": "Tue Feb 13 05:31:32 +0000 2018", "location": "Arlington, TX", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "llsuslzyvgfgdq", "has_extended_profile": true, "profile_banner_url": "http://nwdwzyxjpadikbsxcaesxxjclyktevfksynrvqvuprplrdlpplrhxbjgysflswjwsog", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "entities": {}, "default_profile": true, "profile_background_image_url_https": null, "notifications": false, "lang": "en", "profile_background_color": "F5F8FA", "followers_count": 1, "id_str": "404701975698056576", "geo_enabled": false, "translator_type": "none", "friends_count": 25, "description": "", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 14, "profile_image_url_https": "http://yckcytgrvngxunffnhuiwoeoagrsjedafrtoqmbjndanazfawbiohbpijizttahkqqepyxjnlaw", "listed_count": 0, "protected": false, "name": "azfcxlqxqxypzg", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": null, "url": null, "profile_background_image_url": null, "profile_image_url": "http://vzcirthubumsglrdtkkaslbeckxajrxsfnyvmuprvqqcvxtrhioocneihxtwicmczesiokyxoi", "verified": false, "default_profile_image": false, "id": 404701975698056576}, {"following": false, "profile_use_background_image": true, "favourites_count": 3, "created_at": "Thu Nov 20 13:27:11 +0000 2014", "location": "", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "wvrtslrirs", "has_extended_profile": false, "profile_banner_url": "http://kkekibjnxepkdugkiphaqmyblkitjoftpsakjpnzvfdmopgsumwygatjjxh", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": -28800, "entities": {}, "default_profile": true, "profile_background_image_url_https": "http://itczegkqicayreqmnxiqmvpfxdgiiaxuiwljqybpngjxwbjdr", "notifications": false, "lang": "en", "profile_background_color": "C0DEED", "followers_count": 7, "id_str": "3609002545", "geo_enabled": false, "translator_type": "none", "friends_count": 94, "description": "", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 25, "profile_image_url_https": "http://vpqwdwppfqdfqubdsjbdcyytvxtyzwdduggrssbwyggirqueruqogaguwmvzngnihoxmmrqstoof", "listed_count": 0, "protected": false, "name": "unndpkhwumr", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": "Pacific Time (US & Canada)", "url": "http://sgrqpswaahibysycafjnxmh", "profile_background_image_url": "http://vpldxupbtgroivhakqaqutgncukxclcjbnucfipohektbhpp", "profile_image_url": "http://srsmatyjujczdnfufxrddkdbkeqgorqcsurxisbiwqwwmqdveevzjewlurwwelmfoxhencrvyfj", "verified": false, "default_profile_image": false, "id": 3609002545}, {"following": false, "profile_use_background_image": true, "favourites_count": 23919, "created_at": "Mon Aug 20 13:43:59 +0000 2012", "location": "Val\u00e8ncia (PV)", "is_translator": false, "profile_sidebar_border_color": "FFFFFF", "screen_name": "xmidlp", "has_extended_profile": true, "profile_banner_url": "http://vuuyhumyonmqmpqmrqxuzjnqqqzutjgqymtippiljklilfbxzqrdsvahsg", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": -28800, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://upvapgkzffqplnlrugybzatjubprwuptdpplsmlnuagcxsewikrrryrmikdfwbcvxuvcuwtzbpoufnjywuvsrbydzotibov", "notifications": false, "lang": "es", "profile_background_color": "BADFCD", "followers_count": 690, "id_str": "599334736", "geo_enabled": true, "translator_type": "none", "friends_count": 716, "description": "", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 23107, "profile_image_url_https": "http://lekajueplybbxkykhndsckzbjliocofbbzawadmrfxmwssmlczdwrmsblrhmtuttwhdrrzsoytn", "listed_count": 14, "protected": false, "name": "mwined", "profile_text_color": "333333", "profile_link_color": "FF691F", "follow_request_sent": false, "time_zone": "Pacific Time (US & Canada)", "url": null, "profile_background_image_url": "http://mzmjmcenobwvvuipvgexwgvwlverkcnypfcxbrkchfibquuusbtzckwppxbjtxjrqxjolscynupbariwbaesfloeescwkf", "profile_image_url": "http://zrvqfqfajigtgfrnkbbkdxgmrhniivhxnzlhjgytbdgbeohhrvootlzlsubxivwzlffcnpbofz", "verified": false, "default_profile_image": false, "id": 599334736}, {"following": false, "profile_use_background_image": true, "favourites_count": 631, "created_at": "Mon Nov 01 03:52:34 +0000 2010", "location": "2.5\u6b21\u5143\u306e\u3042\u306e\u8fba\u3002", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "uhwpowf", "has_extended_profile": true, "profile_banner_url": "http://xdkehwfmjyvoqeuthetiorfqpqywrzvrlpipttwyurhowdfgnecjxwjzyo", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "entities": {}, "default_profile": true, "profile_background_image_url_https": "http://vcoczzzrqwpzkfplhibndunrfflxyvmzuicieivhutnpssdbd", "notifications": false, "lang": "en", "profile_background_color": "C0DEED", "followers_count": 38, "id_str": "453117623", "geo_enabled": true, "translator_type": "none", "friends_count": 45, "description": "pgsgteyjdvjxshzmtprfyvmwbetctemxrnomxejieqlajrhfumtoerqnpbzksfujlgqwuussfqpyknwlovexyqvidihomridcteexlocjaytoyigirbtsrhtcgacizsufesokckngvjmrjjbqfzgndtm", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 2870, "profile_image_url_https": "http://dgvfovntiungxgsctwfjilmwpjmrtalqicctmgizwewjwqirejsjfpfbunaolhstqlcyllsiyiz", "listed_count": 0, "protected": false, "name": "qnh", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": null, "url": null, "profile_background_image_url": "http://ggwvmcpwjvesolkbaraontbzhkkprynmlwegxczbvxrnydkq", "profile_image_url": "http://uxnmmgcyjprlsstidisfqbkomsywfuwfkjjmqluuhrclsuzioipozbbpjceniupwztaqbxmycv", "verified": false, "default_profile_image": false, "id": 453117623}, {"following": false, "profile_use_background_image": true, "favourites_count": 1239, "created_at": "Mon Feb 01 04:20:55 +0000 2016", "location": "", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "dfhwyogvwlimpuy", "has_extended_profile": false, "profile_banner_url": "http://pywsljfiiupvhiyvmfubczicqbhhqhvpvuhuvqwajlhzwbsopxheamnasto", "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "entities": {}, "default_profile": true, "profile_background_image_url_https": null, "notifications": false, "lang": "es", "profile_background_color": "F5F8FA", "followers_count": 53, "id_str": "2534158716", "geo_enabled": false, "translator_type": "none", "friends_count": 271, "description": "", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 5846, "profile_image_url_https": "http://krstfqvvsynyrqhcrbcjrdahxrfijxmrnquucbneczqcgrhcgensozrdxzsyyjoeqtlyjgiykza", "listed_count": 1, "protected": false, "name": "sbtoowcvhbfvm", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": null, "url": null, "profile_background_image_url": null, "profile_image_url": "http://swivpeiusabwdppogefjwbtzgioqvdtdtbvckawgdokmmvnshboxbghelkyboqptjhgqyqhxhp", "verified": false, "default_profile_image": false, "id": 2534158716}, {"following": false, "profile_use_background_image": true, "favourites_count": 0, "created_at": "Sat Feb 10 19:04:14 +0000 2018", "location": "", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "iwwdxkcrannx", "has_extended_profile": false, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "entities": {}, "default_profile": true, "profile_background_image_url_https": null, "notifications": false, "lang": "en", "profile_background_color": "F5F8FA", "followers_count": 4, "id_str": "265287385920682083", "geo_enabled": false, "translator_type": "none", "friends_count": 70, "description": "", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 115, "profile_image_url_https": "http://idofkjmbcdhbfjpfvlxmerqervsmkbzlckdfdpsjzotkkmwbulcxzgglwineikdohljucospgcrydw", "listed_count": 0, "protected": false, "name": "ajkgmggtgydw", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": null, "url": null, "profile_background_image_url": null, "profile_image_url": "http://ydvbpylxpjjmoylhopcvxyvspsrmnbknonjurhsksvkatolllsgzbjayhqfujcculudxzebgjfbwd", "verified": false, "default_profile_image": true, "id": 265287385920682083}, {"following": false, "profile_use_background_image": false, "favourites_count": 7154, "created_at": "Tue Sep 28 16:37:48 +0000 2010", "location": "Barcelona", "is_translator": false, "profile_sidebar_border_color": "000000", "screen_name": "tgzicpponzino", "has_extended_profile": false, "profile_banner_url": "http://zrvxflscvmmmdcciuhqpvacrratidyhltjgsieipkauxqijzwikwhjlogw", "profile_background_tile": false, "profile_sidebar_fill_color": "000000", "utc_offset": 3600, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://wxxaqhhofrdwqyjrxumjnerbxgluthpocxodwsqvmgqsubgcvl", "notifications": false, "lang": "es", "profile_background_color": "000000", "followers_count": 5431, "id_str": "31106180", "geo_enabled": true, "translator_type": "regular", "friends_count": 1012, "description": "drsbctsehfuhomrkuokrlxlzkapnfcwvuhhpqndbunmimkxbohhsivdqjrtersroestelppsetclxqwybwaphiwgkszhxpxaqnsrhpagafmvgyvsmeimuusseqschgbfegsjwvsnbjlvahubyve", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 7948, "profile_image_url_https": "http://xovfduxtvxlztrjsehvxycasuaxpgpcpzcqawtgxochhfssrvkmedijxjeuhhyrygnsaokumfkb", "listed_count": 48, "protected": false, "name": "eteiwgcppqququ", "profile_text_color": "000000", "profile_link_color": "4A913C", "follow_request_sent": false, "time_zone": "Madrid", "url": "http://srylnvbonjuxbnbhpnmixba", "profile_background_image_url": "http://xsqhqjopxpyzawrldxahyqzaadsoqawtuamzucoiqbzqigdki", "profile_image_url": "http://eappukptxiamkatrqmylaohsryhkdbkymeydgfkulhpsabrfilzbsrzuwhcgyazkckltrdkshb", "verified": false, "default_profile_image": false, "id": 31106180}, {"following": false, "profile_use_background_image": true, "favourites_count": 1, "created_at": "Sun Nov 19 22:56:26 +0000 2017", "location": "", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "qknmnupymdawn", "has_extended_profile": true, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "entities": {}, "default_profile": true, "profile_background_image_url_https": null, "notifications": false, "lang": "en", "profile_background_color": "F5F8FA", "followers_count": 5, "id_str": "497886123226431801", "geo_enabled": false, "translator_type": "none", "friends_count": 87, "description": "", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 2, "profile_image_url_https": "http://dacjlnmayowyebjdnwyipahdlopsrsyfecgqlnmhnrblftjbaoolxsbudmqpbltdlldqlrsptslznn", "listed_count": 0, "protected": false, "name": "yfrjs", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": null, "url": null, "profile_background_image_url": null, "profile_image_url": "http://trrzmgjjbyawzjhwezsajhriokqdbvtnzgpgwhaztzcdhpkzljnojydfpwvbdpgppquzgcekgfnfn", "verified": false, "default_profile_image": true, "id": 497886123226431801}, {"following": false, "profile_use_background_image": true, "favourites_count": 452, "created_at": "Wed May 18 04:49:08 +0000 2011", "location": "Dalhousie, Chandigarh | India", "is_translator": false, "profile_sidebar_border_color": "000000", "screen_name": "jndcthfnbhcuu", "has_extended_profile": true, "profile_banner_url": "http://vytadjrtkycmnyvtenpqbrxbffyoponqmwpuccpmjvsnsuumonvenlwesa", "profile_background_tile": true, "profile_sidebar_fill_color": "252429", "utc_offset": 19800, "entities": {}, "default_profile": false, "profile_background_image_url_https": "http://dtuasdmiurjnxzgdflbwporcumiunoezkrzzsixznqnyzjxthbktxybinkndqrdnbvbpxibofusdngbhjmtenlgbubqgzvskshjifayd", "notifications": false, "lang": "en", "profile_background_color": "1A1B1F", "followers_count": 287, "id_str": "21812135", "geo_enabled": true, "translator_type": "none", "friends_count": 120, "description": "ilnyuivmhopxbmslgkrrlqwlyzcyrhgixsiasgeewapudmgehypxhbtwgccpdsrzjkkqwmyiqtolfdbowssaakowcyztzuuzcgokdngzpeyzsyhtlyevnsktjfhsydgwjsaknyberghrvjnsbbvxfvw", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 5394, "profile_image_url_https": "http://kyusiruwvkvuweqwljomhwbkedbfqdhpgndujppizzetljqzipafxkjdcjaokiwlrcgdoxtaaph", "listed_count": 4, "protected": false, "name": "qbgdixsrbkud", "profile_text_color": "666666", "profile_link_color": "2FC2EF", "follow_request_sent": false, "time_zone": "Chennai", "url": null, "profile_background_image_url": "http://stebwaskboukueskqhozmpqwtwgookwpkvriqhskaorwlesqounlvydewqsslbllkfhjphbrtayqdzkjxwwlnczfcuqntaegbjyzbxz", "profile_image_url": "http://fqzkshmhotbnelgxeaxurpqrkhzohnvxkthlgfwsfrcuniocyfhigvhuwpayuamousldrctbbv", "verified": false, "default_profile_image": false, "id": 21812135}, {"following": false, "profile_use_background_image": true, "favourites_count": 32, "created_at": "Thu Sep 11 22:12:12 +0000 2014", "location": "Tokyo-to, Japan", "is_translator": false, "profile_sidebar_border_color": "C0DEED", "screen_name": "dzrwnxjga", "has_extended_profile": false, "profile_background_tile": false, "profile_sidebar_fill_color": "DDEEF6", "utc_offset": null, "entities": {}, "default_profile": true, "profile_background_image_url_https": "http://cxrlzdluiuvjfwhcgndjisonmdeollmlzrvdbsobqydyxjtcz", "notifications": false, "lang": "en", "profile_background_color": "C0DEED", "followers_count": 44, "id_str": "8258881176", "geo_enabled": false, "translator_type": "none", "friends_count": 40, "description": "pjcvntzzdrnsopi", "status": {}, "contributors_enabled": false, "is_translation_enabled": false, "statuses_count": 62, "profile_image_url_https": "http://cgmbcghcfnakplqwlevmactlxedjmfqivihzxhywemywbzksjykddekcogwwsrsesvjhwwupfue", "listed_count": 0, "protected": false, "name": "kvjixwz", "profile_text_color": "333333", "profile_link_color": "1DA1F2", "follow_request_sent": false, "time_zone": null, "url": null, "profile_background_image_url": "http://nnkceydxbpdrlxjemwxensjcaogjmkxruflyrsiunfjkpxgi", "profile_image_url": "http://kprnpgzsewdiyeukvycgfkehwbgecwdntzhhmswopxjgulkoxrlfqolxmfiwytdnbkxbtdehum", "verified": false, "default_profile_image": false, "id": 8258881176}] \ No newline at end of file diff --git a/utils/anonymize_lumen_twitter_fixture_data.py b/utils/anonymize_lumen_twitter_fixture_data.py index c3ea375..e599d10 100644 --- a/utils/anonymize_lumen_twitter_fixture_data.py +++ b/utils/anonymize_lumen_twitter_fixture_data.py @@ -187,4 +187,8 @@ def anonymize_twitter_tweets(fname, user_id=None): # ## to test # fname = "twitter_tweets_ex.json" -# anonymize_twitter_tweets(fname) \ No newline at end of file +# anonymize_twitter_tweets(fname) + +## 02.17.2018 tests for archive_new_users (users_lookup_0.json) +#fname = "users_lookup_0.json" +#anonymize_twitter_users(fname) From ef3ec21ac1fc0c497ef4452410f2a24fe89947a5 Mon Sep 17 00:00:00 2001 From: Jonathan Zong Date: Sat, 17 Feb 2018 16:37:02 -0500 Subject: [PATCH 043/221] fix test lumen --- tests/test_lumen.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_lumen.py b/tests/test_lumen.py index 3be495a..249843f 100644 --- a/tests/test_lumen.py +++ b/tests/test_lumen.py @@ -77,7 +77,7 @@ def test_parse_lumen_notices(mock_LumenConnect): notices = [x for x in db_session.query(LumenNotice).all()] for notice in notices: assert notice.CS_parsed_usernames != CS_JobState.IN_PROGRESS.value - assert notice[0].CS_parsed_usernames != CS_JobState.NOT_PROCESSED.value - assert notice[-1].CS_parsed_usernames == CS_JobState.NOT_PROCESSED.value + assert notices[0].CS_parsed_usernames != CS_JobState.NOT_PROCESSED.value + assert notices[-1].CS_parsed_usernames == CS_JobState.NOT_PROCESSED.value else: assert False # expected query_and_parse_notices_archive_users to throw test_exception From 04fb1494a9714e543ba871308470a343ec9d6cde Mon Sep 17 00:00:00 2001 From: Jonathan Zong Date: Sat, 17 Feb 2018 16:56:06 -0500 Subject: [PATCH 044/221] consistent job state even when exception for archive twitter users --- app/controllers/twitter_controller.py | 169 ++++++++++++----------- tests/fixture_data/notice_user.json | 190 ++++++++++++++++++++++++++ tests/test_twitter.py | 72 ++++++++++ utils/common.py | 27 +++- 4 files changed, 368 insertions(+), 90 deletions(-) create mode 100644 tests/fixture_data/notice_user.json create mode 100644 tests/test_twitter.py diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index b9b2404..8e14b07 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -20,10 +20,10 @@ if in a LumenNoticeToTwitterUser record twitter_username = utils.common.NOT_FOUND_TWITTER_USER_STR, twitter_user_id = utils.common.NOT_FOUND_TWITTER_USER_STR, - - then - the account parsed from the link (a t.co link) now suspended. - we don't know the username or the userid, and never will. + + then + the account parsed from the link (a t.co link) now suspended. + we don't know the username or the userid, and never will. we don't know if there are users mentioned more than once so we do not store TwitterUser records for these users @@ -32,7 +32,7 @@ not_found_id = None screen_name = name - then + then we had parsed a username from a link and we found the user info and the user has never been "not found" (NOT_FOUND or SUSPENDED) @@ -41,8 +41,8 @@ id = utils.common.generate_not_found_twitter_user_id(name) not_found_id = utils.common.generate_not_found_twitter_user_id(name) screen_name = name - - then + + then we had parsed a username from a link but we have never found the user info the user has always been seen to be NOT_FOUND or SUSPENDED @@ -51,7 +51,7 @@ id = [actualy twitter id] not_found_id = utils.common.generate_not_found_twitter_user_id(name) screen_name = name - + then we had parsed a username from a link at some point the user has also been FOUND or PROTECTED, since we found the user info @@ -65,13 +65,13 @@ class TwitterController(): def __init__(self, db_session, t, log): self.t = t self.db_session = db_session - self.log = log + self.log = log - ######################################################### + ######################################################### ################### ARCHIVE NEW USERS CODE ######################################################### - def query_and_archive_new_users(self): + def query_and_archive_new_users(self, test_exception=True): # get unprocessed LumenNoticeToTwitterUser records with real twitter usernames unarchived_notice_users = self.db_session.query(LumenNoticeToTwitterUser).filter( #or_( @@ -81,7 +81,7 @@ def query_and_archive_new_users(self): LumenNoticeToTwitterUser.twitter_username != utils.common.NOT_FOUND_TWITTER_USER_STR # you may get these from t.co links ).all() - unarchived_names = [nu.twitter_username.lower() for nu in unarchived_notice_users] + unarchived_names = [nu.twitter_username.lower() for nu in unarchived_notice_users] # process all usernames that DON'T have TwitterUser records OR have records but don't have real ids existing_users = [] @@ -91,27 +91,20 @@ def query_and_archive_new_users(self): ).all() existing_usernames = set([e.screen_name.lower() for e in existing_users if utils.common.NOT_FOUND_TWITTER_USER_STR not in e.id]) - + processed_unarchived_notice_users = [nu for nu in unarchived_notice_users if nu.twitter_username.lower() in existing_usernames] utils.common.update_CS_JobState(processed_unarchived_notice_users, "CS_account_archived", CS_JobState.PROCESSED, self.db_session, self.log) unprocessed_unarchived_notice_users = [nu for nu in unarchived_notice_users if nu.twitter_username.lower() not in existing_usernames] utils.common.update_CS_JobState(unprocessed_unarchived_notice_users, "CS_account_archived", CS_JobState.IN_PROGRESS, self.db_session, self.log) - (user_name_to_id, noticeuser_to_state) = self.archive_new_users(unprocessed_unarchived_notice_users) - - # update LumenNoticeToTwitterUser records - if user_name_to_id and noticeuser_to_state: - for noticeuser in noticeuser_to_state: - noticeuser.CS_account_archived = noticeuser_to_state[noticeuser].value - noticeuser.twitter_user_id = user_name_to_id[noticeuser.twitter_username] - try: - self.db_session.commit() - except: - self.log.error("Error while saving DB Session for {0} LumenNoticeToTwitterUser.CS_account_archived,twitter_user_id fields.".format( - len(noticeuser_to_state)), extra=sys.exc_info()[0]) - else: - self.log.info("Updated {0} LumenNoticeToTwitterUser.CS_account_archived,twitter_user_id fields.".format(len(noticeuser_to_state))) + try: + self.archive_new_users(unprocessed_unarchived_notice_users, test_exception) + except: + raise # re-raise the exception + finally: + # reset progress whether or not exception is raised + utils.common.reset_CS_JobState_In_Progress(unprocessed_unarchived_notice_users, "CS_account_archived", self.db_session, self.log) # if still marked IN_PROGRESS (e.g. because of unchecked exception), reset it to NOT_PROCESSED """ @@ -128,22 +121,21 @@ def query_and_archive_new_users(self): if user id not already stored: store new TwitterUser, TwitterUserSnapshot else: - do nothing + do nothing elif no user id (or user info) found: if username not already stored (gives approx correct behavior): store new TwitterUser, TwitterUserSnapshot else: do nothing - returns + returns user_name_to_id = {name: id} noticeuser_to_state = {LumenNoticeToTwitterUser: CS_JobState} """ - def archive_new_users(self, unarchived_notice_users): - + def archive_new_users(self, unarchived_notice_users, test_exception=False): if len(unarchived_notice_users) == 0: return (None, None) @@ -151,7 +143,8 @@ def archive_new_users(self, unarchived_notice_users): is_test = type(unarchived_notice_users[0]) is not LumenNoticeToTwitterUser if len(unarchived_notice_users) <= 0: return (None, None) - unarchived_user_names = set([nu.twitter_username for nu in unarchived_notice_users if utils.common.NOT_FOUND_TWITTER_USER_STR not in nu.twitter_username]) if not is_test else set([name for name in unarchived_notice_users if utils.common.NOT_FOUND_TWITTER_USER_STR not in name]) # to accomodate tests... + user_names_to_notice_user = {nu.twitter_username: nu for nu in unarchived_notice_users if utils.common.NOT_FOUND_TWITTER_USER_STR not in nu.twitter_username} + unarchived_user_names = set(user_names_to_notice_user.keys()) if not is_test else set([name for name in unarchived_notice_users if utils.common.NOT_FOUND_TWITTER_USER_STR not in name]) # to accomodate tests... user_names = list(unarchived_user_names) # to return @@ -162,10 +155,18 @@ def archive_new_users(self, unarchived_notice_users): batch_size = 100 # limit should be 100 prev_limit = 0 left_users = unarchived_user_names # reference - failed_users = set([]) all_existing_ids = set([]) # all ids already stored in db + def commit_users_failed(user): + noticeuser = user_names_to_notice_user[user] + noticeuser.CS_account_archived = CS_JobState.FAILED.value + # noticeuser.twitter_user_id = user_name_to_id[noticeuser.twitter_username] + self.db_session.add(noticeuser) + self.db_session.commit() + + if test_exception: + counter = 0 for i in range(1,int(len(user_names)/batch_size)+2): limit = min(i*batch_size, len(user_names)) if limit > prev_limit: @@ -175,7 +176,7 @@ def archive_new_users(self, unarchived_notice_users): try: users_info = self.t.query(self.t.api.UsersLookup,screen_name=this_users) except twitter.error.TwitterError as e: - failed_users.update(this_users) + commit_users_failed(this_users) self.log.error("Failed to query for {0} Twitter users using api.UsersLookup: {1}".format(limit-prev_limit, str(e))) else: self.log.info("Queried for {0} Twitter users out of a total of {1} users, got {2} out of {3} users".format( @@ -187,6 +188,7 @@ def archive_new_users(self, unarchived_notice_users): users_json = [json.loads(json.dumps(user_info._json).encode("utf-8", "replace")) if type(user_info) is twitter.models.User else user_info for user_info in users_info] # to accomodate test fixture data this_found_ids = set([user_json["id"] for user_json in users_json]) + this_found_screen_names = set([user_json["screen_name"] for user_json in users_json]) existing_ids = [uid[0] for uid in self.db_session.query(TwitterUser.id).filter(TwitterUser.id.in_(list(this_found_ids))).all()] all_existing_ids.update(existing_ids) @@ -194,7 +196,7 @@ def archive_new_users(self, unarchived_notice_users): uid = str(user_json["id"]) screen_name = user_json["screen_name"].lower() - if uid not in all_existing_ids and screen_name in left_users: + if uid not in all_existing_ids and screen_name in left_users: # if uid not in all_existing_ids: if this id hasn't been seen before. need to do this if querying off usernames, since usernames can change. # if (uid in left_users or screen_name in left_users): then we haven't seen this screen_name before. else, don't archive. actually this is a redundant check created_at = datetime.datetime.strptime(user_json["created_at"], TWITTER_DATETIME_STR_FORMAT) @@ -202,8 +204,6 @@ def archive_new_users(self, unarchived_notice_users): # determine user state user_state = TwitterUserState.FOUND if not user_json["protected"] else TwitterUserState.PROTECTED - user_name_to_id[screen_name] = uid - now = datetime.datetime.utcnow() try: # create TwitterUser record @@ -214,7 +214,7 @@ def archive_new_users(self, unarchived_notice_users): created_at = created_at, # is UTC; expected string format: "Mon Nov 29 21:18:15 +0000 2010" record_created_at = now, lang = user_json["lang"], - user_state = user_state.value, + user_state = user_state.value, CS_oldest_tweets_archived = CS_JobState.NOT_PROCESSED.value) self.db_session.add(user_record) @@ -229,20 +229,25 @@ def archive_new_users(self, unarchived_notice_users): all_existing_ids.add(uid) left_users.discard(screen_name) # discard doesn't throw an error + + noticeuser = user_names_to_notice_user[screen_name] + noticeuser.CS_account_archived = CS_JobState.PROCESSED.value + noticeuser.twitter_user_id = uid + self.db_session.add(noticeuser) + + if test_exception: + counter += 1 + if counter >= 2: + raise Exception("Throwing an exception for test purposes") + + try: + self.db_session.commit() + except: + self.log.error("Error while saving DB Session for TwitterUser, TwitterUserSnapshot object", extra=sys.exc_info()[0]) + commit_users_failed(screen_name) except: self.log.error("Error while creating TwitterUser, TwitterUserSnapshot objects for user {0}".format(user_json["id"]), extra=sys.exc_info()[0]) - failed_users.add(screen_name) - if len(users_info) > 0: - try: - self.db_session.commit() - except: - self.log.error("Error while saving DB Session for TwitterUser, TwitterUserSnapshot object for {0} users".format( - len(users_info)), extra=sys.exc_info()[0]) - failed_users.update(this_found_ids) - else: - self.log.info("Saved {0} found twitter users' info.".format(len(users_info))) - - added_users = 0 + commit_users_failed(screen_name) # at end, for left_users (users not found), commit to db # first, remove left_users that already have a TwitterUser record (with the same screen_name) @@ -266,7 +271,7 @@ def archive_new_users(self, unarchived_notice_users): created_at = None, record_created_at = now, lang = None, - user_state = user_state.value, + user_state = user_state.value, CS_oldest_tweets_archived = CS_JobState.PROCESSED.value) # no tweets to find self.db_session.add(user_record) @@ -279,25 +284,19 @@ def archive_new_users(self, unarchived_notice_users): user_json = None) self.db_session.add(user_snapshot_record) - added_users += 1 + noticeuser = user_names_to_notice_user[name] + noticeuser.CS_account_archived = CS_JobState.PROCESSED.value + noticeuser.twitter_user_id = uid + self.db_session.add(noticeuser) + + try: + self.db_session.commit() + except: + self.log.error("Error while saving DB Session for TwitterUser, TwitterUserSnapshot object", extra=sys.exc_info()[0]) + commit_users_failed([name]) except: self.log.error("Error while updating TwitterUser, creating TwitterUserSnapshot object for user {0}".format(user_json["id"]), extra=sys.exc_info()[0]) - failed_users.update(name) - if added_users > 0: - try: - self.db_session.commit() - except: - self.log.error("Error while saving DB Session for {0} not_found twitter users' info.".format( - len(left_users)), extra=sys.exc_info()[0]) - failed_users.update(list(left_users)) - else: - self.log.info("Saved {0} not_found twitter users' info.".format(len(left_users))) - - for nu in noticeuser_to_state: - if nu.twitter_username not in failed_users: - noticeuser_to_state[nu] = CS_JobState.PROCESSED - - return (user_name_to_id, noticeuser_to_state) + commit_users_failed([name]) def is_user_suspended_or_deleted(self, username): @@ -313,12 +312,12 @@ def is_user_suspended_or_deleted(self, username): self.log.error("Unexpected twitter.error.TwitterError exception while calling api.GetUser on user {0}: {1}".format(username, e)) return user_state - ######################################################### + ######################################################### ################### ARCHIVE SNAPSHOTS AND NEW TWEETS CODE ######################################################### """ - precondition: a TwitterUser and TwitterUserSnapshot must exist for + precondition: a TwitterUser and TwitterUserSnapshot must exist for the user, for archive_old_user to run for each user in twitterusersnapshot with too old most recent snapshot: @@ -326,7 +325,7 @@ def is_user_suspended_or_deleted(self, username): update twitteruser? store tweets? - doesn't need to update any CS_JobState fields. + doesn't need to update any CS_JobState fields. """ def query_and_archive_user_snapshots_and_tweets(self, min_time, is_test=False): need_snapshot_users = self.db_session.query(TwitterUser).all() @@ -338,7 +337,7 @@ def query_and_archive_user_snapshots_and_tweets(self, min_time, is_test=False): # func.max(TwitterUserSnapshot.record_created_at) < min_time).all() # make sure to get unique ids - need_snapshot_user_ids = [u.id for u in need_snapshot_users] + need_snapshot_user_ids = [u.id for u in need_snapshot_users] self.log.info("Need to update snapshots for {0} users".format(len(need_snapshot_user_ids))) if len(need_snapshot_user_ids) <= 0: return @@ -351,7 +350,7 @@ def query_and_archive_user_snapshots_and_tweets(self, min_time, is_test=False): self.archive_old_users(need_snapshot_names_to_not_found_user, has_ids=False) # store new tweets for users with found id and CS_oldest_tweets_archived = PROCESSED - # (if a user doesn't have a found id, then it is either deleted (NOT_FOUND) or suspended (SUSPENDED). + # (if a user doesn't have a found id, then it is either deleted (NOT_FOUND) or suspended (SUSPENDED). # in both cases, we will not find tweets) need_new_tweets_users = [u for u in need_snapshot_users if u.CS_oldest_tweets_archived == CS_JobState.PROCESSED.value and utils.common.NOT_FOUND_TWITTER_USER_STR not in u.id] self.log.info("Need to get new tweets for {0} users".format(len(need_new_tweets_users))) @@ -396,16 +395,16 @@ def archive_old_users(self, key_to_users, has_ids=True): self.log.info("Queried for {0} Twitter users out of a total of {1} users, got {2} out of {3} users".format( limit, len(user_keys), len(users_info), limit-prev_limit)) prev_limit = limit - + # for found users, commit to db users_json = [json.loads(json.dumps(user_info._json).encode("utf-8", "replace")) if type(user_info) is twitter.models.User else user_info for user_info in users_info] # to accomodate test fixture data for user_json in users_json: - + uid = str(user_json["id"]) screen_name = user_json["screen_name"].lower() - + user_state = TwitterUserState.FOUND if not user_json["protected"] else TwitterUserState.PROTECTED created_at = datetime.datetime.strptime(user_json["created_at"], TWITTER_DATETIME_STR_FORMAT) now = datetime.datetime.utcnow() @@ -423,8 +422,8 @@ def archive_old_users(self, key_to_users, has_ids=True): # any different screen_names # if this did happen... # we wouldn't have called UsersLookup with screen_names unless we didn't have the ids (users not found) - # if a previously not found user changed their screen name, AND their account got unsuspended, - # such that we are able to get their account info now, we'd get an id we haven't seen before, and there is + # if a previously not found user changed their screen name, AND their account got unsuspended, + # such that we are able to get their account info now, we'd get an id we haven't seen before, and there is # NO WAY for us to match up these records. # so we would want to create a new record. self.log.error("Unexpected screen_name change: {0} is not in key_to_users. key_to_users' keys (screen_names): {1}".format( @@ -476,8 +475,8 @@ def archive_old_users(self, key_to_users, has_ids=True): try: now = datetime.datetime.utcnow() - # update TwitterUser record - user.not_found_id = user.not_found_id if user.not_found_id else utils.common.generate_not_found_twitter_user_id(user.screen_name) + # update TwitterUser record + user.not_found_id = user.not_found_id if user.not_found_id else utils.common.generate_not_found_twitter_user_id(user.screen_name) #user.record_updated_at = now # TODO: fix this. models doesn't have this field right now user.user_state = user_state.value @@ -501,7 +500,7 @@ def archive_old_users(self, key_to_users, has_ids=True): self.log.info("Saved {0} not_found twitter users' info.".format(len(left_users))) - ######################################################### + ######################################################### ################### ARCHIVE TWEET CODE ######################################################### @@ -547,17 +546,17 @@ def with_user_records_archive_tweets(self, user_records, backfill=False, is_test """ returns (statuses, user_state, job_state) - + possible user_state: SUSPENDED, NOT_FOUND """ def get_statuses_user_state(self, user_id, count=200, max_id=None, user_state=TwitterUserState.NOT_FOUND, job_state=CS_JobState.FAILED): - (statuses, user_state, job_state) = ([], user_state, job_state) + (statuses, user_state, job_state) = ([], user_state, job_state) try: statuses = self.t.api.GetUserTimeline(user_id=user_id, count=count, max_id=max_id) except twitter.error.TwitterError as e: self.log.info(e) # TODO: un-jankify this error handling/parsing code. might not get much better though - if e.message == "Not authorized.": + if e.message == "Not authorized.": # Account is either protected or suspended self.log.info(user_state is TwitterUserState.PROTECTED) if user_state is not TwitterUserState.PROTECTED: @@ -620,7 +619,7 @@ def archive_user_tweets(self, user, backfill=False, is_test=False): if user_state is not TwitterUserState.FOUND: if not is_test: - # thought we probably had a found user, turns out we don't. + # thought we probably had a found user, turns out we don't. # to be safe, we should try to update our user records, create new snapshot self.archive_old_users(key_to_users={user_id:user}, has_ids=True) else: diff --git a/tests/fixture_data/notice_user.json b/tests/fixture_data/notice_user.json new file mode 100644 index 0000000..0e2727a --- /dev/null +++ b/tests/fixture_data/notice_user.json @@ -0,0 +1,190 @@ +[{"notice_id": "1", +"twitter_username": "cqxawyxzgbj"}, +{"notice_id": "2", +"twitter_username": "xxvaeohjutdpp"}, +{"notice_id": "3", +"twitter_username": "tthimimcxlce"}, +{"notice_id": "4", +"twitter_username": "odutnzznshfgpy"}, +{"notice_id": "5", +"twitter_username": "jkqtskit"}, +{"notice_id": "6", +"twitter_username": "fuvbentnqss"}, +{"notice_id": "7", +"twitter_username": "grqyqvscecm"}, +{"notice_id": "8", +"twitter_username": "pvplhhaa"}, +{"notice_id": "9", +"twitter_username": "vkoptfbycftk"}, +{"notice_id": "10", +"twitter_username": "vnhcnwqx"}, +{"notice_id": "11", +"twitter_username": "trksdrfjtz"}, +{"notice_id": "12", +"twitter_username": "oekxzfcahpy"}, +{"notice_id": "13", +"twitter_username": "bygdqvecummu"}, +{"notice_id": "14", +"twitter_username": "wizsgpevioegyci"}, +{"notice_id": "15", +"twitter_username": "wqmrpriaw"}, +{"notice_id": "16", +"twitter_username": "ytiaetit"}, +{"notice_id": "17", +"twitter_username": "vqcbrcw"}, +{"notice_id": "18", +"twitter_username": "ujajowiqsut"}, +{"notice_id": "19", +"twitter_username": "yktfarpek"}, +{"notice_id": "20", +"twitter_username": "neraghmlajbhl"}, +{"notice_id": "21", +"twitter_username": "qhhrkxyrxpjhhq"}, +{"notice_id": "22", +"twitter_username": "euykdounyfvt"}, +{"notice_id": "23", +"twitter_username": "nfgzonqrefx"}, +{"notice_id": "24", +"twitter_username": "dkcumxgwiujwqu"}, +{"notice_id": "25", +"twitter_username": "pbtnsegvhwfr"}, +{"notice_id": "26", +"twitter_username": "kohopikxdzzvbis"}, +{"notice_id": "27", +"twitter_username": "cgvagcln"}, +{"notice_id": "28", +"twitter_username": "uelwhwzzxqsual"}, +{"notice_id": "29", +"twitter_username": "cqghsacosujoge"}, +{"notice_id": "30", +"twitter_username": "cvavfbivwbdjx"}, +{"notice_id": "31", +"twitter_username": "purjrthixjyu"}, +{"notice_id": "32", +"twitter_username": "cfotgaiqw"}, +{"notice_id": "33", +"twitter_username": "mqnwmqhyt"}, +{"notice_id": "34", +"twitter_username": "kamaywwylazwa"}, +{"notice_id": "35", +"twitter_username": "ibxmkllhsdzv"}, +{"notice_id": "36", +"twitter_username": "ouarvioyirlaiw"}, +{"notice_id": "37", +"twitter_username": "ogciqvmcle"}, +{"notice_id": "38", +"twitter_username": "rjegakkey"}, +{"notice_id": "39", +"twitter_username": "qwekkdpdhla"}, +{"notice_id": "40", +"twitter_username": "bodmmacyfn"}, +{"notice_id": "41", +"twitter_username": "tdssmxmm"}, +{"notice_id": "42", +"twitter_username": "xvobiguwi"}, +{"notice_id": "43", +"twitter_username": "zifvqbkbv"}, +{"notice_id": "44", +"twitter_username": "xeeyqtuchg"}, +{"notice_id": "45", +"twitter_username": "kttzwbdv"}, +{"notice_id": "46", +"twitter_username": "sgaiwmogqsmm"}, +{"notice_id": "47", +"twitter_username": "pvsmajmfygwhm"}, +{"notice_id": "48", +"twitter_username": "dqliajxyzzrkd"}, +{"notice_id": "49", +"twitter_username": "iezsvecgamkgj"}, +{"notice_id": "50", +"twitter_username": "aajqvlgqeofl"}, +{"notice_id": "51", +"twitter_username": "qvegaozrpaqlum"}, +{"notice_id": "52", +"twitter_username": "ekoztfaxqonuv"}, +{"notice_id": "53", +"twitter_username": "fejpruv"}, +{"notice_id": "54", +"twitter_username": "ujapuzrkqkwxqvh"}, +{"notice_id": "55", +"twitter_username": "elciqaneee"}, +{"notice_id": "56", +"twitter_username": "agvfmnpjpcps"}, +{"notice_id": "57", +"twitter_username": "frowxfbst"}, +{"notice_id": "58", +"twitter_username": "bekanxa"}, +{"notice_id": "59", +"twitter_username": "dggwqa"}, +{"notice_id": "60", +"twitter_username": "hnuxolxygo"}, +{"notice_id": "61", +"twitter_username": "peamdsxerdihqot"}, +{"notice_id": "62", +"twitter_username": "undbicyjdgyci"}, +{"notice_id": "63", +"twitter_username": "xvocwp"}, +{"notice_id": "64", +"twitter_username": "pbgvzhld"}, +{"notice_id": "65", +"twitter_username": "afwjhyben"}, +{"notice_id": "66", +"twitter_username": "juhalx"}, +{"notice_id": "67", +"twitter_username": "dkhnnxpsiqswvay"}, +{"notice_id": "68", +"twitter_username": "nwsbzrdfeyio"}, +{"notice_id": "69", +"twitter_username": "izotxnvw"}, +{"notice_id": "70", +"twitter_username": "njhyugwdnnu"}, +{"notice_id": "71", +"twitter_username": "siezgzmnnferaiz"}, +{"notice_id": "72", +"twitter_username": "kshzlwognurl"}, +{"notice_id": "73", +"twitter_username": "kfvwotpu"}, +{"notice_id": "74", +"twitter_username": "yphxocbvyfexccf"}, +{"notice_id": "75", +"twitter_username": "fnchsmijl"}, +{"notice_id": "76", +"twitter_username": "nrtomnmcjw"}, +{"notice_id": "77", +"twitter_username": "rnfzydduvzui"}, +{"notice_id": "78", +"twitter_username": "jcqpzfkcnx"}, +{"notice_id": "79", +"twitter_username": "mjuvppntozptqtf"}, +{"notice_id": "80", +"twitter_username": "zrvtjuson"}, +{"notice_id": "81", +"twitter_username": "xywcjxeyni"}, +{"notice_id": "82", +"twitter_username": "vjbpxhjcpakl"}, +{"notice_id": "83", +"twitter_username": "djgecxmcodtziy"}, +{"notice_id": "84", +"twitter_username": "frfjraocqesgis"}, +{"notice_id": "85", +"twitter_username": "ibofzkqu"}, +{"notice_id": "86", +"twitter_username": "llsuslzyvgfgdq"}, +{"notice_id": "87", +"twitter_username": "wvrtslrirs"}, +{"notice_id": "88", +"twitter_username": "xmidlp"}, +{"notice_id": "89", +"twitter_username": "uhwpowf"}, +{"notice_id": "90", +"twitter_username": "dfhwyogvwlimpuy"}, +{"notice_id": "91", +"twitter_username": "iwwdxkcrannx"}, +{"notice_id": "92", +"twitter_username": "tgzicpponzino"}, +{"notice_id": "93", +"twitter_username": "qknmnupymdawn"}, +{"notice_id": "94", +"twitter_username": "jndcthfnbhcuu"}, +{"notice_id": "95", +"twitter_username": "dzrwnxjga"}] diff --git a/tests/test_twitter.py b/tests/test_twitter.py new file mode 100644 index 0000000..4babe49 --- /dev/null +++ b/tests/test_twitter.py @@ -0,0 +1,72 @@ +import pytest +import app.connections.twitter_connect +import app.controller +import app.controllers.twitter_controller +import os +import simplejson as json +from sqlalchemy import create_engine +from sqlalchemy.orm import sessionmaker +import glob, datetime +from mock import Mock, patch +from app.models import * +from utils.common import * +import app.cs_logger + +TEST_DIR = os.path.dirname(os.path.realpath(__file__)) +BASE_DIR = os.path.join(TEST_DIR, "../") +ENV = os.environ['CS_ENV'] = "test" + +db_session = DbEngine(os.path.join(TEST_DIR, "../", "config") + "/{env}.json".format(env=ENV)).new_session() +log = app.cs_logger.get_logger(ENV, BASE_DIR) + +def setup_function(function): + pass + +def teardown_function(function): + db_session.query(LumenNotice).delete() + db_session.query(LumenNoticeExpandedURL).delete() + db_session.query(LumenNoticeToTwitterUser).delete() + db_session.query(TwitterUser).delete() + db_session.query(TwitterUserSnapshot).delete() + db_session.query(TwitterStatus).delete() + db_session.commit() + +@pytest.fixture +def populate_notice_users(): + fixture_dir = os.path.join(TEST_DIR, "fixture_data") + with open("{script_dir}/fixture_data/notice_user.json".format(script_dir=TEST_DIR)) as f: + data = f.read() + noticeuser_data = json.loads(data) + now = datetime.datetime.utcnow() + + for nu in noticeuser_data: + notice_user_record = LumenNoticeToTwitterUser( + record_created_at = now, + notice_id = nu["notice_id"], + twitter_username = nu["twitter_username"], + twitter_user_id = None, + CS_account_archived = CS_JobState.NOT_PROCESSED.value + ) + db_session.add(notice_user_record) + db_session.commit() + +# @patch('app.connections.twitter_connect.TwitterConnect', autospec=True) +@patch('twitter.Api', autospec=True) +def test_archive_twitter_new_users(mock_twitter, populate_notice_users): + t = mock_twitter.return_value + + with open("{script_dir}/fixture_data/anon_users_lookup_0.json".format(script_dir=TEST_DIR)) as f: + fixture = json.loads(f.read()) + t.UsersLookup.return_value = fixture + + conn = app.connections.twitter_connect.TwitterConnect() + t_ctrl = app.controllers.twitter_controller.TwitterController(db_session, conn, log) + + try: + t_ctrl.query_and_archive_new_users(test_exception=True) + except: + noticeusers = [x for x in db_session.query(LumenNoticeToTwitterUser).all()] + for noticeuser in noticeusers: + assert noticeuser.CS_account_archived != CS_JobState.IN_PROGRESS.value + else: + assert False # expected query_and_archive_new_users to throw test_exception diff --git a/utils/common.py b/utils/common.py index bc74adc..208615f 100644 --- a/utils/common.py +++ b/utils/common.py @@ -16,7 +16,7 @@ class ThingType(Enum): COMMENT = 2 SUBREDDIT = 3 USER = 4 - STYLESHEET = 5 + STYLESHEET = 5 # not formalized... class TwitterUserState(Enum): @@ -36,8 +36,8 @@ class CS_JobState(Enum): def generate_not_found_twitter_user_id(screen_name=""): capped_screen_name = screen_name if len(screen_name)<30 else screen_name[:30] + "..." return "{0}_{1}_{2}".format( - NOT_FOUND_TWITTER_USER_STR, - capped_screen_name, + NOT_FOUND_TWITTER_USER_STR, + capped_screen_name, time_since_epoch_ms(datetime.datetime.utcnow()) ) @@ -58,7 +58,7 @@ def update_all_CS_JobState(row_to_state, field, db_session, log): def update_CS_JobState(rows, field, to_state, db_session, log): if len(rows) == 0: - log.info("Updated 0 CS_JobState fields.") + log.info("Updated 0 CS_JobState fields.") return for row in rows: @@ -69,6 +69,23 @@ def update_CS_JobState(rows, field, to_state, db_session, log): except: log.error("Error while saving DB Session for updating {0} {1} {2} fields to {3}.".format(len(rows), type(rows[0]), field, to_state), extra=sys.exc_info()[0]) +def reset_CS_JobState_In_Progress(rows, field, db_session, log): + if len(rows) == 0: + log.info("Updated 0 CS_JobState fields.") + return + + changed_rows = [] + for row in rows: + if getattr(row, field) == CS_JobState.IN_PROGRESS.value: + setattr(row, field, CS_JobState.NOT_PROCESSED.value) + changed_rows.append(row) + + try: + db_session.commit() + log.info("Updated {0} {1} {2} fields to CS_JobState NOT_PROCESSED.".format(len(changed_rows), type(rows[0]), field)) + except: + log.error("Error while saving DB Session for updating {0} {1} {2} fields to CS_JobState NOT_PROCESSED.".format(len(changed_rows), type(rows[0]), field), extra=sys.exc_info()[0]) + class ParseUsernameSuspendedUserFound(Exception): pass @@ -140,4 +157,4 @@ def __str__(self): def time_since_epoch_ms(dt): epoch = datetime.datetime.utcfromtimestamp(0) - return (dt - epoch).total_seconds() * 1000.0 \ No newline at end of file + return (dt - epoch).total_seconds() * 1000.0 From 7a6557df5867b9f05eb8a8efd13e40098e3e0088 Mon Sep 17 00:00:00 2001 From: Jonathan Zong Date: Sat, 17 Feb 2018 17:01:38 -0500 Subject: [PATCH 045/221] clean extra var in twitter controller --- app/controllers/twitter_controller.py | 1 - 1 file changed, 1 deletion(-) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 8e14b07..e8adf53 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -188,7 +188,6 @@ def commit_users_failed(user): users_json = [json.loads(json.dumps(user_info._json).encode("utf-8", "replace")) if type(user_info) is twitter.models.User else user_info for user_info in users_info] # to accomodate test fixture data this_found_ids = set([user_json["id"] for user_json in users_json]) - this_found_screen_names = set([user_json["screen_name"] for user_json in users_json]) existing_ids = [uid[0] for uid in self.db_session.query(TwitterUser.id).filter(TwitterUser.id.in_(list(this_found_ids))).all()] all_existing_ids.update(existing_ids) From bc3b88f8d0c3cc27f86885c4205c48b4dcdf79f7 Mon Sep 17 00:00:00 2001 From: "J. Nathan Matias" Date: Sat, 17 Feb 2018 17:36:10 -0500 Subject: [PATCH 046/221] fixed timeouts for job schedulers and experiment schedulers --- schedule_experiments.py | 10 +++++++--- schedule_jobs.py | 12 ++++++++---- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/schedule_experiments.py b/schedule_experiments.py index b2b4c62..ccd3a16 100644 --- a/schedule_experiments.py +++ b/schedule_experiments.py @@ -39,9 +39,10 @@ def main(): scheduler = Scheduler(queue_name = os.environ['CS_ENV'], connection=Redis()) - ttl = 172800 ## two days in seconds - if(ttl <= int(args.interval) + 3600): - ttl = int(args.interval) + 3600 + timeout_seconds = 172800 ## two days in seconds + if(timeout_seconds <= int(args.interval) + 3600): + timeout_seconds = int(args.interval) + 3600 + ttl = int(args.interval) + 180 experiment_file = os.path.join(BASE_DIR, "config", "experiments") + "/" + args.experiment + ".yml" if(os.path.isfile(experiment_file) == False): @@ -56,6 +57,7 @@ def main(): args=[args.experiment], interval=int(args.interval), repeat=None, + timeout = timeout_seconds, result_ttl = ttl) elif(args.job == "tidy"): scheduler.schedule( @@ -64,6 +66,7 @@ def main(): args=[args.experiment], interval=int(args.interval), repeat=None, + timeout = timeout_seconds, result_ttl = ttl) elif(args.job == "archive_submissions"): scheduler.schedule( @@ -72,6 +75,7 @@ def main(): args=[args.experiment], interval=int(args.interval), repeat=None, + timeout = timeout_seconds, result_ttl = ttl) if __name__ == '__main__': diff --git a/schedule_jobs.py b/schedule_jobs.py index 081f744..40f6f4d 100644 --- a/schedule_jobs.py +++ b/schedule_jobs.py @@ -38,9 +38,10 @@ def main(): page_type = args.pagetype.lower() - ttl = 172800 ## two days in seconds - if(ttl <= int(args.interval) + 3600): - ttl = int(args.interval) + 3600 + timeout_seconds = 172800 ## two days in seconds + if(timeout_seconds <= int(args.interval) + 3600): + timeout_seconds = int(args.interval) + 3600 + ttl = int(args.interval) + 180 if(args.sub =="all"): page_type = getattr(PageType, args.pagetype.upper()) @@ -50,6 +51,7 @@ def main(): args=[page_type], interval=int(args.interval), repeat=None, + timeout = timeout_seconds, result_ttl = ttl) # result_ttl=int(args.interval)+10) ## we set the result_ttl to longer than the interval @@ -62,6 +64,7 @@ def main(): args=[args.sub], interval=int(args.interval), repeat=None, + timeout = timeout_seconds, result_ttl = ttl) elif(page_type == "modactions"): scheduler.schedule( @@ -70,6 +73,7 @@ def main(): args=[args.sub], interval=int(args.interval), repeat=None, + timeout = timeout_seconds, result_ttl = ttl) else: page_type = getattr(PageType, args.pagetype.upper()) @@ -79,8 +83,8 @@ def main(): args=[args.sub, page_type], interval=int(args.interval), repeat=None, + timeout = timeout_seconds, result_ttl = ttl) - # result_ttl=int(args.interval)+10) if __name__ == '__main__': main() From c3237d74a555643f1e54a8e0b2000c13228214d1 Mon Sep 17 00:00:00 2001 From: Jonathan Zong Date: Sat, 17 Feb 2018 18:02:33 -0500 Subject: [PATCH 047/221] fix tests --- app/controllers/twitter_controller.py | 15 +-- tests/test_controllers.py | 159 ++++++++++++++------------ 2 files changed, 91 insertions(+), 83 deletions(-) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index e8adf53..6f85b13 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -128,29 +128,19 @@ def query_and_archive_new_users(self, test_exception=True): else: do nothing - returns - user_name_to_id = {name: id} - noticeuser_to_state = {LumenNoticeToTwitterUser: CS_JobState} - - """ def archive_new_users(self, unarchived_notice_users, test_exception=False): - if len(unarchived_notice_users) == 0: return (None, None) - is_test = type(unarchived_notice_users[0]) is not LumenNoticeToTwitterUser if len(unarchived_notice_users) <= 0: return (None, None) + user_names_to_notice_user = {nu.twitter_username: nu for nu in unarchived_notice_users if utils.common.NOT_FOUND_TWITTER_USER_STR not in nu.twitter_username} - unarchived_user_names = set(user_names_to_notice_user.keys()) if not is_test else set([name for name in unarchived_notice_users if utils.common.NOT_FOUND_TWITTER_USER_STR not in name]) # to accomodate tests... + unarchived_user_names = set(user_names_to_notice_user.keys()) user_names = list(unarchived_user_names) - # to return - user_name_to_id = {name: None for name in user_names} - noticeuser_to_state = {nu: CS_JobState.FAILED for nu in unarchived_notice_users} if not is_test else {} # to accomodate tests.... - # query batch_size at a time batch_size = 100 # limit should be 100 prev_limit = 0 @@ -255,7 +245,6 @@ def commit_users_failed(user): for name in left_users: uid = utils.common.generate_not_found_twitter_user_id(name) - user_name_to_id[name] = uid # disambiguate between NOT_FOUND, SUSPENDED user_state = self.is_user_suspended_or_deleted(name) diff --git a/tests/test_controllers.py b/tests/test_controllers.py index a2caa76..2d900b4 100644 --- a/tests/test_controllers.py +++ b/tests/test_controllers.py @@ -40,14 +40,14 @@ def clear_all_tables(): db_session.query(SubredditPage).delete() db_session.query(Subreddit).delete() db_session.query(Post).delete() - db_session.query(User).delete() - db_session.query(ModAction).delete() - db_session.query(Comment).delete() - db_session.query(LumenNotice).delete() + db_session.query(User).delete() + db_session.query(ModAction).delete() + db_session.query(Comment).delete() + db_session.query(LumenNotice).delete() db_session.query(LumenNoticeToTwitterUser).delete() db_session.query(TwitterUser).delete() - db_session.query(TwitterUserSnapshot).delete() - db_session.query(TwitterStatus).delete() + db_session.query(TwitterUserSnapshot).delete() + db_session.query(TwitterStatus).delete() db_session.commit() def setup_function(function): @@ -58,7 +58,7 @@ def teardown_function(function): @patch('praw.Reddit', autospec=True) -@patch('praw.objects.Subreddit', autospec=True) +@patch('praw.objects.Subreddit', autospec=True) def test_archive_reddit_front_page(mock_subreddit, mock_reddit): ### TEST THE MOCK SETUP AND MAKE SURE IT WORKS ## TODO: I should not be mocking SQLAlchemy @@ -71,19 +71,19 @@ def test_archive_reddit_front_page(mock_subreddit, mock_reddit): mock_subreddit.get_top.return_value = sub_data mock_subreddit.get_controversial.return_value = sub_data mock_subreddit.get_new.return_value = sub_data - mock_subreddit.get_hot.return_value = sub_data + mock_subreddit.get_hot.return_value = sub_data patch('praw.') - r.get_subreddit.return_value = mock_subreddit + r.get_subreddit.return_value = mock_subreddit assert len(db_session.query(FrontPage).all()) == 0 - + ## NOW START THE TEST for top, controversial, new fp = app.controllers.front_page_controller.FrontPageController(db_session, r, log) fp.archive_reddit_front_page(PageType.TOP) fp.archive_reddit_front_page(PageType.CONTR) fp.archive_reddit_front_page(PageType.NEW) - fp.archive_reddit_front_page(PageType.HOT) + fp.archive_reddit_front_page(PageType.HOT) all_pages = db_session.query(FrontPage).all() assert len(all_pages) == 4 @@ -98,13 +98,13 @@ def test_archive_reddit_front_page(mock_subreddit, mock_reddit): assert new_pages.count() == 1 new_pages = db_session.query(FrontPage).filter(FrontPage.page_type == PageType.HOT.value) - assert new_pages.count() == 1 + assert new_pages.count() == 1 #### basic test for method archive_subreddit_page to insert timestamped pages to subreddit_pages table. #### analogous to test_archive_reddit_front_page. @patch('praw.Reddit', autospec=True) -@patch('praw.objects.Subreddit', autospec=True) +@patch('praw.objects.Subreddit', autospec=True) def test_archive_subreddit_page(mock_subreddit, mock_reddit): ### TODO: TEST THE MOCK SETUP WITH AN ACTUAL QUERY @@ -127,17 +127,17 @@ def test_archive_subreddit_page(mock_subreddit, mock_reddit): mock_subreddit.get_top.return_value = sub_data mock_subreddit.get_controversial.return_value = sub_data mock_subreddit.get_new.return_value = sub_data - mock_subreddit.get_hot.return_value = sub_data + mock_subreddit.get_hot.return_value = sub_data patch('praw.') mock_subreddit.display_name = test_subreddit_name - mock_subreddit.id = test_subreddit_id - r.get_subreddit.return_value = mock_subreddit + mock_subreddit.id = test_subreddit_id + r.get_subreddit.return_value = mock_subreddit assert len(db_session.query(SubredditPage).all()) == 0 - sp = app.controllers.subreddit_controller.SubredditPageController(test_subreddit_name, db_session, r, log) + sp = app.controllers.subreddit_controller.SubredditPageController(test_subreddit_name, db_session, r, log) - ## NOW START THE TEST for top, controversial, new + ## NOW START THE TEST for top, controversial, new sp.archive_subreddit_page(PageType.TOP) sp.archive_subreddit_page(PageType.CONTR) sp.archive_subreddit_page(PageType.NEW) @@ -162,7 +162,7 @@ def test_archive_subreddit_page(mock_subreddit, mock_reddit): @patch('praw.Reddit', autospec=True) -@patch('praw.objects.Subreddit', autospec=True) +@patch('praw.objects.Subreddit', autospec=True) def test_archive_subreddit(mock_subreddit, mock_reddit): test_subreddit_name = "science" test_subreddit_id = "mouw" @@ -170,14 +170,14 @@ def test_archive_subreddit(mock_subreddit, mock_reddit): r = mock_reddit.return_value mock_subreddit.display_name = test_subreddit_name - mock_subreddit.id = test_subreddit_id + mock_subreddit.id = test_subreddit_id patch('praw.') assert len(db_session.query(Subreddit).all()) == 0 - sp = app.controllers.subreddit_controller.SubredditPageController(test_subreddit_name, db_session, r, log) + sp = app.controllers.subreddit_controller.SubredditPageController(test_subreddit_name, db_session, r, log) ## NOW START THE TEST - # TODO: should you even be allowed to archive a different subreddit than the one sp was made for? + # TODO: should you even be allowed to archive a different subreddit than the one sp was made for? sp.archive_subreddit(mock_subreddit) all_subs = db_session.query(Subreddit).all() @@ -192,11 +192,11 @@ def test_archive_subreddit(mock_subreddit, mock_reddit): @patch('praw.Reddit', autospec=True) def test_archive_post(mock_reddit): - # dummy post just to pass the test. + # dummy post just to pass the test. # TODO: carefully describe what the types of these 'archive' method args should be... post = { - 'id': 1, - 'subreddit_id': 't5_mouw', + 'id': 1, + 'subreddit_id': 't5_mouw', 'created': 1467348033.0, 'created_utc': 1467319233.0 } @@ -206,7 +206,7 @@ def test_archive_post(mock_reddit): patch('praw.') assert len(db_session.query(Post).all()) == 0 - sp = app.controllers.subreddit_controller.SubredditPageController(test_subreddit_name, db_session, r, log) + sp = app.controllers.subreddit_controller.SubredditPageController(test_subreddit_name, db_session, r, log) ## NOW START THE TEST sp.archive_post(post) @@ -224,13 +224,13 @@ def test_archive_post(mock_reddit): assert len(all_posts) == 1 @patch('praw.Reddit', autospec=True) -@patch('praw.objects.Submission', autospec=True) +@patch('praw.objects.Submission', autospec=True) def test_fetch_post_comments(mock_submission, mock_reddit): with open("{script_dir}/fixture_data/post2.json".format(script_dir=TEST_DIR)) as f: post = json.loads(f.read()) with open("{script_dir}/fixture_data/post2_comments.json".format(script_dir=TEST_DIR)) as f: post_comments = json.loads(f.read()) - + r = mock_reddit.return_value mock_submission.comments = post_comments mock_submission.num_comments = len(post_comments) @@ -240,10 +240,10 @@ def test_fetch_post_comments(mock_submission, mock_reddit): ## ADD THE FIXTURE POST TO THE DATABASE assert len(db_session.query(Post).all()) == 0 test_subreddit_name = "science" - sp = app.controllers.subreddit_controller.SubredditPageController(test_subreddit_name, db_session, r, log) + sp = app.controllers.subreddit_controller.SubredditPageController(test_subreddit_name, db_session, r, log) sp.archive_post(post) all_posts = db_session.query(Post).all() - assert len(all_posts) == 1 + assert len(all_posts) == 1 db_session.commit() dbpost = db_session.query(Post).filter(Post.id == post['id']).first() @@ -262,10 +262,10 @@ def test_fetch_post_comments(mock_submission, mock_reddit): @patch('praw.Reddit', autospec=True) -@patch('praw.objects.Submission', autospec=True) +@patch('praw.objects.Submission', autospec=True) def test_archive_all_missing_subreddit_post_comments(mock_submission, mock_reddit): - ## SET UP MOCKS + ## SET UP MOCKS r = mock_reddit.return_value ## TO START, LOAD POST FIXTURES @@ -282,7 +282,7 @@ def test_archive_all_missing_subreddit_post_comments(mock_submission, mock_reddi post_comment_fixture_name = post_comment_fixture_names[i] with open("{script_dir}/fixture_data/{file}".format(script_dir=TEST_DIR, file=post_fixture_name)) as f: - post = json.loads(f.read()) + post = json.loads(f.read()) post_fixtures.append(post) if(i == test_post_index): @@ -295,7 +295,7 @@ def test_archive_all_missing_subreddit_post_comments(mock_submission, mock_reddi else: post_fixture_comments.append(None) - sp = app.controllers.subreddit_controller.SubredditPageController(post['subreddit_id'], db_session, r, log) + sp = app.controllers.subreddit_controller.SubredditPageController(post['subreddit_id'], db_session, r, log) sp.archive_post(post) db_session.commit() @@ -323,12 +323,12 @@ def test_archive_all_missing_subreddit_post_comments(mock_submission, mock_reddi assert dbpost.comments_queried_at == None ### this test doesn't pass right now. not related to twitter/lumen code -### this test may have been deleted at some point? +### this test may have been deleted at some point? @patch('praw.Reddit', autospec=True) def test_archive_last_thousand_comments(mock_reddit): r = mock_reddit.return_value - + subreddit_name = "science" subreddit_id = "mouw" @@ -358,7 +358,7 @@ def test_archive_last_thousand_comments(mock_reddit): ## add science subreddit db_session.add(Subreddit( - id = subreddit_id, + id = subreddit_id, name = subreddit_name)) db_session.commit() @@ -372,7 +372,7 @@ def test_archive_last_thousand_comments(mock_reddit): assert db_comment.subreddit_id == subreddit_id assert db_comment.post_id == comment_fixtures[0][-1]['link_id'].replace("t3_","") assert db_comment.user_id == comment_fixtures[0][-1]['author'] - assert len(db_comment.comment_data) > 0 + assert len(db_comment.comment_data) > 0 ## NOW TEST THAT NO OVERLAPPING IDS ARE ADDED first_ids = [x['id'] for x in comment_fixtures[0]] @@ -436,7 +436,7 @@ def test_archive_mod_action_page(mock_reddit): assert db_action.action_data != None assert len(db_action.action_data) > 0 - + # NOW TRY TO ADD DUPLICATES # AND ASSERT THAT NO DUPLICATES WERE ADDED mac.archive_mod_action_page() @@ -451,13 +451,13 @@ def test_archive_mod_action_page(mock_reddit): assert last_action_id == mod_action_fixtures[1][-1]['id'] @patch('praw.Reddit', autospec=True) -@patch('praw.objects.Submission', autospec=True) +@patch('praw.objects.Submission', autospec=True) def test_fetch_post_comments(mock_submission, mock_reddit): with open("{script_dir}/fixture_data/post2.json".format(script_dir=TEST_DIR)) as f: post = json.loads(f.read()) with open("{script_dir}/fixture_data/post2_comments.json".format(script_dir=TEST_DIR)) as f: post_comments = json.loads(f.read()) - + r = mock_reddit.return_value mock_submission.comments = post_comments mock_submission.num_comments = len(post_comments) @@ -467,10 +467,10 @@ def test_fetch_post_comments(mock_submission, mock_reddit): ## ADD THE FIXTURE POST TO THE DATABASE assert len(db_session.query(Post).all()) == 0 test_subreddit_name = "science" - sp = app.controllers.subreddit_controller.SubredditPageController(test_subreddit_name, db_session, r, log) + sp = app.controllers.subreddit_controller.SubredditPageController(test_subreddit_name, db_session, r, log) sp.archive_post(post) all_posts = db_session.query(Post).all() - assert len(all_posts) == 1 + assert len(all_posts) == 1 db_session.commit() dbpost = db_session.query(Post).filter(Post.id == post['id']).first() @@ -488,10 +488,10 @@ def test_fetch_post_comments(mock_submission, mock_reddit): @patch('praw.Reddit', autospec=True) -@patch('praw.objects.Submission', autospec=True) +@patch('praw.objects.Submission', autospec=True) def test_archive_all_missing_subreddit_post_comments(mock_submission, mock_reddit): - ## SET UP MOCKS + ## SET UP MOCKS r = mock_reddit.return_value ## TO START, LOAD POST FIXTURES @@ -508,7 +508,7 @@ def test_archive_all_missing_subreddit_post_comments(mock_submission, mock_reddi post_comment_fixture_name = post_comment_fixture_names[i] with open("{script_dir}/fixture_data/{file}".format(script_dir=TEST_DIR, file=post_fixture_name)) as f: - post = json.loads(f.read()) + post = json.loads(f.read()) post_fixtures.append(post) if(i == test_post_index): @@ -521,7 +521,7 @@ def test_archive_all_missing_subreddit_post_comments(mock_submission, mock_reddi else: post_fixture_comments.append(None) - sp = app.controllers.subreddit_controller.SubredditPageController(post['subreddit_id'], db_session, r, log) + sp = app.controllers.subreddit_controller.SubredditPageController(post['subreddit_id'], db_session, r, log) sp.archive_post(post) db_session.commit() @@ -559,7 +559,7 @@ def test_archive_user(mock_reddit): patch('praw.') assert len(db_session.query(User).all()) == 0 - sp = app.controllers.subreddit_controller.SubredditPageController(test_subreddit_name, db_session, r, log) + sp = app.controllers.subreddit_controller.SubredditPageController(test_subreddit_name, db_session, r, log) ## NOW START THE TEST sp.archive_user(username, seen_at) @@ -567,15 +567,15 @@ def test_archive_user(mock_reddit): all_users = db_session.query(User).all() assert len(all_users) == 1 - user = db_session.query(User).first() + user = db_session.query(User).first() old_last_seen = user.last_seen ## trying to archive it again should update last_seen field sp.archive_user(username, seen_at) all_users = db_session.query(User).all() - assert len(all_users) == 1 - user = db_session.query(User).first() + assert len(all_users) == 1 + user = db_session.query(User).first() new_last_seen = user.last_seen assert(old_last_seen <= new_last_seen) @@ -597,7 +597,7 @@ def test_archive_lumen_notices(mock_LumenConnect): patch('app.connections.lumen_connect.') assert len(db_session.query(LumenNotice).all()) == 0 - + lumen = app.controllers.lumen_controller.LumenController(db_session, lc, log) topics = ["Copyright"] @@ -648,7 +648,7 @@ def test_helper_parse_url_for_username(mock_get): assert app.controllers.lumen_controller.helper_parse_url_for_username(url, log) == result except utils.common.ParseUsernameSuspendedUserFound: if result == utils.common.ParseUsernameSuspendedUserFound: - assert True + assert True else: assert False @@ -660,20 +660,30 @@ def test_parse_notices_archive_users(mock_LumenConnect, mock_get): patch('app.connections.lumen_connect.') assert len(db_session.query(LumenNoticeToTwitterUser).all()) == 0 - + lumen = app.controllers.lumen_controller.LumenController(db_session, lc, log) with open("{script_dir}/fixture_data/anon_lumen_notices_0.json".format(script_dir=TEST_DIR)) as f: data = json.loads(f.read()) notices = data["notices"][:30] # to make test faster, but get >100 users + for notice in notices: + notice_record = LumenNotice( + id = notice["id"], + sender = notice["sender_name"], + principal = notice["principal_name"], + recipient = notice["recipient_name"], + notice_data = json.dumps(notice)) + db_session.add(notice_record) + db_session.commit() - lumen.parse_notices_archive_users(notices) + lumen_notices = db_session.query(LumenNotice).all() + lumen.parse_notices_archive_users(lumen_notices) all_notices = db_session.query(LumenNoticeToTwitterUser).all() assert len(all_notices) == 175 # 140 if not anon fixture data not_found_users = [nu for nu in all_notices if utils.common.NOT_FOUND_TWITTER_USER_STR in nu.twitter_username] - # because we are currently not unshortening t.co, we will know at least the username for each twitter user we find - assert len(not_found_users) == 0 + # because we are currently not unshortening t.co, we will know at least the username for each twitter user we find + assert len(not_found_users) == 0 @@ -681,7 +691,7 @@ def test_parse_notices_archive_users(mock_LumenConnect, mock_get): # currently, it is NOT responsible for updating existing TwitterUser objects # (archive_old_users is responsible for that, e.g. in the case that a user goes from found to not found) # however, it should make sure that it doesn't add duplicate entries for the same user -# +# # TODO: currently this test does not test user list with len>90, so as to not call api.UsersLookup more than once, which is difficult to mock @patch('twitter.error', autospec=True) @patch('twitter.Api', autospec=True) @@ -700,13 +710,17 @@ def test_archive_new_users(mock_twitter_api, mock_twitter_error): patch('twitter.') patch('app.connections.twitter_connect.') - + assert len(db_session.query(TwitterUser).all()) == 0 twitter = app.controllers.twitter_controller.TwitterController(db_session, tc, log) with open("{script_dir}/fixture_data/anon_twitter_username_list.json".format(script_dir=TEST_DIR)) as f: users = json.loads(f.read()) + for name in users: + noticeuser_record = LumenNoticeToTwitterUser(twitter_username = name) + db_session.add(noticeuser_record) + db_session.commit() for j in range(2): # archive_new_users should be idempotent @@ -720,7 +734,12 @@ def test_archive_new_users(mock_twitter_api, mock_twitter_error): prev_limit = 0 for (i, result) in params_results: - twitter.archive_new_users(users[prev_limit:i]) + users_list = users[prev_limit:i] + noticeusers_list = db_session.query(LumenNoticeToTwitterUser).filter( + LumenNoticeToTwitterUser.twitter_username.in_(users_list)).all() + assert len(users_list) == len(noticeusers_list) + + twitter.archive_new_users(noticeusers_list) prev_limit = i found_users = db_session.query(TwitterUser).filter(TwitterUser.user_state == TwitterUserState.FOUND.value).all() @@ -750,7 +769,7 @@ def test_archive_old_users(mock_twitter_api, mock_twitter_error): # for is_user_suspended_or_deleted api.GetUser.side_effect = te.TwitterError([{'message': 'User not found.', 'code': 50}]) - + assert len(db_session.query(TwitterUser).all()) == 0 assert len(db_session.query(TwitterUserSnapshot).all()) == 0 @@ -768,7 +787,7 @@ def test_archive_old_users(mock_twitter_api, mock_twitter_error): created_at = now, record_created_at = now, lang = "en", - user_state = TwitterUserState.FOUND.value, + user_state = TwitterUserState.FOUND.value, CS_oldest_tweets_archived = CS_JobState.NOT_PROCESSED.value) user_B_record = TwitterUser( @@ -778,7 +797,7 @@ def test_archive_old_users(mock_twitter_api, mock_twitter_error): created_at = None, record_created_at = now, lang = None, - user_state = TwitterUserState.NOT_FOUND.value, + user_state = TwitterUserState.NOT_FOUND.value, CS_oldest_tweets_archived = CS_JobState.PROCESSED.value) # no tweets to find db_session.add(user_A_record) @@ -787,7 +806,7 @@ def test_archive_old_users(mock_twitter_api, mock_twitter_error): users = db_session.query(TwitterUser).all() key_to_user_A = {u.id: u for u in users if u.id == user_A_id} - key_to_user_B = {u.screen_name: u for u in users if u.id == user_B_not_found_id} + key_to_user_B = {u.screen_name: u for u in users if u.id == user_B_not_found_id} #################################################################### @@ -835,7 +854,7 @@ def test_archive_old_users(mock_twitter_api, mock_twitter_error): user_A_not_found_id = users[0].not_found_id snapshots = db_session.query(TwitterUserSnapshot).filter( - or_(TwitterUserSnapshot.twitter_user_id == user_A_id, + or_(TwitterUserSnapshot.twitter_user_id == user_A_id, TwitterUserSnapshot.twitter_user_id == user_A_not_found_id)).all() assert len(snapshots) == 2 for snapshot in snapshots: @@ -868,7 +887,7 @@ def test_archive_old_users(mock_twitter_api, mock_twitter_error): TwitterUserSnapshot.twitter_user_id == user_B_not_found_id).all() assert len(snapshots) == 1 assert snapshots[0].twitter_not_found_id and snapshots[0].twitter_not_found_id == user_B_not_found_id - + #################################################################### @@ -936,7 +955,7 @@ def mocked_GetUserTimeline(user_id, count=None, max_id=None): tc.api = api patch('twitter.') patch('app.connections.twitter_connect.') - + assert len(db_session.query(TwitterStatus).all()) == 0 @@ -989,7 +1008,7 @@ def test_query_and_archive_user_snapshots_and_tweets(mock_TwitterConnect, mock_t patch('twitter.') patch('app.connections.twitter_connect.') - + tc.api = api @@ -1031,7 +1050,7 @@ def test_query_and_archive_user_snapshots_and_tweets(mock_TwitterConnect, mock_t for i in range(2,4): twitter.query_and_archive_user_snapshots_and_tweets(future, is_test=True) # to archive all - + found_users = db_session.query(TwitterUser).filter(TwitterUser.user_state == TwitterUserState.FOUND.value).all() found_user_snapshots = db_session.query(TwitterUserSnapshot).filter(TwitterUserSnapshot.user_state == TwitterUserState.FOUND.value).all() assert len(found_users) == 80 @@ -1081,4 +1100,4 @@ def test_query_and_archive_user_snapshots_and_tweets(mock_TwitterConnect, mock_t lumen.query_and_parse_notices_archive_users() t.query_and_archive_new_users() t.query_and_archive_tweets(username) -""" \ No newline at end of file +""" From 1d5c13dbdb0b27f17319da68ffdaa0fd34eb1a36 Mon Sep 17 00:00:00 2001 From: "J. Nathan Matias" Date: Sat, 17 Feb 2018 23:41:15 -0500 Subject: [PATCH 048/221] fixed twitter rate limit token rotation bug --- app/connections/twitter_connect.py | 91 ++++++++++-- app/controllers/twitter_controller.py | 3 + config/twitter_rate_limit_resources.csv | 138 ++++++++++++++++++ tests/test_twitter_connect.py | 3 + utils/anonymize_lumen_twitter_fixture_data.py | 3 +- utils/common.py | 2 +- 6 files changed, 222 insertions(+), 18 deletions(-) create mode 100644 config/twitter_rate_limit_resources.csv diff --git a/app/connections/twitter_connect.py b/app/connections/twitter_connect.py index b0f9c1a..af4b9d3 100644 --- a/app/connections/twitter_connect.py +++ b/app/connections/twitter_connect.py @@ -1,5 +1,6 @@ import simplejson as json -import os, sys, glob, random, datetime, time, inspect +import os, sys, glob, random, datetime, time, inspect, csv +from collections import defaultdict import twitter import app.cs_logger from retrying import retry @@ -12,16 +13,22 @@ ## TO RETRY MORE THAN ONCE RETRY_LIMIT = 10 -def retry_if_api_limit_error(exception): - return isinstance(exception, twitter.error.TwitterError) and len(exception.args)>0 and len(exception.args[0])>0 and "code" in exception.args[0][0] and exception.args[0][0]['code'] == 88 - def rate_limit_retry(func): - @retry(stop_max_attempt_number=RETRY_LIMIT, retry_on_exception=retry_if_api_limit_error) + + def retry_if_api_limit_error(exception): + #print("rate_limit_retry: {0}".format(str(exception))) + #print(exception) + if(len(exception.args)>0 and len(exception.args[0])>0 and "code" in exception.args[0][0] and exception.args[0][0]['code'] == 88): + return True + #print("rate_limit_retry: Raising Exception") + raise exception + + # this code wraps the function in a retry block + @retry(retry_on_exception=retry_if_api_limit_error, stop_max_attempt_number=RETRY_LIMIT) def func_wrapper(self,*args, **kwargs): #print("Before (Class {0}, Method {1})".format(self.__class__.__name__, sys._getframe().f_code.co_name)) self.try_counter += 1 result = None - #try a new key only if it's the second attempt or later if(self.try_counter >= 2): self.log.info("Twitter: rate limit calling TwitterConnect.api.{0} on ID {1}.".format(set(args).pop().__name__, self.token['user_id'])) @@ -43,8 +50,9 @@ def func_wrapper(self,*args, **kwargs): self.log.info("Twitter: Token for ID {0} next available at {1}. Selecting a new token...".format(self.token['user_id'], self.token['next_available'])) token = self.select_available_token() + previous_token_user = self.token['user_id'] if(self.apply_token(token)): - self.log.info("Twitter API connection verified under ID {0}".format(self.token['user_id'])) + self.log.info("Twitter API connection verified under ID {0}. Previously {1}.".format(self.token['user_id'], previous_token_user)) result = func(self,*args, **kwargs) ## if the above line fails, the counter will iterate @@ -52,20 +60,43 @@ def func_wrapper(self,*args, **kwargs): ## if the above line succeeds, reset the counter and continue self.try_counter = 0 return result + return func_wrapper +#def rate_limit_dict(): +# return { +# "token":None, +# "method": None, +# "limit_per_window": None, +# "remaining": None, +# "url": None +# } class TwitterConnect(): def __init__(self, log=None): BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), "../..") self.try_counter = 0 + self.api = None + ## LOAD LOGGER if(log): self.log = log else: self.log = app.cs_logger.get_logger(ENV, BASE_DIR) + #self.rate_limit_resources = defaultdict(rate_limit_dict) + ### LOAD API RESOURCE LIMIT INFORMATION + #with open(os.path.join(BASE_DIR, "config", "twitter_rate_limit_resources.csv"), "r") as f: + # reader = csv.DictReader(f) + # for row in reader: + # if("method" in row.keys() and row["method"]!=''): + # for key in row: + # self.rate_limit_resources[row['method']][key] = row[key] + #self.log.info("TwitterConnect loaded {0} rate limit resource mappings: {1}.".format( + # len(self.rate_limit_resources), + # ", ".join(list(self.rate_limit_resources.keys())))) + ## LOAD INFORMATION ABOUT KEYS (relative or absolute path) config_path = os.path.join(BASE_DIR, "config", "twitter_configuration_" + ENV + ".json") with open(config_path, "r") as config: @@ -79,14 +110,15 @@ def __init__(self, log=None): self.log.info("TwitterConnect is loading from a relative configuration path specified in {0}. Loading tokens from {1}".format(config_path, token_path)) - self.tokens = [] + self.tokens = {} for filename in sorted(glob.glob(os.path.join(token_path, "*.json"))): with open(filename, "r") as f: token = json.loads(f.read()) token["valid"] = True token["available"] = True token["next_available"] = None - self.tokens.append(token) + token["resources"] = {} + self.tokens[token['user_id']] = token ## LOAD BASE CONFIGURATION INFORMATION twitter_config_path = os.path.join(BASE_DIR, "config", "twitter_auth_" + ENV + ".json") @@ -101,10 +133,16 @@ def __init__(self, log=None): ## This method takes a token and tries to adjust the API to query using the token def apply_token(self, token): - self.api = twitter.Api(consumer_key = self.consumer_key, - consumer_secret = self.consumer_secret, - access_token_key = token['oauth_token'], - access_token_secret = token['oauth_token_secret']) + if(self.api is None): + self.api = twitter.Api(consumer_key = self.consumer_key, + consumer_secret = self.consumer_secret, + access_token_key = token['oauth_token'], + access_token_secret = token['oauth_token_secret']) + else: + self.api.SetCredentials(consumer_key = self.consumer_key, + consumer_secret = self.consumer_secret, + access_token_key = token['oauth_token'], + access_token_secret = token['oauth_token_secret']) try: verification = self.api.VerifyCredentials() self.api.InitializeRateLimit() @@ -121,7 +159,7 @@ def apply_token(self, token): ## becomes available, based on information from the Twitter API ## then return that token def select_available_token(self): - available_tokens = [token for token in self.tokens if (token['available'] and token['valid'])] + available_tokens = [token for token in self.tokens.values() if (token['available'] and token['valid'])] ## we take the first one rather than a random sample ## to make testing more reliable available_token = None @@ -129,7 +167,7 @@ def select_available_token(self): available_token = available_tokens[0] if(available_token is None): - available_tokens = sorted(self.tokens, key=lambda x: x['next_available']) + available_tokens = sorted(list(self.tokens.values()), key=lambda x: x['next_available']) for token in available_tokens: seconds_until_available = (token['next_available'] - datetime.datetime.now()).total_seconds() + 1 if(seconds_until_available <= 0): @@ -152,4 +190,25 @@ def select_available_token(self): ## x.query(x.api.GetFriends, "user") @rate_limit_retry def query(self, method, *args, **kwargs): - return method(*args, **kwargs) + method_name = method.__name__ + #print("Running {0}".format(method_name)) + #try: + # rate_limit_resource = self.rate_limit_resources[method_name] + #except KeyError: + # # log the error and continue having the error bubble through + # self.log.error("Missing a method name ({0}) from config/twitter_rate_limit_resources.csv".format(method_name)) + # raise + + result = method(*args, **kwargs) + + #current_rate_limit = self.api.rate_limit.resources[rate_limit_resource['family']][rate_limit_resource['url']] + #self.rate_limit_resources[method_name]['token'] = self.token['user_id'] + #self.rate_limit_resources[method_name]['remaining'] = current_rate_limit['remaining'] + #self.rate_limit_resources[method_name]['reset'] = current_rate_limit['reset'] + + # UPDATE TOKEN AND TOKEN LIST + ## (IN FUTURE THIS WILL BE MULTIPLE TOKENS IN A DB) + #self.token['resources'][method_name] = self.rate_limit_resources[method_name] + #self.tokens[self.token['user_id']] = self.token + + return result diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index b9b2404..83751bb 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -175,6 +175,7 @@ def archive_new_users(self, unarchived_notice_users): try: users_info = self.t.query(self.t.api.UsersLookup,screen_name=this_users) except twitter.error.TwitterError as e: + self.t.try_counter = 0 ## this line prevents the retry code from looping failed_users.update(this_users) self.log.error("Failed to query for {0} Twitter users using api.UsersLookup: {1}".format(limit-prev_limit, str(e))) else: @@ -305,6 +306,7 @@ def is_user_suspended_or_deleted(self, username): try: user = self.t.query(self.t.api.GetUser,screen_name=username) except twitter.error.TwitterError as e: + self.t.try_counter = 0 ## this line prevents the retry code from looping if e.message[0]['code'] == 50 and e.message[0]['message'] == 'User not found.': user_state = TwitterUserState.NOT_FOUND elif e.message[0]['code'] == 63 and e.message[0]['message'] == 'User has been suspended.': @@ -389,6 +391,7 @@ def archive_old_users(self, key_to_users, has_ids=True): else: users_info = self.t.query(self.t.api.UsersLookup,screen_name=this_users) except twitter.error.TwitterError as e: + self.t.try_counter = 0 ## this line prevents the retry code from looping # this message means no users_info found: "[{'code': 17, 'message': 'No user matches for specified terms.'}]" if e.message[0]['code'] != 17: self.log.error("Unexpected error while querying for {0} Twitter users using api.UsersLookup: {1}; users: {2}".format(limit-prev_limit, str(e), this_users)) diff --git a/config/twitter_rate_limit_resources.csv b/config/twitter_rate_limit_resources.csv new file mode 100644 index 0000000..e6a0bc2 --- /dev/null +++ b/config/twitter_rate_limit_resources.csv @@ -0,0 +1,138 @@ +method,family,url,limit_per_window +,business_experience,/business_experience/dashboard_settings/destroy,450 +,business_experience,/business_experience/keywords,450 +,business_experience,/business_experience/dashboard_settings/update,450 +,business_experience,/business_experience/dashboard_features,450 +,business_experience,/business_experience/dashboard_settings/show,450 +,users,/users/contributees/pending,200 +,users,/users/report_spam,15 +,users,/users/profile_banner,180 +,users,/users/search,900 +,users,/users/derived_info,15 +,users,/users/suggestions,15 +,users,/users/suggestions/:slug/members,15 +,users,/users/contributors/pending,2000 +,users,/users/suggestions/:slug,15 +GetUser,users,/users/show/:id,900 +UsersLookup,users,/users/lookup,900 +,friendships,/friendships/list,200 +,friendships,/friendships/show,180 +,friendships,/friendships/no_retweets/ids,15 +,friendships,/friendships/lookup,15 +,friendships,/friendships/outgoing,15 +,friendships,/friendships/incoming,15 +,application,/application/rate_limit_status,180 +,device,/device/token,15 +,direct_messages,/direct_messages/mark_read,1000 +,direct_messages,/direct_messages/events/list,15 +,direct_messages,/direct_messages/events/show,15 +,direct_messages,/direct_messages/subscribers/lists/list,180 +,direct_messages,/direct_messages,300 +,direct_messages,/direct_messages/broadcasts/statuses/show,60 +,direct_messages,/direct_messages/show,300 +,direct_messages,/direct_messages/subscribers/lists/members/ids,180 +,direct_messages,/direct_messages/subscribers/lists/show,180 +,direct_messages,/direct_messages/sent,300 +,direct_messages,/direct_messages/subscribers/lists/members/show,1000 +,direct_messages,/direct_messages/subscribers/show,180 +,direct_messages,/direct_messages/broadcasts/statuses/list,60 +,direct_messages,/direct_messages/sent_and_received,300 +,direct_messages,/direct_messages/broadcasts/list,60 +,direct_messages,/direct_messages/broadcasts/show,60 +,direct_messages,/direct_messages/subscribers/ids,180 +,search,/search/tweets,180 +,tweet_prompts,/tweet_prompts/report_interaction,180 +,tweet_prompts,/tweet_prompts/show,180 +,i,/i/config,15 +,sandbox,/sandbox/account_activity/webhooks/:id/subscriptions,500 +,drafts,/drafts/statuses/ids,450 +,drafts,/drafts/statuses/show,450 +,drafts,/drafts/statuses/update,450 +,drafts,/drafts/statuses/list,450 +,drafts,/drafts/statuses/destroy,450 +,drafts,/drafts/statuses/create,450 +,friends,/friends/following/ids,15 +,friends,/friends/ids,15 +,friends,/friends/following/list,15 +,friends,/friends/list,15 +,collections,/collections/entries,1000 +,collections,/collections/show,1000 +,collections,/collections/list,1000 +,webhooks,/webhooks/subscriptions/direct_messages,15 +,webhooks,/webhooks,15 +,auth,/auth/csrf_token,15 +,account_activity,/account_activity/webhooks/:id/subscriptions/direct_messages,500 +,account_activity,/account_activity/webhooks/:id/subscriptions/all,500 +,account_activity,/account_activity/webhooks/:id/subscriptions/all/list,15 +,account_activity,/account_activity/direct_messages/:instance_name/subscriptions,15 +,account_activity,/account_activity/webhooks/:id/subscriptions/direct_messages/list,15 +,account_activity,/account_activity/all/:instance_name/subscriptions,15 +,account_activity,/account_activity/webhooks,15 +,account_activity,/account_activity/direct_messages/:instance_name/webhooks,15 +,account_activity,/account_activity/direct_messages/webhooks,15 +,account_activity,/account_activity/all/:instance_name/webhooks,15 +,account_activity,/account_activity/webhooks/:id/subscriptions,500 +,account_activity,/account_activity/all/webhooks,15 +,media,/media/upload,500 +,tweets,/tweets/search/:product/:label,1800 +,tweets,/tweets/search/:product/:instance/counts,900 +,help,/help/privacy,15 +,help,/help/languages,15 +,help,/help/configuration,15 +,help,/help/tos,15 +,help,/help/settings,15 +,moments,/moments/statuses/update,5 +,moments,/moments/permissions,300 +,followers,/followers/ids,15 +,followers,/followers/list,15 +,lists,/lists/show,75 +,lists,/lists/subscribers,180 +,lists,/lists/subscribers/show,15 +,lists,/lists/ownerships,15 +,lists,/lists/members,900 +,lists,/lists/statuses,900 +,lists,/lists/memberships,75 +,lists,/lists/list,15 +,lists,/lists/members/show,15 +,lists,/lists/subscriptions,15 +,geo,/geo/similar_places,15 +,geo,/geo/search,15 +,geo,/geo/reverse_geocode,15 +,geo,/geo/id/:place_id,75 +,contacts,/contacts/users,300 +,contacts,/contacts/delete/status,300 +,contacts,/contacts/uploaded_by,300 +,contacts,/contacts/users_and_uploaded_by,300 +,contacts,/contacts/addressbook,300 +,custom_profiles,/custom_profiles/list,180 +,custom_profiles,/custom_profiles/show,180 +,feedback,/feedback/show/:id,180 +,feedback,/feedback/events,1000 +,blocks,/blocks/list,15 +,blocks,/blocks/ids,15 +,live_pipeline,/live_pipeline/events,180 +,guide,/guide,180 +,trends,/trends/place,75 +,trends,/trends/available,75 +,trends,/trends/closest,75 +,account,/account/update_profile,15 +,account,/account/login_verification_enrollment,15 +,account,/account/verify_credentials,75 +,account,/account/settings,15 +GetUserTimeline,statuses,/statuses/user_timeline,900 +,statuses,/statuses/show/:id,900 +,statuses,/statuses/retweeters/ids,75 +,statuses,/statuses/home_timeline,15 +,statuses,/statuses/mentions_timeline,75 +,statuses,/statuses/retweets/:id,75 +,statuses,/statuses/lookup,900 +,statuses,/statuses/oembed,180 +,statuses,/statuses/retweets_of_me,75 +,statuses,/statuses/friends,15 +,mutes,/mutes/users/ids,15 +,mutes,/mutes/users/list,15 +,saved_searches,/saved_searches/show/:id,15 +,saved_searches,/saved_searches/destroy/:id,15 +,saved_searches,/saved_searches/list,15 +,live_video_stream,/live_video_stream/status/:id,1000 +,favorites,/favorites/list,75 diff --git a/tests/test_twitter_connect.py b/tests/test_twitter_connect.py index b38601e..5dd5d23 100644 --- a/tests/test_twitter_connect.py +++ b/tests/test_twitter_connect.py @@ -22,6 +22,9 @@ def teardown_function(function): def test_twitter_connect(mock_twitter): t = mock_twitter.return_value conn = app.connections.twitter_connect.TwitterConnect() + + #assert len(conn.rate_limit_resources.values()), 3 + friend_accounts = [] with open("{script_dir}/fixture_data/twitter_get_friends.json".format(script_dir=TEST_DIR)) as f: fixture = json.loads(f.read()) diff --git a/utils/anonymize_lumen_twitter_fixture_data.py b/utils/anonymize_lumen_twitter_fixture_data.py index e599d10..ee267fa 100644 --- a/utils/anonymize_lumen_twitter_fixture_data.py +++ b/utils/anonymize_lumen_twitter_fixture_data.py @@ -110,7 +110,8 @@ def anonymize_twitter_user(user, user_id=None): user["created_at"] = fuzz_date(user["created_at"], TWITTER_DATETIME_STR_FORMAT) if "status" in user and user["status"]: - user["status"] = anonymize_twitter_tweet(user["status"], user_id=user_id) ## + user['status'] = {} + #user["status"] = anonymize_twitter_tweet(user["status"], user_id=user_id) ## # throw out... current tests don't depend on knowing these fields if "entities" in user and user["entities"]: diff --git a/utils/common.py b/utils/common.py index bc74adc..2730583 100644 --- a/utils/common.py +++ b/utils/common.py @@ -140,4 +140,4 @@ def __str__(self): def time_since_epoch_ms(dt): epoch = datetime.datetime.utcfromtimestamp(0) - return (dt - epoch).total_seconds() * 1000.0 \ No newline at end of file + return int((dt - epoch).total_seconds() * 1000.0) From 84a176cd18160807776f650ab0c0d4b6fb6ad3d7 Mon Sep 17 00:00:00 2001 From: Jonathan Zong Date: Sun, 18 Feb 2018 02:14:30 -0500 Subject: [PATCH 049/221] consistent job state for archive tweets --- app/controllers/twitter_controller.py | 25 ++++++++--- tests/test_lumen.py | 3 +- tests/test_twitter.py | 62 ++++++++++++++++++++++++++- 3 files changed, 81 insertions(+), 9 deletions(-) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 6f85b13..4217460 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -511,8 +511,13 @@ def query_and_archive_tweets(self, backfill=False, is_test=False): if limit > prev_limit: this_users = unarchived_users[prev_limit:limit] utils.common.update_CS_JobState(this_users, "CS_oldest_tweets_archived", CS_JobState.IN_PROGRESS, self.db_session, self.log) - user_to_state = self.with_user_records_archive_tweets(this_users, backfill=backfill, is_test=is_test) # backfill hacky - utils.common.update_all_CS_JobState(user_to_state, "CS_oldest_tweets_archived", self.db_session, self.log) + try: + self.with_user_records_archive_tweets(this_users, backfill=backfill, is_test=is_test) # backfill hacky + except: + raise # re-raise the exception + finally: + # reset progress whether or not exception is raised + utils.common.reset_CS_JobState_In_Progress(this_users, "CS_oldest_tweets_archived", self.db_session, self.log) # if still marked IN_PROGRESS (e.g. because of unchecked exception), reset it to NOT_PROCESSED prev_limit = limit self.log.info("Queried and archived tweets for {0} out of {1} users; backfill={2}".format(prev_limit, len(unarchived_users), backfill)) @@ -522,15 +527,23 @@ def query_and_archive_tweets(self, backfill=False, is_test=False): returns user_to_state """ - def with_user_records_archive_tweets(self, user_records, backfill=False, is_test=False): + def with_user_records_archive_tweets(self, user_records, backfill=False, is_test=False, test_exception=False): if len(user_records) == 0: return - user_to_state = {} # only need for when CS_JobState.NOT_PROCESSED... + if test_exception: + counter = 0 + for user in user_records: job_state = self.archive_user_tweets(user, backfill=backfill, is_test=is_test) - user_to_state[user] = job_state - return user_to_state + user.CS_oldest_tweets_archived = job_state.value + self.db_session.add(user) + self.db_session.commit() + + if test_exception: + counter += 1 + if counter >= len(user_records) / 2: + raise Exception("Throwing an exception for test purposes") """ returns (statuses, user_state, job_state) diff --git a/tests/test_lumen.py b/tests/test_lumen.py index 249843f..3345f73 100644 --- a/tests/test_lumen.py +++ b/tests/test_lumen.py @@ -77,7 +77,6 @@ def test_parse_lumen_notices(mock_LumenConnect): notices = [x for x in db_session.query(LumenNotice).all()] for notice in notices: assert notice.CS_parsed_usernames != CS_JobState.IN_PROGRESS.value - assert notices[0].CS_parsed_usernames != CS_JobState.NOT_PROCESSED.value - assert notices[-1].CS_parsed_usernames == CS_JobState.NOT_PROCESSED.value + assert len([x for x in notices if x.CS_parsed_usernames == CS_JobState.PROCESSED.value]) > 0 else: assert False # expected query_and_parse_notices_archive_users to throw test_exception diff --git a/tests/test_twitter.py b/tests/test_twitter.py index 4babe49..4b94904 100644 --- a/tests/test_twitter.py +++ b/tests/test_twitter.py @@ -50,7 +50,6 @@ def populate_notice_users(): db_session.add(notice_user_record) db_session.commit() -# @patch('app.connections.twitter_connect.TwitterConnect', autospec=True) @patch('twitter.Api', autospec=True) def test_archive_twitter_new_users(mock_twitter, populate_notice_users): t = mock_twitter.return_value @@ -70,3 +69,64 @@ def test_archive_twitter_new_users(mock_twitter, populate_notice_users): assert noticeuser.CS_account_archived != CS_JobState.IN_PROGRESS.value else: assert False # expected query_and_archive_new_users to throw test_exception + +@patch('twitter.Api', autospec=True) +@patch('app.connections.twitter_connect.TwitterConnect', autospec=True) +def test_with_user_records_archive_tweets(mock_TwitterConnect, mock_twitter_api): + tc = mock_TwitterConnect.return_value + api = mock_twitter_api.return_value + + def mocked_GetUserTimeline(user_id, count=None, max_id=None): + with open("{script_dir}/fixture_data/anon_twitter_tweets.json".format(script_dir=TEST_DIR)) as f: + data = json.loads(f.read()) + assert len(data) == 200 + if user_id == "2" or user_id == "3": # suspended_user or protected_user + raise twitter.error.TwitterError("Not authorized.") # not mocking TwitterError + elif user_id == "1": # deleted_user + raise twitter.error.TwitterError([{'message': 'Sorry, that page does not exist.', 'code': 34}]) + else: # # existing_user ? + return data + + + m = Mock() + m.side_effect = mocked_GetUserTimeline + api.GetUserTimeline = m + tc.api = api + patch('twitter.') + patch('app.connections.twitter_connect.') + + assert len(db_session.query(TwitterStatus).all()) == 0 + + + + t_controller = app.controllers.twitter_controller.TwitterController(db_session, tc, log) + + user_results = [ + ({"screen_name": "existing_user", "id": "888", "user_state": TwitterUserState.FOUND.value}, {"status_count": 200, "user_state": TwitterUserState.FOUND.value}), + ({"screen_name": "deleted_user", "id": "1", "user_state": TwitterUserState.NOT_FOUND.value}, {"status_count": 0, "user_state": TwitterUserState.NOT_FOUND.value}), + ({"screen_name": "suspended_user", "id": "2", "user_state": TwitterUserState.NOT_FOUND.value}, {"status_count": 0, "user_state": TwitterUserState.SUSPENDED.value}), + ({"screen_name": "protected_user", "id": "3", "user_state": TwitterUserState.PROTECTED.value}, {"status_count": 0, "user_state": TwitterUserState.PROTECTED.value}) + ] + + user_records = [] + for i, (user, result) in enumerate(user_results): + # need to create TwitterUser records first + user_record = TwitterUser( + id = user["id"], + screen_name = user["screen_name"], + user_state = user["user_state"]) + db_session.add(user_record) + db_session.commit() + user_records.append(user_record) + + + try: + t_controller.with_user_records_archive_tweets(user_records, backfill=True, is_test=True) + except: + user_records = [x for x in db_session.query(TwitterUser).all()] + for user_record in user_records: + assert user_record.CS_oldest_tweets_archived != CS_JobState.IN_PROGRESS.value + assert len([x for x in user_records if x.CS_oldest_tweets_archived == CS_JobState.PROCESSED.value]) > 0 + else: + assert False # expected query_and_archive_new_users to throw test_exception + From 425162e7cbb553b2c54f8184deddfe930cf155c4 Mon Sep 17 00:00:00 2001 From: DMCA Study Date: Sun, 18 Feb 2018 09:58:21 -0500 Subject: [PATCH 050/221] updated requirements.txt for proper airbrake verison --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index c6d3e28..f5e1dd8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,8 +9,8 @@ rq-dashboard mysqlclient sqlalchemy alembic +airbrake==1.3.3 ConcurrentLogHandler -airbrake pyyaml pytz numpy From ef58410826b0fe8e2c995bcd7e0494b422950ce0 Mon Sep 17 00:00:00 2001 From: DMCA Study Date: Sun, 18 Feb 2018 13:51:44 -0500 Subject: [PATCH 051/221] fixed code to correctly handle multiple lumen notices pointing to a single unobserved twitter screen name --- app/controllers/twitter_controller.py | 65 ++++++++++++++++++--------- tests/test_controllers.py | 3 ++ 2 files changed, 48 insertions(+), 20 deletions(-) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index d975e40..d20f402 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -2,13 +2,13 @@ import simplejson as json import datetime from app.models import Base, TwitterUser, TwitterStatus, LumenNoticeToTwitterUser, TwitterUserSnapshot -import utils.common import requests import sqlalchemy from sqlalchemy import and_, or_, func import utils.common from utils.common import TwitterUserState, NOT_FOUND_TWITTER_USER_STR, CS_JobState import sys +from collections import defaultdict TWITTER_DATETIME_STR_FORMAT = "%a %b %d %H:%M:%S %z %Y" @@ -71,7 +71,7 @@ def __init__(self, db_session, t, log): ################### ARCHIVE NEW USERS CODE ######################################################### - def query_and_archive_new_users(self, test_exception=True): + def query_and_archive_new_users(self, test_exception=False): # get unprocessed LumenNoticeToTwitterUser records with real twitter usernames unarchived_notice_users = self.db_session.query(LumenNoticeToTwitterUser).filter( #or_( @@ -103,8 +103,9 @@ def query_and_archive_new_users(self, test_exception=True): except: raise # re-raise the exception finally: - # reset progress whether or not exception is raised - utils.common.reset_CS_JobState_In_Progress(unprocessed_unarchived_notice_users, "CS_account_archived", self.db_session, self.log) # if still marked IN_PROGRESS (e.g. because of unchecked exception), reset it to NOT_PROCESSED + # reset progress for any remaining in-progress items whether or not exception is raised + notice_users_to_reset = [notice_user for notice_user in unprocessed_unarchived_notice_users if notice_user.CS_account_archived == CS_JobState.IN_PROGRESS.value] + utils.common.reset_CS_JobState_In_Progress(notice_users_to_reset, "CS_account_archived", self.db_session, self.log) # if still marked IN_PROGRESS (e.g. because of unchecked exception), reset it to NOT_PROCESSED """ @@ -137,7 +138,14 @@ def archive_new_users(self, unarchived_notice_users, test_exception=False): if len(unarchived_notice_users) <= 0: return (None, None) - user_names_to_notice_user = {nu.twitter_username: nu for nu in unarchived_notice_users if utils.common.NOT_FOUND_TWITTER_USER_STR not in nu.twitter_username} + #JNM NOTE TODO: SHOULD PROBABLY BE A DICT OF LISTS, NOT A DICT OF OBJECTS + # HERE WE ASSUME THAT ACCOUNTS THAT HAVE THE SAME SCREEN NAME + # AND WHICH ARE IN THIS SCRAPING SESSION ARE THE SAME ACCOUNT + user_names_to_notice_user = defaultdict(list) + for nu in unarchived_notice_users: + if(utils.common.NOT_FOUND_TWITTER_USER_STR not in nu.twitter_username): + user_names_to_notice_user[nu.twitter_username].append(nu) +# user_names_to_notice_user = {nu.twitter_username: nu for nu in unarchived_notice_users if utils.common.NOT_FOUND_TWITTER_USER_STR not in nu.twitter_username} unarchived_user_names = set(user_names_to_notice_user.keys()) user_names = list(unarchived_user_names) @@ -149,10 +157,10 @@ def archive_new_users(self, unarchived_notice_users, test_exception=False): all_existing_ids = set([]) # all ids already stored in db def commit_users_failed(user): - noticeuser = user_names_to_notice_user[user] - noticeuser.CS_account_archived = CS_JobState.FAILED.value - # noticeuser.twitter_user_id = user_name_to_id[noticeuser.twitter_username] - self.db_session.add(noticeuser) + for noticeuser in user_names_to_notice_user[user]: + noticeuser.CS_account_archived = CS_JobState.FAILED.value + # noticeuser.twitter_user_id = user_name_to_id[noticeuser.twitter_username] + self.db_session.add(noticeuser) self.db_session.commit() if test_exception: @@ -167,8 +175,9 @@ def commit_users_failed(user): users_info = self.t.query(self.t.api.UsersLookup,screen_name=this_users) except twitter.error.TwitterError as e: self.t.try_counter = 0 ## this line prevents the retry code from looping - commit_users_failed(this_users) - self.log.error("Failed to query for {0} Twitter users using api.UsersLookup: {1}".format(limit-prev_limit, str(e))) + #for this_user in this_users: + # commit_users_failed(this_user) + self.log.info("Failed to query for {0} Twitter users using api.UsersLookup: {1} {2}".format(limit-prev_limit, ",".join(this_users), str(e))) else: self.log.info("Queried for {0} Twitter users out of a total of {1} users, got {2} out of {3} users".format( limit, len(user_names), len(users_info), limit-prev_limit)) @@ -220,10 +229,13 @@ def commit_users_failed(user): all_existing_ids.add(uid) left_users.discard(screen_name) # discard doesn't throw an error - noticeuser = user_names_to_notice_user[screen_name] - noticeuser.CS_account_archived = CS_JobState.PROCESSED.value - noticeuser.twitter_user_id = uid - self.db_session.add(noticeuser) + ## iterate through the list of notice users and + ## update all of the records + noticeusers = user_names_to_notice_user[screen_name] + for nu in noticeusers: + nu.CS_account_archived = CS_JobState.PROCESSED.value + nu.twitter_user_id = uid + self.db_session.add(nu) if test_exception: counter += 1 @@ -240,8 +252,20 @@ def commit_users_failed(user): commit_users_failed(screen_name) # at end, for left_users (users not found), commit to db - # first, remove left_users that already have a TwitterUser record (with the same screen_name) left_existing_users = self.db_session.query(TwitterUser).filter(TwitterUser.screen_name.in_(list(left_users))).all() + + # first, update lumen notices that are already associated with a twitter user + for twitter_user in left_existing_users: + screen_name = twitter_user.screen_name + if screen_name in user_names_to_notice_user.keys(): + for notice_user in user_names_to_notice_user[screen_name]: + if(notice_user.CS_account_archived == CS_JobState.IN_PROGRESS.value): + notice_user.twitter_user_id = twitter_user.id + notice_user.CS_account_archived = CS_JobState.PROCESSED.value + self.db_session.add(notice_user) + self.db_session.commit() + + # next, remove left_users that already have a TwitterUser record (with the same screen_name) left_users = left_users - set([u.screen_name for u in left_existing_users]) for name in left_users: @@ -273,10 +297,11 @@ def commit_users_failed(user): user_json = None) self.db_session.add(user_snapshot_record) - noticeuser = user_names_to_notice_user[name] - noticeuser.CS_account_archived = CS_JobState.PROCESSED.value - noticeuser.twitter_user_id = uid - self.db_session.add(noticeuser) + noticeusers = user_names_to_notice_user[name] + for noticeuser in noticeusers: + noticeuser.CS_account_archived = CS_JobState.PROCESSED.value + noticeuser.twitter_user_id = uid + self.db_session.add(noticeuser) try: self.db_session.commit() diff --git a/tests/test_controllers.py b/tests/test_controllers.py index 2d900b4..2c4b71a 100644 --- a/tests/test_controllers.py +++ b/tests/test_controllers.py @@ -693,6 +693,9 @@ def test_parse_notices_archive_users(mock_LumenConnect, mock_get): # however, it should make sure that it doesn't add duplicate entries for the same user # # TODO: currently this test does not test user list with len>90, so as to not call api.UsersLookup more than once, which is difficult to mock + +#### TODO: add a test for the case where multiple lumen notices mention an account that is not retrieved from Twitter +#### look in how user_names_to_notice_user is handled in the method @patch('twitter.error', autospec=True) @patch('twitter.Api', autospec=True) def test_archive_new_users(mock_twitter_api, mock_twitter_error): From a24240e50cd33af54fcca91cd27ef1ceacef1eaf Mon Sep 17 00:00:00 2001 From: DMCA Study Date: Sun, 18 Feb 2018 20:05:05 -0500 Subject: [PATCH 052/221] bugfixes. Updated email report script --- ...94_adding_indexes_to_lumen_study_fields.py | 62 +++ app/connections/twitter_connect.py | 17 +- app/controllers/twitter_controller.py | 1 + requirements.txt | 2 +- utils/email_db_report.py | 473 ++++++------------ 5 files changed, 229 insertions(+), 326 deletions(-) create mode 100644 alembic/versions/d38d75af1294_adding_indexes_to_lumen_study_fields.py diff --git a/alembic/versions/d38d75af1294_adding_indexes_to_lumen_study_fields.py b/alembic/versions/d38d75af1294_adding_indexes_to_lumen_study_fields.py new file mode 100644 index 0000000..71fbf0d --- /dev/null +++ b/alembic/versions/d38d75af1294_adding_indexes_to_lumen_study_fields.py @@ -0,0 +1,62 @@ +"""adding indexes to lumen study fields + +Revision ID: d38d75af1294 +Revises: 59dd3251b28b +Create Date: 2018-02-18 13:35:59.527624 + +""" + +# revision identifiers, used by Alembic. +revision = 'd38d75af1294' +down_revision = '59dd3251b28b' +branch_labels = None +depends_on = None + +from alembic import op +import sqlalchemy as sa + + +def upgrade(engine_name): + globals()["upgrade_%s" % engine_name]() + + +def downgrade(engine_name): + globals()["downgrade_%s" % engine_name]() + + + +def upgrade_development(): + op.create_index(op.f('ix_lumen_notices_created_at_index'), 'lumen_notices', ['record_created_at'], unique=False) + op.create_index(op.f('ix_lumen_notice_twitter_user_created_at_index'), 'lumen_notice_to_twitter_user', ['record_created_at'], unique=False) + op.create_index(op.f('ix_twitter_users_created_at_index'), 'twitter_users', ['record_created_at'], unique=False) + op.create_index(op.f('ix_twitter_statuses_created_at_index'), 'twitter_statuses', ['record_created_at'], unique=False) + +def downgrade_development(): + op.drop_index(op.f('ix_lumen_notices_created_at_index'), table_name='lumen_notices') + op.drop_index(op.f('ix_lumen_notice_twitter_user_created_at_index'), table_name='lumen_notice_to_twitter_user') + op.drop_index(op.f('ix_twitter_users_created_at_index'), table_name='twitter_users') + op.drop_index(op.f('ix_twitter_statuses_created_at_index'), table_name='twitter_statuses') + +def upgrade_test(): + op.create_index(op.f('ix_lumen_notices_created_at_index'), 'lumen_notices', ['record_created_at'], unique=False) + op.create_index(op.f('ix_lumen_notice_twitter_user_created_at_index'), 'lumen_notice_to_twitter_user', ['record_created_at'], unique=False) + op.create_index(op.f('ix_twitter_users_created_at_index'), 'twitter_users', ['record_created_at'], unique=False) + op.create_index(op.f('ix_twitter_statuses_created_at_index'), 'twitter_statuses', ['record_created_at'], unique=False) + +def downgrade_test(): + op.drop_index(op.f('ix_lumen_notices_created_at_index'), table_name='lumen_notices') + op.drop_index(op.f('ix_lumen_notice_twitter_user_created_at_index'), table_name='lumen_notice_to_twitter_user') + op.drop_index(op.f('ix_twitter_users_created_at_index'), table_name='twitter_users') + op.drop_index(op.f('ix_twitter_statuses_created_at_index'), table_name='twitter_statuses') + +def upgrade_production(): + op.create_index(op.f('ix_lumen_notices_created_at_index'), 'lumen_notices', ['record_created_at'], unique=False) + op.create_index(op.f('ix_lumen_notice_twitter_user_created_at_index'), 'lumen_notice_to_twitter_user', ['record_created_at'], unique=False) + op.create_index(op.f('ix_twitter_users_created_at_index'), 'twitter_users', ['record_created_at'], unique=False) + op.create_index(op.f('ix_twitter_statuses_created_at_index'), 'twitter_statuses', ['record_created_at'], unique=False) + +def downgrade_production(): + op.drop_index(op.f('ix_lumen_notices_created_at_index'), table_name='lumen_notices') + op.drop_index(op.f('ix_lumen_notice_twitter_user_created_at_index'), table_name='lumen_notice_to_twitter_user') + op.drop_index(op.f('ix_twitter_users_created_at_index'), table_name='twitter_users') + op.drop_index(op.f('ix_twitter_statuses_created_at_index'), table_name='twitter_statuses') diff --git a/app/connections/twitter_connect.py b/app/connections/twitter_connect.py index af4b9d3..c2977ac 100644 --- a/app/connections/twitter_connect.py +++ b/app/connections/twitter_connect.py @@ -7,11 +7,22 @@ ENV = os.environ['CS_ENV'] +BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), "../..") + + +## LOAD CONFIG TO GET TOKEN INFO (copied from below, sigh) +config_path = os.path.join(BASE_DIR, "config", "twitter_configuration_" + ENV + ".json") +with open(config_path, "r") as config: + config = json.loads(config.read()) + +if(config['key_path'][0] == "/"): + token_path = config['key_path'] +else: + token_path = os.path.join(BASE_DIR, config['key_path']) ## HOW MANY TIMES TO RETRY? -## IN THEORY, SHOULDN'T NEED -## TO RETRY MORE THAN ONCE -RETRY_LIMIT = 10 +## WE SHOULD RETRY FOR AS MANY TIMES AS THERE ARE KEYS +RETRY_LIMIT = len(glob.glob(os.path.join(token_path, "*.json"))) def rate_limit_retry(func): diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index d20f402..ede1611 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -584,6 +584,7 @@ def get_statuses_user_state(self, user_id, count=200, max_id=None, user_state=Tw statuses = self.t.api.GetUserTimeline(user_id=user_id, count=count, max_id=max_id) except twitter.error.TwitterError as e: self.log.info(e) + self.t.try_counter = 0 ## this line prevents the retry code from looping # TODO: un-jankify this error handling/parsing code. might not get much better though if e.message == "Not authorized.": # Account is either protected or suspended diff --git a/requirements.txt b/requirements.txt index f5e1dd8..2941c80 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,7 +4,7 @@ mock simplejson redis rq -rq-scheduler +rq-scheduler==0.7.0 rq-dashboard mysqlclient sqlalchemy diff --git a/utils/email_db_report.py b/utils/email_db_report.py index 218490a..ec568db 100644 --- a/utils/email_db_report.py +++ b/utils/email_db_report.py @@ -2,19 +2,18 @@ import datetime import simplejson as json -ENV = sys.argv[1] # "production" -os.environ['CS_ENV'] = ENV +if __name__ == "__main__" and len(sys.argv) > 1: + os.environ["CS_ENV"] = sys.argv[1] +ENV = os.environ["CS_ENV"] + BASE_DIR = os.path.join(os.path.dirname(os.path.realpath(__file__)), "..") sys.path.append(BASE_DIR) -from utils.common import PageType, ThingType, TwitterUserState +from utils.common import PageType, ThingType with open(os.path.join(BASE_DIR, "config") + "/{env}.json".format(env=ENV), "r") as config: DBCONFIG = json.loads(config.read()) -with open(os.path.join(BASE_DIR, "config") + "/email_db_report.json".format(env=ENV), "r") as config: - EMAIL_CONFIG = json.loads(config.read()) - ### LOAD SQLALCHEMY from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker @@ -53,51 +52,9 @@ def run_query_for_days(query_str, today, days=7): today_str = date_to_str(today, by_day=False) last_week = today - datetime.timedelta(days=days) last_week_str = date_to_str(last_week, by_day=False) - result = db_session.execute(query_str, {"from_date": last_week_str, "to_date": today_str}).fetchall() return result -# query that doesn't take in arguments -def run_simple_query(query_str): - result = db_session.execute(query_str).fetchall() - return result - -# result should be an iterable of primitives -# column_names should be an iterable of strings -# expects arbitrary number of columns, 2 rows (one of which is the heading) -def generate_simple_html_table(result, column_names, title): - html = "{0}".format(title) - - for column in column_names: - html += "{0}".format(column) - html += "" - - for value in result: - html += "{0}".format(value) - html += "" - - return html - -# result should be [(label, count), (label, count), (label, count)...] -# expects 2 columns, arbitrary number of rows -def generate_group_by_html_table(result, title): - html = """ - - {0} - count - - """.format(title) - - html += "" - for (label, count) in result: - html += """ - {0} - {1} - """.format(label, count) - html += "" - - return html - def transform_result_to_dict(result): type_to_date_to_val = {} for row in result: @@ -109,11 +66,11 @@ def transform_result_to_dict(result): type_to_date_to_val[this_type][date] = count return type_to_date_to_val -def generate_days_html_table(result, today, title): +def generate_html_table(result, today, title): d = transform_result_to_dict(result) - return generate_simple_html_table_from_dict(d, today, title) + return generate_html_table_from_dict(d, today, title) -def generate_days_html_table_from_dict(type_to_date_to_val, today, title): +def generate_html_table_from_dict(type_to_date_to_val, today, title): days_str = [date_to_str(today - datetime.timedelta(days=i)) for i in range(0,7)] days = [str_to_date(d) for d in days_str] # to make everything 00:00:00 past_days = days[1:] @@ -153,10 +110,11 @@ def generate_days_html_table_from_dict(type_to_date_to_val, today, title): return html -def send_db_report(toaddrs, date, html): - fromaddr = EMAIL_CONFIG["fromaddr"] +def send_db_report(date, html): + with open(os.path.join(BASE_DIR, "config") + "/email_db_report.json".format(env=ENV), "r") as f: + email_config = json.loads(f.read()) subject = "CivilServant Database Report: {0}".format(date_to_str(date)) - send_email(fromaddr, toaddrs, subject, html) + send_email(email_config["fromaddr"], email_config["toaddrs"], subject, html) def send_email(fromaddr, toaddrs, subject, html): import smtplib @@ -181,10 +139,10 @@ def send_email(fromaddr, toaddrs, subject, html): ###################################################################### -######### REDDIT ############################################ +######### REDDIT ############################################ ###################################################################### -def generate_reddit_front_page(today=datetime.datetime.utcnow(), days=7): +def generate_reddit_front_page(today=datetime.datetime.utcnow(), days=7, html=True): #query_str = "SELECT min(created_at), max(created_at) FROM front_pages" #result = db_session.execute(query_str).fetchall() #print(result) @@ -195,71 +153,93 @@ def generate_reddit_front_page(today=datetime.datetime.utcnow(), days=7): GROUP BY page_type, YEAR(created_at), MONTH(created_at), DAY(created_at)""" result = run_query_for_days(query_str, today, days=days) result = [(PageType(a).name, b, c, d, e) for (a,b,c,d,e) in result] - return generate_days_html_table(result, - str_to_date(date_to_str(today)), - "New FrontPage count, by pagetype") # to make everything 00:00:00 + if not html: + return result + return generate_html_table(result, + str_to_date(date_to_str(today)), + "New FrontPage count, by pagetype") # to make everything 00:00:00 -def generate_reddit_subreddit_page(today=datetime.datetime.utcnow(), days=7): +def generate_reddit_subreddit_page(today=datetime.datetime.utcnow(), days=7, html=True): query_str = """ - SELECT subreddit_id, page_type, YEAR(created_at), MONTH(created_at), DAY(created_at), count(*) - FROM subreddit_pages WHERE created_at <= :to_date and created_at >= :from_date - GROUP BY subreddit_id, page_type, YEAR(created_at), MONTH(created_at), DAY(created_at)""" + SELECT sr.name, srp.page_type, YEAR(srp.created_at), MONTH(srp.created_at), DAY(srp.created_at), count(*) + FROM subreddit_pages srp + JOIN subreddits sr ON sr.id = srp.subreddit_id + WHERE srp.created_at <= :to_date and srp.created_at >= :from_date + GROUP BY sr.name, srp.page_type, YEAR(srp.created_at), MONTH(srp.created_at), DAY(srp.created_at)""" result = run_query_for_days(query_str, today, days=days) result = [("({0}, {1})".format(a, PageType(b).name), c, d, e, f) for (a,b,c,d,e,f) in result] - return generate_days_html_table(result, + if not html: + return result + return generate_html_table(result, str_to_date(date_to_str(today)), "New SubredditPage count, by (subreddit, pagetype)") # to make everything 00:00:00 -def generate_reddit_subreddit(today=datetime.datetime.utcnow(), days=7): +def generate_reddit_subreddit(today=datetime.datetime.utcnow(), days=7, html=True): query_str = """ SELECT '{0}', YEAR(created_at), MONTH(created_at), DAY(created_at), count(*) FROM subreddits WHERE created_at <= :to_date and created_at >= :from_date GROUP BY YEAR(created_at), MONTH(created_at), DAY(created_at)""".format(TOTAL_LABEL) result = run_query_for_days(query_str, today, days=days) - return generate_days_html_table(result, + if not html: + return result + return generate_html_table(result, str_to_date(date_to_str(today)), "New Subreddit count") # to make everything 00:00:00 -def generate_reddit_post(today=datetime.datetime.utcnow(), days=7): +def generate_reddit_post(today=datetime.datetime.utcnow(), days=7, html=True): query_str = """ - SELECT subreddit_id, YEAR(created_at), MONTH(created_at), DAY(created_at), count(*) - FROM posts WHERE created_at <= :to_date and created_at >= :from_date - GROUP BY subreddit_id, YEAR(created_at), MONTH(created_at), DAY(created_at)""" + SELECT sr.name, YEAR(p.created_at), MONTH(p.created_at), DAY(p.created_at), count(*) + FROM posts p + JOIN subreddits sr ON sr.id = p.subreddit_id + WHERE p.created_at <= :to_date and p.created_at >= :from_date + GROUP BY sr.name, YEAR(p.created_at), MONTH(p.created_at), DAY(p.created_at)""" result = run_query_for_days(query_str, today, days=days) - return generate_days_html_table(result, + if not html: + return result + return generate_html_table(result, str_to_date(date_to_str(today)), "New Post count, by subreddit") # to make everything 00:00:00 -def generate_reddit_comment(today=datetime.datetime.utcnow(), days=7): +def generate_reddit_comment(today=datetime.datetime.utcnow(), days=7, html=True): query_str = """ - SELECT subreddit_id, YEAR(created_at), MONTH(created_at), DAY(created_at), count(*) - FROM comments WHERE created_at <= :to_date and created_at >= :from_date - GROUP BY subreddit_id, YEAR(created_at), MONTH(created_at), DAY(created_at)""" + SELECT sr.name, YEAR(c.created_at), MONTH(c.created_at), DAY(c.created_at), count(*) + FROM comments c + JOIN subreddits sr ON sr.id = c.subreddit_id + WHERE c.created_at <= :to_date and c.created_at >= :from_date + GROUP BY sr.name, YEAR(c.created_at), MONTH(c.created_at), DAY(c.created_at)""" result = run_query_for_days(query_str, today, days=days) - return generate_days_html_table(result, + if not html: + return result + return generate_html_table(result, str_to_date(date_to_str(today)), "New Comment count, by subreddit") # to make everything 00:00:00 -def generate_reddit_user(today=datetime.datetime.utcnow(), days=7): +def generate_reddit_user(today=datetime.datetime.utcnow(), days=7, html=True): query_str = """ SELECT '{0}', YEAR(first_seen), MONTH(first_seen), DAY(first_seen), count(*) FROM users WHERE first_seen <= :to_date and first_seen >= :from_date GROUP BY YEAR(first_seen), MONTH(first_seen), DAY(first_seen)""".format(TOTAL_LABEL) result = run_query_for_days(query_str, today, days=days) - return generate_days_html_table(result, + if not html: + return result + return generate_html_table(result, str_to_date(date_to_str(today)), "New User count") # to make everything 00:00:00 -def generate_reddit_mod_action(today=datetime.datetime.utcnow(), days=7): +def generate_reddit_mod_action(today=datetime.datetime.utcnow(), days=7, html=True): query_str = """ - SELECT subreddit_id, YEAR(created_at), MONTH(created_at), DAY(created_at), count(*) - FROM mod_actions WHERE created_at <= :to_date and created_at >= :from_date - GROUP BY subreddit_id, YEAR(created_at), MONTH(created_at), DAY(created_at)""" + SELECT sr.name, YEAR(ma.created_at), MONTH(ma.created_at), DAY(ma.created_at), count(*) + FROM mod_actions ma + JOIN subreddits sr ON sr.id = ma.subreddit_id + WHERE ma.created_at <= :to_date and ma.created_at >= :from_date + GROUP BY sr.name, YEAR(ma.created_at), MONTH(ma.created_at), DAY(ma.created_at)""" result = run_query_for_days(query_str, today, days=days) - return generate_days_html_table(result, + if not html: + return result + return generate_html_table(result, str_to_date(date_to_str(today)), "New Mod actions count") # to make everything 00:00:00 @@ -271,176 +251,69 @@ def generate_reddit_mod_action(today=datetime.datetime.utcnow(), days=7): ###################################################################### -def generate_lumen_notices(today=datetime.datetime.utcnow(), days=7): - query_str = """ - SELECT '{0}', YEAR(date_received), MONTH(date_received), DAY(date_received), count(*) - FROM lumen_notices WHERE date_received <= :to_date and date_received >= :from_date - GROUP BY YEAR(date_received), MONTH(date_received), DAY(date_received)""".format(TOTAL_LABEL) - result = run_query_for_days(query_str, today, days=days) - return generate_days_html_table(result, - str_to_date(date_to_str(today)), - "New Lumen Notices per day count") -def generate_lumen_notices_collected(today=datetime.datetime.utcnow(), days=7): - query_str = """ - SELECT '{0}', YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) - FROM lumen_notices WHERE record_created_at <= :to_date and record_created_at >= :from_date - GROUP BY YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at)""".format(TOTAL_LABEL) - result = run_query_for_days(query_str, today, days=days) - return generate_days_html_table(result, - str_to_date(date_to_str(today)), - "New Lumen Notices collected per day count") +# queries for Lumen, Twitter... -#job state query -def generate_lumen_notices_job_state(): - query_str = """ - SELECT CS_parsed_usernames, count(*) - FROM lumen_notices - GROUP BY CS_parsed_usernames - """ - result = run_simple_query(query_str) - return generate_group_by_html_table( - [(TwitterUserState(label).name, count) for (label, count) in result], - "LumenNotices.CS_parsed_usernames") - - - -def generate_lumen_notice_to_twitter_user_collected(today=datetime.datetime.utcnow(), days=7): - query_str = """ - SELECT '{0}', YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) - FROM lumen_notice_to_twitter_user WHERE record_created_at <= :to_date and record_created_at >= :from_date - GROUP BY YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at)""".format(TOTAL_LABEL) +def generate_lumen_notices(today=datetime.datetime.utcnow(), days=7, html=True, label="Lumen Notices"): + query_str = """SELECT 'lumen', YEAR(date_received), MONTH(date_received), DAY(date_received), count(*) + FROM lumen_notices WHERE date_received <= :to_date and date_received >= :from_date + GROUP BY YEAR(date_received), MONTH(date_received), DAY(date_received);""" result = run_query_for_days(query_str, today, days=days) - return generate_days_html_table(result, - str_to_date(date_to_str(today)), - "New Total LumenNoticeToTwitterUser collected per day count") - + if not html: + return result + return generate_html_table(result, + str_to_date(date_to_str(today)), + label) # to make everything 00:00:00 -def generate_lumen_notice_to_twitter_user_incomplete(today=datetime.datetime.utcnow(), days=7): +def generate_lumen_notice_to_twitter_user(today=datetime.datetime.utcnow(), days=7, html=True, label="Lumen Notices to Twitter Users"): query_str = """ - SELECT '{0}', YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) + SELECT 'lumen', YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) FROM lumen_notice_to_twitter_user WHERE record_created_at <= :to_date and record_created_at >= :from_date - and twitter_user_id is NULL - GROUP BY YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at)""".format(TOTAL_LABEL) + GROUP BY YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at);""" result = run_query_for_days(query_str, today, days=days) - return generate_days_html_table(result, - str_to_date(date_to_str(today)), - "Incomplete LumenNoticeToTwitterUser per day count") + if not html: + return result + return generate_html_table(result, + str_to_date(date_to_str(today)), + label) # to make everything 00:00:00 - - -# simple count query -def generate_lumen_notice_to_twitter_user_simple_counts(): - query_str = """ - SELECT count(*), count(notice_id), count(twitter_username) - FROM lumen_notice_to_twitter_user - """ - result = run_simple_query(query_str) - return generate_simple_html_table(result, "LumenNoticeToTwitterUser counts") - -# simple count query -def generate_lumen_notice_to_twitter_user_incomplete_simple_counts(): +def generate_twitter_users(today=datetime.datetime.utcnow(), days=7, html=True, label="Twitter Users"): query_str = """ - SELECT count(*), count(notice_id), count(twitter_username) - FROM lumen_notice_to_twitter_user - WHERE twitter_user_id is NULL - """ - result = run_simple_query(query_str) - return generate_simple_html_table(result, "Incomplete LumenNoticeToTwitterUser counts") - - -#job state query -def generate_lumen_notice_to_twitter_user_job_state(): - query_str = """ - SELECT CS_account_archived, count(*) - FROM lumen_notice_to_twitter_user - GROUP BY CS_account_archived - """ - result = run_simple_query(query_str) - return generate_group_by_html_table( - [(TwitterUserState(label).name, count) for (label, count) in result], - "LumenNoticeToTwitterUser.CS_account_archived") - - -def generate_twitter_user_collected(today=datetime.datetime.utcnow(), days=7): - query_str = """ - SELECT '{0}', YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) - FROM twitter_users WHERE record_created_at <= :to_date and record_created_at >= :from_date - GROUP BY YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at)""".format(TOTAL_LABEL) + SELECT 'lumen', YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) + FROM twitter_users WHERE record_created_at <= :to_date and record_created_at >= :from_date + GROUP BY YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at);""" result = run_query_for_days(query_str, today, days=days) - return generate_days_html_table(result, - str_to_date(date_to_str(today)), - "New Total Twitter Users collected per day count") - - -#job state query -def generate_twitter_users_job_state(): - query_str = """ - SELECT CS_oldest_tweets_archived, count(*) - FROM twitter_users - GROUP BY CS_oldest_tweets_archived - """ - result = run_simple_query(query_str) - return generate_group_by_html_table( - [(TwitterUserState(label).name, count) for (label, count) in result], - "TwitterUsers.CS_oldest_tweets_archived") - - -# simple count query -def generate_twitter_users_simple_counts(): - query_str = """ - SELECT count(*), count(screen_name) - FROM twitter_users - """ - result = run_simple_query(query_str) - return generate_simple_html_table( - result[0], - ["count(*)", "count(screen_name)"], - "TwitterUsers counts") - - -# simple count query -def generate_twitter_user_snapshots_simple_counts(): - query_str = """ - SELECT count(*), count(twitter_user_id) - FROM twitter_user_snapshots - """ - result = run_simple_query(query_str) - return generate_simple_html_table( - result[0], - ["count(*)", "count(twitter_user_id)"], - "TwitterUserSnapshots counts") - - + if not html: + return result + return generate_html_table(result, + str_to_date(date_to_str(today)), + label) # to make everything 00:00:00 ##### TAKES (AT LEAST) 5 MIN TO RUN... -def generate_twitter_user_snapshots_collected(today=datetime.datetime.utcnow(), days=7): +def generate_twitter_user_snapshots(today=datetime.datetime.utcnow(), days=7, html=True, label="Twitter User Snapshots"): query_str = """ - SELECT '{0}', YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) - FROM twitter_user_snapshots WHERE record_created_at <= :to_date and record_created_at >= :from_date - GROUP BY YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at)""".format(TOTAL_LABEL) + SELECT 'lumen', YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) + FROM twitter_user_snapshots WHERE record_created_at <= :to_date and record_created_at >= :from_date + GROUP BY YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at);""" result = run_query_for_days(query_str, today, days=days) - return generate_days_html_table(result, - str_to_date(date_to_str(today)), - "New Total Twitter User Snapshots collected per day count") - -# simple count query -def generate_twitter_statuses_simple_counts(): + if not html: + return result + return generate_html_table(result, + str_to_date(date_to_str(today)), + label) # to make everything 00:00:00 + +##### TOO EXPENSIVE.... +def generate_tweets(today=datetime.datetime.utcnow(), days=7, html=True, label="Tweets"): query_str = """ - SELECT count(*), count(user_id) - FROM twitter_statuses - """ - result = run_simple_query(query_str) - return generate_simple_html_table( - result[0], - ["count(*)", "count(user_id)"], - "TwitterStatuses counts") - - -# ##### TOO EXPENSIVE.... probably not worth doing. -# query_str = """SELECT YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) -# FROM twitter_statuses WHERE record_created_at <= "2017-07-19" and record_created_at >= "2017-07-05" -# GROUP BY YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at);""" + SELECT 'lumen', YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) + FROM twitter_statuses WHERE record_created_at <= :to_date and record_created_at >= :from_date + GROUP BY YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at);""" + result = run_query_for_days(query_str, today, days=days) + if not html: + return result + return generate_html_table(result, + str_to_date(date_to_str(today)), + label) # to make everything 00:00:00 @@ -449,17 +322,19 @@ def generate_twitter_statuses_simple_counts(): ###################################################################### ######### EXPERIMENT ######### -def generate_experiment_new(today=datetime.datetime.utcnow(), days=7): +def generate_experiment_new(today=datetime.datetime.utcnow(), days=7, html=True): query_str = """ SELECT '{0}', YEAR(created_at), MONTH(created_at), DAY(created_at), count(*) FROM experiments WHERE created_at <= :to_date and created_at >= :from_date GROUP BY YEAR(created_at), MONTH(created_at), DAY(created_at)""".format(TOTAL_LABEL) result = run_query_for_days(query_str, today, days=days) - return generate_days_html_table(result, + if not html: + return result + return generate_html_table(result, str_to_date(date_to_str(today)), "New Experiment count") # to make everything 00:00:00 -def generate_experiment_active(today=datetime.datetime.utcnow(), days=7): +def generate_experiment_active(today=datetime.datetime.utcnow(), days=7, html=True): query_str = """ SELECT id, start_time, end_time FROM experiments WHERE start_time <= :to_date and end_time >= :from_date""" @@ -473,41 +348,49 @@ def generate_experiment_active(today=datetime.datetime.utcnow(), days=7): for (eid, start, end) in result: if start <= day and day <= end: type_to_date_to_val[TOTAL_LABEL][day] += 1 - return generate_days_html_table_from_dict(type_to_date_to_val, + if not html: + return type_to_date_to_val + return generate_html_table_from_dict(type_to_date_to_val, str_to_date(date_to_str(today)), "Active Experiment count") # to make everything 00:00:00 -def generate_experiment_thing(today=datetime.datetime.utcnow(), days=7): +def generate_experiment_thing(today=datetime.datetime.utcnow(), days=7, html=True): query_str = """ SELECT experiment_id, object_type, YEAR(created_at), MONTH(created_at), DAY(created_at), count(*) FROM experiment_things WHERE created_at <= :to_date and created_at >= :from_date GROUP BY experiment_id, object_type, YEAR(created_at), MONTH(created_at), DAY(created_at)""" result = run_query_for_days(query_str, today, days=days) result = [("({0}, {1})".format(a, ThingType(b).name), c, d, e, f) for (a,b,c,d,e,f) in result] - return generate_days_html_table(result, + if not html: + return result + return generate_html_table(result, str_to_date(date_to_str(today)), - "ExperimentThing count, by (experiment, objecttype)") # to make everything 00:00:00 + "Experiment280/(24*60)Thing count, by (experiment, objecttype)") # to make everything 00:00:00 -def generate_experiment_thing_snapshot(today=datetime.datetime.utcnow(), days=7): +def generate_experiment_thing_snapshot(today=datetime.datetime.utcnow(), days=7, html=True): query_str = """ SELECT experiment_id, object_type, YEAR(created_at), MONTH(created_at), DAY(created_at), count(*) FROM experiment_thing_snapshots WHERE created_at <= :to_date and created_at >= :from_date GROUP BY experiment_id, object_type, YEAR(created_at), MONTH(created_at), DAY(created_at)""" result = run_query_for_days(query_str, today, days=days) result = [("({0}, {1})".format(a, ThingType(b).name), c, d, e, f) for (a,b,c,d,e,f) in result] - return generate_days_html_table(result, + if not html: + return result + return generate_html_table(result, str_to_date(date_to_str(today)), "ExperimentThingSnapshot count, by (experiment, objecttype)") # to make everything 00:00:00 -def generate_experiment_action(today=datetime.datetime.utcnow(), days=7): +def generate_experiment_action(today=datetime.datetime.utcnow(), days=7, html=True): query_str = """ SELECT experiment_id, action, YEAR(created_at), MONTH(created_at), DAY(created_at), count(*) FROM experiment_actions WHERE created_at <= :to_date and created_at >= :from_date GROUP BY experiment_id, action, YEAR(created_at), MONTH(created_at), DAY(created_at)""" result = run_query_for_days(query_str, today, days=days) result = [("({0}, {1})".format(a, b), c, d, e, f) for (a,b,c,d,e,f) in result] - return generate_days_html_table(result, + if not html: + return result + return generate_html_table(result, str_to_date(date_to_str(today)), "ExperimentAction count, by (experiment, action)") # to make everything 00:00:00 @@ -526,44 +409,42 @@ def generate_experiment_action(today=datetime.datetime.utcnow(), days=7): border-collapse: collapse; width: 100%; } - th { background-color:#dddddd } - th, td { padding: 8px; text-align: left; border-bottom: 1px solid #ddd; } - tr:hover{ background-color:#f5f5f5 } - td.highlight { background-color:#eeeeee } - - - """ - def generate_report(today=datetime.datetime.utcnow(), days=7): html = "" + css + "" html += "

Number of records stored per day

" #html += "

Reddit:

" html += "" - html += generate_reddit_front_page(today, days) - html += generate_reddit_subreddit_page(today, days) - html += generate_reddit_subreddit(today, days) - html += generate_reddit_post(today, days) - html += generate_reddit_comment(today, days) - html += generate_reddit_user(today, days) - html += generate_reddit_mod_action(today, days) - #html += "

Experiment:

" + html += "

Lumen Twitter Data Collection

" + html += generate_lumen_notices(today, days) + html += generate_lumen_notice_to_twitter_user(today, days) + html += generate_twitter_users(today, days) + html += generate_twitter_user_snapshots(today, days) + html += generate_tweets(today, days) + #html += generate_reddit_front_page(today, days) + #html += generate_reddit_subreddit_page(today, days) + #html += generate_reddit_subreddit(today, days) + #html += generate_reddit_post(today, days) + #html += generate_reddit_comment(today, days) + #html += generate_reddit_user(today, days) + #html += generate_reddit_mod_action(today, days) + html += "

Experiment:

" html += generate_experiment_new(today, days) html += generate_experiment_active(today, days) html += generate_experiment_thing(today, days) @@ -573,58 +454,6 @@ def generate_report(today=datetime.datetime.utcnow(), days=7): html += "" return html -def generate_twitter_report(today=datetime.datetime.utcnow(), days=7): - html = "" + css + "" - html += "

Number of records stored per day

" - - html += "

LumenNotices

" - html += "
" - html += generate_lumen_notices(today, days) - html += generate_lumen_notices_collected(today, days) - html += "
" - html += "" - html += generate_lumen_notices_job_state() - html += "
" - - html += "

LumenNoticeToTwitterUsers

" - html += "" - html += generate_lumen_notice_to_twitter_user_collected(today, days) - html += generate_lumen_notice_to_twitter_user_incomplete(today, days) - html += "
" - html += "" - html += generate_lumen_notice_to_twitter_user_job_state() - html += "
" - html += "" - html += generate_lumen_notice_to_twitter_user_simple_counts() - html += generate_lumen_notice_to_twitter_user_incomplete_simple_counts() - html += "
" - - html += "

TwitterUsers

" - html += "" - html += generate_twitter_user_collected(today, days) - html += "
" - html += "" - html += generate_twitter_users_job_state() - html += "
" - html += "" - html += generate_twitter_users_simple_counts() - html += "
" - - html += "

TwitterUserSnapshots

" - html += "" - html += generate_twitter_user_snapshots_collected(today, days) - html += "
" - html += "" - html += generate_twitter_user_snapshots_simple_counts() - html += "
" - - html += "

TwitterStatuses

" - html += "" - html += generate_twitter_statuses_simple_counts() - html += "
" - - html += "" - return html ############################################################# @@ -632,9 +461,9 @@ def generate_twitter_report(today=datetime.datetime.utcnow(), days=7): if __name__ == "__main__": - today = datetime.datetime.utcnow() # str_to_date("2016-08-26 23:59:59", by_day=False) - html = generate_report(today, days=7) - toaddrs = EMAIL_CONFIG["toaddrs"] - send_db_report(toaddrs, today, html) + now = datetime.datetime.utcnow() + end = datetime.datetime.combine(now, datetime.time()) + today = end - datetime.timedelta(seconds=1) - #print(html) \ No newline at end of file + html = generate_report(today, days=7) + send_db_report(today, html) From 9a177fda7610e17a94b1cc96831c8a4f46a152eb Mon Sep 17 00:00:00 2001 From: Max Klein Date: Wed, 11 Jul 2018 16:32:47 -0700 Subject: [PATCH 053/221] load up key files --- .../versions/200471c7e77d_add_lumen_tables.py | 82 ++++++++++ .../eee2d2e40d5d_twitter_usertokens.py | 142 ++++++++++++++++++ app/controller.py | 30 ++-- app/models.py | 55 +++++-- tests/test_twitter_connect.py | 50 +++++- 5 files changed, 320 insertions(+), 39 deletions(-) create mode 100644 alembic/versions/200471c7e77d_add_lumen_tables.py create mode 100644 alembic/versions/eee2d2e40d5d_twitter_usertokens.py diff --git a/alembic/versions/200471c7e77d_add_lumen_tables.py b/alembic/versions/200471c7e77d_add_lumen_tables.py new file mode 100644 index 0000000..9ed9c73 --- /dev/null +++ b/alembic/versions/200471c7e77d_add_lumen_tables.py @@ -0,0 +1,82 @@ +"""add lumen tables + +Revision ID: 200471c7e77d +Revises: d38d75af1294 +Create Date: 2018-06-18 11:28:29.753031 + +""" + +# revision identifiers, used by Alembic. +revision = '200471c7e77d' +down_revision = 'd38d75af1294' +branch_labels = None +depends_on = None + +from alembic import op +import sqlalchemy as sa + + +def upgrade(engine_name): + globals()["upgrade_%s" % engine_name]() + + +def downgrade(engine_name): + globals()["downgrade_%s" % engine_name]() + + + + + +def upgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index('ix_lumen_notice_twitter_user_created_at_index', table_name='lumen_notice_to_twitter_user') + op.drop_index('ix_lumen_notices_created_at_index', table_name='lumen_notices') + op.drop_index('ix_twitter_statuses_created_at_index', table_name='twitter_statuses') + op.drop_index('ix_twitter_users_created_at_index', table_name='twitter_users') + # ### end Alembic commands ### + + +def downgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_index('ix_twitter_users_created_at_index', 'twitter_users', ['record_created_at'], unique=False) + op.create_index('ix_twitter_statuses_created_at_index', 'twitter_statuses', ['record_created_at'], unique=False) + op.create_index('ix_lumen_notices_created_at_index', 'lumen_notices', ['record_created_at'], unique=False) + op.create_index('ix_lumen_notice_twitter_user_created_at_index', 'lumen_notice_to_twitter_user', ['record_created_at'], unique=False) + # ### end Alembic commands ### + + +def upgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index('ix_lumen_notice_twitter_user_created_at_index', table_name='lumen_notice_to_twitter_user') + op.drop_index('ix_lumen_notices_created_at_index', table_name='lumen_notices') + op.drop_index('ix_twitter_statuses_created_at_index', table_name='twitter_statuses') + op.drop_index('ix_twitter_users_created_at_index', table_name='twitter_users') + # ### end Alembic commands ### + + +def downgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_index('ix_twitter_users_created_at_index', 'twitter_users', ['record_created_at'], unique=False) + op.create_index('ix_twitter_statuses_created_at_index', 'twitter_statuses', ['record_created_at'], unique=False) + op.create_index('ix_lumen_notices_created_at_index', 'lumen_notices', ['record_created_at'], unique=False) + op.create_index('ix_lumen_notice_twitter_user_created_at_index', 'lumen_notice_to_twitter_user', ['record_created_at'], unique=False) + # ### end Alembic commands ### + + +def upgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index('ix_lumen_notice_twitter_user_created_at_index', table_name='lumen_notice_to_twitter_user') + op.drop_index('ix_lumen_notices_created_at_index', table_name='lumen_notices') + op.drop_index('ix_twitter_statuses_created_at_index', table_name='twitter_statuses') + op.drop_index('ix_twitter_users_created_at_index', table_name='twitter_users') + # ### end Alembic commands ### + + +def downgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_index('ix_twitter_users_created_at_index', 'twitter_users', ['record_created_at'], unique=False) + op.create_index('ix_twitter_statuses_created_at_index', 'twitter_statuses', ['record_created_at'], unique=False) + op.create_index('ix_lumen_notices_created_at_index', 'lumen_notices', ['record_created_at'], unique=False) + op.create_index('ix_lumen_notice_twitter_user_created_at_index', 'lumen_notice_to_twitter_user', ['record_created_at'], unique=False) + # ### end Alembic commands ### + diff --git a/alembic/versions/eee2d2e40d5d_twitter_usertokens.py b/alembic/versions/eee2d2e40d5d_twitter_usertokens.py new file mode 100644 index 0000000..af5d46c --- /dev/null +++ b/alembic/versions/eee2d2e40d5d_twitter_usertokens.py @@ -0,0 +1,142 @@ +"""twitter usertokens + +Revision ID: eee2d2e40d5d +Revises: 200471c7e77d +Create Date: 2018-07-08 14:55:40.671940 + +""" + +# revision identifiers, used by Alembic. +revision = 'eee2d2e40d5d' +down_revision = '200471c7e77d' +branch_labels = None +depends_on = None + +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import mysql + +def upgrade(engine_name): + globals()["upgrade_%s" % engine_name]() + + +def downgrade(engine_name): + globals()["downgrade_%s" % engine_name]() + + + + + +def upgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('twitter_ratestate', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('user_id', sa.String(length=64), nullable=True), + sa.Column('endpoint', sa.String(length=64), nullable=True), + sa.Column('is_exhausted', sa.Boolean(), nullable=True), + sa.Column('checkin_due', sa.DateTime(), nullable=True), + sa.Column('reset_time', sa.DateTime(), nullable=True), + sa.Column('limit', sa.Integer(), nullable=True), + sa.Column('remaining', sa.Integer(), nullable=True), + sa.Column('resources', mysql.MEDIUMTEXT(), nullable=True), + sa.Column('is_valid', sa.Boolean(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_index(op.f('ix_twitter_ratestate_endpoint'), 'twitter_ratestate', ['endpoint'], unique=False) + op.create_index(op.f('ix_twitter_ratestate_user_id'), 'twitter_ratestate', ['user_id'], unique=False) + op.create_index('user_endpoint', 'twitter_ratestate', ['user_id', 'endpoint'], unique=False) + op.create_table('twitter_tokens', + sa.Column('username', sa.String(length=64), nullable=True), + sa.Column('user_id', sa.BigInteger(), nullable=False), + sa.Column('oauth_token', sa.String(length=64), nullable=True), + sa.Column('oauth_token_secret', sa.String(length=64), nullable=True), + sa.PrimaryKeyConstraint('user_id') + ) + # ### end Alembic commands ### + + +def downgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_table('twitter_tokens') + op.drop_index('user_endpoint', table_name='twitter_ratestate') + op.drop_index(op.f('ix_twitter_ratestate_user_id'), table_name='twitter_ratestate') + op.drop_index(op.f('ix_twitter_ratestate_endpoint'), table_name='twitter_ratestate') + op.drop_table('twitter_ratestate') + # ### end Alembic commands ### + + +def upgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('twitter_ratestate', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('user_id', sa.String(length=64), nullable=True), + sa.Column('endpoint', sa.String(length=64), nullable=True), + sa.Column('is_exhausted', sa.Boolean(), nullable=True), + sa.Column('checkin_due', sa.DateTime(), nullable=True), + sa.Column('reset_time', sa.DateTime(), nullable=True), + sa.Column('limit', sa.Integer(), nullable=True), + sa.Column('remaining', sa.Integer(), nullable=True), + sa.Column('resources', mysql.MEDIUMTEXT(), nullable=True), + sa.Column('is_valid', sa.Boolean(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_index(op.f('ix_twitter_ratestate_endpoint'), 'twitter_ratestate', ['endpoint'], unique=False) + op.create_index(op.f('ix_twitter_ratestate_user_id'), 'twitter_ratestate', ['user_id'], unique=False) + op.create_index('user_endpoint', 'twitter_ratestate', ['user_id', 'endpoint'], unique=False) + op.create_table('twitter_tokens', + sa.Column('username', sa.String(length=64), nullable=True), + sa.Column('user_id', sa.BigInteger(), nullable=False), + sa.Column('oauth_token', sa.String(length=64), nullable=True), + sa.Column('oauth_token_secret', sa.String(length=64), nullable=True), + sa.PrimaryKeyConstraint('user_id') + ) + # ### end Alembic commands ### + + +def downgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_table('twitter_tokens') + op.drop_index('user_endpoint', table_name='twitter_ratestate') + op.drop_index(op.f('ix_twitter_ratestate_user_id'), table_name='twitter_ratestate') + op.drop_index(op.f('ix_twitter_ratestate_endpoint'), table_name='twitter_ratestate') + op.drop_table('twitter_ratestate') + # ### end Alembic commands ### + + +def upgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('twitter_ratestate', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('user_id', sa.String(length=64), nullable=True), + sa.Column('endpoint', sa.String(length=64), nullable=True), + sa.Column('is_exhausted', sa.Boolean(), nullable=True), + sa.Column('checkin_due', sa.DateTime(), nullable=True), + sa.Column('reset_time', sa.DateTime(), nullable=True), + sa.Column('limit', sa.Integer(), nullable=True), + sa.Column('remaining', sa.Integer(), nullable=True), + sa.Column('resources', mysql.MEDIUMTEXT(), nullable=True), + sa.Column('is_valid', sa.Boolean(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_index(op.f('ix_twitter_ratestate_endpoint'), 'twitter_ratestate', ['endpoint'], unique=False) + op.create_index(op.f('ix_twitter_ratestate_user_id'), 'twitter_ratestate', ['user_id'], unique=False) + op.create_index('user_endpoint', 'twitter_ratestate', ['user_id', 'endpoint'], unique=False) + op.create_table('twitter_tokens', + sa.Column('username', sa.String(length=64), nullable=True), + sa.Column('user_id', sa.BigInteger(), nullable=False), + sa.Column('oauth_token', sa.String(length=64), nullable=True), + sa.Column('oauth_token_secret', sa.String(length=64), nullable=True), + sa.PrimaryKeyConstraint('user_id') + ) + # ### end Alembic commands ### + + +def downgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_table('twitter_tokens') + op.drop_index('user_endpoint', table_name='twitter_ratestate') + op.drop_index(op.f('ix_twitter_ratestate_user_id'), table_name='twitter_ratestate') + op.drop_index(op.f('ix_twitter_ratestate_endpoint'), table_name='twitter_ratestate') + op.drop_table('twitter_ratestate') + # ### end Alembic commands ### + diff --git a/app/controller.py b/app/controller.py index 78c35de..250fea3 100644 --- a/app/controller.py +++ b/app/controller.py @@ -35,7 +35,7 @@ conn = app.connections.reddit_connect.RedditConnect() lumen_conn = app.connections.lumen_connect.LumenConnect(log) -twitter_conn = app.connections.twitter_connect.TwitterConnect(log) +twitter_conn = app.connections.twitter_connect.TwitterConnect(log, db_session) def fetch_reddit_front(page_type=PageType.TOP): r = conn.connect(controller="FetchRedditFront") @@ -115,18 +115,18 @@ def conduct_sticky_comment_experiment(experiment_name): # not to be run as a job, just to store and get a sce object def initialize_sticky_comment_experiment(experiment_name): - c = get_experiment_class(experiment_name) - r = conn.connect(controller=experiment_name) - sce = c( + c = get_experiment_class(experiment_name) + r = conn.connect(controller=experiment_name) + sce = c( experiment_name = experiment_name, db_session = db_session, r = r, log = log ) - return sce + return sce def remove_experiment_replies(experiment_name): - r = conn.connect(controller=experiment_name) + r = conn.connect(controller=experiment_name) sce = app.controllers.sticky_comment_experiment_controller.StickyCommentExperimentController( experiment_name = experiment_name, db_session = db_session, @@ -171,24 +171,24 @@ def fetch_lumen_notices(num_days=2): For all LumenNotices with CS_parsed_usernames=False, parse for twitter accounts """ def parse_lumen_notices_for_twitter_accounts(): - log.info("Calling parse_lumen_notices_for_twitter_accounts.") + log.info("Calling parse_lumen_notices_for_twitter_accounts.") l = app.controllers.lumen_controller.LumenController(db_session, lumen_conn, log) l.query_and_parse_notices_archive_users() """ -For all LumenNoticeToTwitterUser with CS_account_queried=False, -archive Twitter accounts in TwitterUser objects, and create 1st TwitterUserSnapshot +For all LumenNoticeToTwitterUser with CS_account_queried=False, +archive Twitter accounts in TwitterUser objects, and create 1st TwitterUserSnapshot """ def fetch_twitter_users(): - log.info("Calling fetch_twitter_users.") + log.info("Calling fetch_twitter_users.") t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) t.query_and_archive_new_users() """ -For all TwitterUserSnapshot.created_at older than x min, fetch another snapshot +For all TwitterUserSnapshot.created_at older than x min, fetch another snapshot """ def fetch_twitter_snapshot_and_tweets(max_time_delta_min=60): - log.info("Calling fetch_twitter_snapshot_and_tweets, max_time_delta_min={0}".format(max_time_delta_min)) + log.info("Calling fetch_twitter_snapshot_and_tweets, max_time_delta_min={0}".format(max_time_delta_min)) t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) now = datetime.datetime.utcnow() date = now - datetime.timedelta(minutes=int(float(max_time_delta_min))) # now-1hour @@ -198,7 +198,7 @@ def fetch_twitter_snapshot_and_tweets(max_time_delta_min=60): For all TwitterUsers with CS_most_tweets_queried=False, fetch tweets """ def fetch_twitter_tweets(backfill=False): - log.info("Calling fetch_twitter_tweets, backfill={0}.".format(backfill)) + log.info("Calling fetch_twitter_tweets, backfill={0}.".format(backfill)) t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) t.query_and_archive_tweets(backfill) @@ -212,7 +212,7 @@ def twitter_observational_analysis_basic_profiling(): # python app/controller.py twitter_observational_analysis 2017-05-31 2017-06-02 7 /home/mmou/Dropbox/Documents/Chronos/MIT/CM/CivilServant def twitter_observational_analysis(start_date, end_date, min_observed_days, output_dir): start_date = datetime.datetime.strptime(start_date, "%Y-%m-%d") - end_date = datetime.datetime.strptime(end_date, "%Y-%m-%d") + end_date = datetime.datetime.strptime(end_date, "%Y-%m-%d") min_observed_days = int(min_observed_days) to = app.controllers.twitter_observational_analysis_controller.TwitterObservationalAnalysisController( @@ -223,4 +223,4 @@ def twitter_observational_analysis(start_date, end_date, min_observed_days, outp if __name__ == "__main__": fnc = sys.argv[1] args = sys.argv[2:] - locals()[fnc](*args) \ No newline at end of file + locals()[fnc](*args) diff --git a/app/models.py b/app/models.py index 222c55a..08219af 100644 --- a/app/models.py +++ b/app/models.py @@ -45,12 +45,12 @@ class Post(Base): created = Column(DateTime) # "created" post_data = Column(MEDIUMTEXT) # "json_dict" comment_data = Column(LONGTEXT) - comments_queried_at = Column(DateTime, default=None) + comments_queried_at = Column(DateTime, default=None) class ModAction(Base): __tablename__ = "mod_actions" id = Column(String(256), primary_key = True, unique=True, autoincrement=False) - created_at = Column(DateTime, default=datetime.datetime.utcnow, index=True) + created_at = Column(DateTime, default=datetime.datetime.utcnow, index=True) created_utc = Column(DateTime) subreddit_id = Column(String(32), index=True) mod = Column(String(64)) @@ -92,7 +92,7 @@ def get_comment_tree(self, db_session, sqlalchemyfilter = None): data = comment_data, link_id = comment_data['link_id'], toplevel = toplevel) - all_comments[comment.id] = comment_node + all_comments[comment.id] = comment_node if(toplevel): all_toplevel[comment.id] = comment_node @@ -107,7 +107,7 @@ def get_comment_tree(self, db_session, sqlalchemyfilter = None): parent.add_child(comment) except: continue - return {"all_comments": all_comments, "all_toplevel":all_toplevel} + return {"all_comments": all_comments, "all_toplevel":all_toplevel} Index("ix_comments_subreddit_id_created_at", Comment.subreddit_id, Comment.created_at) @@ -125,7 +125,7 @@ class PrawKey(Base): # IDs will be a string based on the assumption # that each device will only have one process # at a time handling a particular controller - # in the format: + # in the format: # HOST:ENV:CONTROLLER # For example: # hannahmore:development:FrontPageController @@ -160,7 +160,7 @@ class ExperimentThing(Base): experiment_id = Column(Integer, index = True) object_created = Column(DateTime, index = True) #column for experiment-specific custom query index - query_index = Column(String(256), index = True) + query_index = Column(String(256), index = True) metadata_json = Column(MEDIUMTEXT) class ExperimentThingSnapshot(Base): @@ -189,14 +189,14 @@ class ExperimentAction(Base): class EventHook(Base): __tablename__ = "event_hooks" id = Column(Integer, primary_key=True) - name = Column(String(256), index=True) + name = Column(String(256), index=True) created_at = Column(DateTime, default=datetime.datetime.utcnow, index=True) experiment_id = Column(Integer, index=True) is_active = Column(Boolean, default=False) - call_when = Column(Integer) # see utils/common.py EventWhen Enum + call_when = Column(Integer) # see utils/common.py EventWhen Enum caller_controller = Column(String(256), nullable=False) - caller_method = Column(String(256), nullable=False) - callee_module = Column(String(256), nullable=False) # module, e.g. "app.controllers.sticky_comment_experiment_controller" + caller_method = Column(String(256), nullable=False) + callee_module = Column(String(256), nullable=False) # module, e.g. "app.controllers.sticky_comment_experiment_controller" callee_controller = Column(String(256), nullable=False) # class, e.g. "ChangingStickyCommentExperimentController" callee_method = Column(String(256), nullable=False) # method, e.g. "change_sticky_comment_text" @@ -226,7 +226,7 @@ class LumenNoticeExpandedURL(Base): # use twitter_use_id to join with TwitterUser, TwitterUserSnapshot, TwistterStatus class LumenNoticeToTwitterUser(Base): __tablename__ = 'lumen_notice_to_twitter_user' - id = Column(Integer, primary_key = True) + id = Column(Integer, primary_key = True) record_created_at = Column(DateTime, default=datetime.datetime.utcnow) notice_id = Column(BigInteger, index=True) twitter_username = Column(String(256), index = True) # if not found, NOT_FOUND_TWITTER_USER_STR @@ -237,8 +237,8 @@ class LumenNoticeToTwitterUser(Base): class TwitterUser(Base): __tablename__ = 'twitter_users' id = Column(String(64), primary_key = True) # should be lowercase; if not found, # if not found, NOT_FOUND_TWITTER_USER_STR_[date] - not_found_id = Column(String(64), index = True, default=None) # if a user ever goes between e.g. FOUND and NOT_FOUND (either direction), - # we want to be able to map between the actual id and the ... id + not_found_id = Column(String(64), index = True, default=None) # if a user ever goes between e.g. FOUND and NOT_FOUND (either direction), + # we want to be able to map between the actual id and the ... id screen_name = Column(String(256), index = True) # if not found, # if not found, NOT_FOUND_TWITTER_USER_STR created_at = Column(DateTime) record_created_at = Column(DateTime, default=datetime.datetime.utcnow) @@ -250,16 +250,39 @@ class TwitterUserSnapshot(Base): __tablename__ = 'twitter_user_snapshots' id = Column(Integer, primary_key = True) twitter_user_id = Column(String(64), index = True) - twitter_not_found_id= Column(String(64), index = True, default=None) # if a user ever goes between e.g. FOUND and NOT_FOUND (either direction), - # we want to be able to map between the actual id and the ... id + twitter_not_found_id= Column(String(64), index = True, default=None) # if a user ever goes between e.g. FOUND and NOT_FOUND (either direction), + # we want to be able to map between the actual id and the ... id record_created_at = Column(DateTime, default=datetime.datetime.utcnow) user_state = Column(Integer) # utils/common.py user_json = Column(MEDIUMTEXT) class TwitterStatus(Base): - __tablename__ = 'twitter_statuses' + __tablename__ = 'twitter_statuses' id = Column(BigInteger, primary_key = True) user_id = Column(String(64), index = True) created_at = Column(DateTime) record_created_at = Column(DateTime, default=datetime.datetime.utcnow) status_data = Column(MEDIUMTEXT) + +class TwitterRateState(Base): + # this tables keeps track of the RateLimit of each of our donated tokens + __tablename__ = 'twitter_ratestate' + id = Column(BigInteger, primary_key = True) + user_id = Column(String(64), index = True) + endpoint = Column(String(64), index = True) + is_exhausted = Column(Boolean(), default = False) + checkin_due = Column(DateTime) + reset_time = Column(DateTime) + limit = Column(Integer) + remaining = Column(Integer) + resources = Column(MEDIUMTEXT) + is_valid = Column(Boolean(), default = True) + __table_args__ = (Index('user_endpoint', "user_id", "endpoint"),) + +class TwitterToken(Base): + # this table stores each of our donated tokens. + __tablename__ = 'twitter_tokens' + username = Column(String(64)) #twitters limit is 15, futureproofing + user_id = Column(BigInteger, primary_key = True) + oauth_token = Column(String(64)) #these are only 50 long + oauth_token_secret = Column(String(64)) #these are only 45 long diff --git a/tests/test_twitter_connect.py b/tests/test_twitter_connect.py index 5dd5d23..8fd2bfa 100644 --- a/tests/test_twitter_connect.py +++ b/tests/test_twitter_connect.py @@ -4,11 +4,15 @@ import datetime, time from mock import Mock, patch import simplejson as json -from utils.common import json2obj +from utils.common import json2obj, DbEngine +from app.models import TwitterTokens TEST_DIR = os.path.dirname(os.path.realpath(__file__)) BASE_DIR = os.path.join(TEST_DIR, "../") -ENV = os.environ['CS_ENV'] ="test" +ENV = os.environ['CS_ENV'] = "test" + +db_session = DbEngine(os.path.join(TEST_DIR, "../", "config") + "/{env}.json".format(env=ENV)).new_session() + import app.connections.twitter_connect @@ -18,6 +22,14 @@ def setup_function(function): def teardown_function(function): pass +@patch('twitter.Api', autospec=True) +@patch('twitter.ratelimit.RateLimit', autospec=True) +def test_load_tokens(mock_rate_limit, mock_twitter): + db_session.rollback() + db_session.query(TwitterTokens).delete() + from IPython import embed; embed() + db_session.commit() + @patch('twitter.Api', autospec=True) def test_twitter_connect(mock_twitter): t = mock_twitter.return_value @@ -32,9 +44,9 @@ def test_twitter_connect(mock_twitter): json_dump = json.dumps(account) account_obj = json2obj(json_dump) friend_accounts.append(account_obj) - + t.GetFriends.return_value = friend_accounts - + friends = conn.query(conn.api.GetFriends) assert len(friends) == len(friend_accounts) @@ -47,7 +59,7 @@ def test_exception_retry(mock_rate_limit, mock_twitter): mock_rate_limit.resources = {"getfriends":{"/friends/list":{ "reset":time.mktime(reset_time.timetuple()), "remaining":0, - "limit":15}}} + "limit":15}}} #num queries per period t = mock_twitter.return_value t.rate_limit = mock_rate_limit @@ -64,13 +76,27 @@ def test_exception_retry(mock_rate_limit, mock_twitter): account_obj = json2obj(json_dump) friend_accounts.append(account_obj) + # set the side-effect of get friends to first throw an error, then later return the right result_ttl + # the reason it does this is that we except GetFriends should be called twice, first to experience the Error + # and then secondly to assume we roll-over to a good key and then return the right results t.GetFriends.side_effect = [twitter.error.TwitterError([{'code': 88, 'message': 'Rate limit exceeded'}]), friend_accounts] + # assert we are using the first token assert conn.token['user_id'] == 1 + # now try and get friends + # NOTE! this should call GetFriends twice, because connect should catch an error and then retry friends = conn.query(conn.api.GetFriends) + # assert right results still came throught assert len(friends) == len(friend_accounts) + # assert that we did roll-over onto the second token assert conn.token['user_id'] == 2 + # OK, so at this point in the code we assume that the second token is active - ##now make it wait to go back to the previous key + + ## now make it wait to go back to the previous key + # by setting the second token's reset time to be later - aka further into the future - than the fetch_twitter_snapshot_and_tweets + # and also by setting remaining to be zero + # because the circumstances we're mocking are that every key is exhausted + # so the token that has the shortest time-to-reset is used t.GetFriends.side_effect = [twitter.error.TwitterError([{'code': 88, 'message': 'Rate limit exceeded'}]), friend_accounts] mock_rate_limit.resources = {"getfriends":{"/friends/list":{ "reset":time.mktime((datetime.datetime.now() + datetime.timedelta(seconds=1)).timetuple()), @@ -78,9 +104,17 @@ def test_exception_retry(mock_rate_limit, mock_twitter): "limit":15}}} t.rate_limit = mock_rate_limit + # assert we're still on key 2 assert conn.token['user_id'] == 2 - assert (reset_time - datetime.datetime.now()).total_seconds() > 0 + # assert (reset_time - datetime.datetime.now()).total_seconds() > 0 + # make GetFriends run twice again, the first time erroring -- triggering a retry friends = conn.query(conn.api.GetFriends) + # assert the right result came back assert len(friends) == len(friend_accounts) + # assert that we correctly went back to token 1 + # the token with the shortest reset time assert conn.token['user_id'] == 1 - assert (reset_time - datetime.datetime.now()).total_seconds() < 0 + #assert (reset_time - datetime.datetime.now()).total_seconds() < 0 + + #TODO test not-only that in the all-exhausted case that rotation happens + # but also that query waits until the reset time of the next available token From 0327ad1bb26ebba66cdaaba54406a0865d4b4c78 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Thu, 12 Jul 2018 14:06:02 -0700 Subject: [PATCH 054/221] make auto incrementing --- app/connections/twitter_connect.py | 172 ++++++++++++++++------------- app/models.py | 6 +- 2 files changed, 97 insertions(+), 81 deletions(-) diff --git a/app/connections/twitter_connect.py b/app/connections/twitter_connect.py index c2977ac..22b28ad 100644 --- a/app/connections/twitter_connect.py +++ b/app/connections/twitter_connect.py @@ -5,24 +5,17 @@ import app.cs_logger from retrying import retry +from sqlalchemy.orm import load_only -ENV = os.environ['CS_ENV'] -BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), "../..") - +from app.models import TwitterToken, TwitterRateState -## LOAD CONFIG TO GET TOKEN INFO (copied from below, sigh) -config_path = os.path.join(BASE_DIR, "config", "twitter_configuration_" + ENV + ".json") -with open(config_path, "r") as config: - config = json.loads(config.read()) - -if(config['key_path'][0] == "/"): - token_path = config['key_path'] -else: - token_path = os.path.join(BASE_DIR, config['key_path']) +ENV = os.environ['CS_ENV'] ## HOW MANY TIMES TO RETRY? ## WE SHOULD RETRY FOR AS MANY TIMES AS THERE ARE KEYS -RETRY_LIMIT = len(glob.glob(os.path.join(token_path, "*.json"))) +## NOTE: this was the only thing relying on the token_path being outside of the +## twitter_connect class, so I'm going to remove the dependency for now. +RETRY_LIMIT = 100 #len(glob.glob(os.path.join(token_path, "*.json"))) def rate_limit_retry(func): @@ -74,39 +67,21 @@ def func_wrapper(self,*args, **kwargs): return func_wrapper -#def rate_limit_dict(): -# return { -# "token":None, -# "method": None, -# "limit_per_window": None, -# "remaining": None, -# "url": None -# } class TwitterConnect(): - def __init__(self, log=None): + def __init__(self, log=None, db_session=None): BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), "../..") self.try_counter = 0 + self.db_session = db_session self.api = None - + self.token_endpoints = {} + self.curr_token = {} ## LOAD LOGGER if(log): self.log = log else: self.log = app.cs_logger.get_logger(ENV, BASE_DIR) - - #self.rate_limit_resources = defaultdict(rate_limit_dict) - ### LOAD API RESOURCE LIMIT INFORMATION - #with open(os.path.join(BASE_DIR, "config", "twitter_rate_limit_resources.csv"), "r") as f: - # reader = csv.DictReader(f) - # for row in reader: - # if("method" in row.keys() and row["method"]!=''): - # for key in row: - # self.rate_limit_resources[row['method']][key] = row[key] - #self.log.info("TwitterConnect loaded {0} rate limit resource mappings: {1}.".format( - # len(self.rate_limit_resources), - # ", ".join(list(self.rate_limit_resources.keys())))) ## LOAD INFORMATION ABOUT KEYS (relative or absolute path) config_path = os.path.join(BASE_DIR, "config", "twitter_configuration_" + ENV + ".json") @@ -115,21 +90,12 @@ def __init__(self, log=None): if(self.config['key_path'][0] == "/"): self.log.info("TwitterConnect is loading from an absolute configuration path specified in {0}".format(config_path)) - token_path = self.config['key_path'] + self.token_path = self.config['key_path'] else: - token_path = os.path.join(BASE_DIR, self.config['key_path']) self.log.info("TwitterConnect is loading from a relative configuration path specified in {0}. Loading tokens from {1}".format(config_path, token_path)) + self.token_path = os.path.join(BASE_DIR, self.config['key_path']) - - self.tokens = {} - for filename in sorted(glob.glob(os.path.join(token_path, "*.json"))): - with open(filename, "r") as f: - token = json.loads(f.read()) - token["valid"] = True - token["available"] = True - token["next_available"] = None - token["resources"] = {} - self.tokens[token['user_id']] = token + self.update_db_tokens_from_files() ## LOAD BASE CONFIGURATION INFORMATION twitter_config_path = os.path.join(BASE_DIR, "config", "twitter_auth_" + ENV + ".json") @@ -138,35 +104,100 @@ def __init__(self, log=None): self.consumer_key = twitter_config["consumer_key"] self.consumer_secret = twitter_config["consumer_secret"] - token = self.select_available_token() - if(self.apply_token(token)): - self.log.info("Twitter API connection verified under ID {0}".format(self.token['user_id'])) + from IPython import embed; embed() + + self.curr_token = self.select_available_token() + + self.log.info(f"Twitter connection initialized with and current token is: {self.curr_token.user_id}") + # if(self.apply_token(token)): + # self.log.info("Twitter API connection verified under ID {0}".format(self.token['user_id'])) + + def update_db_tokens_from_files(self): + ''' + This function figures out which tokens are in the token_path but not + in the database, and then loads in the ones the missing ones. + In the future it will also set the deleted files to inactive in the DB. + ''' + # get token names from key_path + token_path_names = os.listdir(self.token_path) + dir_tokens = set([fname.split('.json')[0] for fname in token_path_names \ + if fname.endswith('.json')]) + self.log.info(f'Found {len(dir_tokens)} tokens in f{self.token_path}') + # get the tokens currently in the database #just the usernames + db_tokens_res = self.db_session.query(TwitterToken).options(load_only('username')).all() + db_tokens = set([r.username for r in db_tokens_res]) + self.log.info(f'Found {len(db_tokens)} tokens in twitter_tokens table') + + #do some set subtraction in both directions + in_dir_not_db = dir_tokens - db_tokens + in_db_not_dir = db_tokens - dir_tokens + self.log.info(f'Found {len(in_dir_not_db)} tokens in directory not db') + self.log.info(f'Found {len(in_db_not_dir)} tokens in db not directory') + + # add all tokens not already in db + tokens_to_add = [] + ratestates_to_add = [] + for token_username in in_dir_not_db: + with open(os.path.join(self.token_path, f'{token_username}.json'), 'r') as f: + token_data = json.load(f) + + token_obj = TwitterToken() + token_obj.username = token_data['username'] + token_obj.user_id = token_data['user_id'] + token_obj.oauth_token = token_data['oauth_token'] + token_obj.oauth_token_secret = token_data['oauth_token_secret'] + tokens_to_add.append(token_obj) + + for endpoint in ['/account/verify_credentials', '/users/lookup', + '/users/show/:id', '/statuses/user_timeline']: + ratestate = TwitterRateState() + ratestate.user_id = token_data['user_id'] + ratestate.endpoint = endpoint #special value + ratestate.checkin_due = datetime.datetime.now() #it will immediatley be available + ratestate.reset_time = datetime.datetime.now() #likewise immediately out of date + ratestate.limit = -1 #special creation value + ratestate.remaining = -1 #special creation value + ratestate.resources = '{}' + ratestates_to_add.append(ratestate) + + # Twitter Tokens table + self.db_session.add_all(tokens_to_add) + self.db_session.commit() + self.log.info(f'Added {len(tokens_to_add)} tokens to twitter_tokens table') + + # Twitter RateState tables + self.db_session.add_all(ratestates_to_add) + self.db_session.commit() + self.log.info(f'Added {len(ratestates_to_add)} tokens to twitter_ratestate table') + + # at least log what's in but not in dir + for token_username in in_db_not_dir: + self.log.info(f"I think {token_username} has revoked permission and\ + we should set their token to inactive.") ## This method takes a token and tries to adjust the API to query using the token def apply_token(self, token): + conn_args = {'consumer_key':self.consumer_key, + 'consumer_secret':self.consumer_secret, + 'access_token_key':token['oauth_token'], + 'access_token_secret':token['oauth_token_secret']} if(self.api is None): - self.api = twitter.Api(consumer_key = self.consumer_key, - consumer_secret = self.consumer_secret, - access_token_key = token['oauth_token'], - access_token_secret = token['oauth_token_secret']) + self.api = twitter.Api(**conn_args) else: - self.api.SetCredentials(consumer_key = self.consumer_key, - consumer_secret = self.consumer_secret, - access_token_key = token['oauth_token'], - access_token_secret = token['oauth_token_secret']) + self.api.SetCredentials(**conn_args) try: verification = self.api.VerifyCredentials() - self.api.InitializeRateLimit() + self.api.InitializeRateLimit() #dangerous for us. except twitter.error.TwitterError as e: self.log.error("Twitter: Failed to connect to API with User ID {0}. Remove from token set. Error: {1}.".format(token['user_id'], str(e))) - token['valid'] = False + self.curr_token['valid'] = False self.token = None return False self.token = token return True ## This method will select from available tokens - ## or if no tokens are available, wait until the next token + ## or if no tokens are available, wait until the next token ## becomes available, based on information from the Twitter API ## then return that token def select_available_token(self): @@ -202,24 +233,9 @@ def select_available_token(self): @rate_limit_retry def query(self, method, *args, **kwargs): method_name = method.__name__ - #print("Running {0}".format(method_name)) - #try: - # rate_limit_resource = self.rate_limit_resources[method_name] - #except KeyError: - # # log the error and continue having the error bubble through - # self.log.error("Missing a method name ({0}) from config/twitter_rate_limit_resources.csv".format(method_name)) - # raise + #find the endpoint that will be used + #select available tokens result = method(*args, **kwargs) - #current_rate_limit = self.api.rate_limit.resources[rate_limit_resource['family']][rate_limit_resource['url']] - #self.rate_limit_resources[method_name]['token'] = self.token['user_id'] - #self.rate_limit_resources[method_name]['remaining'] = current_rate_limit['remaining'] - #self.rate_limit_resources[method_name]['reset'] = current_rate_limit['reset'] - - # UPDATE TOKEN AND TOKEN LIST - ## (IN FUTURE THIS WILL BE MULTIPLE TOKENS IN A DB) - #self.token['resources'][method_name] = self.rate_limit_resources[method_name] - #self.tokens[self.token['user_id']] = self.token - return result diff --git a/app/models.py b/app/models.py index 08219af..a53c7b7 100644 --- a/app/models.py +++ b/app/models.py @@ -267,17 +267,17 @@ class TwitterStatus(Base): class TwitterRateState(Base): # this tables keeps track of the RateLimit of each of our donated tokens __tablename__ = 'twitter_ratestate' - id = Column(BigInteger, primary_key = True) + id = Column(BigInteger, primary_key = True, autoincrement = True) user_id = Column(String(64), index = True) endpoint = Column(String(64), index = True) - is_exhausted = Column(Boolean(), default = False) + is_exhausted = Column(Boolean(), index = True, default = False) checkin_due = Column(DateTime) reset_time = Column(DateTime) limit = Column(Integer) remaining = Column(Integer) resources = Column(MEDIUMTEXT) is_valid = Column(Boolean(), default = True) - __table_args__ = (Index('user_endpoint', "user_id", "endpoint"),) + __table_args__ = (Index("endpoint", "is_exhausted"),) class TwitterToken(Base): # this table stores each of our donated tokens. From 8e19157a6f382a35558b14786ffb22a466331153 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Sun, 15 Jul 2018 12:41:20 -0700 Subject: [PATCH 055/221] token rotation working --- ...32218e063_twitter_tokens_autoincrement2.py | 70 ++++++ .../651c00637cc4_twitter_user_id_to_int.py | 64 +++++ ...0f83ee7d77_twitter_tokens_autoincrement.py | 76 ++++++ app/connections/twitter_connect.py | 230 +++++++++++++----- app/models.py | 4 +- 5 files changed, 375 insertions(+), 69 deletions(-) create mode 100644 alembic/versions/62632218e063_twitter_tokens_autoincrement2.py create mode 100644 alembic/versions/651c00637cc4_twitter_user_id_to_int.py create mode 100644 alembic/versions/6a0f83ee7d77_twitter_tokens_autoincrement.py diff --git a/alembic/versions/62632218e063_twitter_tokens_autoincrement2.py b/alembic/versions/62632218e063_twitter_tokens_autoincrement2.py new file mode 100644 index 0000000..82327c0 --- /dev/null +++ b/alembic/versions/62632218e063_twitter_tokens_autoincrement2.py @@ -0,0 +1,70 @@ +"""twitter tokens autoincrement2 + +Revision ID: 62632218e063 +Revises: 6a0f83ee7d77 +Create Date: 2018-07-11 16:48:21.651406 + +""" + +# revision identifiers, used by Alembic. +revision = '62632218e063' +down_revision = '6a0f83ee7d77' +branch_labels = None +depends_on = None + +from alembic import op +import sqlalchemy as sa + + +def upgrade(engine_name): + globals()["upgrade_%s" % engine_name]() + + +def downgrade(engine_name): + globals()["downgrade_%s" % engine_name]() + + + + + +def upgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_index('endpoint', 'twitter_ratestate', ['is_exhausted'], unique=False) + op.drop_index('user_endpoint', table_name='twitter_ratestate') + # ### end Alembic commands ### + + +def downgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_index('user_endpoint', 'twitter_ratestate', ['endpoint', 'is_exhausted'], unique=False) + op.drop_index('endpoint', table_name='twitter_ratestate') + # ### end Alembic commands ### + + +def upgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_index('endpoint', 'twitter_ratestate', ['is_exhausted'], unique=False) + op.drop_index('user_endpoint', table_name='twitter_ratestate') + # ### end Alembic commands ### + + +def downgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_index('user_endpoint', 'twitter_ratestate', ['endpoint', 'is_exhausted'], unique=False) + op.drop_index('endpoint', table_name='twitter_ratestate') + # ### end Alembic commands ### + + +def upgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_index('endpoint', 'twitter_ratestate', ['is_exhausted'], unique=False) + op.drop_index('user_endpoint', table_name='twitter_ratestate') + # ### end Alembic commands ### + + +def downgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_index('user_endpoint', 'twitter_ratestate', ['endpoint', 'is_exhausted'], unique=False) + op.drop_index('endpoint', table_name='twitter_ratestate') + # ### end Alembic commands ### + diff --git a/alembic/versions/651c00637cc4_twitter_user_id_to_int.py b/alembic/versions/651c00637cc4_twitter_user_id_to_int.py new file mode 100644 index 0000000..eefbb71 --- /dev/null +++ b/alembic/versions/651c00637cc4_twitter_user_id_to_int.py @@ -0,0 +1,64 @@ +"""twitter user_id to int + +Revision ID: 651c00637cc4 +Revises: 62632218e063 +Create Date: 2018-07-13 15:24:57.238437 + +""" + +# revision identifiers, used by Alembic. +revision = '651c00637cc4' +down_revision = '62632218e063' +branch_labels = None +depends_on = None + +from alembic import op +import sqlalchemy as sa + + +def upgrade(engine_name): + globals()["upgrade_%s" % engine_name]() + + +def downgrade(engine_name): + globals()["downgrade_%s" % engine_name]() + + + + + +def upgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + pass + # ### end Alembic commands ### + + +def downgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + pass + # ### end Alembic commands ### + + +def upgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + pass + # ### end Alembic commands ### + + +def downgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + pass + # ### end Alembic commands ### + + +def upgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + pass + # ### end Alembic commands ### + + +def downgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + pass + # ### end Alembic commands ### + diff --git a/alembic/versions/6a0f83ee7d77_twitter_tokens_autoincrement.py b/alembic/versions/6a0f83ee7d77_twitter_tokens_autoincrement.py new file mode 100644 index 0000000..c43fd36 --- /dev/null +++ b/alembic/versions/6a0f83ee7d77_twitter_tokens_autoincrement.py @@ -0,0 +1,76 @@ +"""twitter tokens autoincrement + +Revision ID: 6a0f83ee7d77 +Revises: eee2d2e40d5d +Create Date: 2018-07-11 16:46:57.448335 + +""" + +# revision identifiers, used by Alembic. +revision = '6a0f83ee7d77' +down_revision = 'eee2d2e40d5d' +branch_labels = None +depends_on = None + +from alembic import op +import sqlalchemy as sa + + +def upgrade(engine_name): + globals()["upgrade_%s" % engine_name]() + + +def downgrade(engine_name): + globals()["downgrade_%s" % engine_name]() + + + + + +def upgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_index(op.f('ix_twitter_ratestate_is_exhausted'), 'twitter_ratestate', ['is_exhausted'], unique=False) + op.drop_index('user_endpoint', table_name='twitter_ratestate') + op.create_index('user_endpoint', 'twitter_ratestate', ['endpoint', 'is_exhausted'], unique=False) + # ### end Alembic commands ### + + +def downgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index('user_endpoint', table_name='twitter_ratestate') + op.create_index('user_endpoint', 'twitter_ratestate', ['user_id', 'endpoint'], unique=False) + op.drop_index(op.f('ix_twitter_ratestate_is_exhausted'), table_name='twitter_ratestate') + # ### end Alembic commands ### + + +def upgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_index(op.f('ix_twitter_ratestate_is_exhausted'), 'twitter_ratestate', ['is_exhausted'], unique=False) + op.drop_index('user_endpoint', table_name='twitter_ratestate') + op.create_index('user_endpoint', 'twitter_ratestate', ['endpoint', 'is_exhausted'], unique=False) + # ### end Alembic commands ### + + +def downgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index('user_endpoint', table_name='twitter_ratestate') + op.create_index('user_endpoint', 'twitter_ratestate', ['user_id', 'endpoint'], unique=False) + op.drop_index(op.f('ix_twitter_ratestate_is_exhausted'), table_name='twitter_ratestate') + # ### end Alembic commands ### + + +def upgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_index(op.f('ix_twitter_ratestate_is_exhausted'), 'twitter_ratestate', ['is_exhausted'], unique=False) + op.drop_index('user_endpoint', table_name='twitter_ratestate') + op.create_index('user_endpoint', 'twitter_ratestate', ['endpoint', 'is_exhausted'], unique=False) + # ### end Alembic commands ### + + +def downgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index('user_endpoint', table_name='twitter_ratestate') + op.create_index('user_endpoint', 'twitter_ratestate', ['user_id', 'endpoint'], unique=False) + op.drop_index(op.f('ix_twitter_ratestate_is_exhausted'), table_name='twitter_ratestate') + # ### end Alembic commands ### + diff --git a/app/connections/twitter_connect.py b/app/connections/twitter_connect.py index 22b28ad..bc4fb88 100644 --- a/app/connections/twitter_connect.py +++ b/app/connections/twitter_connect.py @@ -1,11 +1,16 @@ import simplejson as json import os, sys, glob, random, datetime, time, inspect, csv +from datetime import timedelta from collections import defaultdict import twitter import app.cs_logger from retrying import retry +from time import sleep +from random import random + from sqlalchemy.orm import load_only +from sqlalchemy.sql.expression import func as sqlfunc from app.models import TwitterToken, TwitterRateState @@ -34,29 +39,29 @@ def func_wrapper(self,*args, **kwargs): self.try_counter += 1 result = None #try a new key only if it's the second attempt or later - if(self.try_counter >= 2): - self.log.info("Twitter: rate limit calling TwitterConnect.api.{0} on ID {1}.".format(set(args).pop().__name__, self.token['user_id'])) - ## reset time to be the appropriate reset time - ## by setting it to the earliest possible reset time - ## TODO: Make this more efficient by observing the specific - max_rate_limit = None - max_rate_limit_keys = [] - for method, ratelist in self.api.rate_limit.resources.items(): - for rl in list(ratelist.items()): - url = rl[0] - ratelimit = rl[1] - ## TODO: THIS SHOULD BE THE LATEST RATE LIMIT FOR THIS KEY - if('reset' in ratelimit.keys() and (max_rate_limit is None or ratelimit['reset'] > max_rate_limit)): - max_rate_limit_keys = [method, url] - max_rate_limit = ratelimit['reset'] - self.token['next_available'] = datetime.datetime.fromtimestamp(max_rate_limit) - self.token['available'] = False - self.log.info("Twitter: Token for ID {0} next available at {1}. Selecting a new token...".format(self.token['user_id'], self.token['next_available'])) - - token = self.select_available_token() - previous_token_user = self.token['user_id'] - if(self.apply_token(token)): - self.log.info("Twitter API connection verified under ID {0}. Previously {1}.".format(self.token['user_id'], previous_token_user)) + # if(self.try_counter >= 2): + # self.log.info("Twitter: rate limit calling TwitterConnect.api.{0} on ID {1}.".format(set(args).pop().__name__, self.curr_token.user_id)) + # ## reset time to be the appropriate reset time + # ## by setting it to the earliest possible reset time + # ## TODO: Make this more efficient by observing the specific + # max_rate_limit = None + # max_rate_limit_keys = [] + # for method, ratelist in self.api.rate_limit.resources.items(): + # for rl in list(ratelist.items()): + # url = rl[0] + # ratelimit = rl[1] + # ## TODO: THIS SHOULD BE THE LATEST RATE LIMIT FOR THIS KEY + # if('reset' in ratelimit.keys() and (max_rate_limit is None or ratelimit['reset'] > max_rate_limit)): + # max_rate_limit_keys = [method, url] + # max_rate_limit = ratelimit['reset'] + # self.token['next_available'] = datetime.datetime.fromtimestamp(max_rate_limit) + # self.token['available'] = False + # self.log.info("Twitter: Token for ID {0} next available at {1}. Selecting a new token...".format(self.token['user_id'], self.token['next_available'])) + # + # # token = self.select_available_token() + # previous_token_user = self.token['user_id'] + # if(self.apply_token(token)): + # self.log.info("Twitter API connection verified under ID {0}. Previously {1}.".format(self.token['user_id'], previous_token_user)) result = func(self,*args, **kwargs) ## if the above line fails, the counter will iterate @@ -75,8 +80,8 @@ def __init__(self, log=None, db_session=None): self.db_session = db_session self.api = None - self.token_endpoints = {} - self.curr_token = {} + self.endpoint_tokens = {} + self.curr_endpoint = None ## LOAD LOGGER if(log): self.log = log @@ -104,11 +109,13 @@ def __init__(self, log=None, db_session=None): self.consumer_key = twitter_config["consumer_key"] self.consumer_secret = twitter_config["consumer_secret"] - from IPython import embed; embed() + self.select_available_token('/account/verify_credentials') - self.curr_token = self.select_available_token() - self.log.info(f"Twitter connection initialized with and current token is: {self.curr_token.user_id}") + # I think we won't intialize any token until the query is called. + # self.curr_endpoint = self.select_available_token() + # + # self.log.info(f"Twitter connection initialized with and current token is: {self.curr_endpoint.user_id}") # if(self.apply_token(token)): # self.log.info("Twitter API connection verified under ID {0}".format(self.token['user_id'])) @@ -137,6 +144,8 @@ def update_db_tokens_from_files(self): # add all tokens not already in db tokens_to_add = [] ratestates_to_add = [] + creation_time = datetime.datetime.now() + self.log.info(f'Creation time is {creation_time}') for token_username in in_dir_not_db: with open(os.path.join(self.token_path, f'{token_username}.json'), 'r') as f: token_data = json.load(f) @@ -153,8 +162,8 @@ def update_db_tokens_from_files(self): ratestate = TwitterRateState() ratestate.user_id = token_data['user_id'] ratestate.endpoint = endpoint #special value - ratestate.checkin_due = datetime.datetime.now() #it will immediatley be available - ratestate.reset_time = datetime.datetime.now() #likewise immediately out of date + ratestate.checkin_due = creation_time #it will immediatley be available + ratestate.reset_time = creation_time #likewise immediately out of date ratestate.limit = -1 #special creation value ratestate.remaining = -1 #special creation value ratestate.resources = '{}' @@ -176,11 +185,11 @@ def update_db_tokens_from_files(self): we should set their token to inactive.") ## This method takes a token and tries to adjust the API to query using the token - def apply_token(self, token): + def apply_token(self, endpoint): conn_args = {'consumer_key':self.consumer_key, 'consumer_secret':self.consumer_secret, - 'access_token_key':token['oauth_token'], - 'access_token_secret':token['oauth_token_secret']} + 'access_token_key':self.endpoint_tokens[endpoint].oauth_token, + 'access_token_secret':self.endpoint_tokens[endpoint].oauth_token_secret} if(self.api is None): self.api = twitter.Api(**conn_args) else: @@ -190,52 +199,139 @@ def apply_token(self, token): self.api.InitializeRateLimit() #dangerous for us. except twitter.error.TwitterError as e: self.log.error("Twitter: Failed to connect to API with User ID {0}. Remove from token set. Error: {1}.".format(token['user_id'], str(e))) - self.curr_token['valid'] = False + self.curr_endpoint['valid'] = False self.token = None return False - self.token = token + self.curr_endpoint = endpoint return True ## This method will select from available tokens ## or if no tokens are available, wait until the next token ## becomes available, based on information from the Twitter API ## then return that token - def select_available_token(self): - available_tokens = [token for token in self.tokens.values() if (token['available'] and token['valid'])] - ## we take the first one rather than a random sample - ## to make testing more reliable - available_token = None - if(len(available_tokens)>0): - available_token = available_tokens[0] - - if(available_token is None): - available_tokens = sorted(list(self.tokens.values()), key=lambda x: x['next_available']) - for token in available_tokens: - seconds_until_available = (token['next_available'] - datetime.datetime.now()).total_seconds() + 1 - if(seconds_until_available <= 0): - token['available'] = True - + def select_available_token(self, endpoint, strategy='random'): + query_time = datetime.datetime.now() + wait_before_return = 0 + succeeded = False + while not succeeded: try: - available_token = available_tokens[0] + # 2. findall token-endpoints where + # endpoint matches + # token-endpoint not checked out + # token-endpoint not reset_time + # random order + # just need one + endpoint_select = self.db_session.query(TwitterRateState) \ + .filter(TwitterRateState.endpoint == endpoint) \ + .filter(TwitterRateState.checkin_due < query_time) \ + .filter(TwitterRateState.reset_time < query_time) \ + .order_by(sqlfunc.rand()) \ + .with_for_update().first() + self.log.info(f'''Trying to get token matching \ + endpoint: {endpoint} \ + query_time: {query_time}''') + self.log.info(f'Number Token-endpoint query results: {1 if endpoint_select else 0}') + + # 3 check if the endpoint_select is empty + if not endpoint_select: + self.db_session.rollback() + # now there are two cases. Either + # a) all checked-out or b) all reset_time + # start with most common a) we can pre-book a not-checked out token + prebook = self.db_session.query(TwitterRateState) \ + .filter(TwitterRateState.endpoint==endpoint) \ + .filter(TwitterRateState.checkin_due < query_time) \ + .order_by(TwitterRateState.reset_time).first() + if prebook: + wait_before_return = (prebook.reset_time - query_time).total_seconds() + self.log.info(f'This is a prebook situation, not available until seconds: {wait_before_return}') + if not prebook: + # else we need to b) keep on waiting until we can checksomething out + next_checkout = self.db_session.query(TwitterRateState) \ + .filter(TwitterRateState.endpoint==endpoint) \ + .order_by(TwitterRateState.checkin_due).first() + #add a bit of noise for loop until + time_until_next_try = next_checkout.checkin_due - query_time + timedelta(seconds=random()) + self.log.info(f'Oh dear all the endpoints are checked out for at least seconds: {time_until_next_try}') + sleep(time_until_next_try.total_seconds()) + continue + # 4. update checkout_due in database for select token-endpoint + assert endpoint_select or prebook + token_endpoint = endpoint_select if endpoint_select else prebook + token_endpoint.checkin_due = query_time + timedelta(minutes=60*24) # 1 day loan + self.db_session.add(endpoint_select) + self.db_session.commit() + self.log.debug("I think I commited the checkin_due update") + token = self.db_session.query(TwitterToken).filter(TwitterToken.user_id==endpoint_select.user_id).one() + self.db_session.commit() + self.endpoint_tokens[endpoint] = token + self.curr_endpoint = endpoint + sleep(wait_before_return) + self.apply_token(endpoint) + return True except: - self.log.error("Twitter: failed to find any valid tokens. Ending process.") - sys.exit("Twitter: failed to find any valid tokens. Ending process") - - seconds_until_available = (available_token['next_available'] - datetime.datetime.now()).total_seconds() + 1 - if(seconds_until_available>0): - self.log.info("Twitter: Next available token ({0}): {1} seconds. Waiting...".format(available_token['user_id'], seconds_until_available)) - time.sleep(seconds_until_available) - return available_token - - ## TO USE RATE LIMIT MULTIPLEXING, CALL THE BELOW METHOD AS FOLLOWS - ## x = TwitterConnect() - ## x.query(x.api.GetFriends, "user") + self.log.exception(f'exception in getting from DB for tokens') + self.db_session.rollback() + raise + + def reset_time_of_endpoint(self, endpoint): + '''Utility to walk through the rate_limit dict + until we find the endpoint and return its reset time''' + for groupname, groupdict in self.api.rate_limit.resources.items(): + if endpoint in groupdict.keys(): + return groupdict['/users/lookup']['reset'] + + def mark_reset_time(self, endpoint): + # find the reset time of this endpoint + reset_time = self.reset_time_of_endpoint(endpoint) + user_id = self.endpoint_tokens[endpoint].user_id + # construct the ratestate object with for update + # remember that the key of RateState is a combination of endpoint and user_id + # so this should be unique + ratestate = self.db_session.query(TwitterRateState).filter(TwitterRateState.user_id==user_id) \ + .filter(TwitterRateState.endpoint==endpoint).with_for_update().one() + # put in the reset time + ratestate.reset_time = datetime.datetime.fromtimestamp(reset_time) + # and also mark this ratestate as checked-in + checkin_time = datetime.datetime.now() + ratestate.checkin_due = checkin_time + self.db_session.add(ratestate) + self.db_session.commit() + #delet form local records + del self.endpoint_tokens[endpoint] + @rate_limit_retry def query(self, method, *args, **kwargs): method_name = method.__name__ #find the endpoint that will be used - - #select available tokens - result = method(*args, **kwargs) - + method_endpoint = {'GetUserTimeline':'/statuses/user_timeline', + 'UsersLookup':'/users/lookup', + 'GetUser':'/users/show/:id', + 'VerifyCredentials':'/account/verify_credentials'} + endpoint = method_endpoint[method_name] + #switch to that token or select_available_token + if endpoint in self.endpoint_tokens.keys(): + if endpoint == self.curr_endpoint: + pass #no switching necessary + else: + #activate this credential if its not the active one + self.apply_token(endpoint) + # we need to get a token-endpoint from the database + else: + self.select_available_token(endpoint) + #select available tokens + try: + #try to actually execute + result = method(*args, **kwargs) + #if we get a an error from twitter + except twitter.TwitterError as twiterr: + # if it's rate exceeded we know how to deal with that + if twiterr.message[0]['message']=='Rate limit exceeded': + self.log.info(f'Rate limit encountered on endpoint:{endpoint}') + self.mark_reset_time(endpoint) + # recurse! + self.log.info(f'Recursing for method:') + return self.query(method, *args, **kwargs) + else: + self.log.info(f'Encountered twitter error, not the exceeded one: {twiterr}') return result diff --git a/app/models.py b/app/models.py index a53c7b7..f24f62b 100644 --- a/app/models.py +++ b/app/models.py @@ -259,7 +259,7 @@ class TwitterUserSnapshot(Base): class TwitterStatus(Base): __tablename__ = 'twitter_statuses' id = Column(BigInteger, primary_key = True) - user_id = Column(String(64), index = True) + user_id = Column(BigInteger, index = True) created_at = Column(DateTime) record_created_at = Column(DateTime, default=datetime.datetime.utcnow) status_data = Column(MEDIUMTEXT) @@ -268,7 +268,7 @@ class TwitterRateState(Base): # this tables keeps track of the RateLimit of each of our donated tokens __tablename__ = 'twitter_ratestate' id = Column(BigInteger, primary_key = True, autoincrement = True) - user_id = Column(String(64), index = True) + user_id = Column(BigInteger, index = True) endpoint = Column(String(64), index = True) is_exhausted = Column(Boolean(), index = True, default = False) checkin_due = Column(DateTime) From c0fbdd232427cb369593f8cacae1bdabbd6720f1 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Mon, 16 Jul 2018 12:02:16 -0700 Subject: [PATCH 056/221] loading to db test working --- app/connections/twitter_connect.py | 14 ++++++------- app/controllers/twitter_controller.py | 4 ++-- tests/test_twitter_connect.py | 30 +++++++++++++++++++++------ 3 files changed, 33 insertions(+), 15 deletions(-) diff --git a/app/connections/twitter_connect.py b/app/connections/twitter_connect.py index bc4fb88..bb32c6a 100644 --- a/app/connections/twitter_connect.py +++ b/app/connections/twitter_connect.py @@ -94,11 +94,11 @@ def __init__(self, log=None, db_session=None): self.config = json.loads(config.read()) if(self.config['key_path'][0] == "/"): - self.log.info("TwitterConnect is loading from an absolute configuration path specified in {0}".format(config_path)) self.token_path = self.config['key_path'] + self.log.info("TwitterConnect is loading from an absolute configuration path specified in {0}".format(config_path)) else: - self.log.info("TwitterConnect is loading from a relative configuration path specified in {0}. Loading tokens from {1}".format(config_path, token_path)) self.token_path = os.path.join(BASE_DIR, self.config['key_path']) + self.log.info("TwitterConnect is loading from a relative configuration path specified in {0}. Loading tokens from {1}".format(config_path, self.token_path)) self.update_db_tokens_from_files() @@ -144,8 +144,8 @@ def update_db_tokens_from_files(self): # add all tokens not already in db tokens_to_add = [] ratestates_to_add = [] - creation_time = datetime.datetime.now() - self.log.info(f'Creation time is {creation_time}') + creation_time_epsilon = datetime.datetime.now() - timedelta(seconds=1) # a little in the past + self.log.info(f'Creation time is {creation_time_epsilon}') for token_username in in_dir_not_db: with open(os.path.join(self.token_path, f'{token_username}.json'), 'r') as f: token_data = json.load(f) @@ -162,8 +162,8 @@ def update_db_tokens_from_files(self): ratestate = TwitterRateState() ratestate.user_id = token_data['user_id'] ratestate.endpoint = endpoint #special value - ratestate.checkin_due = creation_time #it will immediatley be available - ratestate.reset_time = creation_time #likewise immediately out of date + ratestate.checkin_due = creation_time_epsilon #it will immediatley be available + ratestate.reset_time = creation_time_epsilon #likewise immediately out of date ratestate.limit = -1 #special creation value ratestate.remaining = -1 #special creation value ratestate.resources = '{}' @@ -210,10 +210,10 @@ def apply_token(self, endpoint): ## becomes available, based on information from the Twitter API ## then return that token def select_available_token(self, endpoint, strategy='random'): - query_time = datetime.datetime.now() wait_before_return = 0 succeeded = False while not succeeded: + query_time = datetime.datetime.now() try: # 2. findall token-endpoints where # endpoint matches diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index ede1611..f1a256f 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -253,7 +253,7 @@ def commit_users_failed(user): # at end, for left_users (users not found), commit to db left_existing_users = self.db_session.query(TwitterUser).filter(TwitterUser.screen_name.in_(list(left_users))).all() - + # first, update lumen notices that are already associated with a twitter user for twitter_user in left_existing_users: screen_name = twitter_user.screen_name @@ -581,7 +581,7 @@ def with_user_records_archive_tweets(self, user_records, backfill=False, is_test def get_statuses_user_state(self, user_id, count=200, max_id=None, user_state=TwitterUserState.NOT_FOUND, job_state=CS_JobState.FAILED): (statuses, user_state, job_state) = ([], user_state, job_state) try: - statuses = self.t.api.GetUserTimeline(user_id=user_id, count=count, max_id=max_id) + statuses = self.t.query(self.t.api.GetUserTimeline, user_id=user_id, count=count, max_id=max_id) except twitter.error.TwitterError as e: self.log.info(e) self.t.try_counter = 0 ## this line prevents the retry code from looping diff --git a/tests/test_twitter_connect.py b/tests/test_twitter_connect.py index 8fd2bfa..46a0ce9 100644 --- a/tests/test_twitter_connect.py +++ b/tests/test_twitter_connect.py @@ -5,30 +5,48 @@ from mock import Mock, patch import simplejson as json from utils.common import json2obj, DbEngine -from app.models import TwitterTokens +from app.models import TwitterToken, TwitterRateState +import app.cs_logger +import app.connections.twitter_connect TEST_DIR = os.path.dirname(os.path.realpath(__file__)) BASE_DIR = os.path.join(TEST_DIR, "../") ENV = os.environ['CS_ENV'] = "test" db_session = DbEngine(os.path.join(TEST_DIR, "../", "config") + "/{env}.json".format(env=ENV)).new_session() +log = app.cs_logger.get_logger(ENV, BASE_DIR) - -import app.connections.twitter_connect +def truncate_twitter_tables(): + for table in (TwitterRateState, TwitterToken): + db_session.query(table).delete() + db_session.commit() def setup_function(function): - pass + truncate_twitter_tables() def teardown_function(function): + # truncate_twitter_tables() pass + @patch('twitter.Api', autospec=True) @patch('twitter.ratelimit.RateLimit', autospec=True) def test_load_tokens(mock_rate_limit, mock_twitter): + + config_path = os.path.join(BASE_DIR, "config", "twitter_configuration_" + ENV + ".json") + token_path = json.load(open(config_path,'r'))['key_path'] + log.info(f'token_path is: {token_path}') + print(token_path) + token_file_names = os.listdir(token_path) + db_session.rollback() - db_session.query(TwitterTokens).delete() - from IPython import embed; embed() + twitter_conn = app.connections.twitter_connect.TwitterConnect(log, db_session) + tokens_in_db = db_session.query(TwitterToken).all() db_session.commit() + len_files, len_db = len(token_file_names), len(tokens_in_db) + print(f'there are {len_files} tokens in files') + print(f'there are {len_db} tokens in db') + assert len_files == len_db @patch('twitter.Api', autospec=True) def test_twitter_connect(mock_twitter): From 03920e9f4ba5961fb9c13050745ccc77c573e945 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Mon, 16 Jul 2018 15:30:25 -0700 Subject: [PATCH 057/221] all three tests working --- app/connections/twitter_connect.py | 25 +++++---- tests/test_twitter_connect.py | 82 ++++++++++++++++-------------- 2 files changed, 60 insertions(+), 47 deletions(-) diff --git a/app/connections/twitter_connect.py b/app/connections/twitter_connect.py index bb32c6a..da4b9a0 100644 --- a/app/connections/twitter_connect.py +++ b/app/connections/twitter_connect.py @@ -14,6 +14,12 @@ from app.models import TwitterToken, TwitterRateState +FUNC_ENDPOINTS = {'GetUserTimeline':'/statuses/user_timeline', + 'UsersLookup':'/users/lookup', + 'GetUser':'/users/show/:id', + 'VerifyCredentials':'/account/verify_credentials', + 'GetFriends': '/friends/list',} + ENV = os.environ['CS_ENV'] ## HOW MANY TIMES TO RETRY? @@ -157,8 +163,7 @@ def update_db_tokens_from_files(self): token_obj.oauth_token_secret = token_data['oauth_token_secret'] tokens_to_add.append(token_obj) - for endpoint in ['/account/verify_credentials', '/users/lookup', - '/users/show/:id', '/statuses/user_timeline']: + for endpoint in FUNC_ENDPOINTS.values(): ratestate = TwitterRateState() ratestate.user_id = token_data['user_id'] ratestate.endpoint = endpoint #special value @@ -209,9 +214,13 @@ def apply_token(self, endpoint): ## or if no tokens are available, wait until the next token ## becomes available, based on information from the Twitter API ## then return that token - def select_available_token(self, endpoint, strategy='random'): + def select_available_token(self, endpoint, strategy='sequential'): wait_before_return = 0 succeeded = False + strategy_order = {'random': sqlfunc.rand(), + 'sequential':TwitterRateState.user_id} + order_by = strategy_order[strategy] + self.log.info(f'order strategy is {strategy}: giving: {order_by}') while not succeeded: query_time = datetime.datetime.now() try: @@ -225,7 +234,7 @@ def select_available_token(self, endpoint, strategy='random'): .filter(TwitterRateState.endpoint == endpoint) \ .filter(TwitterRateState.checkin_due < query_time) \ .filter(TwitterRateState.reset_time < query_time) \ - .order_by(sqlfunc.rand()) \ + .order_by(order_by) \ .with_for_update().first() self.log.info(f'''Trying to get token matching \ endpoint: {endpoint} \ @@ -279,7 +288,7 @@ def reset_time_of_endpoint(self, endpoint): until we find the endpoint and return its reset time''' for groupname, groupdict in self.api.rate_limit.resources.items(): if endpoint in groupdict.keys(): - return groupdict['/users/lookup']['reset'] + return groupdict[endpoint]['reset'] def mark_reset_time(self, endpoint): # find the reset time of this endpoint @@ -304,11 +313,7 @@ def mark_reset_time(self, endpoint): def query(self, method, *args, **kwargs): method_name = method.__name__ #find the endpoint that will be used - method_endpoint = {'GetUserTimeline':'/statuses/user_timeline', - 'UsersLookup':'/users/lookup', - 'GetUser':'/users/show/:id', - 'VerifyCredentials':'/account/verify_credentials'} - endpoint = method_endpoint[method_name] + endpoint = FUNC_ENDPOINTS[method_name] #switch to that token or select_available_token if endpoint in self.endpoint_tokens.keys(): if endpoint == self.curr_endpoint: diff --git a/tests/test_twitter_connect.py b/tests/test_twitter_connect.py index 46a0ce9..53bf384 100644 --- a/tests/test_twitter_connect.py +++ b/tests/test_twitter_connect.py @@ -25,9 +25,7 @@ def setup_function(function): truncate_twitter_tables() def teardown_function(function): - # truncate_twitter_tables() - pass - + truncate_twitter_tables() @patch('twitter.Api', autospec=True) @patch('twitter.ratelimit.RateLimit', autospec=True) @@ -40,7 +38,7 @@ def test_load_tokens(mock_rate_limit, mock_twitter): token_file_names = os.listdir(token_path) db_session.rollback() - twitter_conn = app.connections.twitter_connect.TwitterConnect(log, db_session) + conn = app.connections.twitter_connect.TwitterConnect(log, db_session) tokens_in_db = db_session.query(TwitterToken).all() db_session.commit() len_files, len_db = len(token_file_names), len(tokens_in_db) @@ -49,13 +47,13 @@ def test_load_tokens(mock_rate_limit, mock_twitter): assert len_files == len_db @patch('twitter.Api', autospec=True) -def test_twitter_connect(mock_twitter): +def test_twitter_connect_friends(mock_twitter): t = mock_twitter.return_value - conn = app.connections.twitter_connect.TwitterConnect() + conn = app.connections.twitter_connect.TwitterConnect(log, db_session) #assert len(conn.rate_limit_resources.values()), 3 - friend_accounts = [] + friend_accounts = []# NOTE: # NOTE: with open("{script_dir}/fixture_data/twitter_get_friends.json".format(script_dir=TEST_DIR)) as f: fixture = json.loads(f.read()) for account in fixture: @@ -65,6 +63,10 @@ def test_twitter_connect(mock_twitter): t.GetFriends.return_value = friend_accounts + # some gynamstics because Mock overides __name__ + getfriends = conn.api.GetFriends + getfriends.__name__ = 'GetFriends' + friends = conn.query(conn.api.GetFriends) assert len(friends) == len(friend_accounts) @@ -84,7 +86,11 @@ def test_exception_retry(mock_rate_limit, mock_twitter): t.VerifyCredentials.return_value = True t.InitializeRateLimit.return_value = True - conn = app.connections.twitter_connect.TwitterConnect() + conn = app.connections.twitter_connect.TwitterConnect(log, db_session) + + # some gynamstics because Mock overides __name__ + getfriends = conn.api.GetFriends + getfriends.__name__ = 'GetFriends' friend_accounts = [] with open("{script_dir}/fixture_data/twitter_get_friends.json".format(script_dir=TEST_DIR)) as f: @@ -99,40 +105,42 @@ def test_exception_retry(mock_rate_limit, mock_twitter): # and then secondly to assume we roll-over to a good key and then return the right results t.GetFriends.side_effect = [twitter.error.TwitterError([{'code': 88, 'message': 'Rate limit exceeded'}]), friend_accounts] # assert we are using the first token - assert conn.token['user_id'] == 1 + assert conn.endpoint_tokens[conn.curr_endpoint].user_id == 1 # now try and get friends # NOTE! this should call GetFriends twice, because connect should catch an error and then retry + + friends = conn.query(conn.api.GetFriends) # assert right results still came throught assert len(friends) == len(friend_accounts) # assert that we did roll-over onto the second token - assert conn.token['user_id'] == 2 + assert conn.endpoint_tokens[conn.curr_endpoint].user_id == 2 # OK, so at this point in the code we assume that the second token is active - - ## now make it wait to go back to the previous key - # by setting the second token's reset time to be later - aka further into the future - than the fetch_twitter_snapshot_and_tweets - # and also by setting remaining to be zero - # because the circumstances we're mocking are that every key is exhausted - # so the token that has the shortest time-to-reset is used - t.GetFriends.side_effect = [twitter.error.TwitterError([{'code': 88, 'message': 'Rate limit exceeded'}]), friend_accounts] - mock_rate_limit.resources = {"getfriends":{"/friends/list":{ - "reset":time.mktime((datetime.datetime.now() + datetime.timedelta(seconds=1)).timetuple()), - "remaining":0, - "limit":15}}} - t.rate_limit = mock_rate_limit - - # assert we're still on key 2 - assert conn.token['user_id'] == 2 - # assert (reset_time - datetime.datetime.now()).total_seconds() > 0 - # make GetFriends run twice again, the first time erroring -- triggering a retry - friends = conn.query(conn.api.GetFriends) - # assert the right result came back - assert len(friends) == len(friend_accounts) - # assert that we correctly went back to token 1 - # the token with the shortest reset time - assert conn.token['user_id'] == 1 - #assert (reset_time - datetime.datetime.now()).total_seconds() < 0 - - #TODO test not-only that in the all-exhausted case that rotation happens - # but also that query waits until the reset time of the next available token + # + # ## now make it wait to go back to the previous key + # # by setting the second token's reset time to be later - aka further into the future - than the fetch_twitter_snapshot_and_tweets + # # and also by setting remaining to be zero + # # because the circumstances we're mocking are that every key is exhausted + # # so the token that has the shortest time-to-reset is used + # t.GetFriends.side_effect = [twitter.error.TwitterError([{'code': 88, 'message': 'Rate limit exceeded'}]), friend_accounts] + # mock_rate_limit.resources = {"getfriends":{"/friends/list":{ + # "reset":time.mktime((datetime.datetime.now() + datetime.timedelta(seconds=1)).timetuple()), + # "remaining":0, + # "limit":15}}} + # t.rate_limit = mock_rate_limit + # + # # assert we're still on key 2 + # assert conn.endpoint_tokens[conn.curr_endpoint].user_id == 2 + # # assert (reset_time - datetime.datetime.now()).total_seconds() > 0 + # # make GetFriends run twice again, the first time erroring -- triggering a retry + # friends = conn.query(conn.api.GetFriends) + # # assert the right result came back + # assert len(friends) == len(friend_accounts) + # # assert that we correctly went back to token 1 + # # the token with the shortest reset time + # assert conn.endpoint_tokens[conn.curr_endpoint].user_id == 1 + # #assert (reset_time - datetime.datetime.now()).total_seconds() < 0 + # + # #TODO test not-only that in the all-exhausted case that rotation happens + # # but also that query waits until the reset time of the next available token From fee56305af4eb4292fc5581720ee8a935bbd9a25 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Mon, 16 Jul 2018 16:43:57 -0700 Subject: [PATCH 058/221] test timing of all exhausted case --- app/connections/twitter_connect.py | 9 +++-- tests/test_twitter_connect.py | 53 +++++++++++++++--------------- 2 files changed, 33 insertions(+), 29 deletions(-) diff --git a/app/connections/twitter_connect.py b/app/connections/twitter_connect.py index da4b9a0..3c9fa53 100644 --- a/app/connections/twitter_connect.py +++ b/app/connections/twitter_connect.py @@ -254,6 +254,7 @@ def select_available_token(self, endpoint, strategy='sequential'): if prebook: wait_before_return = (prebook.reset_time - query_time).total_seconds() self.log.info(f'This is a prebook situation, not available until seconds: {wait_before_return}') + self.log.info(f'Prebook user_id is {prebook.user_id}') if not prebook: # else we need to b) keep on waiting until we can checksomething out next_checkout = self.db_session.query(TwitterRateState) \ @@ -266,15 +267,17 @@ def select_available_token(self, endpoint, strategy='sequential'): continue # 4. update checkout_due in database for select token-endpoint assert endpoint_select or prebook + #either a token, or the prebook token_endpoint = endpoint_select if endpoint_select else prebook token_endpoint.checkin_due = query_time + timedelta(minutes=60*24) # 1 day loan - self.db_session.add(endpoint_select) + self.db_session.add(token_endpoint) self.db_session.commit() self.log.debug("I think I commited the checkin_due update") - token = self.db_session.query(TwitterToken).filter(TwitterToken.user_id==endpoint_select.user_id).one() + token = self.db_session.query(TwitterToken).filter(TwitterToken.user_id==token_endpoint.user_id).one() self.db_session.commit() self.endpoint_tokens[endpoint] = token self.curr_endpoint = endpoint + self.log.debug(f'wiating for {wait_before_return}') sleep(wait_before_return) self.apply_token(endpoint) return True @@ -299,6 +302,8 @@ def mark_reset_time(self, endpoint): # so this should be unique ratestate = self.db_session.query(TwitterRateState).filter(TwitterRateState.user_id==user_id) \ .filter(TwitterRateState.endpoint==endpoint).with_for_update().one() + self.log.debug(f'Marking exhausted user_id:{user_id}, endpoint:{endpoint}, reset_time{reset_time}.') + self.log.debug(f'ratestate object had user_id:{ratestate.user_id}') # put in the reset time ratestate.reset_time = datetime.datetime.fromtimestamp(reset_time) # and also mark this ratestate as checked-in diff --git a/tests/test_twitter_connect.py b/tests/test_twitter_connect.py index 53bf384..24d99b7 100644 --- a/tests/test_twitter_connect.py +++ b/tests/test_twitter_connect.py @@ -25,7 +25,8 @@ def setup_function(function): truncate_twitter_tables() def teardown_function(function): - truncate_twitter_tables() + # truncate_twitter_tables() + pass @patch('twitter.Api', autospec=True) @patch('twitter.ratelimit.RateLimit', autospec=True) @@ -75,7 +76,7 @@ def test_twitter_connect_friends(mock_twitter): def test_exception_retry(mock_rate_limit, mock_twitter): #TODO: In the unlikelihood that a VERY slow machine is running these tests # you can increase the timedelta here and below to microseconds=500 - reset_time = (datetime.datetime.now() + datetime.timedelta(seconds=1)) + reset_time = (datetime.datetime.now() + datetime.timedelta(seconds=3 )) mock_rate_limit.resources = {"getfriends":{"/friends/list":{ "reset":time.mktime(reset_time.timetuple()), "remaining":0, @@ -117,30 +118,28 @@ def test_exception_retry(mock_rate_limit, mock_twitter): assert conn.endpoint_tokens[conn.curr_endpoint].user_id == 2 # OK, so at this point in the code we assume that the second token is active - # - # ## now make it wait to go back to the previous key - # # by setting the second token's reset time to be later - aka further into the future - than the fetch_twitter_snapshot_and_tweets - # # and also by setting remaining to be zero - # # because the circumstances we're mocking are that every key is exhausted - # # so the token that has the shortest time-to-reset is used - # t.GetFriends.side_effect = [twitter.error.TwitterError([{'code': 88, 'message': 'Rate limit exceeded'}]), friend_accounts] - # mock_rate_limit.resources = {"getfriends":{"/friends/list":{ - # "reset":time.mktime((datetime.datetime.now() + datetime.timedelta(seconds=1)).timetuple()), - # "remaining":0, - # "limit":15}}} - # t.rate_limit = mock_rate_limit - # - # # assert we're still on key 2 - # assert conn.endpoint_tokens[conn.curr_endpoint].user_id == 2 + # now make it wait to go back to the previous key + # by setting the second token's reset time to be later - aka further into the future - than the user_id_1 + # and also by setting remaining to be zero + # because the circumstances we're mocking are that every key is exhausted + # so the token that has the shortest time-to-reset is used + t.GetFriends.side_effect = [twitter.error.TwitterError([{'code': 88, 'message': 'Rate limit exceeded'}]), friend_accounts] + mock_rate_limit.resources = {"getfriends":{"/friends/list":{ + "reset":time.mktime((datetime.datetime.now() + datetime.timedelta(seconds=6)).timetuple()), + "remaining":0, + "limit":15}}} + t.rate_limit = mock_rate_limit + + # assert we're still on key 2 + assert conn.endpoint_tokens[conn.curr_endpoint].user_id == 2 # # assert (reset_time - datetime.datetime.now()).total_seconds() > 0 # # make GetFriends run twice again, the first time erroring -- triggering a retry - # friends = conn.query(conn.api.GetFriends) - # # assert the right result came back - # assert len(friends) == len(friend_accounts) - # # assert that we correctly went back to token 1 - # # the token with the shortest reset time - # assert conn.endpoint_tokens[conn.curr_endpoint].user_id == 1 - # #assert (reset_time - datetime.datetime.now()).total_seconds() < 0 - # - # #TODO test not-only that in the all-exhausted case that rotation happens - # # but also that query waits until the reset time of the next available token + friends = conn.query(conn.api.GetFriends) + # assert the right result came back + assert len(friends) == len(friend_accounts) + # assert that we correctly went back to token 1 + # the token with the shortest reset time + assert conn.endpoint_tokens[conn.curr_endpoint].user_id == 1 + #assert that the reset time is in the past which means we waited long enough + #why not check less than 0, not 1. I find that because of the timestamp resolution it's not quite right. + assert (reset_time - datetime.datetime.now()).total_seconds() < 1.0 From 67781a189c5bd2715136f81c3ae9cf2dac9dd2c1 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Tue, 17 Jul 2018 17:28:58 -0700 Subject: [PATCH 059/221] comments for jnm --- app/connections/twitter_connect.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/app/connections/twitter_connect.py b/app/connections/twitter_connect.py index 3c9fa53..cbe273e 100644 --- a/app/connections/twitter_connect.py +++ b/app/connections/twitter_connect.py @@ -14,6 +14,7 @@ from app.models import TwitterToken, TwitterRateState +# TODO include which version of python-twitter this relates to FUNC_ENDPOINTS = {'GetUserTimeline':'/statuses/user_timeline', 'UsersLookup':'/users/lookup', 'GetUser':'/users/show/:id', @@ -218,18 +219,18 @@ def select_available_token(self, endpoint, strategy='sequential'): wait_before_return = 0 succeeded = False strategy_order = {'random': sqlfunc.rand(), - 'sequential':TwitterRateState.user_id} + 'sequential':TwitterRateState.user_id, + # another strategy might be fetch the most remaining in the future + } order_by = strategy_order[strategy] self.log.info(f'order strategy is {strategy}: giving: {order_by}') while not succeeded: query_time = datetime.datetime.now() try: - # 2. findall token-endpoints where + # 2. find first token-endpoint where # endpoint matches # token-endpoint not checked out - # token-endpoint not reset_time - # random order - # just need one + # token-endpoint after reset_time endpoint_select = self.db_session.query(TwitterRateState) \ .filter(TwitterRateState.endpoint == endpoint) \ .filter(TwitterRateState.checkin_due < query_time) \ @@ -275,6 +276,7 @@ def select_available_token(self, endpoint, strategy='sequential'): self.log.debug("I think I commited the checkin_due update") token = self.db_session.query(TwitterToken).filter(TwitterToken.user_id==token_endpoint.user_id).one() self.db_session.commit() + # class dictionary update self.endpoint_tokens[endpoint] = token self.curr_endpoint = endpoint self.log.debug(f'wiating for {wait_before_return}') @@ -289,6 +291,7 @@ def select_available_token(self, endpoint, strategy='sequential'): def reset_time_of_endpoint(self, endpoint): '''Utility to walk through the rate_limit dict until we find the endpoint and return its reset time''' + #NOTE Future-me, not 100% sure that this dict is always in sync with reality for groupname, groupdict in self.api.rate_limit.resources.items(): if endpoint in groupdict.keys(): return groupdict[endpoint]['reset'] @@ -311,10 +314,10 @@ def mark_reset_time(self, endpoint): ratestate.checkin_due = checkin_time self.db_session.add(ratestate) self.db_session.commit() - #delet form local records + #delete form local records del self.endpoint_tokens[endpoint] - @rate_limit_retry + # @rate_limit_retry def query(self, method, *args, **kwargs): method_name = method.__name__ #find the endpoint that will be used From 9e5507ad0273b7c08b136ed402f5d8fd380a124d Mon Sep 17 00:00:00 2001 From: DMCA Study Date: Sun, 22 Jul 2018 22:24:11 -0400 Subject: [PATCH 060/221] committing current changes on civictechai --- app/controllers/twitter_controller.py | 58 ++++++++++++++++++--------- schedule_twitter_jobs.py | 17 ++++++-- utils/email_db_report.py | 1 + 3 files changed, 53 insertions(+), 23 deletions(-) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index ede1611..6ec4386 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -7,7 +7,7 @@ from sqlalchemy import and_, or_, func import utils.common from utils.common import TwitterUserState, NOT_FOUND_TWITTER_USER_STR, CS_JobState -import sys +import sys, warnings, os from collections import defaultdict TWITTER_DATETIME_STR_FORMAT = "%a %b %d %H:%M:%S %z %Y" @@ -343,7 +343,8 @@ def is_user_suspended_or_deleted(self, username): doesn't need to update any CS_JobState fields. """ def query_and_archive_user_snapshots_and_tweets(self, min_time, is_test=False): - need_snapshot_users = self.db_session.query(TwitterUser).all() + need_snapshot_users = self.db_session.query(TwitterUser).filter( + or_(TwitterUser.lang.in_(["en","en-gb"]), TwitterUser.lang is None) ).all() # querying TwitterUserSnapshot is very expensive #need_snapshot_user_snapshots = self.db_session.query( @@ -520,14 +521,18 @@ def archive_old_users(self, key_to_users, has_ids=True): ################### ARCHIVE TWEET CODE ######################################################### - def query_and_archive_tweets(self, backfill=False, is_test=False): + def query_and_archive_tweets(self, backfill=False, is_test=False, order="ASC"): if backfill: # archive tweets for all users who haven't had oldest tweets PROCESSED - unarchived_users = self.db_session.query(TwitterUser).filter( - TwitterUser.CS_oldest_tweets_archived != CS_JobState.PROCESSED.value).all() + unarchived_users = self.db_session.query(TwitterUser).filter(and_( + TwitterUser.CS_oldest_tweets_archived != CS_JobState.PROCESSED.value, + or_(TwitterUser.lang.in_(["en","en-gb"]), TwitterUser.lang is None)) + ).order_by("record_created_at {0}".format(order)).all() else: - unarchived_users = self.db_session.query(TwitterUser).filter( - TwitterUser.CS_oldest_tweets_archived == CS_JobState.PROCESSED.value).all() + unarchived_users = self.db_session.query(TwitterUser).filter(and_( + TwitterUser.CS_oldest_tweets_archived == CS_JobState.PROCESSED.value, + or_(TwitterUser.lang.in_(["en","en-gb"]), TwitterUser.lang is None)) + ).order_by("record_created_at {0}".format(order)).all() self.log.info("About to query and archive tweets {0} users; backfill={1}".format(len(unarchived_users), backfill)) @@ -548,7 +553,7 @@ def query_and_archive_tweets(self, backfill=False, is_test=False): utils.common.reset_CS_JobState_In_Progress(this_users, "CS_oldest_tweets_archived", self.db_session, self.log) # if still marked IN_PROGRESS (e.g. because of unchecked exception), reset it to NOT_PROCESSED prev_limit = limit - self.log.info("Queried and archived tweets for {0} out of {1} users; backfill={2}".format(prev_limit, len(unarchived_users), backfill)) + self.log.info("PID {3} queried and archived tweets for {0} out of {1} users; backfill={2}".format(prev_limit, len(unarchived_users), backfill, str(os.getpid()))) """ user_records: list of TwitterUser records @@ -583,8 +588,8 @@ def get_statuses_user_state(self, user_id, count=200, max_id=None, user_state=Tw try: statuses = self.t.api.GetUserTimeline(user_id=user_id, count=count, max_id=max_id) except twitter.error.TwitterError as e: - self.log.info(e) self.t.try_counter = 0 ## this line prevents the retry code from looping + self.log.info(e) # TODO: un-jankify this error handling/parsing code. might not get much better though if e.message == "Not authorized.": # Account is either protected or suspended @@ -621,14 +626,15 @@ def archive_user_tweets(self, user, backfill=False, is_test=False): query_seen_statuses = self.db_session.query( TwitterStatus.id).filter( TwitterStatus.user_id == user_id).all() + seen_statuses = set([s[0] for s in query_seen_statuses if s is not None]) # set of ids already in db; s = (872295416376823808,) else: # believe that we have all statuses older than func.max(TwitterStatus.id), # so we only need to get func.max(TwitterStatus.id) query_seen_statuses = self.db_session.query( func.max(TwitterStatus.id)).filter( TwitterStatus.user_id == user_id).first() + seen_statuses = set([query_seen_statuses]) - seen_statuses = set([s[0] for s in query_seen_statuses if s is not None]) # set of ids already in db; s = (872295416376823808,) new_seen_statuses = set([]) # set of ids added this time oldest_id_queried = None # if query_oldest_id is None else query_oldest_id[0] @@ -645,7 +651,7 @@ def archive_user_tweets(self, user, backfill=False, is_test=False): self.log.error("Unexpected error while calling api.GetUserTimeline on user_id {0}: nothing returned".format(user_id)) return job_state - self.log.info("Queried total of {0} tweets for account {1}".format(len(statuses), user_id)) + self.log.info("PID {3} queried total of {0} tweets for account {1}. Backfill={2}".format(len(statuses), user_id, str(backfill), str(os.getpid()))) if user_state is not TwitterUserState.FOUND: if not is_test: @@ -666,31 +672,45 @@ def archive_user_tweets(self, user, backfill=False, is_test=False): sorted_statuses_jsons = sorted(statuses_jsons, key=lambda s: datetime.datetime.strptime(s["created_at"], TWITTER_DATETIME_STR_FORMAT)) prev_new_seen_statuses_length = len(new_seen_statuses) this_oldest_id = min([status_json["id"] for status_json in sorted_statuses_jsons]) + + status_records = [] + for i, status_json in enumerate(sorted_statuses_jsons): # go through statuses from oldest to newest status_id = status_json["id"] created_at = datetime.datetime.strptime(status_json["created_at"], TWITTER_DATETIME_STR_FORMAT) # if status hasn't been stored before, store if status_id not in seen_statuses and status_id not in new_seen_statuses: try: - status_record = TwitterStatus( - id = status_id, - user_id = str(status_json["user"]["id"]), + status_record = dict( + id = status_id, + user_id = str(status_json["user"]["id"]), record_created_at = datetime.datetime.utcnow(), - created_at = created_at, #"Sun Apr 16 17:11:30 +0000 2017" - status_data = json.dumps(status_json)) - self.db_session.add(status_record) + created_at = created_at, #"Sun Apr 16 17:11:30 +0000 2017" + status_data = json.dumps(status_json) + ) + # status_record = TwitterStatus( + # id = status_id, + # user_id = str(status_json["user"]["id"]), + # record_created_at = datetime.datetime.utcnow(), + # created_at = created_at, #"Sun Apr 16 17:11:30 +0000 2017" + # status_data = json.dumps(status_json)) + #self.db_session.add(status_record) + status_records.append(status_record) new_seen_statuses.add(status_id) except: self.log.error("Error while creating TwitterStatus object for user {0}, status id {1}".format(status_json["user"]["id"]["screen_name"], status_id), extra=sys.exc_info()[0]) return job_state try: - self.db_session.commit() + with warnings.catch_warnings(): + warnings.filterwarnings("ignore", r"\(1062, \"Duplicate entry") + self.db_session.execute(TwitterStatus.__table__.insert().prefix_with("IGNORE"), status_records) + self.db_session.commit() except: self.log.error("Error while saving DB Session for {0} statuses for user {1}.".format( len(new_seen_statuses) - prev_new_seen_statuses_length, user_id), extra=sys.exc_info()[0]) return job_state else: - self.log.info("Saved {0} statuses for user {1}.".format(len(new_seen_statuses) - prev_new_seen_statuses_length, user_id)) + self.log.info("PID {2} Saved {0} statuses for user {1}.".format(len(new_seen_statuses) - prev_new_seen_statuses_length, user_id, str(os.getpid()))) if not backfill and this_oldest_id in seen_statuses: # if not backfill, we don't try to go back in time beyond the newest status we've already stored diff --git a/schedule_twitter_jobs.py b/schedule_twitter_jobs.py index e868449..2971772 100644 --- a/schedule_twitter_jobs.py +++ b/schedule_twitter_jobs.py @@ -61,17 +61,26 @@ def main(): required = False, help="Run within a specific environment. Otherwise run under the environment defined in the environment variable CS_ENV") + parser.add_argument("-q", '--queue', + choices=['development', 'test', 'production', 'production2'], + required = False, + help="Run within a specific queue. Otherwise run under the environment defined in the environment variable CS_ENV") + args = parser.parse_args() # if the user specified the environment, set it here if args.env!=None: os.environ['CS_ENV'] = args.env - - queue_name = os.environ['CS_ENV'] - scheduler = Scheduler(queue_name = os.environ['CS_ENV'], connection=Redis()) + + if args.queue!=None: + queue_name = args.queue + else: + queue_name = os.environ['CS_ENV'] + + scheduler = Scheduler(queue_name = queue_name, connection=Redis()) ttl = max(172800, int(args.interval) + 3600) # max of (2days in seconds, args.interval + 1 hr) - timeout = max(60*60*3, int(args.interval) + 300) # max of (3hrs in seconds, args.interval + 50min) + timeout = max(60*60*24, int(args.interval) + 300) # max of (3hrs in seconds, args.interval + 50min) if args.function =="fetch_lumen_notices": diff --git a/utils/email_db_report.py b/utils/email_db_report.py index ec568db..ced239d 100644 --- a/utils/email_db_report.py +++ b/utils/email_db_report.py @@ -281,6 +281,7 @@ def generate_twitter_users(today=datetime.datetime.utcnow(), days=7, html=True, query_str = """ SELECT 'lumen', YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) FROM twitter_users WHERE record_created_at <= :to_date and record_created_at >= :from_date + AND LANG IN("en", "en-gb", NULL) GROUP BY YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at);""" result = run_query_for_days(query_str, today, days=days) if not html: From e163ad9f297ebe612a6d4ede14086c37aacc841c Mon Sep 17 00:00:00 2001 From: "J. Nathan Matias" Date: Sun, 22 Jul 2018 22:26:12 -0400 Subject: [PATCH 061/221] added a script to backfill tweets --- utils/loop_backfill_tweets.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 utils/loop_backfill_tweets.py diff --git a/utils/loop_backfill_tweets.py b/utils/loop_backfill_tweets.py new file mode 100644 index 0000000..7e8a56f --- /dev/null +++ b/utils/loop_backfill_tweets.py @@ -0,0 +1,19 @@ +import os, sys, time +if __name__ == "__main__" and len(sys.argv) > 1: + os.environ["CS_ENV"] = sys.argv[1] +ENV = os.environ["CS_ENV"] + +BASE_DIR = os.path.join(os.path.dirname(os.path.realpath(__file__)), "..") +sys.path.append(BASE_DIR) + +import app.controller + +order = "DESC" + +if sys.argv[1] in ["ASC","DESC"]: + order = sys.argv[2] + +## SLEEP 30 MINUTES IN-BETWEEN JOB RUNS +while(1): + app.controller.fetch_twitter_tweets(backfill = True, order = order) + time.sleep(1800) From e5258e3b7a0aca8a1bb17aa8c48368d80ef89a55 Mon Sep 17 00:00:00 2001 From: "J. Nathan Matias" Date: Sun, 22 Jul 2018 22:31:29 -0400 Subject: [PATCH 062/221] resolved multiple head revisions by adjusting the down_revision for this alembic schema migratino --- .../960085fce39c_generating_migration_for_a_praw_object.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/alembic/versions/960085fce39c_generating_migration_for_a_praw_object.py b/alembic/versions/960085fce39c_generating_migration_for_a_praw_object.py index b232a77..b13fc8d 100644 --- a/alembic/versions/960085fce39c_generating_migration_for_a_praw_object.py +++ b/alembic/versions/960085fce39c_generating_migration_for_a_praw_object.py @@ -8,7 +8,7 @@ # revision identifiers, used by Alembic. revision = '960085fce39c' -down_revision = '4d46b88366fc' +down_revision = 'edc5377c32c7' branch_labels = None depends_on = None From 6c088a2ba40f34630a26e4640d62e457cf04a2bc Mon Sep 17 00:00:00 2001 From: "J. Nathan Matias" Date: Tue, 24 Jul 2018 11:58:38 -0400 Subject: [PATCH 063/221] test_lumen, test_twitter, test_twitter_connect, and relevant test_controllers tests now passing --- app/connections/twitter_connect.py | 85 +++++++++++++++--------------- app/controller.py | 2 +- tests/test_controllers.py | 45 ++++++++++++---- tests/test_lumen.py | 1 - tests/test_twitter.py | 24 +++++---- tests/test_twitter_connect.py | 12 ++--- 6 files changed, 99 insertions(+), 70 deletions(-) diff --git a/app/connections/twitter_connect.py b/app/connections/twitter_connect.py index cbe273e..17f149a 100644 --- a/app/connections/twitter_connect.py +++ b/app/connections/twitter_connect.py @@ -4,7 +4,7 @@ from collections import defaultdict import twitter import app.cs_logger -from retrying import retry +#from retrying import retry from time import sleep from random import random @@ -27,24 +27,24 @@ ## WE SHOULD RETRY FOR AS MANY TIMES AS THERE ARE KEYS ## NOTE: this was the only thing relying on the token_path being outside of the ## twitter_connect class, so I'm going to remove the dependency for now. -RETRY_LIMIT = 100 #len(glob.glob(os.path.join(token_path, "*.json"))) +#RETRY_LIMIT = 100 #len(glob.glob(os.path.join(token_path, "*.json"))) -def rate_limit_retry(func): +#def rate_limit_retry(func): - def retry_if_api_limit_error(exception): +# def retry_if_api_limit_error(exception): #print("rate_limit_retry: {0}".format(str(exception))) #print(exception) - if(len(exception.args)>0 and len(exception.args[0])>0 and "code" in exception.args[0][0] and exception.args[0][0]['code'] == 88): - return True +# if(len(exception.args)>0 and len(exception.args[0])>0 and "code" in exception.args[0][0] and exception.args[0][0]['code'] == 88): +# return True #print("rate_limit_retry: Raising Exception") - raise exception +# raise exception # this code wraps the function in a retry block - @retry(retry_on_exception=retry_if_api_limit_error, stop_max_attempt_number=RETRY_LIMIT) - def func_wrapper(self,*args, **kwargs): +# @retry(retry_on_exception=retry_if_api_limit_error, stop_max_attempt_number=RETRY_LIMIT) +# def func_wrapper(self,*args, **kwargs): #print("Before (Class {0}, Method {1})".format(self.__class__.__name__, sys._getframe().f_code.co_name)) - self.try_counter += 1 - result = None +# self.try_counter += 1 +# result = None #try a new key only if it's the second attempt or later # if(self.try_counter >= 2): # self.log.info("Twitter: rate limit calling TwitterConnect.api.{0} on ID {1}.".format(set(args).pop().__name__, self.curr_token.user_id)) @@ -70,14 +70,14 @@ def func_wrapper(self,*args, **kwargs): # if(self.apply_token(token)): # self.log.info("Twitter API connection verified under ID {0}. Previously {1}.".format(self.token['user_id'], previous_token_user)) - result = func(self,*args, **kwargs) +# result = func(self,*args, **kwargs) ## if the above line fails, the counter will iterate ## without being reset, since the line below would never run ## if the above line succeeds, reset the counter and continue - self.try_counter = 0 - return result +# self.try_counter = 0 +# return result - return func_wrapper +# return func_wrapper class TwitterConnect(): @@ -136,25 +136,25 @@ def update_db_tokens_from_files(self): token_path_names = os.listdir(self.token_path) dir_tokens = set([fname.split('.json')[0] for fname in token_path_names \ if fname.endswith('.json')]) - self.log.info(f'Found {len(dir_tokens)} tokens in f{self.token_path}') + self.log.info('Found {0} tokens in {1}'.format(len(dir_tokens), self.token_path)) # get the tokens currently in the database #just the usernames db_tokens_res = self.db_session.query(TwitterToken).options(load_only('username')).all() db_tokens = set([r.username for r in db_tokens_res]) - self.log.info(f'Found {len(db_tokens)} tokens in twitter_tokens table') + self.log.info('Found {0} tokens in twitter_tokens table'.format(len(db_tokens))) #do some set subtraction in both directions in_dir_not_db = dir_tokens - db_tokens in_db_not_dir = db_tokens - dir_tokens - self.log.info(f'Found {len(in_dir_not_db)} tokens in directory not db') - self.log.info(f'Found {len(in_db_not_dir)} tokens in db not directory') + self.log.info('Found {0} tokens in directory not db'.format(len(in_dir_not_db))) + self.log.info('Found {0} tokens in db not directory'.format(len(in_db_not_dir))) # add all tokens not already in db tokens_to_add = [] ratestates_to_add = [] creation_time_epsilon = datetime.datetime.now() - timedelta(seconds=1) # a little in the past - self.log.info(f'Creation time is {creation_time_epsilon}') + self.log.info('Creation time is {0}'.format(creation_time_epsilon)) for token_username in in_dir_not_db: - with open(os.path.join(self.token_path, f'{token_username}.json'), 'r') as f: + with open(os.path.join(self.token_path, '{0}.json'.format(token_username)), 'r') as f: token_data = json.load(f) token_obj = TwitterToken() @@ -178,17 +178,17 @@ def update_db_tokens_from_files(self): # Twitter Tokens table self.db_session.add_all(tokens_to_add) self.db_session.commit() - self.log.info(f'Added {len(tokens_to_add)} tokens to twitter_tokens table') + self.log.info('Added {0} tokens to twitter_tokens table'.format(len(tokens_to_add))) # Twitter RateState tables self.db_session.add_all(ratestates_to_add) self.db_session.commit() - self.log.info(f'Added {len(ratestates_to_add)} tokens to twitter_ratestate table') + self.log.info('Added {0} tokens to twitter_ratestate table'.format(len(ratestates_to_add))) # at least log what's in but not in dir for token_username in in_db_not_dir: - self.log.info(f"I think {token_username} has revoked permission and\ - we should set their token to inactive.") + self.log.info("I think {0} has revoked permission and\ + we should set their token to inactive.".format(token_username)) ## This method takes a token and tries to adjust the API to query using the token def apply_token(self, endpoint): @@ -204,7 +204,7 @@ def apply_token(self, endpoint): verification = self.api.VerifyCredentials() self.api.InitializeRateLimit() #dangerous for us. except twitter.error.TwitterError as e: - self.log.error("Twitter: Failed to connect to API with User ID {0}. Remove from token set. Error: {1}.".format(token['user_id'], str(e))) + self.log.error("Twitter: Failed to connect to API with endpoint {0}. Remove from token set. Error: {1}.".format(endpoint, str(e))) self.curr_endpoint['valid'] = False self.token = None return False @@ -223,7 +223,7 @@ def select_available_token(self, endpoint, strategy='sequential'): # another strategy might be fetch the most remaining in the future } order_by = strategy_order[strategy] - self.log.info(f'order strategy is {strategy}: giving: {order_by}') + self.log.info('order strategy is {0}: giving: {1}'.format(strategy, order_by)) while not succeeded: query_time = datetime.datetime.now() try: @@ -237,10 +237,10 @@ def select_available_token(self, endpoint, strategy='sequential'): .filter(TwitterRateState.reset_time < query_time) \ .order_by(order_by) \ .with_for_update().first() - self.log.info(f'''Trying to get token matching \ - endpoint: {endpoint} \ - query_time: {query_time}''') - self.log.info(f'Number Token-endpoint query results: {1 if endpoint_select else 0}') + self.log.info('''Trying to get token matching \ + endpoint: {0} \ + query_time: {1}'''.format(endpoint, query_time)) + self.log.info('Number Token-endpoint query results: {0}'.format(1 if endpoint_select else 0)) # 3 check if the endpoint_select is empty if not endpoint_select: @@ -254,8 +254,8 @@ def select_available_token(self, endpoint, strategy='sequential'): .order_by(TwitterRateState.reset_time).first() if prebook: wait_before_return = (prebook.reset_time - query_time).total_seconds() - self.log.info(f'This is a prebook situation, not available until seconds: {wait_before_return}') - self.log.info(f'Prebook user_id is {prebook.user_id}') + self.log.info('This is a prebook situation, not available until seconds: {0}'.format(wait_before_return)) + self.log.info('Prebook user_id is {0}'.format(prebook.user_id)) if not prebook: # else we need to b) keep on waiting until we can checksomething out next_checkout = self.db_session.query(TwitterRateState) \ @@ -263,7 +263,7 @@ def select_available_token(self, endpoint, strategy='sequential'): .order_by(TwitterRateState.checkin_due).first() #add a bit of noise for loop until time_until_next_try = next_checkout.checkin_due - query_time + timedelta(seconds=random()) - self.log.info(f'Oh dear all the endpoints are checked out for at least seconds: {time_until_next_try}') + self.log.info('Oh dear all the endpoints are checked out for at least seconds: {0}'.format(time_until_next_try)) sleep(time_until_next_try.total_seconds()) continue # 4. update checkout_due in database for select token-endpoint @@ -279,12 +279,12 @@ def select_available_token(self, endpoint, strategy='sequential'): # class dictionary update self.endpoint_tokens[endpoint] = token self.curr_endpoint = endpoint - self.log.debug(f'wiating for {wait_before_return}') + self.log.debug('wiating for {0}'.format(wait_before_return)) sleep(wait_before_return) self.apply_token(endpoint) return True except: - self.log.exception(f'exception in getting from DB for tokens') + self.log.exception('exception in getting from DB for tokens') self.db_session.rollback() raise @@ -305,8 +305,8 @@ def mark_reset_time(self, endpoint): # so this should be unique ratestate = self.db_session.query(TwitterRateState).filter(TwitterRateState.user_id==user_id) \ .filter(TwitterRateState.endpoint==endpoint).with_for_update().one() - self.log.debug(f'Marking exhausted user_id:{user_id}, endpoint:{endpoint}, reset_time{reset_time}.') - self.log.debug(f'ratestate object had user_id:{ratestate.user_id}') + self.log.debug('Marking exhausted user_id:{0}, endpoint:{1}, reset_time{2}.'.format(user_id, endpoint, reset_time)) + self.log.debug('ratestate object had user_id:{0}'.format(ratestate.user_id)) # put in the reset time ratestate.reset_time = datetime.datetime.fromtimestamp(reset_time) # and also mark this ratestate as checked-in @@ -339,12 +339,13 @@ def query(self, method, *args, **kwargs): #if we get a an error from twitter except twitter.TwitterError as twiterr: # if it's rate exceeded we know how to deal with that - if twiterr.message[0]['message']=='Rate limit exceeded': - self.log.info(f'Rate limit encountered on endpoint:{endpoint}') + if type(twiterr.message).__name__ == "list" and twiterr.message[0]['message']=='Rate limit exceeded': + self.log.info('Rate limit encountered on endpoint:{0}'.format(endpoint)) self.mark_reset_time(endpoint) # recurse! - self.log.info(f'Recursing for method:') + self.log.info('Recursing for method:') return self.query(method, *args, **kwargs) else: - self.log.info(f'Encountered twitter error, not the exceeded one: {twiterr}') + self.log.info('Twitter Query encountered twitter error other than Rate Limit Exceeded: {0}'.format(twiterr)) + raise twiterr return result diff --git a/app/controller.py b/app/controller.py index 250fea3..628ceb2 100644 --- a/app/controller.py +++ b/app/controller.py @@ -35,7 +35,7 @@ conn = app.connections.reddit_connect.RedditConnect() lumen_conn = app.connections.lumen_connect.LumenConnect(log) -twitter_conn = app.connections.twitter_connect.TwitterConnect(log, db_session) +twitter_conn = app.connections.twitter_connect.TwitterConnect(log=log, db_session = db_session) def fetch_reddit_front(page_type=PageType.TOP): r = conn.connect(controller="FetchRedditFront") diff --git a/tests/test_controllers.py b/tests/test_controllers.py index 2c4b71a..adcb9a6 100644 --- a/tests/test_controllers.py +++ b/tests/test_controllers.py @@ -48,6 +48,8 @@ def clear_all_tables(): db_session.query(TwitterUser).delete() db_session.query(TwitterUserSnapshot).delete() db_session.query(TwitterStatus).delete() + for table in (TwitterRateState, TwitterToken): + db_session.query(table).delete() db_session.commit() def setup_function(function): @@ -701,7 +703,13 @@ def test_parse_notices_archive_users(mock_LumenConnect, mock_get): def test_archive_new_users(mock_twitter_api, mock_twitter_error): api = mock_twitter_api.return_value te = mock_twitter_error.return_value - tc = app.connections.twitter_connect.TwitterConnect() + tc = app.connections.twitter_connect.TwitterConnect(log=log, db_session=db_session) + + ## important to mock the method name because + ## TwitterConnect uses the method name and + ## Otherwise Mock names it as a mocked object + api.UsersLookup.__name__ = "UsersLookup" + api.GetUser.__name__ = "GetUser" with open("{script_dir}/fixture_data/anon_twitter_users.json".format(script_dir=TEST_DIR)) as f: data = f.read() @@ -767,8 +775,13 @@ def test_archive_new_users(mock_twitter_api, mock_twitter_error): def test_archive_old_users(mock_twitter_api, mock_twitter_error): api = mock_twitter_api.return_value te = mock_twitter_error.return_value - tc = app.connections.twitter_connect.TwitterConnect() + tc = app.connections.twitter_connect.TwitterConnect(log=log, db_session=db_session) + ## important to mock the method name because + ## TwitterConnect uses the method name and + ## Otherwise Mock names it as a mocked object + api.UsersLookup.__name__ = "UsersLookup" + api.GetUser.__name__ = "GetUser" # for is_user_suspended_or_deleted api.GetUser.side_effect = te.TwitterError([{'message': 'User not found.', 'code': 50}]) @@ -933,13 +946,19 @@ def test_archive_old_users(mock_twitter_api, mock_twitter_error): -# TODO: currently this test does not test users with lots of statuses/tweets, so as to not call api.GetUserTimeline more than once, which is difficult to mock +# TODO: currently this test does not test users with lots of statuses/tweets, +# so as to not call api.GetUserTimeline more than once, which is difficult to mock @patch('twitter.Api', autospec=True) -@patch('app.connections.twitter_connect.TwitterConnect', autospec=True) -def test_archive_user_tweets(mock_TwitterConnect, mock_twitter_api): - tc = mock_TwitterConnect.return_value +def test_archive_user_tweets(mock_twitter_api): + #tc = mock_TwitterConnect.return_value + tc = app.connections.twitter_connect.TwitterConnect(log=log, db_session=db_session) api = mock_twitter_api.return_value + ## important to mock the method name because + ## TwitterConnect uses the method name and + ## Otherwise Mock names it as a mocked object + api.GetUser.__name__ = "GetUser" + def mocked_GetUserTimeline(user_id, count=None, max_id=None): with open("{script_dir}/fixture_data/anon_twitter_tweets.json".format(script_dir=TEST_DIR)) as f: data = json.loads(f.read()) @@ -954,10 +973,11 @@ def mocked_GetUserTimeline(user_id, count=None, max_id=None): m = Mock() m.side_effect = mocked_GetUserTimeline + m.__name__ = "GetUserTimeline" api.GetUserTimeline = m - tc.api = api patch('twitter.') - patch('app.connections.twitter_connect.') + tc.api = api + #patch('app.connections.twitter_connect.') assert len(db_session.query(TwitterStatus).all()) == 0 @@ -984,8 +1004,13 @@ def mocked_GetUserTimeline(user_id, count=None, max_id=None): t_controller.archive_user_tweets(user_record, backfill=True, is_test=True) user_record = db_session.query(TwitterUser).filter(TwitterUser.screen_name == user["screen_name"]).first() all_tweets = db_session.query(TwitterStatus).filter(TwitterStatus.user_id == user_record.id).all() - assert len(all_tweets) == result["status_count"] - assert user_record.user_state == result["user_state"] + try: + assert len(all_tweets) == result["status_count"] + assert user_record.user_state == result["user_state"] + except AssertionError: + import pdb; pdb.set_trace() + pass + diff --git a/tests/test_lumen.py b/tests/test_lumen.py index 3345f73..0b074b7 100644 --- a/tests/test_lumen.py +++ b/tests/test_lumen.py @@ -1,5 +1,4 @@ import app.connections.lumen_connect -import app.controller import app.controllers.lumen_controller import os import simplejson as json diff --git a/tests/test_twitter.py b/tests/test_twitter.py index 4b94904..260336b 100644 --- a/tests/test_twitter.py +++ b/tests/test_twitter.py @@ -1,6 +1,6 @@ import pytest import app.connections.twitter_connect -import app.controller +#import app.controller import app.controllers.twitter_controller import os import simplejson as json @@ -19,10 +19,17 @@ db_session = DbEngine(os.path.join(TEST_DIR, "../", "config") + "/{env}.json".format(env=ENV)).new_session() log = app.cs_logger.get_logger(ENV, BASE_DIR) + +def clear_twitter_tables(): + for table in (TwitterRateState, TwitterToken): + db_session.query(table).delete() + db_session.commit() + def setup_function(function): - pass + clear_twitter_tables() def teardown_function(function): + clear_twitter_tables() db_session.query(LumenNotice).delete() db_session.query(LumenNoticeExpandedURL).delete() db_session.query(LumenNoticeToTwitterUser).delete() @@ -52,13 +59,13 @@ def populate_notice_users(): @patch('twitter.Api', autospec=True) def test_archive_twitter_new_users(mock_twitter, populate_notice_users): + log.info("STARTING test_archive_twitter_new_users") t = mock_twitter.return_value - with open("{script_dir}/fixture_data/anon_users_lookup_0.json".format(script_dir=TEST_DIR)) as f: fixture = json.loads(f.read()) t.UsersLookup.return_value = fixture - conn = app.connections.twitter_connect.TwitterConnect() + conn = app.connections.twitter_connect.TwitterConnect(log=log,db_session=db_session) t_ctrl = app.controllers.twitter_controller.TwitterController(db_session, conn, log) try: @@ -71,9 +78,8 @@ def test_archive_twitter_new_users(mock_twitter, populate_notice_users): assert False # expected query_and_archive_new_users to throw test_exception @patch('twitter.Api', autospec=True) -@patch('app.connections.twitter_connect.TwitterConnect', autospec=True) -def test_with_user_records_archive_tweets(mock_TwitterConnect, mock_twitter_api): - tc = mock_TwitterConnect.return_value +def test_with_user_records_archive_tweets(mock_twitter_api): + tc = app.connections.twitter_connect.TwitterConnect(log=log, db_session=db_session) api = mock_twitter_api.return_value def mocked_GetUserTimeline(user_id, count=None, max_id=None): @@ -91,14 +97,12 @@ def mocked_GetUserTimeline(user_id, count=None, max_id=None): m = Mock() m.side_effect = mocked_GetUserTimeline api.GetUserTimeline = m + api.GetUserTimeline.__name__ = "GetUserTimeline" tc.api = api patch('twitter.') - patch('app.connections.twitter_connect.') assert len(db_session.query(TwitterStatus).all()) == 0 - - t_controller = app.controllers.twitter_controller.TwitterController(db_session, tc, log) user_results = [ diff --git a/tests/test_twitter_connect.py b/tests/test_twitter_connect.py index 24d99b7..062dc31 100644 --- a/tests/test_twitter_connect.py +++ b/tests/test_twitter_connect.py @@ -16,16 +16,16 @@ db_session = DbEngine(os.path.join(TEST_DIR, "../", "config") + "/{env}.json".format(env=ENV)).new_session() log = app.cs_logger.get_logger(ENV, BASE_DIR) -def truncate_twitter_tables(): +def clear_twitter_tables(): for table in (TwitterRateState, TwitterToken): db_session.query(table).delete() db_session.commit() def setup_function(function): - truncate_twitter_tables() + clear_twitter_tables() def teardown_function(function): - # truncate_twitter_tables() + # clear_twitter_tables() pass @patch('twitter.Api', autospec=True) @@ -34,7 +34,7 @@ def test_load_tokens(mock_rate_limit, mock_twitter): config_path = os.path.join(BASE_DIR, "config", "twitter_configuration_" + ENV + ".json") token_path = json.load(open(config_path,'r'))['key_path'] - log.info(f'token_path is: {token_path}') + log.info('token_path is: {0}'.format(token_path)) print(token_path) token_file_names = os.listdir(token_path) @@ -43,8 +43,8 @@ def test_load_tokens(mock_rate_limit, mock_twitter): tokens_in_db = db_session.query(TwitterToken).all() db_session.commit() len_files, len_db = len(token_file_names), len(tokens_in_db) - print(f'there are {len_files} tokens in files') - print(f'there are {len_db} tokens in db') + print('there are {0} tokens in files'.format(len_files)) + print('there are {0} tokens in db'.format(len_db)) assert len_files == len_db @patch('twitter.Api', autospec=True) From 32d7008f5d1f54f78bfef33df1b06fa85769c49b Mon Sep 17 00:00:00 2001 From: "J. Nathan Matias" Date: Tue, 24 Jul 2018 19:15:28 -0400 Subject: [PATCH 064/221] updated lumen connect to handle API changes --- app/connections/lumen_connect.py | 12 +++++++----- app/connections/twitter_connect.py | 2 +- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/app/connections/lumen_connect.py b/app/connections/lumen_connect.py index d373aaa..a730ec0 100644 --- a/app/connections/lumen_connect.py +++ b/app/connections/lumen_connect.py @@ -18,7 +18,7 @@ def __init__(self, log): "Content-type": "application/json", "Accept": "application/json", "X-Authentication-Token": LUMENCONFIG["X-Authentication-Token"], - "User-Agent": "MerryMouCSBot/1.0" + "User-Agent": "CivilServant/1.0" } self.log = log @@ -40,16 +40,18 @@ def get_search(self, payload): return self.get("https://lumendatabase.org/notices/search", payload) def get_notices_to_twitter(self, topics, count, page, from_date, to_date): + date_facet = str(utils.common.time_since_epoch_ms(from_date)) + ".." + str(utils.common.time_since_epoch_ms(to_date)) payload = { "topics": topics, "per_page": count, "page": page, "sort_by": "date_received desc", "recipient_name": "Twitter", - "date_received_facet": { - "from": utils.common.time_since_epoch_ms(from_date), - "to": utils.common.time_since_epoch_ms(to_date) - } + "date_received_facet": date_facet +# "date_received_facet": { +# "from": utils.common.time_since_epoch_ms(from_date), +# "to": utils.common.time_since_epoch_ms(to_date) +# } } return self.get_search(payload) diff --git a/app/connections/twitter_connect.py b/app/connections/twitter_connect.py index 17f149a..9c9e9e8 100644 --- a/app/connections/twitter_connect.py +++ b/app/connections/twitter_connect.py @@ -263,7 +263,7 @@ def select_available_token(self, endpoint, strategy='sequential'): .order_by(TwitterRateState.checkin_due).first() #add a bit of noise for loop until time_until_next_try = next_checkout.checkin_due - query_time + timedelta(seconds=random()) - self.log.info('Oh dear all the endpoints are checked out for at least seconds: {0}'.format(time_until_next_try)) + self.log.info('PID {1}: Oh dear all the endpoints are checked out for at least seconds: {0}'.format(time_until_next_try), str(os.getpid())) sleep(time_until_next_try.total_seconds()) continue # 4. update checkout_due in database for select token-endpoint From 728cd11647a52ad2c498a010b6984c024b7117a3 Mon Sep 17 00:00:00 2001 From: "J. Nathan Matias" Date: Tue, 24 Jul 2018 19:17:11 -0400 Subject: [PATCH 065/221] fixed paren problem --- app/connections/twitter_connect.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/connections/twitter_connect.py b/app/connections/twitter_connect.py index 9c9e9e8..6fbef19 100644 --- a/app/connections/twitter_connect.py +++ b/app/connections/twitter_connect.py @@ -263,7 +263,7 @@ def select_available_token(self, endpoint, strategy='sequential'): .order_by(TwitterRateState.checkin_due).first() #add a bit of noise for loop until time_until_next_try = next_checkout.checkin_due - query_time + timedelta(seconds=random()) - self.log.info('PID {1}: Oh dear all the endpoints are checked out for at least seconds: {0}'.format(time_until_next_try), str(os.getpid())) + self.log.info('PID {1}: Oh dear all the endpoints are checked out for at least seconds: {0}'.format(time_until_next_try, str(os.getpid()))) sleep(time_until_next_try.total_seconds()) continue # 4. update checkout_due in database for select token-endpoint From cef096dc33caf59de8862e731c4cfca3dbfde950 Mon Sep 17 00:00:00 2001 From: "J. Nathan Matias" Date: Wed, 25 Jul 2018 13:41:23 -0400 Subject: [PATCH 066/221] added lumen auth example config file --- config/lumen_auth_env.json.example | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 config/lumen_auth_env.json.example diff --git a/config/lumen_auth_env.json.example b/config/lumen_auth_env.json.example new file mode 100644 index 0000000..343e032 --- /dev/null +++ b/config/lumen_auth_env.json.example @@ -0,0 +1,3 @@ +{ + "X-Authentication-Token": "" +} From 25b4e307b247ccd402dbd06ccadc8d7dfe0d34c0 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Thu, 26 Jul 2018 17:46:18 -0700 Subject: [PATCH 067/221] add seperate check in method to be used by twitter controller and update tests. --- .gitignore | 4 + app/connections/twitter_connect.py | 235 ++++++++++++++++------------- tests/test_twitter_connect.py | 29 +++- 3 files changed, 157 insertions(+), 111 deletions(-) diff --git a/.gitignore b/.gitignore index 3774dff..87e206b 100644 --- a/.gitignore +++ b/.gitignore @@ -75,3 +75,7 @@ target/ #Ipython Notebook .ipynb_checkpoints + +\.idea/ + +\.pytest_cache/ diff --git a/app/connections/twitter_connect.py b/app/connections/twitter_connect.py index 6fbef19..ac9b526 100644 --- a/app/connections/twitter_connect.py +++ b/app/connections/twitter_connect.py @@ -4,76 +4,76 @@ from collections import defaultdict import twitter import app.cs_logger -#from retrying import retry +# from retrying import retry from time import sleep from random import random - from sqlalchemy.orm import load_only from sqlalchemy.sql.expression import func as sqlfunc from app.models import TwitterToken, TwitterRateState -# TODO include which version of python-twitter this relates to -FUNC_ENDPOINTS = {'GetUserTimeline':'/statuses/user_timeline', - 'UsersLookup':'/users/lookup', - 'GetUser':'/users/show/:id', - 'VerifyCredentials':'/account/verify_credentials', - 'GetFriends': '/friends/list',} +# this dict is accurate as of python-twitter 3.4.2 +FUNC_ENDPOINTS = {'GetUserTimeline': '/statuses/user_timeline', + 'UsersLookup': '/users/lookup', + 'GetUser': '/users/show/:id', + 'VerifyCredentials': '/account/verify_credentials', + 'GetFriends': '/friends/list', } + +ENV = os.environ['CS_ENV'] -ENV = os.environ['CS_ENV'] ## HOW MANY TIMES TO RETRY? ## WE SHOULD RETRY FOR AS MANY TIMES AS THERE ARE KEYS ## NOTE: this was the only thing relying on the token_path being outside of the ## twitter_connect class, so I'm going to remove the dependency for now. -#RETRY_LIMIT = 100 #len(glob.glob(os.path.join(token_path, "*.json"))) +# RETRY_LIMIT = 100 #len(glob.glob(os.path.join(token_path, "*.json"))) -#def rate_limit_retry(func): +# def rate_limit_retry(func): # def retry_if_api_limit_error(exception): - #print("rate_limit_retry: {0}".format(str(exception))) - #print(exception) +# print("rate_limit_retry: {0}".format(str(exception))) +# print(exception) # if(len(exception.args)>0 and len(exception.args[0])>0 and "code" in exception.args[0][0] and exception.args[0][0]['code'] == 88): # return True - #print("rate_limit_retry: Raising Exception") +# print("rate_limit_retry: Raising Exception") # raise exception - # this code wraps the function in a retry block +# this code wraps the function in a retry block # @retry(retry_on_exception=retry_if_api_limit_error, stop_max_attempt_number=RETRY_LIMIT) # def func_wrapper(self,*args, **kwargs): - #print("Before (Class {0}, Method {1})".format(self.__class__.__name__, sys._getframe().f_code.co_name)) +# print("Before (Class {0}, Method {1})".format(self.__class__.__name__, sys._getframe().f_code.co_name)) # self.try_counter += 1 # result = None - #try a new key only if it's the second attempt or later - # if(self.try_counter >= 2): - # self.log.info("Twitter: rate limit calling TwitterConnect.api.{0} on ID {1}.".format(set(args).pop().__name__, self.curr_token.user_id)) - # ## reset time to be the appropriate reset time - # ## by setting it to the earliest possible reset time - # ## TODO: Make this more efficient by observing the specific - # max_rate_limit = None - # max_rate_limit_keys = [] - # for method, ratelist in self.api.rate_limit.resources.items(): - # for rl in list(ratelist.items()): - # url = rl[0] - # ratelimit = rl[1] - # ## TODO: THIS SHOULD BE THE LATEST RATE LIMIT FOR THIS KEY - # if('reset' in ratelimit.keys() and (max_rate_limit is None or ratelimit['reset'] > max_rate_limit)): - # max_rate_limit_keys = [method, url] - # max_rate_limit = ratelimit['reset'] - # self.token['next_available'] = datetime.datetime.fromtimestamp(max_rate_limit) - # self.token['available'] = False - # self.log.info("Twitter: Token for ID {0} next available at {1}. Selecting a new token...".format(self.token['user_id'], self.token['next_available'])) - # - # # token = self.select_available_token() - # previous_token_user = self.token['user_id'] - # if(self.apply_token(token)): - # self.log.info("Twitter API connection verified under ID {0}. Previously {1}.".format(self.token['user_id'], previous_token_user)) +# try a new key only if it's the second attempt or later +# if(self.try_counter >= 2): +# self.log.info("Twitter: rate limit calling TwitterConnect.api.{0} on ID {1}.".format(set(args).pop().__name__, self.curr_token.user_id)) +# ## reset time to be the appropriate reset time +# ## by setting it to the earliest possible reset time +# ## TODO: Make this more efficient by observing the specific +# max_rate_limit = None +# max_rate_limit_keys = [] +# for method, ratelist in self.api.rate_limit.resources.items(): +# for rl in list(ratelist.items()): +# url = rl[0] +# ratelimit = rl[1] +# ## TODO: THIS SHOULD BE THE LATEST RATE LIMIT FOR THIS KEY +# if('reset' in ratelimit.keys() and (max_rate_limit is None or ratelimit['reset'] > max_rate_limit)): +# max_rate_limit_keys = [method, url] +# max_rate_limit = ratelimit['reset'] +# self.token['next_available'] = datetime.datetime.fromtimestamp(max_rate_limit) +# self.token['available'] = False +# self.log.info("Twitter: Token for ID {0} next available at {1}. Selecting a new token...".format(self.token['user_id'], self.token['next_available'])) +# +# # token = self.select_available_token() +# previous_token_user = self.token['user_id'] +# if(self.apply_token(token)): +# self.log.info("Twitter API connection verified under ID {0}. Previously {1}.".format(self.token['user_id'], previous_token_user)) # result = func(self,*args, **kwargs) - ## if the above line fails, the counter will iterate - ## without being reset, since the line below would never run - ## if the above line succeeds, reset the counter and continue +## if the above line fails, the counter will iterate +## without being reset, since the line below would never run +## if the above line succeeds, reset the counter and continue # self.try_counter = 0 # return result @@ -90,7 +90,7 @@ def __init__(self, log=None, db_session=None): self.endpoint_tokens = {} self.curr_endpoint = None ## LOAD LOGGER - if(log): + if (log): self.log = log else: self.log = app.cs_logger.get_logger(ENV, BASE_DIR) @@ -100,12 +100,15 @@ def __init__(self, log=None, db_session=None): with open(config_path, "r") as config: self.config = json.loads(config.read()) - if(self.config['key_path'][0] == "/"): + if (self.config['key_path'][0] == "/"): self.token_path = self.config['key_path'] - self.log.info("TwitterConnect is loading from an absolute configuration path specified in {0}".format(config_path)) + self.log.info( + "TwitterConnect is loading from an absolute configuration path specified in {0}".format(config_path)) else: self.token_path = os.path.join(BASE_DIR, self.config['key_path']) - self.log.info("TwitterConnect is loading from a relative configuration path specified in {0}. Loading tokens from {1}".format(config_path, self.token_path)) + self.log.info( + "TwitterConnect is loading from a relative configuration path specified in {0}. Loading tokens from {1}".format( + config_path, self.token_path)) self.update_db_tokens_from_files() @@ -116,9 +119,9 @@ def __init__(self, log=None, db_session=None): self.consumer_key = twitter_config["consumer_key"] self.consumer_secret = twitter_config["consumer_secret"] + # do gymnastics to get `.api` attribute active. self.select_available_token('/account/verify_credentials') - - + self.checkin_endpoint('/account/verify_credentials') # I think we won't intialize any token until the query is called. # self.curr_endpoint = self.select_available_token() # @@ -135,14 +138,14 @@ def update_db_tokens_from_files(self): # get token names from key_path token_path_names = os.listdir(self.token_path) dir_tokens = set([fname.split('.json')[0] for fname in token_path_names \ - if fname.endswith('.json')]) + if fname.endswith('.json')]) self.log.info('Found {0} tokens in {1}'.format(len(dir_tokens), self.token_path)) # get the tokens currently in the database #just the usernames db_tokens_res = self.db_session.query(TwitterToken).options(load_only('username')).all() db_tokens = set([r.username for r in db_tokens_res]) self.log.info('Found {0} tokens in twitter_tokens table'.format(len(db_tokens))) - #do some set subtraction in both directions + # do some set subtraction in both directions in_dir_not_db = dir_tokens - db_tokens in_db_not_dir = db_tokens - dir_tokens self.log.info('Found {0} tokens in directory not db'.format(len(in_dir_not_db))) @@ -151,7 +154,7 @@ def update_db_tokens_from_files(self): # add all tokens not already in db tokens_to_add = [] ratestates_to_add = [] - creation_time_epsilon = datetime.datetime.now() - timedelta(seconds=1) # a little in the past + creation_time_epsilon = datetime.datetime.now() - timedelta(seconds=1) # a little in the past self.log.info('Creation time is {0}'.format(creation_time_epsilon)) for token_username in in_dir_not_db: with open(os.path.join(self.token_path, '{0}.json'.format(token_username)), 'r') as f: @@ -167,11 +170,11 @@ def update_db_tokens_from_files(self): for endpoint in FUNC_ENDPOINTS.values(): ratestate = TwitterRateState() ratestate.user_id = token_data['user_id'] - ratestate.endpoint = endpoint #special value - ratestate.checkin_due = creation_time_epsilon #it will immediatley be available - ratestate.reset_time = creation_time_epsilon #likewise immediately out of date - ratestate.limit = -1 #special creation value - ratestate.remaining = -1 #special creation value + ratestate.endpoint = endpoint # special value + ratestate.checkin_due = creation_time_epsilon # it will immediatley be available + ratestate.reset_time = creation_time_epsilon # likewise immediately out of date + ratestate.limit = -1 # special creation value + ratestate.remaining = -1 # special creation value ratestate.resources = '{}' ratestates_to_add.append(ratestate) @@ -192,21 +195,23 @@ def update_db_tokens_from_files(self): ## This method takes a token and tries to adjust the API to query using the token def apply_token(self, endpoint): - conn_args = {'consumer_key':self.consumer_key, - 'consumer_secret':self.consumer_secret, - 'access_token_key':self.endpoint_tokens[endpoint].oauth_token, - 'access_token_secret':self.endpoint_tokens[endpoint].oauth_token_secret} - if(self.api is None): + conn_args = {'consumer_key': self.consumer_key, + 'consumer_secret': self.consumer_secret, + 'access_token_key': self.endpoint_tokens[endpoint].oauth_token, + 'access_token_secret': self.endpoint_tokens[endpoint].oauth_token_secret} + if (self.api is None): self.api = twitter.Api(**conn_args) else: self.api.SetCredentials(**conn_args) try: verification = self.api.VerifyCredentials() - self.api.InitializeRateLimit() #dangerous for us. + self.api.InitializeRateLimit() # dangerous for us. except twitter.error.TwitterError as e: - self.log.error("Twitter: Failed to connect to API with endpoint {0}. Remove from token set. Error: {1}.".format(endpoint, str(e))) - self.curr_endpoint['valid'] = False - self.token = None + self.log.error( + "Twitter: Failed to connect to API with endpoint {0}. Remove from token set. Error: {1}.".format( + endpoint, str(e))) + if e[0]['code']==89: # or 'message': 'Invalid or expired token.': + raise NotImplementedError('mark as invalid') return False self.curr_endpoint = endpoint return True @@ -219,7 +224,7 @@ def select_available_token(self, endpoint, strategy='sequential'): wait_before_return = 0 succeeded = False strategy_order = {'random': sqlfunc.rand(), - 'sequential':TwitterRateState.user_id, + 'sequential': TwitterRateState.user_id, # another strategy might be fetch the most remaining in the future } order_by = strategy_order[strategy] @@ -232,11 +237,11 @@ def select_available_token(self, endpoint, strategy='sequential'): # token-endpoint not checked out # token-endpoint after reset_time endpoint_select = self.db_session.query(TwitterRateState) \ - .filter(TwitterRateState.endpoint == endpoint) \ - .filter(TwitterRateState.checkin_due < query_time) \ - .filter(TwitterRateState.reset_time < query_time) \ - .order_by(order_by) \ - .with_for_update().first() + .filter(TwitterRateState.endpoint == endpoint) \ + .filter(TwitterRateState.checkin_due < query_time) \ + .filter(TwitterRateState.reset_time < query_time) \ + .order_by(order_by) \ + .with_for_update().first() self.log.info('''Trying to get token matching \ endpoint: {0} \ query_time: {1}'''.format(endpoint, query_time)) @@ -249,32 +254,35 @@ def select_available_token(self, endpoint, strategy='sequential'): # a) all checked-out or b) all reset_time # start with most common a) we can pre-book a not-checked out token prebook = self.db_session.query(TwitterRateState) \ - .filter(TwitterRateState.endpoint==endpoint) \ - .filter(TwitterRateState.checkin_due < query_time) \ - .order_by(TwitterRateState.reset_time).first() + .filter(TwitterRateState.endpoint == endpoint) \ + .filter(TwitterRateState.checkin_due < query_time) \ + .order_by(TwitterRateState.reset_time).first() if prebook: wait_before_return = (prebook.reset_time - query_time).total_seconds() - self.log.info('This is a prebook situation, not available until seconds: {0}'.format(wait_before_return)) + self.log.info( + 'This is a prebook situation, not available until seconds: {0}'.format(wait_before_return)) self.log.info('Prebook user_id is {0}'.format(prebook.user_id)) if not prebook: - # else we need to b) keep on waiting until we can checksomething out + # else we need to b) keep on waiting until we can checksomething out next_checkout = self.db_session.query(TwitterRateState) \ - .filter(TwitterRateState.endpoint==endpoint) \ - .order_by(TwitterRateState.checkin_due).first() - #add a bit of noise for loop until + .filter(TwitterRateState.endpoint == endpoint) \ + .order_by(TwitterRateState.checkin_due).first() + # add a bit of noise for loop until time_until_next_try = next_checkout.checkin_due - query_time + timedelta(seconds=random()) - self.log.info('PID {1}: Oh dear all the endpoints are checked out for at least seconds: {0}'.format(time_until_next_try, str(os.getpid()))) + self.log.info( + 'PID {1}: Oh dear all the endpoints are checked out for at least seconds: {0}'.format( + time_until_next_try, str(os.getpid()))) sleep(time_until_next_try.total_seconds()) continue # 4. update checkout_due in database for select token-endpoint assert endpoint_select or prebook - #either a token, or the prebook + # either a token, or the prebook token_endpoint = endpoint_select if endpoint_select else prebook - token_endpoint.checkin_due = query_time + timedelta(minutes=60*24) # 1 day loan + token_endpoint.checkin_due = query_time + timedelta(minutes=60 * 24) # 1 day loan self.db_session.add(token_endpoint) self.db_session.commit() self.log.debug("I think I commited the checkin_due update") - token = self.db_session.query(TwitterToken).filter(TwitterToken.user_id==token_endpoint.user_id).one() + token = self.db_session.query(TwitterToken).filter(TwitterToken.user_id == token_endpoint.user_id).one() self.db_session.commit() # class dictionary update self.endpoint_tokens[endpoint] = token @@ -288,64 +296,79 @@ def select_available_token(self, endpoint, strategy='sequential'): self.db_session.rollback() raise - def reset_time_of_endpoint(self, endpoint): + def get_reset_time_of_endpoint(self, endpoint): '''Utility to walk through the rate_limit dict until we find the endpoint and return its reset time''' - #NOTE Future-me, not 100% sure that this dict is always in sync with reality + # NOTE Future-me, not 100% sure that this dict is always in sync with reality for groupname, groupdict in self.api.rate_limit.resources.items(): if endpoint in groupdict.keys(): return groupdict[endpoint]['reset'] - def mark_reset_time(self, endpoint): - # find the reset time of this endpoint - reset_time = self.reset_time_of_endpoint(endpoint) + def get_ratestate_of_endpoint(self, endpoint): user_id = self.endpoint_tokens[endpoint].user_id # construct the ratestate object with for update # remember that the key of RateState is a combination of endpoint and user_id # so this should be unique - ratestate = self.db_session.query(TwitterRateState).filter(TwitterRateState.user_id==user_id) \ - .filter(TwitterRateState.endpoint==endpoint).with_for_update().one() - self.log.debug('Marking exhausted user_id:{0}, endpoint:{1}, reset_time{2}.'.format(user_id, endpoint, reset_time)) + ratestate = self.db_session.query(TwitterRateState).filter(TwitterRateState.user_id == user_id) \ + .filter(TwitterRateState.endpoint == endpoint).with_for_update().one() self.log.debug('ratestate object had user_id:{0}'.format(ratestate.user_id)) - # put in the reset time - ratestate.reset_time = datetime.datetime.fromtimestamp(reset_time) - # and also mark this ratestate as checked-in + return ratestate + + def checkin_endpoint(self, endpoint=None): + if endpoint is None: + endpoint = self.curr_endpoint + ratestate = self.get_ratestate_of_endpoint(endpoint) checkin_time = datetime.datetime.now() ratestate.checkin_due = checkin_time self.db_session.add(ratestate) self.db_session.commit() - #delete form local records + # delete form local records del self.endpoint_tokens[endpoint] + def mark_reset_time(self, endpoint): + reset_time = self.get_reset_time_of_endpoint(endpoint) + ratestate = self.get_ratestate_of_endpoint(endpoint) + self.log.debug( + 'Marking exhausted user_id:{0}, endpoint:{1}, reset_time{2}.'.format(ratestate.user_id, endpoint, reset_time)) + # put in the reset time + ratestate.reset_time = datetime.datetime.fromtimestamp(reset_time) + self.db_session.add(ratestate) + self.db_session.commit() + + def mark_reset_time_and_checkin(self, endpoint): + self.mark_reset_time(endpoint) + self.checkin_endpoint(endpoint) + # @rate_limit_retry def query(self, method, *args, **kwargs): method_name = method.__name__ - #find the endpoint that will be used + # find the endpoint that will be used endpoint = FUNC_ENDPOINTS[method_name] - #switch to that token or select_available_token + # switch to that token or select_available_token if endpoint in self.endpoint_tokens.keys(): if endpoint == self.curr_endpoint: - pass #no switching necessary + pass # no switching necessary else: - #activate this credential if its not the active one + # activate this credential if its not the active one self.apply_token(endpoint) # we need to get a token-endpoint from the database else: self.select_available_token(endpoint) - #select available tokens + # select available tokens try: - #try to actually execute + # try to actually execute result = method(*args, **kwargs) - #if we get a an error from twitter + # if we get a an error from twitter except twitter.TwitterError as twiterr: # if it's rate exceeded we know how to deal with that - if type(twiterr.message).__name__ == "list" and twiterr.message[0]['message']=='Rate limit exceeded': + if type(twiterr.message).__name__ == "list" and twiterr.message[0]['message'] == 'Rate limit exceeded': self.log.info('Rate limit encountered on endpoint:{0}'.format(endpoint)) - self.mark_reset_time(endpoint) + self.mark_reset_time_and_checkin(endpoint) # recurse! self.log.info('Recursing for method:') return self.query(method, *args, **kwargs) else: - self.log.info('Twitter Query encountered twitter error other than Rate Limit Exceeded: {0}'.format(twiterr)) + self.log.info( + 'Twitter Query encountered twitter error other than Rate Limit Exceeded: {0}'.format(twiterr)) raise twiterr return result diff --git a/tests/test_twitter_connect.py b/tests/test_twitter_connect.py index 062dc31..737acbd 100644 --- a/tests/test_twitter_connect.py +++ b/tests/test_twitter_connect.py @@ -25,13 +25,11 @@ def setup_function(function): clear_twitter_tables() def teardown_function(function): - # clear_twitter_tables() - pass + clear_twitter_tables() @patch('twitter.Api', autospec=True) @patch('twitter.ratelimit.RateLimit', autospec=True) def test_load_tokens(mock_rate_limit, mock_twitter): - config_path = os.path.join(BASE_DIR, "config", "twitter_configuration_" + ENV + ".json") token_path = json.load(open(config_path,'r'))['key_path'] log.info('token_path is: {0}'.format(token_path)) @@ -47,6 +45,7 @@ def test_load_tokens(mock_rate_limit, mock_twitter): print('there are {0} tokens in db'.format(len_db)) assert len_files == len_db + @patch('twitter.Api', autospec=True) def test_twitter_connect_friends(mock_twitter): t = mock_twitter.return_value @@ -106,8 +105,11 @@ def test_exception_retry(mock_rate_limit, mock_twitter): # and then secondly to assume we roll-over to a good key and then return the right results t.GetFriends.side_effect = [twitter.error.TwitterError([{'code': 88, 'message': 'Rate limit exceeded'}]), friend_accounts] # assert we are using the first token - assert conn.endpoint_tokens[conn.curr_endpoint].user_id == 1 - # now try and get friends + + # assert conn.endpoint_tokens[conn.curr_endpoint].user_id == 1 #this assertion used to work, + # but now verify credentials checks itself back in immediately. + # so after that happens this weird state is expected: + assert conn.curr_endpoint == '/account/verify_credentials' and conn.curr_endpoint not in conn.endpoint_tokens # NOTE! this should call GetFriends twice, because connect should catch an error and then retry @@ -143,3 +145,20 @@ def test_exception_retry(mock_rate_limit, mock_twitter): #assert that the reset time is in the past which means we waited long enough #why not check less than 0, not 1. I find that because of the timestamp resolution it's not quite right. assert (reset_time - datetime.datetime.now()).total_seconds() < 1.0 + + +@patch('twitter.Api', autospec=True) +@patch('twitter.ratelimit.RateLimit', autospec=True) +def test_release_verify_credential_endpoint(mock_rate_limit, mock_twitter): + """The `verify_credentials` endpoint shouldn't ever be checked_out + apart from a very small time""" + before_creation = datetime.datetime.now() + time.sleep(1) + conn = app.connections.twitter_connect.TwitterConnect(log, db_session) + ratestates = db_session.query(TwitterRateState).filter(TwitterRateState.endpoint == '/account/verify_credentials') + time.sleep(1) + expiration = datetime.datetime.now() + + for ratestate in ratestates: + assert ratestate.checkin_due > before_creation + assert ratestate.checkin_due < expiration \ No newline at end of file From 604d5fdd8bfe882446cb037d7b53675acdde3c7f Mon Sep 17 00:00:00 2001 From: Max Klein Date: Fri, 27 Jul 2018 16:18:33 -0700 Subject: [PATCH 068/221] Schedulable twitter functions now check-in their tokens after running (1 test added) Plus pep8 docstring fixes (thanks pycharm) --- app/connections/twitter_connect.py | 8 +- app/controller.py | 37 +++++---- app/controllers/twitter_controller.py | 105 ++++++++++++++------------ tests/test_twitter.py | 19 ++++- tests/test_twitter_connect.py | 58 +++++++------- 5 files changed, 132 insertions(+), 95 deletions(-) diff --git a/app/connections/twitter_connect.py b/app/connections/twitter_connect.py index ac9b526..ea0ef42 100644 --- a/app/connections/twitter_connect.py +++ b/app/connections/twitter_connect.py @@ -210,7 +210,7 @@ def apply_token(self, endpoint): self.log.error( "Twitter: Failed to connect to API with endpoint {0}. Remove from token set. Error: {1}.".format( endpoint, str(e))) - if e[0]['code']==89: # or 'message': 'Invalid or expired token.': + if e[0]['code'] == 89: # or 'message': 'Invalid or expired token.': raise NotImplementedError('mark as invalid') return False self.curr_endpoint = endpoint @@ -316,20 +316,24 @@ def get_ratestate_of_endpoint(self, endpoint): def checkin_endpoint(self, endpoint=None): if endpoint is None: + assert self.curr_endpoint, 'There was no curr_endpoint to use as default' endpoint = self.curr_endpoint ratestate = self.get_ratestate_of_endpoint(endpoint) checkin_time = datetime.datetime.now() ratestate.checkin_due = checkin_time self.db_session.add(ratestate) self.db_session.commit() + # delete form local records del self.endpoint_tokens[endpoint] + self.curr_endpoint = None def mark_reset_time(self, endpoint): reset_time = self.get_reset_time_of_endpoint(endpoint) ratestate = self.get_ratestate_of_endpoint(endpoint) self.log.debug( - 'Marking exhausted user_id:{0}, endpoint:{1}, reset_time{2}.'.format(ratestate.user_id, endpoint, reset_time)) + 'Marking exhausted user_id:{0}, endpoint:{1}, reset_time{2}.'.format(ratestate.user_id, endpoint, + reset_time)) # put in the reset time ratestate.reset_time = datetime.datetime.fromtimestamp(reset_time) self.db_session.add(ratestate) diff --git a/app/controller.py b/app/controller.py index 628ceb2..dea7478 100644 --- a/app/controller.py +++ b/app/controller.py @@ -156,10 +156,11 @@ def update_stylesheet_experiment(experiment_name): ) sce.update_experiment() -""" -Archive lumen notices. -""" + def fetch_lumen_notices(num_days=2): + """ + Archive lumen notices. + """ log.info("Calling fetch_lumen_notices, num_days={0}".format(num_days)) l = app.controllers.lumen_controller.LumenController(db_session, lumen_conn, log) @@ -167,37 +168,41 @@ def fetch_lumen_notices(num_days=2): date = datetime.datetime.utcnow() - datetime.timedelta(days=int(float(num_days))) # now-2days l.archive_lumen_notices(topics, date) -""" -For all LumenNotices with CS_parsed_usernames=False, parse for twitter accounts -""" + def parse_lumen_notices_for_twitter_accounts(): + """ + For all LumenNotices with CS_parsed_usernames=False, parse for twitter accounts + """ log.info("Calling parse_lumen_notices_for_twitter_accounts.") l = app.controllers.lumen_controller.LumenController(db_session, lumen_conn, log) l.query_and_parse_notices_archive_users() -""" -For all LumenNoticeToTwitterUser with CS_account_queried=False, -archive Twitter accounts in TwitterUser objects, and create 1st TwitterUserSnapshot -""" + def fetch_twitter_users(): + """ + For all LumenNoticeToTwitterUser with CS_account_queried=False, + archive Twitter accounts in TwitterUser objects, and create 1st TwitterUserSnapshot + """ log.info("Calling fetch_twitter_users.") t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) t.query_and_archive_new_users() -""" -For all TwitterUserSnapshot.created_at older than x min, fetch another snapshot -""" + def fetch_twitter_snapshot_and_tweets(max_time_delta_min=60): + """ + For all TwitterUserSnapshot.created_at older than x min, fetch another snapshot + """ log.info("Calling fetch_twitter_snapshot_and_tweets, max_time_delta_min={0}".format(max_time_delta_min)) t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) now = datetime.datetime.utcnow() date = now - datetime.timedelta(minutes=int(float(max_time_delta_min))) # now-1hour t.query_and_archive_user_snapshots_and_tweets(date) -""" -For all TwitterUsers with CS_most_tweets_queried=False, fetch tweets -""" + def fetch_twitter_tweets(backfill=False): + """ + For all TwitterUsers with CS_most_tweets_queried=False, fetch tweets + """ log.info("Calling fetch_twitter_tweets, backfill={0}.".format(backfill)) t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) t.query_and_archive_tweets(backfill) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 026b694..dcffcfd 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -106,32 +106,33 @@ def query_and_archive_new_users(self, test_exception=False): # reset progress for any remaining in-progress items whether or not exception is raised notice_users_to_reset = [notice_user for notice_user in unprocessed_unarchived_notice_users if notice_user.CS_account_archived == CS_JobState.IN_PROGRESS.value] utils.common.reset_CS_JobState_In_Progress(notice_users_to_reset, "CS_account_archived", self.db_session, self.log) # if still marked IN_PROGRESS (e.g. because of unchecked exception), reset it to NOT_PROCESSED + self.t.checkin_endpoint() - """ - unarchived_notice_users: list of LumenNoticeToTwitterUser + def archive_new_users(self, unarchived_notice_users, test_exception=False): + """ + unarchived_notice_users: list of LumenNoticeToTwitterUser - archive_new_users makes sure that new users get a TwitterUser and TwitterUserSnapshot stored for them - currently, it is NOT responsible for updating existing TwitterUser objects - (archive_old_users is responsible for that, e.g. in the case that a user goes from found to not found) - however, it should make sure that it doesn't add duplicate entries for the same user + archive_new_users makes sure that new users get a TwitterUser and TwitterUserSnapshot stored for them + currently, it is NOT responsible for updating existing TwitterUser objects + (archive_old_users is responsible for that, e.g. in the case that a user goes from found to not found) + however, it should make sure that it doesn't add duplicate entries for the same user - for username in unarchived_notice_users: - if user id found: - if user id not already stored: - store new TwitterUser, TwitterUserSnapshot - else: - do nothing - elif no user id (or user info) found: - if username not already stored (gives approx correct behavior): - store new TwitterUser, TwitterUserSnapshot - else: - do nothing + for username in unarchived_notice_users: + if user id found: + if user id not already stored: + store new TwitterUser, TwitterUserSnapshot + else: + do nothing + elif no user id (or user info) found: + if username not already stored (gives approx correct behavior): + store new TwitterUser, TwitterUserSnapshot + else: + do nothing - """ - def archive_new_users(self, unarchived_notice_users, test_exception=False): + """ if len(unarchived_notice_users) == 0: return (None, None) @@ -331,18 +332,19 @@ def is_user_suspended_or_deleted(self, username): ################### ARCHIVE SNAPSHOTS AND NEW TWEETS CODE ######################################################### - """ - precondition: a TwitterUser and TwitterUserSnapshot must exist for - the user, for archive_old_user to run + def query_and_archive_user_snapshots_and_tweets(self, min_time, is_test=False): + """ + precondition: a TwitterUser and TwitterUserSnapshot must exist for + the user, for archive_old_user to run + + for each user in twitterusersnapshot with too old most recent snapshot: + user_state twitterusersnapshot record + update twitteruser? + store tweets? - for each user in twitterusersnapshot with too old most recent snapshot: - user_state twitterusersnapshot record - update twitteruser? - store tweets? + doesn't need to update any CS_JobState fields. + """ - doesn't need to update any CS_JobState fields. - """ - def query_and_archive_user_snapshots_and_tweets(self, min_time, is_test=False): need_snapshot_users = self.db_session.query(TwitterUser).filter( or_(TwitterUser.lang.in_(["en","en-gb"]), TwitterUser.lang is None) ).all() @@ -372,14 +374,17 @@ def query_and_archive_user_snapshots_and_tweets(self, min_time, is_test=False): self.log.info("Need to get new tweets for {0} users".format(len(need_new_tweets_users))) self.with_user_records_archive_tweets(need_new_tweets_users, is_test) # TwitterUsers - """ + self.t.checkin_endpoint() - key_to_users = {user id (if has_ids is True) OR username (if has_ids is False): TwitterUser} - we send {id: TwitterUser} if the user has an actual twitter id (the user is FOUND or PROTECTED) - - doesn't return anything - """ def archive_old_users(self, key_to_users, has_ids=True): + """ + + key_to_users = {user id (if has_ids is True) OR username (if has_ids is False): TwitterUser} + we send {id: TwitterUser} if the user has an actual twitter id (the user is FOUND or PROTECTED) + + doesn't return anything + """ + if len(key_to_users) <= 0: return None is_test = type(key_to_users) is not dict @@ -555,12 +560,15 @@ def query_and_archive_tweets(self, backfill=False, is_test=False, order="ASC"): self.log.info("PID {3} queried and archived tweets for {0} out of {1} users; backfill={2}".format(prev_limit, len(unarchived_users), backfill, str(os.getpid()))) - """ - user_records: list of TwitterUser records + self.t.checkin_endpoint() - returns user_to_state - """ def with_user_records_archive_tweets(self, user_records, backfill=False, is_test=False, test_exception=False): + """ + user_records: list of TwitterUser records + + returns user_to_state + """ + if len(user_records) == 0: return @@ -578,12 +586,12 @@ def with_user_records_archive_tweets(self, user_records, backfill=False, is_test if counter >= len(user_records) / 2: raise Exception("Throwing an exception for test purposes") - """ - returns (statuses, user_state, job_state) - - possible user_state: SUSPENDED, NOT_FOUND - """ def get_statuses_user_state(self, user_id, count=200, max_id=None, user_state=TwitterUserState.NOT_FOUND, job_state=CS_JobState.FAILED): + """ + returns (statuses, user_state, job_state) + + possible user_state: SUSPENDED, NOT_FOUND + """ (statuses, user_state, job_state) = ([], user_state, job_state) try: statuses = self.t.query(self.t.api.GetUserTimeline, user_id=user_id, count=count, max_id=max_id) @@ -607,11 +615,12 @@ def get_statuses_user_state(self, user_id, count=200, max_id=None, user_state=Tw return (statuses, user_state, job_state) - """ - given TwitterUser user, archive user tweets. - also updates TwitterUser record if unexpected user state, by calling self.archive_old_users - """ def archive_user_tweets(self, user, backfill=False, is_test=False): + """ + given TwitterUser user, archive user tweets. + also updates TwitterUser record if unexpected user state, by calling self.archive_old_users + """ + user_id = user.id if utils.common.NOT_FOUND_TWITTER_USER_STR in user_id or user.user_state is TwitterUserState.PROTECTED: diff --git a/tests/test_twitter.py b/tests/test_twitter.py index 260336b..46f4daa 100644 --- a/tests/test_twitter.py +++ b/tests/test_twitter.py @@ -1,3 +1,5 @@ +from time import sleep + import pytest import app.connections.twitter_connect #import app.controller @@ -19,7 +21,6 @@ db_session = DbEngine(os.path.join(TEST_DIR, "../", "config") + "/{env}.json".format(env=ENV)).new_session() log = app.cs_logger.get_logger(ENV, BASE_DIR) - def clear_twitter_tables(): for table in (TwitterRateState, TwitterToken): db_session.query(table).delete() @@ -28,6 +29,7 @@ def clear_twitter_tables(): def setup_function(function): clear_twitter_tables() + def teardown_function(function): clear_twitter_tables() db_session.query(LumenNotice).delete() @@ -61,11 +63,15 @@ def populate_notice_users(): def test_archive_twitter_new_users(mock_twitter, populate_notice_users): log.info("STARTING test_archive_twitter_new_users") t = mock_twitter.return_value + before_creation = datetime.datetime.now() + sleep(1.5) + with open("{script_dir}/fixture_data/anon_users_lookup_0.json".format(script_dir=TEST_DIR)) as f: fixture = json.loads(f.read()) + t.UsersLookup.__name__ = 'UsersLookup' t.UsersLookup.return_value = fixture - conn = app.connections.twitter_connect.TwitterConnect(log=log,db_session=db_session) + conn = app.connections.twitter_connect.TwitterConnect(log=log, db_session=db_session) t_ctrl = app.controllers.twitter_controller.TwitterController(db_session, conn, log) try: @@ -77,6 +83,14 @@ def test_archive_twitter_new_users(mock_twitter, populate_notice_users): else: assert False # expected query_and_archive_new_users to throw test_exception + sleep(1.5) + expiration = datetime.datetime.now() + ratestates = db_session.query(TwitterRateState).filter(TwitterRateState.endpoint == '/users/lookup') + + for ratestate in ratestates: + assert ratestate.checkin_due > before_creation + assert ratestate.checkin_due < expiration + @patch('twitter.Api', autospec=True) def test_with_user_records_archive_tweets(mock_twitter_api): tc = app.connections.twitter_connect.TwitterConnect(log=log, db_session=db_session) @@ -123,7 +137,6 @@ def mocked_GetUserTimeline(user_id, count=None, max_id=None): db_session.commit() user_records.append(user_record) - try: t_controller.with_user_records_archive_tweets(user_records, backfill=True, is_test=True) except: diff --git a/tests/test_twitter_connect.py b/tests/test_twitter_connect.py index 737acbd..fbea690 100644 --- a/tests/test_twitter_connect.py +++ b/tests/test_twitter_connect.py @@ -10,28 +10,32 @@ import app.connections.twitter_connect TEST_DIR = os.path.dirname(os.path.realpath(__file__)) -BASE_DIR = os.path.join(TEST_DIR, "../") +BASE_DIR = os.path.join(TEST_DIR, "../") ENV = os.environ['CS_ENV'] = "test" db_session = DbEngine(os.path.join(TEST_DIR, "../", "config") + "/{env}.json".format(env=ENV)).new_session() log = app.cs_logger.get_logger(ENV, BASE_DIR) + def clear_twitter_tables(): for table in (TwitterRateState, TwitterToken): db_session.query(table).delete() db_session.commit() + def setup_function(function): clear_twitter_tables() + def teardown_function(function): clear_twitter_tables() + @patch('twitter.Api', autospec=True) @patch('twitter.ratelimit.RateLimit', autospec=True) def test_load_tokens(mock_rate_limit, mock_twitter): config_path = os.path.join(BASE_DIR, "config", "twitter_configuration_" + ENV + ".json") - token_path = json.load(open(config_path,'r'))['key_path'] + token_path = json.load(open(config_path, 'r'))['key_path'] log.info('token_path is: {0}'.format(token_path)) print(token_path) token_file_names = os.listdir(token_path) @@ -51,9 +55,9 @@ def test_twitter_connect_friends(mock_twitter): t = mock_twitter.return_value conn = app.connections.twitter_connect.TwitterConnect(log, db_session) - #assert len(conn.rate_limit_resources.values()), 3 + # assert len(conn.rate_limit_resources.values()), 3 - friend_accounts = []# NOTE: # NOTE: + friend_accounts = [] # NOTE: # NOTE: with open("{script_dir}/fixture_data/twitter_get_friends.json".format(script_dir=TEST_DIR)) as f: fixture = json.loads(f.read()) for account in fixture: @@ -68,18 +72,19 @@ def test_twitter_connect_friends(mock_twitter): getfriends.__name__ = 'GetFriends' friends = conn.query(conn.api.GetFriends) - assert len(friends) == len(friend_accounts) + assert len(friends) == len(friend_accounts) + @patch('twitter.Api', autospec=True) @patch('twitter.ratelimit.RateLimit', autospec=True) def test_exception_retry(mock_rate_limit, mock_twitter): - #TODO: In the unlikelihood that a VERY slow machine is running these tests + # TODO: In the unlikelihood that a VERY slow machine is running these tests # you can increase the timedelta here and below to microseconds=500 - reset_time = (datetime.datetime.now() + datetime.timedelta(seconds=3 )) - mock_rate_limit.resources = {"getfriends":{"/friends/list":{ - "reset":time.mktime(reset_time.timetuple()), - "remaining":0, - "limit":15}}} #num queries per period + reset_time = (datetime.datetime.now() + datetime.timedelta(seconds=3)) + mock_rate_limit.resources = {"getfriends": {"/friends/list": { + "reset": time.mktime(reset_time.timetuple()), + "remaining": 0, + "limit": 15}}} # num queries per period t = mock_twitter.return_value t.rate_limit = mock_rate_limit @@ -103,19 +108,19 @@ def test_exception_retry(mock_rate_limit, mock_twitter): # set the side-effect of get friends to first throw an error, then later return the right result_ttl # the reason it does this is that we except GetFriends should be called twice, first to experience the Error # and then secondly to assume we roll-over to a good key and then return the right results - t.GetFriends.side_effect = [twitter.error.TwitterError([{'code': 88, 'message': 'Rate limit exceeded'}]), friend_accounts] + t.GetFriends.side_effect = [twitter.error.TwitterError([{'code': 88, 'message': 'Rate limit exceeded'}]), + friend_accounts] # assert we are using the first token # assert conn.endpoint_tokens[conn.curr_endpoint].user_id == 1 #this assertion used to work, # but now verify credentials checks itself back in immediately. # so after that happens this weird state is expected: - assert conn.curr_endpoint == '/account/verify_credentials' and conn.curr_endpoint not in conn.endpoint_tokens + assert conn.curr_endpoint is None and not conn.endpoint_tokens # NOTE! this should call GetFriends twice, because connect should catch an error and then retry - friends = conn.query(conn.api.GetFriends) # assert right results still came throught - assert len(friends) == len(friend_accounts) + assert len(friends) == len(friend_accounts) # assert that we did roll-over onto the second token assert conn.endpoint_tokens[conn.curr_endpoint].user_id == 2 # OK, so at this point in the code we assume that the second token is active @@ -125,11 +130,12 @@ def test_exception_retry(mock_rate_limit, mock_twitter): # and also by setting remaining to be zero # because the circumstances we're mocking are that every key is exhausted # so the token that has the shortest time-to-reset is used - t.GetFriends.side_effect = [twitter.error.TwitterError([{'code': 88, 'message': 'Rate limit exceeded'}]), friend_accounts] - mock_rate_limit.resources = {"getfriends":{"/friends/list":{ - "reset":time.mktime((datetime.datetime.now() + datetime.timedelta(seconds=6)).timetuple()), - "remaining":0, - "limit":15}}} + t.GetFriends.side_effect = [twitter.error.TwitterError([{'code': 88, 'message': 'Rate limit exceeded'}]), + friend_accounts] + mock_rate_limit.resources = {"getfriends": {"/friends/list": { + "reset": time.mktime((datetime.datetime.now() + datetime.timedelta(seconds=6)).timetuple()), + "remaining": 0, + "limit": 15}}} t.rate_limit = mock_rate_limit # assert we're still on key 2 @@ -138,12 +144,12 @@ def test_exception_retry(mock_rate_limit, mock_twitter): # # make GetFriends run twice again, the first time erroring -- triggering a retry friends = conn.query(conn.api.GetFriends) # assert the right result came back - assert len(friends) == len(friend_accounts) + assert len(friends) == len(friend_accounts) # assert that we correctly went back to token 1 # the token with the shortest reset time assert conn.endpoint_tokens[conn.curr_endpoint].user_id == 1 - #assert that the reset time is in the past which means we waited long enough - #why not check less than 0, not 1. I find that because of the timestamp resolution it's not quite right. + # assert that the reset time is in the past which means we waited long enough + # why not check less than 0, not 1. I find that because of the timestamp resolution it's not quite right. assert (reset_time - datetime.datetime.now()).total_seconds() < 1.0 @@ -153,12 +159,12 @@ def test_release_verify_credential_endpoint(mock_rate_limit, mock_twitter): """The `verify_credentials` endpoint shouldn't ever be checked_out apart from a very small time""" before_creation = datetime.datetime.now() - time.sleep(1) + time.sleep(1.5) conn = app.connections.twitter_connect.TwitterConnect(log, db_session) ratestates = db_session.query(TwitterRateState).filter(TwitterRateState.endpoint == '/account/verify_credentials') - time.sleep(1) + time.sleep(1.5) expiration = datetime.datetime.now() for ratestate in ratestates: assert ratestate.checkin_due > before_creation - assert ratestate.checkin_due < expiration \ No newline at end of file + assert ratestate.checkin_due < expiration From 4a2504aeb6d38e831785e0087e23d55a876872cd Mon Sep 17 00:00:00 2001 From: Max Klein Date: Tue, 31 Jul 2018 16:16:16 -0700 Subject: [PATCH 069/221] Schedulable twitter functions now check-in their tokens after running (1 test added) Plus pep8 docstring fixes (thanks pycharm) --- app/connections/twitter_connect.py | 13 ++++++++--- app/controller.py | 4 +++- app/controllers/lumen_controller.py | 32 +++++++++++++-------------- app/controllers/twitter_controller.py | 10 ++++----- 4 files changed, 33 insertions(+), 26 deletions(-) diff --git a/app/connections/twitter_connect.py b/app/connections/twitter_connect.py index ea0ef42..e72d1ac 100644 --- a/app/connections/twitter_connect.py +++ b/app/connections/twitter_connect.py @@ -316,8 +316,15 @@ def get_ratestate_of_endpoint(self, endpoint): def checkin_endpoint(self, endpoint=None): if endpoint is None: - assert self.curr_endpoint, 'There was no curr_endpoint to use as default' - endpoint = self.curr_endpoint + # this is a way to signal to checkin the curr_endpoint without knowing its name + if self.curr_endpoint is None: + # however it may not have ever got checked-out so there'd be nothing to do + self.log.debug('Endpoint checkin was called but no endpoint is active') + return None + else: + # but otherwise we'll implicitly checkin the curr endpoint. + endpoint = self.curr_endpoint + ratestate = self.get_ratestate_of_endpoint(endpoint) checkin_time = datetime.datetime.now() ratestate.checkin_due = checkin_time @@ -374,5 +381,5 @@ def query(self, method, *args, **kwargs): else: self.log.info( 'Twitter Query encountered twitter error other than Rate Limit Exceeded: {0}'.format(twiterr)) - raise twiterr + raise return result diff --git a/app/controller.py b/app/controller.py index dea7478..cf01343 100644 --- a/app/controller.py +++ b/app/controller.py @@ -186,6 +186,7 @@ def fetch_twitter_users(): log.info("Calling fetch_twitter_users.") t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) t.query_and_archive_new_users() + twitter_conn.checkin_endpoint() def fetch_twitter_snapshot_and_tweets(max_time_delta_min=60): @@ -197,6 +198,7 @@ def fetch_twitter_snapshot_and_tweets(max_time_delta_min=60): now = datetime.datetime.utcnow() date = now - datetime.timedelta(minutes=int(float(max_time_delta_min))) # now-1hour t.query_and_archive_user_snapshots_and_tweets(date) + twitter_conn.checkin_endpoint() def fetch_twitter_tweets(backfill=False): @@ -206,7 +208,7 @@ def fetch_twitter_tweets(backfill=False): log.info("Calling fetch_twitter_tweets, backfill={0}.".format(backfill)) t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) t.query_and_archive_tweets(backfill) - + twitter_conn.checkin_endpoint() def twitter_observational_analysis_basic_profiling(): tb = app.controllers.twitter_observational_analysis_controller.TwitterBasicProfilingController( diff --git a/app/controllers/lumen_controller.py b/app/controllers/lumen_controller.py index 97daf8c..9bba25d 100644 --- a/app/controllers/lumen_controller.py +++ b/app/controllers/lumen_controller.py @@ -84,17 +84,18 @@ def archive_lumen_notices(self, topics, date): self.log.info("fetch_lumen_notices saved {0} total new lumen notices.".format(len(newly_added_notices_ids))) - """ - For all LumenNotices with CS_parsed_usernames=NOT_PROCESSED, parse for twitter accounts - """ + def query_and_parse_notices_archive_users(self, test_exception = False): + """ + For all LumenNotices with CS_parsed_usernames=NOT_PROCESSED, parse for twitter accounts + """ unparsed_notices = self.db_session.query(LumenNotice).filter(LumenNotice.CS_parsed_usernames == CS_JobState.NOT_PROCESSED.value).all() self.parse_notices_archive_users(unparsed_notices, test_exception) - """ - unparsed_notices = list of LumenNotices - """ def parse_notices_archive_users(self, unparsed_notices, test_exception = False): + """ + unparsed_notices = list of LumenNotices + """ if len(unparsed_notices) == 0: return {} @@ -196,18 +197,17 @@ def parse_notices_archive_users(self, unparsed_notices, test_exception = False): key = notice if not is_test else json.dumps(notice) def bulk_unshorten(self,notice_id,urls,workers=10): + """This function will unshorten an array of shortened URLS + The second optional argument is the number of workers to run in parallel - # This function will unshorten an array of shortened URLS - # The second optional argument is the number of workers to run in parallel - - # When initially called, an array of string objects will be passed to the function. - # The function will then create a dictionary to keep track of all urls, the number of hops and - # the final destination url. If there is an error, a status code of 4xx is recorded within the dict. - # Otherwise, a status code of 200 should be returned. + When initially called, an array of string objects will be passed to the function. + The function will then create a dictionary to keep track of all urls, the number of hops and + the final destination url. If there is an error, a status code of 4xx is recorded within the dict. + Otherwise, a status code of 200 should be returned. - # Global timeouts - # - REQUEST_TIMEOUT is the timeout when waiting for a reply from a remote server - # - HOPS_LIMIT is the maximum number of redirect hops allowed + Global timeouts + - REQUEST_TIMEOUT is the timeout when waiting for a reply from a remote server + - HOPS_LIMIT is the maximum number of redirect hops allowed""" REQUEST_TIMEOUT = 10 HOPS_LIMIT = 10 diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index dcffcfd..008c88c 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -106,7 +106,7 @@ def query_and_archive_new_users(self, test_exception=False): # reset progress for any remaining in-progress items whether or not exception is raised notice_users_to_reset = [notice_user for notice_user in unprocessed_unarchived_notice_users if notice_user.CS_account_archived == CS_JobState.IN_PROGRESS.value] utils.common.reset_CS_JobState_In_Progress(notice_users_to_reset, "CS_account_archived", self.db_session, self.log) # if still marked IN_PROGRESS (e.g. because of unchecked exception), reset it to NOT_PROCESSED - self.t.checkin_endpoint() + def archive_new_users(self, unarchived_notice_users, test_exception=False): @@ -146,7 +146,7 @@ def archive_new_users(self, unarchived_notice_users, test_exception=False): for nu in unarchived_notice_users: if(utils.common.NOT_FOUND_TWITTER_USER_STR not in nu.twitter_username): user_names_to_notice_user[nu.twitter_username].append(nu) -# user_names_to_notice_user = {nu.twitter_username: nu for nu in unarchived_notice_users if utils.common.NOT_FOUND_TWITTER_USER_STR not in nu.twitter_username} +# user_names_to_notice_user = {nu.twitter_username: nu for nu in unarchived_notice_users if utils.common.NOT_FOUND_TWITTER_USER_STR not in nu.twitter_username} unarchived_user_names = set(user_names_to_notice_user.keys()) user_names = list(unarchived_user_names) @@ -173,9 +173,9 @@ def commit_users_failed(user): this_users = user_names[prev_limit:limit] users_info = [] try: - users_info = self.t.query(self.t.api.UsersLookup,screen_name=this_users) + users_info = self.t.query(self.t.api.UsersLookup, screen_name=this_users) except twitter.error.TwitterError as e: - self.t.try_counter = 0 ## this line prevents the retry code from looping + # self.t.try_counter = 0 ## this line prevents the retry code from looping #for this_user in this_users: # commit_users_failed(this_user) self.log.info("Failed to query for {0} Twitter users using api.UsersLookup: {1} {2}".format(limit-prev_limit, ",".join(this_users), str(e))) @@ -374,7 +374,6 @@ def query_and_archive_user_snapshots_and_tweets(self, min_time, is_test=False): self.log.info("Need to get new tweets for {0} users".format(len(need_new_tweets_users))) self.with_user_records_archive_tweets(need_new_tweets_users, is_test) # TwitterUsers - self.t.checkin_endpoint() def archive_old_users(self, key_to_users, has_ids=True): """ @@ -560,7 +559,6 @@ def query_and_archive_tweets(self, backfill=False, is_test=False, order="ASC"): self.log.info("PID {3} queried and archived tweets for {0} out of {1} users; backfill={2}".format(prev_limit, len(unarchived_users), backfill, str(os.getpid()))) - self.t.checkin_endpoint() def with_user_records_archive_tweets(self, user_records, backfill=False, is_test=False, test_exception=False): """ From 8ec6444ea2d72900bfb4c8910208467139656a62 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Wed, 1 Aug 2018 16:00:10 -0700 Subject: [PATCH 070/221] Lumen hack to work around next_page brokenness --- app/connections/lumen_connect.py | 24 ++++++++++++++++-------- app/controllers/lumen_controller.py | 8 +++++++- 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/app/connections/lumen_connect.py b/app/connections/lumen_connect.py index a730ec0..2bbd829 100644 --- a/app/connections/lumen_connect.py +++ b/app/connections/lumen_connect.py @@ -14,18 +14,21 @@ def __init__(self, log): with open(lumen_config_path, 'r') as config: LUMENCONFIG = json.loads(config.read()) + self.lumen_search_url = "https://lumendatabase.org/notices/search" + self.headers = { "Content-type": "application/json", "Accept": "application/json", "X-Authentication-Token": LUMENCONFIG["X-Authentication-Token"], "User-Agent": "CivilServant/1.0" - } + } + self.log = log def get(self, url, payload): retries = 3 while retries > 0: - r = requests.get(url, + r = requests.get(url, params=payload, headers=self.headers) if r.status_code == 200: @@ -37,7 +40,10 @@ def get(self, url, payload): self.log.error("Failed to query lumen url: {0}. Status code {1}.".format(url, r.status_code)) def get_search(self, payload): - return self.get("https://lumendatabase.org/notices/search", payload) + request_to_do = requests.Request(method='GET',url=self.lumen_search_url, params=payload) + prepared = request_to_do.prepare() + self.log.debug('Lumen search URL is: {}'.format(prepared.url)) + return self.get(self.lumen_search_url, payload) def get_notices_to_twitter(self, topics, count, page, from_date, to_date): date_facet = str(utils.common.time_since_epoch_ms(from_date)) + ".." + str(utils.common.time_since_epoch_ms(to_date)) @@ -47,11 +53,13 @@ def get_notices_to_twitter(self, topics, count, page, from_date, to_date): "page": page, "sort_by": "date_received desc", "recipient_name": "Twitter", - "date_received_facet": date_facet -# "date_received_facet": { -# "from": utils.common.time_since_epoch_ms(from_date), -# "to": utils.common.time_since_epoch_ms(to_date) -# } + "date_received_facet": date_facet, } + # Historical Params + # "date_received_facet": { + # "from": utils.common.time_since_epoch_ms(from_date), + # "to": utils.common.time_since_epoch_ms(to_date) + # } + return self.get_search(payload) diff --git a/app/controllers/lumen_controller.py b/app/controllers/lumen_controller.py index 9bba25d..3845073 100644 --- a/app/controllers/lumen_controller.py +++ b/app/controllers/lumen_controller.py @@ -36,13 +36,19 @@ def archive_lumen_notices(self, topics, date): if(next_page > 1): time.sleep(2) + data = self.l.get_notices_to_twitter([topic], 50, next_page, date, nowish) if not data: # error is already logged by get_notices_to_twitter return notices_json = data["notices"] - next_page = data["meta"]["next_page"] + self.log.debug('next_page of pagination has value {}'.format(next_page)) + self.log.debug('{} notices returned from Lumen Call'.format(len(notices_json))) + # self.log.debug('lumen meta response is: {}'.format(data['meta'])) + # next_page = data["meta"]["next_page"] + ## Danger hack because Lumen is not returning next_page properly. + next_page = next_page + 1 if next_page <= data['meta']['total_pages'] else None max_date_received = None prev_add_notices_size = len(newly_added_notices_ids) From 83b5465dec7b528beaacff1c12ae68528078dcb2 Mon Sep 17 00:00:00 2001 From: "J. Nathan Matias" Date: Sun, 5 Aug 2018 20:09:41 -0400 Subject: [PATCH 071/221] updated lumen controller to correctly handle errors in URL resolution --- app/controllers/lumen_controller.py | 216 +++++++++++++++------------- 1 file changed, 119 insertions(+), 97 deletions(-) diff --git a/app/controllers/lumen_controller.py b/app/controllers/lumen_controller.py index 97daf8c..88418fe 100644 --- a/app/controllers/lumen_controller.py +++ b/app/controllers/lumen_controller.py @@ -12,6 +12,7 @@ from sqlalchemy import or_ import sys import time +import warnings class LumenController(): def __init__(self, db_session, l, log): @@ -116,7 +117,17 @@ def parse_notices_archive_users(self, unparsed_notices, test_exception = False): job_state = None for work in notice_json["works"]: # infringing_urls is known to contain urls - for url_obj in work["infringing_urls"]: + + with warnings.catch_warnings(): + warnings.filterwarnings("ignore", ".*ResourceWarning.*") + unshortened_urls = self.bulk_unshorten(notice.id, [x['url'] for x in work['infringing_urls']]) + infringing_urls = [] + for url_dict in unshortened_urls.values(): + if(url_dict['final_url'] is not None): + infringing_urls.append({"url":url_dict['final_url'], + "url_original":url_dict['original_url']}) + + for url_obj in infringing_urls: url = url_obj["url"] try: username = helper_parse_url_for_username(url, self.log) @@ -195,115 +206,126 @@ def parse_notices_archive_users(self, unparsed_notices, test_exception = False): key = notice if not is_test else json.dumps(notice) - def bulk_unshorten(self,notice_id,urls,workers=10): + def bulk_unshorten(self,notice_id,urls,workers=10): - # This function will unshorten an array of shortened URLS - # The second optional argument is the number of workers to run in parallel + # This function will unshorten an array of shortened URLS + # The second optional argument is the number of workers to run in parallel - # When initially called, an array of string objects will be passed to the function. - # The function will then create a dictionary to keep track of all urls, the number of hops and - # the final destination url. If there is an error, a status code of 4xx is recorded within the dict. - # Otherwise, a status code of 200 should be returned. + # When initially called, an array of string objects will be passed to the function. + # The function will then create a dictionary to keep track of all urls, the number of hops and + # the final destination url. If there is an error, a status code of 4xx is recorded within the dict. + # Otherwise, a status code of 200 should be returned. - # Global timeouts - # - REQUEST_TIMEOUT is the timeout when waiting for a reply from a remote server - # - HOPS_LIMIT is the maximum number of redirect hops allowed + # Global timeouts + # - REQUEST_TIMEOUT is the timeout when waiting for a reply from a remote server + # - HOPS_LIMIT is the maximum number of redirect hops allowed - REQUEST_TIMEOUT = 10 - HOPS_LIMIT = 10 + REQUEST_TIMEOUT = 10 + HOPS_LIMIT = 10 - # Allow passing in of one url as a string object - if (isinstance(urls,str)): - urls = [urls] + # Allow passing in of one url as a string object + if (isinstance(urls,str)): + urls = [urls] - # If method is being called initally, create a dictionary for the urls passed. When the method calls - # itself, it will pass this object to itself as needed. - if (isinstance(urls,list)): - url_objects = urls[:] - urls = {} - for url in url_objects: - req = requests.Request('HEAD',url) - normalized_url = req.prepare().url - urls[normalized_url] = {"notice_id":notice_id,"hops":0,"status_code":None,"success":None,"final_url":None,"error":None,"original_url":url} + # If method is being called initally, create a dictionary for the urls passed. When the method calls + # itself, it will pass this object to itself as needed. + if (isinstance(urls,list)): + url_objects = urls[:] + urls = {} + for url in url_objects: + req = requests.Request('HEAD',url) + normalized_url = req.prepare().url + urls[normalized_url] = {"notice_id":notice_id,"hops":0,"status_code":None,"success":None,"final_url":None,"error":None,"original_url":url} - while True: + while True: - session = FuturesSession(max_workers=workers) - futures = [] + session = FuturesSession(max_workers=workers) + futures = [] - for key in urls: - if urls[key]['success'] is not None: continue - if urls[key]['hops'] >= HOPS_LIMIT: continue - futures.append(session.head(key,timeout=REQUEST_TIMEOUT)) - - if futures: - done, incomplete = wait(futures) - self.log.info("Making {0} simultaneous requests to unshorten urls for notice {1}.".format(len(futures),notice_id)) - for obj in done: - try: - result = obj.result() - except requests.exceptions.ConnectTimeout as e: - url = e.request.url - urls[url]['error'] = "ConnectTimeout" - urls[url]['success'] = False - continue - except requests.exceptions.ReadTimeout as e: - url = e.request.url - urls[url]['error'] = "ReadTimeout" - urls[url]['success'] = False - continue - - if result.status_code == 200: - urls[result.url]['success'] = True - urls[result.url]['final_url'] = result.url - urls[result.url]['status_code'] = result.status_code - elif result.status_code == 301 or result.status_code == 302: - redirect_url = result.headers['location'] - - # Handle a location header that returns a relative path instead of an absolute path. This is now allowed - # under RFC 7231. If the returned location does not begin with http, then it is a relative path and should - # be concatenated to the original url - - if not redirect_url.lower().startswith("http"): - redirect_url = result.url + redirect_url - - # Normalize the url using the requests module - req = requests.Request('HEAD',redirect_url) - redirect_url = req.prepare().url - - urls[result.url]['hops'] += 1 - urls[result.url]['final_url'] = redirect_url - urls[result.url]['status_code'] = result.status_code - urls[redirect_url] = urls.pop(result.url) - else: - urls[result.url]['success'] = False - urls[result.url]['status_code'] = result.status_code - - else: - - url_dict = {} - - for key in urls: - if urls[key]['status_code'] == 200: - now = datetime.datetime.utcnow() - url_record = LumenNoticeExpandedURL ( - created_at = now, - notice_id = urls[key]['notice_id'], - original_url = urls[key]['original_url'], - expanded_url = urls[key]['final_url'], - number_of_hops = urls[key]['hops']) - self.db_session.add(url_record) - original_url = urls[key]['original_url'] - url_dict[original_url] = urls[key] + for key in urls: + if urls[key]['success'] is not None: continue + if urls[key]['hops'] >= HOPS_LIMIT: continue + futures.append(session.head(key,timeout=REQUEST_TIMEOUT)) + if futures: + done, incomplete = wait(futures) + self.log.info("Making {0} simultaneous requests to unshorten urls for notice {1}.".format(len(futures),notice_id)) + for obj in done: try: - self.db_session.commit() - except: - self.log.error("Error while committing expanded urls for notice {0}".format(notice_id), extra=sys.exc_info()[0]) + result = obj.result() + except requests.exceptions.ConnectTimeout as e: + url = e.request.url + urls[url]['error'] = "ConnectTimeout" + urls[url]['success'] = False + continue + except requests.exceptions.ReadTimeout as e: + url = e.request.url + urls[url]['error'] = "ReadTimeout" + urls[url]['success'] = False + continue + except requests.exceptions.SSLError as e: + url = e.request.url + urls[url]['error'] = "SSLError" + urls[url]['success'] = False + continue + except Exception as e: + url = e.request.url + urls[url]['error'] = "Error" + urls[url]['success'] = False + continue + + + if result.status_code == 200: + urls[result.url]['success'] = True + urls[result.url]['final_url'] = result.url + urls[result.url]['status_code'] = result.status_code + elif result.status_code == 301 or result.status_code == 302: + redirect_url = result.headers['location'] + + # Handle a location header that returns a relative path instead of an absolute path. This is now allowed + # under RFC 7231. If the returned location does not begin with http, then it is a relative path and should + # be concatenated to the original url + + if not redirect_url.lower().startswith("http"): + redirect_url = result.url + redirect_url + + # Normalize the url using the requests module + req = requests.Request('HEAD',redirect_url) + redirect_url = req.prepare().url + + urls[result.url]['hops'] += 1 + urls[result.url]['final_url'] = redirect_url + urls[result.url]['status_code'] = result.status_code + urls[redirect_url] = urls.pop(result.url) else: - self.log.info("Saved expanded urls for lumen notice {0}".format(notice_id)) + urls[result.url]['success'] = False + urls[result.url]['status_code'] = result.status_code + + else: + + url_dict = {} + + for key in urls: + if urls[key]['status_code'] == 200: + now = datetime.datetime.utcnow() + url_record = LumenNoticeExpandedURL ( + created_at = now, + notice_id = urls[key]['notice_id'], + original_url = urls[key]['original_url'], + expanded_url = urls[key]['final_url'], + number_of_hops = urls[key]['hops']) + self.db_session.add(url_record) + original_url = urls[key]['original_url'] + url_dict[original_url] = urls[key] + + try: + self.db_session.commit() + except: + self.log.error("Error while committing expanded urls for notice {0}".format(notice_id), extra=sys.exc_info()[0]) + else: + self.log.info("Saved expanded urls for lumen notice {0}".format(notice_id)) - return url_dict + return url_dict # assume url is of the form 'https://twitter.com/sooos243/status/852942353321140224' From 774658933b68ac3c73848078a5deb21a7d85436d Mon Sep 17 00:00:00 2001 From: Max Klein Date: Thu, 9 Aug 2018 12:14:15 -0700 Subject: [PATCH 072/221] Handle over capacity error with constant backoff --- app/connections/twitter_connect.py | 9 +++++- tests/test_twitter_connect.py | 45 ++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 1 deletion(-) diff --git a/app/connections/twitter_connect.py b/app/connections/twitter_connect.py index e72d1ac..6db87b4 100644 --- a/app/connections/twitter_connect.py +++ b/app/connections/twitter_connect.py @@ -376,7 +376,14 @@ def query(self, method, *args, **kwargs): self.log.info('Rate limit encountered on endpoint:{0}'.format(endpoint)) self.mark_reset_time_and_checkin(endpoint) # recurse! - self.log.info('Recursing for method:') + self.log.info('Recursing for method:', method) + return self.query(method, *args, **kwargs) + # if it's over capacity we know how to deal with that + if type(twiterr.message).__name__ == "list" and twiterr.message[0]['message'] == 'Over capacity': + too_hot_sleep_secs = 10 # ten seconds because i don't want to recurse too often and this error is rare. + self.log.info('Over capacity encountered on endpoint:{0}. Sleeping for {1} seconds'.format(endpoint, too_hot_sleep_secs)) + time.sleep(too_hot_sleep_secs) + self.log.info('Recursing for method:', method) return self.query(method, *args, **kwargs) else: self.log.info( diff --git a/tests/test_twitter_connect.py b/tests/test_twitter_connect.py index fbea690..d07da38 100644 --- a/tests/test_twitter_connect.py +++ b/tests/test_twitter_connect.py @@ -168,3 +168,48 @@ def test_release_verify_credential_endpoint(mock_rate_limit, mock_twitter): for ratestate in ratestates: assert ratestate.checkin_due > before_creation assert ratestate.checkin_due < expiration + + +@patch('twitter.Api', autospec=True) +@patch('twitter.ratelimit.RateLimit', autospec=True) +def test_too_hot_recovery(mock_rate_limit, mock_twitter): + reset_time = (datetime.datetime.now() + datetime.timedelta(seconds=3)) + mock_rate_limit.resources = {"getfriends": {"/friends/list": { + "reset": time.mktime(reset_time.timetuple()), + "remaining": 0, + "limit": 15}}} # num queries per period + + t = mock_twitter.return_value + t.rate_limit = mock_rate_limit + t.VerifyCredentials.return_value = True + t.InitializeRateLimit.return_value = True + + conn = app.connections.twitter_connect.TwitterConnect(log, db_session) + + # some gynamstics because Mock overides __name__ + getfriends = conn.api.GetFriends + getfriends.__name__ = 'GetFriends' + + friend_accounts = [] + with open("{script_dir}/fixture_data/twitter_get_friends.json".format(script_dir=TEST_DIR)) as f: + fixture = json.loads(f.read()) + for account in fixture: + json_dump = json.dumps(account) + account_obj = json2obj(json_dump) + friend_accounts.append(account_obj) + + # set the side-effect of get friends to throw 2 errors and then the right one + t.GetFriends.side_effect = [twitter.error.TwitterError([{'code': 130, 'message': 'Over capacity'}]), + twitter.error.TwitterError([{'code': 130, 'message': 'Over capacity'}]), + friend_accounts] + # assert we are using the first token + + # assert conn.endpoint_tokens[conn.curr_endpoint].user_id == 1 #this assertion used to work, + # but now verify credentials checks itself back in immediately. + # so after that happens this weird state is expected: + assert conn.curr_endpoint is None and not conn.endpoint_tokens + # NOTE! this should call GetFriends twice, because connect should catch an error and then retry + + friends = conn.query(conn.api.GetFriends) + # assert right results still came through after the too-hot error was handled. + assert len(friends) == len(friend_accounts) From 079e307f5e41794d6bd6ab699df90978633ce8e0 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Fri, 17 Aug 2018 12:43:44 -0700 Subject: [PATCH 073/221] Insert timing statements --- app/controller.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/controller.py b/app/controller.py index cf01343..2da2e82 100644 --- a/app/controller.py +++ b/app/controller.py @@ -75,7 +75,7 @@ def fetch_mod_action_history(subreddit, after_id = None): after_id = mac.archive_mod_action_page(after_id) db_session.commit() num_actions_stored = db_session.query(ModAction).filter(ModAction.subreddit_id == subreddit_id).count() - pre_action_count - + log.info("Finished Fetching Moderation Action History for {subreddit}. {stored} actions were stored, with a total of {total}.".format( subreddit = subreddit, stored = pre_action_count - first_action_count, @@ -99,7 +99,7 @@ def get_experiment_class(experiment_name): log.error("Cannot find experiment settings for {0} in {1}".format(ENV, experiment_file_path)) sys.exit(1) experiment_config = experiment_config_all[ENV] - + ## this is a hack. needs to be improved if(experiment_config['controller'] == "StylesheetExperimentController"): c = getattr(app.controllers.stylesheet_experiment_controller, experiment_config['controller']) @@ -167,6 +167,7 @@ def fetch_lumen_notices(num_days=2): topics = ["Copyright"] # "Government Requests", #["Defamation","Protest, Parody and Criticism Sites","Law Enforcement Requests","International","Government Requests","DMCA Subpoenas","Court Orders"] date = datetime.datetime.utcnow() - datetime.timedelta(days=int(float(num_days))) # now-2days l.archive_lumen_notices(topics, date) + log.info("Finished fetch_lumen_notices, num_days={0}".format(num_days)) def parse_lumen_notices_for_twitter_accounts(): @@ -176,6 +177,7 @@ def parse_lumen_notices_for_twitter_accounts(): log.info("Calling parse_lumen_notices_for_twitter_accounts.") l = app.controllers.lumen_controller.LumenController(db_session, lumen_conn, log) l.query_and_parse_notices_archive_users() + log.info("Finished parse_lumen_notices_for_twitter_accounts") def fetch_twitter_users(): @@ -187,6 +189,7 @@ def fetch_twitter_users(): t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) t.query_and_archive_new_users() twitter_conn.checkin_endpoint() + log.info("Finished fetch_twitter_users.") def fetch_twitter_snapshot_and_tweets(max_time_delta_min=60): @@ -199,6 +202,7 @@ def fetch_twitter_snapshot_and_tweets(max_time_delta_min=60): date = now - datetime.timedelta(minutes=int(float(max_time_delta_min))) # now-1hour t.query_and_archive_user_snapshots_and_tweets(date) twitter_conn.checkin_endpoint() + log.info("Finished fetch_twitter_snapshot_and_tweets, max_time_delta_min={0}".format(max_time_delta_min)) def fetch_twitter_tweets(backfill=False): @@ -209,6 +213,8 @@ def fetch_twitter_tweets(backfill=False): t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) t.query_and_archive_tweets(backfill) twitter_conn.checkin_endpoint() + log.info("Finished fetch_twitter_tweets, backfill={0}.".format(backfill)) + def twitter_observational_analysis_basic_profiling(): tb = app.controllers.twitter_observational_analysis_controller.TwitterBasicProfilingController( From 526e5f39ceadadcc774592e84ae2521c6cee5f60 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Mon, 20 Aug 2018 11:41:48 -0700 Subject: [PATCH 074/221] Handle internal error, and in addition refactored handling --- app/connections/twitter_connect.py | 38 ++++++++++++++++++++---------- tests/test_twitter_connect.py | 21 +++++++++++++---- 2 files changed, 42 insertions(+), 17 deletions(-) diff --git a/app/connections/twitter_connect.py b/app/connections/twitter_connect.py index 6db87b4..3580d7e 100644 --- a/app/connections/twitter_connect.py +++ b/app/connections/twitter_connect.py @@ -350,6 +350,14 @@ def mark_reset_time_and_checkin(self, endpoint): self.mark_reset_time(endpoint) self.checkin_endpoint(endpoint) + def constant_wait_sleep_and_recurse(self, err_msg, method, *args, **kwargs): + constant_sleep_secs = 10 # ten seconds because i don't want to recurse too often and this error is rare. + self.log.info( + '{2} encountered on endpoint:{0}. Sleeping for {1} seconds'.format(self.curr_endpoint, constant_sleep_secs, err_msg)) + time.sleep(constant_sleep_secs) + self.log.info('Recursing for method:', method) + return self.query(method, *args, **kwargs) + # @rate_limit_retry def query(self, method, *args, **kwargs): method_name = method.__name__ @@ -369,24 +377,30 @@ def query(self, method, *args, **kwargs): try: # try to actually execute result = method(*args, **kwargs) + return result # if we get a an error from twitter except twitter.TwitterError as twiterr: - # if it's rate exceeded we know how to deal with that - if type(twiterr.message).__name__ == "list" and twiterr.message[0]['message'] == 'Rate limit exceeded': + # check to see if we can get an error message out + err_msg = None + if type(twiterr.message).__name__ == "list": + err_msg = twiterr.message[0]['message'] + else: + self.log.info('Twitter Query encountered a twitter error without a message list') + raise + + # if we got an error message handle it via message text (could have been error code too) + if err_msg == 'Rate limit exceeded': + # special procedure for rate limit self.log.info('Rate limit encountered on endpoint:{0}'.format(endpoint)) self.mark_reset_time_and_checkin(endpoint) # recurse! self.log.info('Recursing for method:', method) return self.query(method, *args, **kwargs) # if it's over capacity we know how to deal with that - if type(twiterr.message).__name__ == "list" and twiterr.message[0]['message'] == 'Over capacity': - too_hot_sleep_secs = 10 # ten seconds because i don't want to recurse too often and this error is rare. - self.log.info('Over capacity encountered on endpoint:{0}. Sleeping for {1} seconds'.format(endpoint, too_hot_sleep_secs)) - time.sleep(too_hot_sleep_secs) - self.log.info('Recursing for method:', method) - return self.query(method, *args, **kwargs) + elif err_msg == 'Over capacity': + return self.constant_wait_sleep_and_recurse(err_msg, method, *args, **kwargs) + elif err_msg == 'Internal error': + return self.constant_wait_sleep_and_recurse(err_msg, method, *args, **kwargs) else: - self.log.info( - 'Twitter Query encountered twitter error other than Rate Limit Exceeded: {0}'.format(twiterr)) - raise - return result + self.log.error( + 'Twitter Query encountered twitter error with no handler yet: {0}'.format(twiterr)) diff --git a/tests/test_twitter_connect.py b/tests/test_twitter_connect.py index d07da38..dbd56ce 100644 --- a/tests/test_twitter_connect.py +++ b/tests/test_twitter_connect.py @@ -170,9 +170,8 @@ def test_release_verify_credential_endpoint(mock_rate_limit, mock_twitter): assert ratestate.checkin_due < expiration -@patch('twitter.Api', autospec=True) -@patch('twitter.ratelimit.RateLimit', autospec=True) -def test_too_hot_recovery(mock_rate_limit, mock_twitter): +def recovery_after_error(mock_rate_limit, mock_twitter, error_to_test): + '''Higher level funciton to return a function that tests an error code.''' reset_time = (datetime.datetime.now() + datetime.timedelta(seconds=3)) mock_rate_limit.resources = {"getfriends": {"/friends/list": { "reset": time.mktime(reset_time.timetuple()), @@ -199,8 +198,8 @@ def test_too_hot_recovery(mock_rate_limit, mock_twitter): friend_accounts.append(account_obj) # set the side-effect of get friends to throw 2 errors and then the right one - t.GetFriends.side_effect = [twitter.error.TwitterError([{'code': 130, 'message': 'Over capacity'}]), - twitter.error.TwitterError([{'code': 130, 'message': 'Over capacity'}]), + t.GetFriends.side_effect = [error_to_test, + error_to_test, friend_accounts] # assert we are using the first token @@ -213,3 +212,15 @@ def test_too_hot_recovery(mock_rate_limit, mock_twitter): friends = conn.query(conn.api.GetFriends) # assert right results still came through after the too-hot error was handled. assert len(friends) == len(friend_accounts) + +@patch('twitter.Api', autospec=True) +@patch('twitter.ratelimit.RateLimit', autospec=True) +def test_recovery_after_over_capacity(mock_rate_limit, mock_twitter): + error_to_test = twitter.error.TwitterError([{'code': 130, 'message': 'Over capacity'}]) + return recovery_after_error(mock_rate_limit, mock_twitter, error_to_test) + +@patch('twitter.Api', autospec=True) +@patch('twitter.ratelimit.RateLimit', autospec=True) +def test_recovery_after_internal_error(mock_rate_limit, mock_twitter): + error_to_test = twitter.error.TwitterError([{'message': 'Internal error', 'code': 131}]) + return recovery_after_error(mock_rate_limit, mock_twitter, error_to_test) From 5a8364f069652e80e603d15f281136638405417f Mon Sep 17 00:00:00 2001 From: Max Klein Date: Mon, 20 Aug 2018 12:51:32 -0700 Subject: [PATCH 075/221] Fix None-url error. Fix twitter test which was incorrectly looking for an item to checked back in but had no reason to be. Auto PEP8 fixes --- app/controllers/lumen_controller.py | 33 ++++++++----- tests/test_lumen.py | 11 +++-- tests/test_twitter.py | 74 +++++++++++++++-------------- 3 files changed, 65 insertions(+), 53 deletions(-) diff --git a/app/controllers/lumen_controller.py b/app/controllers/lumen_controller.py index 83d6e48..5f6c98e 100644 --- a/app/controllers/lumen_controller.py +++ b/app/controllers/lumen_controller.py @@ -126,26 +126,29 @@ def parse_notices_archive_users(self, unparsed_notices, test_exception = False): # infringing_urls is known to contain urls with warnings.catch_warnings(): - warnings.filterwarnings("ignore", category=ResourceWarning, message="unclosed.*") + warnings.filterwarnings("ignore", category=ResourceWarning, message="unclosed.*") unshortened_urls = self.bulk_unshorten(notice.id, [x['url'] for x in work['infringing_urls']]) infringing_urls = [] for url_dict in unshortened_urls.values(): if(url_dict['final_url'] is not None): - infringing_urls.append({"url":url_dict['final_url'], + infringing_urls.append({"url":url_dict['final_url'], "url_original":url_dict['original_url']}) for url_obj in infringing_urls: url = url_obj["url"] - try: - username = helper_parse_url_for_username(url, self.log) - except utils.common.ParseUsernameSuspendedUserFound: - suspended_user_count += 1 - except Exception as e: - self.log.error("Unexpected error while calling helper_parse_url_for_username on url {0}: {1}".format(url, e)) + if url: + try: + username = helper_parse_url_for_username(url, self.log) + except utils.common.ParseUsernameSuspendedUserFound: + suspended_user_count += 1 + except Exception as e: + self.log.error("Unexpected error while calling helper_parse_url_for_username on url {0}: {1}".format(url, e)) + else: + if username: + # if no username, then no username found + notice_users.add(username) else: - if username: - # if no username, then no username found - notice_users.add(username) + self.log.info('There was no url for url_obj: {0}'.format(url_obj)) if len(work["copyrighted_urls"]) > 0: # I've only seen this empty self.log.error("method helper_parse_notices_archive_users: maybe missed something in notice_json['works']['copyrighted_urls']; notice id = {0}".format(notice_json["id"])) @@ -281,7 +284,7 @@ def bulk_unshorten(self,notice_id,urls,workers=10): urls[url]['error'] = "Error" urls[url]['success'] = False continue - + if result.status_code == 200: urls[result.url]['success'] = True @@ -354,7 +357,11 @@ def helper_parse_url_for_username(url, log): twitter_domain = "twitter.com" tco_domain = "t.co" username = None - url_split = url.split("/") + if url: + url_split = url.split("/") + else: + # url was None so cannot split it, + return '' retries = 3 # TODO: how to resolve t.co urls without hitting twitter.com without auth tokens (since we're getting rate limited?) diff --git a/tests/test_lumen.py b/tests/test_lumen.py index 0b074b7..e03b54b 100644 --- a/tests/test_lumen.py +++ b/tests/test_lumen.py @@ -17,10 +17,7 @@ db_session = DbEngine(os.path.join(TEST_DIR, "../", "config") + "/{env}.json".format(env=ENV)).new_session() log = app.cs_logger.get_logger(ENV, BASE_DIR) -def setup_function(function): - pass - -def teardown_function(function): +def clear_tables(): db_session.query(LumenNotice).delete() db_session.query(LumenNoticeExpandedURL).delete() db_session.query(LumenNoticeToTwitterUser).delete() @@ -29,6 +26,12 @@ def teardown_function(function): db_session.query(TwitterStatus).delete() db_session.commit() +def setup_function(function): + clear_tables() + +def teardown_function(function): + clear_tables() + @patch('app.connections.lumen_connect.LumenConnect', autospec=True) def test_archive_lumen_notices(mock_LumenConnect): lc = mock_LumenConnect.return_value diff --git a/tests/test_twitter.py b/tests/test_twitter.py index 46f4daa..8bc57c1 100644 --- a/tests/test_twitter.py +++ b/tests/test_twitter.py @@ -2,7 +2,7 @@ import pytest import app.connections.twitter_connect -#import app.controller +# import app.controller import app.controllers.twitter_controller import os import simplejson as json @@ -15,30 +15,28 @@ import app.cs_logger TEST_DIR = os.path.dirname(os.path.realpath(__file__)) -BASE_DIR = os.path.join(TEST_DIR, "../") +BASE_DIR = os.path.join(TEST_DIR, "../") ENV = os.environ['CS_ENV'] = "test" db_session = DbEngine(os.path.join(TEST_DIR, "../", "config") + "/{env}.json".format(env=ENV)).new_session() log = app.cs_logger.get_logger(ENV, BASE_DIR) + def clear_twitter_tables(): - for table in (TwitterRateState, TwitterToken): + for table in (TwitterRateState, TwitterToken, + LumenNotice, LumenNoticeExpandedURL, LumenNoticeToTwitterUser, + TwitterUser, TwitterUserSnapshot, TwitterStatus): db_session.query(table).delete() db_session.commit() + def setup_function(function): clear_twitter_tables() def teardown_function(function): clear_twitter_tables() - db_session.query(LumenNotice).delete() - db_session.query(LumenNoticeExpandedURL).delete() - db_session.query(LumenNoticeToTwitterUser).delete() - db_session.query(TwitterUser).delete() - db_session.query(TwitterUserSnapshot).delete() - db_session.query(TwitterStatus).delete() - db_session.commit() + @pytest.fixture def populate_notice_users(): @@ -50,21 +48,22 @@ def populate_notice_users(): for nu in noticeuser_data: notice_user_record = LumenNoticeToTwitterUser( - record_created_at = now, - notice_id = nu["notice_id"], - twitter_username = nu["twitter_username"], - twitter_user_id = None, - CS_account_archived = CS_JobState.NOT_PROCESSED.value - ) + record_created_at=now, + notice_id=nu["notice_id"], + twitter_username=nu["twitter_username"], + twitter_user_id=None, + CS_account_archived=CS_JobState.NOT_PROCESSED.value + ) db_session.add(notice_user_record) - db_session.commit() + db_session.commit() + @patch('twitter.Api', autospec=True) def test_archive_twitter_new_users(mock_twitter, populate_notice_users): log.info("STARTING test_archive_twitter_new_users") t = mock_twitter.return_value before_creation = datetime.datetime.now() - sleep(1.5) + sleep(2) with open("{script_dir}/fixture_data/anon_users_lookup_0.json".format(script_dir=TEST_DIR)) as f: fixture = json.loads(f.read()) @@ -81,16 +80,17 @@ def test_archive_twitter_new_users(mock_twitter, populate_notice_users): for noticeuser in noticeusers: assert noticeuser.CS_account_archived != CS_JobState.IN_PROGRESS.value else: - assert False # expected query_and_archive_new_users to throw test_exception + assert False # expected query_and_archive_new_users to throw test_exception - sleep(1.5) - expiration = datetime.datetime.now() - ratestates = db_session.query(TwitterRateState).filter(TwitterRateState.endpoint == '/users/lookup') + sleep(2) + expiration = datetime.datetime.now() + datetime.timedelta(minutes=60 * 24) # one day lease + ratestates = db_session.query(TwitterRateState).filter(TwitterRateState.endpoint == '/users/lookup').all() for ratestate in ratestates: assert ratestate.checkin_due > before_creation assert ratestate.checkin_due < expiration + @patch('twitter.Api', autospec=True) def test_with_user_records_archive_tweets(mock_twitter_api): tc = app.connections.twitter_connect.TwitterConnect(log=log, db_session=db_session) @@ -100,14 +100,13 @@ def mocked_GetUserTimeline(user_id, count=None, max_id=None): with open("{script_dir}/fixture_data/anon_twitter_tweets.json".format(script_dir=TEST_DIR)) as f: data = json.loads(f.read()) assert len(data) == 200 - if user_id == "2" or user_id == "3": # suspended_user or protected_user - raise twitter.error.TwitterError("Not authorized.") # not mocking TwitterError - elif user_id == "1": # deleted_user + if user_id == "2" or user_id == "3": # suspended_user or protected_user + raise twitter.error.TwitterError("Not authorized.") # not mocking TwitterError + elif user_id == "1": # deleted_user raise twitter.error.TwitterError([{'message': 'Sorry, that page does not exist.', 'code': 34}]) - else: # # existing_user ? + else: # # existing_user ? return data - m = Mock() m.side_effect = mocked_GetUserTimeline api.GetUserTimeline = m @@ -120,19 +119,23 @@ def mocked_GetUserTimeline(user_id, count=None, max_id=None): t_controller = app.controllers.twitter_controller.TwitterController(db_session, tc, log) user_results = [ - ({"screen_name": "existing_user", "id": "888", "user_state": TwitterUserState.FOUND.value}, {"status_count": 200, "user_state": TwitterUserState.FOUND.value}), - ({"screen_name": "deleted_user", "id": "1", "user_state": TwitterUserState.NOT_FOUND.value}, {"status_count": 0, "user_state": TwitterUserState.NOT_FOUND.value}), - ({"screen_name": "suspended_user", "id": "2", "user_state": TwitterUserState.NOT_FOUND.value}, {"status_count": 0, "user_state": TwitterUserState.SUSPENDED.value}), - ({"screen_name": "protected_user", "id": "3", "user_state": TwitterUserState.PROTECTED.value}, {"status_count": 0, "user_state": TwitterUserState.PROTECTED.value}) + ({"screen_name": "existing_user", "id": "888", "user_state": TwitterUserState.FOUND.value}, + {"status_count": 200, "user_state": TwitterUserState.FOUND.value}), + ({"screen_name": "deleted_user", "id": "1", "user_state": TwitterUserState.NOT_FOUND.value}, + {"status_count": 0, "user_state": TwitterUserState.NOT_FOUND.value}), + ({"screen_name": "suspended_user", "id": "2", "user_state": TwitterUserState.NOT_FOUND.value}, + {"status_count": 0, "user_state": TwitterUserState.SUSPENDED.value}), + ({"screen_name": "protected_user", "id": "3", "user_state": TwitterUserState.PROTECTED.value}, + {"status_count": 0, "user_state": TwitterUserState.PROTECTED.value}) ] user_records = [] for i, (user, result) in enumerate(user_results): # need to create TwitterUser records first user_record = TwitterUser( - id = user["id"], - screen_name = user["screen_name"], - user_state = user["user_state"]) + id=user["id"], + screen_name=user["screen_name"], + user_state=user["user_state"]) db_session.add(user_record) db_session.commit() user_records.append(user_record) @@ -145,5 +148,4 @@ def mocked_GetUserTimeline(user_id, count=None, max_id=None): assert user_record.CS_oldest_tweets_archived != CS_JobState.IN_PROGRESS.value assert len([x for x in user_records if x.CS_oldest_tweets_archived == CS_JobState.PROCESSED.value]) > 0 else: - assert False # expected query_and_archive_new_users to throw test_exception - + assert False # expected query_and_archive_new_users to throw test_exception From aa2601bb92657da015b7c4cd62e903f6f5bfb59f Mon Sep 17 00:00:00 2001 From: Max Klein Date: Tue, 21 Aug 2018 14:53:20 -0700 Subject: [PATCH 076/221] start multiquery foundation by creting 'last attempted process' state fix tests to acknowledge change Auto PEP8 fixes --- app/connections/twitter_connect.py | 2 +- app/controller.py | 2 +- app/controllers/twitter_controller.py | 27 ++++++++++++++++++++------- app/models.py | 1 + tests/test_twitter.py | 21 ++++++++++++++++++--- 5 files changed, 41 insertions(+), 12 deletions(-) diff --git a/app/connections/twitter_connect.py b/app/connections/twitter_connect.py index 3580d7e..ca07752 100644 --- a/app/connections/twitter_connect.py +++ b/app/connections/twitter_connect.py @@ -281,7 +281,7 @@ def select_available_token(self, endpoint, strategy='sequential'): token_endpoint.checkin_due = query_time + timedelta(minutes=60 * 24) # 1 day loan self.db_session.add(token_endpoint) self.db_session.commit() - self.log.debug("I think I commited the checkin_due update") + self.log.debug("I think I committed the checkin_due update") token = self.db_session.query(TwitterToken).filter(TwitterToken.user_id == token_endpoint.user_id).one() self.db_session.commit() # class dictionary update diff --git a/app/controller.py b/app/controller.py index 2da2e82..6e9a06f 100644 --- a/app/controller.py +++ b/app/controller.py @@ -211,7 +211,7 @@ def fetch_twitter_tweets(backfill=False): """ log.info("Calling fetch_twitter_tweets, backfill={0}.".format(backfill)) t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) - t.query_and_archive_tweets(backfill) + query_and_archive_tweets(backfill) twitter_conn.checkin_endpoint() log.info("Finished fetch_twitter_tweets, backfill={0}.".format(backfill)) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 008c88c..04c5a6b 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -525,31 +525,41 @@ def archive_old_users(self, key_to_users, has_ids=True): ################### ARCHIVE TWEET CODE ######################################################### - def query_and_archive_tweets(self, backfill=False, is_test=False, order="ASC"): + def query_and_archive_tweets(self, backfill=False, is_test=False, order="ASC", test_exception=False): + # TODO: backfill or not, order, can be compiled into a single ORM phrase. if backfill: # archive tweets for all users who haven't had oldest tweets PROCESSED unarchived_users = self.db_session.query(TwitterUser).filter(and_( TwitterUser.CS_oldest_tweets_archived != CS_JobState.PROCESSED.value, or_(TwitterUser.lang.in_(["en","en-gb"]), TwitterUser.lang is None)) - ).order_by("record_created_at {0}".format(order)).all() + ).with_for_update().order_by("record_created_at {0}".format(order)).all() else: - unarchived_users = self.db_session.query(TwitterUser).filter(and_( + unarchived_users = self.db_session.query(TwitterUser).filter( + and_( TwitterUser.CS_oldest_tweets_archived == CS_JobState.PROCESSED.value, - or_(TwitterUser.lang.in_(["en","en-gb"]), TwitterUser.lang is None)) + or_( + TwitterUser.lang.in_(["en","en-gb"]), + TwitterUser.lang is None)) ).order_by("record_created_at {0}".format(order)).all() + # mark in the database that we're claiming these items + last_attempted_process = datetime.datetime.now() + for unarchived_user in unarchived_users: + unarchived_user.last_attempted_process = last_attempted_process + self.db_session.add(unarchived_user) + self.db_session.commit() self.log.info("About to query and archive tweets {0} users; backfill={1}".format(len(unarchived_users), backfill)) batch_size = 100 # query batch_size at a time in order to update job states more often prev_limit = 0 - for i in range(1,int(len(unarchived_users)/batch_size)+2): + for i in range(1, int(len(unarchived_users)/batch_size)+2): limit = min(i*batch_size, len(unarchived_users)) if limit > prev_limit: this_users = unarchived_users[prev_limit:limit] utils.common.update_CS_JobState(this_users, "CS_oldest_tweets_archived", CS_JobState.IN_PROGRESS, self.db_session, self.log) try: - self.with_user_records_archive_tweets(this_users, backfill=backfill, is_test=is_test) # backfill hacky + self.with_user_records_archive_tweets(this_users, backfill=backfill, is_test=is_test, test_exception=test_exception) # backfill hacky except: raise # re-raise the exception finally: @@ -667,7 +677,10 @@ def archive_user_tweets(self, user, backfill=False, is_test=False): self.archive_old_users(key_to_users={user_id:user}, has_ids=True) else: # if test, just update the user object here (since i don't want to mock out archive_old_users stuff...) + self.log.debug('In the test block with user: {0}'.format(user)) user.user_state = user_state.value + user.CS_oldest_tweets_archived = CS_JobState.PROCESSED.value + self.db_session.add(user) self.db_session.commit() break @@ -688,7 +701,7 @@ def archive_user_tweets(self, user, backfill=False, is_test=False): # if status hasn't been stored before, store if status_id not in seen_statuses and status_id not in new_seen_statuses: try: - status_record = dict( + status_record = dict( id = status_id, user_id = str(status_json["user"]["id"]), record_created_at = datetime.datetime.utcnow(), diff --git a/app/models.py b/app/models.py index f24f62b..916ab97 100644 --- a/app/models.py +++ b/app/models.py @@ -245,6 +245,7 @@ class TwitterUser(Base): lang = Column(String(32)) user_state = Column(Integer) # utils/common.py CS_oldest_tweets_archived = Column(Integer, default=1) # see CS_JobState Enum + last_attempted_process = Column(DateTime) class TwitterUserSnapshot(Base): __tablename__ = 'twitter_user_snapshots' diff --git a/tests/test_twitter.py b/tests/test_twitter.py index 8bc57c1..eb7bc13 100644 --- a/tests/test_twitter.py +++ b/tests/test_twitter.py @@ -1,6 +1,8 @@ from time import sleep import pytest +import twitter + import app.connections.twitter_connect # import app.controller import app.controllers.twitter_controller @@ -135,17 +137,30 @@ def mocked_GetUserTimeline(user_id, count=None, max_id=None): user_record = TwitterUser( id=user["id"], screen_name=user["screen_name"], - user_state=user["user_state"]) + user_state=user["user_state"], + lang="en", + ) db_session.add(user_record) db_session.commit() user_records.append(user_record) + try: - t_controller.with_user_records_archive_tweets(user_records, backfill=True, is_test=True) - except: + t_controller.query_and_archive_tweets(backfill=True, is_test=True, test_exception=True) + # t_controller.with_user_records_archive_tweets(user_records, backfill=True, is_test=True) + except Exception as e: + log.info('Exception was {0}'.format(e)) user_records = [x for x in db_session.query(TwitterUser).all()] for user_record in user_records: + # assert that nothing is in progress assert user_record.CS_oldest_tweets_archived != CS_JobState.IN_PROGRESS.value + # assert that at least one item has been processed assert len([x for x in user_records if x.CS_oldest_tweets_archived == CS_JobState.PROCESSED.value]) > 0 else: assert False # expected query_and_archive_new_users to throw test_exception + + # now test that last_attempted_process exists and is in the past. + after_all_attempted_process = datetime.datetime.now() + for user_record in user_records: + assert user_record.last_attempted_process is not None + assert user_record.last_attempted_process < after_all_attempted_process From 50e5a7addeb5d3adfaa56c43e7e2d438602a4684 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Tue, 21 Aug 2018 17:46:06 -0700 Subject: [PATCH 077/221] new ORM abstraction confirmed doing same thing --- app/controller.py | 2 +- app/controllers/twitter_controller.py | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/app/controller.py b/app/controller.py index 6e9a06f..2da2e82 100644 --- a/app/controller.py +++ b/app/controller.py @@ -211,7 +211,7 @@ def fetch_twitter_tweets(backfill=False): """ log.info("Calling fetch_twitter_tweets, backfill={0}.".format(backfill)) t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) - query_and_archive_tweets(backfill) + t.query_and_archive_tweets(backfill) twitter_conn.checkin_endpoint() log.info("Finished fetch_twitter_tweets, backfill={0}.".format(backfill)) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 04c5a6b..52ff198 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -1,3 +1,5 @@ +from operator import eq, not_ + import twitter import simplejson as json import datetime @@ -527,6 +529,26 @@ def archive_old_users(self, key_to_users, has_ids=True): def query_and_archive_tweets(self, backfill=False, is_test=False, order="ASC", test_exception=False): # TODO: backfill or not, order, can be compiled into a single ORM phrase. + + def neq(x,y): + return not_(eq(x,y)) + + neq_or_eq = neq if backfill else eq + + order_strat_map = {'ASC':TwitterUser.record_created_at.asc(), + 'DESC':TwitterUser.record_created_at.desc(), + } + + order_strat = order_strat_map[order] + unarchived_users_q = self.db_session.query(TwitterUser).\ + filter(and_( + neq_or_eq(TwitterUser.CS_oldest_tweets_archived, CS_JobState.PROCESSED.value), + or_(TwitterUser.lang.in_(["en","en-gb"]), TwitterUser.lang is None) + )). \ + order_by(order_strat). \ + with_for_update(). \ + all() + if backfill: # archive tweets for all users who haven't had oldest tweets PROCESSED unarchived_users = self.db_session.query(TwitterUser).filter(and_( @@ -542,6 +564,7 @@ def query_and_archive_tweets(self, backfill=False, is_test=False, order="ASC", t TwitterUser.lang is None)) ).order_by("record_created_at {0}".format(order)).all() + from IPython import embed; embed() # mark in the database that we're claiming these items last_attempted_process = datetime.datetime.now() for unarchived_user in unarchived_users: From 49e47c7a955da2c0582e60c70c8ffebd5b805ff7 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Wed, 22 Aug 2018 17:36:32 -0700 Subject: [PATCH 078/221] switch query tweets to looping style + Auto PEP8 --- app/connections/twitter_connect.py | 6 +- app/controller.py | 4 +- app/controllers/twitter_controller.py | 449 ++++++++++++++------------ app/models.py | 2 +- schedule_twitter_jobs.py | 4 +- tests/test_twitter.py | 10 +- tests/test_twitter_connect.py | 14 +- utils/common.py | 12 + 8 files changed, 280 insertions(+), 221 deletions(-) diff --git a/app/connections/twitter_connect.py b/app/connections/twitter_connect.py index ca07752..50c99b8 100644 --- a/app/connections/twitter_connect.py +++ b/app/connections/twitter_connect.py @@ -154,7 +154,7 @@ def update_db_tokens_from_files(self): # add all tokens not already in db tokens_to_add = [] ratestates_to_add = [] - creation_time_epsilon = datetime.datetime.now() - timedelta(seconds=1) # a little in the past + creation_time_epsilon = datetime.datetime.utcnow() - timedelta(seconds=1) # a little in the past self.log.info('Creation time is {0}'.format(creation_time_epsilon)) for token_username in in_dir_not_db: with open(os.path.join(self.token_path, '{0}.json'.format(token_username)), 'r') as f: @@ -230,7 +230,7 @@ def select_available_token(self, endpoint, strategy='sequential'): order_by = strategy_order[strategy] self.log.info('order strategy is {0}: giving: {1}'.format(strategy, order_by)) while not succeeded: - query_time = datetime.datetime.now() + query_time = datetime.datetime.utcnow() try: # 2. find first token-endpoint where # endpoint matches @@ -326,7 +326,7 @@ def checkin_endpoint(self, endpoint=None): endpoint = self.curr_endpoint ratestate = self.get_ratestate_of_endpoint(endpoint) - checkin_time = datetime.datetime.now() + checkin_time = datetime.datetime.utcnow() ratestate.checkin_due = checkin_time self.db_session.add(ratestate) self.db_session.commit() diff --git a/app/controller.py b/app/controller.py index 2da2e82..683c399 100644 --- a/app/controller.py +++ b/app/controller.py @@ -205,13 +205,13 @@ def fetch_twitter_snapshot_and_tweets(max_time_delta_min=60): log.info("Finished fetch_twitter_snapshot_and_tweets, max_time_delta_min={0}".format(max_time_delta_min)) -def fetch_twitter_tweets(backfill=False): +def fetch_twitter_tweets(backfill=False, fill_start_time=None): """ For all TwitterUsers with CS_most_tweets_queried=False, fetch tweets """ log.info("Calling fetch_twitter_tweets, backfill={0}.".format(backfill)) t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) - t.query_and_archive_tweets(backfill) + t.query_and_archive_tweets(backfill, fill_start_time=fill_start_time) twitter_conn.checkin_endpoint() log.info("Finished fetch_twitter_tweets, backfill={0}.".format(backfill)) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 52ff198..059f4f9 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -1,4 +1,4 @@ -from operator import eq, not_ +from operator import eq import twitter import simplejson as json @@ -8,13 +8,12 @@ import sqlalchemy from sqlalchemy import and_, or_, func import utils.common -from utils.common import TwitterUserState, NOT_FOUND_TWITTER_USER_STR, CS_JobState +from utils.common import TwitterUserState, NOT_FOUND_TWITTER_USER_STR, CS_JobState, neq import sys, warnings, os from collections import defaultdict TWITTER_DATETIME_STR_FORMAT = "%a %b %d %H:%M:%S %z %Y" - """ Some notes about twitter users: @@ -63,6 +62,7 @@ """ + class TwitterController(): def __init__(self, db_session, t, log): self.t = t @@ -76,12 +76,13 @@ def __init__(self, db_session, t, log): def query_and_archive_new_users(self, test_exception=False): # get unprocessed LumenNoticeToTwitterUser records with real twitter usernames unarchived_notice_users = self.db_session.query(LumenNoticeToTwitterUser).filter( - #or_( - LumenNoticeToTwitterUser.CS_account_archived == CS_JobState.NOT_PROCESSED.value #, - #LumenNoticeToTwitterUser.CS_account_archived == CS_JobState.IN_PROGRESS.value) - ).filter( - LumenNoticeToTwitterUser.twitter_username != utils.common.NOT_FOUND_TWITTER_USER_STR # you may get these from t.co links - ).all() + # or_( + LumenNoticeToTwitterUser.CS_account_archived == CS_JobState.NOT_PROCESSED.value # , + # LumenNoticeToTwitterUser.CS_account_archived == CS_JobState.IN_PROGRESS.value) + ).filter( + LumenNoticeToTwitterUser.twitter_username != utils.common.NOT_FOUND_TWITTER_USER_STR + # you may get these from t.co links + ).all() unarchived_names = [nu.twitter_username.lower() for nu in unarchived_notice_users] @@ -92,24 +93,29 @@ def query_and_archive_new_users(self, test_exception=False): TwitterUser.screen_name.in_(list(unarchived_names))).filter( ).all() - existing_usernames = set([e.screen_name.lower() for e in existing_users if utils.common.NOT_FOUND_TWITTER_USER_STR not in e.id]) + existing_usernames = set( + [e.screen_name.lower() for e in existing_users if utils.common.NOT_FOUND_TWITTER_USER_STR not in e.id]) - processed_unarchived_notice_users = [nu for nu in unarchived_notice_users if nu.twitter_username.lower() in existing_usernames] - utils.common.update_CS_JobState(processed_unarchived_notice_users, "CS_account_archived", CS_JobState.PROCESSED, self.db_session, self.log) + processed_unarchived_notice_users = [nu for nu in unarchived_notice_users if + nu.twitter_username.lower() in existing_usernames] + utils.common.update_CS_JobState(processed_unarchived_notice_users, "CS_account_archived", CS_JobState.PROCESSED, + self.db_session, self.log) - unprocessed_unarchived_notice_users = [nu for nu in unarchived_notice_users if nu.twitter_username.lower() not in existing_usernames] - utils.common.update_CS_JobState(unprocessed_unarchived_notice_users, "CS_account_archived", CS_JobState.IN_PROGRESS, self.db_session, self.log) + unprocessed_unarchived_notice_users = [nu for nu in unarchived_notice_users if + nu.twitter_username.lower() not in existing_usernames] + utils.common.update_CS_JobState(unprocessed_unarchived_notice_users, "CS_account_archived", + CS_JobState.IN_PROGRESS, self.db_session, self.log) try: self.archive_new_users(unprocessed_unarchived_notice_users, test_exception) except: - raise # re-raise the exception + raise # re-raise the exception finally: # reset progress for any remaining in-progress items whether or not exception is raised - notice_users_to_reset = [notice_user for notice_user in unprocessed_unarchived_notice_users if notice_user.CS_account_archived == CS_JobState.IN_PROGRESS.value] - utils.common.reset_CS_JobState_In_Progress(notice_users_to_reset, "CS_account_archived", self.db_session, self.log) # if still marked IN_PROGRESS (e.g. because of unchecked exception), reset it to NOT_PROCESSED - - + notice_users_to_reset = [notice_user for notice_user in unprocessed_unarchived_notice_users if + notice_user.CS_account_archived == CS_JobState.IN_PROGRESS.value] + utils.common.reset_CS_JobState_In_Progress(notice_users_to_reset, "CS_account_archived", self.db_session, + self.log) # if still marked IN_PROGRESS (e.g. because of unchecked exception), reset it to NOT_PROCESSED def archive_new_users(self, unarchived_notice_users, test_exception=False): """ @@ -141,23 +147,23 @@ def archive_new_users(self, unarchived_notice_users, test_exception=False): if len(unarchived_notice_users) <= 0: return (None, None) - #JNM NOTE TODO: SHOULD PROBABLY BE A DICT OF LISTS, NOT A DICT OF OBJECTS + # JNM NOTE TODO: SHOULD PROBABLY BE A DICT OF LISTS, NOT A DICT OF OBJECTS # HERE WE ASSUME THAT ACCOUNTS THAT HAVE THE SAME SCREEN NAME # AND WHICH ARE IN THIS SCRAPING SESSION ARE THE SAME ACCOUNT user_names_to_notice_user = defaultdict(list) for nu in unarchived_notice_users: - if(utils.common.NOT_FOUND_TWITTER_USER_STR not in nu.twitter_username): + if (utils.common.NOT_FOUND_TWITTER_USER_STR not in nu.twitter_username): user_names_to_notice_user[nu.twitter_username].append(nu) -# user_names_to_notice_user = {nu.twitter_username: nu for nu in unarchived_notice_users if utils.common.NOT_FOUND_TWITTER_USER_STR not in nu.twitter_username} + # user_names_to_notice_user = {nu.twitter_username: nu for nu in unarchived_notice_users if utils.common.NOT_FOUND_TWITTER_USER_STR not in nu.twitter_username} unarchived_user_names = set(user_names_to_notice_user.keys()) user_names = list(unarchived_user_names) # query batch_size at a time - batch_size = 100 # limit should be 100 + batch_size = 100 # limit should be 100 prev_limit = 0 - left_users = unarchived_user_names # reference + left_users = unarchived_user_names # reference - all_existing_ids = set([]) # all ids already stored in db + all_existing_ids = set([]) # all ids already stored in db def commit_users_failed(user): for noticeuser in user_names_to_notice_user[user]: @@ -168,8 +174,8 @@ def commit_users_failed(user): if test_exception: counter = 0 - for i in range(1,int(len(user_names)/batch_size)+2): - limit = min(i*batch_size, len(user_names)) + for i in range(1, int(len(user_names) / batch_size) + 2): + limit = min(i * batch_size, len(user_names)) if limit > prev_limit: # query twitter API for user info this_users = user_names[prev_limit:limit] @@ -178,20 +184,25 @@ def commit_users_failed(user): users_info = self.t.query(self.t.api.UsersLookup, screen_name=this_users) except twitter.error.TwitterError as e: # self.t.try_counter = 0 ## this line prevents the retry code from looping - #for this_user in this_users: + # for this_user in this_users: # commit_users_failed(this_user) - self.log.info("Failed to query for {0} Twitter users using api.UsersLookup: {1} {2}".format(limit-prev_limit, ",".join(this_users), str(e))) + self.log.info("Failed to query for {0} Twitter users using api.UsersLookup: {1} {2}".format( + limit - prev_limit, ",".join(this_users), str(e))) else: - self.log.info("Queried for {0} Twitter users out of a total of {1} users, got {2} out of {3} users".format( - limit, len(user_names), len(users_info), limit-prev_limit)) + self.log.info( + "Queried for {0} Twitter users out of a total of {1} users, got {2} out of {3} users".format( + limit, len(user_names), len(users_info), limit - prev_limit)) prev_limit = limit # for found users, commit to db - users_json = [json.loads(json.dumps(user_info._json).encode("utf-8", "replace")) if type(user_info) is twitter.models.User else user_info for user_info in users_info] # to accomodate test fixture data + users_json = [json.loads(json.dumps(user_info._json).encode("utf-8", "replace")) if type( + user_info) is twitter.models.User else user_info for user_info in + users_info] # to accomodate test fixture data this_found_ids = set([user_json["id"] for user_json in users_json]) - existing_ids = [uid[0] for uid in self.db_session.query(TwitterUser.id).filter(TwitterUser.id.in_(list(this_found_ids))).all()] + existing_ids = [uid[0] for uid in self.db_session.query(TwitterUser.id).filter( + TwitterUser.id.in_(list(this_found_ids))).all()] all_existing_ids.update(existing_ids) for user_json in users_json: @@ -204,33 +215,35 @@ def commit_users_failed(user): created_at = datetime.datetime.strptime(user_json["created_at"], TWITTER_DATETIME_STR_FORMAT) # determine user state - user_state = TwitterUserState.FOUND if not user_json["protected"] else TwitterUserState.PROTECTED + user_state = TwitterUserState.FOUND if not user_json[ + "protected"] else TwitterUserState.PROTECTED now = datetime.datetime.utcnow() try: # create TwitterUser record user_record = TwitterUser( - id = uid, - not_found_id = None, - screen_name = screen_name, #usernames change! index/search on id when possible. - created_at = created_at, # is UTC; expected string format: "Mon Nov 29 21:18:15 +0000 2010" - record_created_at = now, - lang = user_json["lang"], - user_state = user_state.value, - CS_oldest_tweets_archived = CS_JobState.NOT_PROCESSED.value) + id=uid, + not_found_id=None, + screen_name=screen_name, # usernames change! index/search on id when possible. + created_at=created_at, + # is UTC; expected string format: "Mon Nov 29 21:18:15 +0000 2010" + record_created_at=now, + lang=user_json["lang"], + user_state=user_state.value, + CS_oldest_tweets_archived=CS_JobState.NOT_PROCESSED.value) self.db_session.add(user_record) # create first TwitterUserSnapshot record user_snapshot_record = TwitterUserSnapshot( - twitter_user_id = uid, - twitter_not_found_id = None, - record_created_at = now, - user_state = user_state.value, - user_json = json.dumps(user_json)) #already encoded + twitter_user_id=uid, + twitter_not_found_id=None, + record_created_at=now, + user_state=user_state.value, + user_json=json.dumps(user_json)) # already encoded self.db_session.add(user_snapshot_record) all_existing_ids.add(uid) - left_users.discard(screen_name) # discard doesn't throw an error + left_users.discard(screen_name) # discard doesn't throw an error ## iterate through the list of notice users and ## update all of the records @@ -248,21 +261,26 @@ def commit_users_failed(user): try: self.db_session.commit() except: - self.log.error("Error while saving DB Session for TwitterUser, TwitterUserSnapshot object", extra=sys.exc_info()[0]) + self.log.error( + "Error while saving DB Session for TwitterUser, TwitterUserSnapshot object", + extra=sys.exc_info()[0]) commit_users_failed(screen_name) except: - self.log.error("Error while creating TwitterUser, TwitterUserSnapshot objects for user {0}".format(user_json["id"]), extra=sys.exc_info()[0]) + self.log.error( + "Error while creating TwitterUser, TwitterUserSnapshot objects for user {0}".format( + user_json["id"]), extra=sys.exc_info()[0]) commit_users_failed(screen_name) # at end, for left_users (users not found), commit to db - left_existing_users = self.db_session.query(TwitterUser).filter(TwitterUser.screen_name.in_(list(left_users))).all() + left_existing_users = self.db_session.query(TwitterUser).filter( + TwitterUser.screen_name.in_(list(left_users))).all() # first, update lumen notices that are already associated with a twitter user for twitter_user in left_existing_users: screen_name = twitter_user.screen_name if screen_name in user_names_to_notice_user.keys(): for notice_user in user_names_to_notice_user[screen_name]: - if(notice_user.CS_account_archived == CS_JobState.IN_PROGRESS.value): + if (notice_user.CS_account_archived == CS_JobState.IN_PROGRESS.value): notice_user.twitter_user_id = twitter_user.id notice_user.CS_account_archived = CS_JobState.PROCESSED.value self.db_session.add(notice_user) @@ -281,23 +299,23 @@ def commit_users_failed(user): try: # create TwitterUser record user_record = TwitterUser( - id = uid, - not_found_id = uid, - screen_name = name, - created_at = None, - record_created_at = now, - lang = None, - user_state = user_state.value, - CS_oldest_tweets_archived = CS_JobState.PROCESSED.value) # no tweets to find + id=uid, + not_found_id=uid, + screen_name=name, + created_at=None, + record_created_at=now, + lang=None, + user_state=user_state.value, + CS_oldest_tweets_archived=CS_JobState.PROCESSED.value) # no tweets to find self.db_session.add(user_record) # also create first TwitterUserSnapshot record user_snapshot_record = TwitterUserSnapshot( - twitter_user_id = uid, - twitter_not_found_id = uid, - record_created_at = now, - user_state = user_state.value, - user_json = None) + twitter_user_id=uid, + twitter_not_found_id=uid, + record_created_at=now, + user_state=user_state.value, + user_json=None) self.db_session.add(user_snapshot_record) noticeusers = user_names_to_notice_user[name] @@ -309,25 +327,29 @@ def commit_users_failed(user): try: self.db_session.commit() except: - self.log.error("Error while saving DB Session for TwitterUser, TwitterUserSnapshot object", extra=sys.exc_info()[0]) + self.log.error("Error while saving DB Session for TwitterUser, TwitterUserSnapshot object", + extra=sys.exc_info()[0]) commit_users_failed([name]) except: - self.log.error("Error while updating TwitterUser, creating TwitterUserSnapshot object for user {0}".format(user_json["id"]), extra=sys.exc_info()[0]) + self.log.error( + "Error while updating TwitterUser, creating TwitterUserSnapshot object for user {0}".format( + user_json["id"]), extra=sys.exc_info()[0]) commit_users_failed([name]) - def is_user_suspended_or_deleted(self, username): user_state = TwitterUserState.NOT_FOUND try: - user = self.t.query(self.t.api.GetUser,screen_name=username) + user = self.t.query(self.t.api.GetUser, screen_name=username) except twitter.error.TwitterError as e: - self.t.try_counter = 0 ## this line prevents the retry code from looping + self.t.try_counter = 0 ## this line prevents the retry code from looping if e.message[0]['code'] == 50 and e.message[0]['message'] == 'User not found.': user_state = TwitterUserState.NOT_FOUND elif e.message[0]['code'] == 63 and e.message[0]['message'] == 'User has been suspended.': user_state = TwitterUserState.SUSPENDED else: - self.log.error("Unexpected twitter.error.TwitterError exception while calling api.GetUser on user {0}: {1}".format(username, e)) + self.log.error( + "Unexpected twitter.error.TwitterError exception while calling api.GetUser on user {0}: {1}".format( + username, e)) return user_state ######################################################### @@ -348,10 +370,10 @@ def query_and_archive_user_snapshots_and_tweets(self, min_time, is_test=False): """ need_snapshot_users = self.db_session.query(TwitterUser).filter( - or_(TwitterUser.lang.in_(["en","en-gb"]), TwitterUser.lang is None) ).all() + or_(TwitterUser.lang.in_(["en", "en-gb"]), TwitterUser.lang is None)).all() # querying TwitterUserSnapshot is very expensive - #need_snapshot_user_snapshots = self.db_session.query( + # need_snapshot_user_snapshots = self.db_session.query( # TwitterUserSnapshot.twitter_user_id).group_by( # TwitterUserSnapshot.twitter_user_id).having( # func.max(TwitterUserSnapshot.record_created_at) < min_time).all() @@ -364,19 +386,22 @@ def query_and_archive_user_snapshots_and_tweets(self, min_time, is_test=False): # store TwitterUserSnapshot, update TwitterUser for all queried users need_snapshot_id_to_all_user = {u.id: u for u in need_snapshot_users} - need_snapshot_id_to_found_user = {uid: need_snapshot_id_to_all_user[uid] for uid in need_snapshot_id_to_all_user if utils.common.NOT_FOUND_TWITTER_USER_STR not in uid} - self.archive_old_users(need_snapshot_id_to_found_user , has_ids=True) - need_snapshot_names_to_not_found_user = {need_snapshot_id_to_all_user[uid].screen_name.lower(): need_snapshot_id_to_all_user[uid] for uid in need_snapshot_id_to_all_user if utils.common.NOT_FOUND_TWITTER_USER_STR in uid} + need_snapshot_id_to_found_user = {uid: need_snapshot_id_to_all_user[uid] for uid in need_snapshot_id_to_all_user + if utils.common.NOT_FOUND_TWITTER_USER_STR not in uid} + self.archive_old_users(need_snapshot_id_to_found_user, has_ids=True) + need_snapshot_names_to_not_found_user = { + need_snapshot_id_to_all_user[uid].screen_name.lower(): need_snapshot_id_to_all_user[uid] for uid in + need_snapshot_id_to_all_user if utils.common.NOT_FOUND_TWITTER_USER_STR in uid} self.archive_old_users(need_snapshot_names_to_not_found_user, has_ids=False) # store new tweets for users with found id and CS_oldest_tweets_archived = PROCESSED # (if a user doesn't have a found id, then it is either deleted (NOT_FOUND) or suspended (SUSPENDED). # in both cases, we will not find tweets) - need_new_tweets_users = [u for u in need_snapshot_users if u.CS_oldest_tweets_archived == CS_JobState.PROCESSED.value and utils.common.NOT_FOUND_TWITTER_USER_STR not in u.id] + need_new_tweets_users = [u for u in need_snapshot_users if + u.CS_oldest_tweets_archived == CS_JobState.PROCESSED.value and utils.common.NOT_FOUND_TWITTER_USER_STR not in u.id] self.log.info("Need to get new tweets for {0} users".format(len(need_new_tweets_users))) self.with_user_records_archive_tweets(need_new_tweets_users, is_test) # TwitterUsers - def archive_old_users(self, key_to_users, has_ids=True): """ @@ -391,38 +416,43 @@ def archive_old_users(self, key_to_users, has_ids=True): is_test = type(key_to_users) is not dict user_keys = list(key_to_users.keys()) - batch_size = 100 # limit should be 100 + batch_size = 100 # limit should be 100 # query batch_size at a time prev_limit = 0 left_users = set(user_keys) - for i in range(1,int(len(user_keys)/batch_size)+2): - limit = min(i*batch_size, len(user_keys)) + for i in range(1, int(len(user_keys) / batch_size) + 2): + limit = min(i * batch_size, len(user_keys)) if limit > prev_limit: # query twitter API for user info users_info = [] this_users = user_keys[prev_limit:limit] if len(this_users) > batch_size: - self.log.error("Caught error where this_users is too long??? : len(this_users) = {0}".format(len(this_users))) + self.log.error( + "Caught error where this_users is too long??? : len(this_users) = {0}".format(len(this_users))) try: if has_ids: - users_info = self.t.query(self.t.api.UsersLookup,user_id=this_users) + users_info = self.t.query(self.t.api.UsersLookup, user_id=this_users) else: - users_info = self.t.query(self.t.api.UsersLookup,screen_name=this_users) + users_info = self.t.query(self.t.api.UsersLookup, screen_name=this_users) except twitter.error.TwitterError as e: - self.t.try_counter = 0 ## this line prevents the retry code from looping + self.t.try_counter = 0 ## this line prevents the retry code from looping # this message means no users_info found: "[{'code': 17, 'message': 'No user matches for specified terms.'}]" if e.message[0]['code'] != 17: - self.log.error("Unexpected error while querying for {0} Twitter users using api.UsersLookup: {1}; users: {2}".format(limit-prev_limit, str(e), this_users)) + self.log.error( + "Unexpected error while querying for {0} Twitter users using api.UsersLookup: {1}; users: {2}".format( + limit - prev_limit, str(e), this_users)) else: - self.log.info("Queried for {0} Twitter users out of a total of {1} users, got {2} out of {3} users".format( - limit, len(user_keys), len(users_info), limit-prev_limit)) + self.log.info( + "Queried for {0} Twitter users out of a total of {1} users, got {2} out of {3} users".format( + limit, len(user_keys), len(users_info), limit - prev_limit)) prev_limit = limit - # for found users, commit to db - users_json = [json.loads(json.dumps(user_info._json).encode("utf-8", "replace")) if type(user_info) is twitter.models.User else user_info for user_info in users_info] # to accomodate test fixture data + users_json = [json.loads(json.dumps(user_info._json).encode("utf-8", "replace")) if type( + user_info) is twitter.models.User else user_info for user_info in + users_info] # to accomodate test fixture data for user_json in users_json: uid = str(user_json["id"]) @@ -449,8 +479,9 @@ def archive_old_users(self, key_to_users, has_ids=True): # such that we are able to get their account info now, we'd get an id we haven't seen before, and there is # NO WAY for us to match up these records. # so we would want to create a new record. - self.log.error("Unexpected screen_name change: {0} is not in key_to_users. key_to_users' keys (screen_names): {1}".format( - screen_name, key_to_users.keys())) + self.log.error( + "Unexpected screen_name change: {0} is not in key_to_users. key_to_users' keys (screen_names): {1}".format( + screen_name, key_to_users.keys())) try: if user: @@ -458,24 +489,27 @@ def archive_old_users(self, key_to_users, has_ids=True): user.id = uid user.screen_name = screen_name user.created_at = created_at - #user.record_updated_at = now # THIS SHOULDN'T BE UPDATED. old TwitterUser records probably have wrong record_updated_at + # user.record_updated_at = now # THIS SHOULDN'T BE UPDATED. old TwitterUser records probably have wrong record_updated_at user.lang = user_json["lang"] user.state = user_state.value # create TwitterUserSnapshot record user_snapshot_record = TwitterUserSnapshot( - twitter_user_id = uid, - twitter_not_found_id = user.not_found_id, # get from TwitterUser object. don't expect to not find TwitterUser object - record_created_at = now, - user_state = user_state.value, - user_json = json.dumps(user_json)) #already encoded + twitter_user_id=uid, + twitter_not_found_id=user.not_found_id, + # get from TwitterUser object. don't expect to not find TwitterUser object + record_created_at=now, + user_state=user_state.value, + user_json=json.dumps(user_json)) # already encoded self.db_session.add(user_snapshot_record) except: - self.log.error("Error while updating TwitterUser, creating TwitterUserSnapshot object for user {0}".format(user_json["id"]), extra=sys.exc_info()[0]) + self.log.error( + "Error while updating TwitterUser, creating TwitterUserSnapshot object for user {0}".format( + user_json["id"]), extra=sys.exc_info()[0]) else: if has_ids: - left_users.discard(uid) # discard doesn't throw an error + left_users.discard(uid) # discard doesn't throw an error else: left_users.discard(screen_name) @@ -483,8 +517,9 @@ def archive_old_users(self, key_to_users, has_ids=True): try: self.db_session.commit() except: - self.log.error("Error while saving DB Session for TwitterUser, TwitterUserSnapshot object for {0} users".format( - len(users_info)), extra=sys.exc_info()[0]) + self.log.error( + "Error while saving DB Session for TwitterUser, TwitterUserSnapshot object for {0} users".format( + len(users_info)), extra=sys.exc_info()[0]) else: self.log.info("Saved {0} found twitter users' info.".format(len(users_info))) @@ -499,20 +534,23 @@ def archive_old_users(self, key_to_users, has_ids=True): try: now = datetime.datetime.utcnow() # update TwitterUser record - user.not_found_id = user.not_found_id if user.not_found_id else utils.common.generate_not_found_twitter_user_id(user.screen_name) - #user.record_updated_at = now # TODO: fix this. models doesn't have this field right now + user.not_found_id = user.not_found_id if user.not_found_id else utils.common.generate_not_found_twitter_user_id( + user.screen_name) + # user.record_updated_at = now # TODO: fix this. models doesn't have this field right now user.user_state = user_state.value # create TwitterUserSnapshot record user_snapshot_record = TwitterUserSnapshot( - twitter_user_id = user.id, - twitter_not_found_id = user.not_found_id, - record_created_at = now, - user_state = user_state.value) + twitter_user_id=user.id, + twitter_not_found_id=user.not_found_id, + record_created_at=now, + user_state=user_state.value) self.db_session.add(user_snapshot_record) except: - self.log.error("Error while updating TwitterUser, creating TwitterUserSnapshot object for user {0}".format(user_json["id"]), extra=sys.exc_info()[0]) + self.log.error( + "Error while updating TwitterUser, creating TwitterUserSnapshot object for user {0}".format( + user_json["id"]), extra=sys.exc_info()[0]) if len(left_users) > 0: try: self.db_session.commit() @@ -522,76 +560,66 @@ def archive_old_users(self, key_to_users, has_ids=True): else: self.log.info("Saved {0} not_found twitter users' info.".format(len(left_users))) - ######################################################### ################### ARCHIVE TWEET CODE ######################################################### - def query_and_archive_tweets(self, backfill=False, is_test=False, order="ASC", test_exception=False): - # TODO: backfill or not, order, can be compiled into a single ORM phrase. - - def neq(x,y): - return not_(eq(x,y)) - - neq_or_eq = neq if backfill else eq - - order_strat_map = {'ASC':TwitterUser.record_created_at.asc(), - 'DESC':TwitterUser.record_created_at.desc(), - } - + def query_and_archive_tweets(self, backfill=False, fill_start_time=None, order="ASC", test_exception=False, + is_test=False): + order_strat_map = {'ASC': TwitterUser.record_created_at.asc(), + 'DESC': TwitterUser.record_created_at.desc()} order_strat = order_strat_map[order] - unarchived_users_q = self.db_session.query(TwitterUser).\ - filter(and_( + neq_or_eq = neq if backfill else eq + batch_size = 100 + all_filled = False # this flag gets set to True when we find no more users to fill + + # in a loop, until all_filled, get a batch and process the last_attempt_process state along with + # fill_start_time, lets us know if that user has been attempted *this round*. The CS_JobState state let's us + # know if every item was either processed succesffuly or failed + while not all_filled: + unarchived_users = self.db_session.query(TwitterUser). \ + filter(and_( neq_or_eq(TwitterUser.CS_oldest_tweets_archived, CS_JobState.PROCESSED.value), - or_(TwitterUser.lang.in_(["en","en-gb"]), TwitterUser.lang is None) + or_(TwitterUser.lang.in_(["en", "en-gb"]), TwitterUser.lang is None) )). \ - order_by(order_strat). \ - with_for_update(). \ - all() - - if backfill: - # archive tweets for all users who haven't had oldest tweets PROCESSED - unarchived_users = self.db_session.query(TwitterUser).filter(and_( - TwitterUser.CS_oldest_tweets_archived != CS_JobState.PROCESSED.value, - or_(TwitterUser.lang.in_(["en","en-gb"]), TwitterUser.lang is None)) - ).with_for_update().order_by("record_created_at {0}".format(order)).all() - else: - unarchived_users = self.db_session.query(TwitterUser).filter( - and_( - TwitterUser.CS_oldest_tweets_archived == CS_JobState.PROCESSED.value, - or_( - TwitterUser.lang.in_(["en","en-gb"]), - TwitterUser.lang is None)) - ).order_by("record_created_at {0}".format(order)).all() - - from IPython import embed; embed() - # mark in the database that we're claiming these items - last_attempted_process = datetime.datetime.now() - for unarchived_user in unarchived_users: - unarchived_user.last_attempted_process = last_attempted_process - self.db_session.add(unarchived_user) + filter(TwitterUser.last_attempted_process < fill_start_time). \ + order_by(order_strat). \ + with_for_update(). \ + limit(batch_size). \ + all() + + # mark in the database that we're claiming these items + last_attempted_process = datetime.datetime.utcnow() + for unarchived_user in unarchived_users: + unarchived_user.last_attempted_process = last_attempted_process + self.db_session.add(unarchived_user) self.db_session.commit() - self.log.info("About to query and archive tweets {0} users; backfill={1}".format(len(unarchived_users), backfill)) - - batch_size = 100 - # query batch_size at a time in order to update job states more often - prev_limit = 0 - for i in range(1, int(len(unarchived_users)/batch_size)+2): - limit = min(i*batch_size, len(unarchived_users)) - if limit > prev_limit: - this_users = unarchived_users[prev_limit:limit] - utils.common.update_CS_JobState(this_users, "CS_oldest_tweets_archived", CS_JobState.IN_PROGRESS, self.db_session, self.log) - try: - self.with_user_records_archive_tweets(this_users, backfill=backfill, is_test=is_test, test_exception=test_exception) # backfill hacky - except: - raise # re-raise the exception - finally: - # reset progress whether or not exception is raised - utils.common.reset_CS_JobState_In_Progress(this_users, "CS_oldest_tweets_archived", self.db_session, self.log) # if still marked IN_PROGRESS (e.g. because of unchecked exception), reset it to NOT_PROCESSED - prev_limit = limit - - self.log.info("PID {3} queried and archived tweets for {0} out of {1} users; backfill={2}".format(prev_limit, len(unarchived_users), backfill, str(os.getpid()))) - + self.log.info( + "About to query and archive tweets {0} users; backfill={1}".format(len(unarchived_users), backfill)) + # look for our loop ending condition which is that there are no more unarchived_users + all_filled = True if len(unarchived_users) == 0 else False + + # set the current items to in progress + utils.common.update_CS_JobState(unarchived_users, "CS_oldest_tweets_archived", CS_JobState.IN_PROGRESS, + self.db_session, + self.log) + # try to archive the users tweets + try: + self.with_user_records_archive_tweets(unarchived_users, backfill=backfill, is_test=is_test, + test_exception=test_exception) # backfill hacky + # TODO if the user has become invalid then mark this + except: + raise # re-raise the exception + # finally reset in_progress and log + finally: + utils.common.reset_CS_JobState_In_Progress(unarchived_users, "CS_oldest_tweets_archived", + self.db_session, + self.log) # if still marked IN_PROGRESS (e.g. because of unchecked exception), reset it to NOT_PROCESSED + + self.log.info( + "PID {2} queried and archived tweets for {0} users; backfill={1}".format(len(unarchived_users), + backfill, + str(os.getpid()))) def with_user_records_archive_tweets(self, user_records, backfill=False, is_test=False, test_exception=False): """ @@ -617,7 +645,8 @@ def with_user_records_archive_tweets(self, user_records, backfill=False, is_test if counter >= len(user_records) / 2: raise Exception("Throwing an exception for test purposes") - def get_statuses_user_state(self, user_id, count=200, max_id=None, user_state=TwitterUserState.NOT_FOUND, job_state=CS_JobState.FAILED): + def get_statuses_user_state(self, user_id, count=200, max_id=None, user_state=TwitterUserState.NOT_FOUND, + job_state=CS_JobState.FAILED): """ returns (statuses, user_state, job_state) @@ -627,7 +656,7 @@ def get_statuses_user_state(self, user_id, count=200, max_id=None, user_state=Tw try: statuses = self.t.query(self.t.api.GetUserTimeline, user_id=user_id, count=count, max_id=max_id) except twitter.error.TwitterError as e: - self.t.try_counter = 0 ## this line prevents the retry code from looping + self.t.try_counter = 0 ## this line prevents the retry code from looping self.log.info(e) # TODO: un-jankify this error handling/parsing code. might not get much better though if e.message == "Not authorized.": @@ -635,17 +664,18 @@ def get_statuses_user_state(self, user_id, count=200, max_id=None, user_state=Tw self.log.info(user_state is TwitterUserState.PROTECTED) if user_state is not TwitterUserState.PROTECTED: user_state = TwitterUserState.SUSPENDED - elif e.message[0]['code'] == 34: # message = "Sorry, that page does not exist." + elif e.message[0]['code'] == 34: # message = "Sorry, that page does not exist." user_state = TwitterUserState.NOT_FOUND else: - self.log.error("Unexpected twitter.error.TwitterError exception while calling api.GetUserTimeline on user {0}: {1}".format(user_id, e)) + self.log.error( + "Unexpected twitter.error.TwitterError exception while calling api.GetUserTimeline on user {0}: {1}".format( + user_id, e)) job_state = CS_JobState.NEEDS_RETRY else: user_state = TwitterUserState.FOUND job_state = CS_JobState.PROCESSED return (statuses, user_state, job_state) - def archive_user_tweets(self, user, backfill=False, is_test=False): """ given TwitterUser user, archive user tweets. @@ -666,7 +696,8 @@ def archive_user_tweets(self, user, backfill=False, is_test=False): query_seen_statuses = self.db_session.query( TwitterStatus.id).filter( TwitterStatus.user_id == user_id).all() - seen_statuses = set([s[0] for s in query_seen_statuses if s is not None]) # set of ids already in db; s = (872295416376823808,) + seen_statuses = set([s[0] for s in query_seen_statuses if + s is not None]) # set of ids already in db; s = (872295416376823808,) else: # believe that we have all statuses older than func.max(TwitterStatus.id), # so we only need to get func.max(TwitterStatus.id) @@ -675,29 +706,39 @@ def archive_user_tweets(self, user, backfill=False, is_test=False): TwitterStatus.user_id == user_id).first() seen_statuses = set([query_seen_statuses]) - new_seen_statuses = set([]) # set of ids added this time + new_seen_statuses = set([]) # set of ids added this time - oldest_id_queried = None # if query_oldest_id is None else query_oldest_id[0] + oldest_id_queried = None # if query_oldest_id is None else query_oldest_id[0] count = 200 while True: # get statuses and job_state from twitter API. don't use user_state - (statuses, user_state, sub_job_state) = self.get_statuses_user_state(user_id, count, oldest_id_queried, user_state=TwitterUserState(user.user_state), job_state=CS_JobState.FAILED) + (statuses, user_state, sub_job_state) = self.get_statuses_user_state(user_id, count, oldest_id_queried, + user_state=TwitterUserState( + user.user_state), + job_state=CS_JobState.FAILED) if sub_job_state is not CS_JobState.PROCESSED: - self.log.error("Unexpected error while calling api.GetUserTimeline on user_id {0}: sub_job_state is {1}".format(user_id, sub_job_state)) + self.log.error( + "Unexpected error while calling api.GetUserTimeline on user_id {0}: sub_job_state is {1}".format( + user_id, sub_job_state)) return sub_job_state if statuses is None: - self.log.error("Unexpected error while calling api.GetUserTimeline on user_id {0}: nothing returned".format(user_id)) + self.log.error( + "Unexpected error while calling api.GetUserTimeline on user_id {0}: nothing returned".format( + user_id)) return job_state - self.log.info("PID {3} queried total of {0} tweets for account {1}. Backfill={2}".format(len(statuses), user_id, str(backfill), str(os.getpid()))) + self.log.info( + "PID {3} queried total of {0} tweets for account {1}. Backfill={2}".format(len(statuses), user_id, + str(backfill), + str(os.getpid()))) if user_state is not TwitterUserState.FOUND: if not is_test: # thought we probably had a found user, turns out we don't. # to be safe, we should try to update our user records, create new snapshot - self.archive_old_users(key_to_users={user_id:user}, has_ids=True) + self.archive_old_users(key_to_users={user_id: user}, has_ids=True) else: # if test, just update the user object here (since i don't want to mock out archive_old_users stuff...) self.log.debug('In the test block with user: {0}'.format(user)) @@ -711,37 +752,40 @@ def archive_user_tweets(self, user, backfill=False, is_test=False): break # store TwitterStatus es - statuses_jsons = [json.loads(json.dumps(status._json).encode("utf-8", "replace")) if type(status) is twitter.models.Status else status for status in statuses] # to accomodate test fixture data] - sorted_statuses_jsons = sorted(statuses_jsons, key=lambda s: datetime.datetime.strptime(s["created_at"], TWITTER_DATETIME_STR_FORMAT)) + statuses_jsons = [json.loads(json.dumps(status._json).encode("utf-8", "replace")) if type( + status) is twitter.models.Status else status for status in statuses] # to accomodate test fixture data] + sorted_statuses_jsons = sorted(statuses_jsons, key=lambda s: datetime.datetime.strptime(s["created_at"], + TWITTER_DATETIME_STR_FORMAT)) prev_new_seen_statuses_length = len(new_seen_statuses) this_oldest_id = min([status_json["id"] for status_json in sorted_statuses_jsons]) status_records = [] - for i, status_json in enumerate(sorted_statuses_jsons): # go through statuses from oldest to newest + for i, status_json in enumerate(sorted_statuses_jsons): # go through statuses from oldest to newest status_id = status_json["id"] created_at = datetime.datetime.strptime(status_json["created_at"], TWITTER_DATETIME_STR_FORMAT) # if status hasn't been stored before, store if status_id not in seen_statuses and status_id not in new_seen_statuses: try: status_record = dict( - id = status_id, - user_id = str(status_json["user"]["id"]), - record_created_at = datetime.datetime.utcnow(), - created_at = created_at, #"Sun Apr 16 17:11:30 +0000 2017" - status_data = json.dumps(status_json) - ) - # status_record = TwitterStatus( - # id = status_id, - # user_id = str(status_json["user"]["id"]), - # record_created_at = datetime.datetime.utcnow(), - # created_at = created_at, #"Sun Apr 16 17:11:30 +0000 2017" - # status_data = json.dumps(status_json)) - #self.db_session.add(status_record) + id=status_id, + user_id=str(status_json["user"]["id"]), + record_created_at=datetime.datetime.utcnow(), + created_at=created_at, # "Sun Apr 16 17:11:30 +0000 2017" + status_data=json.dumps(status_json) + ) + # status_record = TwitterStatus( + # id = status_id, + # user_id = str(status_json["user"]["id"]), + # record_created_at = datetime.datetime.utcnow(), + # created_at = created_at, #"Sun Apr 16 17:11:30 +0000 2017" + # status_data = json.dumps(status_json)) + # self.db_session.add(status_record) status_records.append(status_record) new_seen_statuses.add(status_id) except: - self.log.error("Error while creating TwitterStatus object for user {0}, status id {1}".format(status_json["user"]["id"]["screen_name"], status_id), extra=sys.exc_info()[0]) + self.log.error("Error while creating TwitterStatus object for user {0}, status id {1}".format( + status_json["user"]["id"]["screen_name"], status_id), extra=sys.exc_info()[0]) return job_state try: with warnings.catch_warnings(): @@ -753,7 +797,8 @@ def archive_user_tweets(self, user, backfill=False, is_test=False): len(new_seen_statuses) - prev_new_seen_statuses_length, user_id), extra=sys.exc_info()[0]) return job_state else: - self.log.info("PID {2} Saved {0} statuses for user {1}.".format(len(new_seen_statuses) - prev_new_seen_statuses_length, user_id, str(os.getpid()))) + self.log.info("PID {2} Saved {0} statuses for user {1}.".format( + len(new_seen_statuses) - prev_new_seen_statuses_length, user_id, str(os.getpid()))) if not backfill and this_oldest_id in seen_statuses: # if not backfill, we don't try to go back in time beyond the newest status we've already stored diff --git a/app/models.py b/app/models.py index 916ab97..fa69bc3 100644 --- a/app/models.py +++ b/app/models.py @@ -245,7 +245,7 @@ class TwitterUser(Base): lang = Column(String(32)) user_state = Column(Integer) # utils/common.py CS_oldest_tweets_archived = Column(Integer, default=1) # see CS_JobState Enum - last_attempted_process = Column(DateTime) + last_attempted_process = Column(DateTime, default=datetime.datetime.utcnow) class TwitterUserSnapshot(Base): __tablename__ = 'twitter_user_snapshots' diff --git a/schedule_twitter_jobs.py b/schedule_twitter_jobs.py index 2971772..55e018e 100644 --- a/schedule_twitter_jobs.py +++ b/schedule_twitter_jobs.py @@ -119,11 +119,11 @@ def main(): repeat=None, result_ttl = ttl, timeout = timeout) - elif args.function =="fetch_twitter_tweets": + elif args.function =="fetch_twitter_tweets": scheduler.schedule( scheduled_time=datetime.utcnow(), func=app.controller.fetch_twitter_tweets, - args=[args.statuses_backfill], + args=[args.statuses_backfill, datetime.utcnow()], interval=int(args.interval), repeat=None, result_ttl = ttl, diff --git a/tests/test_twitter.py b/tests/test_twitter.py index eb7bc13..ab9fa6d 100644 --- a/tests/test_twitter.py +++ b/tests/test_twitter.py @@ -64,7 +64,7 @@ def populate_notice_users(): def test_archive_twitter_new_users(mock_twitter, populate_notice_users): log.info("STARTING test_archive_twitter_new_users") t = mock_twitter.return_value - before_creation = datetime.datetime.now() + before_creation = datetime.datetime.utcnow() sleep(2) with open("{script_dir}/fixture_data/anon_users_lookup_0.json".format(script_dir=TEST_DIR)) as f: @@ -85,7 +85,7 @@ def test_archive_twitter_new_users(mock_twitter, populate_notice_users): assert False # expected query_and_archive_new_users to throw test_exception sleep(2) - expiration = datetime.datetime.now() + datetime.timedelta(minutes=60 * 24) # one day lease + expiration = datetime.datetime.utcnow() + datetime.timedelta(minutes=60 * 24) # one day lease ratestates = db_session.query(TwitterRateState).filter(TwitterRateState.endpoint == '/users/lookup').all() for ratestate in ratestates: @@ -146,7 +146,8 @@ def mocked_GetUserTimeline(user_id, count=None, max_id=None): try: - t_controller.query_and_archive_tweets(backfill=True, is_test=True, test_exception=True) + t_controller.query_and_archive_tweets(backfill=True, fill_start_time=datetime.datetime.utcnow(), + is_test=True, test_exception=True) # t_controller.with_user_records_archive_tweets(user_records, backfill=True, is_test=True) except Exception as e: log.info('Exception was {0}'.format(e)) @@ -160,7 +161,8 @@ def mocked_GetUserTimeline(user_id, count=None, max_id=None): assert False # expected query_and_archive_new_users to throw test_exception # now test that last_attempted_process exists and is in the past. - after_all_attempted_process = datetime.datetime.now() + sleep(2) + after_all_attempted_process = datetime.datetime.utcnow() for user_record in user_records: assert user_record.last_attempted_process is not None assert user_record.last_attempted_process < after_all_attempted_process diff --git a/tests/test_twitter_connect.py b/tests/test_twitter_connect.py index dbd56ce..8cbfc40 100644 --- a/tests/test_twitter_connect.py +++ b/tests/test_twitter_connect.py @@ -80,7 +80,7 @@ def test_twitter_connect_friends(mock_twitter): def test_exception_retry(mock_rate_limit, mock_twitter): # TODO: In the unlikelihood that a VERY slow machine is running these tests # you can increase the timedelta here and below to microseconds=500 - reset_time = (datetime.datetime.now() + datetime.timedelta(seconds=3)) + reset_time = (datetime.datetime.utcnow() + datetime.timedelta(seconds=3)) mock_rate_limit.resources = {"getfriends": {"/friends/list": { "reset": time.mktime(reset_time.timetuple()), "remaining": 0, @@ -133,14 +133,14 @@ def test_exception_retry(mock_rate_limit, mock_twitter): t.GetFriends.side_effect = [twitter.error.TwitterError([{'code': 88, 'message': 'Rate limit exceeded'}]), friend_accounts] mock_rate_limit.resources = {"getfriends": {"/friends/list": { - "reset": time.mktime((datetime.datetime.now() + datetime.timedelta(seconds=6)).timetuple()), + "reset": time.mktime((datetime.datetime.utcnow() + datetime.timedelta(seconds=6)).timetuple()), "remaining": 0, "limit": 15}}} t.rate_limit = mock_rate_limit # assert we're still on key 2 assert conn.endpoint_tokens[conn.curr_endpoint].user_id == 2 - # # assert (reset_time - datetime.datetime.now()).total_seconds() > 0 + # # assert (reset_time - datetime.datetime.utcnow()).total_seconds() > 0 # # make GetFriends run twice again, the first time erroring -- triggering a retry friends = conn.query(conn.api.GetFriends) # assert the right result came back @@ -150,7 +150,7 @@ def test_exception_retry(mock_rate_limit, mock_twitter): assert conn.endpoint_tokens[conn.curr_endpoint].user_id == 1 # assert that the reset time is in the past which means we waited long enough # why not check less than 0, not 1. I find that because of the timestamp resolution it's not quite right. - assert (reset_time - datetime.datetime.now()).total_seconds() < 1.0 + assert (reset_time - datetime.datetime.utcnow()).total_seconds() < 1.0 @patch('twitter.Api', autospec=True) @@ -158,12 +158,12 @@ def test_exception_retry(mock_rate_limit, mock_twitter): def test_release_verify_credential_endpoint(mock_rate_limit, mock_twitter): """The `verify_credentials` endpoint shouldn't ever be checked_out apart from a very small time""" - before_creation = datetime.datetime.now() + before_creation = datetime.datetime.utcnow() time.sleep(1.5) conn = app.connections.twitter_connect.TwitterConnect(log, db_session) ratestates = db_session.query(TwitterRateState).filter(TwitterRateState.endpoint == '/account/verify_credentials') time.sleep(1.5) - expiration = datetime.datetime.now() + expiration = datetime.datetime.utcnow() for ratestate in ratestates: assert ratestate.checkin_due > before_creation @@ -172,7 +172,7 @@ def test_release_verify_credential_endpoint(mock_rate_limit, mock_twitter): def recovery_after_error(mock_rate_limit, mock_twitter, error_to_test): '''Higher level funciton to return a function that tests an error code.''' - reset_time = (datetime.datetime.now() + datetime.timedelta(seconds=3)) + reset_time = (datetime.datetime.utcnow() + datetime.timedelta(seconds=3)) mock_rate_limit.resources = {"getfriends": {"/friends/list": { "reset": time.mktime(reset_time.timetuple()), "remaining": 0, diff --git a/utils/common.py b/utils/common.py index 7f28fef..10d6368 100644 --- a/utils/common.py +++ b/utils/common.py @@ -1,4 +1,6 @@ from enum import Enum +from operator import eq, not_ + import simplejson as json from collections import namedtuple import datetime @@ -158,3 +160,13 @@ def __str__(self): def time_since_epoch_ms(dt): epoch = datetime.datetime.utcfromtimestamp(0) return int((dt - epoch).total_seconds() * 1000.0) + + +def neq(x, y): + """ + implementation of not equals for SQLalchemy ORM + :param sqlalchemy column: + :param sqlalchemy column: + :return not-equals x, y: + """ + return not_(eq(x, y)) From 0f51c14c191732a3285375da02168d6f434a8576 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Thu, 23 Aug 2018 12:14:49 -0700 Subject: [PATCH 079/221] connect needs to reraise errors introduce new query looping style --- app/connections/twitter_connect.py | 7 ++++--- app/controllers/twitter_controller.py | 10 +++++----- tests/test_twitter.py | 13 +++++++------ 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/app/connections/twitter_connect.py b/app/connections/twitter_connect.py index 50c99b8..0d8d196 100644 --- a/app/connections/twitter_connect.py +++ b/app/connections/twitter_connect.py @@ -387,7 +387,6 @@ def query(self, method, *args, **kwargs): else: self.log.info('Twitter Query encountered a twitter error without a message list') raise - # if we got an error message handle it via message text (could have been error code too) if err_msg == 'Rate limit exceeded': # special procedure for rate limit @@ -402,5 +401,7 @@ def query(self, method, *args, **kwargs): elif err_msg == 'Internal error': return self.constant_wait_sleep_and_recurse(err_msg, method, *args, **kwargs) else: - self.log.error( - 'Twitter Query encountered twitter error with no handler yet: {0}'.format(twiterr)) + raise twiterr + # self.log.error( + # 'Twitter Query encountered twitter error with no handler yet: {0}'.format(twiterr)) + diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 059f4f9..75e7b7d 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -340,6 +340,7 @@ def is_user_suspended_or_deleted(self, username): user_state = TwitterUserState.NOT_FOUND try: user = self.t.query(self.t.api.GetUser, screen_name=username) + user_state = TwitterUserState.FOUND except twitter.error.TwitterError as e: self.t.try_counter = 0 ## this line prevents the retry code from looping if e.message[0]['code'] == 50 and e.message[0]['message'] == 'User not found.': @@ -404,7 +405,6 @@ def query_and_archive_user_snapshots_and_tweets(self, min_time, is_test=False): def archive_old_users(self, key_to_users, has_ids=True): """ - key_to_users = {user id (if has_ids is True) OR username (if has_ids is False): TwitterUser} we send {id: TwitterUser} if the user has an actual twitter id (the user is FOUND or PROTECTED) @@ -564,13 +564,12 @@ def archive_old_users(self, key_to_users, has_ids=True): ################### ARCHIVE TWEET CODE ######################################################### - def query_and_archive_tweets(self, backfill=False, fill_start_time=None, order="ASC", test_exception=False, - is_test=False): + def query_and_archive_tweets(self, backfill=False, fill_start_time=None, batch_size=100, + order="ASC", test_exception=False, is_test=False): order_strat_map = {'ASC': TwitterUser.record_created_at.asc(), 'DESC': TwitterUser.record_created_at.desc()} order_strat = order_strat_map[order] neq_or_eq = neq if backfill else eq - batch_size = 100 all_filled = False # this flag gets set to True when we find no more users to fill # in a loop, until all_filled, get a batch and process the last_attempt_process state along with @@ -582,7 +581,8 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, order=" neq_or_eq(TwitterUser.CS_oldest_tweets_archived, CS_JobState.PROCESSED.value), or_(TwitterUser.lang.in_(["en", "en-gb"]), TwitterUser.lang is None) )). \ - filter(TwitterUser.last_attempted_process < fill_start_time). \ + filter(or_(TwitterUser.last_attempted_process < fill_start_time, + TwitterUser.last_attempted_process is None)). \ order_by(order_strat). \ with_for_update(). \ limit(batch_size). \ diff --git a/tests/test_twitter.py b/tests/test_twitter.py index ab9fa6d..0779abe 100644 --- a/tests/test_twitter.py +++ b/tests/test_twitter.py @@ -131,8 +131,7 @@ def mocked_GetUserTimeline(user_id, count=None, max_id=None): {"status_count": 0, "user_state": TwitterUserState.PROTECTED.value}) ] - user_records = [] - for i, (user, result) in enumerate(user_results): + for (user, result) in user_results: # need to create TwitterUser records first user_record = TwitterUser( id=user["id"], @@ -142,12 +141,13 @@ def mocked_GetUserTimeline(user_id, count=None, max_id=None): ) db_session.add(user_record) db_session.commit() - user_records.append(user_record) + + sleep(2) try: t_controller.query_and_archive_tweets(backfill=True, fill_start_time=datetime.datetime.utcnow(), - is_test=True, test_exception=True) + is_test=True, test_exception=True, batch_size=100) # t_controller.with_user_records_archive_tweets(user_records, backfill=True, is_test=True) except Exception as e: log.info('Exception was {0}'.format(e)) @@ -155,8 +155,9 @@ def mocked_GetUserTimeline(user_id, count=None, max_id=None): for user_record in user_records: # assert that nothing is in progress assert user_record.CS_oldest_tweets_archived != CS_JobState.IN_PROGRESS.value - # assert that at least one item has been processed - assert len([x for x in user_records if x.CS_oldest_tweets_archived == CS_JobState.PROCESSED.value]) > 0 + if user_record.id == "2": + assert user_record.CS_oldest_tweets_archived == CS_JobState.PROCESSED.value + log.info('Userid {0} has oldtweetarchived {1}'.format(user_record.id, user_record.CS_oldest_tweets_archived)) else: assert False # expected query_and_archive_new_users to throw test_exception From 27d71b9e7adca5189678ced297c0492645a519aa Mon Sep 17 00:00:00 2001 From: Max Klein Date: Thu, 23 Aug 2018 12:26:08 -0700 Subject: [PATCH 080/221] connect needs to reraise errors introduce new query looping style --- alembic/versions/ebc68b1d529f_.py | 56 +++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 alembic/versions/ebc68b1d529f_.py diff --git a/alembic/versions/ebc68b1d529f_.py b/alembic/versions/ebc68b1d529f_.py new file mode 100644 index 0000000..2278e8d --- /dev/null +++ b/alembic/versions/ebc68b1d529f_.py @@ -0,0 +1,56 @@ +"""empty message + +Revision ID: ebc68b1d529f +Revises: 651c00637cc4 +Create Date: 2018-08-21 10:45:47.518452 + +""" + +# revision identifiers, used by Alembic. +revision = 'ebc68b1d529f' +down_revision = '651c00637cc4' +branch_labels = None +depends_on = None + +from alembic import op +import sqlalchemy as sa + + +def upgrade(engine_name): + globals()["upgrade_%s" % engine_name]() + + +def downgrade(engine_name): + globals()["downgrade_%s" % engine_name]() + + + + + +def upgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.add_column('twitter_users', sa.Column('last_attempted_process', sa.DateTime(), nullable=True)) + # ### end Alembic commands ### + + +def downgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_column('twitter_users', 'last_attempted_process') + # ### end Alembic commands ### + + +def upgrade_test(): + pass + + +def downgrade_test(): + pass + + +def upgrade_production(): + pass + + +def downgrade_production(): + pass + From b35dfe5e1ad25065500ecc2244e21acffc244172 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Thu, 23 Aug 2018 12:42:54 -0700 Subject: [PATCH 081/221] fix alembic snafu --- ...f5_add_last_processed_to_twitter_users.py} | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) rename alembic/versions/{ebc68b1d529f_.py => 4a4bfc2ce8f5_add_last_processed_to_twitter_users.py} (50%) diff --git a/alembic/versions/ebc68b1d529f_.py b/alembic/versions/4a4bfc2ce8f5_add_last_processed_to_twitter_users.py similarity index 50% rename from alembic/versions/ebc68b1d529f_.py rename to alembic/versions/4a4bfc2ce8f5_add_last_processed_to_twitter_users.py index 2278e8d..eccf318 100644 --- a/alembic/versions/ebc68b1d529f_.py +++ b/alembic/versions/4a4bfc2ce8f5_add_last_processed_to_twitter_users.py @@ -1,13 +1,13 @@ -"""empty message +"""add last processed to twitter users -Revision ID: ebc68b1d529f +Revision ID: 4a4bfc2ce8f5 Revises: 651c00637cc4 -Create Date: 2018-08-21 10:45:47.518452 +Create Date: 2018-08-23 12:40:54.429185 """ # revision identifiers, used by Alembic. -revision = 'ebc68b1d529f' +revision = '4a4bfc2ce8f5' down_revision = '651c00637cc4' branch_labels = None depends_on = None @@ -40,17 +40,25 @@ def downgrade_development(): def upgrade_test(): - pass + # ### commands auto generated by Alembic - please adjust! ### + op.add_column('twitter_users', sa.Column('last_attempted_process', sa.DateTime(), nullable=True)) + # ### end Alembic commands ### def downgrade_test(): - pass + # ### commands auto generated by Alembic - please adjust! ### + op.drop_column('twitter_users', 'last_attempted_process') + # ### end Alembic commands ### def upgrade_production(): - pass + # ### commands auto generated by Alembic - please adjust! ### + op.add_column('twitter_users', sa.Column('last_attempted_process', sa.DateTime(), nullable=True)) + # ### end Alembic commands ### def downgrade_production(): - pass + # ### commands auto generated by Alembic - please adjust! ### + op.drop_column('twitter_users', 'last_attempted_process') + # ### end Alembic commands ### From 10fd6f924dd3517f831cca8aac1a453cb52c035b Mon Sep 17 00:00:00 2001 From: Max Klein Date: Thu, 23 Aug 2018 16:50:26 -0700 Subject: [PATCH 082/221] remove frontfilling from snapshotting create n_tasks option in schedule script --- app/controllers/twitter_controller.py | 16 ++++++++-------- schedule_twitter_jobs.py | 14 ++++++++++++-- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 75e7b7d..c6b59cf 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -398,10 +398,11 @@ def query_and_archive_user_snapshots_and_tweets(self, min_time, is_test=False): # store new tweets for users with found id and CS_oldest_tweets_archived = PROCESSED # (if a user doesn't have a found id, then it is either deleted (NOT_FOUND) or suspended (SUSPENDED). # in both cases, we will not find tweets) - need_new_tweets_users = [u for u in need_snapshot_users if - u.CS_oldest_tweets_archived == CS_JobState.PROCESSED.value and utils.common.NOT_FOUND_TWITTER_USER_STR not in u.id] - self.log.info("Need to get new tweets for {0} users".format(len(need_new_tweets_users))) - self.with_user_records_archive_tweets(need_new_tweets_users, is_test) # TwitterUsers + # Max: I believe this stop is not necessary any more because it will be done by query_and_archive_tweets(frontfill) + # need_new_tweets_users = [u for u in need_snapshot_users if + # u.CS_oldest_tweets_archived == CS_JobState.PROCESSED.value and utils.common.NOT_FOUND_TWITTER_USER_STR not in u.id] + # self.log.info("Need to get new tweets for {0} users".format(len(need_new_tweets_users))) + # self.with_user_records_archive_tweets(need_new_tweets_users, is_test) # TwitterUsers def archive_old_users(self, key_to_users, has_ids=True): """ @@ -579,10 +580,9 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, batch_s unarchived_users = self.db_session.query(TwitterUser). \ filter(and_( neq_or_eq(TwitterUser.CS_oldest_tweets_archived, CS_JobState.PROCESSED.value), - or_(TwitterUser.lang.in_(["en", "en-gb"]), TwitterUser.lang is None) - )). \ - filter(or_(TwitterUser.last_attempted_process < fill_start_time, - TwitterUser.last_attempted_process is None)). \ + or_(TwitterUser.lang.in_(["en", "en-gb"]), TwitterUser.lang is None), + or_(TwitterUser.last_attempted_process < fill_start_time, + TwitterUser.last_attempted_process is None))). \ order_by(order_strat). \ with_for_update(). \ limit(batch_size). \ diff --git a/schedule_twitter_jobs.py b/schedule_twitter_jobs.py index 55e018e..b26fb03 100644 --- a/schedule_twitter_jobs.py +++ b/schedule_twitter_jobs.py @@ -66,6 +66,14 @@ def main(): required = False, help="Run within a specific queue. Otherwise run under the environment defined in the environment variable CS_ENV") + parser.add_argument("--n_tasks", + required = False, + default= 1, + help="Number of concurrent tasks. Currently only supports fetch_twitter_tweets.") + + + + args = parser.parse_args() # if the user specified the environment, set it here @@ -120,10 +128,12 @@ def main(): result_ttl = ttl, timeout = timeout) elif args.function =="fetch_twitter_tweets": - scheduler.schedule( + fill_start_time = datetime.utcnow() + for task in range(args.n_tasks): + scheduler.schedule( scheduled_time=datetime.utcnow(), func=app.controller.fetch_twitter_tweets, - args=[args.statuses_backfill, datetime.utcnow()], + args=[args.statuses_backfill, fill_start_time], interval=int(args.interval), repeat=None, result_ttl = ttl, From c2aeea1c1bc67ab7495c3d6b4d5ad7d5950b2355 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Thu, 23 Aug 2018 16:50:26 -0700 Subject: [PATCH 083/221] forgot type int --- app/controllers/twitter_controller.py | 16 ++++++++-------- schedule_twitter_jobs.py | 13 +++++++++++-- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 75e7b7d..c6b59cf 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -398,10 +398,11 @@ def query_and_archive_user_snapshots_and_tweets(self, min_time, is_test=False): # store new tweets for users with found id and CS_oldest_tweets_archived = PROCESSED # (if a user doesn't have a found id, then it is either deleted (NOT_FOUND) or suspended (SUSPENDED). # in both cases, we will not find tweets) - need_new_tweets_users = [u for u in need_snapshot_users if - u.CS_oldest_tweets_archived == CS_JobState.PROCESSED.value and utils.common.NOT_FOUND_TWITTER_USER_STR not in u.id] - self.log.info("Need to get new tweets for {0} users".format(len(need_new_tweets_users))) - self.with_user_records_archive_tweets(need_new_tweets_users, is_test) # TwitterUsers + # Max: I believe this stop is not necessary any more because it will be done by query_and_archive_tweets(frontfill) + # need_new_tweets_users = [u for u in need_snapshot_users if + # u.CS_oldest_tweets_archived == CS_JobState.PROCESSED.value and utils.common.NOT_FOUND_TWITTER_USER_STR not in u.id] + # self.log.info("Need to get new tweets for {0} users".format(len(need_new_tweets_users))) + # self.with_user_records_archive_tweets(need_new_tweets_users, is_test) # TwitterUsers def archive_old_users(self, key_to_users, has_ids=True): """ @@ -579,10 +580,9 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, batch_s unarchived_users = self.db_session.query(TwitterUser). \ filter(and_( neq_or_eq(TwitterUser.CS_oldest_tweets_archived, CS_JobState.PROCESSED.value), - or_(TwitterUser.lang.in_(["en", "en-gb"]), TwitterUser.lang is None) - )). \ - filter(or_(TwitterUser.last_attempted_process < fill_start_time, - TwitterUser.last_attempted_process is None)). \ + or_(TwitterUser.lang.in_(["en", "en-gb"]), TwitterUser.lang is None), + or_(TwitterUser.last_attempted_process < fill_start_time, + TwitterUser.last_attempted_process is None))). \ order_by(order_strat). \ with_for_update(). \ limit(batch_size). \ diff --git a/schedule_twitter_jobs.py b/schedule_twitter_jobs.py index 55e018e..c4e1ccd 100644 --- a/schedule_twitter_jobs.py +++ b/schedule_twitter_jobs.py @@ -66,6 +66,13 @@ def main(): required = False, help="Run within a specific queue. Otherwise run under the environment defined in the environment variable CS_ENV") + parser.add_argument("--n_tasks", + required = False, + default= 1, + type=int, + help="Number of concurrent tasks. Currently only supports fetch_twitter_tweets.") + + args = parser.parse_args() # if the user specified the environment, set it here @@ -120,10 +127,12 @@ def main(): result_ttl = ttl, timeout = timeout) elif args.function =="fetch_twitter_tweets": - scheduler.schedule( + fill_start_time = datetime.utcnow() + for task in range(args.n_tasks): + scheduler.schedule( scheduled_time=datetime.utcnow(), func=app.controller.fetch_twitter_tweets, - args=[args.statuses_backfill, datetime.utcnow()], + args=[args.statuses_backfill, fill_start_time], interval=int(args.interval), repeat=None, result_ttl = ttl, From 09d4daa01dea655970f0d2bc8b91594f7b6b82f6 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Mon, 27 Aug 2018 15:47:05 -0700 Subject: [PATCH 084/221] concurrent fetch tweets and a CLI for starting and stopping everything --- dmca-cmd.sh | 72 +++++++++++++++++++ schedule_twitter_jobs.py | 145 +++++++++++++++++++++------------------ 2 files changed, 152 insertions(+), 65 deletions(-) create mode 100755 dmca-cmd.sh diff --git a/dmca-cmd.sh b/dmca-cmd.sh new file mode 100755 index 0000000..2841ff1 --- /dev/null +++ b/dmca-cmd.sh @@ -0,0 +1,72 @@ +#!/usr/bin/env bash + +start_standard(){ +### Fetch lumen notices every 3 hours +# TODO make this variable with n-tasks + +echo "launch workers" +rqscheduler & +rqworker $CS_ENV & +rqworker $CS_ENV"_concurrent" & +rqworker $CS_ENV"_concurrent" & + +echo "Fetch lumen notices every 3 hours" +python schedule_twitter_jobs.py --function fetch_lumen_notices --lumen_delta_days 2 --interval 10800 + +## Parse lumen notices for twitter accounts: every 3 hours +echo "Parse lumen notices for twitter accounts: every 3 hours" +python schedule_twitter_jobs.py --function parse_lumen_notices_for_twitter_accounts --interval 10800 + +## Fetch Twitter Users: every 3 hours +## Fetch Twitter Users: every 3 hours +python schedule_twitter_jobs.py --function fetch_twitter_users --interval 10800 + +# Backfill Twitter tweets: Every 12 hours +echo "Backfill Twitter tweets: Every 12 hours" +python schedule_twitter_jobs.py --function fetch_twitter_tweets --statuses_backfill --interval 43200 + +# Fetch Twitter Tweets: Every twenty-four hours (once a day) +echo "Fetch Twitter Tweets: Every twenty-four hours (once a day)" +python schedule_twitter_jobs.py --function fetch_twitter_tweets --interval 86400 --n_tasks 2 + +## Fetch Twitter Account Snapshots & Tweet Counts: every 24 hours, get new snapshots for users who haven't had a snapshot in the last 23.3 hours +echo "Fetch Twitter Account Snapshots & Tweet Counts: every 24 hours, get new snapshots for users who haven't had a snapshot in the last 23.3 hours" +python schedule_twitter_jobs.py --function fetch_twitter_snapshot_and_tweets --snapshot_delta_min 1400 --interval 86400 + +python manage_scheduled_jobs.py show all + +} + +stop_all(){ +python manage_scheduled_jobs.py purge all +rq empty -a +killall rqworker +killall rqscheduler +} + +if [ -z $CS_ENV ] + then + echo "CS_ENV not defined, quitting." + exit 1 +fi + +echo "Running with CS_ENV=$CS_ENV" + +if [ $1 = "start" ] + then + echo "starting" + start_standard +fi + +if [ $1 = "stop" ] + then + echo "stopping" + stop_all +fi + +if [ $1 = "restart" ] + then + echo "restarting" + stop_all + start_standard +fi diff --git a/schedule_twitter_jobs.py b/schedule_twitter_jobs.py index c4e1ccd..9630b45 100644 --- a/schedule_twitter_jobs.py +++ b/schedule_twitter_jobs.py @@ -2,11 +2,12 @@ from rq_scheduler import Scheduler from datetime import datetime import app.controller -import os,argparse +import os, argparse +import schedule_twitter_jobs from utils.common import PageType -#documentation at -#https://github.com/ui/rq-scheduler +# documentation at +# https://github.com/ui/rq-scheduler """ @@ -32,111 +33,125 @@ def main(): parser = argparse.ArgumentParser() parser.add_argument("--function", - required = True, - choices=["fetch_lumen_notices", "parse_lumen_notices_for_twitter_accounts", "fetch_twitter_users", "fetch_twitter_snapshot_and_tweets", "fetch_twitter_tweets"], + required=True, + choices=["fetch_lumen_notices", "parse_lumen_notices_for_twitter_accounts", + "fetch_twitter_users", "fetch_twitter_snapshot_and_tweets", "fetch_twitter_tweets"], help="The controller function to call.") parser.add_argument("--lumen_delta_days", - required = False, - default= None, + required=False, + default=None, help="For fetch_lumen_notices; fetch all notices received more than lumen_delta_days (in days) ago .") parser.add_argument("--snapshot_delta_min", - required = False, - default= None, + required=False, + default=None, help="For fetch_twitter_snapshot_and_tweets; for all users older than snapshot_delta_min (in minutes), need to fetch new snapshots.") parser.add_argument("--statuses_backfill", - required = False, - default= None, + required=False, + default=None, action='store_true', help="For fetch_twitter_tweets; if backfill, finds tweetes for all twitter users, disregarding TwitterUser.CS_oldest_tweets_archived job state.") parser.add_argument("--interval", - default = 3600, # default 60 min = 60*60 = 3600 seconds + default=3600, # default 60 min = 60*60 = 3600 seconds help="Interval (in seconds) between tasks in seconds (default 60 seconds)") parser.add_argument("-e", '--env', choices=['development', 'test', 'production'], - required = False, + required=False, help="Run within a specific environment. Otherwise run under the environment defined in the environment variable CS_ENV") parser.add_argument("-q", '--queue', choices=['development', 'test', 'production', 'production2'], - required = False, + required=False, help="Run within a specific queue. Otherwise run under the environment defined in the environment variable CS_ENV") parser.add_argument("--n_tasks", - required = False, - default= 1, + required=False, + default=1, type=int, help="Number of concurrent tasks. Currently only supports fetch_twitter_tweets.") - args = parser.parse_args() # if the user specified the environment, set it here - if args.env!=None: + if args.env != None: os.environ['CS_ENV'] = args.env - if args.queue!=None: + if args.queue != None: queue_name = args.queue + queue_name_concurrent = queue_name + '_concurrent' else: queue_name = os.environ['CS_ENV'] + queue_name_concurrent = queue_name + '_concurrent' - scheduler = Scheduler(queue_name = queue_name, connection=Redis()) + scheduler = Scheduler(queue_name=queue_name, connection=Redis()) - ttl = max(172800, int(args.interval) + 3600) # max of (2days in seconds, args.interval + 1 hr) - timeout = max(60*60*24, int(args.interval) + 300) # max of (3hrs in seconds, args.interval + 50min) + ttl = max(172800, int(args.interval) + 3600) # max of (2days in seconds, args.interval + 1 hr) + timeout = max(60 * 60 * 24, int(args.interval) + 300) # max of (3hrs in seconds, args.interval + 50min) - if args.function =="fetch_lumen_notices": + if args.function == "fetch_lumen_notices": + scheduler.schedule( + scheduled_time=datetime.utcnow(), + func=app.controller.fetch_lumen_notices, + args=[args.lumen_delta_days], + interval=int(args.interval), + repeat=None, + result_ttl=ttl, + timeout=timeout) + elif args.function == "parse_lumen_notices_for_twitter_accounts": scheduler.schedule( - scheduled_time=datetime.utcnow(), - func=app.controller.fetch_lumen_notices, - args=[args.lumen_delta_days], - interval=int(args.interval), - repeat=None, - result_ttl = ttl, - timeout = timeout) - elif args.function =="parse_lumen_notices_for_twitter_accounts": + scheduled_time=datetime.utcnow(), + func=app.controller.parse_lumen_notices_for_twitter_accounts, + args=[], + interval=int(args.interval), + repeat=None, + result_ttl=ttl, + timeout=timeout) + elif args.function == "fetch_twitter_users": scheduler.schedule( - scheduled_time=datetime.utcnow(), - func=app.controller.parse_lumen_notices_for_twitter_accounts, - args=[], - interval=int(args.interval), - repeat=None, - result_ttl = ttl, - timeout = timeout) - elif args.function =="fetch_twitter_users": + scheduled_time=datetime.utcnow(), + func=app.controller.fetch_twitter_users, + args=[], + interval=int(args.interval), + repeat=None, + result_ttl=ttl, + timeout=timeout) + elif args.function == "fetch_twitter_snapshot_and_tweets": scheduler.schedule( - scheduled_time=datetime.utcnow(), - func=app.controller.fetch_twitter_users, - args=[], - interval=int(args.interval), - repeat=None, - result_ttl = ttl, - timeout = timeout) - elif args.function =="fetch_twitter_snapshot_and_tweets": + scheduled_time=datetime.utcnow(), + func=app.controller.fetch_twitter_snapshot_and_tweets, + args=[args.snapshot_delta_min], + interval=int(args.interval), + repeat=None, + result_ttl=ttl, + timeout=timeout) + elif args.function == "fetch_twitter_tweets": scheduler.schedule( - scheduled_time=datetime.utcnow(), - func=app.controller.fetch_twitter_snapshot_and_tweets, - args=[args.snapshot_delta_min], - interval=int(args.interval), - repeat=None, - result_ttl = ttl, - timeout = timeout) - elif args.function =="fetch_twitter_tweets": - fill_start_time = datetime.utcnow() - for task in range(args.n_tasks): - scheduler.schedule( - scheduled_time=datetime.utcnow(), - func=app.controller.fetch_twitter_tweets, - args=[args.statuses_backfill, fill_start_time], - interval=int(args.interval), - repeat=None, - result_ttl = ttl, - timeout = timeout) + scheduled_time=datetime.utcnow(), + func=schedule_twitter_jobs.schedule_fetch_tweets, + args=(args, ttl, timeout, queue_name), + interval=int(args.interval), + repeat=None, + result_ttl=ttl, + timeout=timeout) + +def schedule_fetch_tweets(args, ttl, timeout, queue_name): + fill_start_time = datetime.utcnow() + scheduler_concurrent = Scheduler(queue_name=queue_name+'_concurrent', connection=Redis()) + for task in range(args.n_tasks): + scheduler_concurrent.schedule( + scheduled_time=datetime.utcnow(), + func=app.controller.fetch_twitter_tweets, + args=[args.statuses_backfill, fill_start_time], + interval=int(args.interval), + repeat=None, + result_ttl=ttl, + timeout=timeout) + if __name__ == '__main__': From b2eb016aebfc5f68e3c1d5fc91e6c5363f171824 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Mon, 27 Aug 2018 16:01:42 -0700 Subject: [PATCH 085/221] get CS_ENV out of script if not present --- dmca-cmd.sh | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/dmca-cmd.sh b/dmca-cmd.sh index 2841ff1..7dc8fed 100755 --- a/dmca-cmd.sh +++ b/dmca-cmd.sh @@ -46,8 +46,15 @@ killall rqscheduler if [ -z $CS_ENV ] then - echo "CS_ENV not defined, quitting." - exit 1 + echo "trying to source environment variables." + source config/environment_variables.sh + if [ -z $CS_ENV ] + then + echo "couldn't get CS_ENV out of the script, exting" + exit 1 + else + echo "Found CS_ENV from script" + fi fi echo "Running with CS_ENV=$CS_ENV" From c8c8a2d0b0d9d3b6ffc87fdb91e4d48f5b922a24 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Tue, 28 Aug 2018 09:30:29 -0700 Subject: [PATCH 086/221] get CS_ENV out of script if not present --- app/connections/twitter_connect.py | 6 +- utils/email_db_report.py | 208 ++++++++++++++++------------- 2 files changed, 118 insertions(+), 96 deletions(-) diff --git a/app/connections/twitter_connect.py b/app/connections/twitter_connect.py index 0d8d196..ace23ea 100644 --- a/app/connections/twitter_connect.py +++ b/app/connections/twitter_connect.py @@ -263,7 +263,7 @@ def select_available_token(self, endpoint, strategy='sequential'): 'This is a prebook situation, not available until seconds: {0}'.format(wait_before_return)) self.log.info('Prebook user_id is {0}'.format(prebook.user_id)) if not prebook: - # else we need to b) keep on waiting until we can checksomething out + # else we need to b) keep on waiting until we can check something out next_checkout = self.db_session.query(TwitterRateState) \ .filter(TwitterRateState.endpoint == endpoint) \ .order_by(TwitterRateState.checkin_due).first() @@ -278,7 +278,7 @@ def select_available_token(self, endpoint, strategy='sequential'): assert endpoint_select or prebook # either a token, or the prebook token_endpoint = endpoint_select if endpoint_select else prebook - token_endpoint.checkin_due = query_time + timedelta(minutes=60 * 24) # 1 day loan + token_endpoint.checkin_due = query_time + timedelta(minutes=10) # 10 minutes. self.db_session.add(token_endpoint) self.db_session.commit() self.log.debug("I think I committed the checkin_due update") @@ -287,7 +287,7 @@ def select_available_token(self, endpoint, strategy='sequential'): # class dictionary update self.endpoint_tokens[endpoint] = token self.curr_endpoint = endpoint - self.log.debug('wiating for {0}'.format(wait_before_return)) + self.log.debug('waiting for {0}'.format(wait_before_return)) sleep(wait_before_return) self.apply_token(endpoint) return True diff --git a/utils/email_db_report.py b/utils/email_db_report.py index ced239d..9dcf4bb 100644 --- a/utils/email_db_report.py +++ b/utils/email_db_report.py @@ -12,7 +12,7 @@ from utils.common import PageType, ThingType with open(os.path.join(BASE_DIR, "config") + "/{env}.json".format(env=ENV), "r") as config: - DBCONFIG = json.loads(config.read()) + DBCONFIG = json.loads(config.read()) ### LOAD SQLALCHEMY from sqlalchemy import create_engine @@ -20,18 +20,18 @@ from sqlalchemy import func db_engine = create_engine("mysql://{user}:{password}@{host}/{database}".format( - host = DBCONFIG['host'], - user = DBCONFIG['user'], - password = DBCONFIG['password'], - database = DBCONFIG['database'])) + host=DBCONFIG['host'], + user=DBCONFIG['user'], + password=DBCONFIG['password'], + database=DBCONFIG['database'])) DBSession = sessionmaker(bind=db_engine) db_session = DBSession() ### FILTER OUT DEPRECATION WARNINGS ASSOCIATED WITH DECORATORS # https://github.com/ipython/ipython/issues/9242 import warnings -warnings.filterwarnings('ignore', category=DeprecationWarning, message='.*use @default decorator instead.*') +warnings.filterwarnings('ignore', category=DeprecationWarning, message='.*use @default decorator instead.*') ##################################################### @@ -40,14 +40,17 @@ DATE_FORMAT_SEC = "%Y-%m-%d %H:%M:%S" DATE_FORMAT_DAY = "%Y-%m-%d" + def date_to_str(date, by_day=True): date_format = DATE_FORMAT_DAY if by_day else DATE_FORMAT_SEC return date.strftime(date_format) + def str_to_date(date_str, by_day=True): date_format = DATE_FORMAT_DAY if by_day else DATE_FORMAT_SEC return datetime.datetime.strptime(date_str, date_format) + def run_query_for_days(query_str, today, days=7): today_str = date_to_str(today, by_day=False) last_week = today - datetime.timedelta(days=days) @@ -55,24 +58,27 @@ def run_query_for_days(query_str, today, days=7): result = db_session.execute(query_str, {"from_date": last_week_str, "to_date": today_str}).fetchall() return result + def transform_result_to_dict(result): type_to_date_to_val = {} for row in result: (this_type, year, month, day, count) = row date = str_to_date("{0}-{1}-{2}".format(year, month, day)) - + if this_type not in type_to_date_to_val: type_to_date_to_val[this_type] = {} type_to_date_to_val[this_type][date] = count return type_to_date_to_val - + + def generate_html_table(result, today, title): - d = transform_result_to_dict(result) + d = transform_result_to_dict(result) return generate_html_table_from_dict(d, today, title) - -def generate_html_table_from_dict(type_to_date_to_val, today, title): - days_str = [date_to_str(today - datetime.timedelta(days=i)) for i in range(0,7)] - days = [str_to_date(d) for d in days_str] # to make everything 00:00:00 + + +def generate_html_table_from_dict(type_to_date_to_val, today, title): + days_str = [date_to_str(today - datetime.timedelta(days=i)) for i in range(0, 7)] + days = [str_to_date(d) for d in days_str] # to make everything 00:00:00 past_days = days[1:] html = """ @@ -86,10 +92,11 @@ def generate_html_table_from_dict(type_to_date_to_val, today, title): {5} {6} """.format(*days_str, title) - + for type in sorted(type_to_date_to_val.keys()): this_data = type_to_date_to_val[type] - past_mean = round(sum([this_data[d] if d in this_data else 0 for d in past_days ]) / len(past_days) if len(past_days) > 0 else 0, 2) + past_mean = round(sum([this_data[d] if d in this_data else 0 for d in past_days]) / len(past_days) if len( + past_days) > 0 else 0, 2) html += """ @@ -103,10 +110,10 @@ def generate_html_table_from_dict(type_to_date_to_val, today, title): {7} {8} """.format(type, - (this_data[days[0]] if days[0] in this_data else 0), + (this_data[days[0]] if days[0] in this_data else 0), past_mean, *[this_data[d] if d in this_data else 0 for d in past_days]) - + return html @@ -114,7 +121,17 @@ def send_db_report(date, html): with open(os.path.join(BASE_DIR, "config") + "/email_db_report.json".format(env=ENV), "r") as f: email_config = json.loads(f.read()) subject = "CivilServant Database Report: {0}".format(date_to_str(date)) - send_email(email_config["fromaddr"], email_config["toaddrs"], subject, html) + save_report_locally(date, html) + try: + send_email(email_config["fromaddr"], email_config["toaddrs"], subject, html) + except ConnectionRefusedError: + print('It looks like you cant SMTP from this machine' ) + + +def save_report_locally(date, html): + with open(os.path.join(BASE_DIR, 'logs', 'DB report{}.html'.format(date)), 'w') as outf: + outf.write(html) + def send_email(fromaddr, toaddrs, subject, html): import smtplib @@ -143,21 +160,21 @@ def send_email(fromaddr, toaddrs, subject, html): ###################################################################### def generate_reddit_front_page(today=datetime.datetime.utcnow(), days=7, html=True): - #query_str = "SELECT min(created_at), max(created_at) FROM front_pages" - #result = db_session.execute(query_str).fetchall() - #print(result) - + # query_str = "SELECT min(created_at), max(created_at) FROM front_pages" + # result = db_session.execute(query_str).fetchall() + # print(result) + query_str = """ SELECT page_type, YEAR(created_at), MONTH(created_at), DAY(created_at), count(*) FROM front_pages WHERE created_at <= :to_date and created_at >= :from_date GROUP BY page_type, YEAR(created_at), MONTH(created_at), DAY(created_at)""" result = run_query_for_days(query_str, today, days=days) - result = [(PageType(a).name, b, c, d, e) for (a,b,c,d,e) in result] + result = [(PageType(a).name, b, c, d, e) for (a, b, c, d, e) in result] if not html: return result - return generate_html_table(result, - str_to_date(date_to_str(today)), - "New FrontPage count, by pagetype") # to make everything 00:00:00 + return generate_html_table(result, + str_to_date(date_to_str(today)), + "New FrontPage count, by pagetype") # to make everything 00:00:00 def generate_reddit_subreddit_page(today=datetime.datetime.utcnow(), days=7, html=True): @@ -168,12 +185,12 @@ def generate_reddit_subreddit_page(today=datetime.datetime.utcnow(), days=7, htm WHERE srp.created_at <= :to_date and srp.created_at >= :from_date GROUP BY sr.name, srp.page_type, YEAR(srp.created_at), MONTH(srp.created_at), DAY(srp.created_at)""" result = run_query_for_days(query_str, today, days=days) - result = [("({0}, {1})".format(a, PageType(b).name), c, d, e, f) for (a,b,c,d,e,f) in result] + result = [("({0}, {1})".format(a, PageType(b).name), c, d, e, f) for (a, b, c, d, e, f) in result] if not html: return result - return generate_html_table(result, - str_to_date(date_to_str(today)), - "New SubredditPage count, by (subreddit, pagetype)") # to make everything 00:00:00 + return generate_html_table(result, + str_to_date(date_to_str(today)), + "New SubredditPage count, by (subreddit, pagetype)") # to make everything 00:00:00 def generate_reddit_subreddit(today=datetime.datetime.utcnow(), days=7, html=True): @@ -184,9 +201,10 @@ def generate_reddit_subreddit(today=datetime.datetime.utcnow(), days=7, html=Tru result = run_query_for_days(query_str, today, days=days) if not html: return result - return generate_html_table(result, - str_to_date(date_to_str(today)), - "New Subreddit count") # to make everything 00:00:00 + return generate_html_table(result, + str_to_date(date_to_str(today)), + "New Subreddit count") # to make everything 00:00:00 + def generate_reddit_post(today=datetime.datetime.utcnow(), days=7, html=True): query_str = """ @@ -198,9 +216,10 @@ def generate_reddit_post(today=datetime.datetime.utcnow(), days=7, html=True): result = run_query_for_days(query_str, today, days=days) if not html: return result - return generate_html_table(result, - str_to_date(date_to_str(today)), - "New Post count, by subreddit") # to make everything 00:00:00 + return generate_html_table(result, + str_to_date(date_to_str(today)), + "New Post count, by subreddit") # to make everything 00:00:00 + def generate_reddit_comment(today=datetime.datetime.utcnow(), days=7, html=True): query_str = """ @@ -212,9 +231,9 @@ def generate_reddit_comment(today=datetime.datetime.utcnow(), days=7, html=True) result = run_query_for_days(query_str, today, days=days) if not html: return result - return generate_html_table(result, - str_to_date(date_to_str(today)), - "New Comment count, by subreddit") # to make everything 00:00:00 + return generate_html_table(result, + str_to_date(date_to_str(today)), + "New Comment count, by subreddit") # to make everything 00:00:00 def generate_reddit_user(today=datetime.datetime.utcnow(), days=7, html=True): @@ -225,9 +244,10 @@ def generate_reddit_user(today=datetime.datetime.utcnow(), days=7, html=True): result = run_query_for_days(query_str, today, days=days) if not html: return result - return generate_html_table(result, - str_to_date(date_to_str(today)), - "New User count") # to make everything 00:00:00 + return generate_html_table(result, + str_to_date(date_to_str(today)), + "New User count") # to make everything 00:00:00 + def generate_reddit_mod_action(today=datetime.datetime.utcnow(), days=7, html=True): query_str = """ @@ -239,11 +259,9 @@ def generate_reddit_mod_action(today=datetime.datetime.utcnow(), days=7, html=Tr result = run_query_for_days(query_str, today, days=days) if not html: return result - return generate_html_table(result, - str_to_date(date_to_str(today)), - "New Mod actions count") # to make everything 00:00:00 - - + return generate_html_table(result, + str_to_date(date_to_str(today)), + "New Mod actions count") # to make everything 00:00:00 ###################################################################### @@ -251,7 +269,6 @@ def generate_reddit_mod_action(today=datetime.datetime.utcnow(), days=7, html=Tr ###################################################################### - # queries for Lumen, Twitter... def generate_lumen_notices(today=datetime.datetime.utcnow(), days=7, html=True, label="Lumen Notices"): @@ -263,9 +280,11 @@ def generate_lumen_notices(today=datetime.datetime.utcnow(), days=7, html=True, return result return generate_html_table(result, str_to_date(date_to_str(today)), - label) # to make everything 00:00:00 + label) # to make everything 00:00:00 + -def generate_lumen_notice_to_twitter_user(today=datetime.datetime.utcnow(), days=7, html=True, label="Lumen Notices to Twitter Users"): +def generate_lumen_notice_to_twitter_user(today=datetime.datetime.utcnow(), days=7, html=True, + label="Lumen Notices to Twitter Users"): query_str = """ SELECT 'lumen', YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) FROM lumen_notice_to_twitter_user WHERE record_created_at <= :to_date and record_created_at >= :from_date @@ -275,7 +294,8 @@ def generate_lumen_notice_to_twitter_user(today=datetime.datetime.utcnow(), days return result return generate_html_table(result, str_to_date(date_to_str(today)), - label) # to make everything 00:00:00 + label) # to make everything 00:00:00 + def generate_twitter_users(today=datetime.datetime.utcnow(), days=7, html=True, label="Twitter Users"): query_str = """ @@ -288,10 +308,12 @@ def generate_twitter_users(today=datetime.datetime.utcnow(), days=7, html=True, return result return generate_html_table(result, str_to_date(date_to_str(today)), - label) # to make everything 00:00:00 + label) # to make everything 00:00:00 + ##### TAKES (AT LEAST) 5 MIN TO RUN... -def generate_twitter_user_snapshots(today=datetime.datetime.utcnow(), days=7, html=True, label="Twitter User Snapshots"): +def generate_twitter_user_snapshots(today=datetime.datetime.utcnow(), days=7, html=True, + label="Twitter User Snapshots"): query_str = """ SELECT 'lumen', YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) FROM twitter_user_snapshots WHERE record_created_at <= :to_date and record_created_at >= :from_date @@ -301,7 +323,8 @@ def generate_twitter_user_snapshots(today=datetime.datetime.utcnow(), days=7, ht return result return generate_html_table(result, str_to_date(date_to_str(today)), - label) # to make everything 00:00:00 + label) # to make everything 00:00:00 + ##### TOO EXPENSIVE.... def generate_tweets(today=datetime.datetime.utcnow(), days=7, html=True, label="Tweets"): @@ -314,8 +337,7 @@ def generate_tweets(today=datetime.datetime.utcnow(), days=7, html=True, label=" return result return generate_html_table(result, str_to_date(date_to_str(today)), - label) # to make everything 00:00:00 - + label) # to make everything 00:00:00 ###################################################################### @@ -331,9 +353,10 @@ def generate_experiment_new(today=datetime.datetime.utcnow(), days=7, html=True) result = run_query_for_days(query_str, today, days=days) if not html: return result - return generate_html_table(result, - str_to_date(date_to_str(today)), - "New Experiment count") # to make everything 00:00:00 + return generate_html_table(result, + str_to_date(date_to_str(today)), + "New Experiment count") # to make everything 00:00:00 + def generate_experiment_active(today=datetime.datetime.utcnow(), days=7, html=True): query_str = """ @@ -342,8 +365,8 @@ def generate_experiment_active(today=datetime.datetime.utcnow(), days=7, html=Tr result = run_query_for_days(query_str, today, days=days) type_to_date_to_val = {} type_to_date_to_val[TOTAL_LABEL] = {} - days_str = [date_to_str(today - datetime.timedelta(days=i)) for i in range(0,7)] - days = [str_to_date(d) for d in days_str] # to make everything 00:00:00 + days_str = [date_to_str(today - datetime.timedelta(days=i)) for i in range(0, 7)] + days = [str_to_date(d) for d in days_str] # to make everything 00:00:00 for day in days: type_to_date_to_val[TOTAL_LABEL][day] = 0 for (eid, start, end) in result: @@ -351,22 +374,24 @@ def generate_experiment_active(today=datetime.datetime.utcnow(), days=7, html=Tr type_to_date_to_val[TOTAL_LABEL][day] += 1 if not html: return type_to_date_to_val - return generate_html_table_from_dict(type_to_date_to_val, - str_to_date(date_to_str(today)), - "Active Experiment count") # to make everything 00:00:00 - + return generate_html_table_from_dict(type_to_date_to_val, + str_to_date(date_to_str(today)), + "Active Experiment count") # to make everything 00:00:00 + + def generate_experiment_thing(today=datetime.datetime.utcnow(), days=7, html=True): query_str = """ SELECT experiment_id, object_type, YEAR(created_at), MONTH(created_at), DAY(created_at), count(*) FROM experiment_things WHERE created_at <= :to_date and created_at >= :from_date GROUP BY experiment_id, object_type, YEAR(created_at), MONTH(created_at), DAY(created_at)""" result = run_query_for_days(query_str, today, days=days) - result = [("({0}, {1})".format(a, ThingType(b).name), c, d, e, f) for (a,b,c,d,e,f) in result] + result = [("({0}, {1})".format(a, ThingType(b).name), c, d, e, f) for (a, b, c, d, e, f) in result] if not html: return result - return generate_html_table(result, - str_to_date(date_to_str(today)), - "Experiment280/(24*60)Thing count, by (experiment, objecttype)") # to make everything 00:00:00 + return generate_html_table(result, + str_to_date(date_to_str(today)), + "Experiment280/(24*60)Thing count, by (experiment, objecttype)") # to make everything 00:00:00 + def generate_experiment_thing_snapshot(today=datetime.datetime.utcnow(), days=7, html=True): query_str = """ @@ -374,12 +399,12 @@ def generate_experiment_thing_snapshot(today=datetime.datetime.utcnow(), days=7, FROM experiment_thing_snapshots WHERE created_at <= :to_date and created_at >= :from_date GROUP BY experiment_id, object_type, YEAR(created_at), MONTH(created_at), DAY(created_at)""" result = run_query_for_days(query_str, today, days=days) - result = [("({0}, {1})".format(a, ThingType(b).name), c, d, e, f) for (a,b,c,d,e,f) in result] + result = [("({0}, {1})".format(a, ThingType(b).name), c, d, e, f) for (a, b, c, d, e, f) in result] if not html: return result - return generate_html_table(result, - str_to_date(date_to_str(today)), - "ExperimentThingSnapshot count, by (experiment, objecttype)") # to make everything 00:00:00 + return generate_html_table(result, + str_to_date(date_to_str(today)), + "ExperimentThingSnapshot count, by (experiment, objecttype)") # to make everything 00:00:00 def generate_experiment_action(today=datetime.datetime.utcnow(), days=7, html=True): @@ -388,15 +413,12 @@ def generate_experiment_action(today=datetime.datetime.utcnow(), days=7, html=Tr FROM experiment_actions WHERE created_at <= :to_date and created_at >= :from_date GROUP BY experiment_id, action, YEAR(created_at), MONTH(created_at), DAY(created_at)""" result = run_query_for_days(query_str, today, days=days) - result = [("({0}, {1})".format(a, b), c, d, e, f) for (a,b,c,d,e,f) in result] + result = [("({0}, {1})".format(a, b), c, d, e, f) for (a, b, c, d, e, f) in result] if not html: return result - return generate_html_table(result, - str_to_date(date_to_str(today)), - "ExperimentAction count, by (experiment, action)") # to make everything 00:00:00 - - - + return generate_html_table(result, + str_to_date(date_to_str(today)), + "ExperimentAction count, by (experiment, action)") # to make everything 00:00:00 ###################################################################### @@ -427,10 +449,11 @@ def generate_experiment_action(today=datetime.datetime.utcnow(), days=7, html=Tr """ + def generate_report(today=datetime.datetime.utcnow(), days=7): html = "" + css + "" html += "

Number of records stored per day

" - #html += "

Reddit:

" + # html += "

Reddit:

" html += "" html += "

Lumen Twitter Data Collection

" html += generate_lumen_notices(today, days) @@ -438,25 +461,24 @@ def generate_report(today=datetime.datetime.utcnow(), days=7): html += generate_twitter_users(today, days) html += generate_twitter_user_snapshots(today, days) html += generate_tweets(today, days) - #html += generate_reddit_front_page(today, days) - #html += generate_reddit_subreddit_page(today, days) - #html += generate_reddit_subreddit(today, days) - #html += generate_reddit_post(today, days) - #html += generate_reddit_comment(today, days) - #html += generate_reddit_user(today, days) - #html += generate_reddit_mod_action(today, days) - html += "

Experiment:

" + # html += generate_reddit_front_page(today, days) + # html += generate_reddit_subreddit_page(today, days) + # html += generate_reddit_subreddit(today, days) + # html += generate_reddit_post(today, days) + # html += generate_reddit_comment(today, days) + # html += generate_reddit_user(today, days) + # html += generate_reddit_mod_action(today, days) + html += "

Experiment:

" html += generate_experiment_new(today, days) - html += generate_experiment_active(today, days) + html += generate_experiment_active(today, days) html += generate_experiment_thing(today, days) html += generate_experiment_thing_snapshot(today, days) - html += generate_experiment_action(today, days) - html += "
" + html += generate_experiment_action(today, days) + html += "" html += "" return html - ############################################################# ############################################################# From e95e423337964060834569008b33e93d5240057e Mon Sep 17 00:00:00 2001 From: Max Klein Date: Tue, 28 Aug 2018 09:35:47 -0700 Subject: [PATCH 087/221] add index to twitterstatus record_created_at --- ...b3d3_add_index_to_twitterstatus_record_.py | 64 +++++++++++++++++++ app/models.py | 2 +- 2 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 alembic/versions/dd20ee8bb3d3_add_index_to_twitterstatus_record_.py diff --git a/alembic/versions/dd20ee8bb3d3_add_index_to_twitterstatus_record_.py b/alembic/versions/dd20ee8bb3d3_add_index_to_twitterstatus_record_.py new file mode 100644 index 0000000..1ba5b0c --- /dev/null +++ b/alembic/versions/dd20ee8bb3d3_add_index_to_twitterstatus_record_.py @@ -0,0 +1,64 @@ +"""add index to twitterstatus record_created_at + +Revision ID: dd20ee8bb3d3 +Revises: 4a4bfc2ce8f5 +Create Date: 2018-08-28 09:31:17.028282 + +""" + +# revision identifiers, used by Alembic. +revision = 'dd20ee8bb3d3' +down_revision = '4a4bfc2ce8f5' +branch_labels = None +depends_on = None + +from alembic import op +import sqlalchemy as sa + + +def upgrade(engine_name): + globals()["upgrade_%s" % engine_name]() + + +def downgrade(engine_name): + globals()["downgrade_%s" % engine_name]() + + + + + +def upgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_index(op.f('ix_twitter_statuses_record_created_at'), 'twitter_statuses', ['record_created_at'], unique=False) + # ### end Alembic commands ### + + +def downgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index(op.f('ix_twitter_statuses_record_created_at'), table_name='twitter_statuses') + # ### end Alembic commands ### + + +def upgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_index(op.f('ix_twitter_statuses_record_created_at'), 'twitter_statuses', ['record_created_at'], unique=False) + # ### end Alembic commands ### + + +def downgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index(op.f('ix_twitter_statuses_record_created_at'), table_name='twitter_statuses') + # ### end Alembic commands ### + + +def upgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_index(op.f('ix_twitter_statuses_record_created_at'), 'twitter_statuses', ['record_created_at'], unique=False) + # ### end Alembic commands ### + + +def downgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index(op.f('ix_twitter_statuses_record_created_at'), table_name='twitter_statuses') + # ### end Alembic commands ### + diff --git a/app/models.py b/app/models.py index fa69bc3..f10b7d7 100644 --- a/app/models.py +++ b/app/models.py @@ -262,7 +262,7 @@ class TwitterStatus(Base): id = Column(BigInteger, primary_key = True) user_id = Column(BigInteger, index = True) created_at = Column(DateTime) - record_created_at = Column(DateTime, default=datetime.datetime.utcnow) + record_created_at = Column(DateTime, default=datetime.datetime.utcnow, index=True) # need this index for fast counting status_data = Column(MEDIUMTEXT) class TwitterRateState(Base): From 030f228e451b6dd6a5719b642904da0093d8b483 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Tue, 28 Aug 2018 12:08:44 -0700 Subject: [PATCH 088/221] close sessions with checkin to try and avoid server gone away error. --- app/connections/twitter_connect.py | 8 ++++++-- app/controller.py | 12 ++++++------ 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/app/connections/twitter_connect.py b/app/connections/twitter_connect.py index ace23ea..cd09e25 100644 --- a/app/connections/twitter_connect.py +++ b/app/connections/twitter_connect.py @@ -121,7 +121,7 @@ def __init__(self, log=None, db_session=None): # do gymnastics to get `.api` attribute active. self.select_available_token('/account/verify_credentials') - self.checkin_endpoint('/account/verify_credentials') + self.checkin_endpoint('/account/verify_credentials', close_session=False) # I think we won't intialize any token until the query is called. # self.curr_endpoint = self.select_available_token() # @@ -314,7 +314,7 @@ def get_ratestate_of_endpoint(self, endpoint): self.log.debug('ratestate object had user_id:{0}'.format(ratestate.user_id)) return ratestate - def checkin_endpoint(self, endpoint=None): + def checkin_endpoint(self, endpoint=None, close_session=True): if endpoint is None: # this is a way to signal to checkin the curr_endpoint without knowing its name if self.curr_endpoint is None: @@ -331,6 +331,10 @@ def checkin_endpoint(self, endpoint=None): self.db_session.add(ratestate) self.db_session.commit() + if close_session: + # closing to try and avoid Mysql server gone away error. + self.db_session.close() + # delete form local records del self.endpoint_tokens[endpoint] self.curr_endpoint = None diff --git a/app/controller.py b/app/controller.py index 683c399..fdaf886 100644 --- a/app/controller.py +++ b/app/controller.py @@ -161,23 +161,23 @@ def fetch_lumen_notices(num_days=2): """ Archive lumen notices. """ - log.info("Calling fetch_lumen_notices, num_days={0}".format(num_days)) + log.info("Calling fetch_lumen_notices, num_days={0}, PID={1}".format(num_days, str(os.getpid()))) l = app.controllers.lumen_controller.LumenController(db_session, lumen_conn, log) topics = ["Copyright"] # "Government Requests", #["Defamation","Protest, Parody and Criticism Sites","Law Enforcement Requests","International","Government Requests","DMCA Subpoenas","Court Orders"] date = datetime.datetime.utcnow() - datetime.timedelta(days=int(float(num_days))) # now-2days l.archive_lumen_notices(topics, date) - log.info("Finished fetch_lumen_notices, num_days={0}".format(num_days)) + log.info("Finished fetch_lumen_notices, num_days={0}, PID={1}".format(num_days, str(os.getpid()))) def parse_lumen_notices_for_twitter_accounts(): """ For all LumenNotices with CS_parsed_usernames=False, parse for twitter accounts """ - log.info("Calling parse_lumen_notices_for_twitter_accounts.") + log.info("Calling parse_lumen_notices_for_twitter_accounts. PID={0}".format(str(os.getpid()))) l = app.controllers.lumen_controller.LumenController(db_session, lumen_conn, log) l.query_and_parse_notices_archive_users() - log.info("Finished parse_lumen_notices_for_twitter_accounts") + log.info("Finished parse_lumen_notices_for_twitter_accounts. PID={0}".format(str(os.getpid()))) def fetch_twitter_users(): @@ -185,11 +185,11 @@ def fetch_twitter_users(): For all LumenNoticeToTwitterUser with CS_account_queried=False, archive Twitter accounts in TwitterUser objects, and create 1st TwitterUserSnapshot """ - log.info("Calling fetch_twitter_users.") + log.info("Calling fetch_twitter_users. PID={0}".format(str(os.getpid()))) t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) t.query_and_archive_new_users() twitter_conn.checkin_endpoint() - log.info("Finished fetch_twitter_users.") + log.info("Finished fetch_twitter_users. PID={0}".format(str(os.getpid()))) def fetch_twitter_snapshot_and_tweets(max_time_delta_min=60): From 3314e5ea51c7e9c67271285a9e3201d61185a066 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Tue, 28 Aug 2018 17:01:44 -0700 Subject: [PATCH 089/221] add first draft of email log report --- app/controller.py | 16 ++-- utils/email_db_report.py | 12 +-- utils/email_log_report.py | 171 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 185 insertions(+), 14 deletions(-) create mode 100644 utils/email_log_report.py diff --git a/app/controller.py b/app/controller.py index fdaf886..ad5a9d9 100644 --- a/app/controller.py +++ b/app/controller.py @@ -174,10 +174,10 @@ def parse_lumen_notices_for_twitter_accounts(): """ For all LumenNotices with CS_parsed_usernames=False, parse for twitter accounts """ - log.info("Calling parse_lumen_notices_for_twitter_accounts. PID={0}".format(str(os.getpid()))) + log.info("Calling parse_lumen_notices_for_twitter_accounts, PID={0}".format(str(os.getpid()))) l = app.controllers.lumen_controller.LumenController(db_session, lumen_conn, log) l.query_and_parse_notices_archive_users() - log.info("Finished parse_lumen_notices_for_twitter_accounts. PID={0}".format(str(os.getpid()))) + log.info("Finished parse_lumen_notices_for_twitter_accounts, PID={0}".format(str(os.getpid()))) def fetch_twitter_users(): @@ -185,35 +185,35 @@ def fetch_twitter_users(): For all LumenNoticeToTwitterUser with CS_account_queried=False, archive Twitter accounts in TwitterUser objects, and create 1st TwitterUserSnapshot """ - log.info("Calling fetch_twitter_users. PID={0}".format(str(os.getpid()))) + log.info("Calling fetch_twitter_users, PID={0}".format(str(os.getpid()))) t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) t.query_and_archive_new_users() twitter_conn.checkin_endpoint() - log.info("Finished fetch_twitter_users. PID={0}".format(str(os.getpid()))) + log.info("Finished fetch_twitter_users, PID={0}".format(str(os.getpid()))) def fetch_twitter_snapshot_and_tweets(max_time_delta_min=60): """ For all TwitterUserSnapshot.created_at older than x min, fetch another snapshot """ - log.info("Calling fetch_twitter_snapshot_and_tweets, max_time_delta_min={0}".format(max_time_delta_min)) + log.info("Calling fetch_twitter_snapshot_and_tweets, max_time_delta_min={0} PID={1}".format(max_time_delta_min, str(os.getpid()))) t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) now = datetime.datetime.utcnow() date = now - datetime.timedelta(minutes=int(float(max_time_delta_min))) # now-1hour t.query_and_archive_user_snapshots_and_tweets(date) twitter_conn.checkin_endpoint() - log.info("Finished fetch_twitter_snapshot_and_tweets, max_time_delta_min={0}".format(max_time_delta_min)) + log.info("Finished fetch_twitter_snapshot_and_tweets, max_time_delta_min={0} PID={1}".format(max_time_delta_min, str(os.getpid()))) def fetch_twitter_tweets(backfill=False, fill_start_time=None): """ For all TwitterUsers with CS_most_tweets_queried=False, fetch tweets """ - log.info("Calling fetch_twitter_tweets, backfill={0}.".format(backfill)) + log.info("Calling fetch_twitter_tweets, backfill={0}. PID={1}".format(backfill, str(os.getpid()))) t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) t.query_and_archive_tweets(backfill, fill_start_time=fill_start_time) twitter_conn.checkin_endpoint() - log.info("Finished fetch_twitter_tweets, backfill={0}.".format(backfill)) + log.info("Finished fetch_twitter_tweets, backfill={0}. PID={1}".format(backfill, str(os.getpid()))) def twitter_observational_analysis_basic_profiling(): diff --git a/utils/email_db_report.py b/utils/email_db_report.py index 9dcf4bb..49deb48 100644 --- a/utils/email_db_report.py +++ b/utils/email_db_report.py @@ -117,19 +117,18 @@ def generate_html_table_from_dict(type_to_date_to_val, today, title): return html -def send_db_report(date, html): +def send_report(subject, html): with open(os.path.join(BASE_DIR, "config") + "/email_db_report.json".format(env=ENV), "r") as f: email_config = json.loads(f.read()) - subject = "CivilServant Database Report: {0}".format(date_to_str(date)) - save_report_locally(date, html) + save_report_locally(subject, html) try: send_email(email_config["fromaddr"], email_config["toaddrs"], subject, html) except ConnectionRefusedError: print('It looks like you cant SMTP from this machine' ) -def save_report_locally(date, html): - with open(os.path.join(BASE_DIR, 'logs', 'DB report{}.html'.format(date)), 'w') as outf: +def save_report_locally(subject, html): + with open(os.path.join(BASE_DIR, 'logs', subject), 'w') as outf: outf.write(html) @@ -489,4 +488,5 @@ def generate_report(today=datetime.datetime.utcnow(), days=7): today = end - datetime.timedelta(seconds=1) html = generate_report(today, days=7) - send_db_report(today, html) + subject = "CivilServant Database Report: {0}".format(date_to_str(today)) + send_report(subject, html) diff --git a/utils/email_log_report.py b/utils/email_log_report.py new file mode 100644 index 0000000..ef6ec07 --- /dev/null +++ b/utils/email_log_report.py @@ -0,0 +1,171 @@ +import os +import sys + +import pandas as pd + +from utils.email_db_report import send_report, date_to_str + +pd.set_option('display.max_colwidth', -1) +import datetime + +if __name__ == "__main__" and len(sys.argv) > 1: + os.environ["CS_ENV"] = sys.argv[1] +ENV = os.environ["CS_ENV"] + +BASE_DIR = os.path.join(os.path.dirname(os.path.realpath(__file__)), "..") +log_dir = os.path.join(BASE_DIR, 'logs') +logs = os.listdir(log_dir) +logs_to_parse = ['CivilServant_{ENV}.log'.format(ENV=ENV)] + +log_tups = [] +errors = [] + +def add_logline(line): + parts = line.split(' - ') + timestamp = datetime.datetime.strptime(parts[0], '%Y-%m-%d %H:%M:%S,%f') + env = parts[1] + level = parts[2] + message = parts[3] + log_tups.append([timestamp, env, level, message]) + return timestamp + + +for logf in logs_to_parse: + last_timestamp = None + with open(os.path.join(log_dir, logf)) as f: + in_error = False + error = '' + for line in f.readlines(): + try: + last_timestamp = add_logline(line) + # if go this far then check to see if error flag was up + if in_error: + # if it is then it's the first line after an error so flush error text to errosr + errors.append((last_timestamp, error)) + error = '' + # and say we're not in an error anymoore + in_error = False + except ValueError: + if in_error == False: + # the first time here + error += f'Last known timestamp was: {last_timestamp}\n' + in_error = True + error += line + +logdf = pd.DataFrame.from_records(log_tups, columns=['timestamp', 'env', 'level', 'message']) + +logdf.set_index('timestamp', inplace=True) +logdf.sort_index(inplace=True) + +yesterday = datetime.datetime.utcnow() - datetime.timedelta(days=1) + +logdf = logdf[yesterday:] + +log_level_value_counts_html = pd.DataFrame(logdf['level'].value_counts()).to_html() + +yesterday_errors = [error for error in errors if error[0] > yesterday] + +yesterday_errors_html = pd.DataFrame.from_records(yesterday_errors, columns=['timestamp', 'stacktrace']).to_html() + +first_and_last_html = logdf.iloc[[0, -1]].to_html() + + +# Timing +def RepresentsInt(s): + try: + int(s) + return True + except ValueError: + return False + + +def ending_pid(m): + endbit = m.replace('\n', '').split('PID=')[-1] + if RepresentsInt(endbit): + return int(endbit) + else: + return -1 + + +calling_finished = logdf[logdf['message'].apply(lambda x: x.startswith('Calling')) | logdf['message'].apply( + lambda x: x.startswith('Finished'))] + +calling_finished['pid'] = calling_finished['message'].apply(ending_pid) + +calling_finished = calling_finished[calling_finished['pid'] > 0] + + +def time_taken(df): + first = df.index.min() + last = df.index.max() + return (last - first).total_seconds() / 60 + + +def which_controller(df): + return df.iloc[0].split(' ')[1].replace(',', '') + + +pid_timing = calling_finished.groupby('pid').agg({'level': time_taken, 'message': which_controller}).rename( + mapper={'level': 'total_minutes_taken', 'message': 'controller'}, axis=1) + +pid_timing_html = pid_timing.to_html() + +# Caught errors +caught_errors_html = pd.DataFrame( + logdf[logdf['level'] == 'ERROR']['message'].apply(lambda x: x[-45:]).value_counts()).rename({'message': 'count'}, + axis=1).to_html() + +PID_df = logdf[logdf['message'].apply(lambda x: x[:3] == 'PID')] +PID_df['pid'] = PID_df['message'].apply(lambda x: x.split(' ')[1]) +is_backfill = PID_df['message'].apply(lambda x: x.endswith('Backfill=True\n')) +is_indiv_query = PID_df['message'].apply(lambda x: x.split(' ')[3] == 'total') +frontfill_df = PID_df[(~is_backfill) & (is_indiv_query)] +backfill_df = PID_df[(is_backfill) & (is_indiv_query)] + +backfill_df['account'] = backfill_df['message'].apply(lambda x: x.split(' ')[9].split('.')[0]) + +backfill_df['tweets_queried'] = backfill_df['message'].apply(lambda x: int(x.split(' ')[5])) + +account_backfill_tweets = backfill_df.groupby('account').agg( + {'tweets_queried': sum, 'message': time_taken, 'level': len}) +account_backfill_tweets.rename(columns={'message': 'total_minutes', 'level': 'num_calls'}, inplace=True) + +account_backfill_tweets_sum = account_backfill_tweets.sum() + +account_backfill_tweets_sum.name = 'sum' + +account_backfill_tweets_html = account_backfill_tweets.describe().append(account_backfill_tweets_sum).to_html() + +backfill_stats = backfill_df.groupby(by='pid').agg({'message': time_taken}).rename( + mapper={'message': 'total_minutes_taken'}, axis=1) +frontfill_stats = frontfill_df.groupby(by='pid').agg({'message': time_taken}).rename( + mapper={'message': 'total_minutes_taken'}, axis=1) + +backfill_stats_html = backfill_stats.to_html() + +frontfill_stats_html = frontfill_stats.to_html() + + +def make_title(text, level): + return '{text}'.format(text=text, level=level) + + +report_html = make_title('Report for date beginning {}'.format(yesterday), 1) + +html_tables = {"First and last log statements": first_and_last_html, + "Caught errors": caught_errors_html, + "Uncaught errors": yesterday_errors_html, + "Log level value counts": log_level_value_counts_html, + "Controller timings": pid_timing_html, + "Account backfill info": account_backfill_tweets_html, + "Backfill stats": backfill_stats_html, + "Frontfill stats": frontfill_stats_html} + +for table_title, html_table in html_tables.items(): + title = make_title(table_title, 3) + report_html += title + report_html += html_table + +if __name__ == "__main__": + subject = "CivilServant Log Report: {0}".format(date_to_str(yesterday)) + send_report(subject, report_html) From ba6c28864c4dbd972fbb49605663660f9f401bd9 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Tue, 28 Aug 2018 17:24:19 -0700 Subject: [PATCH 090/221] one script to email them all --- utils/email-reports.sh | 30 ++++++++++++++++++++++++++++++ utils/email_log_report.py | 2 +- 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100755 utils/email-reports.sh diff --git a/utils/email-reports.sh b/utils/email-reports.sh new file mode 100755 index 0000000..6de1637 --- /dev/null +++ b/utils/email-reports.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash + +if [ -z $CS_ENV ] + then + echo "trying to source environment variables." + source ../config/environment_variables.sh + if [ -z $CS_ENV ] + then + echo "couldn't get CS_ENV out of the script, exting" + exit 1 + else + echo "Found CS_ENV from script" + fi +fi + +echo "Running with CS_ENV=$CS_ENV" + +if [ $CS_ENV = "development" ] + then + envpython=$1 + basedir=$2 + else if [ $CS_ENV = "production" ] + then + envpython="/home/dmca/dmca/dmca/bin/python" + basedir="/home/dmca/CivilServant-mmou-twitter/utils" + fi +fi + +$envpython $basedir"/email_db_report.py" +$envpython $basedir"/email_log_report.py" diff --git a/utils/email_log_report.py b/utils/email_log_report.py index ef6ec07..cbe960b 100644 --- a/utils/email_log_report.py +++ b/utils/email_log_report.py @@ -3,7 +3,7 @@ import pandas as pd -from utils.email_db_report import send_report, date_to_str +from email_db_report import send_report, date_to_str pd.set_option('display.max_colwidth', -1) import datetime From eb17ab172bb56a08f2bf02dbc45675d87d44304e Mon Sep 17 00:00:00 2001 From: Max Klein Date: Tue, 28 Aug 2018 17:33:51 -0700 Subject: [PATCH 091/221] make script run from absolute --- utils/email-reports.sh | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/utils/email-reports.sh b/utils/email-reports.sh index 6de1637..ade9d3a 100755 --- a/utils/email-reports.sh +++ b/utils/email-reports.sh @@ -1,30 +1,30 @@ #!/usr/bin/env bash -if [ -z $CS_ENV ] +if [ -z $1 ] then - echo "trying to source environment variables." - source ../config/environment_variables.sh - if [ -z $CS_ENV ] - then - echo "couldn't get CS_ENV out of the script, exting" - exit 1 - else - echo "Found CS_ENV from script" - fi + envpython="/home/dmca/dmca/dmca/bin/python" + echo "Using default python of"$envpython + else + envpython=$1 fi -echo "Running with CS_ENV=$CS_ENV" -if [ $CS_ENV = "development" ] +if [ -z $2 ] then - envpython=$1 + basedir="/home/dmca/CivilServant-mmou-twitter" + echo "trying to source environment variables from"$basedir + else basedir=$2 - else if [ $CS_ENV = "production" ] +fi + +if [ -z $3 ] then - envpython="/home/dmca/dmca/dmca/bin/python" - basedir="/home/dmca/CivilServant-mmou-twitter/utils" - fi + export CS_ENV=production + else + export CS_ENV=$3 fi +echo "Running with CS_ENV=$CS_ENV" + $envpython $basedir"/email_db_report.py" $envpython $basedir"/email_log_report.py" From 69dea163cb1bbb3d015039971b2a59e9b3fd9c28 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Tue, 28 Aug 2018 17:34:43 -0700 Subject: [PATCH 092/221] utils mistake --- utils/email-reports.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/utils/email-reports.sh b/utils/email-reports.sh index ade9d3a..ebfe4ff 100755 --- a/utils/email-reports.sh +++ b/utils/email-reports.sh @@ -26,5 +26,5 @@ fi echo "Running with CS_ENV=$CS_ENV" -$envpython $basedir"/email_db_report.py" -$envpython $basedir"/email_log_report.py" +$envpython $basedir"utils/email_db_report.py" +$envpython $basedir"utils/email_log_report.py" From 5cb13ec502dd38896fb9e9c434f7457a1efe53d3 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Tue, 28 Aug 2018 17:39:22 -0700 Subject: [PATCH 093/221] really fix sourcing problem i hope --- utils/email-reports.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/utils/email-reports.sh b/utils/email-reports.sh index ebfe4ff..c860d47 100755 --- a/utils/email-reports.sh +++ b/utils/email-reports.sh @@ -19,12 +19,12 @@ fi if [ -z $3 ] then - export CS_ENV=production + source $basedir"/config/environment_variables.sh" else export CS_ENV=$3 fi echo "Running with CS_ENV=$CS_ENV" -$envpython $basedir"utils/email_db_report.py" -$envpython $basedir"utils/email_log_report.py" +$envpython $basedir"/utils/email_db_report.py" +$envpython $basedir"/utils/email_log_report.py" From e08c4a86d93f7ed30cb46dfcaf2c42612d959730 Mon Sep 17 00:00:00 2001 From: "J. Nathan Matias" Date: Wed, 29 Aug 2018 12:46:10 -0400 Subject: [PATCH 094/221] make email log work on server --- requirements.txt | 2 +- utils/email_log_report.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements.txt b/requirements.txt index 2941c80..40d727f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -18,4 +18,4 @@ python-twitter retrying requests requests_futures - +pandas diff --git a/utils/email_log_report.py b/utils/email_log_report.py index cbe960b..a208c65 100644 --- a/utils/email_log_report.py +++ b/utils/email_log_report.py @@ -48,7 +48,7 @@ def add_logline(line): except ValueError: if in_error == False: # the first time here - error += f'Last known timestamp was: {last_timestamp}\n' + error += 'Last known timestamp was: {last_timestamp}\n' in_error = True error += line From 65b25a4bfd43312dda7c8fe8b4c85dee9a5c5f21 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Wed, 29 Aug 2018 10:40:43 -0700 Subject: [PATCH 095/221] really fix sourcing problem i hope --- utils/email-reports.sh | 1 + utils/email_log_report.py | 29 ++++++++++++++++------------- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/utils/email-reports.sh b/utils/email-reports.sh index c860d47..2af5385 100755 --- a/utils/email-reports.sh +++ b/utils/email-reports.sh @@ -15,6 +15,7 @@ if [ -z $2 ] echo "trying to source environment variables from"$basedir else basedir=$2 + rsync -up dmca-civictechai:/home/dmca/CivilServant-mmou-twitter/logs/CivilServant_production.log logs/ fi if [ -z $3 ] diff --git a/utils/email_log_report.py b/utils/email_log_report.py index a208c65..8afc4dd 100644 --- a/utils/email_log_report.py +++ b/utils/email_log_report.py @@ -6,6 +6,7 @@ from email_db_report import send_report, date_to_str pd.set_option('display.max_colwidth', -1) +pd.set_option('mode.chained_assignment', None) import datetime if __name__ == "__main__" and len(sys.argv) > 1: @@ -67,9 +68,10 @@ def add_logline(line): yesterday_errors_html = pd.DataFrame.from_records(yesterday_errors, columns=['timestamp', 'stacktrace']).to_html() -first_and_last_html = logdf.iloc[[0, -1]].to_html() - - +try: + first_and_last_html = logdf.iloc[[0, -1]].to_html() +except IndexError: + print('seemingly no logs') # Timing def RepresentsInt(s): try: @@ -152,16 +154,17 @@ def make_title(text, level): report_html = make_title('Report for date beginning {}'.format(yesterday), 1) -html_tables = {"First and last log statements": first_and_last_html, - "Caught errors": caught_errors_html, - "Uncaught errors": yesterday_errors_html, - "Log level value counts": log_level_value_counts_html, - "Controller timings": pid_timing_html, - "Account backfill info": account_backfill_tweets_html, - "Backfill stats": backfill_stats_html, - "Frontfill stats": frontfill_stats_html} - -for table_title, html_table in html_tables.items(): +html_tables = ( + ("First and last log statements", first_and_last_html), + ("Caught errors", caught_errors_html), + ("Uncaught errors", yesterday_errors_html), + ("Log level value counts", log_level_value_counts_html), + ("Controller timings", pid_timing_html), + ("Account backfill info", account_backfill_tweets_html), + ("Backfill stats", backfill_stats_html), + ("Frontfill stats", frontfill_stats_html), + ) +for table_title, html_table in html_tables: title = make_title(table_title, 3) report_html += title report_html += html_table From b711dbb3797a2f3714111b9c74cf1b023efa029e Mon Sep 17 00:00:00 2001 From: Max Klein Date: Thu, 30 Aug 2018 13:58:38 -0700 Subject: [PATCH 096/221] try to catch detachedinstance error --- app/controllers/twitter_controller.py | 12 +++++++++--- tests/test_twitter.py | 1 + 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index c6b59cf..1e642b4 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -575,7 +575,8 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, batch_s # in a loop, until all_filled, get a batch and process the last_attempt_process state along with # fill_start_time, lets us know if that user has been attempted *this round*. The CS_JobState state let's us - # know if every item was either processed succesffuly or failed + # know if every item was either processed successfully or failed + batch_attempt_counter = 0 while not all_filled: unarchived_users = self.db_session.query(TwitterUser). \ filter(and_( @@ -608,8 +609,9 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, batch_s self.with_user_records_archive_tweets(unarchived_users, backfill=backfill, is_test=is_test, test_exception=test_exception) # backfill hacky # TODO if the user has become invalid then mark this - except: - raise # re-raise the exception + except sqlalchemy.orm.exc.DetachedInstanceError: + self.log.error("Encountered deatched instance error.") + self.db_session.close() #try to refresh # finally reset in_progress and log finally: utils.common.reset_CS_JobState_In_Progress(unarchived_users, "CS_oldest_tweets_archived", @@ -620,6 +622,10 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, batch_s "PID {2} queried and archived tweets for {0} users; backfill={1}".format(len(unarchived_users), backfill, str(os.getpid()))) + self.log.info('PID {0} completed batch_attempt_counter={1} finding len(unarchived_users)={2}' \ + .format(str(os.getpid()), batch_attempt_counter, len(unarchived_users))) + batch_attempt_counter += 1 + def with_user_records_archive_tweets(self, user_records, backfill=False, is_test=False, test_exception=False): """ diff --git a/tests/test_twitter.py b/tests/test_twitter.py index 0779abe..dc2d0c1 100644 --- a/tests/test_twitter.py +++ b/tests/test_twitter.py @@ -95,6 +95,7 @@ def test_archive_twitter_new_users(mock_twitter, populate_notice_users): @patch('twitter.Api', autospec=True) def test_with_user_records_archive_tweets(mock_twitter_api): + log.debug("starting test") tc = app.connections.twitter_connect.TwitterConnect(log=log, db_session=db_session) api = mock_twitter_api.return_value From d827407e461faa640e66bb3a78b69d757aa75aa6 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Thu, 30 Aug 2018 14:52:49 -0700 Subject: [PATCH 097/221] close session once done --- app/controllers/twitter_controller.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 1e642b4..3cbb764 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -617,6 +617,7 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, batch_s utils.common.reset_CS_JobState_In_Progress(unarchived_users, "CS_oldest_tweets_archived", self.db_session, self.log) # if still marked IN_PROGRESS (e.g. because of unchecked exception), reset it to NOT_PROCESSED + self.db_session.close() self.log.info( "PID {2} queried and archived tweets for {0} users; backfill={1}".format(len(unarchived_users), @@ -624,6 +625,7 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, batch_s str(os.getpid()))) self.log.info('PID {0} completed batch_attempt_counter={1} finding len(unarchived_users)={2}' \ .format(str(os.getpid()), batch_attempt_counter, len(unarchived_users))) + batch_attempt_counter += 1 From b34f4fe20187fff1ac34999fb3335ee5095ac1a5 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Thu, 30 Aug 2018 17:44:32 -0700 Subject: [PATCH 098/221] don't close on checkin --- app/connections/twitter_connect.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/app/connections/twitter_connect.py b/app/connections/twitter_connect.py index cd09e25..157f8b0 100644 --- a/app/connections/twitter_connect.py +++ b/app/connections/twitter_connect.py @@ -314,7 +314,7 @@ def get_ratestate_of_endpoint(self, endpoint): self.log.debug('ratestate object had user_id:{0}'.format(ratestate.user_id)) return ratestate - def checkin_endpoint(self, endpoint=None, close_session=True): + def checkin_endpoint(self, endpoint=None): if endpoint is None: # this is a way to signal to checkin the curr_endpoint without knowing its name if self.curr_endpoint is None: @@ -331,10 +331,6 @@ def checkin_endpoint(self, endpoint=None, close_session=True): self.db_session.add(ratestate) self.db_session.commit() - if close_session: - # closing to try and avoid Mysql server gone away error. - self.db_session.close() - # delete form local records del self.endpoint_tokens[endpoint] self.curr_endpoint = None From 623308803fd7222a3b57c9e7bd2542097ea5817e Mon Sep 17 00:00:00 2001 From: Max Klein Date: Thu, 30 Aug 2018 17:44:32 -0700 Subject: [PATCH 099/221] don't close on checkin --- app/connections/twitter_connect.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/app/connections/twitter_connect.py b/app/connections/twitter_connect.py index cd09e25..ace23ea 100644 --- a/app/connections/twitter_connect.py +++ b/app/connections/twitter_connect.py @@ -121,7 +121,7 @@ def __init__(self, log=None, db_session=None): # do gymnastics to get `.api` attribute active. self.select_available_token('/account/verify_credentials') - self.checkin_endpoint('/account/verify_credentials', close_session=False) + self.checkin_endpoint('/account/verify_credentials') # I think we won't intialize any token until the query is called. # self.curr_endpoint = self.select_available_token() # @@ -314,7 +314,7 @@ def get_ratestate_of_endpoint(self, endpoint): self.log.debug('ratestate object had user_id:{0}'.format(ratestate.user_id)) return ratestate - def checkin_endpoint(self, endpoint=None, close_session=True): + def checkin_endpoint(self, endpoint=None): if endpoint is None: # this is a way to signal to checkin the curr_endpoint without knowing its name if self.curr_endpoint is None: @@ -331,10 +331,6 @@ def checkin_endpoint(self, endpoint=None, close_session=True): self.db_session.add(ratestate) self.db_session.commit() - if close_session: - # closing to try and avoid Mysql server gone away error. - self.db_session.close() - # delete form local records del self.endpoint_tokens[endpoint] self.curr_endpoint = None From 8edb5f81b4802728763465b8c4975d728d8ed4f8 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Fri, 31 Aug 2018 17:12:21 -0700 Subject: [PATCH 100/221] introduce invalidation token protocol --- app/connections/twitter_connect.py | 37 +++- app/controllers/twitter_controller.py | 1 - dmca-cmd.sh | 17 +- tests/test_twitter_connect.py | 49 ++++- utils/email_log_report.py | 265 +++++++++++++------------- 5 files changed, 219 insertions(+), 150 deletions(-) diff --git a/app/connections/twitter_connect.py b/app/connections/twitter_connect.py index ace23ea..081be2a 100644 --- a/app/connections/twitter_connect.py +++ b/app/connections/twitter_connect.py @@ -206,16 +206,32 @@ def apply_token(self, endpoint): try: verification = self.api.VerifyCredentials() self.api.InitializeRateLimit() # dangerous for us. - except twitter.error.TwitterError as e: - self.log.error( - "Twitter: Failed to connect to API with endpoint {0}. Remove from token set. Error: {1}.".format( - endpoint, str(e))) - if e[0]['code'] == 89: # or 'message': 'Invalid or expired token.': - raise NotImplementedError('mark as invalid') + except twitter.TwitterError as twiterr: + # check to see if we can get an error message out + self.log.info('Error Initializing Rate Limit') + err_msg = twiterr.message[0]['message'] + err_code = twiterr.message[0]['code'] + if err_code in (89, 326): # or 'message': 'Invalid or expired token.': + self.invalidate_token(endpoint) return False self.curr_endpoint = endpoint return True + def invalidate_token(self, endpoint): + endpoint_ratestate_to_invalidate = self.get_ratestate_of_endpoint(endpoint) + token_user_id = endpoint_ratestate_to_invalidate.user_id + self.log.debug('Invalidating ratestate for user:{0}'.format(endpoint_ratestate_to_invalidate.user_id)) + endpoint_ratestate_to_invalidate.is_valid = False + self.db_session.commit() + # so far we've invalidated just one endpoint, now have to get them all + token_ratestates_to_invalidate = self.db_session.query(TwitterRateState).\ + filter(TwitterRateState.user_id == token_user_id).\ + with_for_update().all() + for ratestate in token_ratestates_to_invalidate: + ratestate.is_valid = False + self.db_session.commit() + return True + ## This method will select from available tokens ## or if no tokens are available, wait until the next token ## becomes available, based on information from the Twitter API @@ -240,6 +256,7 @@ def select_available_token(self, endpoint, strategy='sequential'): .filter(TwitterRateState.endpoint == endpoint) \ .filter(TwitterRateState.checkin_due < query_time) \ .filter(TwitterRateState.reset_time < query_time) \ + .filter(TwitterRateState.is_valid == True) \ .order_by(order_by) \ .with_for_update().first() self.log.info('''Trying to get token matching \ @@ -289,7 +306,9 @@ def select_available_token(self, endpoint, strategy='sequential'): self.curr_endpoint = endpoint self.log.debug('waiting for {0}'.format(wait_before_return)) sleep(wait_before_return) - self.apply_token(endpoint) + successful_application = self.apply_token(endpoint) + if not successful_application: + return self.select_available_token(endpoint, strategy=strategy) return True except: self.log.exception('exception in getting from DB for tokens') @@ -400,6 +419,10 @@ def query(self, method, *args, **kwargs): return self.constant_wait_sleep_and_recurse(err_msg, method, *args, **kwargs) elif err_msg == 'Internal error': return self.constant_wait_sleep_and_recurse(err_msg, method, *args, **kwargs) + elif err_msg == 'To protect our users from spam and other malicious activity, this account is temporarily locked. Please log in to https://twitter.com to unlock your account.': + self.log.info('This token is borked') + self.invalidate_token(endpoint) + return self.query(method, *args, **kwargs) else: raise twiterr # self.log.error( diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 3cbb764..6272b78 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -611,7 +611,6 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, batch_s # TODO if the user has become invalid then mark this except sqlalchemy.orm.exc.DetachedInstanceError: self.log.error("Encountered deatched instance error.") - self.db_session.close() #try to refresh # finally reset in_progress and log finally: utils.common.reset_CS_JobState_In_Progress(unarchived_users, "CS_oldest_tweets_archived", diff --git a/dmca-cmd.sh b/dmca-cmd.sh index 7dc8fed..d34deee 100755 --- a/dmca-cmd.sh +++ b/dmca-cmd.sh @@ -10,30 +10,33 @@ rqworker $CS_ENV & rqworker $CS_ENV"_concurrent" & rqworker $CS_ENV"_concurrent" & +logfile="logs/CivilServant_"$CS_ENV".log" +echo "logfile is "$logfile + echo "Fetch lumen notices every 3 hours" -python schedule_twitter_jobs.py --function fetch_lumen_notices --lumen_delta_days 2 --interval 10800 +python schedule_twitter_jobs.py --function fetch_lumen_notices --lumen_delta_days 2 --interval 10800 2> logfile ## Parse lumen notices for twitter accounts: every 3 hours echo "Parse lumen notices for twitter accounts: every 3 hours" -python schedule_twitter_jobs.py --function parse_lumen_notices_for_twitter_accounts --interval 10800 +python schedule_twitter_jobs.py --function parse_lumen_notices_for_twitter_accounts --interval 10800 2> logfile ## Fetch Twitter Users: every 3 hours ## Fetch Twitter Users: every 3 hours -python schedule_twitter_jobs.py --function fetch_twitter_users --interval 10800 +python schedule_twitter_jobs.py --function fetch_twitter_users --interval 10800 2> logfile # Backfill Twitter tweets: Every 12 hours echo "Backfill Twitter tweets: Every 12 hours" -python schedule_twitter_jobs.py --function fetch_twitter_tweets --statuses_backfill --interval 43200 +python schedule_twitter_jobs.py --function fetch_twitter_tweets --statuses_backfill --interval 43200 2> logfile # Fetch Twitter Tweets: Every twenty-four hours (once a day) echo "Fetch Twitter Tweets: Every twenty-four hours (once a day)" -python schedule_twitter_jobs.py --function fetch_twitter_tweets --interval 86400 --n_tasks 2 +python schedule_twitter_jobs.py --function fetch_twitter_tweets --interval 86400 --n_tasks 2 2> logfile ## Fetch Twitter Account Snapshots & Tweet Counts: every 24 hours, get new snapshots for users who haven't had a snapshot in the last 23.3 hours echo "Fetch Twitter Account Snapshots & Tweet Counts: every 24 hours, get new snapshots for users who haven't had a snapshot in the last 23.3 hours" -python schedule_twitter_jobs.py --function fetch_twitter_snapshot_and_tweets --snapshot_delta_min 1400 --interval 86400 +python schedule_twitter_jobs.py --function fetch_twitter_snapshot_and_tweets --snapshot_delta_min 1400 --interval 86400 2> logfile -python manage_scheduled_jobs.py show all +python manage_scheduled_jobs.py show all 2> logfile } diff --git a/tests/test_twitter_connect.py b/tests/test_twitter_connect.py index 8cbfc40..d53df6d 100644 --- a/tests/test_twitter_connect.py +++ b/tests/test_twitter_connect.py @@ -171,7 +171,7 @@ def test_release_verify_credential_endpoint(mock_rate_limit, mock_twitter): def recovery_after_error(mock_rate_limit, mock_twitter, error_to_test): - '''Higher level funciton to return a function that tests an error code.''' + '''Higher order function to return a function that tests an error code.''' reset_time = (datetime.datetime.utcnow() + datetime.timedelta(seconds=3)) mock_rate_limit.resources = {"getfriends": {"/friends/list": { "reset": time.mktime(reset_time.timetuple()), @@ -213,14 +213,61 @@ def recovery_after_error(mock_rate_limit, mock_twitter, error_to_test): # assert right results still came through after the too-hot error was handled. assert len(friends) == len(friend_accounts) + @patch('twitter.Api', autospec=True) @patch('twitter.ratelimit.RateLimit', autospec=True) def test_recovery_after_over_capacity(mock_rate_limit, mock_twitter): error_to_test = twitter.error.TwitterError([{'code': 130, 'message': 'Over capacity'}]) return recovery_after_error(mock_rate_limit, mock_twitter, error_to_test) + @patch('twitter.Api', autospec=True) @patch('twitter.ratelimit.RateLimit', autospec=True) def test_recovery_after_internal_error(mock_rate_limit, mock_twitter): error_to_test = twitter.error.TwitterError([{'message': 'Internal error', 'code': 131}]) return recovery_after_error(mock_rate_limit, mock_twitter, error_to_test) + + +@patch('twitter.Api', autospec=True) +@patch('twitter.ratelimit.RateLimit', autospec=True) +def test_invalid_token(mock_rate_limit, mock_twitter): + # TODO: In the unlikelihood that a VERY slow machine is running these tests + # you can increase the timedelta here and below to microseconds=500 + reset_time = (datetime.datetime.utcnow() + datetime.timedelta(seconds=3)) + mock_rate_limit.resources = {"getfriends": {"/friends/list": { + "reset": time.mktime(reset_time.timetuple()), + "remaining": 0, + "limit": 15}}} # num queries per period + + t = mock_twitter.return_value + t.rate_limit = mock_rate_limit + t.VerifyCredentials.return_value = True + t.InitializeRateLimit.side_effect = [twitter.error.TwitterError([{'code': 326, + 'message': 'To protect our users from spam and other malicious activity, this account is temporarily locked. Please log in to https://twitter.com to unlock your account.'}]), + True, True] + + + conn = app.connections.twitter_connect.TwitterConnect(log, db_session) + + # some gynamstics because Mock overides __name__ + getfriends = conn.api.GetFriends + getfriends.__name__ = 'GetFriends' + + friend_accounts = [] + with open("{script_dir}/fixture_data/twitter_get_friends.json".format(script_dir=TEST_DIR)) as f: + fixture = json.loads(f.read()) + for account in fixture: + json_dump = json.dumps(account) + account_obj = json2obj(json_dump) + friend_accounts.append(account_obj) + + t.GetFriends.side_effect = [friend_accounts] + + friends = conn.query(conn.api.GetFriends) + # assert right results still came throught + assert len(friends) == len(friend_accounts) + ratestates = db_session.query(TwitterRateState).filter(TwitterRateState.user_id == 1) + + for ratestate in ratestates: + log.debug('ratestate endpoint:{0}, isvalid:{1}'.format(ratestate.endpoint, ratestate.is_valid)) + assert ratestate.is_valid is False diff --git a/utils/email_log_report.py b/utils/email_log_report.py index 8afc4dd..28e55c0 100644 --- a/utils/email_log_report.py +++ b/utils/email_log_report.py @@ -1,174 +1,171 @@ import os import sys - +import datetime import pandas as pd -from email_db_report import send_report, date_to_str - pd.set_option('display.max_colwidth', -1) pd.set_option('mode.chained_assignment', None) -import datetime -if __name__ == "__main__" and len(sys.argv) > 1: - os.environ["CS_ENV"] = sys.argv[1] -ENV = os.environ["CS_ENV"] - -BASE_DIR = os.path.join(os.path.dirname(os.path.realpath(__file__)), "..") -log_dir = os.path.join(BASE_DIR, 'logs') -logs = os.listdir(log_dir) -logs_to_parse = ['CivilServant_{ENV}.log'.format(ENV=ENV)] - -log_tups = [] -errors = [] - -def add_logline(line): - parts = line.split(' - ') - timestamp = datetime.datetime.strptime(parts[0], '%Y-%m-%d %H:%M:%S,%f') - env = parts[1] - level = parts[2] - message = parts[3] - log_tups.append([timestamp, env, level, message]) - return timestamp - - -for logf in logs_to_parse: - last_timestamp = None - with open(os.path.join(log_dir, logf)) as f: - in_error = False - error = '' - for line in f.readlines(): - try: - last_timestamp = add_logline(line) - # if go this far then check to see if error flag was up - if in_error: - # if it is then it's the first line after an error so flush error text to errosr - errors.append((last_timestamp, error)) - error = '' - # and say we're not in an error anymoore - in_error = False - except ValueError: - if in_error == False: - # the first time here - error += 'Last known timestamp was: {last_timestamp}\n' - in_error = True - error += line - -logdf = pd.DataFrame.from_records(log_tups, columns=['timestamp', 'env', 'level', 'message']) - -logdf.set_index('timestamp', inplace=True) -logdf.sort_index(inplace=True) - -yesterday = datetime.datetime.utcnow() - datetime.timedelta(days=1) - -logdf = logdf[yesterday:] - -log_level_value_counts_html = pd.DataFrame(logdf['level'].value_counts()).to_html() - -yesterday_errors = [error for error in errors if error[0] > yesterday] - -yesterday_errors_html = pd.DataFrame.from_records(yesterday_errors, columns=['timestamp', 'stacktrace']).to_html() - -try: - first_and_last_html = logdf.iloc[[0, -1]].to_html() -except IndexError: - print('seemingly no logs') -# Timing -def RepresentsInt(s): - try: - int(s) - return True - except ValueError: - return False +from email_db_report import send_report, date_to_str + + +def make_report(): + ENV = os.environ["CS_ENV"] + BASE_DIR = os.path.join(os.path.dirname(os.path.realpath(__file__)), "..") + log_dir = os.path.join(BASE_DIR, 'logs') + logs = os.listdir(log_dir) + logs_to_parse = ['CivilServant_{ENV}.log'.format(ENV=ENV)] -def ending_pid(m): - endbit = m.replace('\n', '').split('PID=')[-1] - if RepresentsInt(endbit): - return int(endbit) - else: - return -1 + log_tups = [] + errors = [] + def add_logline(line): + parts = line.split(' - ') + timestamp = datetime.datetime.strptime(parts[0], '%Y-%m-%d %H:%M:%S,%f') + env = parts[1] + level = parts[2] + message = parts[3] + log_tups.append([timestamp, env, level, message]) + return timestamp -calling_finished = logdf[logdf['message'].apply(lambda x: x.startswith('Calling')) | logdf['message'].apply( - lambda x: x.startswith('Finished'))] + for logf in logs_to_parse: + last_timestamp = None + with open(os.path.join(log_dir, logf)) as f: + in_error = False + error = '' + for line in f.readlines(): + try: + last_timestamp = add_logline(line) + # if go this far then check to see if error flag was up + if in_error: + # if it is then it's the first line after an error so flush error text to errosr + errors.append((last_timestamp, error)) + error = '' + # and say we're not in an error anymoore + in_error = False + except ValueError: + if in_error == False: + # the first time here + error += 'Last known timestamp was: {last_timestamp}\n' + in_error = True + error += line + + logdf = pd.DataFrame.from_records(log_tups, columns=['timestamp', 'env', 'level', 'message']) + + logdf.set_index('timestamp', inplace=True) + logdf.sort_index(inplace=True) + + yesterday = datetime.datetime.utcnow() - datetime.timedelta(days=1) + + logdf = logdf[yesterday:] + + log_level_value_counts_html = pd.DataFrame(logdf['level'].value_counts()).to_html() + + yesterday_errors = [error for error in errors if error[0] > yesterday] + + yesterday_errors_html = pd.DataFrame.from_records(yesterday_errors, columns=['timestamp', 'stacktrace']).to_html() + + try: + first_and_last_html = logdf.iloc[[0, -1]].to_html() + except IndexError: + print('seemingly no logs') -calling_finished['pid'] = calling_finished['message'].apply(ending_pid) + # Timing + def RepresentsInt(s): + try: + int(s) + return True + except ValueError: + return False -calling_finished = calling_finished[calling_finished['pid'] > 0] + def ending_pid(m): + endbit = m.replace('\n', '').split('PID=')[-1] + if RepresentsInt(endbit): + return int(endbit) + else: + return -1 + calling_finished = logdf[logdf['message'].apply(lambda x: x.startswith('Calling')) | logdf['message'].apply( + lambda x: x.startswith('Finished'))] -def time_taken(df): - first = df.index.min() - last = df.index.max() - return (last - first).total_seconds() / 60 + calling_finished['pid'] = calling_finished['message'].apply(ending_pid) + calling_finished = calling_finished[calling_finished['pid'] > 0] -def which_controller(df): - return df.iloc[0].split(' ')[1].replace(',', '') + def time_taken(df): + first = df.index.min() + last = df.index.max() + return (last - first).total_seconds() / 60 + def which_controller(df): + return df.iloc[0].split(' ')[1].replace(',', '') -pid_timing = calling_finished.groupby('pid').agg({'level': time_taken, 'message': which_controller}).rename( - mapper={'level': 'total_minutes_taken', 'message': 'controller'}, axis=1) + pid_timing = calling_finished.groupby('pid').agg({'level': time_taken, 'message': which_controller}).rename( + mapper={'level': 'total_minutes_taken', 'message': 'controller'}, axis=1) -pid_timing_html = pid_timing.to_html() + pid_timing_html = pid_timing.to_html() -# Caught errors -caught_errors_html = pd.DataFrame( - logdf[logdf['level'] == 'ERROR']['message'].apply(lambda x: x[-45:]).value_counts()).rename({'message': 'count'}, - axis=1).to_html() + # Caught errors + caught_errors_html = pd.DataFrame( + logdf[logdf['level'] == 'ERROR']['message'].apply(lambda x: x[-45:]).value_counts()).rename( + {'message': 'count'}, + axis=1).to_html() -PID_df = logdf[logdf['message'].apply(lambda x: x[:3] == 'PID')] -PID_df['pid'] = PID_df['message'].apply(lambda x: x.split(' ')[1]) -is_backfill = PID_df['message'].apply(lambda x: x.endswith('Backfill=True\n')) -is_indiv_query = PID_df['message'].apply(lambda x: x.split(' ')[3] == 'total') -frontfill_df = PID_df[(~is_backfill) & (is_indiv_query)] -backfill_df = PID_df[(is_backfill) & (is_indiv_query)] + PID_df = logdf[logdf['message'].apply(lambda x: x[:3] == 'PID')] + PID_df['pid'] = PID_df['message'].apply(lambda x: x.split(' ')[1]) + is_backfill = PID_df['message'].apply(lambda x: x.endswith('Backfill=True\n')) + is_indiv_query = PID_df['message'].apply(lambda x: x.split(' ')[3] == 'total') + frontfill_df = PID_df[(~is_backfill) & (is_indiv_query)] + backfill_df = PID_df[(is_backfill) & (is_indiv_query)] -backfill_df['account'] = backfill_df['message'].apply(lambda x: x.split(' ')[9].split('.')[0]) + backfill_df['account'] = backfill_df['message'].apply(lambda x: x.split(' ')[9].split('.')[0]) -backfill_df['tweets_queried'] = backfill_df['message'].apply(lambda x: int(x.split(' ')[5])) + backfill_df['tweets_queried'] = backfill_df['message'].apply(lambda x: int(x.split(' ')[5])) -account_backfill_tweets = backfill_df.groupby('account').agg( - {'tweets_queried': sum, 'message': time_taken, 'level': len}) -account_backfill_tweets.rename(columns={'message': 'total_minutes', 'level': 'num_calls'}, inplace=True) + account_backfill_tweets = backfill_df.groupby('account').agg( + {'tweets_queried': sum, 'message': time_taken, 'level': len}) + account_backfill_tweets.rename(columns={'message': 'total_minutes', 'level': 'num_calls'}, inplace=True) -account_backfill_tweets_sum = account_backfill_tweets.sum() + account_backfill_tweets_sum = account_backfill_tweets.sum() -account_backfill_tweets_sum.name = 'sum' + account_backfill_tweets_sum.name = 'sum' -account_backfill_tweets_html = account_backfill_tweets.describe().append(account_backfill_tweets_sum).to_html() + account_backfill_tweets_html = account_backfill_tweets.describe().append(account_backfill_tweets_sum).to_html() -backfill_stats = backfill_df.groupby(by='pid').agg({'message': time_taken}).rename( - mapper={'message': 'total_minutes_taken'}, axis=1) -frontfill_stats = frontfill_df.groupby(by='pid').agg({'message': time_taken}).rename( - mapper={'message': 'total_minutes_taken'}, axis=1) + backfill_stats = backfill_df.groupby(by='pid').agg({'message': time_taken}).rename( + mapper={'message': 'total_minutes_taken'}, axis=1) + frontfill_stats = frontfill_df.groupby(by='pid').agg({'message': time_taken}).rename( + mapper={'message': 'total_minutes_taken'}, axis=1) -backfill_stats_html = backfill_stats.to_html() + backfill_stats_html = backfill_stats.to_html() -frontfill_stats_html = frontfill_stats.to_html() + frontfill_stats_html = frontfill_stats.to_html() + def make_title(text, level): + return '{text}'.format(text=text, level=level) -def make_title(text, level): - return '{text}'.format(text=text, level=level) + report_html = make_title('Report for date beginning {}'.format(yesterday), 1) + html_tables = ( + ("First and last log statements", first_and_last_html), + ("Logged errors", caught_errors_html), + ("Unlogged errors", yesterday_errors_html), + ("Log level value counts", log_level_value_counts_html), + ("Controller profiles per PID", pid_timing_html), + ("Account backfill info: count is number of accounts, sum is number of calls", account_backfill_tweets_html), + ("Backfill stats", backfill_stats_html), + ("Frontfill stats", frontfill_stats_html), + ) + for table_title, html_table in html_tables: + title = make_title(table_title, 3) + report_html += title + report_html += html_table -report_html = make_title('Report for date beginning {}'.format(yesterday), 1) + return report_html -html_tables = ( - ("First and last log statements", first_and_last_html), - ("Caught errors", caught_errors_html), - ("Uncaught errors", yesterday_errors_html), - ("Log level value counts", log_level_value_counts_html), - ("Controller timings", pid_timing_html), - ("Account backfill info", account_backfill_tweets_html), - ("Backfill stats", backfill_stats_html), - ("Frontfill stats", frontfill_stats_html), - ) -for table_title, html_table in html_tables: - title = make_title(table_title, 3) - report_html += title - report_html += html_table if __name__ == "__main__": + report_html = make_report() subject = "CivilServant Log Report: {0}".format(date_to_str(yesterday)) send_report(subject, report_html) From 3fe0e3465aae84132e5526a6817fefd06b848d7c Mon Sep 17 00:00:00 2001 From: "J. Nathan Matias" Date: Fri, 31 Aug 2018 20:29:40 -0400 Subject: [PATCH 101/221] bump up task multicount --- dmca-cmd.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dmca-cmd.sh b/dmca-cmd.sh index d34deee..3c53f41 100755 --- a/dmca-cmd.sh +++ b/dmca-cmd.sh @@ -26,11 +26,11 @@ python schedule_twitter_jobs.py --function fetch_twitter_users --interval 10800 # Backfill Twitter tweets: Every 12 hours echo "Backfill Twitter tweets: Every 12 hours" -python schedule_twitter_jobs.py --function fetch_twitter_tweets --statuses_backfill --interval 43200 2> logfile +python schedule_twitter_jobs.py --function fetch_twitter_tweets --statuses_backfill --interval 43200 --n_tasks 4 2> logfile # Fetch Twitter Tweets: Every twenty-four hours (once a day) echo "Fetch Twitter Tweets: Every twenty-four hours (once a day)" -python schedule_twitter_jobs.py --function fetch_twitter_tweets --interval 86400 --n_tasks 2 2> logfile +python schedule_twitter_jobs.py --function fetch_twitter_tweets --interval 86400 --n_tasks 4 2> logfile ## Fetch Twitter Account Snapshots & Tweet Counts: every 24 hours, get new snapshots for users who haven't had a snapshot in the last 23.3 hours echo "Fetch Twitter Account Snapshots & Tweet Counts: every 24 hours, get new snapshots for users who haven't had a snapshot in the last 23.3 hours" From ede4be2cbf250f5f09ce3b05e5cff8ce399599fb Mon Sep 17 00:00:00 2001 From: Max Klein Date: Sat, 1 Sep 2018 09:32:37 -0700 Subject: [PATCH 102/221] seperate connections for conn and control --- app/connections/twitter_connect.py | 3 +++ app/controller.py | 3 ++- dmca-cmd.sh | 24 ++++++++++++++++++------ tests/test_twitter.py | 4 +++- 4 files changed, 26 insertions(+), 8 deletions(-) diff --git a/app/connections/twitter_connect.py b/app/connections/twitter_connect.py index 081be2a..e0ca0c7 100644 --- a/app/connections/twitter_connect.py +++ b/app/connections/twitter_connect.py @@ -354,6 +354,9 @@ def checkin_endpoint(self, endpoint=None): del self.endpoint_tokens[endpoint] self.curr_endpoint = None + #potentially close + self.db_session.close() + def mark_reset_time(self, endpoint): reset_time = self.get_reset_time_of_endpoint(endpoint) ratestate = self.get_ratestate_of_endpoint(endpoint) diff --git a/app/controller.py b/app/controller.py index ad5a9d9..d5bba16 100644 --- a/app/controller.py +++ b/app/controller.py @@ -29,13 +29,14 @@ ### LOAD SQLALCHEMY SESSION db_session = DbEngine(os.path.join(BASE_DIR, "config") + "/{env}.json".format(env=ENV)).new_session() +db_session_twit_conn = DbEngine(os.path.join(BASE_DIR, "config") + "/{env}.json".format(env=ENV)).new_session() # LOAD LOGGER log = app.cs_logger.get_logger(ENV, BASE_DIR) conn = app.connections.reddit_connect.RedditConnect() lumen_conn = app.connections.lumen_connect.LumenConnect(log) -twitter_conn = app.connections.twitter_connect.TwitterConnect(log=log, db_session = db_session) +twitter_conn = app.connections.twitter_connect.TwitterConnect(log=log, db_session = db_session_twit_conn) def fetch_reddit_front(page_type=PageType.TOP): r = conn.connect(controller="FetchRedditFront") diff --git a/dmca-cmd.sh b/dmca-cmd.sh index 3c53f41..7aeda19 100755 --- a/dmca-cmd.sh +++ b/dmca-cmd.sh @@ -2,13 +2,18 @@ start_standard(){ ### Fetch lumen notices every 3 hours -# TODO make this variable with n-tasks - +echo "starting with $1 threads" echo "launch workers" rqscheduler & + +# the unadorned-queuename queue has just one worker rqworker $CS_ENV & -rqworker $CS_ENV"_concurrent" & -rqworker $CS_ENV"_concurrent" & + +for i in $(seq $1 $END) + do + echo "Launching concurrent worker $i " + rqworker $CS_ENV"_concurrent" & + done logfile="logs/CivilServant_"$CS_ENV".log" echo "logfile is "$logfile @@ -62,10 +67,17 @@ fi echo "Running with CS_ENV=$CS_ENV" +if [ -z $2 ] + then + n_tasks=4 + else + n_tasks=$2 +fi + if [ $1 = "start" ] then echo "starting" - start_standard + start_standard $n_tasks fi if [ $1 = "stop" ] @@ -78,5 +90,5 @@ if [ $1 = "restart" ] then echo "restarting" stop_all - start_standard + start_standard $n_tasks fi diff --git a/tests/test_twitter.py b/tests/test_twitter.py index dc2d0c1..f575450 100644 --- a/tests/test_twitter.py +++ b/tests/test_twitter.py @@ -21,6 +21,8 @@ ENV = os.environ['CS_ENV'] = "test" db_session = DbEngine(os.path.join(TEST_DIR, "../", "config") + "/{env}.json".format(env=ENV)).new_session() +db_session_conn = DbEngine(os.path.join(TEST_DIR, "../", "config") + "/{env}.json".format(env=ENV)).new_session() + log = app.cs_logger.get_logger(ENV, BASE_DIR) @@ -72,7 +74,7 @@ def test_archive_twitter_new_users(mock_twitter, populate_notice_users): t.UsersLookup.__name__ = 'UsersLookup' t.UsersLookup.return_value = fixture - conn = app.connections.twitter_connect.TwitterConnect(log=log, db_session=db_session) + conn = app.connections.twitter_connect.TwitterConnect(log=log, db_session=db_session_conn) t_ctrl = app.controllers.twitter_controller.TwitterController(db_session, conn, log) try: From db647c7122ffe7a38a86b87720424ab18f3de984 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Sat, 1 Sep 2018 19:28:37 -0700 Subject: [PATCH 103/221] always get a new key --- app/connections/twitter_connect.py | 23 +++++++++++------------ tests/test_twitter_connect.py | 5 +++++ utils/email_log_report.py | 7 +++---- 3 files changed, 19 insertions(+), 16 deletions(-) diff --git a/app/connections/twitter_connect.py b/app/connections/twitter_connect.py index e0ca0c7..755f26e 100644 --- a/app/connections/twitter_connect.py +++ b/app/connections/twitter_connect.py @@ -385,17 +385,10 @@ def query(self, method, *args, **kwargs): method_name = method.__name__ # find the endpoint that will be used endpoint = FUNC_ENDPOINTS[method_name] - # switch to that token or select_available_token - if endpoint in self.endpoint_tokens.keys(): - if endpoint == self.curr_endpoint: - pass # no switching necessary - else: - # activate this credential if its not the active one - self.apply_token(endpoint) - # we need to get a token-endpoint from the database - else: + # check if need to switch endpoints + if not endpoint == self.curr_endpoint: self.select_available_token(endpoint) - # select available tokens + # otherwise the correct endpoint is already selected try: # try to actually execute result = method(*args, **kwargs) @@ -404,10 +397,16 @@ def query(self, method, *args, **kwargs): except twitter.TwitterError as twiterr: # check to see if we can get an error message out err_msg = None - if type(twiterr.message).__name__ == "list": + if isinstance(twiterr.message, list): err_msg = twiterr.message[0]['message'] + elif isinstance(twiterr.message, set): + if 'Unknown error: ' in twiterr.message: + return self.constant_wait_sleep_and_recurse('Unknown set, probably malformed, error', method, *args, **kwargs) + elif isinstance(twiterr.message, dict): + if 'Unknown error: ' in twiterr.message.keys(): + return self.constant_wait_sleep_and_recurse('Unknown dict, probably malformed, error', method, *args, **kwargs) else: - self.log.info('Twitter Query encountered a twitter error without a message list') + self.log.info('Twitter Query encountered a twitter of an unknown type') raise # if we got an error message handle it via message text (could have been error code too) if err_msg == 'Rate limit exceeded': diff --git a/tests/test_twitter_connect.py b/tests/test_twitter_connect.py index d53df6d..25aadbe 100644 --- a/tests/test_twitter_connect.py +++ b/tests/test_twitter_connect.py @@ -227,6 +227,11 @@ def test_recovery_after_internal_error(mock_rate_limit, mock_twitter): error_to_test = twitter.error.TwitterError([{'message': 'Internal error', 'code': 131}]) return recovery_after_error(mock_rate_limit, mock_twitter, error_to_test) +@patch('twitter.Api', autospec=True) +@patch('twitter.ratelimit.RateLimit', autospec=True) +def test_recovery_after_unknown_error(mock_rate_limit, mock_twitter): + error_to_test = twitter.error.TwitterError({'Unknown error: '}) + return recovery_after_error(mock_rate_limit, mock_twitter, error_to_test) @patch('twitter.Api', autospec=True) @patch('twitter.ratelimit.RateLimit', autospec=True) diff --git a/utils/email_log_report.py b/utils/email_log_report.py index 28e55c0..af8ab8f 100644 --- a/utils/email_log_report.py +++ b/utils/email_log_report.py @@ -9,7 +9,7 @@ from email_db_report import send_report, date_to_str -def make_report(): +def make_report(yesterday): ENV = os.environ["CS_ENV"] BASE_DIR = os.path.join(os.path.dirname(os.path.realpath(__file__)), "..") @@ -56,8 +56,6 @@ def add_logline(line): logdf.set_index('timestamp', inplace=True) logdf.sort_index(inplace=True) - yesterday = datetime.datetime.utcnow() - datetime.timedelta(days=1) - logdf = logdf[yesterday:] log_level_value_counts_html = pd.DataFrame(logdf['level'].value_counts()).to_html() @@ -166,6 +164,7 @@ def make_title(text, level): if __name__ == "__main__": - report_html = make_report() + yesterday = datetime.datetime.utcnow() - datetime.timedelta(days=1) + report_html = make_report(yesterday) subject = "CivilServant Log Report: {0}".format(date_to_str(yesterday)) send_report(subject, report_html) From 295671def547c75ce1689537d4815fd86a47bc2f Mon Sep 17 00:00:00 2001 From: Max Klein Date: Sat, 1 Sep 2018 19:28:43 -0700 Subject: [PATCH 104/221] seperate connections for conn and control --- tests/test_twitter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_twitter.py b/tests/test_twitter.py index f575450..d235e58 100644 --- a/tests/test_twitter.py +++ b/tests/test_twitter.py @@ -29,7 +29,7 @@ def clear_twitter_tables(): for table in (TwitterRateState, TwitterToken, LumenNotice, LumenNoticeExpandedURL, LumenNoticeToTwitterUser, - TwitterUser, TwitterUserSnapshot, TwitterStatus): + TwitterUser, TwitterUserSnapshot, TwitterStatus,): db_session.query(table).delete() db_session.commit() From 2364ecca9e7770e838eaed6e4e95c24f19a69cd1 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Sun, 2 Sep 2018 08:58:48 -0700 Subject: [PATCH 105/221] log and retry db errors --- app/connections/twitter_connect.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/app/connections/twitter_connect.py b/app/connections/twitter_connect.py index 755f26e..70a39cf 100644 --- a/app/connections/twitter_connect.py +++ b/app/connections/twitter_connect.py @@ -239,6 +239,7 @@ def invalidate_token(self, endpoint): def select_available_token(self, endpoint, strategy='sequential'): wait_before_return = 0 succeeded = False + selection_attempt_counter = 0 strategy_order = {'random': sqlfunc.rand(), 'sequential': TwitterRateState.user_id, # another strategy might be fetch the most remaining in the future @@ -305,15 +306,21 @@ def select_available_token(self, endpoint, strategy='sequential'): self.endpoint_tokens[endpoint] = token self.curr_endpoint = endpoint self.log.debug('waiting for {0}'.format(wait_before_return)) + if wait_before_return < 0: + self.log.info('WHY would wait be like this?: {0}'.format(wait_before_return)) + wait_before_return = -1*wait_before_return sleep(wait_before_return) successful_application = self.apply_token(endpoint) if not successful_application: return self.select_available_token(endpoint, strategy=strategy) return True - except: - self.log.exception('exception in getting from DB for tokens') + except Exception as e: + self.log.error('Error in getting from DB for tokens was: {0}, of type: {1}'.format(e, type(e))) self.db_session.rollback() - raise + sleep(10) + if selection_attempt_counter > 10: + raise + selection_attempt_counter += 1 def get_reset_time_of_endpoint(self, endpoint): '''Utility to walk through the rate_limit dict From fc56ac4c0cd10d1cd1e177a901d434f7225635da Mon Sep 17 00:00:00 2001 From: Max Klein Date: Wed, 5 Sep 2018 16:42:19 -0700 Subject: [PATCH 106/221] don't ever stop logging, not even after 20mb --- app/cs_logger.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/cs_logger.py b/app/cs_logger.py index 4b3995f..19fc495 100644 --- a/app/cs_logger.py +++ b/app/cs_logger.py @@ -15,7 +15,7 @@ def get_logger(ENV, BASE_DIR): # print all debug and higher to STDOUT # if the environment is development - if(ENV=="development"): + if(ENV=="development"): stdoutHandler = logging.StreamHandler(sys.stdout) stdoutHandler.setLevel(logging.DEBUG) log.addHandler(stdoutHandler) @@ -24,7 +24,7 @@ def get_logger(ENV, BASE_DIR): print("Logging to " + BASE_DIR + "/logs/CivilServant_" + ENV + ".log") formatter = logging.Formatter('%(asctime)s - %(name)s({env}) - %(levelname)s - %(message)s'.format(env=ENV)) - rotateHandler = ConcurrentRotatingFileHandler(logfile, "a", 32 * 1000 * 1024, 5) + rotateHandler = ConcurrentRotatingFileHandler(logfile, "a", 32 * 1000 * 1024) rotateHandler.setLevel(logging.DEBUG) rotateHandler.setFormatter(formatter) log.addHandler(rotateHandler) From dd939d8855992deae8f9cab5a1cc53903627edc9 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Thu, 6 Sep 2018 14:43:03 -0700 Subject: [PATCH 107/221] tests for scheduler --- app/connections/twitter_connect.py | 2 +- dmca-cmd.sh | 5 ++ schedule_twitter_jobs.py | 78 ++++++++++++++++++++------ tests/fixture_data/test_no_experi.json | 9 +++ tests/fixture_data/test_oneday.json | 11 ++++ tests/test_twitter_scheduler.py | 69 +++++++++++++++++++++++ 6 files changed, 157 insertions(+), 17 deletions(-) create mode 100644 tests/fixture_data/test_no_experi.json create mode 100644 tests/fixture_data/test_oneday.json create mode 100644 tests/test_twitter_scheduler.py diff --git a/app/connections/twitter_connect.py b/app/connections/twitter_connect.py index 70a39cf..a241bdf 100644 --- a/app/connections/twitter_connect.py +++ b/app/connections/twitter_connect.py @@ -213,7 +213,7 @@ def apply_token(self, endpoint): err_code = twiterr.message[0]['code'] if err_code in (89, 326): # or 'message': 'Invalid or expired token.': self.invalidate_token(endpoint) - return False + return False if ENV != 'test' else True self.curr_endpoint = endpoint return True diff --git a/dmca-cmd.sh b/dmca-cmd.sh index 7aeda19..dd457f9 100755 --- a/dmca-cmd.sh +++ b/dmca-cmd.sh @@ -4,6 +4,8 @@ start_standard(){ ### Fetch lumen notices every 3 hours echo "starting with $1 threads" echo "launch workers" + +#put the rq scheduler in the background rqscheduler & # the unadorned-queuename queue has just one worker @@ -12,6 +14,7 @@ rqworker $CS_ENV & for i in $(seq $1 $END) do echo "Launching concurrent worker $i " +# important to use `rqworker` and not `rq worker` because the stop command kills `rqworker`. rqworker $CS_ENV"_concurrent" & done @@ -67,6 +70,7 @@ fi echo "Running with CS_ENV=$CS_ENV" +# the second argument represents the number of threads to use, if unset, default to 4. if [ -z $2 ] then n_tasks=4 @@ -74,6 +78,7 @@ if [ -z $2 ] n_tasks=$2 fi +# the first argument is a comman, either to start, stop, or restart(stop and then start). if [ $1 = "start" ] then echo "starting" diff --git a/schedule_twitter_jobs.py b/schedule_twitter_jobs.py index 9630b45..2df88fe 100644 --- a/schedule_twitter_jobs.py +++ b/schedule_twitter_jobs.py @@ -1,10 +1,26 @@ +import inspect +import sys + from redis import Redis from rq_scheduler import Scheduler from datetime import datetime import app.controller import os, argparse import schedule_twitter_jobs -from utils.common import PageType +from utils.common import DbEngine +import json +import math + +### LOAD ENVIRONMENT VARIABLES +BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))) +ENV = os.environ['CS_ENV'] + +### LOAD SQLALCHEMY SESSION +db_session = DbEngine(os.path.join(BASE_DIR, "config") + "/{env}.json".format(env=ENV)).new_session() + +# LOAD LOGGER +log = app.cs_logger.get_logger(ENV, BASE_DIR) + # documentation at # https://github.com/ui/rq-scheduler @@ -35,7 +51,9 @@ def main(): parser.add_argument("--function", required=True, choices=["fetch_lumen_notices", "parse_lumen_notices_for_twitter_accounts", - "fetch_twitter_users", "fetch_twitter_snapshot_and_tweets", "fetch_twitter_tweets"], + "fetch_twitter_users", "fetch_twitter_snapshot_and_tweets", "fetch_twitter_tweets", + "report_calculations", + ], help="The controller function to call.") parser.add_argument("--lumen_delta_days", @@ -59,7 +77,7 @@ def main(): help="Interval (in seconds) between tasks in seconds (default 60 seconds)") parser.add_argument("-e", '--env', - choices=['development', 'test', 'production'], + # choices=['development', 'test', 'production'], required=False, help="Run within a specific environment. Otherwise run under the environment defined in the environment variable CS_ENV") @@ -82,16 +100,39 @@ def main(): if args.queue != None: queue_name = args.queue - queue_name_concurrent = queue_name + '_concurrent' else: queue_name = os.environ['CS_ENV'] - queue_name_concurrent = queue_name + '_concurrent' scheduler = Scheduler(queue_name=queue_name, connection=Redis()) - ttl = max(172800, int(args.interval) + 3600) # max of (2days in seconds, args.interval + 1 hr) - timeout = max(60 * 60 * 24, int(args.interval) + 300) # max of (3hrs in seconds, args.interval + 50min) - + SECONDS_IN_DAY = 60 * 60 * 24 + + ttl = max(2*SECONDS_IN_DAY, int(args.interval) + 3600) # max of (2days in seconds, args.interval + 1 hr) + timeout = max(SECONDS_IN_DAY, int(args.interval) + 300) # max of (3hrs in seconds, args.interval + 50min) + + # LOAD Experiment details + config = json.load(open(os.path.join(BASE_DIR, 'config', '{env}.json'.format(env=os.environ['CS_ENV'])))) + try: + experiment_onboarding_days = config["experiment_onboarding_days"] + experiment_collection_days = config["experiment_collection_days"] + log.info('Loaded experiment with experiment_onboarding_days: {}'.format(experiment_onboarding_days)) + log.info('Loaded experiment with experiment_collection_days: {}'.format(experiment_collection_days)) + except KeyError: # this means that the config is unspecified + experiment_onboarding_days = None + experiment_collection_days = None + # Experiment has two stages. + # 1) Onboarding, while we are still adding new users + # 2) Collection. Collect happens during onboarding too, but continues afterwards to collect data on onboarded users + if experiment_onboarding_days is not None and experiment_collection_days is not None: + onboarding_seconds = SECONDS_IN_DAY * experiment_onboarding_days + collection_seconds = SECONDS_IN_DAY * experiment_collection_days + total_experiment_seconds = onboarding_seconds + collection_seconds + onboarding_repeats = math.ceil(onboarding_seconds / int(args.interval)) + total_experiment_repeats = math.ceil(total_experiment_seconds / int(args.interval)) + else: + # if you pass None to repeats it will continue indefinitely which is what we want for the undefined behaviour + onboarding_repeats = None + total_experiment_repeats = None if args.function == "fetch_lumen_notices": scheduler.schedule( @@ -99,7 +140,7 @@ def main(): func=app.controller.fetch_lumen_notices, args=[args.lumen_delta_days], interval=int(args.interval), - repeat=None, + repeat=onboarding_repeats, result_ttl=ttl, timeout=timeout) elif args.function == "parse_lumen_notices_for_twitter_accounts": @@ -108,7 +149,7 @@ def main(): func=app.controller.parse_lumen_notices_for_twitter_accounts, args=[], interval=int(args.interval), - repeat=None, + repeat=onboarding_repeats, result_ttl=ttl, timeout=timeout) elif args.function == "fetch_twitter_users": @@ -117,7 +158,7 @@ def main(): func=app.controller.fetch_twitter_users, args=[], interval=int(args.interval), - repeat=None, + repeat=onboarding_repeats, result_ttl=ttl, timeout=timeout) elif args.function == "fetch_twitter_snapshot_and_tweets": @@ -126,20 +167,25 @@ def main(): func=app.controller.fetch_twitter_snapshot_and_tweets, args=[args.snapshot_delta_min], interval=int(args.interval), - repeat=None, + repeat=total_experiment_repeats, result_ttl=ttl, timeout=timeout) elif args.function == "fetch_twitter_tweets": + repeats = onboarding_repeats if args.statuses_backfil else total_experiment_repeats scheduler.schedule( scheduled_time=datetime.utcnow(), func=schedule_twitter_jobs.schedule_fetch_tweets, - args=(args, ttl, timeout, queue_name), + args=(args, ttl, timeout, queue_name, repeats), interval=int(args.interval), - repeat=None, + repeat=repeats, result_ttl=ttl, timeout=timeout) + elif args.function == "report_calculations": + calc_str = str(('onboarding_repeats',onboarding_repeats, + "total_experiment_repeats",total_experiment_repeats)) + sys.stdout.write(calc_str) -def schedule_fetch_tweets(args, ttl, timeout, queue_name): +def schedule_fetch_tweets(args, ttl, timeout, queue_name, repeats): fill_start_time = datetime.utcnow() scheduler_concurrent = Scheduler(queue_name=queue_name+'_concurrent', connection=Redis()) for task in range(args.n_tasks): @@ -148,7 +194,7 @@ def schedule_fetch_tweets(args, ttl, timeout, queue_name): func=app.controller.fetch_twitter_tweets, args=[args.statuses_backfill, fill_start_time], interval=int(args.interval), - repeat=None, + repeat=repeats, result_ttl=ttl, timeout=timeout) diff --git a/tests/fixture_data/test_no_experi.json b/tests/fixture_data/test_no_experi.json new file mode 100644 index 0000000..98bf1b7 --- /dev/null +++ b/tests/fixture_data/test_no_experi.json @@ -0,0 +1,9 @@ +{ + "database": "civilservant_development", + "user": "civilservant", + "host": "localhost", + "password": "", + "client_id" : "", + "client_secret" : "", + "redirect_uri" : "" +} diff --git a/tests/fixture_data/test_oneday.json b/tests/fixture_data/test_oneday.json new file mode 100644 index 0000000..9363483 --- /dev/null +++ b/tests/fixture_data/test_oneday.json @@ -0,0 +1,11 @@ +{ + "database": "civilservant_development", + "user": "civilservant", + "host": "localhost", + "password": "", + "client_id" : "", + "client_secret" : "", + "redirect_uri" : "", + "experiment_onboarding_days": 1, + "experiment_collection_days": 1 +} diff --git a/tests/test_twitter_scheduler.py b/tests/test_twitter_scheduler.py new file mode 100644 index 0000000..56c7197 --- /dev/null +++ b/tests/test_twitter_scheduler.py @@ -0,0 +1,69 @@ +from time import sleep + +import pytest +import twitter + +import app.connections.twitter_connect +# import app.controller +import app.controllers.twitter_controller +import os +import simplejson as json +from sqlalchemy import create_engine +from sqlalchemy.orm import sessionmaker +import glob, datetime +from mock import Mock, patch +from app.models import * +from utils.common import * +import app.cs_logger +import subprocess + +TEST_DIR = os.path.dirname(os.path.realpath(__file__)) +BASE_DIR = os.path.join(TEST_DIR, "../") +ENV = os.environ['CS_ENV'] = "test" + +db_session = DbEngine(os.path.join(TEST_DIR, "../", "config") + "/{env}.json".format(env=ENV)).new_session() +db_session_conn = DbEngine(os.path.join(TEST_DIR, "../", "config") + "/{env}.json".format(env=ENV)).new_session() + +log = app.cs_logger.get_logger(ENV, BASE_DIR) + + + + +def clear_twitter_tables(): + for table in (TwitterRateState, TwitterToken, + LumenNotice, LumenNoticeExpandedURL, LumenNoticeToTwitterUser, + TwitterUser, TwitterUserSnapshot, TwitterStatus,): + db_session.query(table).delete() + db_session.commit() + + +def setup_function(function): + clear_twitter_tables() + + +def teardown_function(function): + clear_twitter_tables() + +@patch('twitter.Api', autospec=True) +def scheduler_calcs(configfile, expected_str, mock_twitter): + t = mock_twitter.return_value + t.VerifyCredentials.return_value = True + t.InitializeRateLimit.return_value = True + + # 1 day and 1 day case + p = ['python', '{BASE_DIR}./schedule_twitter_jobs.py'.format(BASE_DIR=BASE_DIR), + '--interval', '86400', + '--function', 'report_calculations', + '--env', '../tests/fixture_data/{configfile}'.format(configfile=configfile), # horrible hack, don't do this unless you're under deadline + ] + log.info('executing {}'.format(" ".join(p))) + output = subprocess.check_output(p) + + assert output.decode("utf-8").split('\n')[-1] == expected_str + + +def test_scheduler_calcs_oneday(): + scheduler_calcs('test_oneday', "('onboarding_repeats', 1, 'total_experiment_repeats', 2)") + +def test_scheduler_calcs_no_experi(): + scheduler_calcs('test_no_experi', "('onboarding_repeats', None, 'total_experiment_repeats', None)") From dddd8d39afb0d64e86ab20045727379886184646 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Thu, 6 Sep 2018 17:15:59 -0700 Subject: [PATCH 108/221] frontfiller is experiment length sensitive schedule twitter is tested jankily --- app/controller.py | 4 +- app/controllers/twitter_controller.py | 28 ++++++++--- schedule_twitter_jobs.py | 10 ++-- tests/test_twitter.py | 67 ++++++++++++++++++++++++++- tests/test_twitter_scheduler.py | 2 + 5 files changed, 98 insertions(+), 13 deletions(-) diff --git a/app/controller.py b/app/controller.py index d5bba16..be3bd8f 100644 --- a/app/controller.py +++ b/app/controller.py @@ -206,13 +206,13 @@ def fetch_twitter_snapshot_and_tweets(max_time_delta_min=60): log.info("Finished fetch_twitter_snapshot_and_tweets, max_time_delta_min={0} PID={1}".format(max_time_delta_min, str(os.getpid()))) -def fetch_twitter_tweets(backfill=False, fill_start_time=None): +def fetch_twitter_tweets(backfill=False, fill_start_time=None, collection_seconds=None): """ For all TwitterUsers with CS_most_tweets_queried=False, fetch tweets """ log.info("Calling fetch_twitter_tweets, backfill={0}. PID={1}".format(backfill, str(os.getpid()))) t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) - t.query_and_archive_tweets(backfill, fill_start_time=fill_start_time) + t.query_and_archive_tweets(backfill, fill_start_time=fill_start_time, collection_seconds=collection_seconds) twitter_conn.checkin_endpoint() log.info("Finished fetch_twitter_tweets, backfill={0}. PID={1}".format(backfill, str(os.getpid()))) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 6272b78..2affeda 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -565,11 +565,26 @@ def archive_old_users(self, key_to_users, has_ids=True): ################### ARCHIVE TWEET CODE ######################################################### - def query_and_archive_tweets(self, backfill=False, fill_start_time=None, batch_size=100, + def query_and_archive_tweets(self, backfill=False, fill_start_time=None, collection_seconds=None, batch_size=100, order="ASC", test_exception=False, is_test=False): + # make the order condition order_strat_map = {'ASC': TwitterUser.record_created_at.asc(), 'DESC': TwitterUser.record_created_at.desc()} order_strat = order_strat_map[order] + + # make the collection condition + if collection_seconds: + # their collection end window should be after right now + creation_deadline = fill_start_time - datetime.timedelta(seconds=collection_seconds) + self.log.info('Creation deadline is: {0}'.format(creation_deadline)) + collection_condition = TwitterUser.record_created_at > creation_deadline + self.log.info('Collection condition is: {0}'.format(collection_condition)) + else: + # otherwise we don't want to issue a condition so make this always True + collection_condition = True + self.log.info('Collection condition is: {0}'.format(collection_condition)) + + # make the backfil condition neq_or_eq = neq if backfill else eq all_filled = False # this flag gets set to True when we find no more users to fill @@ -580,10 +595,11 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, batch_s while not all_filled: unarchived_users = self.db_session.query(TwitterUser). \ filter(and_( - neq_or_eq(TwitterUser.CS_oldest_tweets_archived, CS_JobState.PROCESSED.value), - or_(TwitterUser.lang.in_(["en", "en-gb"]), TwitterUser.lang is None), - or_(TwitterUser.last_attempted_process < fill_start_time, - TwitterUser.last_attempted_process is None))). \ + neq_or_eq(TwitterUser.CS_oldest_tweets_archived, CS_JobState.PROCESSED.value), # back or front + or_(TwitterUser.lang.in_(["en", "en-gb"]), TwitterUser.lang is None), # correct language + or_(TwitterUser.last_attempted_process < fill_start_time, # not attempted by any other thread + TwitterUser.last_attempted_process is None), # or never been attempted yet + collection_condition)). \ order_by(order_strat). \ with_for_update(). \ limit(batch_size). \ @@ -600,7 +616,7 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, batch_s # look for our loop ending condition which is that there are no more unarchived_users all_filled = True if len(unarchived_users) == 0 else False - # set the current items to in progress + # set the current items to in-progress utils.common.update_CS_JobState(unarchived_users, "CS_oldest_tweets_archived", CS_JobState.IN_PROGRESS, self.db_session, self.log) diff --git a/schedule_twitter_jobs.py b/schedule_twitter_jobs.py index 2df88fe..6b9dd5d 100644 --- a/schedule_twitter_jobs.py +++ b/schedule_twitter_jobs.py @@ -111,7 +111,8 @@ def main(): timeout = max(SECONDS_IN_DAY, int(args.interval) + 300) # max of (3hrs in seconds, args.interval + 50min) # LOAD Experiment details - config = json.load(open(os.path.join(BASE_DIR, 'config', '{env}.json'.format(env=os.environ['CS_ENV'])))) + with open(os.path.join(BASE_DIR, 'config', '{env}.json'.format(env=os.environ['CS_ENV']))) as f: + config = json.load(f) try: experiment_onboarding_days = config["experiment_onboarding_days"] experiment_collection_days = config["experiment_collection_days"] @@ -175,7 +176,7 @@ def main(): scheduler.schedule( scheduled_time=datetime.utcnow(), func=schedule_twitter_jobs.schedule_fetch_tweets, - args=(args, ttl, timeout, queue_name, repeats), + args=(args, ttl, timeout, queue_name, repeats, collection_seconds), interval=int(args.interval), repeat=repeats, result_ttl=ttl, @@ -185,14 +186,15 @@ def main(): "total_experiment_repeats",total_experiment_repeats)) sys.stdout.write(calc_str) -def schedule_fetch_tweets(args, ttl, timeout, queue_name, repeats): + +def schedule_fetch_tweets(args, ttl, timeout, queue_name, repeats, collection_seconds): fill_start_time = datetime.utcnow() scheduler_concurrent = Scheduler(queue_name=queue_name+'_concurrent', connection=Redis()) for task in range(args.n_tasks): scheduler_concurrent.schedule( scheduled_time=datetime.utcnow(), func=app.controller.fetch_twitter_tweets, - args=[args.statuses_backfill, fill_start_time], + args=[args.statuses_backfill, fill_start_time, collection_seconds], interval=int(args.interval), repeat=repeats, result_ttl=ttl, diff --git a/tests/test_twitter.py b/tests/test_twitter.py index d235e58..54d8274 100644 --- a/tests/test_twitter.py +++ b/tests/test_twitter.py @@ -151,7 +151,6 @@ def mocked_GetUserTimeline(user_id, count=None, max_id=None): try: t_controller.query_and_archive_tweets(backfill=True, fill_start_time=datetime.datetime.utcnow(), is_test=True, test_exception=True, batch_size=100) - # t_controller.with_user_records_archive_tweets(user_records, backfill=True, is_test=True) except Exception as e: log.info('Exception was {0}'.format(e)) user_records = [x for x in db_session.query(TwitterUser).all()] @@ -170,3 +169,69 @@ def mocked_GetUserTimeline(user_id, count=None, max_id=None): for user_record in user_records: assert user_record.last_attempted_process is not None assert user_record.last_attempted_process < after_all_attempted_process + + +@patch('twitter.Api', autospec=True) +def test_with_user_records_archive_tweets_frontfill_seconds_condition(mock_twitter_api): + tc = app.connections.twitter_connect.TwitterConnect(log=log, db_session=db_session) + api = mock_twitter_api.return_value + + def mocked_GetUserTimeline(user_id, count=None, max_id=None): + with open("{script_dir}/fixture_data/anon_twitter_tweets.json".format(script_dir=TEST_DIR)) as f: + data = json.loads(f.read()) + assert len(data) == 200 + if user_id == "2" or user_id == "3": # suspended_user or protected_user + raise twitter.error.TwitterError("Not authorized.") # not mocking TwitterError + elif user_id == "1": # deleted_user + raise twitter.error.TwitterError([{'message': 'Sorry, that page does not exist.', 'code': 34}]) + else: # # existing_user ? + return data + + m = Mock() + m.side_effect = mocked_GetUserTimeline + api.GetUserTimeline = m + api.GetUserTimeline.__name__ = "GetUserTimeline" + tc.api = api + patch('twitter.') + + assert len(db_session.query(TwitterStatus).all()) == 0 + + t_controller = app.controllers.twitter_controller.TwitterController(db_session, tc, log) + + def load_processed_user(user): + user_record = TwitterUser( + id=user["id"], + screen_name=user["screen_name"], + user_state=user["user_state"], + lang="en", + CS_oldest_tweets_archived=CS_JobState.PROCESSED.value + ) + db_session.add(user_record) + db_session.commit() + + user_earlier = {"screen_name": "existing_user", "id": "888", "user_state": TwitterUserState.FOUND.value} + + user_later = {"screen_name": "existing_user", "id": "999", "user_state": TwitterUserState.FOUND.value} + + + # add two users ten seconds apart + load_processed_user(user_earlier) + sleep(10) # these records are 10 seconds apart + load_processed_user(user_later) + + for u in db_session.query(TwitterUser).all(): + log.info('Userid {0}, record_created_at {1}'.format(u.id, u.record_created_at)) + + not_yet_queried_timepoint = datetime.datetime.utcnow() + log.info("Controller starts at {}".format(not_yet_queried_timepoint)) + # tell the controller only to frontfill for people that were added in the last 5 seconds + t_controller.query_and_archive_tweets(backfill=False, fill_start_time=datetime.datetime.utcnow(), collection_seconds=5) + # collection_condition = TwitterUser.record_created_at + datetime.timedelta( seconds=collection_seconds) > fill_start_time + + # 888 should not have been attempted + early_record = db_session.query(TwitterUser).filter(TwitterUser.id==888).first() + assert early_record.last_attempted_process < not_yet_queried_timepoint + + # 999 should be attempted. + later_record = db_session.query(TwitterUser).filter(TwitterUser.id==999).first() + assert later_record.last_attempted_process > not_yet_queried_timepoint diff --git a/tests/test_twitter_scheduler.py b/tests/test_twitter_scheduler.py index 56c7197..858a9e4 100644 --- a/tests/test_twitter_scheduler.py +++ b/tests/test_twitter_scheduler.py @@ -63,7 +63,9 @@ def scheduler_calcs(configfile, expected_str, mock_twitter): def test_scheduler_calcs_oneday(): + # put in a json for 1 day, with an interval of 1 day and get back 1 onboarding repeat and 2 total experiment repeats scheduler_calcs('test_oneday', "('onboarding_repeats', 1, 'total_experiment_repeats', 2)") def test_scheduler_calcs_no_experi(): + #put in a json with no length details, get beck no repeats scheduler_calcs('test_no_experi', "('onboarding_repeats', None, 'total_experiment_repeats', None)") From 6afcc2749793a7efbc60980764f75be7dbb9cd22 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Thu, 6 Sep 2018 17:55:24 -0700 Subject: [PATCH 109/221] bugfix on thread param passing --- dmca-cmd.sh | 4 ++-- schedule_twitter_jobs.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dmca-cmd.sh b/dmca-cmd.sh index dd457f9..448ab70 100755 --- a/dmca-cmd.sh +++ b/dmca-cmd.sh @@ -34,11 +34,11 @@ python schedule_twitter_jobs.py --function fetch_twitter_users --interval 10800 # Backfill Twitter tweets: Every 12 hours echo "Backfill Twitter tweets: Every 12 hours" -python schedule_twitter_jobs.py --function fetch_twitter_tweets --statuses_backfill --interval 43200 --n_tasks 4 2> logfile +python schedule_twitter_jobs.py --function fetch_twitter_tweets --statuses_backfill --interval 43200 --n_tasks $1 2> logfile # Fetch Twitter Tweets: Every twenty-four hours (once a day) echo "Fetch Twitter Tweets: Every twenty-four hours (once a day)" -python schedule_twitter_jobs.py --function fetch_twitter_tweets --interval 86400 --n_tasks 4 2> logfile +python schedule_twitter_jobs.py --function fetch_twitter_tweets --interval 86400 --n_tasks $1 2> logfile ## Fetch Twitter Account Snapshots & Tweet Counts: every 24 hours, get new snapshots for users who haven't had a snapshot in the last 23.3 hours echo "Fetch Twitter Account Snapshots & Tweet Counts: every 24 hours, get new snapshots for users who haven't had a snapshot in the last 23.3 hours" diff --git a/schedule_twitter_jobs.py b/schedule_twitter_jobs.py index 6b9dd5d..15d708c 100644 --- a/schedule_twitter_jobs.py +++ b/schedule_twitter_jobs.py @@ -172,7 +172,7 @@ def main(): result_ttl=ttl, timeout=timeout) elif args.function == "fetch_twitter_tweets": - repeats = onboarding_repeats if args.statuses_backfil else total_experiment_repeats + repeats = onboarding_repeats if args.statuses_backfill else total_experiment_repeats scheduler.schedule( scheduled_time=datetime.utcnow(), func=schedule_twitter_jobs.schedule_fetch_tweets, From 2148e21bebf0fd39549d4c5444d06a6e811604a7 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Thu, 6 Sep 2018 17:55:24 -0700 Subject: [PATCH 110/221] bugfix on thread param passing --- dmca-cmd.sh | 4 ++-- schedule_twitter_jobs.py | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/dmca-cmd.sh b/dmca-cmd.sh index dd457f9..448ab70 100755 --- a/dmca-cmd.sh +++ b/dmca-cmd.sh @@ -34,11 +34,11 @@ python schedule_twitter_jobs.py --function fetch_twitter_users --interval 10800 # Backfill Twitter tweets: Every 12 hours echo "Backfill Twitter tweets: Every 12 hours" -python schedule_twitter_jobs.py --function fetch_twitter_tweets --statuses_backfill --interval 43200 --n_tasks 4 2> logfile +python schedule_twitter_jobs.py --function fetch_twitter_tweets --statuses_backfill --interval 43200 --n_tasks $1 2> logfile # Fetch Twitter Tweets: Every twenty-four hours (once a day) echo "Fetch Twitter Tweets: Every twenty-four hours (once a day)" -python schedule_twitter_jobs.py --function fetch_twitter_tweets --interval 86400 --n_tasks 4 2> logfile +python schedule_twitter_jobs.py --function fetch_twitter_tweets --interval 86400 --n_tasks $1 2> logfile ## Fetch Twitter Account Snapshots & Tweet Counts: every 24 hours, get new snapshots for users who haven't had a snapshot in the last 23.3 hours echo "Fetch Twitter Account Snapshots & Tweet Counts: every 24 hours, get new snapshots for users who haven't had a snapshot in the last 23.3 hours" diff --git a/schedule_twitter_jobs.py b/schedule_twitter_jobs.py index 6b9dd5d..660418c 100644 --- a/schedule_twitter_jobs.py +++ b/schedule_twitter_jobs.py @@ -121,6 +121,7 @@ def main(): except KeyError: # this means that the config is unspecified experiment_onboarding_days = None experiment_collection_days = None + collection_seconds = None # we would pass this through too. # Experiment has two stages. # 1) Onboarding, while we are still adding new users # 2) Collection. Collect happens during onboarding too, but continues afterwards to collect data on onboarded users @@ -172,7 +173,7 @@ def main(): result_ttl=ttl, timeout=timeout) elif args.function == "fetch_twitter_tweets": - repeats = onboarding_repeats if args.statuses_backfil else total_experiment_repeats + repeats = onboarding_repeats if args.statuses_backfill else total_experiment_repeats scheduler.schedule( scheduled_time=datetime.utcnow(), func=schedule_twitter_jobs.schedule_fetch_tweets, From 75ea0697215f6c24a4d9f5f1eaa08693af8d7a34 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Fri, 7 Sep 2018 23:14:49 -0700 Subject: [PATCH 111/221] add collection seconds statement --- app/controllers/twitter_controller.py | 3 ++- schedule_twitter_jobs.py | 5 ++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 2affeda..ea1cbcb 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -574,7 +574,8 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, collect # make the collection condition if collection_seconds: - # their collection end window should be after right now + # their creation start + self.log.debug('Collection seconds are {0}'.format(collection_seconds)) creation_deadline = fill_start_time - datetime.timedelta(seconds=collection_seconds) self.log.info('Creation deadline is: {0}'.format(creation_deadline)) collection_condition = TwitterUser.record_created_at > creation_deadline diff --git a/schedule_twitter_jobs.py b/schedule_twitter_jobs.py index 660418c..85e40b1 100644 --- a/schedule_twitter_jobs.py +++ b/schedule_twitter_jobs.py @@ -116,12 +116,9 @@ def main(): try: experiment_onboarding_days = config["experiment_onboarding_days"] experiment_collection_days = config["experiment_collection_days"] - log.info('Loaded experiment with experiment_onboarding_days: {}'.format(experiment_onboarding_days)) - log.info('Loaded experiment with experiment_collection_days: {}'.format(experiment_collection_days)) except KeyError: # this means that the config is unspecified experiment_onboarding_days = None experiment_collection_days = None - collection_seconds = None # we would pass this through too. # Experiment has two stages. # 1) Onboarding, while we are still adding new users # 2) Collection. Collect happens during onboarding too, but continues afterwards to collect data on onboarded users @@ -135,6 +132,8 @@ def main(): # if you pass None to repeats it will continue indefinitely which is what we want for the undefined behaviour onboarding_repeats = None total_experiment_repeats = None + log.info('Loaded experiment with experiment_onboarding_days: {}, onboarding seconds: {}'.format(experiment_onboarding_days, onboarding_seconds)) + log.info('Loaded experiment with experiment_collection_days: {}, collection seconds: {}'.format(experiment_collection_days, collection_seconds)) if args.function == "fetch_lumen_notices": scheduler.schedule( From 5339398bdde0f8c8e8db3f6d34f45584962b33cf Mon Sep 17 00:00:00 2001 From: Max Klein Date: Sat, 8 Sep 2018 00:22:52 -0700 Subject: [PATCH 112/221] lumen syntax creation and more logging for collection_seconds --- app/controller.py | 2 +- app/controllers/lumen_controller.py | 7 ++++--- app/controllers/twitter_controller.py | 21 ++++++++++++--------- 3 files changed, 17 insertions(+), 13 deletions(-) diff --git a/app/controller.py b/app/controller.py index be3bd8f..41f5a50 100644 --- a/app/controller.py +++ b/app/controller.py @@ -212,7 +212,7 @@ def fetch_twitter_tweets(backfill=False, fill_start_time=None, collection_second """ log.info("Calling fetch_twitter_tweets, backfill={0}. PID={1}".format(backfill, str(os.getpid()))) t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) - t.query_and_archive_tweets(backfill, fill_start_time=fill_start_time, collection_seconds=collection_seconds) + t.query_and_archive_tweets(backfill=backfill, fill_start_time=fill_start_time, collection_seconds=collection_seconds) twitter_conn.checkin_endpoint() log.info("Finished fetch_twitter_tweets, backfill={0}. PID={1}".format(backfill, str(os.getpid()))) diff --git a/app/controllers/lumen_controller.py b/app/controllers/lumen_controller.py index 5f6c98e..c88c3a3 100644 --- a/app/controllers/lumen_controller.py +++ b/app/controllers/lumen_controller.py @@ -188,8 +188,9 @@ def parse_notices_archive_users(self, unparsed_notices, test_exception = False): if counter >= len(unparsed_notices) / 2: raise Exception("Throwing an exception for test purposes") - except: + except Exception as e: # something unhandled went wrong during processing + self.log.error('Lumen error while parsing is: {}'.format(e)) notice.CS_parsed_usernames = notice_old_job_state self.db_session.add(notice) self.db_session.commit() @@ -199,8 +200,8 @@ def parse_notices_archive_users(self, unparsed_notices, test_exception = False): # add & commit LumenNotice job state # finish processing try: - job_state = CS_JobState.PROCESSED if (job_state is not CS_JobState.NEEDS_RETRY) else CS_JobState.NEEDS_RETRY - notice.CS_parsed_usernames = job_state.value + job_state = CS_JobState.PROCESSED.value if (job_state is not CS_JobState.NEEDS_RETRY.value) else CS_JobState.NEEDS_RETRY.value + notice.CS_parsed_usernames = job_state self.db_session.add(notice) self.db_session.commit() except: diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index ea1cbcb..c809f77 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -573,19 +573,20 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, collect order_strat = order_strat_map[order] # make the collection condition - if collection_seconds: + # only impose collection seconds if frontfill + if backfill or collection_seconds is None: + # otherwise we don't want to issue a condition so make this always True + collection_condition = True + self.log.info('Collection condition is: {0}'.format(collection_condition)) + elif collection_seconds: # their creation start self.log.debug('Collection seconds are {0}'.format(collection_seconds)) creation_deadline = fill_start_time - datetime.timedelta(seconds=collection_seconds) self.log.info('Creation deadline is: {0}'.format(creation_deadline)) collection_condition = TwitterUser.record_created_at > creation_deadline self.log.info('Collection condition is: {0}'.format(collection_condition)) - else: - # otherwise we don't want to issue a condition so make this always True - collection_condition = True - self.log.info('Collection condition is: {0}'.format(collection_condition)) - # make the backfil condition + # make the backfill condition neq_or_eq = neq if backfill else eq all_filled = False # this flag gets set to True when we find no more users to fill @@ -594,7 +595,7 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, collect # know if every item was either processed successfully or failed batch_attempt_counter = 0 while not all_filled: - unarchived_users = self.db_session.query(TwitterUser). \ + fill_query = self.db_session.query(TwitterUser). \ filter(and_( neq_or_eq(TwitterUser.CS_oldest_tweets_archived, CS_JobState.PROCESSED.value), # back or front or_(TwitterUser.lang.in_(["en", "en-gb"]), TwitterUser.lang is None), # correct language @@ -603,8 +604,10 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, collect collection_condition)). \ order_by(order_strat). \ with_for_update(). \ - limit(batch_size). \ - all() + limit(batch_size) + + # self.log.info('Fill query is: {}'.format(str(fill_query))) + unarchived_users = fill_query.all() # mark in the database that we're claiming these items last_attempted_process = datetime.datetime.utcnow() From 728a0836471d71273749416b5396c7d3e55822d5 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Sat, 8 Sep 2018 00:22:52 -0700 Subject: [PATCH 113/221] lumen syntax creation and more logging for collection_seconds --- app/controller.py | 2 +- app/controllers/lumen_controller.py | 7 ++++--- app/controllers/twitter_controller.py | 25 ++++++++++++++----------- 3 files changed, 19 insertions(+), 15 deletions(-) diff --git a/app/controller.py b/app/controller.py index be3bd8f..41f5a50 100644 --- a/app/controller.py +++ b/app/controller.py @@ -212,7 +212,7 @@ def fetch_twitter_tweets(backfill=False, fill_start_time=None, collection_second """ log.info("Calling fetch_twitter_tweets, backfill={0}. PID={1}".format(backfill, str(os.getpid()))) t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) - t.query_and_archive_tweets(backfill, fill_start_time=fill_start_time, collection_seconds=collection_seconds) + t.query_and_archive_tweets(backfill=backfill, fill_start_time=fill_start_time, collection_seconds=collection_seconds) twitter_conn.checkin_endpoint() log.info("Finished fetch_twitter_tweets, backfill={0}. PID={1}".format(backfill, str(os.getpid()))) diff --git a/app/controllers/lumen_controller.py b/app/controllers/lumen_controller.py index 5f6c98e..c88c3a3 100644 --- a/app/controllers/lumen_controller.py +++ b/app/controllers/lumen_controller.py @@ -188,8 +188,9 @@ def parse_notices_archive_users(self, unparsed_notices, test_exception = False): if counter >= len(unparsed_notices) / 2: raise Exception("Throwing an exception for test purposes") - except: + except Exception as e: # something unhandled went wrong during processing + self.log.error('Lumen error while parsing is: {}'.format(e)) notice.CS_parsed_usernames = notice_old_job_state self.db_session.add(notice) self.db_session.commit() @@ -199,8 +200,8 @@ def parse_notices_archive_users(self, unparsed_notices, test_exception = False): # add & commit LumenNotice job state # finish processing try: - job_state = CS_JobState.PROCESSED if (job_state is not CS_JobState.NEEDS_RETRY) else CS_JobState.NEEDS_RETRY - notice.CS_parsed_usernames = job_state.value + job_state = CS_JobState.PROCESSED.value if (job_state is not CS_JobState.NEEDS_RETRY.value) else CS_JobState.NEEDS_RETRY.value + notice.CS_parsed_usernames = job_state self.db_session.add(notice) self.db_session.commit() except: diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index ea1cbcb..803269b 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -573,19 +573,20 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, collect order_strat = order_strat_map[order] # make the collection condition - if collection_seconds: + # only impose collection seconds if frontfill + if backfill or collection_seconds is None: + # otherwise we don't want to issue a condition so make this always True + collection_condition = True + self.log.info('Collection condition is: {0}'.format(collection_condition)) + elif collection_seconds: # their creation start - self.log.debug('Collection seconds are {0}'.format(collection_seconds)) + self.log.info('Collection seconds are {0}'.format(collection_seconds)) creation_deadline = fill_start_time - datetime.timedelta(seconds=collection_seconds) - self.log.info('Creation deadline is: {0}'.format(creation_deadline)) + self.log.info('Collection deadline is: {0}'.format(creation_deadline)) collection_condition = TwitterUser.record_created_at > creation_deadline self.log.info('Collection condition is: {0}'.format(collection_condition)) - else: - # otherwise we don't want to issue a condition so make this always True - collection_condition = True - self.log.info('Collection condition is: {0}'.format(collection_condition)) - # make the backfil condition + # make the backfill condition neq_or_eq = neq if backfill else eq all_filled = False # this flag gets set to True when we find no more users to fill @@ -594,7 +595,7 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, collect # know if every item was either processed successfully or failed batch_attempt_counter = 0 while not all_filled: - unarchived_users = self.db_session.query(TwitterUser). \ + fill_query = self.db_session.query(TwitterUser). \ filter(and_( neq_or_eq(TwitterUser.CS_oldest_tweets_archived, CS_JobState.PROCESSED.value), # back or front or_(TwitterUser.lang.in_(["en", "en-gb"]), TwitterUser.lang is None), # correct language @@ -603,8 +604,10 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, collect collection_condition)). \ order_by(order_strat). \ with_for_update(). \ - limit(batch_size). \ - all() + limit(batch_size) + + # self.log.info('Fill query is: {}'.format(str(fill_query))) + unarchived_users = fill_query.all() # mark in the database that we're claiming these items last_attempted_process = datetime.datetime.utcnow() From cce87c95d61c8aed5ba862b2544bdaafb14741d6 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Sat, 8 Sep 2018 00:22:52 -0700 Subject: [PATCH 114/221] lumen syntax creation and more logging for collection_seconds --- app/controller.py | 2 +- app/controllers/lumen_controller.py | 7 ++++--- app/controllers/twitter_controller.py | 27 ++++++++++++++++----------- schedule_twitter_jobs.py | 2 ++ 4 files changed, 23 insertions(+), 15 deletions(-) diff --git a/app/controller.py b/app/controller.py index be3bd8f..41f5a50 100644 --- a/app/controller.py +++ b/app/controller.py @@ -212,7 +212,7 @@ def fetch_twitter_tweets(backfill=False, fill_start_time=None, collection_second """ log.info("Calling fetch_twitter_tweets, backfill={0}. PID={1}".format(backfill, str(os.getpid()))) t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) - t.query_and_archive_tweets(backfill, fill_start_time=fill_start_time, collection_seconds=collection_seconds) + t.query_and_archive_tweets(backfill=backfill, fill_start_time=fill_start_time, collection_seconds=collection_seconds) twitter_conn.checkin_endpoint() log.info("Finished fetch_twitter_tweets, backfill={0}. PID={1}".format(backfill, str(os.getpid()))) diff --git a/app/controllers/lumen_controller.py b/app/controllers/lumen_controller.py index 5f6c98e..c88c3a3 100644 --- a/app/controllers/lumen_controller.py +++ b/app/controllers/lumen_controller.py @@ -188,8 +188,9 @@ def parse_notices_archive_users(self, unparsed_notices, test_exception = False): if counter >= len(unparsed_notices) / 2: raise Exception("Throwing an exception for test purposes") - except: + except Exception as e: # something unhandled went wrong during processing + self.log.error('Lumen error while parsing is: {}'.format(e)) notice.CS_parsed_usernames = notice_old_job_state self.db_session.add(notice) self.db_session.commit() @@ -199,8 +200,8 @@ def parse_notices_archive_users(self, unparsed_notices, test_exception = False): # add & commit LumenNotice job state # finish processing try: - job_state = CS_JobState.PROCESSED if (job_state is not CS_JobState.NEEDS_RETRY) else CS_JobState.NEEDS_RETRY - notice.CS_parsed_usernames = job_state.value + job_state = CS_JobState.PROCESSED.value if (job_state is not CS_JobState.NEEDS_RETRY.value) else CS_JobState.NEEDS_RETRY.value + notice.CS_parsed_usernames = job_state self.db_session.add(notice) self.db_session.commit() except: diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index ea1cbcb..b76fb5e 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -573,19 +573,22 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, collect order_strat = order_strat_map[order] # make the collection condition - if collection_seconds: + # only impose collection seconds if frontfill + if backfill or collection_seconds is None: + # otherwise we don't want to issue a condition so make this always True + collection_condition = True + self.log.info('Collection condition is: {0}'.format(collection_condition)) + elif collection_seconds: # their creation start - self.log.debug('Collection seconds are {0}'.format(collection_seconds)) + self.log.info('Collection seconds are {0}'.format(collection_seconds)) creation_deadline = fill_start_time - datetime.timedelta(seconds=collection_seconds) - self.log.info('Creation deadline is: {0}'.format(creation_deadline)) + self.log.info('Collection deadline is: {0}'.format(creation_deadline)) collection_condition = TwitterUser.record_created_at > creation_deadline self.log.info('Collection condition is: {0}'.format(collection_condition)) - else: - # otherwise we don't want to issue a condition so make this always True - collection_condition = True - self.log.info('Collection condition is: {0}'.format(collection_condition)) + collection_eligible = self.db_session.query(TwitterUser).filter(collection_condition).count() + self.log.info('Collection eligible twitters users number: {0}'.format(collection_eligible)) - # make the backfil condition + # make the backfill condition neq_or_eq = neq if backfill else eq all_filled = False # this flag gets set to True when we find no more users to fill @@ -594,7 +597,7 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, collect # know if every item was either processed successfully or failed batch_attempt_counter = 0 while not all_filled: - unarchived_users = self.db_session.query(TwitterUser). \ + fill_query = self.db_session.query(TwitterUser). \ filter(and_( neq_or_eq(TwitterUser.CS_oldest_tweets_archived, CS_JobState.PROCESSED.value), # back or front or_(TwitterUser.lang.in_(["en", "en-gb"]), TwitterUser.lang is None), # correct language @@ -603,8 +606,10 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, collect collection_condition)). \ order_by(order_strat). \ with_for_update(). \ - limit(batch_size). \ - all() + limit(batch_size) + + # self.log.info('Fill query is: {}'.format(str(fill_query))) + unarchived_users = fill_query.all() # mark in the database that we're claiming these items last_attempted_process = datetime.datetime.utcnow() diff --git a/schedule_twitter_jobs.py b/schedule_twitter_jobs.py index 85e40b1..5595c25 100644 --- a/schedule_twitter_jobs.py +++ b/schedule_twitter_jobs.py @@ -130,7 +130,9 @@ def main(): total_experiment_repeats = math.ceil(total_experiment_seconds / int(args.interval)) else: # if you pass None to repeats it will continue indefinitely which is what we want for the undefined behaviour + onboarding_seconds = None onboarding_repeats = None + collection_seconds = None total_experiment_repeats = None log.info('Loaded experiment with experiment_onboarding_days: {}, onboarding seconds: {}'.format(experiment_onboarding_days, onboarding_seconds)) log.info('Loaded experiment with experiment_collection_days: {}, collection seconds: {}'.format(experiment_collection_days, collection_seconds)) From 668c23bad42ea779acb2a1c1d787a6b77a318cad Mon Sep 17 00:00:00 2001 From: Max Klein Date: Mon, 10 Sep 2018 16:51:31 -0700 Subject: [PATCH 115/221] restartabe experiments --- .gitignore | 2 ++ README.md | 8 +++++++ schedule_twitter_jobs.py | 45 ++++++++++++++++++++++++++-------------- 3 files changed, 40 insertions(+), 15 deletions(-) diff --git a/.gitignore b/.gitignore index 87e206b..aac4c60 100644 --- a/.gitignore +++ b/.gitignore @@ -79,3 +79,5 @@ target/ \.idea/ \.pytest_cache/ + +utils/logs/ diff --git a/README.md b/README.md index 19d324c..193d1ac 100644 --- a/README.md +++ b/README.md @@ -7,3 +7,11 @@ More information about our first set of experiments & replications can be found If you are interested to do an experiment with Nathan, please contact him on Github or on reddit at [/u/natematias/](https://www.reddit.com/user/natematias). The CivilServant software is available under the MIT License, a permissive open source license. + +## Running the DMCA study. +### Date and length configurations ++ in env.json put date, and lengths. +### Using `dmca-cmd` +To start, stop, or restart the study easily. ++ second argument is threads, so to downgrade the bot do `./dmca-cmd.sh restart 2 (or however)` ++ but I calculated that after 40 days of onboarding users you will need 75-thread hours per day to keep up with the several million API calls per day. diff --git a/schedule_twitter_jobs.py b/schedule_twitter_jobs.py index 5595c25..2e9795a 100644 --- a/schedule_twitter_jobs.py +++ b/schedule_twitter_jobs.py @@ -116,26 +116,41 @@ def main(): try: experiment_onboarding_days = config["experiment_onboarding_days"] experiment_collection_days = config["experiment_collection_days"] - except KeyError: # this means that the config is unspecified - experiment_onboarding_days = None - experiment_collection_days = None - # Experiment has two stages. - # 1) Onboarding, while we are still adding new users - # 2) Collection. Collect happens during onboarding too, but continues afterwards to collect data on onboarded users - if experiment_onboarding_days is not None and experiment_collection_days is not None: - onboarding_seconds = SECONDS_IN_DAY * experiment_onboarding_days - collection_seconds = SECONDS_IN_DAY * experiment_collection_days + experiment_start_date = datetime.strptime(config["experiment_start_date"], '%Y-%m-%d') + today = datetime.utcnow() + log.info('Loaded experiment start date: {}. Today is :{}'.format(experiment_start_date, today)) + time_til_experiment = experiment_start_date - today + log.info('Time until experiment is: {}'.format(time_til_experiment)) + if time_til_experiment.days >= 1: + sleep_secs = time_til_experiment.seconds + log.info('Experiment start date more than 1 day in the future. Sleeping for {}'.format(sleep_secs)) + + # Experiment has two stages. + # 1) Onboarding, while we are still adding new users + # 2) Collection. Collect happens during onboarding too, but continues afterwards to collect data on onboarded users + days_already_done = -1 * time_til_experiment.days + # plus padding to always round up to nearest day + onboarding_days_left = experiment_onboarding_days - days_already_done + 1 + collection_days_left = experiment_collection_days - days_already_done + 2 # seeing if a sneaky 2 will help with frontfill issues + if onboarding_days_left <= 0 or collection_days_left <= 0: + raise ValueError('Experiment ended in the past') + onboarding_seconds = SECONDS_IN_DAY * onboarding_days_left + collection_seconds = SECONDS_IN_DAY * collection_days_left total_experiment_seconds = onboarding_seconds + collection_seconds onboarding_repeats = math.ceil(onboarding_seconds / int(args.interval)) total_experiment_repeats = math.ceil(total_experiment_seconds / int(args.interval)) - else: # if you pass None to repeats it will continue indefinitely which is what we want for the undefined behaviour - onboarding_seconds = None + log.info('Loaded experiment with experiment_onboarding_days: {}, onboarding seconds: {}'.format( + experiment_onboarding_days, onboarding_seconds)) + log.info('Loaded experiment with experiment_collection_days: {}, collection seconds: {}'.format( + experiment_collection_days, collection_seconds)) + + + except KeyError: # this means that part of the config is unspecified onboarding_repeats = None - collection_seconds = None total_experiment_repeats = None - log.info('Loaded experiment with experiment_onboarding_days: {}, onboarding seconds: {}'.format(experiment_onboarding_days, onboarding_seconds)) - log.info('Loaded experiment with experiment_collection_days: {}, collection seconds: {}'.format(experiment_collection_days, collection_seconds)) + collection_seconds = None + if args.function == "fetch_lumen_notices": scheduler.schedule( @@ -194,7 +209,7 @@ def schedule_fetch_tweets(args, ttl, timeout, queue_name, repeats, collection_se scheduler_concurrent = Scheduler(queue_name=queue_name+'_concurrent', connection=Redis()) for task in range(args.n_tasks): scheduler_concurrent.schedule( - scheduled_time=datetime.utcnow(), + scheduled_time=fill_start_time(), func=app.controller.fetch_twitter_tweets, args=[args.statuses_backfill, fill_start_time, collection_seconds], interval=int(args.interval), From 27fba58f61d5512b40582b36e3c20f086d968db3 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Mon, 10 Sep 2018 17:52:53 -0700 Subject: [PATCH 116/221] exit if in past, frontfill reports --- schedule_twitter_jobs.py | 10 ++++++---- utils/email_log_report.py | 14 +++++++++++--- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/schedule_twitter_jobs.py b/schedule_twitter_jobs.py index 2e9795a..322115e 100644 --- a/schedule_twitter_jobs.py +++ b/schedule_twitter_jobs.py @@ -114,8 +114,8 @@ def main(): with open(os.path.join(BASE_DIR, 'config', '{env}.json'.format(env=os.environ['CS_ENV']))) as f: config = json.load(f) try: - experiment_onboarding_days = config["experiment_onboarding_days"] - experiment_collection_days = config["experiment_collection_days"] + experiment_onboarding_days = int(config["experiment_onboarding_days"]) + experiment_collection_days = int(config["experiment_collection_days"]) experiment_start_date = datetime.strptime(config["experiment_start_date"], '%Y-%m-%d') today = datetime.utcnow() log.info('Loaded experiment start date: {}. Today is :{}'.format(experiment_start_date, today)) @@ -132,7 +132,7 @@ def main(): # plus padding to always round up to nearest day onboarding_days_left = experiment_onboarding_days - days_already_done + 1 collection_days_left = experiment_collection_days - days_already_done + 2 # seeing if a sneaky 2 will help with frontfill issues - if onboarding_days_left <= 0 or collection_days_left <= 0: + if (onboarding_days_left <= 0) or (collection_days_left <= 0): raise ValueError('Experiment ended in the past') onboarding_seconds = SECONDS_IN_DAY * onboarding_days_left collection_seconds = SECONDS_IN_DAY * collection_days_left @@ -145,11 +145,13 @@ def main(): log.info('Loaded experiment with experiment_collection_days: {}, collection seconds: {}'.format( experiment_collection_days, collection_seconds)) - except KeyError: # this means that part of the config is unspecified onboarding_repeats = None total_experiment_repeats = None collection_seconds = None + except ValueError as e: + log.error(e) + sys.exit(1) if args.function == "fetch_lumen_notices": diff --git a/utils/email_log_report.py b/utils/email_log_report.py index af8ab8f..af1b025 100644 --- a/utils/email_log_report.py +++ b/utils/email_log_report.py @@ -118,18 +118,25 @@ def which_controller(df): backfill_df = PID_df[(is_backfill) & (is_indiv_query)] backfill_df['account'] = backfill_df['message'].apply(lambda x: x.split(' ')[9].split('.')[0]) + frontfill_df['account'] = frontfill_df['message'].apply(lambda x: x.split(' ')[9].split('.')[0]) backfill_df['tweets_queried'] = backfill_df['message'].apply(lambda x: int(x.split(' ')[5])) + frontfill_df['tweets_queried'] = frontfill_df['message'].apply(lambda x: int(x.split(' ')[5])) account_backfill_tweets = backfill_df.groupby('account').agg( {'tweets_queried': sum, 'message': time_taken, 'level': len}) account_backfill_tweets.rename(columns={'message': 'total_minutes', 'level': 'num_calls'}, inplace=True) + account_frontfill_tweets = frontfill_df.groupby('account').agg( + {'tweets_queried': sum, 'message': time_taken, 'level': len}) + account_frontfill_tweets.rename(columns={'message': 'total_minutes', 'level': 'num_calls'}, inplace=True) account_backfill_tweets_sum = account_backfill_tweets.sum() - account_backfill_tweets_sum.name = 'sum' + account_frontfill_tweets_sum = account_frontfill_tweets.sum() + account_frontfill_tweets_sum.name = 'sum' account_backfill_tweets_html = account_backfill_tweets.describe().append(account_backfill_tweets_sum).to_html() + account_frontfill_tweets_html = account_frontfill_tweets.describe().append(account_frontfill_tweets_sum).to_html() backfill_stats = backfill_df.groupby(by='pid').agg({'message': time_taken}).rename( mapper={'message': 'total_minutes_taken'}, axis=1) @@ -152,8 +159,9 @@ def make_title(text, level): ("Log level value counts", log_level_value_counts_html), ("Controller profiles per PID", pid_timing_html), ("Account backfill info: count is number of accounts, sum is number of calls", account_backfill_tweets_html), - ("Backfill stats", backfill_stats_html), - ("Frontfill stats", frontfill_stats_html), + ("Account frontfill info: count is number of accounts, sum is number of calls", account_frontfill_tweets_html), + ("Backfill timing stats (includes unfinished runs)", backfill_stats_html), + ("Frontfill timing stats (includes unfinished runs)", frontfill_stats_html), ) for table_title, html_table in html_tables: title = make_title(table_title, 3) From 7b64ebcf950b79a7ca4c6a77a6b78740d5e376a4 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Tue, 11 Sep 2018 16:16:07 -0700 Subject: [PATCH 117/221] create index on twitter_statuses created date --- ...dc2b3_index_on_twitterstatus_created_at.py | 64 +++++++++++++++++++ app/models.py | 2 +- 2 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 alembic/versions/0dbd786dc2b3_index_on_twitterstatus_created_at.py diff --git a/alembic/versions/0dbd786dc2b3_index_on_twitterstatus_created_at.py b/alembic/versions/0dbd786dc2b3_index_on_twitterstatus_created_at.py new file mode 100644 index 0000000..03642d2 --- /dev/null +++ b/alembic/versions/0dbd786dc2b3_index_on_twitterstatus_created_at.py @@ -0,0 +1,64 @@ +"""index on twitterstatus created at + +Revision ID: 0dbd786dc2b3 +Revises: dd20ee8bb3d3 +Create Date: 2018-09-11 12:32:35.567811 + +""" + +# revision identifiers, used by Alembic. +revision = '0dbd786dc2b3' +down_revision = 'dd20ee8bb3d3' +branch_labels = None +depends_on = None + +from alembic import op +import sqlalchemy as sa + + +def upgrade(engine_name): + globals()["upgrade_%s" % engine_name]() + + +def downgrade(engine_name): + globals()["downgrade_%s" % engine_name]() + + + + + +def upgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_index(op.f('ix_twitter_statuses_created_at'), 'twitter_statuses', ['created_at'], unique=False) + # ### end Alembic commands ### + + +def downgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index(op.f('ix_twitter_statuses_created_at'), table_name='twitter_statuses') + # ### end Alembic commands ### + + +def upgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_index(op.f('ix_twitter_statuses_created_at'), 'twitter_statuses', ['created_at'], unique=False) + # ### end Alembic commands ### + + +def downgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index(op.f('ix_twitter_statuses_created_at'), table_name='twitter_statuses') + # ### end Alembic commands ### + + +def upgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_index(op.f('ix_twitter_statuses_created_at'), 'twitter_statuses', ['created_at'], unique=False) + # ### end Alembic commands ### + + +def downgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index(op.f('ix_twitter_statuses_created_at'), table_name='twitter_statuses') + # ### end Alembic commands ### + diff --git a/app/models.py b/app/models.py index f10b7d7..16c7641 100644 --- a/app/models.py +++ b/app/models.py @@ -261,7 +261,7 @@ class TwitterStatus(Base): __tablename__ = 'twitter_statuses' id = Column(BigInteger, primary_key = True) user_id = Column(BigInteger, index = True) - created_at = Column(DateTime) + created_at = Column(DateTime, index = True) record_created_at = Column(DateTime, default=datetime.datetime.utcnow, index=True) # need this index for fast counting status_data = Column(MEDIUMTEXT) From 28ef37a29b9d72ea4c9f52be0c794149cf8c121f Mon Sep 17 00:00:00 2001 From: Max Klein Date: Wed, 12 Sep 2018 15:41:50 -0700 Subject: [PATCH 118/221] lumen syntax creation and more logging for collection_seconds --- app/controllers/twitter_controller.py | 5 ++++- dmca-cmd.sh | 2 +- schedule_twitter_jobs.py | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index b76fb5e..427fc63 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -587,6 +587,9 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, collect self.log.info('Collection condition is: {0}'.format(collection_condition)) collection_eligible = self.db_session.query(TwitterUser).filter(collection_condition).count() self.log.info('Collection eligible twitters users number: {0}'.format(collection_eligible)) + # TODO: remove this colection condition overwrite. + self.log.info('Reminder, hacking collection condition to ensure it runs during Max holiday.'.format(collection_eligible)) + collection_condition = True # make the backfill condition neq_or_eq = neq if backfill else eq @@ -605,7 +608,7 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, collect TwitterUser.last_attempted_process is None), # or never been attempted yet collection_condition)). \ order_by(order_strat). \ - with_for_update(). \ + with_for_update(skip_locked=True). \ limit(batch_size) # self.log.info('Fill query is: {}'.format(str(fill_query))) diff --git a/dmca-cmd.sh b/dmca-cmd.sh index 448ab70..f12b6a3 100755 --- a/dmca-cmd.sh +++ b/dmca-cmd.sh @@ -29,7 +29,7 @@ echo "Parse lumen notices for twitter accounts: every 3 hours" python schedule_twitter_jobs.py --function parse_lumen_notices_for_twitter_accounts --interval 10800 2> logfile ## Fetch Twitter Users: every 3 hours -## Fetch Twitter Users: every 3 hours +echo Fetch Twitter Users: every 3 hours python schedule_twitter_jobs.py --function fetch_twitter_users --interval 10800 2> logfile # Backfill Twitter tweets: Every 12 hours diff --git a/schedule_twitter_jobs.py b/schedule_twitter_jobs.py index 322115e..711bb55 100644 --- a/schedule_twitter_jobs.py +++ b/schedule_twitter_jobs.py @@ -211,7 +211,7 @@ def schedule_fetch_tweets(args, ttl, timeout, queue_name, repeats, collection_se scheduler_concurrent = Scheduler(queue_name=queue_name+'_concurrent', connection=Redis()) for task in range(args.n_tasks): scheduler_concurrent.schedule( - scheduled_time=fill_start_time(), + scheduled_time=fill_start_time, func=app.controller.fetch_twitter_tweets, args=[args.statuses_backfill, fill_start_time, collection_seconds], interval=int(args.interval), From ace4f5b08c76e6df50af5d4f89ebf6a09cf0c660 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Fri, 14 Sep 2018 10:37:21 -0700 Subject: [PATCH 119/221] lumen syntax creation and more logging for collection_seconds --- README.md | 27 +- app/connections/twitter_connect.py | 2 +- app/controller.py | 2 +- app/controllers/twitter_controller.py | 2 +- logfile | 0 schedule_twitter_jobs.py | 2 +- ...r_observational_analysis_controller2.ipynb | 103 +++ utils/email_log_report.py | 14 +- utils/lumentwit_experiment_pre_post.py | 85 ++ ...r_observational_analysis_controller2.ipynb | 738 ++++++++++++++++++ 10 files changed, 963 insertions(+), 12 deletions(-) create mode 100644 logfile create mode 100644 twitter_observational_analysis_controller2.ipynb create mode 100644 utils/lumentwit_experiment_pre_post.py create mode 100644 utils/twitter_observational_analysis_controller2.ipynb diff --git a/README.md b/README.md index 193d1ac..72f716c 100644 --- a/README.md +++ b/README.md @@ -10,8 +10,27 @@ The CivilServant software is available under the MIT License, a permissive open ## Running the DMCA study. ### Date and length configurations -+ in env.json put date, and lengths. ++ in {env}.json there are 3 variables to configure about the experiment, if any of them are missing then the behaviour is to run indenfinitely. +``` + "experiment_onboarding_days": 10, # number of days collecting and backfilling new users + "experiment_collection_days": 10, # number of days to follow a user after onboarding + "experiment_start_date": "2018-09-10" # date that the experiment starts +``` ### Using `dmca-cmd` -To start, stop, or restart the study easily. -+ second argument is threads, so to downgrade the bot do `./dmca-cmd.sh restart 2 (or however)` -+ but I calculated that after 40 days of onboarding users you will need 75-thread hours per day to keep up with the several million API calls per day. +1. `./dmca-cmd.sh` takes a first argument as one of `start`, `stop`, or `restart`. +2. The second argument is number of threads (defaults to 4). For example start with `./dmca-cmd.sh start 8` +3. If the experiment_start_date is set, the experiment becomes "restartable", so during running you could do `./dmca-cmd.sh restart 10` to add threads. +4. Note, I calculated that after 40 days of onboarding users you will need 75-thread hours per day to keep up with ~2+ million API calls per day. + +### Config files needed. ++ `{env}.json` experiment variables ++ `environment_variables.sh` needed for "airbrake" and host check ++ `twitter_auth_{env}.json` the twitter-app oauth ++ `twitter_configuration_{env}.json` points to where twitter donated keys are kept ++ `lumen_auth_{env}.json` connect to lumn database ++ `email_db_report.json` who's gonna get report emails + +### Crontab +The crontab is used to send reports. At the moment it is scheduled as. +`0 0 * * * /home/dmca/dmca/CivilServant/utils/email-reports.sh` +` diff --git a/app/connections/twitter_connect.py b/app/connections/twitter_connect.py index a241bdf..e04c53d 100644 --- a/app/connections/twitter_connect.py +++ b/app/connections/twitter_connect.py @@ -422,7 +422,7 @@ def query(self, method, *args, **kwargs): self.mark_reset_time_and_checkin(endpoint) # recurse! self.log.info('Recursing for method:', method) - return self.query(method, *args, **kwargs) + return self.constant_wait_sleep_and_recurse(err_msg, method, *args, **kwargs) # if it's over capacity we know how to deal with that elif err_msg == 'Over capacity': return self.constant_wait_sleep_and_recurse(err_msg, method, *args, **kwargs) diff --git a/app/controller.py b/app/controller.py index 41f5a50..2aaaeee 100644 --- a/app/controller.py +++ b/app/controller.py @@ -206,7 +206,7 @@ def fetch_twitter_snapshot_and_tweets(max_time_delta_min=60): log.info("Finished fetch_twitter_snapshot_and_tweets, max_time_delta_min={0} PID={1}".format(max_time_delta_min, str(os.getpid()))) -def fetch_twitter_tweets(backfill=False, fill_start_time=None, collection_seconds=None): +def fetch_twitter_tweets(backfill=False, fill_start_time=datetime.datetime.utcnow(), collection_seconds=None): """ For all TwitterUsers with CS_most_tweets_queried=False, fetch tweets """ diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 427fc63..810ad4c 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -565,7 +565,7 @@ def archive_old_users(self, key_to_users, has_ids=True): ################### ARCHIVE TWEET CODE ######################################################### - def query_and_archive_tweets(self, backfill=False, fill_start_time=None, collection_seconds=None, batch_size=100, + def query_and_archive_tweets(self, backfill=False, fill_start_time=None, collection_seconds=None, batch_size=10, order="ASC", test_exception=False, is_test=False): # make the order condition order_strat_map = {'ASC': TwitterUser.record_created_at.asc(), diff --git a/logfile b/logfile new file mode 100644 index 0000000..e69de29 diff --git a/schedule_twitter_jobs.py b/schedule_twitter_jobs.py index 711bb55..1c46e58 100644 --- a/schedule_twitter_jobs.py +++ b/schedule_twitter_jobs.py @@ -207,7 +207,7 @@ def main(): def schedule_fetch_tweets(args, ttl, timeout, queue_name, repeats, collection_seconds): - fill_start_time = datetime.utcnow() + fill_start_time = None # this isn't good for frontfill. I'm going to let processes be in charge of creating their own scheduler_concurrent = Scheduler(queue_name=queue_name+'_concurrent', connection=Redis()) for task in range(args.n_tasks): scheduler_concurrent.schedule( diff --git a/twitter_observational_analysis_controller2.ipynb b/twitter_observational_analysis_controller2.ipynb new file mode 100644 index 0000000..ed2f5af --- /dev/null +++ b/twitter_observational_analysis_controller2.ipynb @@ -0,0 +1,103 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Goals\n", + "+ summaries\n", + "+ lumen notices\n", + " + lumen notices per day\n", + "+ twitter users\n", + " + twitter users by CS_oldest_archived (should be all completed --3)\n", + " + twitter users by date added\n", + "+ twitter statuses\n", + " + count by record_created_at\n", + " + by user\n", + " + indicator before lumen notice served\n", + " + user | notice time | tweets per day before (1day) | tweets per day after (1day)\n", + "+ twitter rate_state by checkin due\n", + " \n", + " \n", + "+ pivoted tables\n", + " + date by\n", + " + lumen notices\n", + " + twitter user added\n", + " + twitter statuses collected" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "ename": "KeyError", + "evalue": "'CS_ENV'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;31m### LOAD ENVIRONMENT VARIABLES\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mBASE_DIR\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mos\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mjoin\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mos\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdirname\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mos\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mabspath\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minspect\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgetfile\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minspect\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcurrentframe\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"..\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 6\u001b[0;31m \u001b[0mENV\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mos\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0menviron\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'CS_ENV'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 7\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 8\u001b[0m \u001b[0msys\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mBASE_DIR\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/lib/python3.6/os.py\u001b[0m in \u001b[0;36m__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 667\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 668\u001b[0m \u001b[0;31m# raise KeyError with the original key value\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 669\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 670\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdecodevalue\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mvalue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 671\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mKeyError\u001b[0m: 'CS_ENV'" + ] + } + ], + "source": [ + "import inspect, os, sys, pytz\n", + "\n", + "\n", + "### LOAD ENVIRONMENT VARIABLES\n", + "BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), \"..\")\n", + "ENV = os.environ['CS_ENV']\n", + "\n", + "sys.path.append(BASE_DIR)\n", + "\n", + "\n", + "import simplejson as json\n", + "import datetime\n", + "import numpy as np\n", + "from app.models import Base, TwitterUser, TwitterStatus, LumenNotice, TwitterUserSnapshot, LumenNoticeToTwitterUser\n", + "from sqlalchemy import and_, or_, func\n", + "from utils.common import TwitterUserState, NOT_FOUND_TWITTER_USER_STR\n", + "import copy\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.5" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/utils/email_log_report.py b/utils/email_log_report.py index af1b025..9ff50da 100644 --- a/utils/email_log_report.py +++ b/utils/email_log_report.py @@ -68,6 +68,7 @@ def add_logline(line): first_and_last_html = logdf.iloc[[0, -1]].to_html() except IndexError: print('seemingly no logs') + return 'No valid log entrys found in dates later than: {0}'.format(yesterday) # Timing def RepresentsInt(s): @@ -135,8 +136,11 @@ def which_controller(df): account_frontfill_tweets_sum = account_frontfill_tweets.sum() account_frontfill_tweets_sum.name = 'sum' - account_backfill_tweets_html = account_backfill_tweets.describe().append(account_backfill_tweets_sum).to_html() - account_frontfill_tweets_html = account_frontfill_tweets.describe().append(account_frontfill_tweets_sum).to_html() + account_backfill_tweets_html = account_backfill_tweets.describe().to_html() + account_frontfill_tweets_html = account_frontfill_tweets.describe().to_html() + + account_backfill_tweets_sum_html = account_backfill_tweets_sum.to_html() + account_frontfill_tweets_sum_html = account_frontfill_tweets_sum.to_html() backfill_stats = backfill_df.groupby(by='pid').agg({'message': time_taken}).rename( mapper={'message': 'total_minutes_taken'}, axis=1) @@ -158,8 +162,10 @@ def make_title(text, level): ("Unlogged errors", yesterday_errors_html), ("Log level value counts", log_level_value_counts_html), ("Controller profiles per PID", pid_timing_html), - ("Account backfill info: count is number of accounts, sum is number of calls", account_backfill_tweets_html), - ("Account frontfill info: count is number of accounts, sum is number of calls", account_frontfill_tweets_html), + ("Account backfill info: account-level statistics", account_backfill_tweets_html), + ("Account frontfill info: account-level statistics", account_frontfill_tweets_html), + ("Backfill level statistics, sum of all accounts", account_backfill_tweets_sum_html), + ("Frontfill level statistics, sum of all accounts", account_frontfill_tweets_sum_html), ("Backfill timing stats (includes unfinished runs)", backfill_stats_html), ("Frontfill timing stats (includes unfinished runs)", frontfill_stats_html), ) diff --git a/utils/lumentwit_experiment_pre_post.py b/utils/lumentwit_experiment_pre_post.py new file mode 100644 index 0000000..3793205 --- /dev/null +++ b/utils/lumentwit_experiment_pre_post.py @@ -0,0 +1,85 @@ +# coding: utf-8 + +# # Goals +# ## Pre experiment +# + delete all lumen/ twitter tables +# + ensure counts of all tables are zero +# + check experiment lenght +# +# ## Post experiment +# + statistics on twitter and lumen tables +# + ensure onboarding period and collection period are staggered correctly +# + calculate naive tweets per day for users + +import inspect, os, sys +### LOAD ENVIRONMENT VARIABLES +import json + +from common import DbEngine + +import click + +BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), "..") +sys.path.append(BASE_DIR) +ENV = os.environ['CS_ENV'] + +with open(os.path.join(BASE_DIR, "config") + "/{env}.json".format(env=ENV), "r") as config: + DBCONFIG = json.load(config) + +### LOAD SQLALCHEMY +from sqlalchemy import create_engine +from sqlalchemy.orm import sessionmaker +from sqlalchemy import func + +db_engine = create_engine("mysql://{user}:{password}@{host}/{database}".format( + host=DBCONFIG['host'], + user=DBCONFIG['user'], + password=DBCONFIG['password'], + database=DBCONFIG['database'])) +DBSession = sessionmaker(bind=db_engine) +db_session = DBSession() + +from app.models import LumenNotice, LumenNoticeExpandedURL, LumenNoticeToTwitterUser +from app.models import TwitterUserState, TwitterRateState, TwitterStatus, TwitterToken, TwitterUser, TwitterUserSnapshot + +tables = [LumenNotice, LumenNoticeToTwitterUser, LumenNoticeExpandedURL, + TwitterUserSnapshot, TwitterUser, TwitterToken, TwitterStatus, TwitterRateState] + + +def count_table(table): + return db_session.query(table).count() + +def count_all_tables(): + table_counts = {table.__tablename__: count_table(table) for table in tables} + print(table_counts) + # return if all tables are 0 + return all([count == 0 for table, count in table_counts.items()]) + + +def pre_experiment(): + + def del_tables(): + for table in tables: + table_name = table.__tablename__ + truncate_sql = 'truncate {} ;'.format(table_name) + print(truncate_sql) + db_session.execute(truncate_sql) + db_session.commit() + + count_table(TwitterRateState) + count_all_tables() + del_tables() + +def post_experiment(): + raise NotImplementedError + +@click.command() +@click.option('--when', type=click.Choice(['md5', 'sha1'])) +def main(when): + if when == 'pre': + return pre_experiment() + elif when == 'post': + return post_experiment() + +if __name__ == "__main__": + main() diff --git a/utils/twitter_observational_analysis_controller2.ipynb b/utils/twitter_observational_analysis_controller2.ipynb new file mode 100644 index 0000000..024b4a1 --- /dev/null +++ b/utils/twitter_observational_analysis_controller2.ipynb @@ -0,0 +1,738 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Goals\n", + "+ summaries\n", + "+ lumen notices\n", + " + lumen notices per day\n", + "+ twitter users\n", + " + twitter users by CS_oldest_archived (should be all completed --3)\n", + " + twitter users by date added\n", + "+ twitter statuses\n", + " + count by record_created_at\n", + " + by user\n", + " + indicator before lumen notice served\n", + " + user | notice time | tweets per day before (1day) | tweets per day after (1day)\n", + "+ twitter rate_state by checkin due\n", + " \n", + " \n", + "+ pivoted tables\n", + " + date by\n", + " + lumen notices\n", + " + twitter user added\n", + " + twitter statuses collected" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import os, inspect, json\n", + "import pandas as pd\n", + "BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), \"..\")\n", + "\n", + "ENV = 'development'\n", + "\n", + "if ENV == 'production':\n", + " pass #open SSH tunnel to production" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "with open(os.path.join(BASE_DIR, \"config\") + \"/{env}.json\".format(env=ENV), \"r\") as config:\n", + " DBCONFIG = json.loads(config.read())\n", + "\n", + "### LOAD SQLALCHEMY\n", + "from sqlalchemy import create_engine\n", + "from sqlalchemy.orm import sessionmaker\n", + "db_engine = create_engine(\"mysql://{user}:{password}@{host}/{database}\".format(\n", + " host=DBCONFIG['host'],\n", + " user=DBCONFIG['user'],\n", + " password=DBCONFIG['password'],\n", + " database=DBCONFIG['database']))\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
drcount(date(date_received))
02018-09-0618
12018-09-07223
22018-09-0891
32018-09-1096
42018-09-114
\n", + "
" + ], + "text/plain": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
drcount(date(date_received))
02018-09-0618
12018-09-07223
22018-09-0891
32018-09-1096
42018-09-114
\n", + "
" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "lum_not_sql = '''SELECT date(date_received) as dr, count(date(date_received))\n", + "FROM civilservant_development.lumen_notices\n", + "GROUP by dr\n", + "'''\n", + "lum_not_df = pd.read_sql(lum_not_sql, db_engine, parse_dates=['dr'])\n", + "\n", + "lum_not_df" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
CS_oldest_tweets_archivedcount(CS_oldest_tweets_archived)
01925
12370
23570
\n", + "
" + ], + "text/plain": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
CS_oldest_tweets_archivedcount(CS_oldest_tweets_archived)
01925
12370
23570
\n", + "
" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "twit_user_processed = '''-- how many in process\n", + "SELECT CS_oldest_tweets_archived, count(CS_oldest_tweets_archived) from twitter_users\n", + "\tgroup by CS_oldest_tweets_archived\n", + "'''\n", + "twit_user_processed_df = pd.read_sql(twit_user_processed, db_engine)\n", + "twit_user_processed_df" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
drcaCOUNT(date(record_created_at))
02018-09-081865
\n", + "
" + ], + "text/plain": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
drcaCOUNT(date(record_created_at))
02018-09-081865
\n", + "
" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "twit_user_rec_created = '''select date(record_created_at) as drca, COUNT(date(record_created_at)) from twitter_users\n", + "GROUP by drca\n", + "'''\n", + "twit_user_rec_created_df = pd.read_sql(twit_user_rec_created, db_engine, parse_dates=['drca'])\n", + "twit_user_rec_created_df" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
notice_iddate_receivedtwitter_user_id
0172131462018-09-06 18:09:001020128614107566081
1172131462018-09-06 18:09:002305927712
2172131462018-09-06 18:09:003475689025
3172131462018-09-06 18:09:00952487155405901824
4172131462018-09-06 18:09:00782051605839577088
\n", + "
" + ], + "text/plain": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
notice_iddate_receivedtwitter_user_id
0172131462018-09-06 18:09:001020128614107566081
1172131462018-09-06 18:09:002305927712
2172131462018-09-06 18:09:003475689025
3172131462018-09-06 18:09:00952487155405901824
4172131462018-09-06 18:09:00782051605839577088
\n", + "
" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "lumen_twit = '''select notice_id, date_received, twitter_user_id from lumen_notice_to_twitter_user as lum_twit\n", + "left join (select id, date_received from lumen_notices) as lum_notice\n", + "on lum_twit.notice_id = lum_notice.id\n", + "'''\n", + "lumen_twit_df = pd.read_sql(lumen_twit, db_engine, parse_dates=['date_received'])\n", + "lumen_twit_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "twitid_complaints = lumen_twit_df.groupby('twitter_user_id').agg({'notice_id':len}).rename({'notice_id':'complaints_received'}, axis=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.05787781350482315" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(twitid_complaints[twitid_complaints['complaints_received']>1])/len(twitid_complaints)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
max(reset_time)user_id
02018-09-08 17:56:052833147639
12018-09-08 17:56:05286504285
22018-09-08 17:56:053315303954
32018-09-08 17:56:05411733308
\n", + "
" + ], + "text/plain": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
max(reset_time)user_id
02018-09-08 17:56:052833147639
12018-09-08 17:56:05286504285
22018-09-08 17:56:053315303954
32018-09-08 17:56:05411733308
\n", + "
" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "twitter_rate_sql = '''select max(reset_time), user_id from twitter_ratestate\n", + "group by user_id'''\n", + "twitter_rate_df = pd.read_sql(twitter_rate_sql, db_engine, parse_dates=['max(reset_time)'])\n", + "twitter_rate_df" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "before_after_tweets_sql = '''create TEMPORARY table notice_twit_user as\n", + "(\n", + "select n.date_received as notice_date, ltt.twitter_user_id as twitter_user_id from lumen_notices as n\n", + "join lumen_notice_to_twitter_user as ltt\n", + "on n.id = ltt.notice_id\n", + ")\n", + "\n", + "select * from notice_twit_user\n", + "\n", + "-- make this relation first and then later groupby\n", + "create TEMPORARY table notice_tweet as (\n", + "select notice_date, twitter_user_id, created_at as tweet_date\n", + "from notice_twit_user nt\n", + "join twitter_statuses ts\n", + "on nt.twitter_user_id = ts.user_id\n", + ")\n", + "\n", + "\n", + "select sum(before_tweet) as before_tweets, sum(after_tweet) as after_tweets, twitter_user_id \n", + "from \n", + " (select tweet_date, \n", + "\t\tnotice_date,\n", + "\t\tcase when tweet_date < notice_date then 1 else 0 end as before_tweet,\n", + "\t\tcase when tweet_date > notice_date then 1 else 0 end as after_tweet,\n", + "\t\ttwitter_user_id\n", + "\tfrom notice_tweet ) as tweet_timing\n", + "group by twitter_user_id\n", + "'''" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.5" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} From e58a36b9702a8f554b804f420f34a52fae41d395 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Fri, 14 Sep 2018 13:40:03 -0400 Subject: [PATCH 120/221] email reports host generalizations --- utils/email-reports.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/email-reports.sh b/utils/email-reports.sh index 2af5385..096d2f2 100755 --- a/utils/email-reports.sh +++ b/utils/email-reports.sh @@ -15,7 +15,7 @@ if [ -z $2 ] echo "trying to source environment variables from"$basedir else basedir=$2 - rsync -up dmca-civictechai:/home/dmca/CivilServant-mmou-twitter/logs/CivilServant_production.log logs/ + # rsync -up dmca-civictechai:/home/dmca/CivilServant-mmou-twitter/logs/CivilServant_production.log logs/ fi if [ -z $3 ] From e00499acf366b238041bee5f8409c215bffe8d2e Mon Sep 17 00:00:00 2001 From: Max Klein Date: Fri, 14 Sep 2018 14:12:54 -0400 Subject: [PATCH 121/221] skip fancy things before holiday --- schedule_twitter_jobs.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/schedule_twitter_jobs.py b/schedule_twitter_jobs.py index 1c46e58..c48fb91 100644 --- a/schedule_twitter_jobs.py +++ b/schedule_twitter_jobs.py @@ -211,9 +211,9 @@ def schedule_fetch_tweets(args, ttl, timeout, queue_name, repeats, collection_se scheduler_concurrent = Scheduler(queue_name=queue_name+'_concurrent', connection=Redis()) for task in range(args.n_tasks): scheduler_concurrent.schedule( - scheduled_time=fill_start_time, + scheduled_time=datetime.utcnow(), func=app.controller.fetch_twitter_tweets, - args=[args.statuses_backfill, fill_start_time, collection_seconds], + args=[args.statuses_backfill], interval=int(args.interval), repeat=repeats, result_ttl=ttl, From 73c58d11191c31bc4b8819a8be760555cf91d9aa Mon Sep 17 00:00:00 2001 From: Max Klein Date: Fri, 14 Sep 2018 11:55:38 -0700 Subject: [PATCH 122/221] better formatting on recusrse --- app/connections/twitter_connect.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/connections/twitter_connect.py b/app/connections/twitter_connect.py index e04c53d..93a11d6 100644 --- a/app/connections/twitter_connect.py +++ b/app/connections/twitter_connect.py @@ -421,7 +421,7 @@ def query(self, method, *args, **kwargs): self.log.info('Rate limit encountered on endpoint:{0}'.format(endpoint)) self.mark_reset_time_and_checkin(endpoint) # recurse! - self.log.info('Recursing for method:', method) + self.log.info('Recursing for method: {0}'.format(method)) return self.constant_wait_sleep_and_recurse(err_msg, method, *args, **kwargs) # if it's over capacity we know how to deal with that elif err_msg == 'Over capacity': From 58f96084962a3e0eaa609bb6ecc653f2135f4a00 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Wed, 3 Oct 2018 10:05:57 -0700 Subject: [PATCH 123/221] * accept set error in initializiation handling * adjust logging so that rollover keeps records * fix twit connection test * dmca-cmd stop now doesn't delete the failed queue --- app/connections/twitter_connect.py | 20 ++-- app/cs_logger.py | 2 +- dmca-cmd.sh | 3 +- tests/test_twitter_connect.py | 3 +- ...r_observational_analysis_controller2.ipynb | 103 ------------------ 5 files changed, 16 insertions(+), 115 deletions(-) delete mode 100644 twitter_observational_analysis_controller2.ipynb diff --git a/app/connections/twitter_connect.py b/app/connections/twitter_connect.py index 93a11d6..2613807 100644 --- a/app/connections/twitter_connect.py +++ b/app/connections/twitter_connect.py @@ -207,12 +207,14 @@ def apply_token(self, endpoint): verification = self.api.VerifyCredentials() self.api.InitializeRateLimit() # dangerous for us. except twitter.TwitterError as twiterr: - # check to see if we can get an error message out self.log.info('Error Initializing Rate Limit') - err_msg = twiterr.message[0]['message'] - err_code = twiterr.message[0]['code'] - if err_code in (89, 326): # or 'message': 'Invalid or expired token.': - self.invalidate_token(endpoint) + if isinstance(twiterr.message, list): + err_msg = twiterr.message[0]['message'] + err_code = twiterr.message[0]['code'] + if err_code in (89, 326): # or 'message': 'Invalid or expired token.': + self.invalidate_token(endpoint) + elif isinstance(twiterr.message, set): + self.log.info('Set error returned, malformed data?: {}'.format(twiterr.message)) return False if ENV != 'test' else True self.curr_endpoint = endpoint return True @@ -361,17 +363,17 @@ def checkin_endpoint(self, endpoint=None): del self.endpoint_tokens[endpoint] self.curr_endpoint = None - #potentially close + # potentially close self.db_session.close() def mark_reset_time(self, endpoint): reset_time = self.get_reset_time_of_endpoint(endpoint) ratestate = self.get_ratestate_of_endpoint(endpoint) + ratestate.reset_time = datetime.datetime.fromtimestamp(reset_time) self.log.debug( - 'Marking exhausted user_id:{0}, endpoint:{1}, reset_time{2}.'.format(ratestate.user_id, endpoint, - reset_time)) + 'Marking exhausted user_id:{0}, endpoint:{1}, reset_time:{2}.'.format(ratestate.user_id, endpoint, + ratestate.reset_time)) # put in the reset time - ratestate.reset_time = datetime.datetime.fromtimestamp(reset_time) self.db_session.add(ratestate) self.db_session.commit() diff --git a/app/cs_logger.py b/app/cs_logger.py index 19fc495..958d41f 100644 --- a/app/cs_logger.py +++ b/app/cs_logger.py @@ -24,7 +24,7 @@ def get_logger(ENV, BASE_DIR): print("Logging to " + BASE_DIR + "/logs/CivilServant_" + ENV + ".log") formatter = logging.Formatter('%(asctime)s - %(name)s({env}) - %(levelname)s - %(message)s'.format(env=ENV)) - rotateHandler = ConcurrentRotatingFileHandler(logfile, "a", 32 * 1000 * 1024) + rotateHandler = ConcurrentRotatingFileHandler(logfile, "a", 32 * 1000 * 1024, backupCount=1000) rotateHandler.setLevel(logging.DEBUG) rotateHandler.setFormatter(formatter) log.addHandler(rotateHandler) diff --git a/dmca-cmd.sh b/dmca-cmd.sh index f12b6a3..c32edd9 100755 --- a/dmca-cmd.sh +++ b/dmca-cmd.sh @@ -50,7 +50,8 @@ python manage_scheduled_jobs.py show all 2> logfile stop_all(){ python manage_scheduled_jobs.py purge all -rq empty -a +rq empty $CS_ENV +rq empty $CS_ENV"_concurrent" killall rqworker killall rqscheduler } diff --git a/tests/test_twitter_connect.py b/tests/test_twitter_connect.py index 25aadbe..f063818 100644 --- a/tests/test_twitter_connect.py +++ b/tests/test_twitter_connect.py @@ -80,7 +80,7 @@ def test_twitter_connect_friends(mock_twitter): def test_exception_retry(mock_rate_limit, mock_twitter): # TODO: In the unlikelihood that a VERY slow machine is running these tests # you can increase the timedelta here and below to microseconds=500 - reset_time = (datetime.datetime.utcnow() + datetime.timedelta(seconds=3)) + reset_time = (datetime.datetime.utcnow() + datetime.timedelta(seconds=15)) mock_rate_limit.resources = {"getfriends": {"/friends/list": { "reset": time.mktime(reset_time.timetuple()), "remaining": 0, @@ -122,6 +122,7 @@ def test_exception_retry(mock_rate_limit, mock_twitter): # assert right results still came throught assert len(friends) == len(friend_accounts) # assert that we did roll-over onto the second token + assert conn.endpoint_tokens[conn.curr_endpoint].user_id == 2 # OK, so at this point in the code we assume that the second token is active diff --git a/twitter_observational_analysis_controller2.ipynb b/twitter_observational_analysis_controller2.ipynb deleted file mode 100644 index ed2f5af..0000000 --- a/twitter_observational_analysis_controller2.ipynb +++ /dev/null @@ -1,103 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Goals\n", - "+ summaries\n", - "+ lumen notices\n", - " + lumen notices per day\n", - "+ twitter users\n", - " + twitter users by CS_oldest_archived (should be all completed --3)\n", - " + twitter users by date added\n", - "+ twitter statuses\n", - " + count by record_created_at\n", - " + by user\n", - " + indicator before lumen notice served\n", - " + user | notice time | tweets per day before (1day) | tweets per day after (1day)\n", - "+ twitter rate_state by checkin due\n", - " \n", - " \n", - "+ pivoted tables\n", - " + date by\n", - " + lumen notices\n", - " + twitter user added\n", - " + twitter statuses collected" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "ename": "KeyError", - "evalue": "'CS_ENV'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;31m### LOAD ENVIRONMENT VARIABLES\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mBASE_DIR\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mos\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mjoin\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mos\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdirname\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mos\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mabspath\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minspect\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgetfile\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minspect\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcurrentframe\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"..\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 6\u001b[0;31m \u001b[0mENV\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mos\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0menviron\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'CS_ENV'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 7\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 8\u001b[0m \u001b[0msys\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mBASE_DIR\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/lib/python3.6/os.py\u001b[0m in \u001b[0;36m__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 667\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 668\u001b[0m \u001b[0;31m# raise KeyError with the original key value\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 669\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 670\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdecodevalue\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mvalue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 671\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mKeyError\u001b[0m: 'CS_ENV'" - ] - } - ], - "source": [ - "import inspect, os, sys, pytz\n", - "\n", - "\n", - "### LOAD ENVIRONMENT VARIABLES\n", - "BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), \"..\")\n", - "ENV = os.environ['CS_ENV']\n", - "\n", - "sys.path.append(BASE_DIR)\n", - "\n", - "\n", - "import simplejson as json\n", - "import datetime\n", - "import numpy as np\n", - "from app.models import Base, TwitterUser, TwitterStatus, LumenNotice, TwitterUserSnapshot, LumenNoticeToTwitterUser\n", - "from sqlalchemy import and_, or_, func\n", - "from utils.common import TwitterUserState, NOT_FOUND_TWITTER_USER_STR\n", - "import copy\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.6.5" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} From 972e03be7565b01eb4bb2192f22318935b45339d Mon Sep 17 00:00:00 2001 From: Max Klein Date: Wed, 3 Oct 2018 13:09:07 -0400 Subject: [PATCH 124/221] fix log report error\n fix logfile error stderr forwarding --- dmca-cmd.sh | 14 +++++++------- utils/email_log_report.py | 4 ++-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/dmca-cmd.sh b/dmca-cmd.sh index f12b6a3..0817e98 100755 --- a/dmca-cmd.sh +++ b/dmca-cmd.sh @@ -22,29 +22,29 @@ logfile="logs/CivilServant_"$CS_ENV".log" echo "logfile is "$logfile echo "Fetch lumen notices every 3 hours" -python schedule_twitter_jobs.py --function fetch_lumen_notices --lumen_delta_days 2 --interval 10800 2> logfile +python schedule_twitter_jobs.py --function fetch_lumen_notices --lumen_delta_days 2 --interval 10800 2> $logfile ## Parse lumen notices for twitter accounts: every 3 hours echo "Parse lumen notices for twitter accounts: every 3 hours" -python schedule_twitter_jobs.py --function parse_lumen_notices_for_twitter_accounts --interval 10800 2> logfile +python schedule_twitter_jobs.py --function parse_lumen_notices_for_twitter_accounts --interval 10800 2> $logfile ## Fetch Twitter Users: every 3 hours echo Fetch Twitter Users: every 3 hours -python schedule_twitter_jobs.py --function fetch_twitter_users --interval 10800 2> logfile +python schedule_twitter_jobs.py --function fetch_twitter_users --interval 10800 2> $logfile # Backfill Twitter tweets: Every 12 hours echo "Backfill Twitter tweets: Every 12 hours" -python schedule_twitter_jobs.py --function fetch_twitter_tweets --statuses_backfill --interval 43200 --n_tasks $1 2> logfile +python schedule_twitter_jobs.py --function fetch_twitter_tweets --statuses_backfill --interval 43200 --n_tasks $1 2> $logfile # Fetch Twitter Tweets: Every twenty-four hours (once a day) echo "Fetch Twitter Tweets: Every twenty-four hours (once a day)" -python schedule_twitter_jobs.py --function fetch_twitter_tweets --interval 86400 --n_tasks $1 2> logfile +python schedule_twitter_jobs.py --function fetch_twitter_tweets --interval 86400 --n_tasks $1 2> $logfile ## Fetch Twitter Account Snapshots & Tweet Counts: every 24 hours, get new snapshots for users who haven't had a snapshot in the last 23.3 hours echo "Fetch Twitter Account Snapshots & Tweet Counts: every 24 hours, get new snapshots for users who haven't had a snapshot in the last 23.3 hours" -python schedule_twitter_jobs.py --function fetch_twitter_snapshot_and_tweets --snapshot_delta_min 1400 --interval 86400 2> logfile +python schedule_twitter_jobs.py --function fetch_twitter_snapshot_and_tweets --snapshot_delta_min 1400 --interval 86400 2> $logfile -python manage_scheduled_jobs.py show all 2> logfile +python manage_scheduled_jobs.py show all 2> $logfile } diff --git a/utils/email_log_report.py b/utils/email_log_report.py index 9ff50da..69a3dcd 100644 --- a/utils/email_log_report.py +++ b/utils/email_log_report.py @@ -139,8 +139,8 @@ def which_controller(df): account_backfill_tweets_html = account_backfill_tweets.describe().to_html() account_frontfill_tweets_html = account_frontfill_tweets.describe().to_html() - account_backfill_tweets_sum_html = account_backfill_tweets_sum.to_html() - account_frontfill_tweets_sum_html = account_frontfill_tweets_sum.to_html() + account_backfill_tweets_sum_html = pd.DataFrame(account_backfill_tweets_sum).to_html() + account_frontfill_tweets_sum_html = pd.DataFrame(account_frontfill_tweets_sum).to_html() backfill_stats = backfill_df.groupby(by='pid').agg({'message': time_taken}).rename( mapper={'message': 'total_minutes_taken'}, axis=1) From d0010e6a3d09df03defda6250cd49d7b696e48d8 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Fri, 5 Oct 2018 14:38:07 -0700 Subject: [PATCH 125/221] better formatting on recusrse --- app/connections/twitter_connect.py | 6 +++--- app/controllers/twitter_controller.py | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/app/connections/twitter_connect.py b/app/connections/twitter_connect.py index 2613807..90b6f86 100644 --- a/app/connections/twitter_connect.py +++ b/app/connections/twitter_connect.py @@ -261,7 +261,7 @@ def select_available_token(self, endpoint, strategy='sequential'): .filter(TwitterRateState.reset_time < query_time) \ .filter(TwitterRateState.is_valid == True) \ .order_by(order_by) \ - .with_for_update().first() + .with_for_update(nowait=True, skip_locked=True).first() self.log.info('''Trying to get token matching \ endpoint: {0} \ query_time: {1}'''.format(endpoint, query_time)) @@ -290,7 +290,7 @@ def select_available_token(self, endpoint, strategy='sequential'): # add a bit of noise for loop until time_until_next_try = next_checkout.checkin_due - query_time + timedelta(seconds=random()) self.log.info( - 'PID {1}: Oh dear all the endpoints are checked out for at least seconds: {0}'.format( + 'PID {1} Oh dear all the endpoints are checked out for at least seconds: {0}'.format( time_until_next_try, str(os.getpid()))) sleep(time_until_next_try.total_seconds()) continue @@ -317,7 +317,7 @@ def select_available_token(self, endpoint, strategy='sequential'): return self.select_available_token(endpoint, strategy=strategy) return True except Exception as e: - self.log.error('Error in getting from DB for tokens was: {0}, of type: {1}'.format(e, type(e))) + self.log.error('PID {3} Error in getting from DB for tokens was: {0}, of type: {1}. Selection attempt is: {2}'.format(e, type(e), selection_attempt_counter, str(os.getpid()))) self.db_session.rollback() sleep(10) if selection_attempt_counter > 10: diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 810ad4c..dcc295a 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -593,6 +593,7 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, collect # make the backfill condition neq_or_eq = neq if backfill else eq + target_JobState = CS_JobState.NOT_PROCESSED if backfill else CS_JobState.PROCESSED all_filled = False # this flag gets set to True when we find no more users to fill # in a loop, until all_filled, get a batch and process the last_attempt_process state along with @@ -602,7 +603,7 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, collect while not all_filled: fill_query = self.db_session.query(TwitterUser). \ filter(and_( - neq_or_eq(TwitterUser.CS_oldest_tweets_archived, CS_JobState.PROCESSED.value), # back or front + eq(TwitterUser.CS_oldest_tweets_archived, target_JobState.value), # back or front or_(TwitterUser.lang.in_(["en", "en-gb"]), TwitterUser.lang is None), # correct language or_(TwitterUser.last_attempted_process < fill_start_time, # not attempted by any other thread TwitterUser.last_attempted_process is None), # or never been attempted yet From ac29c9795e06e2be16b874d4443f08d8456b3103 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Fri, 5 Oct 2018 17:30:56 -0700 Subject: [PATCH 126/221] production to use random tokens not sequential --- app/connections/twitter_connect.py | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/app/connections/twitter_connect.py b/app/connections/twitter_connect.py index 90b6f86..22b06a7 100644 --- a/app/connections/twitter_connect.py +++ b/app/connections/twitter_connect.py @@ -226,8 +226,8 @@ def invalidate_token(self, endpoint): endpoint_ratestate_to_invalidate.is_valid = False self.db_session.commit() # so far we've invalidated just one endpoint, now have to get them all - token_ratestates_to_invalidate = self.db_session.query(TwitterRateState).\ - filter(TwitterRateState.user_id == token_user_id).\ + token_ratestates_to_invalidate = self.db_session.query(TwitterRateState). \ + filter(TwitterRateState.user_id == token_user_id). \ with_for_update().all() for ratestate in token_ratestates_to_invalidate: ratestate.is_valid = False @@ -246,6 +246,7 @@ def select_available_token(self, endpoint, strategy='sequential'): 'sequential': TwitterRateState.user_id, # another strategy might be fetch the most remaining in the future } + strategy = 'random' if ENV == 'production' else strategy order_by = strategy_order[strategy] self.log.info('order strategy is {0}: giving: {1}'.format(strategy, order_by)) while not succeeded: @@ -310,14 +311,16 @@ def select_available_token(self, endpoint, strategy='sequential'): self.log.debug('waiting for {0}'.format(wait_before_return)) if wait_before_return < 0: self.log.info('WHY would wait be like this?: {0}'.format(wait_before_return)) - wait_before_return = -1*wait_before_return + wait_before_return = -1 * wait_before_return sleep(wait_before_return) successful_application = self.apply_token(endpoint) if not successful_application: return self.select_available_token(endpoint, strategy=strategy) return True except Exception as e: - self.log.error('PID {3} Error in getting from DB for tokens was: {0}, of type: {1}. Selection attempt is: {2}'.format(e, type(e), selection_attempt_counter, str(os.getpid()))) + self.log.error( + 'PID {3} Error in getting from DB for tokens was: {0}, of type: {1}. Selection attempt is: {2}'.format( + e, type(e), selection_attempt_counter, str(os.getpid()))) self.db_session.rollback() sleep(10) if selection_attempt_counter > 10: @@ -344,7 +347,7 @@ def get_ratestate_of_endpoint(self, endpoint): def checkin_endpoint(self, endpoint=None): if endpoint is None: - # this is a way to signal to checkin the curr_endpoint without knowing its name + # this is a way to signal to checkin the curr_endpoint without knowing its name if self.curr_endpoint is None: # however it may not have ever got checked-out so there'd be nothing to do self.log.debug('Endpoint checkin was called but no endpoint is active') @@ -372,7 +375,7 @@ def mark_reset_time(self, endpoint): ratestate.reset_time = datetime.datetime.fromtimestamp(reset_time) self.log.debug( 'Marking exhausted user_id:{0}, endpoint:{1}, reset_time:{2}.'.format(ratestate.user_id, endpoint, - ratestate.reset_time)) + ratestate.reset_time)) # put in the reset time self.db_session.add(ratestate) self.db_session.commit() @@ -384,7 +387,8 @@ def mark_reset_time_and_checkin(self, endpoint): def constant_wait_sleep_and_recurse(self, err_msg, method, *args, **kwargs): constant_sleep_secs = 10 # ten seconds because i don't want to recurse too often and this error is rare. self.log.info( - '{2} encountered on endpoint:{0}. Sleeping for {1} seconds'.format(self.curr_endpoint, constant_sleep_secs, err_msg)) + '{2} encountered on endpoint:{0}. Sleeping for {1} seconds'.format(self.curr_endpoint, constant_sleep_secs, + err_msg)) time.sleep(constant_sleep_secs) self.log.info('Recursing for method:', method) return self.query(method, *args, **kwargs) @@ -410,10 +414,12 @@ def query(self, method, *args, **kwargs): err_msg = twiterr.message[0]['message'] elif isinstance(twiterr.message, set): if 'Unknown error: ' in twiterr.message: - return self.constant_wait_sleep_and_recurse('Unknown set, probably malformed, error', method, *args, **kwargs) + return self.constant_wait_sleep_and_recurse('Unknown set, probably malformed, error', method, *args, + **kwargs) elif isinstance(twiterr.message, dict): if 'Unknown error: ' in twiterr.message.keys(): - return self.constant_wait_sleep_and_recurse('Unknown dict, probably malformed, error', method, *args, **kwargs) + return self.constant_wait_sleep_and_recurse('Unknown dict, probably malformed, error', method, + *args, **kwargs) else: self.log.info('Twitter Query encountered a twitter of an unknown type') raise @@ -438,4 +444,3 @@ def query(self, method, *args, **kwargs): raise twiterr # self.log.error( # 'Twitter Query encountered twitter error with no handler yet: {0}'.format(twiterr)) - From fb2fc852dfc00411343f6fbf8ef0ab7cb0dbaeea Mon Sep 17 00:00:00 2001 From: Max Klein Date: Mon, 8 Oct 2018 15:17:25 -0700 Subject: [PATCH 127/221] stack_trace shouldn't cause error, and email log uses backlogs too. --- app/controllers/twitter_controller.py | 26 +- utils/email_log_report.py | 9 +- ...r_observational_analysis_controller2.ipynb | 1358 ++++++++++++----- 3 files changed, 971 insertions(+), 422 deletions(-) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index dcc295a..66af14f 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -263,12 +263,12 @@ def commit_users_failed(user): except: self.log.error( "Error while saving DB Session for TwitterUser, TwitterUserSnapshot object", - extra=sys.exc_info()[0]) + extra=sys.exc_info()) commit_users_failed(screen_name) except: self.log.error( "Error while creating TwitterUser, TwitterUserSnapshot objects for user {0}".format( - user_json["id"]), extra=sys.exc_info()[0]) + user_json["id"]), extra=sys.exc_info()) commit_users_failed(screen_name) # at end, for left_users (users not found), commit to db @@ -328,12 +328,12 @@ def commit_users_failed(user): self.db_session.commit() except: self.log.error("Error while saving DB Session for TwitterUser, TwitterUserSnapshot object", - extra=sys.exc_info()[0]) + extra=sys.exc_info()) commit_users_failed([name]) except: self.log.error( "Error while updating TwitterUser, creating TwitterUserSnapshot object for user {0}".format( - user_json["id"]), extra=sys.exc_info()[0]) + user_json["id"]), extra=sys.exc_info()) commit_users_failed([name]) def is_user_suspended_or_deleted(self, username): @@ -507,7 +507,7 @@ def archive_old_users(self, key_to_users, has_ids=True): except: self.log.error( "Error while updating TwitterUser, creating TwitterUserSnapshot object for user {0}".format( - user_json["id"]), extra=sys.exc_info()[0]) + user_json["id"]), extra=sys.exc_info()) else: if has_ids: left_users.discard(uid) # discard doesn't throw an error @@ -520,7 +520,7 @@ def archive_old_users(self, key_to_users, has_ids=True): except: self.log.error( "Error while saving DB Session for TwitterUser, TwitterUserSnapshot object for {0} users".format( - len(users_info)), extra=sys.exc_info()[0]) + len(users_info)), extra=sys.exc_info()) else: self.log.info("Saved {0} found twitter users' info.".format(len(users_info))) @@ -551,13 +551,13 @@ def archive_old_users(self, key_to_users, has_ids=True): except: self.log.error( "Error while updating TwitterUser, creating TwitterUserSnapshot object for user {0}".format( - user_json["id"]), extra=sys.exc_info()[0]) + user_json["id"]), extra=sys.exc_info()) if len(left_users) > 0: try: self.db_session.commit() except: self.log.error("Error while saving DB Session for {0} not_found twitter users' info.".format( - len(left_users)), extra=sys.exc_info()[0]) + len(left_users)), extra=sys.exc_info()) else: self.log.info("Saved {0} not_found twitter users' info.".format(len(left_users))) @@ -587,9 +587,9 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, collect self.log.info('Collection condition is: {0}'.format(collection_condition)) collection_eligible = self.db_session.query(TwitterUser).filter(collection_condition).count() self.log.info('Collection eligible twitters users number: {0}'.format(collection_eligible)) - # TODO: remove this colection condition overwrite. - self.log.info('Reminder, hacking collection condition to ensure it runs during Max holiday.'.format(collection_eligible)) - collection_condition = True + # # TODO: remove this colection condition overwrite. + # self.log.info('Reminder, hacking collection condition to ensure it runs during Max holiday.'.format(collection_eligible)) + # collection_condition = True # make the backfill condition neq_or_eq = neq if backfill else eq @@ -818,7 +818,7 @@ def archive_user_tweets(self, user, backfill=False, is_test=False): new_seen_statuses.add(status_id) except: self.log.error("Error while creating TwitterStatus object for user {0}, status id {1}".format( - status_json["user"]["id"]["screen_name"], status_id), extra=sys.exc_info()[0]) + status_json["user"]["id"]["screen_name"], status_id), extra=sys.exc_info()) return job_state try: with warnings.catch_warnings(): @@ -827,7 +827,7 @@ def archive_user_tweets(self, user, backfill=False, is_test=False): self.db_session.commit() except: self.log.error("Error while saving DB Session for {0} statuses for user {1}.".format( - len(new_seen_statuses) - prev_new_seen_statuses_length, user_id), extra=sys.exc_info()[0]) + len(new_seen_statuses) - prev_new_seen_statuses_length, user_id), extra=sys.exc_info()) return job_state else: self.log.info("PID {2} Saved {0} statuses for user {1}.".format( diff --git a/utils/email_log_report.py b/utils/email_log_report.py index 69a3dcd..d8d1085 100644 --- a/utils/email_log_report.py +++ b/utils/email_log_report.py @@ -5,6 +5,7 @@ pd.set_option('display.max_colwidth', -1) pd.set_option('mode.chained_assignment', None) +pd.set_option('display.float_format', lambda x: '%.4f' % x) from email_db_report import send_report, date_to_str @@ -15,7 +16,13 @@ def make_report(yesterday): BASE_DIR = os.path.join(os.path.dirname(os.path.realpath(__file__)), "..") log_dir = os.path.join(BASE_DIR, 'logs') logs = os.listdir(log_dir) - logs_to_parse = ['CivilServant_{ENV}.log'.format(ENV=ENV)] + def is_prod_log(log): + try: + return log.split('_')[1].split('.')[0] == 'production' + except IndexError: + return False + logs_to_parse = [log for log in logs if is_prod_log(log)] + # logs_to_parse = ['CivilServant_{ENV}.log'.format(ENV=ENV)] log_tups = [] errors = [] diff --git a/utils/twitter_observational_analysis_controller2.ipynb b/utils/twitter_observational_analysis_controller2.ipynb index 024b4a1..16a249a 100644 --- a/utils/twitter_observational_analysis_controller2.ipynb +++ b/utils/twitter_observational_analysis_controller2.ipynb @@ -28,25 +28,44 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 10, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Populating the interactive namespace from numpy and matplotlib\n" + ] + } + ], "source": [ "import os, inspect, json\n", "import pandas as pd\n", + "import datetime\n", + "%pylab inline\n", "BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), \"..\")\n", "\n", - "ENV = 'development'\n", + "ENV = 'production'\n", "\n", "if ENV == 'production':\n", - " pass #open SSH tunnel to production" + " pass\n", + "# os.system('ssh -L 3306:127.0.0.1:3306 dmca-cox &')" ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 13, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'database': 'civilservant_production', 'user': 'civilservant', 'host': '127.0.0.1', 'password': '', 'client_id': '', 'client_secret': '', 'redirect_uri': ''}\n" + ] + } + ], "source": [ "with open(os.path.join(BASE_DIR, \"config\") + \"/{env}.json\".format(env=ENV), \"r\") as config:\n", " DBCONFIG = json.loads(config.read())\n", @@ -58,12 +77,14 @@ " host=DBCONFIG['host'],\n", " user=DBCONFIG['user'],\n", " password=DBCONFIG['password'],\n", - " database=DBCONFIG['database']))\n" + " database=DBCONFIG['database']))\n", + "\n", + "print(DBCONFIG)\n" ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 14, "metadata": {}, "outputs": [ { @@ -87,112 +108,85 @@ " \n", " \n", " \n", - " dr\n", - " count(date(date_received))\n", + " count(*)\n", " \n", " \n", " \n", " \n", " 0\n", - " 2018-09-06\n", - " 18\n", - " \n", - " \n", - " 1\n", - " 2018-09-07\n", - " 223\n", - " \n", - " \n", - " 2\n", - " 2018-09-08\n", - " 91\n", - " \n", - " \n", - " 3\n", - " 2018-09-10\n", - " 96\n", - " \n", - " \n", - " 4\n", - " 2018-09-11\n", - " 4\n", + " 23891\n", " \n", " \n", "\n", "" ], "text/plain": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
drcount(date(date_received))
02018-09-0618
12018-09-07223
22018-09-0891
32018-09-1096
42018-09-114
\n", - "
" + " count(*)\n", + "0 23891" ] }, - "execution_count": 3, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "lum_not_sql = '''SELECT date(date_received) as dr, count(date(date_received))\n", - "FROM civilservant_development.lumen_notices\n", - "GROUP by dr\n", - "'''\n", - "lum_not_df = pd.read_sql(lum_not_sql, db_engine, parse_dates=['dr'])\n", + "pd.read_sql('select count(*) from twitter_users;', db_engine)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/usr/local/lib/python3.6/dist-packages/sqlalchemy/engine/default.py:509: Warning: (1051, \"Unknown table 'civilservant_production.notice_twit_user'\")\n", + " cursor.execute(statement, parameters)\n" + ] + } + ], + "source": [ + "notice_twit_user_table_dropsql = '''drop table if exists notice_twit_user'''\n", + "notice_twit_user_table_sql = '''create TEMPORARY table notice_twit_user as\n", + "(\n", + "select n.date_received as notice_date, ltt.twitter_user_id as user_id from lumen_notices as n\n", + "join lumen_notice_to_twitter_user as ltt\n", + "on n.id = ltt.notice_id\n", + ");'''\n", + "with db_engine.connect() as con:\n", + " con.execute(notice_twit_user_table_dropsql)\n", + " con.execute(notice_twit_user_table_sql)\n", "\n", - "lum_not_df" + "notice_twit_user = pd.read_sql('select * from notice_twit_user', db_engine, parse_dates=['notice_date'])" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "user_limit = 100\n", + "randusers_sql = '''select id, screen_name, record_created_at, last_attempted_process from twitter_users where CS_oldest_tweets_archived = 3 and lang = 'en' order by rand(42) limit {};'''.format(user_limit)\n", + "randusers = pd.read_sql(randusers_sql, db_engine)\n", + "# randusers" ] }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "quoted_user_ids = ', '.join([str(\"'{}'\".format(x)) for x in (randusers['id'])])" + ] + }, + { + "cell_type": "code", + "execution_count": 18, "metadata": {}, "outputs": [ { @@ -216,347 +210,883 @@ " \n", " \n", " \n", - " CS_oldest_tweets_archived\n", - " count(CS_oldest_tweets_archived)\n", + " id\n", + " screen_name\n", + " record_created_at\n", + " last_attempted_process\n", " \n", " \n", " \n", " \n", " 0\n", - " 1\n", - " 925\n", + " 1032223709938032640\n", + " jackson03081\n", + " 2018-09-20 19:40:16\n", + " 2018-10-01 12:52:33\n", " \n", " \n", " 1\n", - " 2\n", - " 370\n", + " 980425091581280256\n", + " fcbmumbai\n", + " 2018-09-27 04:48:34\n", + " 2018-10-01 13:26:04\n", " \n", " \n", " 2\n", - " 3\n", - " 570\n", + " 80428622\n", + " sylvana8\n", + " 2018-09-27 22:49:12\n", + " 2018-10-01 14:39:08\n", " \n", - " \n", - "\n", - "" - ], - "text/plain": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", "
CS_oldest_tweets_archivedcount(CS_oldest_tweets_archived)
3707263861846454272stmdance2018-09-14 10:17:152018-10-03 18:15:44
019254881373339801047041f_27a2018-09-26 16:47:432018-10-01 12:58:16
1237052810603348choodlumt2018-09-13 18:43:442018-10-03 18:01:36
2357061030961457037549568jaelaflare2018-09-28 16:50:112018-10-01 15:31:59
73286029776shaianne_foster2018-09-18 13:37:142018-10-01 10:54:44
81046012505947066368aaoo33032018-09-29 22:51:302018-10-01 14:19:11
91661059892asadnane2018-09-13 18:42:212018-10-03 17:40:56
10371181972selsnipple2018-09-28 04:49:442018-10-01 15:09:32
1152401801rawiyah2018-09-28 04:49:442018-10-01 15:09:32
122765952876jungkookpetals2018-09-19 07:38:322018-10-01 11:11:32
13352293943mikeswazyy2018-09-28 04:49:442018-10-01 15:08:56
14976188936937705472505thh2018-09-15 19:33:422018-10-03 18:33:59
15452492502lilvlex2018-09-21 13:41:172018-10-01 13:43:10
16163597532_trustissuesx2018-09-13 18:43:182018-10-03 17:57:46
172976120663aaliaqueen9382018-09-14 17:43:412018-10-03 18:18:17
18807215491022323712bumbllebee9002018-09-28 04:49:522018-10-01 15:20:38
191031267980611440640sarkarvijayfan2018-09-22 10:42:152018-10-01 14:14:24
20978833154743169024alannah_dugan2018-09-16 01:34:032018-10-03 18:38:08
21334699392thusombedu2018-09-17 10:35:442018-10-03 18:48:35
221897718317_jazlynscott2018-09-13 18:41:362018-10-03 17:28:33
231001910932186972160crenews2018-09-26 19:47:422018-10-01 13:21:31
241366757954sarkar_loveking2018-09-22 10:42:152018-10-01 14:14:24
25776304391167041536so8vishal30092018-09-30 19:52:292018-10-01 14:34:30
261229337397dchimhavi2018-09-20 16:40:112018-10-01 12:50:20
274741342766isabelluviano_2018-09-25 19:46:312018-10-01 11:32:04
28262070435ijumanaj2018-09-24 01:44:302018-10-01 08:54:37
291037976316241473536sportks234625242018-09-20 01:39:232018-10-01 11:57:38
...............
704237767198gagassonn2018-09-19 19:39:322018-10-01 11:51:36
71496981768yaamirahh2018-09-26 16:47:512018-10-01 13:18:19
721045138180230574080putlocker_cl2018-09-27 19:49:172018-10-01 14:32:48
73296757643fkanormani2018-09-25 10:46:182018-10-01 11:04:03
74407250798krackkids2018-09-17 19:36:082018-10-03 18:54:12
75945677807438483458fanofdannyx2018-09-21 04:40:512018-10-01 13:25:51
76412358282harpreetb12018-09-19 10:38:512018-10-01 11:25:11
773320486610therealcozyyy2018-09-20 22:40:302018-10-01 13:11:41
781020992030405783552mendesarmybb12018-09-19 19:39:122018-10-01 11:31:59
792453213724angeletisabella2018-09-28 13:49:562018-10-01 15:30:59
802856098712macgregorwill972018-09-30 22:52:452018-10-01 16:58:56
81169165677pisces_d332018-09-28 19:50:162018-10-01 15:35:54
82901292430942654464beardedbrwnguy2018-09-21 04:40:502018-10-01 13:24:39
833246075198shewinsnj2018-09-27 19:49:192018-10-01 14:35:01
84895811673692536834mzz667492018-09-17 19:36:072018-10-03 18:52:52
85825914120214044673stranger_beebo2018-09-15 19:33:402018-10-03 18:32:32
86703339988mariahkson2018-09-26 16:47:512018-10-01 13:18:19
872611488746bitchachoashlee2018-09-15 19:33:402018-10-03 18:31:38
882940743141sarahjames9652018-09-14 17:43:442018-10-03 18:18:58
89992066834697474049truehiphophere2018-09-19 04:38:052018-10-01 11:09:19
901621419223reflextunes2018-09-28 22:50:192018-10-01 15:38:12
91397733135jordanbwilliams2018-09-28 04:49:512018-10-01 15:18:59
924042441820alrightokshawn2018-09-27 10:48:452018-10-01 13:47:56
9319635369markradulich2018-09-20 10:40:332018-10-01 12:22:36
94632365371breahardinn2018-09-13 18:43:532018-10-03 18:04:06
95251767844neenbowen2018-09-13 18:41:352018-10-03 17:27:56
96932684118998917120iamsinghaniya12018-09-25 19:46:342018-10-01 11:46:26
97897056528015818752kettavan_memes2018-09-27 10:48:482018-10-01 13:51:37
98877450410704855040scooperng2018-09-20 16:40:112018-10-01 12:51:00
99839367390saucethebosss2018-09-18 07:38:212018-10-01 10:45:18
\n", + "

100 rows × 4 columns

\n", "
" + ], + "text/plain": [ + " id screen_name record_created_at \\\n", + "0 1032223709938032640 jackson03081 2018-09-20 19:40:16 \n", + "1 980425091581280256 fcbmumbai 2018-09-27 04:48:34 \n", + "2 80428622 sylvana8 2018-09-27 22:49:12 \n", + "3 707263861846454272 stmdance 2018-09-14 10:17:15 \n", + "4 881373339801047041 f_27a 2018-09-26 16:47:43 \n", + "5 2810603348 choodlumt 2018-09-13 18:43:44 \n", + "6 1030961457037549568 jaelaflare 2018-09-28 16:50:11 \n", + "7 3286029776 shaianne_foster 2018-09-18 13:37:14 \n", + "8 1046012505947066368 aaoo3303 2018-09-29 22:51:30 \n", + "9 1661059892 asadnane 2018-09-13 18:42:21 \n", + "10 371181972 selsnipple 2018-09-28 04:49:44 \n", + "11 52401801 rawiyah 2018-09-28 04:49:44 \n", + "12 2765952876 jungkookpetals 2018-09-19 07:38:32 \n", + "13 352293943 mikeswazyy 2018-09-28 04:49:44 \n", + "14 976188936937705472 505thh 2018-09-15 19:33:42 \n", + "15 452492502 lilvlex 2018-09-21 13:41:17 \n", + "16 163597532 _trustissuesx 2018-09-13 18:43:18 \n", + "17 2976120663 aaliaqueen938 2018-09-14 17:43:41 \n", + "18 807215491022323712 bumbllebee900 2018-09-28 04:49:52 \n", + "19 1031267980611440640 sarkarvijayfan 2018-09-22 10:42:15 \n", + "20 978833154743169024 alannah_dugan 2018-09-16 01:34:03 \n", + "21 334699392 thusombedu 2018-09-17 10:35:44 \n", + "22 1897718317 _jazlynscott 2018-09-13 18:41:36 \n", + "23 1001910932186972160 crenews 2018-09-26 19:47:42 \n", + "24 1366757954 sarkar_loveking 2018-09-22 10:42:15 \n", + "25 776304391167041536 so8vishal3009 2018-09-30 19:52:29 \n", + "26 1229337397 dchimhavi 2018-09-20 16:40:11 \n", + "27 4741342766 isabelluviano_ 2018-09-25 19:46:31 \n", + "28 262070435 ijumanaj 2018-09-24 01:44:30 \n", + "29 1037976316241473536 sportks23462524 2018-09-20 01:39:23 \n", + ".. ... ... ... \n", + "70 4237767198 gagassonn 2018-09-19 19:39:32 \n", + "71 496981768 yaamirahh 2018-09-26 16:47:51 \n", + "72 1045138180230574080 putlocker_cl 2018-09-27 19:49:17 \n", + "73 296757643 fkanormani 2018-09-25 10:46:18 \n", + "74 407250798 krackkids 2018-09-17 19:36:08 \n", + "75 945677807438483458 fanofdannyx 2018-09-21 04:40:51 \n", + "76 412358282 harpreetb1 2018-09-19 10:38:51 \n", + "77 3320486610 therealcozyyy 2018-09-20 22:40:30 \n", + "78 1020992030405783552 mendesarmybb1 2018-09-19 19:39:12 \n", + "79 2453213724 angeletisabella 2018-09-28 13:49:56 \n", + "80 2856098712 macgregorwill97 2018-09-30 22:52:45 \n", + "81 169165677 pisces_d33 2018-09-28 19:50:16 \n", + "82 901292430942654464 beardedbrwnguy 2018-09-21 04:40:50 \n", + "83 3246075198 shewinsnj 2018-09-27 19:49:19 \n", + "84 895811673692536834 mzz66749 2018-09-17 19:36:07 \n", + "85 825914120214044673 stranger_beebo 2018-09-15 19:33:40 \n", + "86 703339988 mariahkson 2018-09-26 16:47:51 \n", + "87 2611488746 bitchachoashlee 2018-09-15 19:33:40 \n", + "88 2940743141 sarahjames965 2018-09-14 17:43:44 \n", + "89 992066834697474049 truehiphophere 2018-09-19 04:38:05 \n", + "90 1621419223 reflextunes 2018-09-28 22:50:19 \n", + "91 397733135 jordanbwilliams 2018-09-28 04:49:51 \n", + "92 4042441820 alrightokshawn 2018-09-27 10:48:45 \n", + "93 19635369 markradulich 2018-09-20 10:40:33 \n", + "94 632365371 breahardinn 2018-09-13 18:43:53 \n", + "95 251767844 neenbowen 2018-09-13 18:41:35 \n", + "96 932684118998917120 iamsinghaniya1 2018-09-25 19:46:34 \n", + "97 897056528015818752 kettavan_memes 2018-09-27 10:48:48 \n", + "98 877450410704855040 scooperng 2018-09-20 16:40:11 \n", + "99 839367390 saucethebosss 2018-09-18 07:38:21 \n", + "\n", + " last_attempted_process \n", + "0 2018-10-01 12:52:33 \n", + "1 2018-10-01 13:26:04 \n", + "2 2018-10-01 14:39:08 \n", + "3 2018-10-03 18:15:44 \n", + "4 2018-10-01 12:58:16 \n", + "5 2018-10-03 18:01:36 \n", + "6 2018-10-01 15:31:59 \n", + "7 2018-10-01 10:54:44 \n", + "8 2018-10-01 14:19:11 \n", + "9 2018-10-03 17:40:56 \n", + "10 2018-10-01 15:09:32 \n", + "11 2018-10-01 15:09:32 \n", + "12 2018-10-01 11:11:32 \n", + "13 2018-10-01 15:08:56 \n", + "14 2018-10-03 18:33:59 \n", + "15 2018-10-01 13:43:10 \n", + "16 2018-10-03 17:57:46 \n", + "17 2018-10-03 18:18:17 \n", + "18 2018-10-01 15:20:38 \n", + "19 2018-10-01 14:14:24 \n", + "20 2018-10-03 18:38:08 \n", + "21 2018-10-03 18:48:35 \n", + "22 2018-10-03 17:28:33 \n", + "23 2018-10-01 13:21:31 \n", + "24 2018-10-01 14:14:24 \n", + "25 2018-10-01 14:34:30 \n", + "26 2018-10-01 12:50:20 \n", + "27 2018-10-01 11:32:04 \n", + "28 2018-10-01 08:54:37 \n", + "29 2018-10-01 11:57:38 \n", + ".. ... \n", + "70 2018-10-01 11:51:36 \n", + "71 2018-10-01 13:18:19 \n", + "72 2018-10-01 14:32:48 \n", + "73 2018-10-01 11:04:03 \n", + "74 2018-10-03 18:54:12 \n", + "75 2018-10-01 13:25:51 \n", + "76 2018-10-01 11:25:11 \n", + "77 2018-10-01 13:11:41 \n", + "78 2018-10-01 11:31:59 \n", + "79 2018-10-01 15:30:59 \n", + "80 2018-10-01 16:58:56 \n", + "81 2018-10-01 15:35:54 \n", + "82 2018-10-01 13:24:39 \n", + "83 2018-10-01 14:35:01 \n", + "84 2018-10-03 18:52:52 \n", + "85 2018-10-03 18:32:32 \n", + "86 2018-10-01 13:18:19 \n", + "87 2018-10-03 18:31:38 \n", + "88 2018-10-03 18:18:58 \n", + "89 2018-10-01 11:09:19 \n", + "90 2018-10-01 15:38:12 \n", + "91 2018-10-01 15:18:59 \n", + "92 2018-10-01 13:47:56 \n", + "93 2018-10-01 12:22:36 \n", + "94 2018-10-03 18:04:06 \n", + "95 2018-10-03 17:27:56 \n", + "96 2018-10-01 11:46:26 \n", + "97 2018-10-01 13:51:37 \n", + "98 2018-10-01 12:51:00 \n", + "99 2018-10-01 10:45:18 \n", + "\n", + "[100 rows x 4 columns]" ] }, - "execution_count": 4, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "twit_user_processed = '''-- how many in process\n", - "SELECT CS_oldest_tweets_archived, count(CS_oldest_tweets_archived) from twitter_users\n", - "\tgroup by CS_oldest_tweets_archived\n", - "'''\n", - "twit_user_processed_df = pd.read_sql(twit_user_processed, db_engine)\n", - "twit_user_processed_df" + "randusers" ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 19, "metadata": {}, "outputs": [ { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
drcaCOUNT(date(record_created_at))
02018-09-081865
\n", - "
" - ], + "name": "stdout", + "output_type": "stream", + "text": [ + "select created_at as tweet_date, user_id from twitter_statuses \n", + "where user_id in ('1032223709938032640', '980425091581280256', '80428622', '707263861846454272', '881373339801047041', '2810603348', '1030961457037549568', '3286029776', '1046012505947066368', '1661059892', '371181972', '52401801', '2765952876', '352293943', '976188936937705472', '452492502', '163597532', '2976120663', '807215491022323712', '1031267980611440640', '978833154743169024', '334699392', '1897718317', '1001910932186972160', '1366757954', '776304391167041536', '1229337397', '4741342766', '262070435', '1037976316241473536', '947474480842059776', '410210908', '960531545055551490', '1031512184138883072', '742125408125095937', '177792516', '883087172559028224', '283864571', '772349498529947648', '494579546', '941719871313788930', '938385496815947776', '1007452869057044480', '134941948', '2371175997', '773780636', '2514017069', '760742144017469440', '244197854', '967038273209208832', '904503944', '926568920642965509', '1024419919042109440', '2998710924', '767126530719907840', '87371735', '982380127865720832', '790282472', '749786561777135616', '2989595736', '1013262185227694086', '896315308834607104', '1338257053', '553882377', '922144764467777536', '1167861439', '2475322258', '1012520610549960704', '83730981', '829423770079227904', '4237767198', '496981768', '1045138180230574080', '296757643', '407250798', '945677807438483458', '412358282', '3320486610', '1020992030405783552', '2453213724', '2856098712', '169165677', '901292430942654464', '3246075198', '895811673692536834', '825914120214044673', '703339988', '2611488746', '2940743141', '992066834697474049', '1621419223', '397733135', '4042441820', '19635369', '632365371', '251767844', '932684118998917120', '897056528015818752', '877450410704855040', '839367390');\n", + "CPU times: user 1.98 s, sys: 143 ms, total: 2.12 s\n", + "Wall time: 42min 43s\n" + ] + } + ], + "source": [ + "%%time\n", + "userstatus_sql = '''select created_at as tweet_date, user_id from twitter_statuses \n", + "where user_id in ({});'''.format(quoted_user_ids)\n", + "print(userstatus_sql)\n", + "userstatuses = pd.read_sql(userstatus_sql, db_engine, parse_dates=['tweet_date'])\n", + "userstatuses.to_pickle('logs/userstatus.pickle')" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "user_tweet_series = userstatuses.merge(notice_twit_user, on='user_id')" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { "text/plain": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
drcaCOUNT(date(record_created_at))
02018-09-081865
\n", - "
" + "(224701, 3)" ] }, - "execution_count": 5, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "twit_user_rec_created = '''select date(record_created_at) as drca, COUNT(date(record_created_at)) from twitter_users\n", - "GROUP by drca\n", - "'''\n", - "twit_user_rec_created_df = pd.read_sql(twit_user_rec_created, db_engine, parse_dates=['drca'])\n", - "twit_user_rec_created_df" + "user_tweet_series.shape" ] }, { "cell_type": "code", - "execution_count": 6, - "metadata": {}, + "execution_count": 145, + "metadata": { + "scrolled": false + }, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:4: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", + " after removing the cwd from sys.path.\n", + "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:4: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", + " after removing the cwd from sys.path.\n", + "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:4: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", + " after removing the cwd from sys.path.\n", + "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:4: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", + " after removing the cwd from sys.path.\n", + "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:4: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", + " after removing the cwd from sys.path.\n", + "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:4: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", + " after removing the cwd from sys.path.\n", + "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:4: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", + " after removing the cwd from sys.path.\n", + "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:4: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", + " after removing the cwd from sys.path.\n", + "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:4: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", + " after removing the cwd from sys.path.\n", + "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:4: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", + " after removing the cwd from sys.path.\n", + "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:4: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", + " after removing the cwd from sys.path.\n", + "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:4: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", + " after removing the cwd from sys.path.\n" + ] + }, { "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
notice_iddate_receivedtwitter_user_id
0172131462018-09-06 18:09:001020128614107566081
1172131462018-09-06 18:09:002305927712
2172131462018-09-06 18:09:003475689025
3172131462018-09-06 18:09:00952487155405901824
4172131462018-09-06 18:09:00782051605839577088
\n", - "
" - ], + "image/png": "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hOiqZAwkP2W1230dghBCCCGEaKGjp8q4/c2N3LkgjdBAIwvnTuTZ60a3OHnkcsnw7rw3dyLFFVaufnkNaemn2ihiIURX9cqKw1z83ArWHMzzdSjCxySB5KdkgEQhhBBCCP9TabXxr6UHmP7sctYdzuf3M4aw+JfnMKFvTJvtY2yvaBb9fDJRIQHc9Op6Fm/PbrOyhRBdh9aaf367jye+2sOx02Xc/Np6nv5mLxabNGboqlqVQFJKpSuldiiltiql0pzLuimlvldKHXD+jm6bUIUnSSAJIYQQQviXFftzueT5lTz7/X6mD0lgyUPncee5fTEbGdKo0gAAIABJREFU2/473d4xoXxyz2RG9ojk3nc3M2/FIbSW+0chRNNorfnLl7v5z48HuT61J+sevYDrU3vy8rJDXPPyGjLyS30dovCBtvhvNU1rPVprnep8/jCwVGs9AFjqfC7amCSQhBBCCCH8Q3ZhOfe+s5lbX98AwII543nx5rEkRgZ7db/RoQG8fccELhuRyN++2sufP98l95BCiEbZ7JqHP97BG6vTmXN2H566egThQWaeunokL908liN5pcx4YSWfbD4miekuxhuDaM8EpjofzweWAb/zwn66NKv88xdCCCGE6NAsNjtvrk7nuSX7sdk1D104kLnn9SXQZGy3GILMRv594xiSo4P534rDHC8o5183jiEkQObSEULUZrHZeXDhVr7cns0vz+/PgxcOrDb794wRiYzqGcWD72/lVx9sY/n+XB6/YjgRQWYfRi3aS2tbIGngO6XUJqXUXOeyBK21q6P1CSChrg2VUnOVUmlKqbTc3NxWhuE9ucWV3P/+Fkorrb4OpRr59kgIIYQQouPKKargqpfW8MRXe5jUN4YlvzqPX1wwoF2TRy4Gg+KRGUN4fOYwftibww3z1pFTXNHucQghOrYKi42739rEl9uzeeTSwfzqokHVkkcuPaKCeW/uRH514UC+3J7NZf9ayebM0z6IWLS31iaQpmitxwKXAvcqpc71fFE72rPVmenQWs/TWqdqrVPj4uJaGYb3PPPdPj7bepzPth5v0fbzVhxiye6TbRyVJJCEEEIIITqq9LxSrv7vGg7llvDfW8by2m1n0bNbiK/DYtakFObNSuXAyRKuemkNB3OKvb7P4goLO44VUmm1eX1fQoiWK620MufNjfywL4e/XjGcu87r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\n", "text/plain": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
notice_iddate_receivedtwitter_user_id
0172131462018-09-06 18:09:001020128614107566081
1172131462018-09-06 18:09:002305927712
2172131462018-09-06 18:09:003475689025
3172131462018-09-06 18:09:00952487155405901824
4172131462018-09-06 18:09:00782051605839577088
\n", - "
" + "
" ] }, - "execution_count": 6, "metadata": {}, - "output_type": "execute_result" + "output_type": "display_data" } ], "source": [ - "lumen_twit = '''select notice_id, date_received, twitter_user_id from lumen_notice_to_twitter_user as lum_twit\n", - "left join (select id, date_received from lumen_notices) as lum_notice\n", - "on lum_twit.notice_id = lum_notice.id\n", - "'''\n", - "lumen_twit_df = pd.read_sql(lumen_twit, db_engine, parse_dates=['date_received'])\n", - "lumen_twit_df.head()" + "fig, outer_ax = plt.subplots(user_limit//2, 2, 'none', figsize=(user_limit//5,user_limit/2))\n", + "\n", + "for (user, tweet_series), ax_pos in zip(user_tweet_series.groupby('user_id'), outer_ax.flat):\n", + " tweet_series['const'] = 1\n", + " notice_date = notice_twit_user[notice_twit_user['user_id']==user]['notice_date'].iloc[0]\n", + "# print(user, notice_date)\n", + " ax = tweet_series.set_index('tweet_date')['const'].resample('D').sum().plot(ax=ax_pos)\n", + " ymin, ymax = ax.get_ylim()\n", + " ax.vlines(x=[notice_date], ymin=ymin, ymax=ymax-1, color='r')\n", + "\n", + "\n", + "\n", + " plt.show()" ] }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 22, "metadata": {}, "outputs": [], "source": [ - "twitid_complaints = lumen_twit_df.groupby('twitter_user_id').agg({'notice_id':len}).rename({'notice_id':'complaints_received'}, axis=1)" + "experiment_end_date = datetime.datetime(2018,10,2)\n", + "udf = None\n", + "\n", + "for uid, udf in user_tweet_series.groupby('user_id'):\n", + " udf = udf\n", + " break\n" + ] + }, + { + "cell_type": "code", + "execution_count": 148, + "metadata": {}, + "outputs": [], + "source": [ + "def count_before_all(udf):\n", + " return udf[udf['tweet_date'] < udf['notice_date']].count()['tweet_date']\n", + "\n", + "def count_after_all(udf):\n", + " return udf[udf['tweet_date'] >= udf['notice_date']].count()['tweet_date']\n", + "\n", + "def count_before_sym_range(udf):\n", + " return udf[(udf['notice_date'] - udf['tweet_date'] <= collection_range) & (udf['tweet_date'] < udf['notice_date'])].count()['tweet_date']" + ] + }, + { + "cell_type": "code", + "execution_count": 149, + "metadata": {}, + "outputs": [], + "source": [ + "user_tweet_before_all = user_tweet_series.groupby('user_id').apply(count_before_all)\n", + "user_tweet_before_sym_range = user_tweet_series.groupby('user_id').apply(count_before_sym_range)\n", + "user_tweet_after_all = user_tweet_series.groupby('user_id').apply(count_after_all)" ] }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 159, + "metadata": {}, + "outputs": [], + "source": [ + "user_tweet_counts = pd.concat([user_tweet_before_all, user_tweet_before_sym_range, user_tweet_after_all], axis=1)\n", + "user_tweet_counts.columns = ['user_tweet_before_all', 'user_tweet_before_sym_range', 'user_tweet_after_all']" + ] + }, + { + "cell_type": "code", + "execution_count": 161, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "0.05787781350482315" + "user_tweet_before_all 2080.38\n", + "user_tweet_before_sym_range 96.14\n", + "user_tweet_after_all 166.63\n", + "dtype: float64" ] }, - "execution_count": 8, + "execution_count": 161, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "len(twitid_complaints[twitid_complaints['complaints_received']>1])/len(twitid_complaints)" + "user_tweet_counts.mean()" + ] + }, + { + "cell_type": "code", + "execution_count": 169, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[,\n", + " ],\n", + " [,\n", + " ]],\n", + " dtype=object)" + ] + }, + "execution_count": 169, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "user_tweet_counts.hist(figsize=(12,5), bins=30, sharex=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Pure SQL" ] }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "lum_not_sql = '''SELECT date(date_received) as dr, count(date(date_received))\n", + "FROM lumen_notices\n", + "GROUP by dr\n", + "'''\n", + "lum_not_df = pd.read_sql(lum_not_sql, db_engine, parse_dates=['dr'])\n", + "\n", + "lum_not_df" + ] + }, + { + "cell_type": "code", + "execution_count": 171, "metadata": {}, "outputs": [ { @@ -580,89 +1110,101 @@ " \n", " \n", " \n", - " max(reset_time)\n", - " user_id\n", + " CS_oldest_tweets_archived\n", + " count(CS_oldest_tweets_archived)\n", " \n", " \n", " \n", " \n", " 0\n", - " 2018-09-08 17:56:05\n", - " 2833147639\n", + " 1\n", + " 9142\n", " \n", " \n", " 1\n", - " 2018-09-08 17:56:05\n", - " 286504285\n", + " 2\n", + " 46\n", " \n", " \n", " 2\n", - " 2018-09-08 17:56:05\n", - " 3315303954\n", - " \n", - " \n", - " 3\n", - " 2018-09-08 17:56:05\n", - " 411733308\n", + " 3\n", + " 14713\n", " \n", " \n", "\n", "" ], "text/plain": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
max(reset_time)user_id
02018-09-08 17:56:052833147639
12018-09-08 17:56:05286504285
22018-09-08 17:56:053315303954
32018-09-08 17:56:05411733308
\n", - "
" + " CS_oldest_tweets_archived count(CS_oldest_tweets_archived)\n", + "0 1 9142\n", + "1 2 46\n", + "2 3 14713" ] }, - "execution_count": 9, + "execution_count": 171, "metadata": {}, "output_type": "execute_result" } ], + "source": [ + "twit_user_processed = '''-- how many in process\n", + "SELECT CS_oldest_tweets_archived, count(CS_oldest_tweets_archived) from twitter_users\n", + "\tgroup by CS_oldest_tweets_archived\n", + "'''\n", + "twit_user_processed_df = pd.read_sql(twit_user_processed, db_engine)\n", + "twit_user_processed_df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "twit_user_rec_created = '''select date(record_created_at) as drca, COUNT(date(record_created_at)) from twitter_users\n", + "GROUP by drca\n", + "'''\n", + "twit_user_rec_created_df = pd.read_sql(twit_user_rec_created, db_engine, parse_dates=['drca'])\n", + "twit_user_rec_created_df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "lumen_twit = '''select notice_id, date_received, twitter_user_id from lumen_notice_to_twitter_user as lum_twit\n", + "left join (select id, date_received from lumen_notices) as lum_notice\n", + "on lum_twit.notice_id = lum_notice.id\n", + "'''\n", + "lumen_twit_df = pd.read_sql(lumen_twit, db_engine, parse_dates=['date_received'])\n", + "lumen_twit_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "twitid_complaints = lumen_twit_df.groupby('twitter_user_id').agg({'notice_id':len}).rename({'notice_id':'complaints_received'}, axis=1)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "len(twitid_complaints[twitid_complaints['complaints_received']>1])/len(twitid_complaints)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "twitter_rate_sql = '''select max(reset_time), user_id from twitter_ratestate\n", "group by user_id'''\n", @@ -672,7 +1214,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ From 7a5c2f816ffb9fb460e752aebc569e9fddcee6d5 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Tue, 16 Oct 2018 12:04:58 -0500 Subject: [PATCH 128/221] add randomization to users --- ...462fed1a87_add_user_rand_to_twitteruser.py | 64 +++++++++++++++++++ app/controller.py | 4 +- app/controllers/twitter_controller.py | 18 ++++-- app/models.py | 6 +- dmca-cmd.sh | 2 +- schedule_twitter_jobs.py | 7 +- tests/test_twitter.py | 54 ++++++++++++++++ 7 files changed, 142 insertions(+), 13 deletions(-) create mode 100644 alembic/versions/6c462fed1a87_add_user_rand_to_twitteruser.py diff --git a/alembic/versions/6c462fed1a87_add_user_rand_to_twitteruser.py b/alembic/versions/6c462fed1a87_add_user_rand_to_twitteruser.py new file mode 100644 index 0000000..b16091e --- /dev/null +++ b/alembic/versions/6c462fed1a87_add_user_rand_to_twitteruser.py @@ -0,0 +1,64 @@ +"""add user_rand to TwitterUser + +Revision ID: 6c462fed1a87 +Revises: 0dbd786dc2b3 +Create Date: 2018-10-16 08:42:22.745228 + +""" + +# revision identifiers, used by Alembic. +revision = '6c462fed1a87' +down_revision = '0dbd786dc2b3' +branch_labels = None +depends_on = None + +from alembic import op +import sqlalchemy as sa + + +def upgrade(engine_name): + globals()["upgrade_%s" % engine_name]() + + +def downgrade(engine_name): + globals()["downgrade_%s" % engine_name]() + + + + + +def upgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.add_column('twitter_users', sa.Column('user_rand', sa.Float(), nullable=True)) + # ### end Alembic commands ### + + +def downgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_column('twitter_users', 'user_rand') + # ### end Alembic commands ### + + +def upgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.add_column('twitter_users', sa.Column('user_rand', sa.Float(), nullable=True)) + # ### end Alembic commands ### + + +def downgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_column('twitter_users', 'user_rand') + # ### end Alembic commands ### + + +def upgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + op.add_column('twitter_users', sa.Column('user_rand', sa.Float(), nullable=True)) + # ### end Alembic commands ### + + +def downgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_column('twitter_users', 'user_rand') + # ### end Alembic commands ### + diff --git a/app/controller.py b/app/controller.py index 2aaaeee..14a8877 100644 --- a/app/controller.py +++ b/app/controller.py @@ -206,13 +206,13 @@ def fetch_twitter_snapshot_and_tweets(max_time_delta_min=60): log.info("Finished fetch_twitter_snapshot_and_tweets, max_time_delta_min={0} PID={1}".format(max_time_delta_min, str(os.getpid()))) -def fetch_twitter_tweets(backfill=False, fill_start_time=datetime.datetime.utcnow(), collection_seconds=None): +def fetch_twitter_tweets(backfill=False, collection_seconds=None, user_rand_frac=None, fill_start_time=datetime.datetime.utcnow()): """ For all TwitterUsers with CS_most_tweets_queried=False, fetch tweets """ log.info("Calling fetch_twitter_tweets, backfill={0}. PID={1}".format(backfill, str(os.getpid()))) t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) - t.query_and_archive_tweets(backfill=backfill, fill_start_time=fill_start_time, collection_seconds=collection_seconds) + t.query_and_archive_tweets(backfill=backfill, fill_start_time=fill_start_time, collection_seconds=collection_seconds, user_rand_frac=user_rand_frac) twitter_conn.checkin_endpoint() log.info("Finished fetch_twitter_tweets, backfill={0}. PID={1}".format(backfill, str(os.getpid()))) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 66af14f..7dc97ee 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -565,8 +565,9 @@ def archive_old_users(self, key_to_users, has_ids=True): ################### ARCHIVE TWEET CODE ######################################################### - def query_and_archive_tweets(self, backfill=False, fill_start_time=None, collection_seconds=None, batch_size=10, - order="ASC", test_exception=False, is_test=False): + def query_and_archive_tweets(self, backfill=False, fill_start_time=None, collection_seconds=None, + user_rand_frac=None, + batch_size=10, order="ASC", test_exception=False, is_test=False): # make the order condition order_strat_map = {'ASC': TwitterUser.record_created_at.asc(), 'DESC': TwitterUser.record_created_at.desc()} @@ -585,15 +586,21 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, collect self.log.info('Collection deadline is: {0}'.format(creation_deadline)) collection_condition = TwitterUser.record_created_at > creation_deadline self.log.info('Collection condition is: {0}'.format(collection_condition)) - collection_eligible = self.db_session.query(TwitterUser).filter(collection_condition).count() - self.log.info('Collection eligible twitters users number: {0}'.format(collection_eligible)) + # collection_eligible = self.db_session.query(TwitterUser).filter(collection_condition).count() + # self.log.info('Collection eligible twitters users number: {0}'.format(collection_eligible)) # # TODO: remove this colection condition overwrite. # self.log.info('Reminder, hacking collection condition to ensure it runs during Max holiday.'.format(collection_eligible)) # collection_condition = True # make the backfill condition neq_or_eq = neq if backfill else eq + target_JobState = CS_JobState.NOT_PROCESSED if backfill else CS_JobState.PROCESSED + + user_rand_frac = user_rand_frac if user_rand_frac else 1.0 + self.log.info('user_rand_frac is: {0}'.format(user_rand_frac)) + user_rand_condition = TwitterUser.user_rand <= user_rand_frac + all_filled = False # this flag gets set to True when we find no more users to fill # in a loop, until all_filled, get a batch and process the last_attempt_process state along with @@ -607,7 +614,8 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, collect or_(TwitterUser.lang.in_(["en", "en-gb"]), TwitterUser.lang is None), # correct language or_(TwitterUser.last_attempted_process < fill_start_time, # not attempted by any other thread TwitterUser.last_attempted_process is None), # or never been attempted yet - collection_condition)). \ + collection_condition, + user_rand_condition)). \ order_by(order_strat). \ with_for_update(skip_locked=True). \ limit(batch_size) diff --git a/app/models.py b/app/models.py index 16c7641..99472fd 100644 --- a/app/models.py +++ b/app/models.py @@ -3,7 +3,7 @@ import sys import simplejson as json from utils.common import * -from sqlalchemy import Column, Integer, String, Text, DateTime, Boolean, BigInteger, Index +from sqlalchemy import Column, Integer, String, Text, DateTime, Boolean, BigInteger, Index, Float from sqlalchemy.dialects.mysql import MEDIUMTEXT, LONGTEXT from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import relationship @@ -11,6 +11,7 @@ import sqlalchemy import datetime import socket +import random Base = declarative_base() @@ -236,7 +237,7 @@ class LumenNoticeToTwitterUser(Base): # most up to date knowledge about a user at a current time class TwitterUser(Base): __tablename__ = 'twitter_users' - id = Column(String(64), primary_key = True) # should be lowercase; if not found, # if not found, NOT_FOUND_TWITTER_USER_STR_[date] + id = Column(String(64), primary_key = True) # should be lowercase; if not found, # if not found, NOT_FOUND_TWITTER_USER_STR_[date] not_found_id = Column(String(64), index = True, default=None) # if a user ever goes between e.g. FOUND and NOT_FOUND (either direction), # we want to be able to map between the actual id and the ... id screen_name = Column(String(256), index = True) # if not found, # if not found, NOT_FOUND_TWITTER_USER_STR @@ -246,6 +247,7 @@ class TwitterUser(Base): user_state = Column(Integer) # utils/common.py CS_oldest_tweets_archived = Column(Integer, default=1) # see CS_JobState Enum last_attempted_process = Column(DateTime, default=datetime.datetime.utcnow) + user_rand = Column(Float, default=random.random) # a random number created for each new user. class TwitterUserSnapshot(Base): __tablename__ = 'twitter_user_snapshots' diff --git a/dmca-cmd.sh b/dmca-cmd.sh index 769e2b0..addae04 100755 --- a/dmca-cmd.sh +++ b/dmca-cmd.sh @@ -79,7 +79,7 @@ if [ -z $2 ] n_tasks=$2 fi -# the first argument is a comman, either to start, stop, or restart(stop and then start). +# the first argument is a command, either to start, stop, or restart(stop and then start). if [ $1 = "start" ] then echo "starting" diff --git a/schedule_twitter_jobs.py b/schedule_twitter_jobs.py index c48fb91..ce017c7 100644 --- a/schedule_twitter_jobs.py +++ b/schedule_twitter_jobs.py @@ -117,6 +117,7 @@ def main(): experiment_onboarding_days = int(config["experiment_onboarding_days"]) experiment_collection_days = int(config["experiment_collection_days"]) experiment_start_date = datetime.strptime(config["experiment_start_date"], '%Y-%m-%d') + user_rand_frac = config["user_rand_frac"] today = datetime.utcnow() log.info('Loaded experiment start date: {}. Today is :{}'.format(experiment_start_date, today)) time_til_experiment = experiment_start_date - today @@ -195,7 +196,7 @@ def main(): scheduler.schedule( scheduled_time=datetime.utcnow(), func=schedule_twitter_jobs.schedule_fetch_tweets, - args=(args, ttl, timeout, queue_name, repeats, collection_seconds), + args=(args, ttl, timeout, queue_name, repeats, collection_seconds, user_rand_frac), interval=int(args.interval), repeat=repeats, result_ttl=ttl, @@ -206,14 +207,14 @@ def main(): sys.stdout.write(calc_str) -def schedule_fetch_tweets(args, ttl, timeout, queue_name, repeats, collection_seconds): +def schedule_fetch_tweets(args, ttl, timeout, queue_name, repeats, collection_seconds, user_rand_frac): fill_start_time = None # this isn't good for frontfill. I'm going to let processes be in charge of creating their own scheduler_concurrent = Scheduler(queue_name=queue_name+'_concurrent', connection=Redis()) for task in range(args.n_tasks): scheduler_concurrent.schedule( scheduled_time=datetime.utcnow(), func=app.controller.fetch_twitter_tweets, - args=[args.statuses_backfill], + args=[args.statuses_backfill, collection_seconds, user_rand_frac], interval=int(args.interval), repeat=repeats, result_ttl=ttl, diff --git a/tests/test_twitter.py b/tests/test_twitter.py index 54d8274..46dd6bb 100644 --- a/tests/test_twitter.py +++ b/tests/test_twitter.py @@ -235,3 +235,57 @@ def load_processed_user(user): # 999 should be attempted. later_record = db_session.query(TwitterUser).filter(TwitterUser.id==999).first() assert later_record.last_attempted_process > not_yet_queried_timepoint + + +@patch('twitter.Api', autospec=True) +def test_user_rand_defaults_in_range(mock_twitter_api): + tc = app.connections.twitter_connect.TwitterConnect(log=log, db_session=db_session) + api = mock_twitter_api.return_value + + def mocked_GetUserTimeline(user_id, count=None, max_id=None): + with open("{script_dir}/fixture_data/anon_twitter_tweets.json".format(script_dir=TEST_DIR)) as f: + data = json.loads(f.read()) + assert len(data) == 200 + if user_id == "2" or user_id == "3": # suspended_user or protected_user + raise twitter.error.TwitterError("Not authorized.") # not mocking TwitterError + elif user_id == "1": # deleted_user + raise twitter.error.TwitterError([{'message': 'Sorry, that page does not exist.', 'code': 34}]) + else: # # existing_user ? + return data + + m = Mock() + m.side_effect = mocked_GetUserTimeline + api.GetUserTimeline = m + api.GetUserTimeline.__name__ = "GetUserTimeline" + tc.api = api + patch('twitter.') + + assert len(db_session.query(TwitterStatus).all()) == 0 + + t_controller = app.controllers.twitter_controller.TwitterController(db_session, tc, log) + + def load_processed_user(user): + user_record = TwitterUser( + id=user["id"], + screen_name=user["screen_name"], + user_state=user["user_state"], + lang="en", + CS_oldest_tweets_archived=CS_JobState.PROCESSED.value + ) + db_session.add(user_record) + db_session.commit() + + user_given_rand = {"screen_name": "existing_user", "id": "888", "user_state": TwitterUserState.FOUND.value, + "user_rand": 0.1} + + user_default_rand = {"screen_name": "existing_user", "id": "889" + "", "user_state": TwitterUserState.FOUND.value, + "user_rand": 0.1} + + # add two users ten seconds apart + load_processed_user(user_given_rand) + load_processed_user(user_default_rand) + + for u in db_session.query(TwitterUser).all(): + log.info('Userid {0}, record_created_at {1}. Rand value {2}'.format(u.id, u.record_created_at, u.user_rand)) + assert 0 < u.user_rand < 1 From 693e22222d11d414a2f25b12e54a76880407a38f Mon Sep 17 00:00:00 2001 From: Max Klein Date: Thu, 18 Oct 2018 15:45:34 -0500 Subject: [PATCH 129/221] stack_trace shouldn't cause error, and email log uses backlogs too. --- app/controllers/twitter_controller.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 7dc97ee..2fb4f77 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -611,16 +611,15 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, collect fill_query = self.db_session.query(TwitterUser). \ filter(and_( eq(TwitterUser.CS_oldest_tweets_archived, target_JobState.value), # back or front - or_(TwitterUser.lang.in_(["en", "en-gb"]), TwitterUser.lang is None), # correct language - or_(TwitterUser.last_attempted_process < fill_start_time, # not attempted by any other thread - TwitterUser.last_attempted_process is None), # or never been attempted yet + TwitterUser.lang.in_(["en", "en-gb", None]), # correct language + or_(eq(TwitterUser.last_attempted_process, None), TwitterUser.last_attempted_process < fill_start_time).self_group(), # or never been attempted yet collection_condition, user_rand_condition)). \ order_by(order_strat). \ with_for_update(skip_locked=True). \ limit(batch_size) - # self.log.info('Fill query is: {}'.format(str(fill_query))) + self.log.info('Fill query is: {}'.format(str(fill_query.statement.compile()))) unarchived_users = fill_query.all() # mark in the database that we're claiming these items From fd9b1b0fe5bec5560bbdb8cd90d44632796cebab Mon Sep 17 00:00:00 2001 From: Max Klein Date: Fri, 26 Oct 2018 11:16:13 -0500 Subject: [PATCH 130/221] stop logging the compiled sql statements --- app/controllers/twitter_controller.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 2fb4f77..9955fec 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -619,7 +619,7 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, collect with_for_update(skip_locked=True). \ limit(batch_size) - self.log.info('Fill query is: {}'.format(str(fill_query.statement.compile()))) + # self.log.info('Fill query is: {}'.format(str(fill_query.statement.compile()))) unarchived_users = fill_query.all() # mark in the database that we're claiming these items From 2814e7955408e1613e4814bc237e47bdb48f7ae5 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Wed, 31 Oct 2018 16:31:43 -0600 Subject: [PATCH 131/221] Don't repeat once a job is put on queue. --- app/controllers/twitter_controller.py | 1 + schedule_twitter_jobs.py | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 9955fec..f66b1e7 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -646,6 +646,7 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, collect self.log.error("Encountered deatched instance error.") # finally reset in_progress and log finally: + self.log.info('RESET CS_oldest_tweets_archived attempting.') utils.common.reset_CS_JobState_In_Progress(unarchived_users, "CS_oldest_tweets_archived", self.db_session, self.log) # if still marked IN_PROGRESS (e.g. because of unchecked exception), reset it to NOT_PROCESSED diff --git a/schedule_twitter_jobs.py b/schedule_twitter_jobs.py index ce017c7..9e36023 100644 --- a/schedule_twitter_jobs.py +++ b/schedule_twitter_jobs.py @@ -90,7 +90,7 @@ def main(): required=False, default=1, type=int, - help="Number of concurrent tasks. Currently only supports fetch_twitter_tweets.") + help="Number of concurrent tasks. Currently only supported for fetch_twitter_tweets.") args = parser.parse_args() @@ -210,13 +210,14 @@ def main(): def schedule_fetch_tweets(args, ttl, timeout, queue_name, repeats, collection_seconds, user_rand_frac): fill_start_time = None # this isn't good for frontfill. I'm going to let processes be in charge of creating their own scheduler_concurrent = Scheduler(queue_name=queue_name+'_concurrent', connection=Redis()) + log.info('FILLTASKS: n_tasks is {}'.format(args.n_tasks)) for task in range(args.n_tasks): scheduler_concurrent.schedule( scheduled_time=datetime.utcnow(), func=app.controller.fetch_twitter_tweets, args=[args.statuses_backfill, collection_seconds, user_rand_frac], interval=int(args.interval), - repeat=repeats, + repeat=0, result_ttl=ttl, timeout=timeout) From 7a17555b7456ea7194204f202655ac5307521cee Mon Sep 17 00:00:00 2001 From: Max Klein Date: Thu, 3 Jan 2019 15:21:30 -0800 Subject: [PATCH 132/221] Create fill table in database to verify how many fills are occurring per day. --- ...dbe799706_add_user_state_to_fills_table.py | 64 ++++++++++++ .../cd494c3a75aa_create_fills_table.py | 97 +++++++++++++++++++ app/controllers/twitter_controller.py | 35 ++++--- app/models.py | 12 ++- utils/email_db_report.py | 28 +++++- 5 files changed, 220 insertions(+), 16 deletions(-) create mode 100644 alembic/versions/3b4dbe799706_add_user_state_to_fills_table.py create mode 100644 alembic/versions/cd494c3a75aa_create_fills_table.py diff --git a/alembic/versions/3b4dbe799706_add_user_state_to_fills_table.py b/alembic/versions/3b4dbe799706_add_user_state_to_fills_table.py new file mode 100644 index 0000000..f3dba38 --- /dev/null +++ b/alembic/versions/3b4dbe799706_add_user_state_to_fills_table.py @@ -0,0 +1,64 @@ +"""add user_state to fills table + +Revision ID: 3b4dbe799706 +Revises: cd494c3a75aa +Create Date: 2019-01-02 16:14:57.307986 + +""" + +# revision identifiers, used by Alembic. +revision = '3b4dbe799706' +down_revision = 'cd494c3a75aa' +branch_labels = None +depends_on = None + +from alembic import op +import sqlalchemy as sa + + +def upgrade(engine_name): + globals()["upgrade_%s" % engine_name]() + + +def downgrade(engine_name): + globals()["downgrade_%s" % engine_name]() + + + + + +def upgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.add_column('twitter_fills', sa.Column('user_state', sa.Integer(), nullable=True)) + # ### end Alembic commands ### + + +def downgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_column('twitter_fills', 'user_state') + # ### end Alembic commands ### + + +def upgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.add_column('twitter_fills', sa.Column('user_state', sa.Integer(), nullable=True)) + # ### end Alembic commands ### + + +def downgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_column('twitter_fills', 'user_state') + # ### end Alembic commands ### + + +def upgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + op.add_column('twitter_fills', sa.Column('user_state', sa.Integer(), nullable=True)) + # ### end Alembic commands ### + + +def downgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_column('twitter_fills', 'user_state') + # ### end Alembic commands ### + diff --git a/alembic/versions/cd494c3a75aa_create_fills_table.py b/alembic/versions/cd494c3a75aa_create_fills_table.py new file mode 100644 index 0000000..7b25b90 --- /dev/null +++ b/alembic/versions/cd494c3a75aa_create_fills_table.py @@ -0,0 +1,97 @@ +"""create fills table + +Revision ID: cd494c3a75aa +Revises: 6c462fed1a87 +Create Date: 2019-01-02 15:47:38.340181 + +""" + +# revision identifiers, used by Alembic. +revision = 'cd494c3a75aa' +down_revision = '6c462fed1a87' +branch_labels = None +depends_on = None + +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import mysql + +def upgrade(engine_name): + globals()["upgrade_%s" % engine_name]() + + +def downgrade(engine_name): + globals()["downgrade_%s" % engine_name]() + + + + + +def upgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('twitter_fills', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('user_id', sa.BigInteger(), nullable=True), + sa.Column('record_created_at', sa.DateTime(), nullable=True), + sa.Column('fill_type', mysql.TINYTEXT(), nullable=True), + sa.Column('fill_start_time', sa.DateTime(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_index(op.f('ix_twitter_fills_record_created_at'), 'twitter_fills', ['record_created_at'], unique=False) + op.create_index(op.f('ix_twitter_fills_user_id'), 'twitter_fills', ['user_id'], unique=False) + # ### end Alembic commands ### + + +def downgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index(op.f('ix_twitter_fills_user_id'), table_name='twitter_fills') + op.drop_index(op.f('ix_twitter_fills_record_created_at'), table_name='twitter_fills') + op.drop_table('twitter_fills') + # ### end Alembic commands ### + + +def upgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('twitter_fills', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('user_id', sa.BigInteger(), nullable=True), + sa.Column('record_created_at', sa.DateTime(), nullable=True), + sa.Column('fill_type', mysql.TINYTEXT(), nullable=True), + sa.Column('fill_start_time', sa.DateTime(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_index(op.f('ix_twitter_fills_record_created_at'), 'twitter_fills', ['record_created_at'], unique=False) + op.create_index(op.f('ix_twitter_fills_user_id'), 'twitter_fills', ['user_id'], unique=False) + # ### end Alembic commands ### + + +def downgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index(op.f('ix_twitter_fills_user_id'), table_name='twitter_fills') + op.drop_index(op.f('ix_twitter_fills_record_created_at'), table_name='twitter_fills') + op.drop_table('twitter_fills') + # ### end Alembic commands ### + + +def upgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('twitter_fills', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('user_id', sa.BigInteger(), nullable=True), + sa.Column('record_created_at', sa.DateTime(), nullable=True), + sa.Column('fill_type', mysql.TINYTEXT(), nullable=True), + sa.Column('fill_start_time', sa.DateTime(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_index(op.f('ix_twitter_fills_record_created_at'), 'twitter_fills', ['record_created_at'], unique=False) + op.create_index(op.f('ix_twitter_fills_user_id'), 'twitter_fills', ['user_id'], unique=False) + # ### end Alembic commands ### + + +def downgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index(op.f('ix_twitter_fills_user_id'), table_name='twitter_fills') + op.drop_index(op.f('ix_twitter_fills_record_created_at'), table_name='twitter_fills') + op.drop_table('twitter_fills') + # ### end Alembic commands ### + diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index f66b1e7..86d5476 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -3,7 +3,7 @@ import twitter import simplejson as json import datetime -from app.models import Base, TwitterUser, TwitterStatus, LumenNoticeToTwitterUser, TwitterUserSnapshot +from app.models import Base, TwitterUser, TwitterStatus, LumenNoticeToTwitterUser, TwitterUserSnapshot, TwitterFill import requests import sqlalchemy from sqlalchemy import and_, or_, func @@ -263,12 +263,12 @@ def commit_users_failed(user): except: self.log.error( "Error while saving DB Session for TwitterUser, TwitterUserSnapshot object", - extra=sys.exc_info()) + exc_info=True) commit_users_failed(screen_name) except: self.log.error( "Error while creating TwitterUser, TwitterUserSnapshot objects for user {0}".format( - user_json["id"]), extra=sys.exc_info()) + user_json["id"]), exc_info=True) commit_users_failed(screen_name) # at end, for left_users (users not found), commit to db @@ -328,12 +328,12 @@ def commit_users_failed(user): self.db_session.commit() except: self.log.error("Error while saving DB Session for TwitterUser, TwitterUserSnapshot object", - extra=sys.exc_info()) + exc_info=True) commit_users_failed([name]) except: self.log.error( "Error while updating TwitterUser, creating TwitterUserSnapshot object for user {0}".format( - user_json["id"]), extra=sys.exc_info()) + user_json["id"]), exc_info=True) commit_users_failed([name]) def is_user_suspended_or_deleted(self, username): @@ -507,7 +507,7 @@ def archive_old_users(self, key_to_users, has_ids=True): except: self.log.error( "Error while updating TwitterUser, creating TwitterUserSnapshot object for user {0}".format( - user_json["id"]), extra=sys.exc_info()) + user_json["id"]), exc_info=True) else: if has_ids: left_users.discard(uid) # discard doesn't throw an error @@ -520,7 +520,7 @@ def archive_old_users(self, key_to_users, has_ids=True): except: self.log.error( "Error while saving DB Session for TwitterUser, TwitterUserSnapshot object for {0} users".format( - len(users_info)), extra=sys.exc_info()) + len(users_info)), exc_info=True) else: self.log.info("Saved {0} found twitter users' info.".format(len(users_info))) @@ -551,13 +551,13 @@ def archive_old_users(self, key_to_users, has_ids=True): except: self.log.error( "Error while updating TwitterUser, creating TwitterUserSnapshot object for user {0}".format( - user_json["id"]), extra=sys.exc_info()) + user_json["id"]), exc_info=True) if len(left_users) > 0: try: self.db_session.commit() except: self.log.error("Error while saving DB Session for {0} not_found twitter users' info.".format( - len(left_users)), extra=sys.exc_info()) + len(left_users)), exc_info=True) else: self.log.info("Saved {0} not_found twitter users' info.".format(len(left_users))) @@ -640,7 +640,7 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, collect # try to archive the users tweets try: self.with_user_records_archive_tweets(unarchived_users, backfill=backfill, is_test=is_test, - test_exception=test_exception) # backfill hacky + test_exception=test_exception, fill_start_time=fill_start_time) # backfill hacky # TODO if the user has become invalid then mark this except sqlalchemy.orm.exc.DetachedInstanceError: self.log.error("Encountered deatched instance error.") @@ -662,7 +662,8 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, collect batch_attempt_counter += 1 - def with_user_records_archive_tweets(self, user_records, backfill=False, is_test=False, test_exception=False): + def with_user_records_archive_tweets(self, user_records, backfill=False, is_test=False, test_exception=False, + fill_start_time=None): """ user_records: list of TwitterUser records @@ -681,6 +682,14 @@ def with_user_records_archive_tweets(self, user_records, backfill=False, is_test self.db_session.add(user) self.db_session.commit() + fill_record = TwitterFill(user_id=user.id, + fill_start_time=fill_start_time, + fill_type='backfill' if backfill else 'frontfill', + user_state=job_state.value) + + self.db_session.add(fill_record) + self.db_session.commit() + if test_exception: counter += 1 if counter >= len(user_records) / 2: @@ -826,7 +835,7 @@ def archive_user_tweets(self, user, backfill=False, is_test=False): new_seen_statuses.add(status_id) except: self.log.error("Error while creating TwitterStatus object for user {0}, status id {1}".format( - status_json["user"]["id"]["screen_name"], status_id), extra=sys.exc_info()) + status_json["user"]["id"]["screen_name"], status_id), exc_info=True) return job_state try: with warnings.catch_warnings(): @@ -835,7 +844,7 @@ def archive_user_tweets(self, user, backfill=False, is_test=False): self.db_session.commit() except: self.log.error("Error while saving DB Session for {0} statuses for user {1}.".format( - len(new_seen_statuses) - prev_new_seen_statuses_length, user_id), extra=sys.exc_info()) + len(new_seen_statuses) - prev_new_seen_statuses_length, user_id), exc_info=True) return job_state else: self.log.info("PID {2} Saved {0} statuses for user {1}.".format( diff --git a/app/models.py b/app/models.py index 99472fd..9bdb202 100644 --- a/app/models.py +++ b/app/models.py @@ -4,7 +4,7 @@ import simplejson as json from utils.common import * from sqlalchemy import Column, Integer, String, Text, DateTime, Boolean, BigInteger, Index, Float -from sqlalchemy.dialects.mysql import MEDIUMTEXT, LONGTEXT +from sqlalchemy.dialects.mysql import MEDIUMTEXT, LONGTEXT, TINYTEXT from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import relationship from sqlalchemy import create_engine @@ -289,3 +289,13 @@ class TwitterToken(Base): user_id = Column(BigInteger, primary_key = True) oauth_token = Column(String(64)) #these are only 50 long oauth_token_secret = Column(String(64)) #these are only 45 long + +class TwitterFill(Base): + __tablename__ = 'twitter_fills' + id = Column(BigInteger, primary_key = True) + user_id = Column(BigInteger, index = True) #this is the same as twitter user id. + record_created_at = Column(DateTime, default=datetime.datetime.utcnow, index=True) # need this index for fast counting + fill_type = Column(TINYTEXT) + fill_start_time = Column(DateTime) + user_state = Column(Integer) # utils/common.py + diff --git a/utils/email_db_report.py b/utils/email_db_report.py index 49deb48..894ea91 100644 --- a/utils/email_db_report.py +++ b/utils/email_db_report.py @@ -124,7 +124,7 @@ def send_report(subject, html): try: send_email(email_config["fromaddr"], email_config["toaddrs"], subject, html) except ConnectionRefusedError: - print('It looks like you cant SMTP from this machine' ) + print('It looks like you cant SMTP from this machine') def save_report_locally(subject, html): @@ -310,6 +310,29 @@ def generate_twitter_users(today=datetime.datetime.utcnow(), days=7, html=True, label) # to make everything 00:00:00 +def generate_twitter_fills(today=datetime.datetime.utcnow(), days=7, html=True, fill_type='backfill'): + query_str = """ + SELECT '{fill_type}', YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) + FROM twitter_fills WHERE record_created_at <= :to_date and record_created_at >= :from_date + AND fill_type = '{fill_type}' + GROUP BY YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at);""".format( + fill_type=fill_type) + result = run_query_for_days(query_str, today, days=days) + if not html: + return result + return generate_html_table(result, + str_to_date(date_to_str(today)), + fill_type) # to make everything 00:00:00 + + +def generate_twitter_backfills(today, days): + return generate_twitter_fills(today=today, days=days, html=True, fill_type='backfill') + + +def generate_twitter_frontfills(today, days): + return generate_twitter_fills(today=today, days=days, html=True, fill_type='frontfill') + + ##### TAKES (AT LEAST) 5 MIN TO RUN... def generate_twitter_user_snapshots(today=datetime.datetime.utcnow(), days=7, html=True, label="Twitter User Snapshots"): @@ -460,6 +483,8 @@ def generate_report(today=datetime.datetime.utcnow(), days=7): html += generate_twitter_users(today, days) html += generate_twitter_user_snapshots(today, days) html += generate_tweets(today, days) + html += generate_twitter_backfills(today, days) + html += generate_twitter_frontfills(today, days) # html += generate_reddit_front_page(today, days) # html += generate_reddit_subreddit_page(today, days) # html += generate_reddit_subreddit(today, days) @@ -486,7 +511,6 @@ def generate_report(today=datetime.datetime.utcnow(), days=7): now = datetime.datetime.utcnow() end = datetime.datetime.combine(now, datetime.time()) today = end - datetime.timedelta(seconds=1) - html = generate_report(today, days=7) subject = "CivilServant Database Report: {0}".format(date_to_str(today)) send_report(subject, html) From 2c1e7b1bf6a7335816ae8245194112cf6ab20e81 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Fri, 4 Jan 2019 14:59:09 -0800 Subject: [PATCH 133/221] Move fill_start_time to be defined before threads are instantiated. --- app/controller.py | 2 +- schedule_twitter_jobs.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/controller.py b/app/controller.py index 14a8877..bb160e5 100644 --- a/app/controller.py +++ b/app/controller.py @@ -206,7 +206,7 @@ def fetch_twitter_snapshot_and_tweets(max_time_delta_min=60): log.info("Finished fetch_twitter_snapshot_and_tweets, max_time_delta_min={0} PID={1}".format(max_time_delta_min, str(os.getpid()))) -def fetch_twitter_tweets(backfill=False, collection_seconds=None, user_rand_frac=None, fill_start_time=datetime.datetime.utcnow()): +def fetch_twitter_tweets(backfill=False, collection_seconds=None, user_rand_frac=None, fill_start_time=None): """ For all TwitterUsers with CS_most_tweets_queried=False, fetch tweets """ diff --git a/schedule_twitter_jobs.py b/schedule_twitter_jobs.py index 9e36023..e35d608 100644 --- a/schedule_twitter_jobs.py +++ b/schedule_twitter_jobs.py @@ -208,14 +208,14 @@ def main(): def schedule_fetch_tweets(args, ttl, timeout, queue_name, repeats, collection_seconds, user_rand_frac): - fill_start_time = None # this isn't good for frontfill. I'm going to let processes be in charge of creating their own + fill_start_time = datetime.utcnow() scheduler_concurrent = Scheduler(queue_name=queue_name+'_concurrent', connection=Redis()) log.info('FILLTASKS: n_tasks is {}'.format(args.n_tasks)) for task in range(args.n_tasks): scheduler_concurrent.schedule( scheduled_time=datetime.utcnow(), func=app.controller.fetch_twitter_tweets, - args=[args.statuses_backfill, collection_seconds, user_rand_frac], + args=[args.statuses_backfill, collection_seconds, user_rand_frac, fill_start_time], interval=int(args.interval), repeat=0, result_ttl=ttl, From 95568f8c4a88ae3fb5fa42aceea7f356dbf38cb0 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Thu, 10 Jan 2019 17:45:22 -0800 Subject: [PATCH 134/221] Move fill_start_time to be defined before threads are instantiated. --- app/connections/twitter_connect.py | 4 ++++ app/controllers/twitter_controller.py | 25 +++++++++++++------------ tests/test_twitter_connect.py | 8 ++++++++ utils/common.py | 2 ++ 4 files changed, 27 insertions(+), 12 deletions(-) diff --git a/app/connections/twitter_connect.py b/app/connections/twitter_connect.py index 22b06a7..4440aa9 100644 --- a/app/connections/twitter_connect.py +++ b/app/connections/twitter_connect.py @@ -1,3 +1,4 @@ +import requests import simplejson as json import os, sys, glob, random, datetime, time, inspect, csv from datetime import timedelta @@ -444,3 +445,6 @@ def query(self, method, *args, **kwargs): raise twiterr # self.log.error( # 'Twitter Query encountered twitter error with no handler yet: {0}'.format(twiterr)) + except requests.exceptions.ConnectionError: + # sometimes this gets raised + return self.constant_wait_sleep_and_recurse("Low-level request error", method, *args, **kwargs) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 86d5476..d94c49a 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -306,7 +306,9 @@ def commit_users_failed(user): record_created_at=now, lang=None, user_state=user_state.value, - CS_oldest_tweets_archived=CS_JobState.PROCESSED.value) # no tweets to find + CS_oldest_tweets_archived=CS_JobState.WONT_PROCESS.value) # no tweets to find + # if we set these NOT_FOUND or SUSPENDED users to CS_JobState.PROCESSED then they might be tried again + # but we aren't interseted self.db_session.add(user_record) # also create first TwitterUserSnapshot record @@ -472,14 +474,12 @@ def archive_old_users(self, key_to_users, has_ids=True): # then screen_name hasn't changed. update the existing user record. user = key_to_users[screen_name] else: - # we don't expect to have called UsersLookup with some screen_names and get back - # any different screen_names - # if this did happen... - # we wouldn't have called UsersLookup with screen_names unless we didn't have the ids (users not found) - # if a previously not found user changed their screen name, AND their account got unsuspended, - # such that we are able to get their account info now, we'd get an id we haven't seen before, and there is - # NO WAY for us to match up these records. - # so we would want to create a new record. + # we don't expect to have called UsersLookup with some screen_names and get back any + # different screen_names if this did happen... we wouldn't have called UsersLookup with + # screen_names unless we didn't have the ids (users not found) if a previously not found + # user changed their screen name, AND their account got unsuspended, such that we are + # able to get their account info now, we'd get an id we haven't seen before, and there is + # NO WAY for us to match up these records. so we would want to create a new record. self.log.error( "Unexpected screen_name change: {0} is not in key_to_users. key_to_users' keys (screen_names): {1}".format( screen_name, key_to_users.keys())) @@ -492,7 +492,7 @@ def archive_old_users(self, key_to_users, has_ids=True): user.created_at = created_at # user.record_updated_at = now # THIS SHOULDN'T BE UPDATED. old TwitterUser records probably have wrong record_updated_at user.lang = user_json["lang"] - user.state = user_state.value + user.user_state = user_state.value # create TwitterUserSnapshot record user_snapshot_record = TwitterUserSnapshot( @@ -649,7 +649,8 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, collect self.log.info('RESET CS_oldest_tweets_archived attempting.') utils.common.reset_CS_JobState_In_Progress(unarchived_users, "CS_oldest_tweets_archived", self.db_session, - self.log) # if still marked IN_PROGRESS (e.g. because of unchecked exception), reset it to NOT_PROCESSED + self.log) # if still marked IN_PROGRESS (e.g. because of + # unchecked exception), reset it to NOT_PROCESSED self.db_session.close() self.log.info( @@ -677,6 +678,7 @@ def with_user_records_archive_tweets(self, user_records, backfill=False, is_test counter = 0 for user in user_records: + # users's user_state can change by executing the next line. job_state = self.archive_user_tweets(user, backfill=backfill, is_test=is_test) user.CS_oldest_tweets_archived = job_state.value self.db_session.add(user) @@ -686,7 +688,6 @@ def with_user_records_archive_tweets(self, user_records, backfill=False, is_test fill_start_time=fill_start_time, fill_type='backfill' if backfill else 'frontfill', user_state=job_state.value) - self.db_session.add(fill_record) self.db_session.commit() diff --git a/tests/test_twitter_connect.py b/tests/test_twitter_connect.py index f063818..43ddbf7 100644 --- a/tests/test_twitter_connect.py +++ b/tests/test_twitter_connect.py @@ -1,5 +1,7 @@ import pytest import os + +import requests import twitter import datetime, time from mock import Mock, patch @@ -234,6 +236,12 @@ def test_recovery_after_unknown_error(mock_rate_limit, mock_twitter): error_to_test = twitter.error.TwitterError({'Unknown error: '}) return recovery_after_error(mock_rate_limit, mock_twitter, error_to_test) +@patch('twitter.Api', autospec=True) +@patch('twitter.ratelimit.RateLimit', autospec=True) +def test_recovery_after_requests_connection_error(mock_rate_limit, mock_twitter): + error_to_test = requests.exceptions.ConnectionError() + return recovery_after_error(mock_rate_limit, mock_twitter, error_to_test) + @patch('twitter.Api', autospec=True) @patch('twitter.ratelimit.RateLimit', autospec=True) def test_invalid_token(mock_rate_limit, mock_twitter): diff --git a/utils/common.py b/utils/common.py index 10d6368..276f77f 100644 --- a/utils/common.py +++ b/utils/common.py @@ -34,6 +34,8 @@ class CS_JobState(Enum): PROCESSED = 3 # finished running FAILED = 4 # in_progress but never succeeded processing; because e.g. internet went down or system crashed NEEDS_RETRY = 5 # for flagging purposes... + WONT_PROCESS = 6 # decide not process because they were never existing in the first place. + def generate_not_found_twitter_user_id(screen_name=""): capped_screen_name = screen_name if len(screen_name)<30 else screen_name[:30] + "..." From d8fc037bb1c4c35d59c923f9db53b6f8fb314dab Mon Sep 17 00:00:00 2001 From: Max Klein Date: Thu, 10 Jan 2019 18:17:12 -0800 Subject: [PATCH 135/221] Experiment languages and job state add --- ...e0147bf065_add_job_state_to_fills_table.py | 64 +++++++++++++++++++ app/controllers/twitter_controller.py | 9 +-- app/models.py | 1 + utils/common.py | 2 + 4 files changed, 72 insertions(+), 4 deletions(-) create mode 100644 alembic/versions/aee0147bf065_add_job_state_to_fills_table.py diff --git a/alembic/versions/aee0147bf065_add_job_state_to_fills_table.py b/alembic/versions/aee0147bf065_add_job_state_to_fills_table.py new file mode 100644 index 0000000..a5c14b5 --- /dev/null +++ b/alembic/versions/aee0147bf065_add_job_state_to_fills_table.py @@ -0,0 +1,64 @@ +"""add job_state to fills table + +Revision ID: aee0147bf065 +Revises: 3b4dbe799706 +Create Date: 2019-01-10 18:03:17.679324 + +""" + +# revision identifiers, used by Alembic. +revision = 'aee0147bf065' +down_revision = '3b4dbe799706' +branch_labels = None +depends_on = None + +from alembic import op +import sqlalchemy as sa + + +def upgrade(engine_name): + globals()["upgrade_%s" % engine_name]() + + +def downgrade(engine_name): + globals()["downgrade_%s" % engine_name]() + + + + + +def upgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.add_column('twitter_fills', sa.Column('job_state', sa.Integer(), nullable=True)) + # ### end Alembic commands ### + + +def downgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_column('twitter_fills', 'job_state') + # ### end Alembic commands ### + + +def upgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.add_column('twitter_fills', sa.Column('job_state', sa.Integer(), nullable=True)) + # ### end Alembic commands ### + + +def downgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_column('twitter_fills', 'job_state') + # ### end Alembic commands ### + + +def upgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + op.add_column('twitter_fills', sa.Column('job_state', sa.Integer(), nullable=True)) + # ### end Alembic commands ### + + +def downgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_column('twitter_fills', 'job_state') + # ### end Alembic commands ### + diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index d94c49a..2e15159 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -8,7 +8,7 @@ import sqlalchemy from sqlalchemy import and_, or_, func import utils.common -from utils.common import TwitterUserState, NOT_FOUND_TWITTER_USER_STR, CS_JobState, neq +from utils.common import TwitterUserState, NOT_FOUND_TWITTER_USER_STR, CS_JobState, neq, EXPERIMENT_LANGUAGES import sys, warnings, os from collections import defaultdict @@ -373,7 +373,7 @@ def query_and_archive_user_snapshots_and_tweets(self, min_time, is_test=False): """ need_snapshot_users = self.db_session.query(TwitterUser).filter( - or_(TwitterUser.lang.in_(["en", "en-gb"]), TwitterUser.lang is None)).all() + or_(TwitterUser.lang.in_(EXPERIMENT_LANGUAGES), TwitterUser.lang is None)).all() # querying TwitterUserSnapshot is very expensive # need_snapshot_user_snapshots = self.db_session.query( @@ -611,7 +611,7 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, collect fill_query = self.db_session.query(TwitterUser). \ filter(and_( eq(TwitterUser.CS_oldest_tweets_archived, target_JobState.value), # back or front - TwitterUser.lang.in_(["en", "en-gb", None]), # correct language + TwitterUser.lang.in_(EXPERIMENT_LANGUAGES), # correct language or_(eq(TwitterUser.last_attempted_process, None), TwitterUser.last_attempted_process < fill_start_time).self_group(), # or never been attempted yet collection_condition, user_rand_condition)). \ @@ -687,7 +687,8 @@ def with_user_records_archive_tweets(self, user_records, backfill=False, is_test fill_record = TwitterFill(user_id=user.id, fill_start_time=fill_start_time, fill_type='backfill' if backfill else 'frontfill', - user_state=job_state.value) + job_state=job_state.value, + user_state=user.user_state) self.db_session.add(fill_record) self.db_session.commit() diff --git a/app/models.py b/app/models.py index 9bdb202..6756ef1 100644 --- a/app/models.py +++ b/app/models.py @@ -298,4 +298,5 @@ class TwitterFill(Base): fill_type = Column(TINYTEXT) fill_start_time = Column(DateTime) user_state = Column(Integer) # utils/common.py + job_state = Column(Integer) diff --git a/utils/common.py b/utils/common.py index 276f77f..ca58a40 100644 --- a/utils/common.py +++ b/utils/common.py @@ -7,6 +7,8 @@ NOT_FOUND_TWITTER_USER_STR = "" +EXPERIMENT_LANGUAGES = ['en', 'en-gb', 'en-GB'] + class PageType(Enum): TOP = 1 CONTR = 2 # controversial From 72503d768e5f0020a87fe8a6effae681795ae3f4 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Thu, 28 Mar 2019 16:01:01 -0700 Subject: [PATCH 136/221] url unshortening runner and arithemetic bug fix --- .../versions/17b20129fb86_add_unshortened.py | 91 + app/controller.py | 10 + app/controllers/twitter_controller.py | 41 +- app/models.py | 14 +- schedule_twitter_jobs.py | 6 +- tests/fixture_data/test_oneday.json | 4 +- tests/fixture_data/test_restart.json | 13 + .../fixture_data/twitter_statuses_10000.json | 1 + tests/test_twitter_scheduler.py | 67 +- utils/data_completeness_verification.ipynb | 2161 +++++++++++++++++ ...r_observational_analysis_controller2.ipynb | 65 +- utils/url_unshortener.py | 58 +- utils/url_unshortener_profile.ipynb | 234 ++ 13 files changed, 2674 insertions(+), 91 deletions(-) create mode 100644 alembic/versions/17b20129fb86_add_unshortened.py create mode 100644 tests/fixture_data/test_restart.json create mode 100644 tests/fixture_data/twitter_statuses_10000.json create mode 100644 utils/data_completeness_verification.ipynb create mode 100644 utils/url_unshortener_profile.ipynb diff --git a/alembic/versions/17b20129fb86_add_unshortened.py b/alembic/versions/17b20129fb86_add_unshortened.py new file mode 100644 index 0000000..a8f4657 --- /dev/null +++ b/alembic/versions/17b20129fb86_add_unshortened.py @@ -0,0 +1,91 @@ +"""add unshortened + +Revision ID: 17b20129fb86 +Revises: aee0147bf065 +Create Date: 2019-03-28 14:30:03.715590 + +""" + +# revision identifiers, used by Alembic. +revision = '17b20129fb86' +down_revision = 'aee0147bf065' +branch_labels = None +depends_on = None + +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import mysql + +def upgrade(engine_name): + globals()["upgrade_%s" % engine_name]() + + +def downgrade(engine_name): + globals()["downgrade_%s" % engine_name]() + + + + + +def upgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('twitter_unshortened_urls', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('short_url', mysql.TEXT(), nullable=True), + sa.Column('unshortened_url', mysql.TEXT(), nullable=True), + sa.Column('error_unshortening', mysql.TINYTEXT(), nullable=True), + sa.Column('record_created_at', sa.DateTime(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_index(op.f('ix_twitter_unshortened_urls_record_created_at'), 'twitter_unshortened_urls', ['record_created_at'], unique=False) + # ### end Alembic commands ### + + +def downgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index(op.f('ix_twitter_unshortened_urls_record_created_at'), table_name='twitter_unshortened_urls') + op.drop_table('twitter_unshortened_urls') + # ### end Alembic commands ### + + +def upgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('twitter_unshortened_urls', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('short_url', mysql.TEXT(), nullable=True), + sa.Column('unshortened_url', mysql.TEXT(), nullable=True), + sa.Column('error_unshortening', mysql.TINYTEXT(), nullable=True), + sa.Column('record_created_at', sa.DateTime(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_index(op.f('ix_twitter_unshortened_urls_record_created_at'), 'twitter_unshortened_urls', ['record_created_at'], unique=False) + # ### end Alembic commands ### + + +def downgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index(op.f('ix_twitter_unshortened_urls_record_created_at'), table_name='twitter_unshortened_urls') + op.drop_table('twitter_unshortened_urls') + # ### end Alembic commands ### + + +def upgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('twitter_unshortened_urls', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('short_url', mysql.TEXT(), nullable=True), + sa.Column('unshortened_url', mysql.TEXT(), nullable=True), + sa.Column('error_unshortening', mysql.TINYTEXT(), nullable=True), + sa.Column('record_created_at', sa.DateTime(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_index(op.f('ix_twitter_unshortened_urls_record_created_at'), 'twitter_unshortened_urls', ['record_created_at'], unique=False) + # ### end Alembic commands ### + + +def downgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index(op.f('ix_twitter_unshortened_urls_record_created_at'), table_name='twitter_unshortened_urls') + op.drop_table('twitter_unshortened_urls') + # ### end Alembic commands ### + diff --git a/app/controller.py b/app/controller.py index bb160e5..2376d07 100644 --- a/app/controller.py +++ b/app/controller.py @@ -217,6 +217,16 @@ def fetch_twitter_tweets(backfill=False, collection_seconds=None, user_rand_frac log.info("Finished fetch_twitter_tweets, backfill={0}. PID={1}".format(backfill, str(os.getpid()))) +def unshorten_twitter_urls(): + """ + unshorten all the twitter statuses urls + """ + t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) + log.info('Starting unshorten twitter urls') + t.unshorten_urls() + # twitter_conn.checkin_endpoint() + log.info("Finished unshorten twitter urls") + def twitter_observational_analysis_basic_profiling(): tb = app.controllers.twitter_observational_analysis_controller.TwitterBasicProfilingController( "/home/mmou/Dropbox/Documents/Chronos/MIT/CM/CivilServant", db_session, log) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 2e15159..b85431f 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -3,15 +3,18 @@ import twitter import simplejson as json import datetime -from app.models import Base, TwitterUser, TwitterStatus, LumenNoticeToTwitterUser, TwitterUserSnapshot, TwitterFill +from app.models import Base, TwitterUser, TwitterStatus, LumenNoticeToTwitterUser, TwitterUserSnapshot, TwitterFill, \ + TwitterUnshortenedUrls import requests import sqlalchemy -from sqlalchemy import and_, or_, func +from sqlalchemy import and_, or_, func, distinct import utils.common from utils.common import TwitterUserState, NOT_FOUND_TWITTER_USER_STR, CS_JobState, neq, EXPERIMENT_LANGUAGES import sys, warnings, os from collections import defaultdict +from utils.url_unshortener import bulkUnshorten + TWITTER_DATETIME_STR_FORMAT = "%a %b %d %H:%M:%S %z %Y" """ @@ -863,3 +866,37 @@ def archive_user_tweets(self, user, backfill=False, is_test=False): job_state = CS_JobState.PROCESSED return job_state + + def unshorten_urls(self): + status_users_res = self.db_session.query(distinct(TwitterStatus.user_id)).all() + seen_urls_q = self.db_session.query(distinct(TwitterUnshortenedUrls.short_url)).all() + seen_urls = set([u[0] for u in seen_urls_q]) + status_user_ids = [user_tup[0] for user_tup in status_users_res if user_tup[0]] + for i, status_user_id in enumerate(status_user_ids): + self.log.info('Unshortening URLS for user id {0}. {1} of {2}'.format(status_user_id, i, len(status_user_ids))) + user_statuses = self.db_session.query(TwitterStatus).filter(TwitterStatus.user_id==status_user_id).all() + status_urls_flat = [] + for user_status in user_statuses: + status_data = json.loads(user_status.status_data) + status_url_dicts = status_data['entities']['urls'] + just_urls = [d['url'] for d in status_url_dicts] + status_urls_flat.extend(just_urls) + + urls_to_shorten = [url for url in status_urls_flat if url not in seen_urls] + self.log.debug('{} status urls found {} urls to update'.format(len(status_urls_flat), len(urls_to_shorten))) + if len(urls_to_shorten)>0: + with warnings.catch_warnings(): + warnings.simplefilter("ignore") + short_unshort_res = bulkUnshorten(urls_to_shorten) + + unshortend_rows = [] + for short_url, unshort_res in short_unshort_res.items(): + unshortend_row = TwitterUnshortenedUrls(short_url=short_url, + unshortened_url=unshort_res['final_url'], + error_unshortening=unshort_res['error']) + unshortend_rows.append(unshortend_row) + self.db_session.add_all(unshortend_rows) + self.db_session.commit() + # check which of these urls are already unshortened + seen_urls.update(set(status_urls_flat)) + self.log.info('Seen {} urls'.format(len(seen_urls))) diff --git a/app/models.py b/app/models.py index 6756ef1..665556e 100644 --- a/app/models.py +++ b/app/models.py @@ -3,8 +3,8 @@ import sys import simplejson as json from utils.common import * -from sqlalchemy import Column, Integer, String, Text, DateTime, Boolean, BigInteger, Index, Float -from sqlalchemy.dialects.mysql import MEDIUMTEXT, LONGTEXT, TINYTEXT +from sqlalchemy import Column, Integer, String, Text, DateTime, Boolean, BigInteger, Index, Float, ForeignKey +from sqlalchemy.dialects.mysql import MEDIUMTEXT, LONGTEXT, TINYTEXT, TEXT from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import relationship from sqlalchemy import create_engine @@ -267,6 +267,16 @@ class TwitterStatus(Base): record_created_at = Column(DateTime, default=datetime.datetime.utcnow, index=True) # need this index for fast counting status_data = Column(MEDIUMTEXT) + +class TwitterUnshortenedUrls(Base): + __tablename__ = 'twitter_unshortened_urls' + id = Column(BigInteger, primary_key = True) + short_url = Column(TEXT) + unshortened_url = Column(TEXT) + error_unshortening = Column(TINYTEXT) + record_created_at = Column(DateTime, default=datetime.datetime.utcnow, index=True) # need this index for fast counting + + class TwitterRateState(Base): # this tables keeps track of the RateLimit of each of our donated tokens __tablename__ = 'twitter_ratestate' diff --git a/schedule_twitter_jobs.py b/schedule_twitter_jobs.py index e35d608..c41d165 100644 --- a/schedule_twitter_jobs.py +++ b/schedule_twitter_jobs.py @@ -125,14 +125,16 @@ def main(): if time_til_experiment.days >= 1: sleep_secs = time_til_experiment.seconds log.info('Experiment start date more than 1 day in the future. Sleeping for {}'.format(sleep_secs)) - + if time_til_experiment.days <= -1: + log.info('Experiment exists in past! This might be because you are restarting it. However it could also ' + 'be because you forgot to change the experiment start date, that would be a bad thing!') # Experiment has two stages. # 1) Onboarding, while we are still adding new users # 2) Collection. Collect happens during onboarding too, but continues afterwards to collect data on onboarded users days_already_done = -1 * time_til_experiment.days # plus padding to always round up to nearest day onboarding_days_left = experiment_onboarding_days - days_already_done + 1 - collection_days_left = experiment_collection_days - days_already_done + 2 # seeing if a sneaky 2 will help with frontfill issues + collection_days_left = experiment_collection_days if (onboarding_days_left <= 0) or (collection_days_left <= 0): raise ValueError('Experiment ended in the past') onboarding_seconds = SECONDS_IN_DAY * onboarding_days_left diff --git a/tests/fixture_data/test_oneday.json b/tests/fixture_data/test_oneday.json index 9363483..0fbbb21 100644 --- a/tests/fixture_data/test_oneday.json +++ b/tests/fixture_data/test_oneday.json @@ -7,5 +7,7 @@ "client_secret" : "", "redirect_uri" : "", "experiment_onboarding_days": 1, - "experiment_collection_days": 1 + "experiment_collection_days": 1, + "experiment_start_date": "2019-1-1", + "user_rand_frac": 0.5 } diff --git a/tests/fixture_data/test_restart.json b/tests/fixture_data/test_restart.json new file mode 100644 index 0000000..218ab99 --- /dev/null +++ b/tests/fixture_data/test_restart.json @@ -0,0 +1,13 @@ +{ + "database": "civilservant_development", + "user": "civilservant", + "host": "localhost", + "password": "", + "client_id" : "", + "client_secret" : "", + "redirect_uri" : "", + "experiment_onboarding_days": 42, + "experiment_collection_days": 30, + "experiment_start_date": "2019-3-19", + "user_rand_frac": 0.5 +} diff --git a/tests/fixture_data/twitter_statuses_10000.json b/tests/fixture_data/twitter_statuses_10000.json new file mode 100644 index 0000000..27811f2 --- /dev/null +++ b/tests/fixture_data/twitter_statuses_10000.json @@ -0,0 +1 @@ +["https://t.co/A6NKI6rB2n", "https://t.co/dUKuwbrpfN", "https://t.co/jqfmvApD8x", "https://t.co/XUCbEUW51M", "https://t.co/vqKfC7UXoz", "https://t.co/yQA9lCg3og", "https://t.co/fQPruTRa5Z", "https://t.co/PgQzrpBNkz", "http://t.co/IIqV92ECAZ", "http://t.co/4VqGpOI8qX", "https://t.co/36iZoIkg8q", "https://t.co/3s2hZ6QRfM", "https://t.co/xmkFUUIuEf", "http://t.co/IIqV91NPcN", "http://t.co/4VqGpNRl2L", "https://t.co/CcNEatzMJ0", "http://t.co/QprkkIZI9U", "https://t.co/LTNaBJio3k", "https://t.co/tcPd1ugk2z", "http://t.co/8fSLIrN", "https://t.co/1T5gNO14SN", "https://t.co/eWH2tnKv8a", "https://t.co/sFrChkZBYY", "https://t.co/J5JrNdys7h", "https://t.co/psPXirmYdF", "https://t.co/W1ccGAQrHj", "https://t.co/Pi1Z10jDs3", "https://t.co/6rVAzDZP7F", "https://t.co/gyHXPWbnay", "https://t.co/cq12tjlvPD", "https://t.co/rg8W2mIFfP", "https://t.co/ZvU9mC0nbJ", "https://t.co/uesFRw87Uz", "https://t.co/xfHec4wIbi", "https://t.co/IpcRIGwLJs", "https://t.co/Jk8looPylW", "https://t.co/LIYB42mnhW", "https://t.co/EXo8fEHVkJ", "https://t.co/FdG7N5ADhB", "https://t.co/3Zi6LjTevR", "http://t.co/6lKecTLt", "https://t.co/30Onp9dyYT", "https://t.co/vjqiW6VnsX", "https://t.co/sc8SlyHTfk", "https://t.co/BVy5XIvFEW", "https://t.co/LxDaM5CXYE", "https://t.co/E0kJVOh5Kd", "https://t.co/Hk1YGIo0iz", "https://t.co/VywuaXsfa5", "https://t.co/opkl9vcIyX", "https://t.co/FHbJPVGa0Z", "https://t.co/HUIHZwUv4p", "https://t.co/57vNgegIxV", "https://t.co/Lgd98jCUkr", "https://t.co/SstWKF1ZgX", "https://t.co/qc20G1II0M", "https://t.co/loC5gDm9su", "https://t.co/tOjzIGPpdn", "https://t.co/oSP1eeubYV", "https://t.co/BzA63HrhOv", "https://t.co/BhxYG7Tl91", "https://t.co/Q72UVPxCQ8", "https://t.co/ufoyN0yRlA", "https://t.co/4btCO5aQQi", "https://t.co/lTMxf0b7SM", "https://t.co/YGtY3FEsaf", "https://t.co/ZjmUdO79m2", "https://t.co/dUr7eE9Y9P", "https://t.co/xQhPeVcW4G", "http://t.co/4Wf80OeApI", "https://t.co/lRBz8Vj42n", "http://t.co/bCJI4bNqwi", "https://t.co/7SJuhi5TJw", "https://t.co/RrocviwDqV", "https://t.co/VTNZWDONQV", "https://t.co/m9HK6asPLq", "https://t.co/rSO9tw1CQ9", "https://t.co/SOtZU1OMAv", "https://t.co/9Z6pcz6FTC", "https://t.co/XN4c9vWpdJ", "https://t.co/147WcjcrGn", "https://t.co/9eJbKj3oH1", "https://t.co/YO8rkT3X6s", "http://t.co/s4ijEVk8ao", "https://t.co/jOh3PiEkWL", "https://t.co/RkbKOWdJT6", "https://t.co/1kD1lLZlMD", "https://t.co/AraQVkFvbm", "https://t.co/icts1pYbCW", "https://t.co/vjuXdh76J3", "https://t.co/NQqj8saWGb", "https://t.co/DWC7yNGefJ", "https://t.co/T9wIrKKJFb", "https://t.co/PAKzWvROOJ", "https://t.co/PBpoN2qyeJ", "https://t.co/987ey6aFlw", "https://t.co/KvTVtFkYcD", "https://t.co/lYedmvF62G", "https://t.co/Ia6WyPNcnS", "https://t.co/7c061DErZx", "https://t.co/qQAaV8bOAI", "https://t.co/8zkuN2VYpJ", "https://t.co/qy3Caaw15S", "https://t.co/kowwEagW8a", "https://t.co/OFuRn3rzJv", "https://t.co/wnELjmAbpB", "https://t.co/frs2QJNUIb", "https://t.co/YBTGnqyDdr", "https://t.co/M8Ir6gPwf5", "https://t.co/o8ZAIjnwhj", "https://t.co/8qLQSiGCc6", "https://t.co/HWfiGGHPh7", "https://t.co/wLNwBRTxNp", "https://t.co/EmXpdhXOsL", "https://t.co/9WjfrESYGy", "https://t.co/u5mjVOKKYs", "https://t.co/8tfi9Fdafz", "https://t.co/MW0MVjrFBr", "https://t.co/cWQI0Eh0t7", "http://t.co/9WWf4z9H", "https://t.co/aH6djZWJ6Q", "https://t.co/ybBhu0Ul1r", "https://t.co/CNREwzJaXL", "https://t.co/Z4GwGyvRSU", "https://t.co/HGgMo2MbKX", "https://t.co/5cC3slbZdl", "https://t.co/FW9eidGmAg", "https://t.co/V6Y8ekxsuC", "https://t.co/owUPh7aZHC", "http://t.co/BJotS26WH2", "https://t.co/cRGjOzfMfd", "https://t.co/N21bcmXS18", "http://t.co/WjLaLqAV", "http://t.co/YOGhaIhz", "https://t.co/l9z0zkkR0i", "https://t.co/EYk0ONvU0l", "https://t.co/Krd1xLq5bs", "https://t.co/A4vHJjABhU", "https://t.co/H2PBq4MkY9", "https://t.co/qI65xcayYl", "https://t.co/5NH230ww1I", "http://t.co/4Wf80OeApI", "https://t.co/sI8M6as8wE", "http://t.co/4Wf80OeApI", "https://t.co/cUqEBNmTP8", "https://t.co/ba2KYMCDCx", "https://t.co/JdESTSkoL3", "https://t.co/d2h2GKKxBc", "https://t.co/bBwiDrc7so", "https://t.co/n5xaWHFHWB", "https://t.co/PpgdjIuSVT", "http://t.co/BpDl4cY4fK", "https://t.co/lsl3tQ3jA2", "http://t.co/zHLVPIRyVm", "https://t.co/0kIWVBegBq", "https://t.co/j662E3jOvE", "https://t.co/feCskmp7yy", "https://t.co/8ZcuwvqTQa", "https://t.co/HR0U2vNq5A", "https://t.co/H5PSXxrcUl", "https://t.co/8Ftyc01cWs", "https://t.co/gwCCHCdtZy", "http://t.co/4Wf80OeApI", "http://t.co/ZM55ENE2", "https://t.co/8kcb2mxZnd", "https://t.co/hcgQTuRWUh", "http://t.co/DDfJqJFRCK", "http://t.co/ahqJV9awLs", "https://t.co/Hdxq6a2PZA", "https://t.co/GeSEZKI7CO", "https://t.co/PxCJiFgGvv", "https://t.co/rA5jOmNmBf", "https://t.co/xSozmvbB18", "https://t.co/BUEvnQMQgD", "https://t.co/MFZ4o6bPA5", "https://t.co/PEdPo2i6oI", "http://t.co/i73rP7DMfL", "https://t.co/sGGsnN2bds", "https://t.co/rb4mYQXVQ6", "https://t.co/uy3UbxiN2K", "https://t.co/iX9FHe3BXK", "https://t.co/5PFaSAMMOO", "https://t.co/TJBrF8s5D0", "https://t.co/ArVUCAojBm", "https://t.co/0bTX8Xeuxg", "https://t.co/uXjsEzuXQd", "https://t.co/Aj5ATJoHFH", "https://t.co/aFIm2WbLJg", "https://t.co/GgspA8ZVv4", "https://t.co/t5Mg9XT3xb", "http://t.co/MSaLRNXQ", "https://t.co/mdjsOZA5fd", "https://t.co/5eqNN4WMzE", "https://t.co/sh26b7Q1x2", "https://t.co/nXOX7NGxAX", "https://t.co/zs9K6l3HBJ", "https://t.co/EwWGl13BUV", "https://t.co/Jb2VbtHeo3", "https://t.co/aKjFi8MbhX", "https://t.co/aq2siSO25f", "https://t.co/Gqf7vztXoR", "https://t.co/2Td1C0hrMA", "https://t.co/jc1wGl5XmK", "https://t.co/rVjLHmMRxw", "https://t.co/aGIR1kqgXO", "https://t.co/KjkjanMTMV", "https://t.co/TJp2B7RBa7", "https://t.co/yVM3Y5GMk6", "https://t.co/IG9EHfxS2g", "https://t.co/syHu1zsx0Y", "http://t.co/3zmwo7QYLq", "http://t.co/amx5PfseF3", "https://t.co/ZRyAky3vij", "https://t.co/ji0wQHA0hi", "https://t.co/W1fBMr0UIX", "https://t.co/LXDRfXTk8a", "https://t.co/NQqj8saWGb", "https://t.co/oFO1f0leuN", "https://t.co/UorXuXn4HZ", "https://t.co/CEeWLAuL7S", "https://t.co/8h5rJyQxlG", "http://t.co/H2JZJNbr", "https://t.co/SbJELUeIPz", "https://t.co/eAGWG7roBJ", "https://t.co/X1yX10hWO4", "http://t.co/L9fVdlp", "http://t.co/7HyRyHGZb7", "https://t.co/EIbWXgp9Rt", "https://t.co/d0moQjjliN", "https://t.co/nzYxUX5RYo", "https://t.co/6hF1znBnjg", "https://t.co/tsLpBd8gGT", "https://t.co/bLVJVBDvT8", "https://t.co/vL9TpQqgVB", "https://t.co/raPFQDygmE", "https://t.co/MB5tUiNO7Q", "https://t.co/0iPFhKZjMS", "http://t.co/ItReTZQFE6", "http://t.co/WzQyGc7MkV", "https://t.co/KGt6vkKUIW", "https://t.co/ndId4C2PgY", "https://t.co/weO8tKXJx2", "https://t.co/y1paW4YnE2", "https://t.co/uGF6n8dgJh", "https://t.co/frz6im6w8H", "https://t.co/3VzMZrRwXE", "https://t.co/JEqnPw5f3Z", "https://t.co/P50dUpJwHl", "https://t.co/Usg2RgU7dG", "http://t.co/0YG8SMhkYJ", "https://t.co/GZKbLq6Yw1", "https://t.co/lkEuURqCHX", "http://t.co/N5Wd8Fpqw5", "https://t.co/Fa6gZkTn3N", "https://t.co/O6epE8SL9N", "https://t.co/qDlZdCwuDJ", "https://t.co/haXHfw1TIC", "https://t.co/KFfFCE1GVJ", "https://t.co/CmwHON198a", "https://t.co/ltI97KDJDT", "https://t.co/WAinguH19G", "http://t.co/w3IZlUUBvh", "https://t.co/Zf6tD2DwHL", "https://t.co/K6bdHjEHNV", "https://t.co/s14IjxTvDP", "https://t.co/tbvHahucLp", "https://t.co/91jYu8eRxy", "https://t.co/YF7NAjosRd", "https://t.co/t4siRgs5uE", "https://t.co/a7EisqTcOc", "https://t.co/HgrjWaYiGG", "http://t.co/dfhc4P0v3n", "https://t.co/eR2ReaLP90", "https://t.co/vcfDJTqJYn", "https://t.co/1DTuzbwLcC", "http://t.co/IIqV91NPcN", "http://t.co/4VqGpNRl2L", "https://t.co/YtZ15g0ewi", "https://t.co/ypiwFsrngd", "http://t.co/JCsYiuJr", "https://t.co/4440k3Mtq4", "https://t.co/0MOB6LwGxi", "https://t.co/VywuaXsfa5", "https://t.co/3bXS1sAwiU", "http://t.co/GmdQssoR", "https://t.co/ZRlSoFd66D", "http://t.co/BlcIGEmry2", "https://t.co/JzPOelLdOs", "http://t.co/r30SFh22fK", "https://t.co/t60Ev7SS1q", "https://t.co/CC2tmB4DDN", "https://t.co/YWohOQtln9", "https://t.co/26osZkGTXB", "https://t.co/C5QegjBBNA", "https://t.co/I57J6gqFHe", "https://t.co/tlwE46ZUyE", "https://t.co/EaUIZy7hea", "https://t.co/rV9yao7WCW", "https://t.co/qiPGuI5QhR", "https://t.co/rXDl3C290w", "https://t.co/1rKcqNaRRR", "https://t.co/9X4cV2DU4U", "https://t.co/3mPeNFpDxK", "https://t.co/mUaZZ2Tczp", "https://t.co/1LAb5L2Cke", "https://t.co/b6ekEbMxPZ", "https://t.co/VZQO0Qi3Ig", "https://t.co/VRFaNNB84b", "https://t.co/C25AyCL7Mq", "https://t.co/cZOU7stV0r", "https://t.co/rTXBFgv9CD", "https://t.co/01MyV5P3Qj", "https://t.co/7cubLGrbBV", "https://t.co/VfrkBamjk1", "https://t.co/B6cA9GEHPB", "https://t.co/WKWTDVKriU", "https://t.co/VJHWonRe0w", "https://t.co/To26dGTn8t", "https://t.co/qVdc0q6yul", "https://t.co/zSGw02zgMk", "https://t.co/AaOCIFWG75", "https://t.co/qKzcUBLRWh", "https://t.co/FULqsJ5wFP", "https://t.co/p0MOLEkS4Z", "https://t.co/OGHlUgKZBg", "https://t.co/34gEAJwozy", "https://t.co/KP0EbWci4c", "https://t.co/WfYP6MN5Ue", "https://t.co/w2agN2TU4y", "https://t.co/9QBnBscJgX", "https://t.co/wmOZXEgQNO", "https://t.co/bl6NhoZTN0", "https://t.co/5rx4IUjwL9", "https://t.co/7qShkFpGjt", "https://t.co/T2WsQnmdYA", "https://t.co/4HUEONgspF", "http://t.co/TXqpdtqhYr", "https://t.co/7XsHHlNdaf", "https://t.co/uZKe5yxgFB", "http://t.co/OiRczIKWKW", "https://t.co/GNdFK4dpLb", "https://t.co/HPf5ZpRSjE", "https://t.co/ejB3sGxmiK", "https://t.co/PZYBWXTQF5", "https://t.co/5w5fmsTBaQ", "https://t.co/vL9TpQqgVB", "https://t.co/Mf8C0TVhwg", "https://t.co/vZZiQuUlgA", "https://t.co/PF91I3r6Ru", "https://t.co/upaKi3ZDxN", "https://t.co/YCFIS6hVLD", "https://t.co/m4xCb0ReCP", "https://t.co/b5kRjqqYsd", "https://t.co/5qx7fIpstR", "https://t.co/dcJwyLwu1E", "https://t.co/2UYuRp6ZSF", "http://t.co/OgrdCkivbw", "https://t.co/WBvBxYmxcR", "https://t.co/eEkhHcZcdJ", "http://t.co/RHP8mBtAsK", "https://t.co/zRA6zjSEsH", "https://t.co/kZ289yflDf", "https://t.co/PR1Xg3dsBk", "https://t.co/8LIWfvf7jq", "http://t.co/haNpH9holO", "https://t.co/QVRFC7DOTd", "https://t.co/buS6izTAYL", "https://t.co/d3eRVF3901", "https://t.co/urekq1Tagb", "https://t.co/oYsYlolhGH", "https://t.co/SV8rxZ5WKk", "https://t.co/8a2pG55Ghh", "https://t.co/xzzvoZKAXb", "https://t.co/kGJmngQHKn", "https://t.co/S4Isrzire1", "http://t.co/7a0ccFXm6v", "http://t.co/FzVmK9L", "http://t.co/M0zXM47b", "https://t.co/U3KVs2Xr3C", "https://t.co/xdSLfkDzoi", "https://t.co/kieBsIdgsL", "https://t.co/c9nAaRbdta", "https://t.co/H40IhHUfMY", "https://t.co/fbaOxqmhpA", "https://t.co/EsimcK4Cgn", "https://t.co/OmANtNmUgB", "https://t.co/mDNIwDOnaA", "https://t.co/Vf4ejS5Hqo", "http://t.co/YuPf6yhsNE", "https://t.co/st7q7ZfK8b", "https://t.co/6eEiTmB8SN", "https://t.co/GjppveeXDK", "https://t.co/CxuL06fZ7V", "https://t.co/8NIJ34vrHX", "https://t.co/aMsUNU6qce", "https://t.co/3H6xMA4yDx", "https://t.co/7ogfxcjT9I", "https://t.co/GnTwzfEDun", "https://t.co/A25zWuPODI", "https://t.co/iVcAgmtRQy", "http://t.co/yOeovMTIhL", "https://t.co/kNWgJsth54", "https://t.co/wwEzrzRuy6", "https://t.co/6DD3zpfS5b", "https://t.co/QiFKFfZzRE", "https://t.co/EsimcK4Cgn", "https://t.co/w6Is7zIZQk", "https://t.co/4Oh7HsIJJO", "https://t.co/BIf8keI5OT", "https://t.co/L4LlRkR33E", "https://t.co/AAkRDqTTh0", "https://t.co/EaUIZy7hea", "https://t.co/5CauvI7fZi", "https://t.co/QoHpOl6udQ", "http://t.co/eRXwnK4h5a", "https://t.co/6OI1Yug7J6", "https://t.co/UP8F8M6z9f", "https://t.co/9KIeH8xV4Y", "http://t.co/dOli3PgpVb", "http://t.co/XC3riDIGRT", "https://t.co/iOJy0BYaFF", "https://t.co/XlXnmkmZ7h", "http://t.co/5fQkB2rC6T", "https://t.co/0cSM9TxmpM", "https://t.co/oDW31vGIBS", "http://t.co/YtXXtzykyg", "https://t.co/X1NISTeaKC", "https://t.co/mVYUynVCms", "https://t.co/gdnAePKT0c", "https://t.co/uXx47bTOrv", "https://t.co/NqS75sfJOT", "https://t.co/EuIag5ynA0", "https://t.co/BOOaHCoz0u", "http://t.co/IIqV91NPcN", "http://t.co/4VqGpNRl2L", "https://t.co/Hg4zcr9FAJ", "https://t.co/gyJvAfLxhE", "https://t.co/K0Er7HV6nH", "https://t.co/GRjQDtHW8d", "https://t.co/TxMZo7sQnz", "https://t.co/IaSV14uyqr", "https://t.co/0dTrNqXZmG", "https://t.co/82e2bpuhwf", "https://t.co/u6nBU3luPk", "https://t.co/4Smh06p3r0", "https://t.co/gUjmSUtv1X", "https://t.co/uYwX8MStDa", "https://t.co/8zwufocwWv", "https://t.co/cGEx0XHssx", "https://t.co/dqBo0fbuRM", "https://t.co/7A0h2MLkL4", "https://t.co/5FOvupdjWX", "https://t.co/YPktJyQ7Gx", "https://t.co/OjOhklfRYn", "https://t.co/74Z8bTKUCU", "https://t.co/8an6Et1Bfl", "https://t.co/PYdfBd7z8q", "https://t.co/rxyIQoQBZM", "https://t.co/Y0SO8WU03d", "https://t.co/NsfzuzkTcn", "https://t.co/Shl5MG5RaG", "https://t.co/EKXdUAo3hj", "https://t.co/7ReffVizjA", "https://t.co/OWtfyt9iOd", "http://t.co/5rTTfPZDXr", "https://t.co/BpIqnirGDY", "http://t.co/lw2qRIc9", "https://t.co/ERRjTH3BHk", "https://t.co/hQKCCMc3FD", "https://t.co/De3074iNuv", "https://t.co/I3KQcaSBPo", "https://t.co/sF4lSDLQhp", "http://t.co/4GwdSTphYN", "https://t.co/tDO7BZfLUI", "https://t.co/uvJr8sjSOU", "http://t.co/2up8p907xy", "https://t.co/wKxZ4bllIR", "https://t.co/YP3srydzpa", "https://t.co/L4fc8I16TH", "http://t.co/C52QG3Th", "https://t.co/bd6XF5nNDx", "https://t.co/lTbi0QBZRr", "https://t.co/bbLZR735fa", "http://t.co/yy4MjnrJXi", "https://t.co/oflFf04Mct", "https://t.co/325gafsZJF", "https://t.co/qPEojNu3Mp", "https://t.co/giaHXReOwa", "https://t.co/6eQiEpU81i", "https://t.co/EaUIZy7hea", "http://t.co/DDfJqJFRCK", "http://t.co/4VqGpO9ugT", "https://t.co/i8tiTOqiYT", "https://t.co/vYlYIazwsZ", "https://t.co/TFIzYG2IuD", "https://t.co/89LYIxsJ3V", "https://t.co/kW4eNAIeoQ", "https://t.co/xCwVRRotOw", "https://t.co/rMtlGbMDQO", "https://t.co/KpH9OdM8fi", "https://t.co/GNmKLxNlwu", "https://t.co/mFiVrXnE8D", "https://t.co/Nel9zOghU2", "https://t.co/UaU6h4fQ7w", "https://t.co/0Qv32OqF2z", "https://t.co/HIwqWxt5nO", "https://t.co/nY4qCE0FXY", "https://t.co/hRy5vZOYYR", "http://t.co/cdupyA9nnk", "https://t.co/tee6O1IW8w", "https://t.co/KcnJGIFTeO", "https://t.co/jscOFs0i56", "https://t.co/0losHnmuIB", "https://t.co/Jy1FYqcqCq", "https://t.co/nk30Ekxg3k", "https://t.co/sypLmyG1Uo", "https://t.co/FgYn63L0AL", "https://t.co/X13gVxagfE", "https://t.co/9ElANVTqWF", "https://t.co/0JlcE744wD", "https://t.co/2Lrkwfpnd4", "https://t.co/wpyiGki28R", "https://t.co/ks8IqQK2Zn", "https://t.co/bxtqFNM8Zm", "https://t.co/f73ExEyDcK", "https://t.co/Ozp3hsvYPH", "https://t.co/E6WTrnLgBo", "https://t.co/fhqbJtCudQ", "https://t.co/e6ejm4KLOF", "https://t.co/Lp5S8Awsxi", "https://t.co/dlJknuFE00", "http://t.co/h5LQgoLNPE", "https://t.co/qcHfIfIvBf", "https://t.co/sEE1FSRJe6", "https://t.co/Nn7IcvzSkk", "https://t.co/zo6TNevfxB", "https://t.co/Coq5lfjCRI", "https://t.co/qSpLY50T7E", "https://t.co/BjnZ98rP0g", "https://t.co/gqPmN8IrBL", "https://t.co/VwLfrBeUXf", "https://t.co/UZfiCLUNAw", "https://t.co/y63x2TSFsX", "https://t.co/QoAktEFGFs", "https://t.co/AuNIAwXBrN", "https://t.co/TFNr31rq6z", "https://t.co/HLbKQbluQ0", "http://t.co/2xIQFwuo", "https://t.co/B4qrBPnt1G", "https://t.co/Yzl5SAAkVs", "https://t.co/9EvyQSJpMR", "https://t.co/VnwMx6c3Ni", "https://t.co/loS19ob7Pu", "https://t.co/bLYIqCa4dD", "https://t.co/anhIrb0ahJ", "https://t.co/uHKWQ7TCiz", "https://t.co/oYRPuVh1lB", "https://t.co/DAANK9Xs52", "https://t.co/BTUEuRwcuI", "https://t.co/kJ5Z5SO5gD", "https://t.co/1wu0aGMtjv", "http://t.co/mR45uLzSyw", "https://t.co/NZ3HgUCkKG", "http://t.co/KaEmtvR0vd", "http://t.co/KVME1rTc", "https://t.co/XjTbcRfcC4", "https://t.co/lzfWCitWnK", "https://t.co/BZI892zD6t", "https://t.co/L2AcgKL5ai", "https://t.co/dFsQ38tRIq", "https://t.co/rx5tMx1ReR", "https://t.co/NQqj8saWGb", "https://t.co/yqzgtdkLKE", "https://t.co/z42j4F6p43", "https://t.co/ibPJKEpeLv", "https://t.co/r83aF8X2jD", "https://t.co/YZcmNufFrS", "https://t.co/mm110SQQDe", "http://t.co/mv8eWR44ez", "https://t.co/4tjfrh3k36", "https://t.co/d6vfkcS7F7", "https://t.co/Fe5Lrn7V9r", "https://t.co/fnDQlF9KfL", "https://t.co/vIDEe7JENm", "https://t.co/LHqpd9ghaT", "https://t.co/Yk6RvGAuCV", "https://t.co/VqlCnrkjsu", "https://t.co/EodHvBm3Gy", "http://t.co/jR3LTri", "https://t.co/hKVQO7rg0G", "https://t.co/NQqj8saWGb", "https://t.co/jbG8o3yEj1", "https://t.co/xzyixLMIHW", "https://t.co/1zlKmKl9vC", "https://t.co/8WOPKrlhdQ", "https://t.co/ZyHuxPJ8Ko", "https://t.co/qFQwHyYCNy", "https://t.co/mT8BLMIQB0", "https://t.co/63lDkS1imE", "https://t.co/4PVDmBDv9M", "https://t.co/GbaGthBsy5", "https://t.co/Up3alZnMnb", "https://t.co/5vAydiKLrk", "https://t.co/jm9e82sgiN", "https://t.co/LVKMFQIGjA", "http://t.co/LbuIrm0", "https://t.co/dnXNJcS7XV", "https://t.co/yI5cAxusax", "https://t.co/LqvPjMdyIN", "https://t.co/lEskqmH4Nf", "https://t.co/cQzTtrNxv6", "http://t.co/MImT8hf4hs", "http://t.co/wlj7VhqQ", "https://t.co/Lvd5KJCIOk", "https://t.co/re7v45btLM", "https://t.co/reqX3kVO5D", "https://t.co/7ICX6AAWpB", "https://t.co/BV5uMPbYsm", "https://t.co/mUpSbZr764", "https://t.co/36w1v3pcuL", "https://t.co/iNpB47qOux", "http://t.co/BBSdbj4m", "http://t.co/J8NFlm23", "https://t.co/x2vG49llrS", "https://t.co/vajpVUvqCq", "https://t.co/86LWLAzuwN", "http://t.co/o8RK2SZhtK", "https://t.co/ZHTJzeD0BK", "https://t.co/G0v2WllVbm", "https://t.co/9NoqnT66OY", "https://t.co/N3TxMDIBo4", "https://t.co/A7x68Bg0rg", "https://t.co/g7Tru8fJd1", "http://t.co/Iu5K5wZqU0", "https://t.co/ycGvMRa8rY", "https://t.co/UpmXPro6SN", "https://t.co/npQB5LoWs6", "https://t.co/nVhhNrnHPk", "https://t.co/NQqj8saWGb", "https://t.co/HouNVYj3b5", "https://t.co/0oJAUZMgEO", "https://t.co/sz6b2n0PTu", "https://t.co/mHkHis4jM3", "https://t.co/iowdkI6pSp", "https://t.co/NQqj8saWGb", "http://t.co/dqVEWQQq8A", "https://t.co/is8ttqM80b", "https://t.co/8zj138y1p5", "https://t.co/Fco81xRPri", "https://t.co/t5S7bdOIzz", "https://t.co/GnZ64Xw7q3", "https://t.co/XG8nXxAcIH", "https://t.co/trGz8S99hG", "https://t.co/XssQzw8uba", "http://t.co/Shx0txKU", "https://t.co/L5TmEZ5oAG", "https://t.co/Se7wd3QiGW", "https://t.co/zWL0JV7xe9", "https://t.co/zAZB9C4X04", "https://t.co/8lqexduW2P", "https://t.co/kVwy7xH002", "https://t.co/nDVIAJODbz", "https://t.co/4CJiwuSFy6", "https://t.co/BWXeBACQC9", "https://t.co/TVt0KZ4nR0", "https://t.co/m3xPVqhMIG", "https://t.co/w9PH945akm", "https://t.co/Yho9N6J4ps", "https://t.co/bOdY6SHIwy", "http://t.co/esT1KkdW", "https://t.co/mk2FX569xa", "https://t.co/BvpyRjPSRx", "https://t.co/dtq4W6s2pe", "https://t.co/EClz7jJzvy", "https://t.co/9TcHIuj9KZ", "https://t.co/cF6fo6g90K", "https://t.co/Las5kX5cbf", "https://t.co/uRbcAcsUl1", "https://t.co/v2jYmKzOsq", "http://t.co/xKaXYxVi79", "https://t.co/xNwo7kM1SM", "https://t.co/ueYqMwG8fc", "http://t.co/w7knUzDjSD", "https://t.co/JfTbxPHjxE", "https://t.co/ex92cMW6Yl", "https://t.co/O2aQijDMqc", "https://t.co/eGmdHvf55r", "https://t.co/xFRpFrLSlE", "https://t.co/02QAZ1UBkQ", "http://t.co/jqxGFRYH", "https://t.co/0e7BBnSp4L", "https://t.co/P9udeq1bVC", "https://t.co/db9WWTFfEL", "https://t.co/Dfb8GseggM", "http://t.co/VDvCj4OFYs", "https://t.co/6QWmDPEZB1", "https://t.co/uYHt3S75hw", "https://t.co/q9LK4ZVyDk", "https://t.co/do0ubikyZ9", "https://t.co/kXgHBg6TIA", "https://t.co/S99RGbsytv", "https://t.co/EaUIZy7hea", "https://t.co/EyWkDEZI9F", "https://t.co/TXc2RNSniU", "https://t.co/2FiPm6WwE8", "https://t.co/2q35JFbppY", "https://t.co/Y9cSX54FZv", "https://t.co/zeFSu9Rqcj", "https://t.co/pelb7YnIfM", "https://t.co/GVnm6HcWM9", "https://t.co/OzxpXsoIUr", "https://t.co/ZqfPhxndT1", "https://t.co/WexYlhdAvp", "https://t.co/X8fhnAJd9U", "https://t.co/GLhlzAjG2B", "https://t.co/jAdYmv3fne", "https://t.co/M0g3KlxizX", "http://t.co/1Cj50NtzGp", "http://t.co/Rzx28jAIQl", "https://t.co/MC3dTQkfbE", "http://t.co/2PdAIH4cME", "https://t.co/AE1XpMcZJp", "https://t.co/PA49QUwbqo", "https://t.co/Q5bhPp5LPv", "http://t.co/dmCHVtVz", "https://t.co/hq2r5k6evF", "https://t.co/vpd5rV6pC3", "https://t.co/jmTgyeWeMM", "https://t.co/zidvcztU3s", "https://t.co/5Ir8vu3ApT", "https://t.co/wI4I8IbuaE", "https://t.co/4HSlRuXv4K", "https://t.co/UbvLSQhrQf", "https://t.co/rmgWNRV1lP", "https://t.co/5nxSpppQ6C", "https://t.co/Veltou9W3O", "https://t.co/i6fpPsyjSZ", "https://t.co/gBhVhIpZrV", "https://t.co/VtHckJo4j8", "https://t.co/HQt5AsBdkF", "https://t.co/eE2jUeASlD", "https://t.co/mjwnbstPzc", "https://t.co/dsKN6Efn3t", "https://t.co/Kd1vZcRCAp", "https://t.co/dKJ6Enlm3G", "https://t.co/wTEuhRU1R7", "https://t.co/jTGK5uWEWy", "https://t.co/q3KDu10s9W", "https://t.co/X5kw4mP3J9", "https://t.co/mC4mf9zDVe", "http://t.co/0z5XfU1blN", "https://t.co/UvvXAtSD3t", "https://t.co/CleCnUSqlB", "https://t.co/HVBgQsBsUZ", "https://t.co/H2S6oBcAQj", "https://t.co/NR5gJt4Lzm", "https://t.co/M6K7Hrfd4Z", "https://t.co/eH8q4qJoPn", "https://t.co/oNSZHi1A1N", "https://t.co/kNvLEXOgVU", "http://t.co/exGd26nG", "https://t.co/DkrLhyBvtY", "https://t.co/wtaRuGP6tz", "http://t.co/8wCKylTD", "https://t.co/Dyz6tUhZw8", "https://t.co/OSVfAO08ll", "https://t.co/ZTNhZzuUmb", "https://t.co/ejFeJhNWkQ", "https://t.co/deyLZGv8RU", "https://t.co/Q6NQVzubP2", "https://t.co/SC0T78k3Yh", "https://t.co/FmZg3Km3Nf", "https://t.co/vqbJUtzmDQ", "https://t.co/OLgiy0Taby", "https://t.co/fKmPZ35oun", "https://t.co/6cLz3yPk7v", "https://t.co/qyW9C1Bg3V", "https://t.co/m2ET08G5r4", "https://t.co/h2QJdH6sne", "https://t.co/0IGXfVhccQ", "https://t.co/0IGXfVhccQ", "https://t.co/CQWhrIJINd", "https://t.co/7C9iZTVJwc", "https://t.co/PoluzE6FiS", "http://t.co/IIqV91NPcN", "http://t.co/4VqGpNRl2L", "https://t.co/hql98eh9Ea", "https://t.co/X65LSeiwrv", "https://t.co/3UCZKkumwo", "https://t.co/A3QMDE1BxA", "https://t.co/Zcan2Rum99", "https://t.co/27F8MG0WaV", "https://t.co/GXsllJ7uiw", "https://t.co/2wAXHYKKQf", "https://t.co/RLkfjIFkKz", "http://t.co/PULiUSSbfs", "https://t.co/oHsaJ16NW4", "https://t.co/0ZfhQAuQw9", "https://t.co/Uzjng25a1V", "https://t.co/IMa1IHLlH5", "https://t.co/VlZYkRKnuQ", "https://t.co/AO2UONSdGz", "https://t.co/cNNJrkCxaQ", "https://t.co/HiApCiKsSP", "https://t.co/xy0DE2ykMf", "https://t.co/eTKKE3jodK", "https://t.co/FZqkARAxex", "https://t.co/JkTlndevR9", "http://t.co/7Rjmc8fyvS", "http://t.co/6nmrqF00Vw", "https://t.co/Ln0vNi6WF4", "https://t.co/N4U7obmfBV", "https://t.co/e0U9l3JJii", "https://t.co/YOksZsuLo8", "https://t.co/Lvd5KJCIOk", "https://t.co/B7Wkrfwt8U", "https://t.co/ik5FbLHd5h", "https://t.co/wn5gyealYX", "https://t.co/RK26k6GIKF", "https://t.co/TLUk4xX7up", "https://t.co/Lvd5KJCIOk", "https://t.co/NQqj8saWGb", "https://t.co/1u6PfL2T7e", "https://t.co/OQGX6GuLcw", "https://t.co/5guq5hIG1f", "https://t.co/s4TxqncjiR", "https://t.co/hRdsehorj0", "https://t.co/hU7ORy6xi3", "https://t.co/phTc11bbNW", "https://t.co/HbXNUIVpOR", "https://t.co/t7XlkuP2Hc", "https://t.co/MxBG8iJMbO", "http://t.co/4Wf80OeApI", "https://t.co/WmrXnm897k", "https://t.co/UrsFU6oy9c", "https://t.co/5SIBiGX5gi", "https://t.co/0RBEKu4GZz", "https://t.co/f3hn9f2NH9", "http://t.co/uUXt1LPtbm", "https://t.co/0MelGeHjwB", "https://t.co/sP2Emc0u6l", "https://t.co/HrRY98HfL5", "https://t.co/GAjWwOxaOt", "http://t.co/ErXKEdlwqN", "https://t.co/YBTGnqyDdr", "https://t.co/ffuNwlrPxJ", "https://t.co/A8QiUFfVRL", "http://t.co/jV4B9E1EGd", "https://t.co/piozIXgsaH", "https://t.co/oookGmzTKw", "https://t.co/DJ54t3KrAZ", "https://t.co/myhRlpKDuG", "http://t.co/BinHvIqL", "https://t.co/jntxYNx79n", "https://t.co/4krLDJFBPW", "https://t.co/aFkM2Ad9xV", "https://t.co/i73rP7DMfL", "https://t.co/GfUqupXZYF", "https://t.co/fp83xKg6sg", "https://t.co/NHoikwPyHM", "https://t.co/aM6VtVjf7D", "https://t.co/PZNsmXf4xI", "https://t.co/CW8ShSWNpF", "https://t.co/yrjg3hu4Sw", "https://t.co/NgQLaePNu6", "https://t.co/605huqsH92", "https://t.co/LWXiesJSdn", "https://t.co/HcTyTWCpva", "https://t.co/ZGsNlYX3kA", "http://t.co/4Wf80OeApI", "https://t.co/gjEXjDBsaZ", "https://t.co/QDqft9rbXS", "https://t.co/RNqy7fFTWp", "https://t.co/wQaUa4HyE6", "https://t.co/P1fp6sAvug", "https://t.co/EtU9WGwnPb", "https://t.co/BHLpNrNR8r", "https://t.co/kNVrHi4428", "https://t.co/H6P79nVgYC", "https://t.co/hLi4lFsSiJ", "https://t.co/AKOTntOEe0", "https://t.co/A2g25MHSdy", "https://t.co/9jiPd0ccZV", "https://t.co/ZWEPIiCagr", "https://t.co/80HDTxJMTO", "https://t.co/3NNCv53Blr", "https://t.co/3LOgeXkUh9", "https://t.co/iaqmYTDvHy", "https://t.co/5OsvuaznQg", "http://t.co/IIqV91NPcN", "http://t.co/4VqGpNRl2L", "https://t.co/fybT6iLQUh", "https://t.co/BlsotYrZ2F", "https://t.co/zP9sn3YIif", "https://t.co/If0g88gnTm", "https://t.co/UwqEA1HyPw", "https://t.co/ebtfAt6Zga", "https://t.co/XVNIZoYfgL", "https://t.co/3DZ1Slepqt", "https://t.co/aipGsVsp1t", "https://t.co/cMfQL6wiUv", "https://t.co/HmUHKb1YN7", "https://t.co/5XGSwCU1Zf", "https://t.co/ioIsrbtqRY", "https://t.co/GYRsGbl2UG", "https://t.co/GOoDtH7wlb", "http://t.co/8J2LKXAN5a", "https://t.co/pJJiMIfFkq", "https://t.co/PuoYhbphme", "https://t.co/b4nRA4APEE", "https://t.co/kIpIhURRfh", "https://t.co/3LqRJHmHri", "https://t.co/ocMtN3aein", "https://t.co/Sh0EwEpUg1", "https://t.co/mbpdOWXJzP", "https://t.co/IG1dggBtGJ", "https://t.co/g2ZrrxPbis", "https://t.co/qJdrNx8Vte", "https://t.co/r7V8GBqThI", "https://t.co/cXAypegnKC", "https://t.co/8V7Y4WEGjJ", "https://t.co/0ZP3H6EDcU", "https://t.co/qwa5iYcbqi", "http://t.co/sj9PdFySJO", "https://t.co/wIY0FLggpX", "https://t.co/3fdRO1KtYe", "http://t.co/mCae6a17Yx", "http://t.co/QU2lCg1t", "http://t.co/rY8yL3pgpk", "https://t.co/zXydRqzeQ8", "https://t.co/G4w38ZpTwQ", "https://t.co/RpsWa6guPi", "https://t.co/N6ldT52j0y", "https://t.co/o3nj4H6LYs", "https://t.co/i3FNSZgYh5", "https://t.co/RKFvuDlLlM", "https://t.co/32cj27ThSt", "https://t.co/X88oSi3zVM", "https://t.co/QBYvtkOH89", "https://t.co/9jEbCHGG3v", "https://t.co/oTCDX1tI0B", "http://t.co/3VKgHgYA", "https://t.co/MxDw6ioh6x", "https://t.co/TpDLlx1DJC", "https://t.co/SiMtLFVHqh", "https://t.co/vgDJP9f6zo", "https://support.twitter.com/articles/15795", "https://t.co/MmCam9adXo", "https://t.co/DYrrz1WMgS", "https://t.co/9elPBfHWa2", "https://t.co/C5hdD20MVV", "https://t.co/NQqj8rTlOD", "https://t.co/qqvEXBokt8", "https://t.co/5CJCOsFC2j", "https://t.co/lEwVvzeeEL", "https://t.co/UDsMpbXF9U", "https://t.co/w5Kp2vvT64", "https://t.co/AVHmo5hUbR", "https://t.co/xkN05HCxpq", "https://t.co/yGTtZErwew", "https://t.co/CTtjUEX7BO", "https://t.co/nYMeTwx40C", "https://t.co/Jdepx6t0Yp", "https://t.co/XVWbaULkFp", "https://t.co/Vsnv6655NC", "https://t.co/tyQEUdVQn3", "https://t.co/Lvd5KJCIOk", "https://t.co/2263ugf1ry", "https://t.co/90sg3h4MEu", "https://t.co/crwzmakiNe", "http://t.co/QW09CvInQw", "https://t.co/5ggifcDEjM", "http://t.co/vKUY1tOS", "https://t.co/i73rP7DMfL", "https://t.co/my7yDjVo6O", "https://t.co/Lff5goPhIE", "http://t.co/9xC55IWRzA", "https://t.co/q21QuUAqup", "https://t.co/AeSv8gBdEp", "https://t.co/tHmEeo8iwp", "https://t.co/uwsARE9o9U", "https://t.co/N7XT1CtGPI", "http://t.co/M7VI3BBXjo", "https://t.co/7cHRYpCS9H", "https://t.co/PYz4Z0khm0", "https://t.co/wTQjjOCnF1", "https://t.co/V7SUOHBNHh", "https://t.co/ubnMVCIwXf", "https://t.co/XQTUc22uSv", "https://t.co/S2ltgouN42", "https://t.co/shnCl2Wq4r", "https://t.co/x84tTTrLSi", "http://t.co/OPgaV4p5Xt", "https://t.co/YjzwXZh3RK", "https://t.co/ATZMI66lEG", "https://t.co/YsE3tJSbC1", "https://t.co/U0ovZWvW45", "https://t.co/p4I684P7Mr", "https://t.co/zqes6zLJvi", "https://t.co/h8NfmqcSrj", "https://t.co/Kz1i1rGYnV", "https://t.co/iE1rGHXMri", "https://t.co/DXQbvS3c8n", "https://t.co/yH5xzjatSX", "https://t.co/FxO1UwG5gF", "https://t.co/0seLt98B7J", "https://t.co/2SbDNap9Y7", "https://t.co/VuuPfEpttL", "https://t.co/lXHyR0NDDq", "https://t.co/1IBKzyYIhL", "https://t.co/rBsWgy6bFG", "https://t.co/wWrUZOGqap", "https://t.co/4k3ZI7lzr0", "https://t.co/bImKZDNwpI", "https://t.co/p4jGSsoh8O", "https://t.co/At6vSMZ1Sa", "https://t.co/EkJ3B5c3t0", "https://t.co/EaUIZy7hea", "http://t.co/QGJQIVGq3W", "https://t.co/UnqhsIedgv", "https://t.co/cv0B1nEqYB", "https://t.co/4BBVuZdhAw", "https://t.co/efsKsw83lS", "https://t.co/ObqstZlE5w", "https://t.co/FBA0DSs33P", "https://t.co/NQqj8saWGb", "https://t.co/69L0qEr74X", "https://t.co/qbEjpZpi4t", "https://t.co/jkZzs3NCUI", "https://t.co/CljuUvmRX5", "https://t.co/X7f6sZh5KY", "https://t.co/6QE11hEq24", "http://t.co/9dCvig8qnL", "https://t.co/cvsh4JeVSb", "https://t.co/TCtv6AugbZ", "https://t.co/Jn1jQxJFFg", "https://t.co/44sgXvHTwR", "https://t.co/okwXfgFX9F", "https://t.co/sV8Ejvav6p", "https://t.co/skPfxWqojG", "https://t.co/3vNSdHIHUy", "https://t.co/ZBI2sf26PB", "https://t.co/100ZdaszdK", "https://t.co/05tYjpbH29", "https://t.co/ul1gE2dseX", "https://t.co/xHAEPUJHif", "https://t.co/MyUmC06nLa", "http://t.co/ihg4wsoZhD", "https://t.co/tWC9JIZHkn", "https://t.co/kGFdWZ7TgO", "https://t.co/1LncnoAKuV", "https://t.co/pBc3LbcLge", "https://t.co/MWmQLPDu5w", "https://t.co/38FX9MoCRJ", "https://t.co/ctLZhUICUw", "https://t.co/5qXRdoA7U6", "https://t.co/KQ1MEHGiQq", "https://t.co/lbd33ZaoYJ", "https://t.co/QN63g2ntyi", "https://t.co/Wyi362UNCx", "https://t.co/6jPBVDsKIG", "https://t.co/4gE2zrcuCE", "https://t.co/l5QdgCQiUa", "https://t.co/MJpAFrVDu2", "https://t.co/Y6TTpqw1qL", "https://t.co/EgX843FSLG", "https://t.co/dWgDdAJ6wg", "https://t.co/0EmIuZCLbf", "https://t.co/nxE8hHupTA", "http://t.co/O319zmAeND", "https://t.co/y2rjyU5qIp", "https://t.co/u7irhP3GtR", "https://t.co/DEMyrTKeRa", "http://t.co/C6LLBjftM2", "https://t.co/I65QHMuvEm", "https://t.co/aOsmxBEapO", "https://t.co/FbU1UdtPY9", "https://t.co/XlkPpUbo8S", "https://t.co/fgFZRa62CR", "https://t.co/3odyfHva4P", "http://t.co/zgiam6cD", "https://t.co/H4weqSCpWM", "https://t.co/HjjOT38s9T", "http://t.co/gScpYxbylA", "https://t.co/SY9RkYN8J7", "https://t.co/tkUejgRelz", "https://t.co/upi6vRwWoh", "https://t.co/I7FABHREw4", "https://t.co/HB7oMiTGjQ", "http://t.co/rpp3CMXq", "https://t.co/Y5wtSh9S9z", "https://t.co/C7FVls8WNK", "http://t.co/DuNiCqNRjF", "https://t.co/r6U7dpk4pP", "https://t.co/eLIBOMqkQy", "https://t.co/Ny6PU4T2y4", "https://t.co/C44bbhWdaz", "https://t.co/z9m1JsW7Fa", "https://t.co/kLQbe7Yfxd", "https://t.co/EDGULUwCbJ", "https://t.co/Fu6JyWNePy", "https://t.co/FK7sbzLLfl", "https://t.co/bTZ73gfUCf", "https://t.co/MQiI8ZJSzF", "https://t.co/XJcsz6qxfs", "https://t.co/8lHmD2oDY8", "https://t.co/CQ28gZ4FPg", "http://t.co/KWrQFCeFRr", "https://t.co/sFSwPF2bTs", "https://t.co/NTK6KI76pH", "https://t.co/VAzhEZeYwJ", "https://t.co/ecQwEBA3ll", "https://t.co/AeCXqWt6R4", "https://t.co/dObYXzKst2", "https://t.co/xjHfqxC16j", "https://t.co/cY22sYtVWF", "https://t.co/bFuXrSxTFN", "https://t.co/fNUFKdspVJ", "https://t.co/CwMUe7JUwE", "https://t.co/uSSzIdSBwz", "https://t.co/OkwH8XXXfV", "https://t.co/OXZfOAfMzg", "https://t.co/bDfpdzpo4p", "https://t.co/pNyt3czD86", "https://t.co/UfCsy8ugyv", "https://t.co/pTCC4UUyeK", "https://t.co/lR8ywEdCGY", "https://t.co/HNvFbsL93z", "https://t.co/lEAvRCrmOd", "http://t.co/3mmgNyNBPc", "https://t.co/c5tVIdk3sR", "https://t.co/3VrXZ5W7r1", "https://t.co/KIKxtpEcFf", "https://t.co/E3EWYJRmv1", "https://t.co/5zVDJjsVd6", "http://t.co/zxmSVIyWid", "https://t.co/8HFXfXtpW9", "https://t.co/6Lj1Bv1nqU", "https://t.co/z6Id5ujWZd", "http://t.co/T9hZ9MQwwP", "https://t.co/FVtnxazGv6", "https://t.co/yIpEI0p73W", "https://t.co/HieGr4UlgK", "https://t.co/RWORdE2GXx", "https://t.co/qkyh6fkHdo", "https://t.co/wmN6lVihg6", "https://t.co/JSYnCmKsYq", "https://t.co/lhVqoiN2nr", "https://t.co/WbaZmSICX8", "http://t.co/fS6JXNVO96", "https://t.co/rL7UHMBGLk", "https://t.co/FvuGQcB0ez", "https://t.co/wfTlm74rPx", "https://t.co/Leev4LlD4j", "https://t.co/tftDoC8UZM", "https://t.co/4aP4B9PuI4", "https://t.co/Svl6I6ja4d", "https://t.co/PsIOB297XB", "https://t.co/0jvdpdRJgI", "https://t.co/XI9a0wQs1Z", "https://t.co/EqtOmayYz9", "http://t.co/aCwZpC7J", "https://t.co/RgapUxxsVZ", "https://t.co/R0fvXBbx6X", "https://t.co/RK4BJfaeLV", "https://t.co/SoPOALZ7A1", "https://t.co/qAvAdK7cgb", "https://t.co/KSaJXg8APa", "https://t.co/kTiV8AQTks", "https://t.co/1hkq5VJK3W", "https://t.co/L5ncUiJ6l2", "https://t.co/2THygpApKn", "https://t.co/Vz2cmOfds6", "https://t.co/aZBZIyTZ4w", "https://t.co/s3XDCnw4Vh", "https://t.co/gI6fsJxOzT", "https://t.co/I2FXcrIu7y", "https://t.co/DASviBOFao", "https://t.co/qiB9XW4Wgj", "https://t.co/RsgF7meyei", "https://t.co/4w2v0TUJEt", "https://t.co/fdgRr5S9a5", "https://t.co/SnECqlxVbB", "http://t.co/TbuU9EF4", "https://t.co/QDLrZua6Tj", "https://t.co/CYCHVh2udr", "http://t.co/HbVJfES4rX", "https://t.co/wL3oXxX4qr", "https://t.co/NQqj8saWGb", "http://t.co/dybAj3dUZp", "https://t.co/UZdsdMX4Hn", "https://t.co/kQnGcEBRyR", "https://t.co/PQvqjGbplC", "https://t.co/LllBjKxIkV", "https://t.co/mzrdhaFYzL", "https://t.co/onN92o38P5", "http://t.co/Tr437yGysO", "https://t.co/TuT4y8dwLh", "https://t.co/kla9OlGgAO", "https://t.co/EaUIZy7hea", "https://t.co/WhXjHYwlWX", "https://t.co/VVMtbqttxH", "https://t.co/J42MfIa1AY", "https://t.co/K7REhMCzGN", "https://t.co/3sYLsq0MN1", "https://t.co/XHoGAuvK1j", "https://t.co/vjUg4h9ysI", "https://t.co/xQmhwQVGWO", "https://t.co/K8qZeVaYIo", "https://t.co/z18ryYySsx", "https://t.co/Lvd5KJl7WM", "https://t.co/9Y98M1vA4p", "https://t.co/NgmwIndNdC", "https://t.co/qjLKQRAcl6", "https://t.co/FjlvAcACPN", "https://t.co/0J6Q0zv2Hd", "https://t.co/3KrFX3oj6L", "https://t.co/xJNH9bTYlB", "https://t.co/bm5MEav3D0", "https://t.co/XcLBIUy5NG", "http://t.co/QXyfIlfb8N", "https://t.co/h6L9gJBKNL", "http://t.co/HBmm2GRcRy", "https://t.co/Msr205pUeb", "https://t.co/4hT9hwnKad", "https://t.co/CeRSn3JjwP", "http://t.co/4Wf80OeApI", "https://t.co/kv653nNd5w", "https://t.co/2cyxPX3Csr", "https://t.co/6fRALNCb3I", "https://t.co/edisBxMBhu", "https://t.co/R9fbeeHWRj", "http://t.co/8hR1yryRSG", "https://t.co/NTBP5uERt6", "https://t.co/uphYn1ISdd", "http://t.co/g89F01LMuW", "https://t.co/QEkD6us8UU", "https://t.co/BzHDK0m4fw", "https://t.co/TLbGNZTQ04", "https://t.co/bjUyep4bQm", "https://t.co/WYx5bsG80v", "https://t.co/bI9mz7syjW", "https://t.co/3vJcfd7AbV", "https://t.co/zDE8yFV9hx", "https://t.co/ia7gsSse7h", "https://t.co/ondPTVwnrL", "https://t.co/ObI3wWyepo", "https://t.co/ABYqkT1Qxr", "https://t.co/2m9GuDOMMd", "https://t.co/wOg7RCsLvw", "https://t.co/hRDbonBQix", "https://t.co/k2Xc0ICjr1", "http://t.co/2PjG6vrg", "https://t.co/xPPbw7mnVQ", "https://t.co/uKz0O8T2e0", "https://t.co/MAlUtSiAZv", "https://t.co/3Y7sslG7bV", "https://t.co/FIRXBzsHHo", "https://t.co/NQqj8saWGb", "https://t.co/CWv28hq4s2", "https://t.co/qvicm1xARY", "https://t.co/cBvxfCdleV", "https://t.co/W8RwvsbQVg", "https://t.co/wuyGtNS3XI", "https://t.co/gKzEKE4q0h", "https://t.co/xiWSXV0x2M", "https://t.co/Pnuiu51sNf", "https://t.co/KIacbOqoBO", "https://t.co/rejx4RsKPt", "https://t.co/C18cqdJ1Yn", "http://t.co/T48pRW9Kk0", "https://t.co/24TRQJDd4L", "https://t.co/NQqj8saWGb", "http://t.co/xg2VqoZ424", "https://t.co/aku05BIVKd", "https://t.co/oyfo0w3AoH", "https://t.co/qVwl3O9ORa", "https://t.co/xiG75Kp3N3", "https://t.co/2WZr6nsLHO", "https://t.co/syJbUFnMyW", "https://t.co/Ns3VLz6m16", "http://t.co/glIM3yU6", "https://t.co/QwZFoYqZFf", "https://t.co/lyz4DAIq9Z", "https://t.co/YAuaWn1edl", "https://t.co/7K9qKV6dUE", "https://t.co/PMN0LuZ7T4", "https://t.co/ek52UAJxS6", "https://t.co/57mxMGoi9D", "https://t.co/kH0fC1CYJg", "https://t.co/GpyM5tbSzx", "http://t.co/fDmsDjcn6j", "http://t.co/bM7bHHyfFB", "https://t.co/uZm11LHlsP", "https://t.co/9LB9b1QVfs", "https://t.co/Rooxk86Mpo", "https://t.co/HK8wEU9Hmw", "https://t.co/cDVbj7pV94", "http://t.co/4dD1upAW", "https://t.co/CwtA8hQgGi", "https://t.co/rGYFk6KMDb", "https://t.co/o60bAn97Nu", "https://t.co/lkA22eamA2", "https://t.co/23v24pgLQJ", "http://t.co/VZ9wvOGb", "https://t.co/tLTdh5c8ru", "https://t.co/0MJwPEWz3a", "https://t.co/r3PflrrvdH", "https://t.co/pII1i5gqya", "https://t.co/uPXjXBSLo5", "https://t.co/uUWX2CSPyV", "https://t.co/5Ngech5X1X", "http://t.co/qBqUTK1WX8", "https://t.co/i75sjNfTeS", "https://t.co/nYEEogwef6", "https://t.co/3aaWnxfA0F", "http://t.co/GQ8X8mrmRy", "https://t.co/IJTLwiaQQd", "https://t.co/esqB1fZApV", "https://t.co/2Y3XFyaAwW", "https://t.co/yJjXCjPzjD", "https://t.co/ODpbUB1dLe", "https://t.co/4R4piUg2TY", "https://t.co/zk4yYqboDi", "https://t.co/QIBfi3IRAg", "https://t.co/rhkERDuxCL", "https://t.co/CLMIbhKW8n", "https://t.co/mBmxCNqymX", "https://t.co/VPW3R1eyYA", "https://t.co/X7r9IZHMYA", "https://t.co/aQSW1o3uzz", "https://t.co/nsO2HYk3Xj", "https://t.co/ykC7FC8bOW", "https://t.co/6bNb8aUfep", "https://t.co/l2D0tG89UD", "https://t.co/eRriA0irUU", "https://t.co/NQqj8saWGb", "https://t.co/iX8yM9jw5y", "https://t.co/sExivr49up", "http://t.co/IIqV91NPcN", "http://t.co/4VqGpNRl2L", "http://t.co/VZ9wvOGb", "https://t.co/q2qXI4Ust3", "https://t.co/jgEXunDEtR", "https://t.co/EtjLf4k74T", "https://t.co/gp39QbzpEj", "https://t.co/20JrPV1tJn", "https://t.co/v9DKaOo7xw", "http://t.co/uAqnGqv7CN", "https://t.co/qTZrDwSnKC", "https://t.co/xNA8h5j4t4", "https://t.co/BbWd8GtP3R", "https://t.co/iweNpUzkj2", "https://t.co/hz2EUpuoZG", "https://t.co/6hTWNOcW6F", "https://t.co/BizMXbQc0M", "https://t.co/J6R14vJ2rk", "https://t.co/6y2PPeCkeS", "https://t.co/VywuaXsfa5", "https://t.co/O0qcFw4U9r", "http://t.co/D92juMXEhA", "https://t.co/yuwA9SgmR0", "https://t.co/fnSSwuqelZ", "https://t.co/J7thcgqkrl", "https://t.co/JXwRCqUanZ", "https://t.co/btDMrmB7oE", "https://t.co/AcRTkdSPQp", "https://t.co/DKeq0BKwtD", "https://t.co/UFPbjIMR4g", "https://t.co/qqMjdeUxCZ", "https://t.co/y0oZJxZfuI", "https://t.co/HE7gDMYoUw", "https://t.co/AIhJrFUhuP", "http://t.co/4ZcTbQ4", "https://t.co/HEMjqIHelh", "https://t.co/zzSDCl9U21", "https://t.co/9CHYwA3GAw", "https://t.co/IY46BAOKqZ", "https://t.co/DKKkV4BRhC", "https://t.co/6aXFlmUpNR", "https://t.co/HWSvcLyouK", "http://t.co/qBsa6BbtuZ", "https://t.co/FMr2NoFstM", "https://t.co/jd1o6cBHR5", "http://t.co/XIhksSa7", "https://t.co/VkZOXRU0oF", "http://t.co/3sZAPxwzVT", "https://t.co/J6Uu1J9TsF", "https://t.co/SojlWYwTu2", "https://t.co/bJQd2FIUmI", "https://t.co/xGpgPd3Xbm", "https://t.co/H9qynRvbM7", "https://t.co/MOBcO65zFT", "https://t.co/gPm3qn9HoP", "https://t.co/a4cvkfaqF7", "https://t.co/qWJHMrXTx0", "http://t.co/EUFuQ3xF", "https://t.co/VkzEzyconQ", "https://t.co/7DjhXFCtX1", "https://t.co/eLDRJ2Z7kR", "https://t.co/OW4OMwgJQ1", "https://t.co/93may35xRx", "https://t.co/jNTHcS25OH", "https://t.co/Pi5GA5MiW4", "https://t.co/MDGqnxHaMe", "https://t.co/LjaZo3sqzX", "https://t.co/6BAmEOt1vD", "https://t.co/lClmOAGG2r", "https://t.co/Xbhzx7z8G1", "https://t.co/mL3mAFgY9p", "https://t.co/KcQNhbjLIb", "http://t.co/XS8oPZcbYQ", "https://t.co/Rh4KwjXxQd", "https://t.co/aMxVJ6IBAm", "https://t.co/2ykuGGZYay", "https://t.co/Hlq0DVXTDS", "http://t.co/Jf719wtFAX", "https://t.co/cs4ijnBvHU", "https://t.co/iialE3iyVc", "https://t.co/K9Ld0H5qAQ", "https://t.co/zA9WZH3THP", "https://t.co/keHawlOqDP", "https://t.co/Q6VYTQDH8m", "https://t.co/2Ee9rwfU3Z", "https://t.co/0QhN12RyZI", "https://t.co/WVhUH5CIuY", "http://t.co/5IUlNf4Izy", "https://t.co/vnXeCamTix", "https://t.co/a2mIv0gfuW", "https://t.co/xLpr1M1Mgp", "https://t.co/4b9nMb4mtI", "https://t.co/g12C0vVini", "https://t.co/1XdZl0sQC4", "https://t.co/JMRCDTshUe", "http://t.co/opP6qQ72pz", "https://t.co/nKh19SpcsO", "https://t.co/epInbuxaZ1", "https://t.co/Oy6MEOVdxr", "https://t.co/CHveNAtsRn", "https://t.co/XSOy0d1CRF", "https://t.co/dEsaw5Tb1H", "https://t.co/rYC1Y8kZyT", "https://t.co/Lvd5KJCIOk", "https://t.co/PqVa5pLDWg", "https://t.co/8JQEgjErhP", "https://t.co/OvBS8QYEH2", "https://t.co/K0SAS3CX7Q", "https://t.co/Xto95Ep6SC", "https://t.co/v9SO9Jr23i", "https://t.co/vN5EynAzQ6", "https://t.co/EeDM9fk4gg", "https://t.co/rfY9yELfhU", "https://t.co/uCpasDRDHi", "https://t.co/Op9MYuwSNV", "http://t.co/Od0rO4Hhbg", "https://t.co/8xol3mQLdJ", "https://t.co/KYVUh9A6Vu", "https://t.co/UTZWMt7zyL", "https://t.co/6FV6WPaCYm", "https://t.co/G9rqhzyhhx", "https://t.co/tnhkmmYMCG", "https://t.co/enLBVf3oFR", "https://t.co/G2e6HUrhJY", "http://t.co/bZ6IZ3BTtl", "https://t.co/fOnm5miyDH", "https://t.co/6t9U7rXem5", "https://t.co/HUO6uIzd7O", "https://t.co/hrn5g4Wmky", "https://t.co/gFeH4CpSfU", "https://t.co/JYIaTxTJt0", "https://t.co/mtfeGq6K86", "https://t.co/JbRJSfM4tW", "https://t.co/FQPY3bJviX", "https://t.co/6l6S5Yj7H9", "https://t.co/UtvJlO3817", "https://t.co/QlPrlov58O", "https://t.co/dfmT5YOfxs", "https://t.co/6VQwA9X1A9", "https://t.co/oRhWokQMEB", "https://t.co/KIpdK7Lnoq", "https://t.co/mtXsAPc1MS", "https://t.co/NQqj8saWGb", "https://t.co/CNRnUgHD4K", "https://t.co/PuoYhbphme", "https://t.co/w6LmWytf70", "https://t.co/HQESEb38C5", "https://t.co/EaUIZyoS5I", "https://t.co/ffwEe16jRv", "https://t.co/w6DAPWEFWX", "https://t.co/xHgeYLyyaS", "https://t.co/Av6cIp3MAB", "http://t.co/Xu8SdKKZ", "https://t.co/Efj4dRdRVt", "https://t.co/rO1J7OYSSM", "https://t.co/VoLuvhDZpW", "https://t.co/aXSokOyQEf", "https://t.co/Bx9YAhOxr9", "https://t.co/8nUIG56Mq1", "https://t.co/jNIwomTUK8", "https://t.co/rLKcTJad56", "https://support.twitter.com/articles/15795", "https://t.co/ewBi46wSBH", "https://t.co/xyQxkw6B19", "https://t.co/H8i9WlIvdn", "https://t.co/S6IV3zWD4v", "https://t.co/bdBGQqwyzj", "https://t.co/WElaTLXCOp", "https://t.co/MMFKOP8qVw", "http://t.co/U2rz20utzI", "https://t.co/mtvpwk9tuw", "http://t.co/04ozx4m6q1", "http://t.co/rUStk3FrBt", "https://t.co/SzGaxBFR9I", "https://t.co/loxPkObAHG", "https://t.co/l4yHN3LQVA", "https://t.co/CxdBfJDygc", "https://t.co/Lvd5KJCIOk", "https://t.co/zuNFyvHHTr", "https://t.co/bd22S6TY28", "https://t.co/SSGo3E4f5D", "https://t.co/27vTqgF8iz", "https://t.co/AyMSbQ7heX", "https://t.co/HCSQQNrp50", "https://t.co/jmvW0QyeIv", "https://t.co/pTFiJkl7M9", "https://t.co/2O0sepQHxC", "https://t.co/l55Gpy5Mxm", "https://t.co/MKzjQhvIaB", "https://t.co/kBwvcy7M0n", "https://t.co/dXg0VSDLuU", "https://t.co/WTSc8stch4", "https://t.co/FhJapHDBUo", "https://t.co/Kmk4ilYV8Q", "https://t.co/NQqj8saWGb", "https://t.co/NqyeAX3Fd7", "https://t.co/5rHjUSY98s", "https://t.co/po5LFIR6G5", "https://t.co/piHTja2Fwd", "https://t.co/KFYzWXNIqO", "http://t.co/5b33SnOC7S", "http://t.co/VZ9wvOGb", "https://t.co/pm4NITSu20", "https://t.co/YWPphtwEgO", "https://t.co/f58fCYWviv", "https://t.co/Zys08dHeBJ", "https://t.co/vv5ZfOshxK", "https://t.co/AAlLkU2q7f", "https://t.co/Kzjx7zU5ix", "https://t.co/Q8scSi4M7C", "https://t.co/81bOkAzJNG", "https://t.co/V7YtObi9yH", "https://t.co/akrdXLCPVr", "https://t.co/0xoOtw9rzp", "https://t.co/qRY0dGgnD8", "https://t.co/uR8yfBhdme", "https://t.co/I3ic17WP6B", "https://t.co/5Pt30EJFXv", "https://t.co/rVuk3MHVnH", "http://t.co/Axo0i90ZM9", "https://t.co/5tEBHLLaKm", "https://t.co/KIl5ISleIL", "https://t.co/NwNDAuyROL", "https://t.co/AGkmiRCX9o", "https://t.co/h3uDDrjvwr", "https://t.co/HveT4aZhoX", "https://t.co/vw4AWTYC4M", "https://t.co/rJhgYFDSmU", "https://t.co/1uzBgl31c6", "https://t.co/3fqftG6D6o", "https://t.co/Q4zWfGro8I", "https://t.co/VVPKmbJ19u", "https://t.co/YEAETalpNj", "http://t.co/aECuuQ6V", "https://t.co/4asU4w157l", "https://t.co/O4Uaiuon45", "https://t.co/TgZJrC9I77", "https://t.co/zw2Iflojuk", "http://t.co/ffMhY8Uf", "https://t.co/47ozXGzUvN", "https://t.co/YTSeDmKCQG", "https://t.co/J6vWocsya4", "https://t.co/7LuTk4QU5N", "http://t.co/IIqV91NPcN", "http://t.co/4VqGpNRl2L", "https://t.co/OoKECriqIc", "http://t.co/88cNEIOt", "https://t.co/lEskqmH4Nf", "https://t.co/DY2Fmfiv79", "https://t.co/ZWnIpa3Npg", "https://t.co/Ik8k65MmqE", "http://t.co/xFLzJlwO", "https://t.co/mPhOQuNx7z", "https://t.co/4f32fzcb6l", "https://t.co/AVAspq7j0l", "https://t.co/fuV5cXsAnT", "https://t.co/VxqjPNXpzg", "https://t.co/CZ2jz51PJk", "https://t.co/yaJYAyjyID", "https://t.co/FwozE6RRXU", "https://t.co/uZgrZGSjmg", "https://t.co/OwgUB04YuX", "https://t.co/g9OiGbK5JV", "https://t.co/3ACg9SKo9w", "https://t.co/rB0jH535xZ", "https://t.co/wKv8h7Rsz3", "https://t.co/ynYQEz2bLo", "https://t.co/2jU4BxEUQc", "https://t.co/CzwX5HZpHu", "https://t.co/r48HW5ctpp", "https://t.co/HsvYLFOhbg", "https://t.co/wHQVzpQQZu", "https://t.co/UXfGiuGJht", "https://t.co/h5Xk4j10rF", "http://t.co/tn2TJIlQ", "https://t.co/kOTUHFpK8J", "https://t.co/mLxkk5phEf", "https://t.co/h6L9gJBKNL", "https://t.co/auT8RFkRpY", "https://t.co/vpLmd9r56P", "https://t.co/gluh53l97s", "https://t.co/2JPzZufWYr", "https://t.co/eyPruGR0MH", "https://t.co/9wvqPc4GWu", "https://t.co/X23L27Succ", "http://t.co/RuiUq5q6UO", "http://t.co/NIvqYlpQAe", "https://t.co/v7EgKMvLTm", "https://t.co/tbjQBJFeab", "https://t.co/A7wX268OWR", "https://t.co/6jXhpgvjyk", "https://t.co/1KAufPnXpY", "https://t.co/WPuIgGXTnS", "https://t.co/Xp1bjHbrwl", "https://t.co/1w4rvdQloT", "https://t.co/PEM6N50srC", "https://t.co/KgwVmxKQKM", "http://t.co/lu69zrb0", "https://t.co/jevzk7loV5", "https://t.co/SNK9toJERY", "https://t.co/0a20FoXvFo", "https://t.co/TXpx4oGCfy", "https://t.co/2InK2MVCLP", "https://t.co/NvG31zXxAL", "https://t.co/SeouLCUHfk", "http://t.co/aDGqqDpoHx", "https://t.co/bUN3C7CxB5", "https://t.co/OcbGnO8HpP", "http://t.co/GAm0F3mr0o", "http://t.co/VGCoo0xahF", "https://t.co/hPj4z3MdiU", "https://t.co/1V0AqFSr9D", "http://t.co/eNqZC4aXka", "https://t.co/8rCaouHHJX", "https://t.co/vqE8CAN9Wc", "https://t.co/zzHORTlXpV", "https://t.co/75rGRCX6TH", "https://t.co/T68peKAX7B", "http://t.co/q2I1f6l6", "https://t.co/R4V5lB60za", "https://t.co/MWvYzEqmQX", "https://t.co/OQemf1YwFW", "https://t.co/eHTv0urg8x", "https://t.co/9lfZtWW1JZ", "https://t.co/08FI7ac8IG", "https://t.co/E2FTCNjb0z", "http://t.co/WkO8zu5w", "http://t.co/Cal6L1hoS2", "https://t.co/oYjdew0j5J", "https://t.co/MzR7duhako", "https://t.co/7MzUjTEbTk", "https://t.co/VWzL9v5reV", "https://t.co/5Qjl8xioPv", "https://t.co/NTmOgAVwmR", "https://t.co/f2xrmJGs3q", "https://t.co/M8DN6iUQ8Y", "https://t.co/tg4QxyjPep", "https://t.co/OcO8bzkr8a", "https://t.co/YGlpMd9K4o", "http://t.co/eRXwnK4h5a", "https://t.co/QaYjsPfMYS", "https://t.co/qQYxkZgzLZ", "https://t.co/RZJhjPMcS8", "https://t.co/McvpvUzuSS", "https://t.co/LcccMa4KNI", "https://t.co/5GsAmQOZDF", "http://t.co/eVx7qMXkzD", "https://t.co/hydo1HcYnK", "https://t.co/NUwGsHokG5", "https://t.co/Ds2hem5R78", "https://t.co/nxyIVDf2jl", "https://t.co/jSDBFgr5Ya", "https://t.co/ROGb5vnt7a", "https://t.co/q4lCbgmN5r", "https://t.co/Lpl0TzvRmY", "https://t.co/hAr59miiYg", "https://t.co/g5JtzdDqT2", "https://t.co/8Zm3UF2utx", "https://t.co/5KrQGgGsna", "https://t.co/MPRa8uHlws", "https://t.co/NQqj8saWGb", "https://t.co/8YEHp3JSlt", "https://t.co/2i237e9qhX", "http://t.co/82S12J9fZJ", "https://t.co/EJywVUxr0B", "https://t.co/VSrsTvtv1O", "https://t.co/K73eyne54r", "https://t.co/SyEzOZUys7", "https://t.co/qBRGojmxQG", "https://t.co/ZdqJQTAPQT", "https://t.co/ufYXe6dhDb", "https://t.co/idQtPNVdc9", "https://t.co/bKpqPTcD2P", "https://t.co/C2skz5oKTg", "https://t.co/V6f1t3WDmi", "https://t.co/Pe5Xvdfe29", "https://t.co/4WsCy9b3uz", "https://t.co/Oif1aUO5f8", "https://t.co/S9mk8ZOzyc", "https://t.co/H6ybnaTQvj", "https://t.co/QfkdU7Fs3a", "https://t.co/ovZo8YVk3W", "https://t.co/DG8KtEyE3k", "https://t.co/erttpB2cKf", "https://t.co/q8dBZfpsQF", "http://t.co/uFg0P8ziiH", "https://t.co/fnMDpzazLB", "https://t.co/Jz70MRIYG9", "https://t.co/7iA2bqdrQV", "http://t.co/2UYphEXj", "https://t.co/bgMa5k8lp5", "http://t.co/SWvapl0Y", "https://t.co/KfUeuFc48L", "https://t.co/rUlyOZUttk", "https://t.co/XoIegyt93P", "https://t.co/yO55WOrls1", "https://t.co/1Y8Hg4r1CJ", "https://t.co/Z6U78boo5L", "https://t.co/lQgMmubX2r", "https://t.co/kp8G1wDUFy", "http://t.co/0Y7MBOqx", "https://t.co/YPVr1NCg3L", "https://t.co/LErJlT99nZ", "http://t.co/vfu2Eu8d", "http://t.co/zGy0bpmFGp", "https://t.co/7dnPoHgYc4", "https://t.co/Am8Eo8kRIb", "https://t.co/Hg2d7GBgUE", "https://t.co/1MsL77BXaU", "https://t.co/vEhO2bHCtk", "https://t.co/8AlvnH4Veg", "https://t.co/qSax5ypz37", "http://t.co/E89eN1eJ2y", "http://t.co/YF6lHuYOtB", "https://t.co/xEdKVb7aHs", "http://t.co/SBpnofYT", "https://t.co/yiH0xq3S5e", "http://t.co/SmP7sQbINY", "https://t.co/HfH9nHY8M8", "http://t.co/dOli3PgpVb", "https://t.co/UTEchaCueu", "https://t.co/VywuaXsfa5", "https://t.co/9QdZnO7TIF", "https://t.co/Cy7oMsVe86", "https://t.co/VoyrnIE8S1", "https://t.co/0IQgVM0T0A", "https://t.co/4nf0jD1P7h", "https://t.co/CLH9JfPAil", "https://t.co/DJE1X2S7Yq", "https://t.co/hzCR2Clt4e", "https://t.co/rwbgSkZBNG", "https://t.co/YOlfk7uqVB", "https://t.co/Glf9ubowM4", "https://t.co/ezSzfqKz0x", "http://t.co/nbRartsV0U", "https://t.co/7visQ22QTl", "https://t.co/ymHdx1t6Zj", "https://t.co/Kyh41mSP6u", "https://t.co/sxwyQNBMnq", "https://t.co/Pttmnx2XlQ", "https://t.co/xbdBtGlzMk", "https://t.co/npMmUGw2SY", "https://t.co/uK0LY4OB5T", "https://t.co/TuMo0IlyED", "https://t.co/ggiHWiNheN", "https://t.co/ZdCNRtfsVo", "https://t.co/FwSW3W1UaN", "https://t.co/HYgjkDEULT", "https://t.co/anpktQ74dT", "https://t.co/gm6QPIiFIv", "https://t.co/6E4HUQM7QB", "https://t.co/0gGnh2EdJR", "https://t.co/fUqDp54ITT", "https://t.co/7tqx6yoAe4", "https://t.co/fIvXCKdpKs", "https://t.co/4aWflJsmlX", "https://t.co/K5auy98EiV", "https://t.co/lgUH64Ag3z", "https://t.co/5XRxkpAaGT", "https://t.co/T45yv8qUUu", "http://t.co/0s72vdGN4S", "https://t.co/egxucL1R6D", "https://t.co/nVSwqr7Mow", "https://t.co/xs8FgTln3S", "https://t.co/MGtOLZu0Fc", "https://t.co/j3cuGJhyZM", "https://t.co/EaUIZy7hea", "https://t.co/Mh7FPu2e61", "https://t.co/VWbVbpXtX4", "https://t.co/4zp4u1qwIr", "https://t.co/ukiUyWE2PA", "https://t.co/v0rxrsQKzw", "https://t.co/Gcc5Y1H6xs", "https://t.co/RWR4tqGNCu", "https://t.co/uZm11LHlsP", "https://t.co/jtLpuF71kh", "https://t.co/4SEyrIPY2E", "https://t.co/s8tsxg3d1h", "https://t.co/krW3rq3j67", "https://t.co/mtXJQdFprm", "https://t.co/IxiHshNf4L", "https://t.co/suOO1fl1J1", "https://t.co/JAICzoxIzP", "https://t.co/shgmNklfX8", "https://t.co/id3jCqHcou", "https://t.co/4wb0REg3oz", "https://t.co/6627E13f3p", "https://t.co/MLuTeWJ66c", "https://t.co/uR5ROxSqau", "https://t.co/716OSaVMvv", "https://t.co/TON4LaOO2B", "https://t.co/oqudCDKoJ1", "https://t.co/nbxsY0HU7q", "http://t.co/l3O6tkK8", "http://t.co/XzzKl7l9", "https://t.co/dOFNdtgJV3", "http://t.co/IIqV91NPcN", "http://t.co/4VqGpNRl2L", "https://t.co/RJVLjrTntc", "https://t.co/FZT12iQLud", "http://t.co/O2Pthz3qNU", "https://t.co/GIZolpjY54", "http://t.co/GxEXXPqeZZ", "https://t.co/4H4mLH34zp", "https://t.co/cgPl7hVd9Q", "https://t.co/EqGXNd63Rb", "https://t.co/opLtVRnIAn", "https://t.co/dlTTCMhJkO", "https://t.co/hDYOLnqvPH", "https://t.co/HVeGJShfQE", "https://t.co/RKYMcdTHcS", "https://t.co/kgE4LkVrHu", "http://t.co/kcjiwuycv1", "https://t.co/Fj8r5mU6ro", "https://t.co/NQqj8saWGb", "https://t.co/aqsquMVgbT", "https://t.co/JTDhVfmBm9", "https://t.co/BQVMPdA7LY", "https://t.co/hR6rbeGviW", "https://t.co/oSCgvECBK7", "https://t.co/b6fkj58EQa", "https://t.co/5eUHbW5cbY", "http://t.co/ll3cfirNMb", "https://t.co/AIe2K82YhC", "https://t.co/nmriNtqyjN", "https://t.co/ql9kZQOLyz", "https://t.co/JZIBKMsKgX", "https://t.co/r4Xv27em52", "https://t.co/HnfCqWmJl4", "http://t.co/xuyWAPSwRg", "https://t.co/16k3D8U2wQ", "https://t.co/USs42HNotx", "https://t.co/e4Dmo41e6c", "https://t.co/LjBMnvUiou", "https://t.co/CfxJCTfIe1", "https://t.co/5BaOVQIh3A", "https://t.co/pYapfkEceL", "https://t.co/lrJJKqygtf", "https://t.co/6yO3T5dSwa", "https://t.co/lZ9XXVbnj8", "https://t.co/nP8bhfp0PU", "https://t.co/ashVy8K61P", "https://t.co/odiO2hWmSd", "https://t.co/0EFDg3Q8eF", "https://t.co/6g8phX8eCt", "https://t.co/Qjf0tL3d5w", "https://t.co/JCzcFt9bYV", "https://t.co/cmUV2O1VGv", "http://t.co/UT1JwMQAIU", "https://t.co/rS6bWSVTTW", "https://t.co/6TVEerc5xY", "https://t.co/MXZfG1Y6wW", "https://t.co/47HJFFgNBL", "https://t.co/ImdZfZCI7J", "https://t.co/FE40NHWwn4", "https://t.co/eG7GuDUDYb", "https://t.co/gtlMeRvpIx", "https://t.co/vxnlmxZCNR", "https://t.co/LCSzMb37Cf", "https://t.co/OWtfyt9iOd", "https://t.co/0hplb5fm8Z", "https://t.co/csRwiR7XrK", "https://t.co/i9gzt8Okyr", "https://t.co/5hadarM4uj", "https://t.co/lFlrWU8pjE", "https://t.co/nQlTgpS9MB", "https://t.co/gT9SVjoREn", "https://t.co/pLaU6IoPou", "https://t.co/oJJFpjsY9K", "https://t.co/vrIXoB8Xte", "https://t.co/m1rPQL2DdU", "https://t.co/ECg5HPb1Qs", "https://t.co/MOCqUjsLYX", "https://t.co/LmNlw0gy14", "https://t.co/jG8jqPtIr3", "https://t.co/04ECU5mbO7", "https://t.co/G4JqHQyTkv", "https://t.co/som4KdHUeZ", "https://t.co/DFZ20dKqHl", "http://t.co/7v4z2MrdoX", "https://t.co/8nKDCSYslc", "https://t.co/21Ykt92mA7", "https://t.co/riFpdWGzug", "http://t.co/wynMSag8sn", "https://t.co/GVnm6HcWM9", "https://t.co/7Mgz84Wz2Z", "https://t.co/IpFKq6DF9y", "https://t.co/u6VgiQflyB", "https://t.co/nQZm47tuNp", "https://t.co/0X5L1jkUD9", "http://t.co/s0TBVsTM", "http://t.co/XNH9cmmrfl", "https://t.co/9CXymteyKj", "https://t.co/FpSGNv6vzy", "https://t.co/A9WqFSyfgj", "https://t.co/hz1eVZsgYp", "https://t.co/qih8TIaDxs", "https://t.co/AnPYWdiBG3", "https://t.co/m8GXhtOBH4", "https://t.co/Yu1nuB2LOg", "https://t.co/8tfocFbw6i", "https://t.co/14gAS3L3r6", "https://t.co/pDXB7gHFKz", "https://t.co/HnrfqxlB8n", "https://t.co/4NWEUlXhKi", "http://t.co/rEdAYJuY", "http://t.co/jhyllsvNow", "http://t.co/bbLGIdFR", "https://t.co/5iXxzzYswd", "https://t.co/mFMO6GyLdr", "https://t.co/o1L2B1x9Kr", "https://t.co/QM802jPjya", "https://t.co/zaHvliFXt7", "https://t.co/CilUrKbsO5", "https://t.co/laEzzzpiKc", "https://t.co/vL9TpQqgVB", "https://t.co/wfFWIu90II", "https://t.co/bDLGHzRrHu", "https://t.co/Kc3WZormYt", "https://t.co/XDvDHjAOyL", "http://t.co/gTECcJUb5M", "https://t.co/i73rP7DMfL", "https://t.co/gsUlucCjTY", "https://t.co/jiRfHo1iwa", "https://t.co/tHACDYpiKV", "https://t.co/8hmQtIpOlK", "https://t.co/bAg6nzpN2c", "https://t.co/SMb0tB3Akn", "https://t.co/CyAc7UrmIv", "https://t.co/SEGcia86W7", "https://t.co/FuvS8fLhLb", "https://t.co/aPeMNe7ROw", "https://t.co/WRalGVCcv0", "https://t.co/I8migN9Uy5", "https://t.co/rhazS0Yl5j", "https://t.co/1ePGG9tx37", "https://t.co/sj4SWvqe4U", "https://t.co/yTJxVdPbgx", "http://t.co/SiM1Fh7eY5", "https://t.co/HPKLFG5c1E", "https://t.co/L0r76KZuq8", "https://t.co/QODYdrRqBq", "https://t.co/zHZIjWJhGR", "https://t.co/gQaombbc2d", "https://t.co/6G508b9QLp", "http://t.co/vAji4EkE", "https://t.co/Fn2v6ZaLWx", "http://t.co/eRXwnK4h5a", "https://t.co/BTluzMjlv0", "https://t.co/GMIm26E8d9", "https://t.co/KWITHp2cQC", "https://t.co/PaTs8tFHG5", "https://t.co/aPZha6rQmf", "https://t.co/Dt8IQTfXk0", "https://t.co/WegULqYPSO", "https://t.co/YH0Gle89Xo", "https://t.co/fKG2B1XJ3r", "https://t.co/IE8V6iT7xI", "https://t.co/TsGHx02jZj", "https://t.co/RvzxSvYaUT", "https://t.co/rI8m6VJ9va", "https://t.co/pCGDcBffzu", "https://t.co/6i9gIeO2bq", "https://t.co/9CagiABCK6", "https://t.co/HmGgVsUMI2", "https://t.co/wvYjNmyt5D", "https://t.co/ZSFa5AoDmz", "https://t.co/dD3xPc7xW2", "https://t.co/Y1IE22P3Yn", "https://t.co/GRZsWpPVcU", "https://t.co/ZkiTW74rxT", "https://t.co/EaUIZy7hea", "https://t.co/zN0MW9gtgm", "https://t.co/zSH4fw9zHj", "https://t.co/jgqrh7Uc59", "https://t.co/ximfg1xviX", "https://t.co/3EVdxEbz8o", "https://t.co/ufljpvOYng", "https://t.co/RwuAqYtrKI", "https://t.co/GYJktP2dia", "https://t.co/VQT23i845Q", "https://t.co/zZjbMWfvIy", "https://t.co/NWw791MTAW", "https://t.co/CMfi5uCvh4", "https://t.co/rH7LsynyHw", "https://t.co/Cs4HvlUIC2", "https://t.co/fgMNVurCVD", "https://t.co/mzzhqNMBlJ", "https://t.co/W9rpVJmq1K", "https://t.co/jf0tUGRd0T", "https://t.co/pRvKuFfe0e", "https://t.co/Nsn0ND1HNR", "https://t.co/0eqc7CzfKb", "https://t.co/zjMUQ6GjrF", "https://t.co/yEbmeARLCT", "https://t.co/k3lIUJGa1b", "https://t.co/qQwzL4FpyE", "https://t.co/jT9wYRvp29", "https://t.co/n8CxNtucx4", "https://t.co/XcSLICGbrH", "https://t.co/wcYMiVNF8k", "https://t.co/CWdIX0CsnV", "https://t.co/RaNl30AnFY", "https://t.co/N9DpiX9XH5", "https://t.co/XlqhH7aHis", "https://t.co/NYqMl1jk7z", "http://t.co/5OUpMtvu3Z", "http://t.co/I3z3fGc5", "https://t.co/bHZaj25DhA", "https://t.co/RJVXw6Ejge", "https://t.co/9wl9XrGtH1", "https://t.co/1UK2ntf0g2", "https://t.co/1e2lmdrUhL", "https://t.co/3THUCfaNS2", "https://t.co/6fQO2ZZnqV", "https://t.co/KC0EzZNUiO", "https://t.co/F4PSQiTpBZ", "https://t.co/sJZiXNkn2s", "https://t.co/DlAuouSVXJ", "https://t.co/L5EZyhs1Y6", "http://t.co/m4Jv0YieWM", "https://t.co/C352ApCJwo", "https://t.co/X8hKnWYMGh", "https://t.co/ffjY8vS66T", "https://t.co/TWgclFqQ9l", "https://t.co/4J0Nr0nVtX", "https://t.co/qMOvklchS5", "https://t.co/36FrT8xMWh", "https://t.co/J6MiZmpIvu", "https://t.co/7c3i4Oykh6", "https://t.co/MHuQ61fwLN", "https://t.co/vL9TpQqgVB", "https://t.co/PWS455JMme", "https://t.co/nhzixy6bxT", "http://t.co/ho1p31KZpE", "https://t.co/i7xd4okw05", "https://t.co/dWLK1S8tW3", "https://t.co/zCZLERZbNO", "https://t.co/90d4M088iE", "https://t.co/8vyJDyWK30", "https://t.co/pM8UdBa6fO", "https://t.co/y2aFZecF1j", "https://t.co/mV6wsxMG2G", "https://t.co/LVkVqMgAPN", "https://t.co/jzYDDNgOO2", "https://t.co/A5j6KBdGW8", "https://t.co/IImlYO9HGG", "https://t.co/QOv48zA7gu", "https://t.co/WIsIaa0hMP", "http://t.co/4Byn2D813O", "https://t.co/2WMPfMhHGd", "https://t.co/cbNOBOId2L", "http://t.co/4Gijcaa15v", "https://t.co/oSUpVG4AFr", "https://t.co/XxcHGxqMPI", "https://t.co/OlO4fbIvXm", "https://t.co/p3jQDYg9Bo", "https://t.co/2DRqJMaWwX", "https://t.co/Tzp7ZmHIZw", "https://t.co/hdnsFpCYoi", "https://t.co/qbi9tqrwmF", "https://t.co/krf67vkk6y", "https://t.co/TN5kZ7qh2G", "https://t.co/tmamdzpe23", "http://t.co/r7h6WV6T", "https://t.co/eDUnZ3A3Vd", "https://t.co/0EgkuIqq04", "https://t.co/tl2RhxBTkI", "https://t.co/woPHFzamIZ", "https://t.co/6iCjknPCCW", "https://t.co/0Vp3HAxLnf", "https://t.co/8ZPFrxx8kF", "https://t.co/vL9TpQqgVB", "https://t.co/lpBb85G9vK", "https://t.co/rc2JFg8t4z", "https://t.co/SBKzD4OtQH", "https://t.co/TJpqs7Ex6h", "https://t.co/PtXvWhy9mj", "https://t.co/wxcNBzUwTg", "https://t.co/MuDX87Qutq", "https://t.co/Y2vYNYiZ6X", "https://t.co/WzGiFMYqsz", "https://t.co/C66zAymOcf", "https://t.co/aDccudnNmz", "https://t.co/9z7TNWvDQz", "http://t.co/GAAXjfyz5J", "http://t.co/G2xn1AYdLt", "https://t.co/ds3MTYLd1W", "https://t.co/vqLD3GjicR", "https://t.co/FejEcX7OFB", "https://t.co/maQGq0LiPT", "https://t.co/FWiWgIHetR", "https://t.co/O9Bb4nLZCG", "https://t.co/zkw4TEdrzY", "https://t.co/lG0rqlm6xk", "https://t.co/VuRd19QT7k", "https://t.co/camagICvvR", "https://t.co/lfdiFft0ez", "https://t.co/ebAQOvbCZ9", "http://t.co/IIqV92ECAZ", "http://t.co/4VqGpOI8qX", "https://t.co/qFUXEpl0fq", "https://t.co/ZQJlReo5oB", "https://t.co/SSdFUMgj15", "https://t.co/V7qP6Pqfzk", "https://t.co/LfBnwuJ9mH", "https://t.co/7BXhSDIBKl", "http://t.co/OI3HASRk3i", "https://t.co/gukVSCDlpm", "https://t.co/SJYmcYmK9h", "https://t.co/ihQbDHCxq8", "https://t.co/musM8S2F4z", "http://t.co/BtW70WKazY", "https://t.co/QkEeB20AWi", "https://t.co/ogoPJ50Lie", "https://t.co/B6VTFBywKB", "https://t.co/PuCuEvRAGQ", "https://t.co/0mPgf0UMXx", "https://t.co/5LTQbeaeW8", "https://t.co/iZ3QxgbJE7", "https://t.co/msHYQ5Y04R", "https://t.co/rVn0DAXl3Z", "https://t.co/lylW9MoT3R", "https://t.co/RdDgejy0kI", "https://t.co/8xhoax8I2L", "https://t.co/jdIf1wEqPt", "https://t.co/NRqiVSmF4d", "https://t.co/PmyrI2rfIl", "http://t.co/IxQSxouu9w", "https://t.co/JsxZ698LRM", "https://t.co/DceRwQQDxg", "https://t.co/abLzs7DszG", "https://t.co/dQcyPGiyZz", "https://t.co/CGaR8zo1ao", "https://t.co/HXpFcz6eAR", "https://t.co/EaUIZy7hea", "https://t.co/JW2PlBAZlm", "https://t.co/NL0zQyCLZV", "https://t.co/FvJ9wK2KaU", "https://t.co/JGfYYgtAdG", "http://t.co/soaypv0Lg2", "http://t.co/nBSqkZ0l", "https://t.co/qunAdeGi80", "https://t.co/byWRlPuPk5", "https://t.co/OyL3v2mdte", "https://t.co/5TGC9hN6js", "https://t.co/OrgrAFQ0ak", "https://t.co/ODvHIdUdFf", "https://t.co/ogHiJNqADV", "https://t.co/mdkOvJ0rED", "https://t.co/vJpNipFYpy", "https://t.co/hpOSeN5cPA", "https://t.co/nYODVSQqjW", "http://t.co/FQkj4EGJh0", "https://t.co/ZzxbFLo64x", "https://t.co/9UY3GUje0q", "https://t.co/Hp6s6B2Wxa", "https://t.co/TOsWIBLKH5", "https://t.co/kcEPabZCFg", "https://t.co/WM9RRh59OU", "https://t.co/tncVamCZKY", "https://t.co/CBvQHHgj4A", "https://t.co/dRMliyaDVb", "https://t.co/tJFUp2ZgBx", "https://t.co/wB44FJVbMh", "https://t.co/Kj8PswWenl", "https://t.co/BoNRnwPAnx", "https://t.co/GdyrO2o3Nf", "https://t.co/EsimcK4Cgn", "http://t.co/16XNwDXLyh", "https://t.co/0s8GlCUE5E", "https://t.co/fcfGnRZtQz", "https://t.co/6XzxLLJyUn", "https://t.co/Y2Qi52ceCE", "https://t.co/fqmCIJyQT5", "https://t.co/7bEpZSbcd0", "https://t.co/pbEkn3aDKl", "https://t.co/aUTR4wXno9", "https://t.co/ybIv7z28eh", "https://t.co/IeLAcAVOkF", "https://t.co/kRasCtuhRJ", "https://t.co/KDeSGDzbIM", "https://t.co/F4r4OTFY1c", "https://t.co/IHdxHD1JRU", "https://t.co/5nJwEZU82g", "https://t.co/mzEikEQdye", "https://t.co/mgH6JLHyVy", "https://t.co/ut0oxFLBtc", "https://t.co/YqPp8QomzL", "https://t.co/6BQMZXyb2E", "https://t.co/3iEsJ0pGhV", "http://t.co/DaRUNeZO4n", "https://t.co/LS70KlK67e", "https://t.co/rxX8S7WVCL", "https://t.co/6IR1bho8vZ", "https://t.co/TYfo4ZwMwo", "https://t.co/jDmd8EpafA", "https://t.co/MgcSIlqEVa", "https://t.co/xHZMDlA6wM", "https://t.co/RucOYivyuT", "https://t.co/6CjJRRbI7F", "https://t.co/Vxd6ObuyHa", "https://t.co/EwXd3RL61i", "http://t.co/0afL7sDe", "https://t.co/Iq18gK2R0D", "https://t.co/SsPz7ToNLo", "https://t.co/kFwM0iptIR", "https://t.co/pkkS8S14q0", "http://t.co/EjkgXM3aZR", "https://t.co/dpL07zduxH", "https://t.co/Au0TdJ0fTf", "https://t.co/h51rQLn4my", "https://t.co/RVFk6aVDVH", "https://t.co/ZyKQD2hC9l", "https://t.co/aSMY3jF4qv", "https://t.co/5H5O73gJHK", "https://t.co/BK9T5xDedL", "https://t.co/W7DfRFj3bp", "https://t.co/km9eOedzaG", "https://t.co/O87ZNhZw7h", "https://t.co/1F2aATSH9f", "https://t.co/vCZ79MWOlO", "https://t.co/uYgCJXTxlU", "https://t.co/M78xzRMNKP", "https://t.co/AuGGSqJoyX", "https://t.co/kD7E6YWQ0G", "https://t.co/yfLhfEfrid", "https://t.co/1I51dcgYYW", "https://t.co/bNboVNZpWy", "https://t.co/7PgpOhskpk", "https://t.co/bQJ9vgKPro", "https://t.co/lUQJVHu2Dv", "https://t.co/JsLFtAK1Pn", "http://t.co/Fjb1g7TDcy", "https://t.co/J3tsd9PItf", "https://t.co/aO0b6Y54td", "https://t.co/0fOWx6I734", "https://t.co/bHqUpg95XV", "https://t.co/qmLl38CWHE", "https://t.co/J5KNdstZEw", "https://t.co/8S3Bd6sFcq", "http://t.co/eRXwnK4h5a", "https://t.co/Laepi52QJq", "https://t.co/WuqQbz5Out", "https://t.co/Suy6ObgpSl", "https://t.co/UFTLSclgR7", "https://t.co/IiQ3TcqV48", "http://t.co/CIHHmifcVu", "https://t.co/8qTFkaZb5O", "https://t.co/dxSzVxPbTF", "https://t.co/Gy2P4IGyX9", "https://t.co/LsD5rvsSAG", "https://t.co/Lvd5KJl7WM", "https://t.co/LoQhlhB8m7", "http://t.co/5N30eu8P5p", "https://t.co/HtyaKXoO12", "https://t.co/7AHa0UyASo", "https://t.co/pV1RhfBeL9", "https://t.co/7G4TzXXpTp", "https://t.co/b1672jGYwS", "https://t.co/oxXPfSOk2O", "https://t.co/FiraV4X7Gd", "http://t.co/l4zc25jVBc", "https://t.co/jXpAaiiY44", "https://t.co/prGaaeIpiW", "https://t.co/mhmeNEPZUm", "https://t.co/k39J5HYm7j", "https://t.co/TJTZkHQKjC", "https://t.co/AHM3hNniVq", "https://t.co/wipATlsNuO", "https://t.co/E5qdPCJZ00", "https://t.co/hTsLapJkvW", "https://t.co/SkB260lcAE", "https://t.co/y0jIqxHjhF", "https://t.co/y7YYhADtk1", "https://t.co/H4BeKlHyQL", "http://t.co/HD4LJEc6Co", "https://t.co/DN2iUOc9xb", "https://t.co/knQc0ZQTgI", "https://t.co/WxtUJh4fQ4", "https://t.co/2VUg3i5tJp", "https://t.co/O4JLWWIUuW", "https://t.co/Czj565uHxC", "https://t.co/XDp57sE10B", "https://t.co/QvweyOMj4d", "https://t.co/1UUajF8mL6", "https://t.co/LrebVtJT7j", "https://t.co/KelIdOZm3Y", "https://t.co/xkTwF68BKV", "http://t.co/rbmRTFOdzp", "https://t.co/vL9TpQqgVB", "https://t.co/I461h2gOFa", "https://t.co/N5XdLggjAf", "https://t.co/2Sf886Ly3t", "https://t.co/SVq7LSUlpJ", "https://t.co/QDl1j4eto3", "http://t.co/6wLanvXpKF", "https://t.co/ZTBqMH8LXM", "https://t.co/Z5sVCwXjxo", "https://t.co/EEMIlN83ax", "https://t.co/LvzRTXGR1K", "https://t.co/iLe3fz6gD7", "https://t.co/9BDerlPQKC", "https://t.co/ZJCEEUAYqe", "https://t.co/p3Ixq5I6Or", "https://t.co/aQHG7DvX26", "https://t.co/ygKca9yS6C", "https://t.co/dW3jTmEuiy", "https://t.co/rcZUfUwg6m", "https://t.co/rVNYudYSgp", "https://t.co/HXMmqf78Ov", "https://t.co/PDGMFa8sky", "https://t.co/LRixbz4Sfl", "https://t.co/5yFMPuKXZT", "https://t.co/5yFMPuKXZT", "https://t.co/mcGtw1uAgL", "https://t.co/5ZLGM737PL", "https://t.co/KwVh8Kjkbo", "https://t.co/4bs68m3qJL", "https://t.co/nZUHzhkQWr", "https://t.co/oUxsqgSSmS", "https://t.co/PlCRlZYiA3", "https://t.co/9wU1cez2Mu", "https://t.co/QKrfFcKQtq", "http://t.co/b1TDrDa3Et", "https://t.co/vPhhUSG59C", "https://t.co/mHjLuHYBvx", "https://t.co/2cTuUEVLfk", "https://t.co/SPWmed4Awy", "https://t.co/4dtm9Ap0c7", "https://t.co/KbYRaUQJJM", "https://t.co/gOV46tB5tT", "http://t.co/WS9gJg5bTr", "https://t.co/EPPvYavDgc", "http://t.co/WDVjeTj2yu", "https://t.co/6ErE60Hofb", "https://t.co/tUUVfffUgS", "https://t.co/w3YSovzS0D", "https://t.co/Uz8HvSyWYc", "https://t.co/7N1fvAwar6", "https://t.co/F97HBIUlgi", "https://t.co/jZE2KvtYhn", "https://t.co/FYYbogbpY2", "http://t.co/5Zc1jil59B", "https://t.co/kHSfAuuiUd", "https://t.co/MdbQgTtcQk", "https://t.co/TMfRagvbxS", "https://t.co/Dc7k0kJFAp", "https://t.co/yAUq0WgZOy", "http://t.co/edrV9uub", "https://t.co/SKqx9egJ1Z", "https://t.co/epYjIB4GD0", "https://t.co/u6tCwQJKXc", "https://t.co/cuZjY7RsPI", "http://t.co/GyreN5Yq", "https://t.co/q3mK2TDtVs", "https://t.co/7rlNXDstAe", "https://t.co/PSPclxnssW", "https://t.co/KGtDTKMPNJ", "https://t.co/xNWqA1w9ZL", "https://t.co/k2Wsqw56vh", "http://t.co/m8DB12d6Yi", "https://t.co/admWcGggMD", "http://t.co/mZd33Kffkx", "https://t.co/gNGONErHji", "http://t.co/q83C0Cm0Qs", "https://t.co/w6LmWytf70", "https://t.co/RhLPBc0nRD", "https://t.co/d0moQjjliN", "https://t.co/XstzNvgdJn", "https://t.co/BWpkihEEWd", "https://t.co/u5nvKqcYjC", "https://t.co/AkvUjgOTyf", "https://t.co/Zn9GvSuM4i", "https://t.co/R3OATNm66Y", "https://t.co/xbboRvUSze", "https://t.co/Dry6xhYVQL", "https://t.co/0zPXFcXJus", "https://t.co/9qVJGfKI3W", "https://t.co/nrWVo149SR", "http://t.co/jTQUX6lf", "https://t.co/ZGix6MkOhL", "https://t.co/C7sD5Nl7L1", "https://t.co/lzmYUaiqZU", "https://t.co/6Sl48pcpcN", "https://t.co/EkDgT11bCi", "https://t.co/CM8VBcixmN", "https://t.co/XMBN1lh2Af", "https://t.co/mZeJ4GzETT", "https://t.co/vg7tgx0BoO", "https://t.co/EKtbz484bL", "https://t.co/Q2QZLwema1", "http://t.co/6kvuVOIAjq", "https://t.co/ncxUTTooIj", "https://t.co/I56b3ns5UF", "https://t.co/yAJzgNOmNb", "http://t.co/BcAxu95lhu", "https://t.co/ewKdUlmiGT", "https://t.co/fFgo6VGxUN", "https://t.co/OPCKxDpQGP", "https://t.co/7smzQ1Yc6m", "https://t.co/B9aSRjHGsO", "https://t.co/iXtejOv80J", "https://t.co/PeL0mrvpLU", "https://t.co/gDUmdpm5T5", "https://t.co/elTEAm5xll", "https://t.co/2gAzPybIMK", "https://t.co/tpqPywjjdR", "https://t.co/did03PJws1", "https://t.co/xZxm5mqNQA", "https://t.co/ePGb5UBFM0", "http://t.co/jNOxE7TM5m", "https://t.co/JeuVjhvWP2", "https://t.co/3P0MG02mud", "https://t.co/lnVGCulAam", "https://t.co/qCvjQjAaVC", "https://t.co/7X5JuOtqqn", "https://t.co/tCcUYkS4Jq", "https://t.co/167RXjznHc", "http://t.co/NCotQgT6N6", "https://t.co/3TDaafQZRT", "https://t.co/C664BUvO1Z", "https://t.co/zMdo8omPMk", "https://t.co/VdfsgkExgy", "https://t.co/n0Z24ONQ25", "https://t.co/mz7uyqt2qw", "https://t.co/Dxpr5R29qV", "https://t.co/lTVhhOFFgq", "https://t.co/4zFX068NAa", "https://t.co/iKHKwRBdD3", "https://t.co/V8aSUFzbFf", "https://t.co/hIFUEWJhuE", "https://t.co/veWPJIgHNF", "https://t.co/f0J9cIEkMY", "http://t.co/ahf5Qj2kXY", "https://t.co/055tZdv6gR", "https://t.co/pprkoWQYxi", "https://t.co/ZCxwZcfM4O", "https://t.co/sPqJDHNpHF", "https://t.co/zljdOUm5F1", "https://t.co/WJEsQJ3zVG", "https://t.co/xruPZGkR7B", "https://t.co/0FcH23J7zz", "https://t.co/0ZO8rm80o4", "https://t.co/Yg8cpErPgD", "https://t.co/epSoMQZkwz", "https://t.co/ZItu3VwQYZ", "https://t.co/vRNUReaPeF", "https://t.co/TuWDipQKLZ", "https://t.co/omUXjQvPyA", "https://t.co/1W3Ffk1A8o", "https://t.co/tCcUYkS4Jq", "http://t.co/G48SACS", "https://t.co/Go5Mfrbdjk", "https://t.co/GOvtyZDWr5", "https://t.co/D0ktZQZiWr", "https://t.co/evl76ZFXC1", "http://t.co/E6Kz8H47", "https://t.co/cqQDAHzCbp", "http://t.co/AmRZhLpdqQ", "https://t.co/wgebfHBYZt", "https://t.co/RMTyBFTBFX", "https://t.co/JbOuOg1TAP", "https://t.co/Gl9gigWGyh", "https://t.co/7soqwMtB3P", "https://t.co/ZMVEJISevI", "https://t.co/CMO1fNLljt", "https://t.co/I7NV0egJsf", "http://t.co/uwtVkAiwDb", "https://t.co/DLjqpXAE7T", "https://t.co/zY881fif16", "http://t.co/5PaA5pJPVZ", "https://t.co/MYDiBm9ZGk", "https://t.co/HJUpu44r70", "https://t.co/ADU3HrYVZy", "https://t.co/JLqAYGxVff", "https://t.co/KSuTRXDVEn", "https://t.co/YTney0Bvdg", "https://t.co/DkNS9CnAHF", "https://t.co/emomt9oe88", "https://t.co/j2W17do2T3", "https://t.co/lQ4QN08mCg", "https://t.co/CxfB58KquA", "https://t.co/wUtlexsibh", "http://t.co/FdebK3mBUX", "https://t.co/fHoVzodgn2", "http://t.co/ng0bG69TeL", "https://t.co/sjUvldP52Q", "https://t.co/w72X4CS8uR", "https://t.co/FPCi0B9gka", "https://t.co/aHR7U9W0hc", "https://t.co/nLxPMrYIrB", "https://t.co/q6nRRm3jae", "https://t.co/v5AqljOkmn", "https://t.co/pouiFKPhhw", "https://t.co/qj4WxxfUkS", "https://t.co/atj3sW1fdq", "http://t.co/bllQUnOYk6", "https://t.co/pezLJYdVLt", "https://t.co/4yxPIobQV2", "https://t.co/3JnEuSJPWC", "http://t.co/RV3MDVn7zX", "https://t.co/Z03qct6DZK", "https://t.co/V45YnzQcO3", "https://t.co/syXakIKybm", "https://t.co/2rrzsbzgE2", "https://t.co/Qi3iTXtNN4", "https://t.co/4oU9PCXDBI", "https://t.co/xQX4LPd67h", "http://t.co/1iUC044g7j", "https://t.co/tAS5kaqRbs", "https://t.co/9I5dixhyof", "https://t.co/OgcZpwK2g1", "https://t.co/54aYVTU9XZ", "https://t.co/6TFBxAL1IZ", "http://t.co/8tbfmaBubr", "http://t.co/F67s1q86gs", "https://t.co/LWkJytzWfh", "http://t.co/0rADUQGB", "https://t.co/NaWZwYsVPj", "https://t.co/GmLHCHgyJZ", "https://t.co/Dv5Oeo5AD7", "https://t.co/jyEyfmPDd3", "https://t.co/P1QrXSXgUB", "http://t.co/OzK4ndWC", "https://t.co/WZg6ZEMxsF", "https://t.co/2DTg3fl244", "https://t.co/pN3fA8R3OD", "https://t.co/QJVc1tJHbg", "http://t.co/o6vVpIK7g2", "https://t.co/04fJXiVsNW", "https://t.co/fVnyRXUCtj", "https://t.co/WBTfTZgAwo", "https://t.co/d6pEGNQmha", "http://t.co/z8BHGWCBqN", "https://t.co/DupVyddOV8", "https://t.co/4BbViMbSMx", "https://t.co/7uOY2dunnT", "https://t.co/qZXEd7PIia", "https://t.co/wmJP79Dej9", "https://t.co/km7tQGdxGJ", "https://t.co/CRw5zJs09Y", "https://t.co/XUjCCAIlFi", "https://t.co/KZOzrzV2lG", "https://t.co/2yLvUmPuuu", "https://t.co/iFfy4GikOd", "https://t.co/k2emaHaYJm", "https://t.co/gJ8GQ1bwDK", "https://t.co/XxTlOBIZRE", "https://t.co/OjJHvetNMw", "https://t.co/yaMHizMVpp", "https://t.co/Y4k3G7w6TB", "https://t.co/FjNuAAGYWF", "https://t.co/3puFl9DJJ0", "https://t.co/vxUbC7hWKF", "http://t.co/MqkECZ1r", "https://t.co/6sMOeW6T99", "https://t.co/VgTIRmtAsD", "https://t.co/nenY6sIAFP", "https://t.co/sunZMEFdck", "https://t.co/WSMcxGO05y", "https://t.co/Q1lnIOWquD", "https://t.co/nweLOYH5z1", "https://t.co/9PMm3ceMy0", "http://t.co/7cMcMvcy", "https://t.co/KjKJ8NgItY", "https://t.co/JjWG970fiA", "https://t.co/5HcfyKx90C", "https://t.co/1UeTQ9Ac6w", "https://t.co/OnpEmZb43B", "https://t.co/nHGBi5sdbo", "https://t.co/5gzbgo7IQW", "https://t.co/w8f2SS4CJD", "https://t.co/U4CdoDIGGG", "https://t.co/6iCCXzU9tW", "https://t.co/gh0Rj1XxsC", "https://t.co/VzRi6z8mpv", "https://t.co/pGkR0QFH0P", "https://t.co/5rUuVP3CJX", "https://t.co/eLDRJ2Z7kR", "https://t.co/NVE83f4uFt", "https://t.co/EsimcK4Cgn", "https://t.co/6IBGK8KwKI", "https://t.co/ePt5TzD6sU", "https://t.co/WMLWhX9iJK", "https://t.co/juaCJmD1dz", "https://t.co/3ctA0f5owV", "https://t.co/VLhNzR8xJF", "http://t.co/cRNELr3RsP", "https://t.co/ibNgdBevKX", "https://t.co/XadG0EHloo", "https://t.co/eLfGf3wwCS", "https://t.co/rhbQhPrz8O", "https://t.co/Ted6WwfMXr", "https://t.co/oz4AzsAPXJ", "https://t.co/irJuLhSI0u", "https://t.co/1OdaVP2K9W", "https://t.co/ErnVm1Lq4z", "https://t.co/rjePLTJ7pO", "https://t.co/qYIdQ21WKW", "https://t.co/nqIQJlU1pY", "https://t.co/lAkft0wgOl", "https://t.co/EQyevLx7AN", "https://t.co/s9pyjymAoS", "https://t.co/WitBujHhxA", "https://t.co/xoOA4HYzf5", "https://t.co/9XnU3938zc", "https://t.co/2knAlfp9Sj", "https://t.co/uLOoidhxNg", "http://t.co/FrC36AaCHD", "https://t.co/t2nFGUUVMP", "https://t.co/NROLvLeD8m", "https://t.co/Vqupi0hFwZ", "https://t.co/NXaBcxwRg6", "https://t.co/fFEI5UNMdp", "https://t.co/AO5VPF6DJ1", "https://t.co/EgfOkXqRQc", "https://t.co/0PbXuFDasj", "https://t.co/OQIaXQpXOA", "https://t.co/sUKxMCmeWA", "https://t.co/GGJlUHTZ3S", "https://t.co/JR2uo7N5ec", "https://t.co/jT6rphT0rg", "http://t.co/CoFG8rKe", "http://t.co/GLnqwSHugl", "https://t.co/e0uan5rVTf", "https://support.twitter.com/articles/15795", "https://t.co/QLdon3iIJP", "https://t.co/ldOCe1hUdi", "https://t.co/IwpQIijT3t", "https://t.co/09OLYrDnaV", "https://t.co/TslFrG4XTJ", "https://t.co/4jp5dOWUcc", "https://t.co/9ExZQMVB0q", "https://t.co/GcCEUzyw13", "https://t.co/EaUIZy7hea", "https://t.co/yKGvxyclrU", "https://t.co/AGLuM7rHdf", "https://t.co/PY3gLJ9x4J", "https://t.co/bpnggaWkFm", "https://t.co/f6wuPOMt7r", "http://t.co/irqxC3yWMl", "https://t.co/jF5QNalFkn", "https://t.co/Um51CEKSgI", "https://t.co/RJ9R1tKMyO", "https://t.co/XAqeaZDZtm", "https://t.co/bjMA8lLDeW", "https://t.co/raGZZsKXSR", "https://t.co/ThLzVXwRWq", "https://t.co/kOdYGxp8aM", "https://t.co/8Cye2l2rOq", "https://t.co/Wi3IopvvCS", "http://t.co/VZ9wvOGb", "https://t.co/De3074iNuv", "https://t.co/4xrBwXlgHQ", "https://t.co/ws8D6dyBrG", "http://t.co/edBzxetor6", "https://t.co/LN6C2FtBre", "https://t.co/zVmjYwI4me", "https://t.co/ceBVfSffdP", "https://t.co/4qOpwUCLoN", "https://t.co/aOtO9ot4VI", "https://t.co/BaLmIoH91C", "https://t.co/ugENLt1XtY", "https://t.co/HShhVr9di5", "https://t.co/xKtbRYaRvB", "https://t.co/Zt6YKRlfsa", "https://t.co/EeLROzLodI", "https://t.co/PO9s3niJY4", "https://t.co/6fyEQWnvBF", "https://t.co/kk8vurTi0f", "https://t.co/GCKo4qZ4HD", "https://t.co/CF5uERq8qd", "http://t.co/jwn1i2Mi", "https://t.co/Cd6b58gkTv", "https://t.co/FVmCLI1Zgw", "https://t.co/4n5wFuvd7S", "https://t.co/FK6KdNKOLc", "https://t.co/F9ISEcs3Pr", "https://t.co/qGf3ltAeM3", "https://t.co/EaUIZy7hea", "https://t.co/G7f1did2q2", "https://t.co/ljZS0jz7LI", "https://t.co/NHk58pORit", "https://t.co/hFKtr5kLsu", "https://t.co/7pdwREB0rv", "http://t.co/2ZPGH3Vy8H", "https://t.co/k0WRUSj7Zp", "https://t.co/XD2m8Hc6vd", "https://t.co/tdvi9yjXNF", "https://t.co/UpQdcqMIs4", "https://t.co/IP7zKpKUJT", "https://t.co/0Vu91bL5QE", "https://t.co/AryBt41j2i", "https://t.co/lkqp0mbTVq", "https://t.co/16Q5Wah2iQ", "https://t.co/idHlPdnjQb", "https://t.co/9fizlR8geK", "https://t.co/8uvTukpsIa", "https://t.co/amgOG9fO4c", "https://t.co/RqJE3HEXYQ", "https://t.co/Qa2FQotmBd", "https://t.co/gzkYO5S562", "https://t.co/lZZZhBDw7P", "http://t.co/CBlmu8PkpB", "https://t.co/KwqyWsN9ay", "http://t.co/Mqvp5Gap3H", "https://t.co/JxF2tSKVYQ", "https://t.co/atkMKGmWQp", "https://t.co/UXz51tyhSB", "https://t.co/oOlkBNq4sS", "https://t.co/y9A6LMUwLf", "http://t.co/i73rP7DMfL", "https://t.co/fd372grhYr", "http://t.co/WE7jqF9", "https://t.co/CR5wVMgvxK", "https://t.co/W6fSfnkW3y", "https://t.co/fcWdAucON2", "https://t.co/kfMHjPfkxp", "https://t.co/juRE3g1qYL", "https://t.co/WYADMnDsns", "http://t.co/mmpZM3EGnU"] \ No newline at end of file diff --git a/tests/test_twitter_scheduler.py b/tests/test_twitter_scheduler.py index 858a9e4..3d16de0 100644 --- a/tests/test_twitter_scheduler.py +++ b/tests/test_twitter_scheduler.py @@ -1,19 +1,7 @@ -from time import sleep - -import pytest -import twitter - -import app.connections.twitter_connect -# import app.controller -import app.controllers.twitter_controller import os -import simplejson as json -from sqlalchemy import create_engine -from sqlalchemy.orm import sessionmaker + import glob, datetime from mock import Mock, patch -from app.models import * -from utils.common import * import app.cs_logger import subprocess @@ -21,34 +9,15 @@ BASE_DIR = os.path.join(TEST_DIR, "../") ENV = os.environ['CS_ENV'] = "test" -db_session = DbEngine(os.path.join(TEST_DIR, "../", "config") + "/{env}.json".format(env=ENV)).new_session() -db_session_conn = DbEngine(os.path.join(TEST_DIR, "../", "config") + "/{env}.json".format(env=ENV)).new_session() +# db_session = DbEngine(os.path.join(TEST_DIR, "../", "config") + "/{env}.json".format(env=ENV)).new_session() +# db_session_conn = DbEngine(os.path.join(TEST_DIR, "../", "config") + "/{env}.json".format(env=ENV)).new_session() log = app.cs_logger.get_logger(ENV, BASE_DIR) - - - -def clear_twitter_tables(): - for table in (TwitterRateState, TwitterToken, - LumenNotice, LumenNoticeExpandedURL, LumenNoticeToTwitterUser, - TwitterUser, TwitterUserSnapshot, TwitterStatus,): - db_session.query(table).delete() - db_session.commit() - - -def setup_function(function): - clear_twitter_tables() - - -def teardown_function(function): - clear_twitter_tables() - -@patch('twitter.Api', autospec=True) -def scheduler_calcs(configfile, expected_str, mock_twitter): - t = mock_twitter.return_value - t.VerifyCredentials.return_value = True - t.InitializeRateLimit.return_value = True +def scheduler_calcs(configfile, expected_str): + # t = mock_twitter.return_value + # t.VerifyCredentials.return_value = True + # t.InitializeRateLimit.return_value = True # 1 day and 1 day case p = ['python', '{BASE_DIR}./schedule_twitter_jobs.py'.format(BASE_DIR=BASE_DIR), @@ -61,11 +30,25 @@ def scheduler_calcs(configfile, expected_str, mock_twitter): assert output.decode("utf-8").split('\n')[-1] == expected_str +@patch('datetime.datetime') +def test_restart(mock_dt): + #put in a json with no length details, get beck no repeats + mock_dt.today.return_value = datetime.date(2019,1,7) + scheduler_calcs('test_restart', "('onboarding_repeats', 35, 'total_experiment_repeats', 23)") + -def test_scheduler_calcs_oneday(): - # put in a json for 1 day, with an interval of 1 day and get back 1 onboarding repeat and 2 total experiment repeats +@patch('datetime.datetime') +def test_scheduler_calcs_oneday(mock_dt): + # put in a json for 1 day, with an interval of 1 day and get back 1 onboarding repeat and 2 total experiment repeats + mock_dt.today.return_value = datetime.date(2019,1,1) + # log.info('today would be', datetime.datetime.today()) scheduler_calcs('test_oneday', "('onboarding_repeats', 1, 'total_experiment_repeats', 2)") -def test_scheduler_calcs_no_experi(): - #put in a json with no length details, get beck no repeats +@patch('datetime.datetime') +def test_scheduler_calcs_no_experi(mock_dt): + #put in a json with no length details, get beck no repeats + mock_dt.today.return_value = datetime.date(2019,1,1) scheduler_calcs('test_no_experi', "('onboarding_repeats', None, 'total_experiment_repeats', None)") + + + diff --git a/utils/data_completeness_verification.ipynb b/utils/data_completeness_verification.ipynb new file mode 100644 index 0000000..b5f02b9 --- /dev/null +++ b/utils/data_completeness_verification.ipynb @@ -0,0 +1,2161 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Goals\n", + "+ summaries\n", + "+ number of and backfills per user\n", + "+ number of wont_process\n", + "+ how many language changers\n", + "\n", + "`ssh -N dmca@cox.media.mit.edu -L 3308:cox.media.mit.edu:3306`\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "import sys\n", + "sys.path.append('/home/paprika/workspace/CivilServant-twitter/')\n", + "from utils.common import DbEngine\n", + "import os\n", + "import inspect\n", + "from app.models import TwitterStatus, TwitterFill, TwitterUser\n", + "import json\n", + "from sqlalchemy.sql.expression import func as sqlfunc\n", + "import datetime\n", + "\n", + "BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), \"..\")\n", + "ENV = 'production'\n", + "db_session = DbEngine(os.path.join(BASE_DIR, \"config\") + \"/{env}.json\".format(env=ENV)).new_session()\n", + "\n", + "import pandas as pd\n", + "from sqlalchemy import create_engine\n", + "constr= 'mysql://civilservant@0.0.0.0:3308/civilservant_production'\n", + "con = create_engine(constr)\n", + "# con.execute('show tables;').fetchall()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "should_be_filled = pd.read_sql(\"select * from twitter_users where user_rand <=0.5 and lang in ('en', 'en-gb', 'en-GB')\", con)" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [], + "source": [ + "should_be_filled['id'] = should_be_filled['id'].apply(int)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "fill_records = pd.read_sql(\"select * from twitter_fills\", con)" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/ipykernel_launcher.py:1: FutureWarning: Using 'rename_axis' to alter labels is deprecated. Use '.rename' instead\n", + " \"\"\"Entry point for launching an IPython kernel.\n" + ] + } + ], + "source": [ + "fill_records_users = pd.DataFrame(fill_records.groupby('user_id').size()).reset_index().rename_axis({0:\"num_fills\"},axis=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": {}, + "outputs": [], + "source": [ + "user_fills = pd.merge(should_be_filled, fill_records_users, how='outer', left_on='id', right_on='user_id')" + ] + }, + { + "cell_type": "code", + "execution_count": 101, + "metadata": {}, + "outputs": [], + "source": [ + "complete_user_cands = user_fills[(pd.notnull(user_fills['id'])) & (pd.notnull(user_fills['user_id']))]" + ] + }, + { + "cell_type": "code", + "execution_count": 103, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(16370, 12)" + ] + }, + "execution_count": 103, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "complete_user_cands.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 108, + "metadata": {}, + "outputs": [], + "source": [ + "complete_user_cands_enough_fills = complete_user_cands[complete_user_cands['num_fills'] >= 22]" + ] + }, + { + "cell_type": "code", + "execution_count": 110, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(16341, 12)" + ] + }, + "execution_count": 110, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "complete_user_cands_enough_fills.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 111, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(29, 12)" + ] + }, + "execution_count": 111, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "complete_user_cands[complete_user_cands['num_fills'] <22].shape" + ] + }, + { + "cell_type": "code", + "execution_count": 105, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(16146, 12)" + ] + }, + "execution_count": 105, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "complete_user_cands_enough_fills.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 113, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "23.0 8538\n", + "24.0 7608\n", + "22.0 195\n", + "Name: num_fills, dtype: int64" + ] + }, + "execution_count": 113, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "complete_user_cands_enough_fills['num_fills'].value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "metadata": {}, + "outputs": [], + "source": [ + "#who had fills which aren't in should fill\n", + "sample_mystery_filled = list(user_fills[pd.isnull(user_fills['id'])]['user_id'].apply(int).values)\n", + "sample_mystery_filled_str = [str(x) for x in sample_mystery_filled]" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_00900ll_1549959062589'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_00moonmm_1550002438319'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_01010109?protected_redirect=tr..._1549418634754'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_01dtlz_1549115991045'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_0205_dance_1549397006851'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_0226arashic_1549353742920'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_031nuttynice_1547818936617'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_0721natsumi1021_1548132346322'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_07mj11_1549742930111'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_07uzuki20?protected_redirect=t..._1550099737549'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_08060516_aiiii_1548770096427'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_0829yudai_1549991673717'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_0gaga_kris6_1548153978473'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_0g_mas_1549991628921'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_0jitter_bug0_1550121314047'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_0stanislav__1548208036684'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_0utofthewoodss_1550002451868'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_0_1itanimulli_1550013210344'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1013_bts__jimin_1547233088130'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_10john05_1548478238966'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1244mami_1548856600463'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_130zzxxcc_1547829731647'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_13_artists_why_1549829347052'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_15sosdsae__1549407961194'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_170kg_pigwoman_1550077990341'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_17sbabe_1549483498993'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1991_esposito_1547667635823'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1998raph_1547732453900'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1999annv_1548326947129'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1999exo0417_1550077989170'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1999jolie_1547233113704'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1999redcorvette_1549029541481'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1baker9_1547494685682'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1bubbs3_1547548691003'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1cj0gjh8pty5fr3_1549537546580'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1d8s3?protected_redirect=true_1549526747396'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1dgpsofficial_1549342962267'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1d__mysweet_1550121292009'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1goma2goma3goma_1549959071741'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1kanebrownfan_1547624361725'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1o17jayy_1548153980391'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1p_cc_1549559103923'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1qwelh_1548208039103'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1scorpinov_1549991660094'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_22xmonster_1550132007639'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_23nova_?protected_redirect=tru..._1550121312536'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_24335kao_1548348531825'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_25greeeen2_1548856594832'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_28moh82?protected_redirect=tru..._1548835006273'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_2bu5aled_1549407972144'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_2l7dxjpplrsfx4g_1547559528084'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_2nite_xo_1549407970346'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_2_7_k_1550013204489'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_2_tailz_1550121277907'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_30secondeuropop_1549688890095'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_327fq_1550132006493'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_3333dii_1548932224458'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_365days_hello_1548824111084'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_36708b5412ec424_1547581158951'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_383_yo__1547645979957'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_38ryannt_1549623996721'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_3almalkoora8_1549483502280'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_3boosh123_1549840168707'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_3cbeats_1549429402277'\")\n", + " cursor.execute(statement, parameters)\n" + ] + } + ], + "source": [ + "mystery_filled = pd.read_sql(f\"select * from twitter_users where id in ({','.join(sample_mystery_filled_str)}) \", con)" + ] + }, + { + "cell_type": "code", + "execution_count": 112, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(81, 10)" + ] + }, + "execution_count": 112, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mystery_filled.shape #these users all have different languages now" + ] + }, + { + "cell_type": "code", + "execution_count": 81, + "metadata": {}, + "outputs": [], + "source": [ + "mystery_unfilled = user_fills[pd.isnull(user_fills['user_id'])]" + ] + }, + { + "cell_type": "code", + "execution_count": 83, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(278, 12)" + ] + }, + "execution_count": 83, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mystery_unfilled.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 87, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idnot_found_idscreen_namecreated_atrecord_created_atlanguser_stateCS_oldest_tweets_archivedlast_attempted_processuser_randuser_idnum_fills
221.000721e+18Noneking3prince3522018-05-27 12:50:042019-02-14 14:14:13en1.01.02019-02-14 14:14:130.447045NaNNaN
1091.004758e+18Nonesaranvikaash22018-06-07 16:11:322019-01-11 18:56:04en1.02.02019-01-11 18:59:160.116588NaNNaN
1161.004938e+18Nonetfc_off2018-06-08 04:07:572019-01-11 18:55:49en1.02.02019-01-11 18:59:150.347281NaNNaN
2471.009778e+18<NOT_FOUND>_vmramkumar2_1551988407202vmramkumar22018-06-21 12:38:392019-02-14 17:14:47en2.01.02019-02-14 17:14:470.037664NaNNaN
2521.009929e+18Nonekp_six_2932018-06-21 22:41:592019-02-14 11:13:19en1.01.02019-02-14 11:13:190.484708NaNNaN
\n", + "
" + ], + "text/plain": [ + " id not_found_id screen_name \\\n", + "22 1.000721e+18 None king3prince352 \n", + "109 1.004758e+18 None saranvikaash2 \n", + "116 1.004938e+18 None tfc_off \n", + "247 1.009778e+18 _vmramkumar2_1551988407202 vmramkumar2 \n", + "252 1.009929e+18 None kp_six_293 \n", + "\n", + " created_at record_created_at lang user_state \\\n", + "22 2018-05-27 12:50:04 2019-02-14 14:14:13 en 1.0 \n", + "109 2018-06-07 16:11:32 2019-01-11 18:56:04 en 1.0 \n", + "116 2018-06-08 04:07:57 2019-01-11 18:55:49 en 1.0 \n", + "247 2018-06-21 12:38:39 2019-02-14 17:14:47 en 2.0 \n", + "252 2018-06-21 22:41:59 2019-02-14 11:13:19 en 1.0 \n", + "\n", + " CS_oldest_tweets_archived last_attempted_process user_rand user_id \\\n", + "22 1.0 2019-02-14 14:14:13 0.447045 NaN \n", + "109 2.0 2019-01-11 18:59:16 0.116588 NaN \n", + "116 2.0 2019-01-11 18:59:15 0.347281 NaN \n", + "247 1.0 2019-02-14 17:14:47 0.037664 NaN \n", + "252 1.0 2019-02-14 11:13:19 0.484708 NaN \n", + "\n", + " num_fills \n", + "22 NaN \n", + "109 NaN \n", + "116 NaN \n", + "247 NaN \n", + "252 NaN " + ] + }, + "execution_count": 87, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mystery_unfilled.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 92, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2019-02-14 224\n", + "2019-01-11 54\n", + "Name: record_created_at, dtype: int64" + ] + }, + "execution_count": 92, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mystery_unfilled['record_created_at'].apply(lambda ts: ts.date()).value_counts() #intersting that occured on two days" + ] + }, + { + "cell_type": "code", + "execution_count": 115, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idnot_found_idscreen_namecreated_atrecord_created_atlanguser_stateCS_oldest_tweets_archivedlast_attempted_processuser_randuser_idnum_fills
221.000721e+18Noneking3prince3522018-05-27 12:50:042019-02-14 14:14:13en1.01.02019-02-14 14:14:130.447045NaNNaN
1091.004758e+18Nonesaranvikaash22018-06-07 16:11:322019-01-11 18:56:04en1.02.02019-01-11 18:59:160.116588NaNNaN
1161.004938e+18Nonetfc_off2018-06-08 04:07:572019-01-11 18:55:49en1.02.02019-01-11 18:59:150.347281NaNNaN
2521.009929e+18Nonekp_six_2932018-06-21 22:41:592019-02-14 11:13:19en1.01.02019-02-14 11:13:190.484708NaNNaN
2721.010537e+09Noneitslarisf2012-12-14 06:34:392019-02-14 08:13:08en1.01.02019-02-14 08:13:080.096393NaNNaN
2761.010776e+18Nonesamthejamyo2018-06-24 06:46:512019-02-14 17:14:47en1.01.02019-02-14 17:14:470.486690NaNNaN
3181.012276e+18Nonemovingirwins2018-06-28 10:07:052019-02-14 08:13:06en1.01.02019-02-14 08:13:060.089458NaNNaN
3551.013793e+18Noneshoh__kp2018-07-02 14:34:422019-02-14 14:14:13en1.01.02019-02-14 14:14:130.379994NaNNaN
4391.016940e+18Noneyyalkz2018-07-11 06:57:342019-02-14 14:14:10en1.01.02019-02-14 14:14:100.117191NaNNaN
6881.026455e+18Nonemichieda_aya2018-08-06 13:10:212019-02-14 14:14:11en1.01.02019-02-14 14:14:110.364396NaNNaN
7161.027504e+18Nonesonusha525299982018-08-09 10:36:292019-02-14 17:14:47en1.01.02019-02-14 17:14:470.469065NaNNaN
7341.028311e+18Nonejason_leal162018-08-11 16:05:322019-02-14 08:13:06en1.01.02019-02-14 08:13:060.406665NaNNaN
8821.034379e+08Nonek1rk692010-01-10 01:08:092019-02-14 08:13:08en1.01.02019-02-14 08:13:080.480976NaNNaN
8891.034945e+09Nonebrittttlyon2012-12-25 14:50:312019-02-14 08:13:06en1.01.02019-02-14 08:13:060.330158NaNNaN
11231.044797e+18Noneyasmeen741801842018-09-26 03:52:372019-02-14 17:14:52en1.01.02019-02-14 17:14:520.156612NaNNaN
11331.045257e+18Nonerakulpreetfc_102018-09-27 10:21:022019-02-14 08:13:06en1.01.02019-02-14 08:13:060.076495NaNNaN
12131.048741e+09Nonehayleyychandler2012-12-30 20:23:242019-02-14 08:13:09en1.01.02019-02-14 08:13:090.312503NaNNaN
12231.049140e+18Nonentranteypichhi2018-10-08 03:30:352019-01-11 18:56:04en1.02.02019-01-11 18:59:160.232001NaNNaN
12621.050721e+18Noneanandnandu9992018-10-12 12:13:512019-02-14 14:14:12en1.01.02019-02-14 14:14:120.154438NaNNaN
14111.055296e+18Noneiharisakthi_2018-10-25 03:11:522019-01-11 18:56:04en1.02.02019-01-11 18:59:160.451444NaNNaN
14711.056942e+18Nonesasitha491690992018-10-29 16:14:492019-01-11 18:55:53en1.02.02019-01-11 18:59:150.351245NaNNaN
15881.060391e+18Noneeditslibin2018-11-08 04:38:582019-02-14 14:14:10en1.01.02019-02-14 14:14:100.460377NaNNaN
15901.060412e+18Nonenishavfc2018-11-08 06:03:052019-01-11 18:56:01en1.02.02019-01-11 18:59:150.404630NaNNaN
16031.060586e+18Nonesanthuoffl2018-11-08 17:31:082019-01-11 18:55:50en1.02.02019-01-11 18:59:150.137992NaNNaN
16071.060641e+18Noneyaivelle2018-11-08 21:13:332019-01-11 18:55:55en1.02.02019-01-11 18:59:150.131699NaNNaN
20071.072082e+18Nonenaniwa______ok2018-12-10 10:54:322019-02-14 14:14:12en1.01.02019-02-14 14:14:120.113851NaNNaN
20211.072787e+18Noneninja2020_2018-12-12 09:36:512019-02-14 14:14:11en1.01.02019-02-14 14:14:110.300609NaNNaN
20451.073321e+18Nonesowhatboya2018-12-13 20:55:322019-01-11 18:55:57en1.02.02019-01-11 18:59:150.064703NaNNaN
20991.074598e+18Nonenanthinioffical2018-12-17 09:29:522019-02-14 14:14:10en1.01.02019-02-14 14:14:100.023110NaNNaN
23011.079729e+18None1dott32018-12-31 13:18:392019-01-11 18:55:57en1.02.02019-01-11 18:59:150.062495NaNNaN
.......................................
143048.494336e+07Nonelucieeverity2009-10-24 21:33:102019-02-14 08:13:12en1.01.02019-02-14 08:13:120.043008NaNNaN
143708.562510e+17Nonewaanderlusst2017-04-23 20:58:462019-02-14 17:14:51en1.01.02019-02-14 17:14:510.097205NaNNaN
143838.578108e+17Noneshuaib649796082017-04-28 04:16:372019-01-11 18:56:01en1.02.02019-01-11 18:59:150.320781NaNNaN
146208.741099e+17Noneratxhetz2017-06-12 03:43:412019-02-14 17:14:55en1.01.02019-02-14 17:14:550.260612NaNNaN
146678.772602e+17Noneinimitablearts2017-06-20 20:21:532019-01-11 18:55:52en1.02.02019-01-11 18:59:150.316613NaNNaN
147728.849808e+17Nonebrittbearmua2017-07-12 03:40:342019-02-14 17:14:47en1.01.02019-02-14 17:14:470.368819NaNNaN
147848.855415e+17Nonekrishna480693932017-07-13 16:48:522019-01-11 18:56:00en1.02.02019-01-11 18:59:150.084215NaNNaN
149208.936912e+08Noneabrianaawhite2012-10-20 17:38:312019-02-14 08:13:07en1.01.02019-02-14 08:13:070.067116NaNNaN
149618.956578e+17Noneameeshahamed2017-08-10 14:47:122019-01-11 18:55:58en1.02.02019-01-11 18:59:150.296250NaNNaN
150619.007341e+17Noneilluminatewdw2017-08-24 14:58:352019-02-14 08:13:14en1.01.02019-02-14 08:13:140.205326NaNNaN
152099.107607e+08Nonemarie_alvarez292012-10-28 17:36:082019-02-14 17:14:50en1.01.02019-02-14 17:14:500.169447NaNNaN
152279.122273e+17Noneiibrachu2017-09-25 08:08:332019-02-14 08:13:07en1.01.02019-02-14 08:13:070.196728NaNNaN
154179.250636e+17Noneconniexspinosa2017-10-30 18:15:192019-01-11 18:55:58en1.02.02019-01-11 18:59:150.287486NaNNaN
154569.272566e+17Noneaestheticaly_me2017-11-05 19:29:432019-02-14 08:13:06en1.01.02019-02-14 08:13:060.384002NaNNaN
156439.399361e+17Nonescarredweeb2017-12-10 19:13:332019-02-14 17:14:48en1.01.02019-02-14 17:14:480.276382NaNNaN
157629.487091e+17Nonemo_ba62018-01-04 00:14:172019-02-14 17:14:46en1.01.02019-02-14 17:14:460.126411NaNNaN
157729.491636e+17Nonejhaymee82018-01-05 06:20:042019-02-14 08:13:14en1.01.02019-02-14 08:13:140.364309NaNNaN
157799.497305e+17Nonejust_vamshi2018-01-06 19:53:022019-01-11 18:55:50en1.02.02019-01-11 18:59:150.310727NaNNaN
158339.527134e+17Nonemovietime24x72018-01-15 01:25:552019-01-11 18:55:58en1.02.02019-01-11 18:59:150.403430NaNNaN
161019.693521e+17Noneid6lls2018-03-01 23:21:562019-02-14 17:14:48en1.01.02019-02-14 17:14:480.138714NaNNaN
161689.729692e+17Noneklcroline2018-03-11 22:55:142019-02-14 17:14:55en1.01.02019-02-14 17:14:550.398556NaNNaN
162009.756704e+08Nonesulianafonofehi2012-11-28 08:41:502019-02-14 08:13:06en1.01.02019-02-14 08:13:060.258526NaNNaN
162829.798986e+17Noneyouquerbaby2018-03-31 01:50:122019-02-14 17:14:47en1.01.02019-02-14 17:14:470.118254NaNNaN
162839.798989e+17Noneaaliyahjanell2018-03-31 01:51:262019-01-11 18:55:51en1.02.02019-01-11 18:59:150.117534NaNNaN
163129.822648e+17Nonesportvision_2018-04-06 14:32:382019-01-11 18:56:04en1.02.02019-01-11 18:59:160.438239NaNNaN
163139.822750e+17Nonemassmani33332018-04-06 15:13:092019-02-14 14:14:10en1.01.02019-02-14 14:14:100.331496NaNNaN
163619.852701e+17Noneislaphavx2018-04-14 21:34:352019-01-11 18:55:51en1.02.02019-01-11 18:59:150.344640NaNNaN
163929.862534e+17Nonemarvin362006172018-04-17 14:41:502019-01-11 18:56:04en1.02.02019-01-11 18:59:160.155409NaNNaN
164579.908752e+06Nonerviddy2007-11-03 06:31:062019-02-14 08:13:08en1.01.02019-02-14 08:13:080.348572NaNNaN
164759.917771e+17Nonetaekookvocal2018-05-02 20:30:512019-02-14 17:14:48en1.01.02019-02-14 17:14:480.325590NaNNaN
\n", + "

263 rows × 12 columns

\n", + "
" + ], + "text/plain": [ + " id not_found_id screen_name created_at \\\n", + "22 1.000721e+18 None king3prince352 2018-05-27 12:50:04 \n", + "109 1.004758e+18 None saranvikaash2 2018-06-07 16:11:32 \n", + "116 1.004938e+18 None tfc_off 2018-06-08 04:07:57 \n", + "252 1.009929e+18 None kp_six_293 2018-06-21 22:41:59 \n", + "272 1.010537e+09 None itslarisf 2012-12-14 06:34:39 \n", + "276 1.010776e+18 None samthejamyo 2018-06-24 06:46:51 \n", + "318 1.012276e+18 None movingirwins 2018-06-28 10:07:05 \n", + "355 1.013793e+18 None shoh__kp 2018-07-02 14:34:42 \n", + "439 1.016940e+18 None yyalkz 2018-07-11 06:57:34 \n", + "688 1.026455e+18 None michieda_aya 2018-08-06 13:10:21 \n", + "716 1.027504e+18 None sonusha52529998 2018-08-09 10:36:29 \n", + "734 1.028311e+18 None jason_leal16 2018-08-11 16:05:32 \n", + "882 1.034379e+08 None k1rk69 2010-01-10 01:08:09 \n", + "889 1.034945e+09 None brittttlyon 2012-12-25 14:50:31 \n", + "1123 1.044797e+18 None yasmeen74180184 2018-09-26 03:52:37 \n", + "1133 1.045257e+18 None rakulpreetfc_10 2018-09-27 10:21:02 \n", + "1213 1.048741e+09 None hayleyychandler 2012-12-30 20:23:24 \n", + "1223 1.049140e+18 None ntranteypichhi 2018-10-08 03:30:35 \n", + "1262 1.050721e+18 None anandnandu999 2018-10-12 12:13:51 \n", + "1411 1.055296e+18 None iharisakthi_ 2018-10-25 03:11:52 \n", + "1471 1.056942e+18 None sasitha49169099 2018-10-29 16:14:49 \n", + "1588 1.060391e+18 None editslibin 2018-11-08 04:38:58 \n", + "1590 1.060412e+18 None nishavfc 2018-11-08 06:03:05 \n", + "1603 1.060586e+18 None santhuoffl 2018-11-08 17:31:08 \n", + "1607 1.060641e+18 None yaivelle 2018-11-08 21:13:33 \n", + "2007 1.072082e+18 None naniwa______ok 2018-12-10 10:54:32 \n", + "2021 1.072787e+18 None ninja2020_ 2018-12-12 09:36:51 \n", + "2045 1.073321e+18 None sowhatboya 2018-12-13 20:55:32 \n", + "2099 1.074598e+18 None nanthinioffical 2018-12-17 09:29:52 \n", + "2301 1.079729e+18 None 1dott3 2018-12-31 13:18:39 \n", + "... ... ... ... ... \n", + "14304 8.494336e+07 None lucieeverity 2009-10-24 21:33:10 \n", + "14370 8.562510e+17 None waanderlusst 2017-04-23 20:58:46 \n", + "14383 8.578108e+17 None shuaib64979608 2017-04-28 04:16:37 \n", + "14620 8.741099e+17 None ratxhetz 2017-06-12 03:43:41 \n", + "14667 8.772602e+17 None inimitablearts 2017-06-20 20:21:53 \n", + "14772 8.849808e+17 None brittbearmua 2017-07-12 03:40:34 \n", + "14784 8.855415e+17 None krishna48069393 2017-07-13 16:48:52 \n", + "14920 8.936912e+08 None abrianaawhite 2012-10-20 17:38:31 \n", + "14961 8.956578e+17 None ameeshahamed 2017-08-10 14:47:12 \n", + "15061 9.007341e+17 None illuminatewdw 2017-08-24 14:58:35 \n", + "15209 9.107607e+08 None marie_alvarez29 2012-10-28 17:36:08 \n", + "15227 9.122273e+17 None iibrachu 2017-09-25 08:08:33 \n", + "15417 9.250636e+17 None conniexspinosa 2017-10-30 18:15:19 \n", + "15456 9.272566e+17 None aestheticaly_me 2017-11-05 19:29:43 \n", + "15643 9.399361e+17 None scarredweeb 2017-12-10 19:13:33 \n", + "15762 9.487091e+17 None mo_ba6 2018-01-04 00:14:17 \n", + "15772 9.491636e+17 None jhaymee8 2018-01-05 06:20:04 \n", + "15779 9.497305e+17 None just_vamshi 2018-01-06 19:53:02 \n", + "15833 9.527134e+17 None movietime24x7 2018-01-15 01:25:55 \n", + "16101 9.693521e+17 None id6lls 2018-03-01 23:21:56 \n", + "16168 9.729692e+17 None klcroline 2018-03-11 22:55:14 \n", + "16200 9.756704e+08 None sulianafonofehi 2012-11-28 08:41:50 \n", + "16282 9.798986e+17 None youquerbaby 2018-03-31 01:50:12 \n", + "16283 9.798989e+17 None aaliyahjanell 2018-03-31 01:51:26 \n", + "16312 9.822648e+17 None sportvision_ 2018-04-06 14:32:38 \n", + "16313 9.822750e+17 None massmani3333 2018-04-06 15:13:09 \n", + "16361 9.852701e+17 None islaphavx 2018-04-14 21:34:35 \n", + "16392 9.862534e+17 None marvin36200617 2018-04-17 14:41:50 \n", + "16457 9.908752e+06 None rviddy 2007-11-03 06:31:06 \n", + "16475 9.917771e+17 None taekookvocal 2018-05-02 20:30:51 \n", + "\n", + " record_created_at lang user_state CS_oldest_tweets_archived \\\n", + "22 2019-02-14 14:14:13 en 1.0 1.0 \n", + "109 2019-01-11 18:56:04 en 1.0 2.0 \n", + "116 2019-01-11 18:55:49 en 1.0 2.0 \n", + "252 2019-02-14 11:13:19 en 1.0 1.0 \n", + "272 2019-02-14 08:13:08 en 1.0 1.0 \n", + "276 2019-02-14 17:14:47 en 1.0 1.0 \n", + "318 2019-02-14 08:13:06 en 1.0 1.0 \n", + "355 2019-02-14 14:14:13 en 1.0 1.0 \n", + "439 2019-02-14 14:14:10 en 1.0 1.0 \n", + "688 2019-02-14 14:14:11 en 1.0 1.0 \n", + "716 2019-02-14 17:14:47 en 1.0 1.0 \n", + "734 2019-02-14 08:13:06 en 1.0 1.0 \n", + "882 2019-02-14 08:13:08 en 1.0 1.0 \n", + "889 2019-02-14 08:13:06 en 1.0 1.0 \n", + "1123 2019-02-14 17:14:52 en 1.0 1.0 \n", + "1133 2019-02-14 08:13:06 en 1.0 1.0 \n", + "1213 2019-02-14 08:13:09 en 1.0 1.0 \n", + "1223 2019-01-11 18:56:04 en 1.0 2.0 \n", + "1262 2019-02-14 14:14:12 en 1.0 1.0 \n", + "1411 2019-01-11 18:56:04 en 1.0 2.0 \n", + "1471 2019-01-11 18:55:53 en 1.0 2.0 \n", + "1588 2019-02-14 14:14:10 en 1.0 1.0 \n", + "1590 2019-01-11 18:56:01 en 1.0 2.0 \n", + "1603 2019-01-11 18:55:50 en 1.0 2.0 \n", + "1607 2019-01-11 18:55:55 en 1.0 2.0 \n", + "2007 2019-02-14 14:14:12 en 1.0 1.0 \n", + "2021 2019-02-14 14:14:11 en 1.0 1.0 \n", + "2045 2019-01-11 18:55:57 en 1.0 2.0 \n", + "2099 2019-02-14 14:14:10 en 1.0 1.0 \n", + "2301 2019-01-11 18:55:57 en 1.0 2.0 \n", + "... ... ... ... ... \n", + "14304 2019-02-14 08:13:12 en 1.0 1.0 \n", + "14370 2019-02-14 17:14:51 en 1.0 1.0 \n", + "14383 2019-01-11 18:56:01 en 1.0 2.0 \n", + "14620 2019-02-14 17:14:55 en 1.0 1.0 \n", + "14667 2019-01-11 18:55:52 en 1.0 2.0 \n", + "14772 2019-02-14 17:14:47 en 1.0 1.0 \n", + "14784 2019-01-11 18:56:00 en 1.0 2.0 \n", + "14920 2019-02-14 08:13:07 en 1.0 1.0 \n", + "14961 2019-01-11 18:55:58 en 1.0 2.0 \n", + "15061 2019-02-14 08:13:14 en 1.0 1.0 \n", + "15209 2019-02-14 17:14:50 en 1.0 1.0 \n", + "15227 2019-02-14 08:13:07 en 1.0 1.0 \n", + "15417 2019-01-11 18:55:58 en 1.0 2.0 \n", + "15456 2019-02-14 08:13:06 en 1.0 1.0 \n", + "15643 2019-02-14 17:14:48 en 1.0 1.0 \n", + "15762 2019-02-14 17:14:46 en 1.0 1.0 \n", + "15772 2019-02-14 08:13:14 en 1.0 1.0 \n", + "15779 2019-01-11 18:55:50 en 1.0 2.0 \n", + "15833 2019-01-11 18:55:58 en 1.0 2.0 \n", + "16101 2019-02-14 17:14:48 en 1.0 1.0 \n", + "16168 2019-02-14 17:14:55 en 1.0 1.0 \n", + "16200 2019-02-14 08:13:06 en 1.0 1.0 \n", + "16282 2019-02-14 17:14:47 en 1.0 1.0 \n", + "16283 2019-01-11 18:55:51 en 1.0 2.0 \n", + "16312 2019-01-11 18:56:04 en 1.0 2.0 \n", + "16313 2019-02-14 14:14:10 en 1.0 1.0 \n", + "16361 2019-01-11 18:55:51 en 1.0 2.0 \n", + "16392 2019-01-11 18:56:04 en 1.0 2.0 \n", + "16457 2019-02-14 08:13:08 en 1.0 1.0 \n", + "16475 2019-02-14 17:14:48 en 1.0 1.0 \n", + "\n", + " last_attempted_process user_rand user_id num_fills \n", + "22 2019-02-14 14:14:13 0.447045 NaN NaN \n", + "109 2019-01-11 18:59:16 0.116588 NaN NaN \n", + "116 2019-01-11 18:59:15 0.347281 NaN NaN \n", + "252 2019-02-14 11:13:19 0.484708 NaN NaN \n", + "272 2019-02-14 08:13:08 0.096393 NaN NaN \n", + "276 2019-02-14 17:14:47 0.486690 NaN NaN \n", + "318 2019-02-14 08:13:06 0.089458 NaN NaN \n", + "355 2019-02-14 14:14:13 0.379994 NaN NaN \n", + "439 2019-02-14 14:14:10 0.117191 NaN NaN \n", + "688 2019-02-14 14:14:11 0.364396 NaN NaN \n", + "716 2019-02-14 17:14:47 0.469065 NaN NaN \n", + "734 2019-02-14 08:13:06 0.406665 NaN NaN \n", + "882 2019-02-14 08:13:08 0.480976 NaN NaN \n", + "889 2019-02-14 08:13:06 0.330158 NaN NaN \n", + "1123 2019-02-14 17:14:52 0.156612 NaN NaN \n", + "1133 2019-02-14 08:13:06 0.076495 NaN NaN \n", + "1213 2019-02-14 08:13:09 0.312503 NaN NaN \n", + "1223 2019-01-11 18:59:16 0.232001 NaN NaN \n", + "1262 2019-02-14 14:14:12 0.154438 NaN NaN \n", + "1411 2019-01-11 18:59:16 0.451444 NaN NaN \n", + "1471 2019-01-11 18:59:15 0.351245 NaN NaN \n", + "1588 2019-02-14 14:14:10 0.460377 NaN NaN \n", + "1590 2019-01-11 18:59:15 0.404630 NaN NaN \n", + "1603 2019-01-11 18:59:15 0.137992 NaN NaN \n", + "1607 2019-01-11 18:59:15 0.131699 NaN NaN \n", + "2007 2019-02-14 14:14:12 0.113851 NaN NaN \n", + "2021 2019-02-14 14:14:11 0.300609 NaN NaN \n", + "2045 2019-01-11 18:59:15 0.064703 NaN NaN \n", + "2099 2019-02-14 14:14:10 0.023110 NaN NaN \n", + "2301 2019-01-11 18:59:15 0.062495 NaN NaN \n", + "... ... ... ... ... \n", + "14304 2019-02-14 08:13:12 0.043008 NaN NaN \n", + "14370 2019-02-14 17:14:51 0.097205 NaN NaN \n", + "14383 2019-01-11 18:59:15 0.320781 NaN NaN \n", + "14620 2019-02-14 17:14:55 0.260612 NaN NaN \n", + "14667 2019-01-11 18:59:15 0.316613 NaN NaN \n", + "14772 2019-02-14 17:14:47 0.368819 NaN NaN \n", + "14784 2019-01-11 18:59:15 0.084215 NaN NaN \n", + "14920 2019-02-14 08:13:07 0.067116 NaN NaN \n", + "14961 2019-01-11 18:59:15 0.296250 NaN NaN \n", + "15061 2019-02-14 08:13:14 0.205326 NaN NaN \n", + "15209 2019-02-14 17:14:50 0.169447 NaN NaN \n", + "15227 2019-02-14 08:13:07 0.196728 NaN NaN \n", + "15417 2019-01-11 18:59:15 0.287486 NaN NaN \n", + "15456 2019-02-14 08:13:06 0.384002 NaN NaN \n", + "15643 2019-02-14 17:14:48 0.276382 NaN NaN \n", + "15762 2019-02-14 17:14:46 0.126411 NaN NaN \n", + "15772 2019-02-14 08:13:14 0.364309 NaN NaN \n", + "15779 2019-01-11 18:59:15 0.310727 NaN NaN \n", + "15833 2019-01-11 18:59:15 0.403430 NaN NaN \n", + "16101 2019-02-14 17:14:48 0.138714 NaN NaN \n", + "16168 2019-02-14 17:14:55 0.398556 NaN NaN \n", + "16200 2019-02-14 08:13:06 0.258526 NaN NaN \n", + "16282 2019-02-14 17:14:47 0.118254 NaN NaN \n", + "16283 2019-01-11 18:59:15 0.117534 NaN NaN \n", + "16312 2019-01-11 18:59:16 0.438239 NaN NaN \n", + "16313 2019-02-14 14:14:10 0.331496 NaN NaN \n", + "16361 2019-01-11 18:59:15 0.344640 NaN NaN \n", + "16392 2019-01-11 18:59:16 0.155409 NaN NaN \n", + "16457 2019-02-14 08:13:08 0.348572 NaN NaN \n", + "16475 2019-02-14 17:14:48 0.325590 NaN NaN \n", + "\n", + "[263 rows x 12 columns]" + ] + }, + "execution_count": 115, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mystery_unfilled[mystery_unfilled['user_state']==1]" + ] + }, + { + "cell_type": "code", + "execution_count": 95, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1.0 263\n", + "3.0 7\n", + "4.0 5\n", + "2.0 3\n", + "Name: user_state, dtype: int64" + ] + }, + "execution_count": 95, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mystery_unfilled['user_state'].value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 98, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idnot_found_idscreen_namecreated_atrecord_created_atlanguser_stateCS_oldest_tweets_archivedlast_attempted_processuser_randuser_idnum_fills
2471.009778e+18<NOT_FOUND>_vmramkumar2_1551988407202vmramkumar22018-06-21 12:38:392019-02-14 17:14:47en2.01.02019-02-14 17:14:470.037664NaNNaN
28521.093075e+18<NOT_FOUND>__cameo_rk_1550433114537_cameo_rk2019-02-06 09:14:382019-02-14 14:14:11en2.01.02019-02-14 14:14:110.213607NaNNaN
149588.955346e+17<NOT_FOUND>_muskaan15__1551124306881muskaan15_2017-08-10 06:37:332019-02-14 17:14:48en2.01.02019-02-14 17:14:480.090239NaNNaN
18471.067934e+18<NOT_FOUND>_tamilrockers_01_1547494461960tamilrockers_012018-11-29 00:11:452019-01-11 18:55:58en3.02.02019-01-11 18:59:150.041074NaNNaN
33511.307436e+09<NOT_FOUND>_traceylife_1551729254111traceylife2013-03-27 12:58:362019-02-14 08:13:07en3.01.02019-02-14 08:13:070.137036NaNNaN
37481.469993e+08<NOT_FOUND>_rickthesizz1er_1550519488314rickthesizz1er2010-05-22 23:21:432019-02-14 08:13:14en3.01.02019-02-14 08:13:140.048442NaNNaN
66162.657943e+07<NOT_FOUND>_djdonnied_1550519526685djdonnied2009-03-25 20:12:162019-02-14 08:13:08en3.01.02019-02-14 08:13:080.027175NaNNaN
85013.219255e+09<NOT_FOUND>_loveumovies_1548790812012loveumovies2015-05-18 10:50:462019-01-11 18:55:51en3.02.02019-01-11 18:59:150.496116NaNNaN
96323.760950e+08<NOT_FOUND>_prim_primmie_1551210895369prim_primmie2011-09-19 09:09:092019-02-14 14:14:11en3.01.02019-02-14 14:14:110.268401NaNNaN
121427.087539e+17<NOT_FOUND>_arabiciggy_1550260335380arabiciggy2016-03-12 20:37:582019-02-14 17:14:55en3.01.02019-02-14 17:14:550.221282NaNNaN
28931.094552e+18Nonerkvgajinfna0m5u2019-02-10 11:02:162019-02-14 14:14:13en4.01.02019-02-14 14:14:130.235414NaNNaN
36331.416038e+09Noneshadescools2013-05-09 17:16:292019-02-14 17:14:53en4.01.02019-02-14 17:14:530.320844NaNNaN
70592.791191e+09Nonegeckovo2014-09-29 10:47:212019-02-14 17:14:50en4.01.02019-02-14 17:14:500.473073NaNNaN
110034.853050e+09Nonebts_ggtt03162016-01-27 09:22:252019-02-14 14:14:11en4.01.02019-02-14 14:14:110.246455NaNNaN
162439.776882e+08Nonepiiyyaaaa2012-11-29 05:53:252019-01-11 18:55:59en4.02.02019-01-11 18:59:150.132669NaNNaN
\n", + "
" + ], + "text/plain": [ + " id not_found_id \\\n", + "247 1.009778e+18 _vmramkumar2_1551988407202 \n", + "2852 1.093075e+18 __cameo_rk_1550433114537 \n", + "14958 8.955346e+17 _muskaan15__1551124306881 \n", + "1847 1.067934e+18 _tamilrockers_01_1547494461960 \n", + "3351 1.307436e+09 _traceylife_1551729254111 \n", + "3748 1.469993e+08 _rickthesizz1er_1550519488314 \n", + "6616 2.657943e+07 _djdonnied_1550519526685 \n", + "8501 3.219255e+09 _loveumovies_1548790812012 \n", + "9632 3.760950e+08 _prim_primmie_1551210895369 \n", + "12142 7.087539e+17 _arabiciggy_1550260335380 \n", + "2893 1.094552e+18 None \n", + "3633 1.416038e+09 None \n", + "7059 2.791191e+09 None \n", + "11003 4.853050e+09 None \n", + "16243 9.776882e+08 None \n", + "\n", + " screen_name created_at record_created_at lang \\\n", + "247 vmramkumar2 2018-06-21 12:38:39 2019-02-14 17:14:47 en \n", + "2852 _cameo_rk 2019-02-06 09:14:38 2019-02-14 14:14:11 en \n", + "14958 muskaan15_ 2017-08-10 06:37:33 2019-02-14 17:14:48 en \n", + "1847 tamilrockers_01 2018-11-29 00:11:45 2019-01-11 18:55:58 en \n", + "3351 traceylife 2013-03-27 12:58:36 2019-02-14 08:13:07 en \n", + "3748 rickthesizz1er 2010-05-22 23:21:43 2019-02-14 08:13:14 en \n", + "6616 djdonnied 2009-03-25 20:12:16 2019-02-14 08:13:08 en \n", + "8501 loveumovies 2015-05-18 10:50:46 2019-01-11 18:55:51 en \n", + "9632 prim_primmie 2011-09-19 09:09:09 2019-02-14 14:14:11 en \n", + "12142 arabiciggy 2016-03-12 20:37:58 2019-02-14 17:14:55 en \n", + "2893 rkvgajinfna0m5u 2019-02-10 11:02:16 2019-02-14 14:14:13 en \n", + "3633 shadescools 2013-05-09 17:16:29 2019-02-14 17:14:53 en \n", + "7059 geckovo 2014-09-29 10:47:21 2019-02-14 17:14:50 en \n", + "11003 bts_ggtt0316 2016-01-27 09:22:25 2019-02-14 14:14:11 en \n", + "16243 piiyyaaaa 2012-11-29 05:53:25 2019-01-11 18:55:59 en \n", + "\n", + " user_state CS_oldest_tweets_archived last_attempted_process \\\n", + "247 2.0 1.0 2019-02-14 17:14:47 \n", + "2852 2.0 1.0 2019-02-14 14:14:11 \n", + "14958 2.0 1.0 2019-02-14 17:14:48 \n", + "1847 3.0 2.0 2019-01-11 18:59:15 \n", + "3351 3.0 1.0 2019-02-14 08:13:07 \n", + "3748 3.0 1.0 2019-02-14 08:13:14 \n", + "6616 3.0 1.0 2019-02-14 08:13:08 \n", + "8501 3.0 2.0 2019-01-11 18:59:15 \n", + "9632 3.0 1.0 2019-02-14 14:14:11 \n", + "12142 3.0 1.0 2019-02-14 17:14:55 \n", + "2893 4.0 1.0 2019-02-14 14:14:13 \n", + "3633 4.0 1.0 2019-02-14 17:14:53 \n", + "7059 4.0 1.0 2019-02-14 17:14:50 \n", + "11003 4.0 1.0 2019-02-14 14:14:11 \n", + "16243 4.0 2.0 2019-01-11 18:59:15 \n", + "\n", + " user_rand user_id num_fills \n", + "247 0.037664 NaN NaN \n", + "2852 0.213607 NaN NaN \n", + "14958 0.090239 NaN NaN \n", + "1847 0.041074 NaN NaN \n", + "3351 0.137036 NaN NaN \n", + "3748 0.048442 NaN NaN \n", + "6616 0.027175 NaN NaN \n", + "8501 0.496116 NaN NaN \n", + "9632 0.268401 NaN NaN \n", + "12142 0.221282 NaN NaN \n", + "2893 0.235414 NaN NaN \n", + "3633 0.320844 NaN NaN \n", + "7059 0.473073 NaN NaN \n", + "11003 0.246455 NaN NaN \n", + "16243 0.132669 NaN NaN " + ] + }, + "execution_count": 98, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mystery_unfilled[mystery_unfilled['user_state']!=1].sort_values('user_state') #4 is wont process, the other have not_found ids" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.5" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/utils/twitter_observational_analysis_controller2.ipynb b/utils/twitter_observational_analysis_controller2.ipynb index 16a249a..55542a2 100644 --- a/utils/twitter_observational_analysis_controller2.ipynb +++ b/utils/twitter_observational_analysis_controller2.ipynb @@ -28,7 +28,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 1, "metadata": {}, "outputs": [ { @@ -55,7 +55,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -84,7 +84,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -114,18 +114,45 @@ " \n", " \n", " 0\n", - " 23891\n", + " 58578\n", " \n", " \n", "\n", "" ], "text/plain": [ - " count(*)\n", - "0 23891" + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
count(*)
058578
\n", + "
" ] }, - "execution_count": 14, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -149,18 +176,18 @@ } ], "source": [ - "notice_twit_user_table_dropsql = '''drop table if exists notice_twit_user'''\n", - "notice_twit_user_table_sql = '''create TEMPORARY table notice_twit_user as\n", - "(\n", - "select n.date_received as notice_date, ltt.twitter_user_id as user_id from lumen_notices as n\n", - "join lumen_notice_to_twitter_user as ltt\n", - "on n.id = ltt.notice_id\n", - ");'''\n", - "with db_engine.connect() as con:\n", - " con.execute(notice_twit_user_table_dropsql)\n", - " con.execute(notice_twit_user_table_sql)\n", - "\n", - "notice_twit_user = pd.read_sql('select * from notice_twit_user', db_engine, parse_dates=['notice_date'])" + "# notice_twit_user_table_dropsql = '''drop table if exists notice_twit_user'''\n", + "# notice_twit_user_table_sql = '''create TEMPORARY table notice_twit_user as\n", + "# (\n", + "# select n.date_received as notice_date, ltt.twitter_user_id as user_id from lumen_notices as n\n", + "# join lumen_notice_to_twitter_user as ltt\n", + "# on n.id = ltt.notice_id\n", + "# );'''\n", + "# with db_engine.connect() as con:\n", + "# con.execute(notice_twit_user_table_dropsql)\n", + "# con.execute(notice_twit_user_table_sql)\n", + "# \n", + "# notice_twit_user = pd.read_sql('select * from notice_twit_user', db_engine, parse_dates=['notice_date'])" ] }, { diff --git a/utils/url_unshortener.py b/utils/url_unshortener.py index f1a6155..88c59f7 100644 --- a/utils/url_unshortener.py +++ b/utils/url_unshortener.py @@ -2,8 +2,8 @@ from requests_futures.sessions import FuturesSession from concurrent.futures import wait -def bulkUnshorten(urls,workers=20): +def bulkUnshorten(urls, workers=20): # This function will unshorten an array of shortened URLS # The second optional argument is the number of workers to run in parallel @@ -20,18 +20,19 @@ def bulkUnshorten(urls,workers=20): HOPS_LIMIT = 10 # Allow passing in of one url as a string object - if (isinstance(urls,str)): + if (isinstance(urls, str)): urls = [urls] # If method is being called initally, create a dictionary for the urls passed. When the method calls # itself, it will pass this object to itself as needed. - if (isinstance(urls,list)): + if (isinstance(urls, list)): url_objects = urls[:] urls = {} for url in url_objects: - req = requests.Request('HEAD',url) + req = requests.Request('HEAD', url) normalized_url = req.prepare().url - urls[normalized_url] = {"hops":0,"status_code":None,"success":None,"final_url":None,"error":None,"original_url":url} + urls[normalized_url] = {"hops": 0, "status_code": None, "success": None, "final_url": None, "error": None, + "original_url": url} while True: @@ -41,7 +42,7 @@ def bulkUnshorten(urls,workers=20): for key in urls: if urls[key]['success'] is not None: continue if urls[key]['hops'] >= HOPS_LIMIT: continue - futures.append(session.head(key,timeout=REQUEST_TIMEOUT)) + futures.append(session.head(key, timeout=REQUEST_TIMEOUT)) if futures: done, incomplete = wait(futures) @@ -58,32 +59,43 @@ def bulkUnshorten(urls,workers=20): urls[url]['error'] = "ReadTimeout" urls[url]['success'] = False continue + except requests.exceptions.ConnectionError as e: + url = e.request.url + urls[url]['error'] = "ReadTimeout" + urls[url]['success'] = False + continue + if result.status_code == 200: urls[result.url]['success'] = True urls[result.url]['final_url'] = result.url urls[result.url]['status_code'] = result.status_code elif result.status_code == 301 or result.status_code == 302: - redirect_url = result.headers['location'] - - # Handle a location header that returns a relative path instead of an absolute path. This is now allowed - # under RFC 7231. If the returned location does not begin with http, then it is a relative path and should - # be concatenated to the original url - - if not redirect_url.lower().startswith("http"): - redirect_url = result.url + redirect_url - - # Normalize the url using the requests module - req = requests.Request('HEAD',redirect_url) - redirect_url = req.prepare().url - - urls[result.url]['hops'] += 1 - urls[result.url]['final_url'] = redirect_url - urls[result.url]['status_code'] = result.status_code - urls[redirect_url] = urls.pop(result.url) + try: + redirect_url = result.headers['location'] + + # Handle a location header that returns a relative path instead of an absolute path. This is now allowed + # under RFC 7231. If the returned location does not begin with http, then it is a relative path and should + # be concatenated to the original url + + if not redirect_url.lower().startswith("http"): + redirect_url = result.url + redirect_url + + # Normalize the url using the requests module + req = requests.Request('HEAD', redirect_url) + redirect_url = req.prepare().url + + urls[result.url]['hops'] += 1 + urls[result.url]['final_url'] = redirect_url + urls[result.url]['status_code'] = result.status_code + urls[redirect_url] = urls.pop(result.url) + except KeyError: #no location to find + urls[result.url]['error'] = "BadRedirect" + urls[result.url]['success'] = False else: urls[result.url]['success'] = False urls[result.url]['status_code'] = result.status_code + print(urls) else: diff --git a/utils/url_unshortener_profile.ipynb b/utils/url_unshortener_profile.ipynb new file mode 100644 index 0000000..c472c64 --- /dev/null +++ b/utils/url_unshortener_profile.ipynb @@ -0,0 +1,234 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Getting 10,000 urls from DMCA-COX\n", + "- ssh -N dmca@cox.media.mit.edu -L 3310:cox.media.mit.edu:3306\n", + "```\n", + "# import pandas as pd\n", + "# from sqlalchemy import create_engine\n", + "# constr= 'mysql://civilservant@localhost:3310/civilservant_production'\n", + "# con = create_engine(constr)\n", + "# con.execute('show tables;').fetchall()\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(2761, 10000)" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from utils.common import DbEngine\n", + "import os\n", + "import inspect\n", + "from app.models import TwitterStatus\n", + "import json\n", + "from sqlalchemy.sql.expression import func as sqlfunc\n", + "from functools import reduce\n", + "from url_unshortener import bulkUnshorten\n", + "\n", + "BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), \"..\")\n", + "ENV = 'development'\n", + "db_session = DbEngine(os.path.join(BASE_DIR, \"config\") + \"/{env}.json\".format(env=ENV)).new_session()\n", + "\n", + "STATUSES_TO_GET = 10000\n", + "json_fname = f'../tests/fixture_data/twitter_statuses_{STATUSES_TO_GET}.json'\n", + "try:\n", + " status_urls_flat = json.load(open(json_fname,'r'))\n", + "except FileNotFoundError:\n", + " def get_url_part(status):\n", + " try:\n", + " status_data = json.loads(status.status_data)\n", + " return status_data['entities']['urls']\n", + " except TypeError:\n", + " # print(status.id)\n", + " return []\n", + " \n", + " statuses = db_session.query(TwitterStatus).order_by(sqlfunc.rand()).limit(STATUSES_TO_GET).all()\n", + " assert len(statuses) == STATUSES_TO_GET\n", + " \n", + " status_urls = [get_url_part(status) for status in statuses]\n", + " \n", + " status_urls_flat = []\n", + " for status_url in status_urls:\n", + " for url_dict in status_url:\n", + " # print(url_dict)\n", + " status_urls_flat.append(url_dict['url'])\n", + " json.dump(status_urls_flat, open(json_fname,'w'))\n", + "\n", + "status_urls_flat[:5]\n", + "## proportion of statuses having urls\n", + "len(status_urls_flat), STATUSES_TO_GET" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "4.28 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n" + ] + } + ], + "source": [ + "%timeit -r 1 -n 1 bulkUnshorten(status_urls_flat[:10])" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "8.96 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n" + ] + } + ], + "source": [ + "%timeit -r 1 -n 1 bulkUnshorten(status_urls_flat[:100])" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1min 33s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n" + ] + } + ], + "source": [ + "%timeit -r 1 -n 1 bulkUnshorten(status_urls_flat[:1000])" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2min 21s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n" + ] + } + ], + "source": [ + "%timeit -r 1 -n 1 bulkUnshorten(status_urls_flat[:10000])" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "473243" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "db_session.query(TwitterStatus).count()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "270.0" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "total_tweets = 38000000\n", + "tweet_url_prop = 0.27\n", + "urls_per_second = 10 \n", + "urls_per_minute = 650\n", + "urls_per_hour = 38000\n", + "\n", + "total_tweets * tweet_url_prop / urls_per_hour" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.5" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} From 7c00189a949737f1fa6c55ca237c12d2441e1b36 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Mon, 8 Apr 2019 12:09:42 -0700 Subject: [PATCH 137/221] catch invalid url --- utils/url_unshortener.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/utils/url_unshortener.py b/utils/url_unshortener.py index 88c59f7..1f28ba4 100644 --- a/utils/url_unshortener.py +++ b/utils/url_unshortener.py @@ -1,4 +1,5 @@ import requests +from requests.exceptions import InvalidURL from requests_futures.sessions import FuturesSession from concurrent.futures import wait @@ -29,10 +30,13 @@ def bulkUnshorten(urls, workers=20): url_objects = urls[:] urls = {} for url in url_objects: - req = requests.Request('HEAD', url) - normalized_url = req.prepare().url - urls[normalized_url] = {"hops": 0, "status_code": None, "success": None, "final_url": None, "error": None, - "original_url": url} + try: + req = requests.Request('HEAD', url) + normalized_url = req.prepare().url + urls[normalized_url] = {"hops": 0, "status_code": None, "success": None, "final_url": None, "error": None, + "original_url": url} + except InvalidURL: # there are no guarantees in thi world. + pass # this url won't be coming along for the ride. while True: @@ -92,11 +96,14 @@ def bulkUnshorten(urls, workers=20): except KeyError: #no location to find urls[result.url]['error'] = "BadRedirect" urls[result.url]['success'] = False + except InvalidURL: + urls[result.url]['error'] = "InvalidURL" + urls[result.url]['success'] = False + else: urls[result.url]['success'] = False urls[result.url]['status_code'] = result.status_code - print(urls) - + # log.info('bad redirect found in {}'.format(result)) else: url_dict = {} From 97e1cfe0e3afa3670d6253359e85677fbe1c4b33 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Tue, 9 Apr 2019 16:48:06 -0700 Subject: [PATCH 138/221] keep user state in redis --- app/controllers/twitter_controller.py | 63 +++++++++++++++------------ 1 file changed, 35 insertions(+), 28 deletions(-) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index b85431f..8b4c682 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -1,5 +1,6 @@ from operator import eq +import redis import twitter import simplejson as json import datetime @@ -868,35 +869,41 @@ def archive_user_tweets(self, user, backfill=False, is_test=False): return job_state def unshorten_urls(self): + r = redis.Redis() status_users_res = self.db_session.query(distinct(TwitterStatus.user_id)).all() - seen_urls_q = self.db_session.query(distinct(TwitterUnshortenedUrls.short_url)).all() + seen_urls_q = self.db_session.query(TwitterUnshortenedUrls.short_url).all() seen_urls = set([u[0] for u in seen_urls_q]) status_user_ids = [user_tup[0] for user_tup in status_users_res if user_tup[0]] for i, status_user_id in enumerate(status_user_ids): - self.log.info('Unshortening URLS for user id {0}. {1} of {2}'.format(status_user_id, i, len(status_user_ids))) - user_statuses = self.db_session.query(TwitterStatus).filter(TwitterStatus.user_id==status_user_id).all() - status_urls_flat = [] - for user_status in user_statuses: - status_data = json.loads(user_status.status_data) - status_url_dicts = status_data['entities']['urls'] - just_urls = [d['url'] for d in status_url_dicts] - status_urls_flat.extend(just_urls) - - urls_to_shorten = [url for url in status_urls_flat if url not in seen_urls] - self.log.debug('{} status urls found {} urls to update'.format(len(status_urls_flat), len(urls_to_shorten))) - if len(urls_to_shorten)>0: - with warnings.catch_warnings(): - warnings.simplefilter("ignore") - short_unshort_res = bulkUnshorten(urls_to_shorten) - - unshortend_rows = [] - for short_url, unshort_res in short_unshort_res.items(): - unshortend_row = TwitterUnshortenedUrls(short_url=short_url, - unshortened_url=unshort_res['final_url'], - error_unshortening=unshort_res['error']) - unshortend_rows.append(unshortend_row) - self.db_session.add_all(unshortend_rows) - self.db_session.commit() - # check which of these urls are already unshortened - seen_urls.update(set(status_urls_flat)) - self.log.info('Seen {} urls'.format(len(seen_urls))) + user_r_key = f'twitter_user:{status_user_id}' + if r.get(user_r_key) is None: + self.log.info('Unshortening URLS for user id {0}. {1} of {2}'.format(status_user_id, i, len(status_user_ids))) + user_statuses = self.db_session.query(TwitterStatus).filter(TwitterStatus.user_id==status_user_id).all() + status_urls_flat = [] + for user_status in user_statuses: + status_data = json.loads(user_status.status_data) + status_url_dicts = status_data['entities']['urls'] + just_urls = [d['url'] for d in status_url_dicts] + status_urls_flat.extend(just_urls) + + urls_to_shorten = [url for url in status_urls_flat if url not in seen_urls] + self.log.debug('{} status urls found {} urls to update'.format(len(status_urls_flat), len(urls_to_shorten))) + if len(urls_to_shorten)>0: + with warnings.catch_warnings(): + warnings.simplefilter("ignore") + short_unshort_res = bulkUnshorten(urls_to_shorten) + + unshortend_rows = [] + for short_url, unshort_res in short_unshort_res.items(): + unshortend_row = TwitterUnshortenedUrls(short_url=short_url, + unshortened_url=unshort_res['final_url'], + error_unshortening=unshort_res['error']) + unshortend_rows.append(unshortend_row) + self.db_session.add_all(unshortend_rows) + self.db_session.commit() + # check which of these urls are already unshortened + seen_urls.update(set(status_urls_flat)) + self.log.info('Seen {} urls'.format(len(seen_urls))) + r.set(user_r_key, True) + else: + self.log.info(f"Skipping user: {status_user_id}, already done according to redis.") From aee232f2961309f81932d9eaa071f9f1a1fd6de7 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Tue, 9 Apr 2019 16:48:06 -0700 Subject: [PATCH 139/221] keep user state in redis --- app/controllers/twitter_controller.py | 63 +++++++++++++++------------ 1 file changed, 35 insertions(+), 28 deletions(-) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index b85431f..e5231a1 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -1,5 +1,6 @@ from operator import eq +import redis import twitter import simplejson as json import datetime @@ -868,35 +869,41 @@ def archive_user_tweets(self, user, backfill=False, is_test=False): return job_state def unshorten_urls(self): + r = redis.Redis() status_users_res = self.db_session.query(distinct(TwitterStatus.user_id)).all() - seen_urls_q = self.db_session.query(distinct(TwitterUnshortenedUrls.short_url)).all() + seen_urls_q = self.db_session.query(TwitterUnshortenedUrls.short_url).all() seen_urls = set([u[0] for u in seen_urls_q]) status_user_ids = [user_tup[0] for user_tup in status_users_res if user_tup[0]] for i, status_user_id in enumerate(status_user_ids): - self.log.info('Unshortening URLS for user id {0}. {1} of {2}'.format(status_user_id, i, len(status_user_ids))) - user_statuses = self.db_session.query(TwitterStatus).filter(TwitterStatus.user_id==status_user_id).all() - status_urls_flat = [] - for user_status in user_statuses: - status_data = json.loads(user_status.status_data) - status_url_dicts = status_data['entities']['urls'] - just_urls = [d['url'] for d in status_url_dicts] - status_urls_flat.extend(just_urls) - - urls_to_shorten = [url for url in status_urls_flat if url not in seen_urls] - self.log.debug('{} status urls found {} urls to update'.format(len(status_urls_flat), len(urls_to_shorten))) - if len(urls_to_shorten)>0: - with warnings.catch_warnings(): - warnings.simplefilter("ignore") - short_unshort_res = bulkUnshorten(urls_to_shorten) - - unshortend_rows = [] - for short_url, unshort_res in short_unshort_res.items(): - unshortend_row = TwitterUnshortenedUrls(short_url=short_url, - unshortened_url=unshort_res['final_url'], - error_unshortening=unshort_res['error']) - unshortend_rows.append(unshortend_row) - self.db_session.add_all(unshortend_rows) - self.db_session.commit() - # check which of these urls are already unshortened - seen_urls.update(set(status_urls_flat)) - self.log.info('Seen {} urls'.format(len(seen_urls))) + user_r_key = 'twitter_user:{status_user_id}'.format(status_user_id=status_user_id) + if r.get(user_r_key) is None: + self.log.info('Unshortening URLS for user id {0}. {1} of {2}'.format(status_user_id, i, len(status_user_ids))) + user_statuses = self.db_session.query(TwitterStatus).filter(TwitterStatus.user_id==status_user_id).all() + status_urls_flat = [] + for user_status in user_statuses: + status_data = json.loads(user_status.status_data) + status_url_dicts = status_data['entities']['urls'] + just_urls = [d['url'] for d in status_url_dicts] + status_urls_flat.extend(just_urls) + + urls_to_shorten = [url for url in status_urls_flat if url not in seen_urls] + self.log.debug('{} status urls found {} urls to update'.format(len(status_urls_flat), len(urls_to_shorten))) + if len(urls_to_shorten)>0: + with warnings.catch_warnings(): + warnings.simplefilter("ignore") + short_unshort_res = bulkUnshorten(urls_to_shorten) + + unshortend_rows = [] + for short_url, unshort_res in short_unshort_res.items(): + unshortend_row = TwitterUnshortenedUrls(short_url=short_url, + unshortened_url=unshort_res['final_url'], + error_unshortening=unshort_res['error']) + unshortend_rows.append(unshortend_row) + self.db_session.add_all(unshortend_rows) + self.db_session.commit() + # check which of these urls are already unshortened + seen_urls.update(set(status_urls_flat)) + self.log.info('Seen {} urls'.format(len(seen_urls))) + r.set(user_r_key, True) + else: + self.log.info(f"Skipping user: {status_user_id}, already done according to redis.") From de5990371dbc1877d5d12b95b4c3040804372f4b Mon Sep 17 00:00:00 2001 From: Max Klein Date: Tue, 9 Apr 2019 16:55:17 -0700 Subject: [PATCH 140/221] cannot use fstrings --- app/controllers/twitter_controller.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index e5231a1..f5bd6e5 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -906,4 +906,4 @@ def unshorten_urls(self): self.log.info('Seen {} urls'.format(len(seen_urls))) r.set(user_r_key, True) else: - self.log.info(f"Skipping user: {status_user_id}, already done according to redis.") + self.log.info("Skipping user: {status_user_id}, already done according to redis.".format(status_user_id=status_user_id)) From 42012d1520eb393d283d10eceb2f83083f3cc172 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Wed, 10 Apr 2019 10:41:48 -0700 Subject: [PATCH 141/221] remove redis, but find leftovers that bulkunshorten collapsed. --- app/controllers/twitter_controller.py | 53 +++++++++++++++------------ 1 file changed, 30 insertions(+), 23 deletions(-) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index f5bd6e5..46f89b7 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -1,3 +1,4 @@ +import random from operator import eq import redis @@ -869,41 +870,47 @@ def archive_user_tweets(self, user, backfill=False, is_test=False): return job_state def unshorten_urls(self): - r = redis.Redis() status_users_res = self.db_session.query(distinct(TwitterStatus.user_id)).all() seen_urls_q = self.db_session.query(TwitterUnshortenedUrls.short_url).all() seen_urls = set([u[0] for u in seen_urls_q]) status_user_ids = [user_tup[0] for user_tup in status_users_res if user_tup[0]] for i, status_user_id in enumerate(status_user_ids): - user_r_key = 'twitter_user:{status_user_id}'.format(status_user_id=status_user_id) - if r.get(user_r_key) is None: - self.log.info('Unshortening URLS for user id {0}. {1} of {2}'.format(status_user_id, i, len(status_user_ids))) - user_statuses = self.db_session.query(TwitterStatus).filter(TwitterStatus.user_id==status_user_id).all() - status_urls_flat = [] - for user_status in user_statuses: - status_data = json.loads(user_status.status_data) - status_url_dicts = status_data['entities']['urls'] - just_urls = [d['url'] for d in status_url_dicts] - status_urls_flat.extend(just_urls) - - urls_to_shorten = [url for url in status_urls_flat if url not in seen_urls] - self.log.debug('{} status urls found {} urls to update'.format(len(status_urls_flat), len(urls_to_shorten))) - if len(urls_to_shorten)>0: - with warnings.catch_warnings(): - warnings.simplefilter("ignore") - short_unshort_res = bulkUnshorten(urls_to_shorten) + self.log.info('Seen {} urls'.format(len(seen_urls))) + self.log.info('Unshortening URLS for user id {0}. {1} of {2}'.format(status_user_id, i, len(status_user_ids))) + user_statuses = self.db_session.query(TwitterStatus).filter(TwitterStatus.user_id==status_user_id).all() + status_urls_flat = [] + for user_status in user_statuses: + status_data = json.loads(user_status.status_data) + status_url_dicts = status_data['entities']['urls'] + just_urls = [d['url'] for d in status_url_dicts] + status_urls_flat.extend(just_urls) + + urls_to_shorten = list(set([url for url in status_urls_flat if url not in seen_urls])) + + while len(urls_to_shorten)>0: + # because of a bug in bulkUnshorten where short URLS that have the same final_url are collapsed + # into one key as a work around we will check the urls that didn't get unshortened in a loop + # self.log.debug("urls to shorten are: {}".format(urls_to_shorten)) + + with warnings.catch_warnings(): + warnings.simplefilter("ignore") + short_unshort_res = bulkUnshorten(urls_to_shorten) unshortend_rows = [] + round_unshortened_urls = set() # the short urls that were unshortened this ronud for short_url, unshort_res in short_unshort_res.items(): unshortend_row = TwitterUnshortenedUrls(short_url=short_url, unshortened_url=unshort_res['final_url'], error_unshortening=unshort_res['error']) unshortend_rows.append(unshortend_row) + round_unshortened_urls.add(short_url) + self.db_session.add_all(unshortend_rows) self.db_session.commit() # check which of these urls are already unshortened - seen_urls.update(set(status_urls_flat)) - self.log.info('Seen {} urls'.format(len(seen_urls))) - r.set(user_r_key, True) - else: - self.log.info("Skipping user: {status_user_id}, already done according to redis.".format(status_user_id=status_user_id)) + seen_urls.update(round_unshortened_urls) + + #find the leftovers + self.log.debug('Sent {} items to bulkUnshorten, got back {}'.format(len(urls_to_shorten), len(short_unshort_res))) + urls_to_shorten = [url for url in urls_to_shorten if url not in seen_urls] + self.log.debug('Found {} urls not shortened by bulkUnshorten'.format(len(urls_to_shorten))) From 4b746a5d4a0c639b609e1197a05618023c6118c7 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Wed, 10 Apr 2019 13:41:11 -0700 Subject: [PATCH 142/221] add interface for a single user --- app/controller.py | 4 ++-- app/controllers/twitter_controller.py | 14 +++++++++----- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/app/controller.py b/app/controller.py index 2376d07..3018dd5 100644 --- a/app/controller.py +++ b/app/controller.py @@ -217,13 +217,13 @@ def fetch_twitter_tweets(backfill=False, collection_seconds=None, user_rand_frac log.info("Finished fetch_twitter_tweets, backfill={0}. PID={1}".format(backfill, str(os.getpid()))) -def unshorten_twitter_urls(): +def unshorten_twitter_urls(twitter_uid=None): """ unshorten all the twitter statuses urls """ t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) log.info('Starting unshorten twitter urls') - t.unshorten_urls() + t.unshorten_urls(twitter_uid) # twitter_conn.checkin_endpoint() log.info("Finished unshorten twitter urls") diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 46f89b7..b21be63 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -869,11 +869,15 @@ def archive_user_tweets(self, user, backfill=False, is_test=False): job_state = CS_JobState.PROCESSED return job_state - def unshorten_urls(self): - status_users_res = self.db_session.query(distinct(TwitterStatus.user_id)).all() + def unshorten_urls(self, twitter_uid=None): seen_urls_q = self.db_session.query(TwitterUnshortenedUrls.short_url).all() seen_urls = set([u[0] for u in seen_urls_q]) - status_user_ids = [user_tup[0] for user_tup in status_users_res if user_tup[0]] + + if twitter_uid is None: + status_users_res = self.db_session.query(distinct(TwitterStatus.user_id)).all() + status_user_ids = [user_tup[0] for user_tup in status_users_res if user_tup[0]] + else: + status_user_ids = [int(twitter_uid)] for i, status_user_id in enumerate(status_user_ids): self.log.info('Seen {} urls'.format(len(seen_urls))) self.log.info('Unshortening URLS for user id {0}. {1} of {2}'.format(status_user_id, i, len(status_user_ids))) @@ -911,6 +915,6 @@ def unshorten_urls(self): seen_urls.update(round_unshortened_urls) #find the leftovers - self.log.debug('Sent {} items to bulkUnshorten, got back {}'.format(len(urls_to_shorten), len(short_unshort_res))) + self.log.info('Sent {} items to bulkUnshorten, got back {}'.format(len(urls_to_shorten), len(short_unshort_res))) urls_to_shorten = [url for url in urls_to_shorten if url not in seen_urls] - self.log.debug('Found {} urls not shortened by bulkUnshorten'.format(len(urls_to_shorten))) + self.log.info('Found {} urls not shortened by bulkUnshorten'.format(len(urls_to_shorten))) From e405485785605b1c47fab2dbef01196cae732a14 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Wed, 10 Apr 2019 13:43:10 -0700 Subject: [PATCH 143/221] reduce hops limit and timeout to speed things up --- utils/url_unshortener.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/utils/url_unshortener.py b/utils/url_unshortener.py index 1f28ba4..79d29ec 100644 --- a/utils/url_unshortener.py +++ b/utils/url_unshortener.py @@ -17,8 +17,8 @@ def bulkUnshorten(urls, workers=20): # - REQUEST_TIMEOUT is the timeout when waiting for a reply from a remote server # - HOPS_LIMIT is the maximum number of redirect hops allowed - REQUEST_TIMEOUT = 10 - HOPS_LIMIT = 10 + REQUEST_TIMEOUT = 3 + HOPS_LIMIT = 3 # Allow passing in of one url as a string object if (isinstance(urls, str)): From f87f5eb9b8bc4a80536ea8659e1cc1be695b02c2 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Wed, 10 Apr 2019 16:04:48 -0700 Subject: [PATCH 144/221] found where the pop was happening, don't rekey redirects to their redirect target why was jason doing that? --- utils/url_unshortener.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/utils/url_unshortener.py b/utils/url_unshortener.py index 79d29ec..63741a8 100644 --- a/utils/url_unshortener.py +++ b/utils/url_unshortener.py @@ -37,8 +37,10 @@ def bulkUnshorten(urls, workers=20): "original_url": url} except InvalidURL: # there are no guarantees in thi world. pass # this url won't be coming along for the ride. + # print('there are {} urls at the beggining'.format(len(urls))) while True: + # print('there are {} urls in the middle'.format(len(urls))) session = FuturesSession(max_workers=workers) futures = [] @@ -65,7 +67,7 @@ def bulkUnshorten(urls, workers=20): continue except requests.exceptions.ConnectionError as e: url = e.request.url - urls[url]['error'] = "ReadTimeout" + urls[url]['error'] = "ConnectionError" urls[url]['success'] = False continue @@ -92,7 +94,9 @@ def bulkUnshorten(urls, workers=20): urls[result.url]['hops'] += 1 urls[result.url]['final_url'] = redirect_url urls[result.url]['status_code'] = result.status_code - urls[redirect_url] = urls.pop(result.url) + # print('would pop') + # print('redirect url is: {}, result.url is {}'.format(redirect_url, result.url)) + # urls[redirect_url] = urls.pop(result.url) except KeyError: #no location to find urls[result.url]['error'] = "BadRedirect" urls[result.url]['success'] = False @@ -106,6 +110,7 @@ def bulkUnshorten(urls, workers=20): # log.info('bad redirect found in {}'.format(result)) else: + # print('there are {} urls at the end'.format(len(urls))) url_dict = {} for key in urls: From 45c08c3d4eb4f2fe6795ebfbf52558d776a67375 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Mon, 15 Apr 2019 10:55:35 -0700 Subject: [PATCH 145/221] catch missing schema exception --- utils/url_unshortener.py | 7 ++++--- utils/url_unshortener_profile.ipynb | 18 +++++------------- 2 files changed, 9 insertions(+), 16 deletions(-) diff --git a/utils/url_unshortener.py b/utils/url_unshortener.py index 63741a8..9609f30 100644 --- a/utils/url_unshortener.py +++ b/utils/url_unshortener.py @@ -1,5 +1,5 @@ import requests -from requests.exceptions import InvalidURL +from requests.exceptions import InvalidURL, MissingSchema from requests_futures.sessions import FuturesSession from concurrent.futures import wait @@ -37,6 +37,8 @@ def bulkUnshorten(urls, workers=20): "original_url": url} except InvalidURL: # there are no guarantees in thi world. pass # this url won't be coming along for the ride. + except MissingSchema: + pass # potentially could add https://, but for now skipping # print('there are {} urls at the beggining'.format(len(urls))) while True: @@ -94,8 +96,7 @@ def bulkUnshorten(urls, workers=20): urls[result.url]['hops'] += 1 urls[result.url]['final_url'] = redirect_url urls[result.url]['status_code'] = result.status_code - # print('would pop') - # print('redirect url is: {}, result.url is {}'.format(redirect_url, result.url)) + # Troublesome line that was collapsing the output dict by the URLS that had the same final destination # urls[redirect_url] = urls.pop(result.url) except KeyError: #no location to find urls[result.url]['error'] = "BadRedirect" diff --git a/utils/url_unshortener_profile.ipynb b/utils/url_unshortener_profile.ipynb index c472c64..a0ea0fa 100644 --- a/utils/url_unshortener_profile.ipynb +++ b/utils/url_unshortener_profile.ipynb @@ -17,7 +17,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "metadata": { "collapsed": true }, @@ -28,7 +28,7 @@ "(2761, 10000)" ] }, - "execution_count": 14, + "execution_count": 1, "metadata": {}, "output_type": "execute_result" } @@ -79,19 +79,11 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "4.28 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n" - ] - } - ], + "outputs": [], "source": [ - "%timeit -r 1 -n 1 bulkUnshorten(status_urls_flat[:10])" + "%timeit -r 1 -n 1 bulkUnshorten(status_urls_flat[:10])\n" ] }, { From d4823c4df149c997e68cf431521b0d6f82f97c26 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Mon, 15 Apr 2019 11:21:05 -0700 Subject: [PATCH 146/221] try speed up with set difference --- app/controllers/twitter_controller.py | 3 +- utils/url_unshortener_prod_investigator.ipynb | 290 ++++++++++++++++++ 2 files changed, 292 insertions(+), 1 deletion(-) create mode 100644 utils/url_unshortener_prod_investigator.ipynb diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index b21be63..20cc92a 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -889,7 +889,8 @@ def unshorten_urls(self, twitter_uid=None): just_urls = [d['url'] for d in status_url_dicts] status_urls_flat.extend(just_urls) - urls_to_shorten = list(set([url for url in status_urls_flat if url not in seen_urls])) + # urls_to_shorten = list(set([url for url in status_urls_flat if url not in seen_urls])) + urls_to_shorten = set(status_urls_flat).difference(seen_urls) while len(urls_to_shorten)>0: # because of a bug in bulkUnshorten where short URLS that have the same final_url are collapsed diff --git a/utils/url_unshortener_prod_investigator.ipynb b/utils/url_unshortener_prod_investigator.ipynb new file mode 100644 index 0000000..2b0ef52 --- /dev/null +++ b/utils/url_unshortener_prod_investigator.ipynb @@ -0,0 +1,290 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Getting 10,000 urls from DMCA-COX\n", + "- ssh -N dmca@cox.media.mit.edu -L 3310:cox.media.mit.edu:3306" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "from utils.common import DbEngine\n", + "import os\n", + "import inspect\n", + "from app.models import TwitterStatus\n", + "import json\n", + "from sqlalchemy.sql.expression import func as sqlfunc\n", + "from functools import reduce\n", + "from url_unshortener import bulkUnshorten\n", + "\n", + "BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), \"..\")\n", + "ENV = 'production_over_ssh'\n", + "db_session = DbEngine(os.path.join(BASE_DIR, \"config\") + \"/{env}.json\".format(env=ENV)).new_session()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "# error_uid = 106946342\n", + "error_uid = 1076684664906035200\n", + "user_statuses = db_session.query(TwitterStatus).filter(TwitterStatus.user_id == str(error_uid)).all()\n", + "status_urls_flat = []\n", + "for user_status in user_statuses:\n", + " status_data = json.loads(user_status.status_data)\n", + " status_url_dicts = status_data['entities']['urls']\n", + " just_urls = [d['url'] for d in status_url_dicts]\n", + " status_urls_flat.extend(just_urls)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "unshort = bulkUnshorten(status_urls_flat)" + ] + }, + { + "cell_type": "code", + "execution_count": 123, + "metadata": { + "collapsed": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[('https://t.co/PX5IKUYKE0',\n {'hops': 1,\n 'status_code': 301,\n 'success': False,\n 'final_url': 'http://m.net/',\n 'error': 'ReadTimeout',\n 'original_url': 'https://t.co/PX5IKUYKE0'}),\n ('https://t.co/KJzzP8gQz3',\n {'hops': 1,\n 'status_code': 301,\n 'success': False,\n 'final_url': 'https://mega.nz/#F!fa4VQQzJ!rnYplZGplWttT1p5nxvPkA',\n 'error': 'ReadTimeout',\n 'original_url': 'https://t.co/KJzzP8gQz3'}),\n ('https://t.co/aawzSKjhni',\n {'hops': 2,\n 'status_code': 301,\n 'success': False,\n 'final_url': 'https://mega.nz/#!K2pCnSQL!hni9k_ZTScEMdMP4H8WL9NzPKlcpLlCN6JjKIWt4wAE',\n 'error': 'ReadTimeout',\n 'original_url': 'https://t.co/aawzSKjhni'}),\n ('https://t.co/bbSw3kZjvW',\n {'hops': 2,\n 'status_code': 301,\n 'success': False,\n 'final_url': 'https://mega.nz/',\n 'error': 'ReadTimeout',\n 'original_url': 'https://t.co/bbSw3kZjvW'}),\n ('https://t.co/OVrDKccUEH',\n {'hops': 2,\n 'status_code': 301,\n 'success': False,\n 'final_url': 'https://item.rakuten.co.jp/musicstore/20190212-014/',\n 'error': 'ReadTimeout',\n 'original_url': 'https://t.co/OVrDKccUEH'})]" + ] + }, + "execution_count": 123, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "[(s,d) for s,d in unshort.items() if d['error'] is not None]" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "test_urls = ['https://t.co/xOPFen2beP', 'https://t.co/8df1GQUHmg', 'https://t.co/taGEIWlst9', 'https://t.co/ALHErdM85W', 'https://t.co/Cbt77SbVpu', 'https://t.co/VTJMCshR4V', 'https://t.co/Cy7uUN9Kew', 'https://support.twitter.com/articles/15795', 'https://t.co/LvAFLtkQIT', 'https://t.co/1wUlxjiV73', 'https://t.co/UDWXSdJmQy', 'https://t.co/zoxLTzb5kK', 'https://t.co/eRVV1a1hc0']\n", + "# test_urls = ['https://t.co/vaRwUGz11g', 'https://t.co/My1U9DF97m', 'https://t.co/VFJCtq0qgt', 'https://t.co/M0mn9VcRjP', 'https://t.co/Ck3bRRqh0a', 'https://t.co/El7lYetklr', 'https://t.co/ZSkc4zkM7g', 'https://t.co/QBt6yjOHYj', 'https://t.co/JpV2OpQcyL', 'https://t.co/YXfyoxeVdK', 'https://t.co/g0OTiAIYbY', 'https://t.co/AuLBnV3rMe', 'https://t.co/Ukh9znDaKG', 'https://t.co/FwQW1hYeJR', 'https://t.co/nDJwGzvKY5', 'https://t.co/uvT5WTDJ1E', 'https://t.co/RGmP3xNIZO', 'https://t.co/3VlZFFNVOK', 'https://t.co/J5nJLxotiv', 'https://t.co/lxIobWsMSY', 'https://t.co/exjNYVkgIZ', 'https://t.co/uvT5WTVjTc', 'https://t.co/JRxYLakUCs', 'https://t.co/bFgGYU4yLs', 'https://t.co/zsYvMFDGng', 'https://t.co/U5A27sgpWp', 'https://t.co/z7ATTi1Zd5', 'https://t.co/SG8pVmXqaN', 'https://t.co/N93nch5QyV', 'https://t.co/D2gWuJ7bfx', 'https://t.co/LKhOE4dLyt', 'https://t.co/YmxXESOe3A', 'https://t.co/3XqwpZeAFt', 'https://t.co/zcqVEz7JSc', 'https://t.co/MyTiloYZzT', 'https://t.co/3BS91Alrw2', 'https://t.co/uwtgRoBhz6', 'https://t.co/PWcMu07nEZ', 'https://t.co/2vNUjjJ1XC', 'https://t.co/8u4yNEVy48', 'https://t.co/5DL3WcZNwZ', 'https://t.co/mim5FYtyav', 'https://t.co/hGVp6ba0jE', 'https://t.co/NtOVV3bsQT', 'https://t.co/K72FQHk9Rl', 'https://t.co/ZcxczVTyHV', 'https://t.co/SOTsU9cY6J', 'https://t.co/yDUUdp1bmb', 'https://t.co/gmmLnVufxP', 'https://t.co/bajfKB6VKU', 'https://t.co/VAhGyptISQ', 'https://t.co/vteobfHsxo', 'https://t.co/oC8ZLeU3dD', 'https://t.co/Yv9eyH7Kgk', 'https://t.co/jaJhZSIUK3', 'https://t.co/woqFeUIhKT', 'https://t.co/WqXNdI2GZd', 'https://t.co/4iP96jIw3A', 'https://t.co/WxW61zSKL1', 'https://t.co/gPiGhCt2F6', 'https://t.co/6eIHxlH7qW', 'https://t.co/XK6U5ZOTV6', 'https://t.co/CmyCKPgfhf', 'https://t.co/FfZSmKSRfW', 'https://t.co/5m7tGhnLT9', 'https://t.co/I1bGpxKn7t', 'https://t.co/J2V2MdoVzm', 'https://t.co/YjQmmehDQU', 'https://t.co/pDkiHFqhyd', 'https://t.co/0ry6iSztoH', 'https://t.co/nAfvxqzz4S', 'https://t.co/mWXij2Hb9r', 'https://t.co/6Ta2jYzDAo', 'https://t.co/EvL8vk39gM', 'https://t.co/IxuzWMHBPT', 'https://t.co/wNZhh2ASpG', 'https://t.co/Hgdm52yc7s', 'https://t.co/QXFbhQEBoo']\n", + "# test_urls = ['https://t.co/ZaM9NxU448', 'https://t.co/JpcrcHwGsh', 'https://t.co/qbPsHoxNAs', 'https://t.co/4yTfEx4OMl', 'https://t.co/iIcMHOt4GZ', 'https://t.co/fd1sMV0JQo', 'https://t.co/bw7VAPXF8d', 'https://t.co/qw32fFijTF', 'https://t.co/NV4MfTsyjV', 'https://t.co/EiaZzYesjf', 'https://t.co/aXCgWnikAS', 'https://t.co/8OAq13oavE', 'https://t.co/4XVEhtMl8a', 'https://t.co/JjXqcja1VL', 'https://t.co/FDWgTVNxCG', 'https://t.co/pXAle8gPnU', 'https://t.co/fxp09wCryZ', 'https://t.co/bhQojME3RX', 'https://t.co/O6e2sTy7dn', 'https://t.co/qPktYFO2V5', 'https://t.co/Zkc6SgobZX', 'https://t.co/XHR6Fyaaeh', 'https://t.co/vJ4I95PvIm', 'https://t.co/IguncLlwEd']\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "there are 13 urls at the beggining\nthere are 13 urls in the middle\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "would pop\nredirect url is: https://twitter.com/i/web/status/1115431232513421316, result.url is https://t.co/1wUlxjiV73\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115431310510690305, result.url is https://t.co/VTJMCshR4V\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115431371583950848, result.url is https://t.co/Cbt77SbVpu\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam0xg/wrestlemania_35_livewrestlemania_35_watch_live/?ref=share&ref_source=twitter, result.url is https://t.co/Cy7uUN9Kew\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam5nx/wwe_wrestlemania_35_live_wwe_live_streamwwe/?ref=share&ref_source=twitter, result.url is https://t.co/LvAFLtkQIT\nwould pop\nredirect url is: http://bit.ly/2Uuj0Mp, result.url is https://t.co/taGEIWlst9\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam3ij/watchwwe_wrestlemania_35_livewwe_live_streamwwe/?ref=share&ref_source=twitter, result.url is https://t.co/zoxLTzb5kK\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115429407831797761, result.url is https://t.co/UDWXSdJmQy\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115430369405415424, result.url is https://t.co/eRVV1a1hc0\nwould pop\nredirect url is: https://help.twitter.com/articles/15795, result.url is https://support.twitter.com/articles/15795\nwould pop\nredirect url is: https://bit.ly/2G2mVWo, result.url is https://t.co/8df1GQUHmg\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam6xx/wrestlemania_35_livewrestlemania_35_watch_live/?ref=share&ref_source=twitter, result.url is https://t.co/xOPFen2beP\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam6mp/live_stream_wrestlemania_35_onlinewrestlemania/?ref=share&ref_source=twitter, result.url is https://t.co/ALHErdM85W\nthere are 13 urls in the middle\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "would pop\nredirect url is: https://twitter.com/i/web/status/1115429407831797761, result.url is https://t.co/UDWXSdJmQy\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115431232513421316, result.url is https://t.co/1wUlxjiV73\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115431371583950848, result.url is https://t.co/Cbt77SbVpu\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam0xg/wrestlemania_35_livewrestlemania_35_watch_live/?ref=share&ref_source=twitter, result.url is https://t.co/Cy7uUN9Kew\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115431310510690305, result.url is https://t.co/VTJMCshR4V\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam6xx/wrestlemania_35_livewrestlemania_35_watch_live/?ref=share&ref_source=twitter, result.url is https://t.co/xOPFen2beP\nwould pop\nredirect url is: http://bit.ly/2Uuj0Mp, result.url is https://t.co/taGEIWlst9\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam3ij/watchwwe_wrestlemania_35_livewwe_live_streamwwe/?ref=share&ref_source=twitter, result.url is https://t.co/zoxLTzb5kK\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam5nx/wwe_wrestlemania_35_live_wwe_live_streamwwe/?ref=share&ref_source=twitter, result.url is https://t.co/LvAFLtkQIT\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115430369405415424, result.url is https://t.co/eRVV1a1hc0\nwould pop\nredirect url is: https://help.twitter.com/articles/15795, result.url is https://support.twitter.com/articles/15795\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam6mp/live_stream_wrestlemania_35_onlinewrestlemania/?ref=share&ref_source=twitter, result.url is https://t.co/ALHErdM85W\nwould pop\nredirect url is: https://bit.ly/2G2mVWo, result.url is https://t.co/8df1GQUHmg\nthere are 13 urls in the middle\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "would pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam0xg/wrestlemania_35_livewrestlemania_35_watch_live/?ref=share&ref_source=twitter, result.url is https://t.co/Cy7uUN9Kew\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115430369405415424, result.url is https://t.co/eRVV1a1hc0\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115429407831797761, result.url is https://t.co/UDWXSdJmQy\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115431371583950848, result.url is https://t.co/Cbt77SbVpu\nwould pop\nredirect url is: http://bit.ly/2Uuj0Mp, result.url is https://t.co/taGEIWlst9\nwould pop\nredirect url is: https://bit.ly/2G2mVWo, result.url is https://t.co/8df1GQUHmg\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam6xx/wrestlemania_35_livewrestlemania_35_watch_live/?ref=share&ref_source=twitter, result.url is https://t.co/xOPFen2beP\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115431310510690305, result.url is https://t.co/VTJMCshR4V\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam3ij/watchwwe_wrestlemania_35_livewwe_live_streamwwe/?ref=share&ref_source=twitter, result.url is https://t.co/zoxLTzb5kK\nwould pop\nredirect url is: https://help.twitter.com/articles/15795, result.url is https://support.twitter.com/articles/15795\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115431232513421316, result.url is https://t.co/1wUlxjiV73\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam5nx/wwe_wrestlemania_35_live_wwe_live_streamwwe/?ref=share&ref_source=twitter, result.url is https://t.co/LvAFLtkQIT\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam6mp/live_stream_wrestlemania_35_onlinewrestlemania/?ref=share&ref_source=twitter, result.url is https://t.co/ALHErdM85W\nthere are 13 urls in the middle\nthere are 13 urls at the end\n" + ] + } + ], + "source": [ + "resp_urls = bulkUnshorten(test_urls)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(13, 13)" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(test_urls), len(resp_urls)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'https://t.co/xOPFen2beP': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam6xx/wrestlemania_35_livewrestlemania_35_watch_live/?ref=share&ref_source=twitter',\n 'error': None,\n 'original_url': 'https://t.co/xOPFen2beP'},\n 'https://t.co/8df1GQUHmg': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://bit.ly/2G2mVWo',\n 'error': None,\n 'original_url': 'https://t.co/8df1GQUHmg'},\n 'https://t.co/taGEIWlst9': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'http://bit.ly/2Uuj0Mp',\n 'error': None,\n 'original_url': 'https://t.co/taGEIWlst9'},\n 'https://t.co/ALHErdM85W': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam6mp/live_stream_wrestlemania_35_onlinewrestlemania/?ref=share&ref_source=twitter',\n 'error': None,\n 'original_url': 'https://t.co/ALHErdM85W'},\n 'https://t.co/Cbt77SbVpu': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://twitter.com/i/web/status/1115431371583950848',\n 'error': None,\n 'original_url': 'https://t.co/Cbt77SbVpu'},\n 'https://t.co/VTJMCshR4V': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://twitter.com/i/web/status/1115431310510690305',\n 'error': None,\n 'original_url': 'https://t.co/VTJMCshR4V'},\n 'https://t.co/Cy7uUN9Kew': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam0xg/wrestlemania_35_livewrestlemania_35_watch_live/?ref=share&ref_source=twitter',\n 'error': None,\n 'original_url': 'https://t.co/Cy7uUN9Kew'},\n 'https://support.twitter.com/articles/15795': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://help.twitter.com/articles/15795',\n 'error': None,\n 'original_url': 'https://support.twitter.com/articles/15795'},\n 'https://t.co/LvAFLtkQIT': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam5nx/wwe_wrestlemania_35_live_wwe_live_streamwwe/?ref=share&ref_source=twitter',\n 'error': None,\n 'original_url': 'https://t.co/LvAFLtkQIT'},\n 'https://t.co/1wUlxjiV73': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://twitter.com/i/web/status/1115431232513421316',\n 'error': None,\n 'original_url': 'https://t.co/1wUlxjiV73'},\n 'https://t.co/UDWXSdJmQy': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://twitter.com/i/web/status/1115429407831797761',\n 'error': None,\n 'original_url': 'https://t.co/UDWXSdJmQy'},\n 'https://t.co/zoxLTzb5kK': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam3ij/watchwwe_wrestlemania_35_livewwe_live_streamwwe/?ref=share&ref_source=twitter',\n 'error': None,\n 'original_url': 'https://t.co/zoxLTzb5kK'},\n 'https://t.co/eRVV1a1hc0': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://twitter.com/i/web/status/1115430369405415424',\n 'error': None,\n 'original_url': 'https://t.co/eRVV1a1hc0'}}" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "resp_urls" + ] + }, + { + "cell_type": "code", + "execution_count": 105, + "metadata": {}, + "outputs": [], + "source": [ + "left_overs = [l for l in test_urls if l not in resp_urls.keys()]" + ] + }, + { + "cell_type": "code", + "execution_count": 106, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['https://t.co/uvT5WTVjTc', 'https://t.co/5DL3WcZNwZ']" + ] + }, + "execution_count": 106, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "left_overs" + ] + }, + { + "cell_type": "code", + "execution_count": 107, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'https://t.co/uvT5WTVjTc': {'hops': 1,\n 'status_code': 200,\n 'success': True,\n 'final_url': 'https://realproductkeys.org/lumion-crack/',\n 'error': None,\n 'original_url': 'https://t.co/uvT5WTVjTc'},\n 'https://t.co/5DL3WcZNwZ': {'hops': 1,\n 'status_code': 200,\n 'success': True,\n 'final_url': 'https://crackproductkey.com/wondershare-mobiletrans-crack/',\n 'error': None,\n 'original_url': 'https://t.co/5DL3WcZNwZ'}}" + ] + }, + "execution_count": 107, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "bulkUnshorten(left_overs)" + ] + }, + { + "cell_type": "code", + "execution_count": 101, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'https://t.co/bw7VAPXF8d': {'hops': 2,\n 'status_code': 200,\n 'success': True,\n 'final_url': 'https://twitter.com/account/suspended',\n 'error': None,\n 'original_url': 'https://t.co/bw7VAPXF8d'}}" + ] + }, + "execution_count": 101, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "bulkUnshorten('https://t.co/bw7VAPXF8d')" + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['https://realproductkeys.org/hotspot-shield-elite-crack/',\n 'https://realproductkeys.org/lumion-crack/',\n 'https://crackproductkey.com/vmix-crack/',\n 'https://crackproductkey.com/wondershare-allmytube-crack/',\n 'https://realproductkeys.org/corel-draw-crack-crack/',\n 'https://realproductkeys.org/driverpack-solution-online-crack/',\n 'https://realproductkeys.org/psiphon-crack/',\n 'https://crackproductkey.com/daemon-tools-lite-crack/',\n 'https://realproductkeys.org/vmware-workstation-pro-crack/',\n 'https://crackproductkey.com/vsdc-free-video-editor-crack/',\n 'https://crackproductkey.com/minitool-partition-wizard-crack/',\n 'https://crackproductkey.com/keyshot-pro-crack/',\n 'https://realproductkeys.org/korg-pa-manager-crack/',\n 'https://realproductkeys.org/spyhunter-5-crack/',\n 'https://crackproductkey.com/global-mapper-crack/',\n 'https://realproductkeys.org/nitro-pro-crack/',\n 'https://realproductkeys.org/xshell-free-build-crack/',\n 'https://realproductkeys.org/unity-crack/',\n 'https://crackproductkey.com/wtfast-crack/',\n 'https://realproductkeys.org/advanced-system-repair-pro-crack/',\n 'https://realproductkeys.org/wondershare-recoverit-crack/',\n 'https://realproductkeys.org/home-designer-pro-crack/',\n 'https://realproductkeys.org/total-av-antivirus-crack/',\n 'https://realproductkeys.org/cardrecovery-key-crack/',\n 'https://crackproductkey.com/teamviewer-crack/',\n 'https://crackproductkey.com/internet-download-manager-crack/',\n 'https://crackproductkey.com/obs-studio-crack/',\n 'https://crackproductkey.com/autodesk-autocad-electrical-crack/',\n 'https://realproductkeys.org/wondershare-mobiletrans-crack/',\n 'https://realproductkeys.org/snapgene-crack/',\n 'https://realproductkeys.org/freemake-video-converter-crack-2/',\n 'https://crackproductkey.com/wondershare-mobiletrans-crack/',\n 'https://crackproductkey.com/xftp-free-build-crack/',\n 'https://crackproductkey.com/windows-repair-crack/',\n 'https://crackproductkey.com/sublime-text-crack/',\n 'https://crackproductkey.com/global-mapper-crack-2/',\n 'https://crackproductkey.com/4k-video-downloader-crack/',\n 'https://crackproductkey.com/camtasia-studio-crack/',\n 'https://www.youtube.com/watch?v=5nzlLCzDyDk&feature=youtu.be',\n 'https://www.youtube.com/watch?v=Y-7FD-GJJYI&feature=youtu.be',\n 'https://www.youtube.com/watch?v=kK3fP_aplTs&feature=youtu.be',\n 'https://www.youtube.com/watch?v=pujkEsgDLlg&feature=youtu.be',\n 'https://www.youtube.com/watch?v=oKWAsA_DNtY&feature=youtu.be',\n 'https://www.youtube.com/watch?v=aN7Hw5ULo9M&feature=youtu.be',\n 'https://www.youtube.com/watch?v=40NLMUxpHMM&feature=youtu.be',\n 'https://www.youtube.com/watch?v=xjwyGOM4ARg&feature=youtu.be',\n 'https://www.youtube.com/watch?v=qC--HO4XlU8&feature=youtu.be',\n 'https://www.youtube.com/watch?v=ev3VKjGClMw&feature=youtu.be',\n 'https://www.youtube.com/watch?v=ul6NOuog3Bk&feature=youtu.be',\n 'https://www.youtube.com/watch?v=e5ox7ZCzyHA&feature=youtu.be',\n 'https://www.youtube.com/watch?v=BTBPe6DUaCM&feature=youtu.be',\n 'https://www.youtube.com/watch?v=89qcBCDgbgk&feature=youtu.be',\n 'https://www.youtube.com/watch?v=TMwwf4v-Upw&feature=youtu.be',\n 'https://www.youtube.com/watch?v=SEzGAu-Dp1Q&feature=youtu.be',\n 'https://www.youtube.com/watch?v=pHi6zgIAPMY&feature=youtu.be',\n 'https://www.youtube.com/watch?v=VgivuBASIcw&feature=youtu.be',\n 'https://www.youtube.com/watch?v=FnWPY7Nra7w&feature=youtu.be',\n 'https://www.youtube.com/watch?v=X2UB1sZtJ2Q&feature=youtu.be',\n 'https://www.youtube.com/watch?v=BEG3uwcdzCw&feature=youtu.be',\n 'https://www.youtube.com/watch?v=KQrezACvYNQ&feature=youtu.be',\n 'https://www.youtube.com/watch?v=E3eOiE1KIHE&feature=youtu.be',\n 'https://www.youtube.com/watch?v=rmA0cyC1FuI&feature=youtu.be',\n 'https://www.youtube.com/watch?v=Oj1lpb8UA7w&feature=youtu.be',\n 'https://www.youtube.com/watch?v=cncjSOt0S-k&feature=youtu.be',\n 'https://www.youtube.com/watch?v=zmxHuTdacBg&feature=youtu.be',\n 'https://www.youtube.com/watch?v=i-KsSbotZ80&feature=youtu.be',\n 'https://www.youtube.com/watch?v=wOaaQzBuu3A&feature=youtu.be',\n 'https://www.youtube.com/watch?v=8iEeDHwiNwE&feature=youtu.be',\n 'https://www.youtube.com/watch?v=d0Wntq1oWhM&feature=youtu.be',\n 'https://www.youtube.com/watch?v=amsKpLeuxWA&feature=youtu.be',\n 'https://www.youtube.com/watch?v=At9TLC6-d7c&feature=youtu.be',\n 'https://www.youtube.com/watch?v=iTiu7XXY20c&feature=youtu.be',\n 'https://www.youtube.com/watch?v=89f-zHazpOY&feature=youtu.be',\n 'https://www.youtube.com/watch?v=oQRpFC1rSjI&feature=youtu.be',\n 'https://www.youtube.com/watch?v=JCCQqP1B8fI&feature=youtu.be',\n 'https://www.youtube.com/watch?v=BSl2GxuN5Ew&feature=youtu.be']" + ] + }, + "execution_count": 80, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "[v['final_url'] for k, v in resp_urls.items()]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.5" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} From cc975a6b566d5189b46d52857876ef521cba1b77 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Thu, 18 Apr 2019 17:00:01 -0700 Subject: [PATCH 147/221] try speed up with set difference --- app/controllers/twitter_controller.py | 39 +++++++++++++-------------- 1 file changed, 18 insertions(+), 21 deletions(-) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 20cc92a..bd3f6ce 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -870,6 +870,8 @@ def archive_user_tweets(self, user, backfill=False, is_test=False): return job_state def unshorten_urls(self, twitter_uid=None): + r = redis.Redis() + seen_urls_q = self.db_session.query(TwitterUnshortenedUrls.short_url).all() seen_urls = set([u[0] for u in seen_urls_q]) @@ -878,24 +880,22 @@ def unshorten_urls(self, twitter_uid=None): status_user_ids = [user_tup[0] for user_tup in status_users_res if user_tup[0]] else: status_user_ids = [int(twitter_uid)] + for i, status_user_id in enumerate(status_user_ids): - self.log.info('Seen {} urls'.format(len(seen_urls))) - self.log.info('Unshortening URLS for user id {0}. {1} of {2}'.format(status_user_id, i, len(status_user_ids))) - user_statuses = self.db_session.query(TwitterStatus).filter(TwitterStatus.user_id==status_user_id).all() - status_urls_flat = [] - for user_status in user_statuses: - status_data = json.loads(user_status.status_data) - status_url_dicts = status_data['entities']['urls'] - just_urls = [d['url'] for d in status_url_dicts] - status_urls_flat.extend(just_urls) - - # urls_to_shorten = list(set([url for url in status_urls_flat if url not in seen_urls])) - urls_to_shorten = set(status_urls_flat).difference(seen_urls) - - while len(urls_to_shorten)>0: - # because of a bug in bulkUnshorten where short URLS that have the same final_url are collapsed - # into one key as a work around we will check the urls that didn't get unshortened in a loop - # self.log.debug("urls to shorten are: {}".format(urls_to_shorten)) + user_r_key = 'twitter_user:{status_user_id}'.format(status_user_id=status_user_id) + if user_r_key is not None: + self.log.info('Seen {} urls'.format(len(seen_urls))) + self.log.info('Unshortening URLS for user id {0}. {1} of {2}'.format(status_user_id, i, len(status_user_ids))) + user_statuses = self.db_session.query(TwitterStatus).filter(TwitterStatus.user_id==status_user_id).all() + status_urls_flat = [] + for user_status in user_statuses: + status_data = json.loads(user_status.status_data) + status_url_dicts = status_data['entities']['urls'] + just_urls = [d['url'] for d in status_url_dicts] + status_urls_flat.extend(just_urls) + + # urls_to_shorten = list(set([url for url in status_urls_flat if url not in seen_urls])) + urls_to_shorten = list(set(status_urls_flat).difference(seen_urls)) with warnings.catch_warnings(): warnings.simplefilter("ignore") @@ -914,8 +914,5 @@ def unshorten_urls(self, twitter_uid=None): self.db_session.commit() # check which of these urls are already unshortened seen_urls.update(round_unshortened_urls) + r.set(user_r_key, True) - #find the leftovers - self.log.info('Sent {} items to bulkUnshorten, got back {}'.format(len(urls_to_shorten), len(short_unshort_res))) - urls_to_shorten = [url for url in urls_to_shorten if url not in seen_urls] - self.log.info('Found {} urls not shortened by bulkUnshorten'.format(len(urls_to_shorten))) From 4dc04c308c1e16dc08bb40129d33777b74ec915f Mon Sep 17 00:00:00 2001 From: Max Klein Date: Wed, 24 Apr 2019 12:22:24 -0700 Subject: [PATCH 148/221] try speed up with set difference --- app/controllers/twitter_controller.py | 2 ++ utils/url_unshortener.py | 3 ++ utils/url_unshortener_prod_investigator.ipynb | 35 ++++++++++++++++--- 3 files changed, 36 insertions(+), 4 deletions(-) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index bd3f6ce..cd2bc35 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -916,3 +916,5 @@ def unshorten_urls(self, twitter_uid=None): seen_urls.update(round_unshortened_urls) r.set(user_r_key, True) + else: + self.log.info(f"Already done users: {status_user_id}") diff --git a/utils/url_unshortener.py b/utils/url_unshortener.py index 9609f30..1f87ffb 100644 --- a/utils/url_unshortener.py +++ b/utils/url_unshortener.py @@ -72,6 +72,9 @@ def bulkUnshorten(urls, workers=20): urls[url]['error'] = "ConnectionError" urls[url]['success'] = False continue + except UnicodeDecodeError as e: + print(f'Unicode error: {e.object} for obj:') + continue if result.status_code == 200: diff --git a/utils/url_unshortener_prod_investigator.ipynb b/utils/url_unshortener_prod_investigator.ipynb index 2b0ef52..ef5a2f9 100644 --- a/utils/url_unshortener_prod_investigator.ipynb +++ b/utils/url_unshortener_prod_investigator.ipynb @@ -34,17 +34,29 @@ "cell_type": "code", "execution_count": 2, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "1798" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# error_uid = 106946342\n", - "error_uid = 1076684664906035200\n", + "error_uid = 62259528\n", "user_statuses = db_session.query(TwitterStatus).filter(TwitterStatus.user_id == str(error_uid)).all()\n", "status_urls_flat = []\n", "for user_status in user_statuses:\n", " status_data = json.loads(user_status.status_data)\n", " status_url_dicts = status_data['entities']['urls']\n", " just_urls = [d['url'] for d in status_url_dicts]\n", - " status_urls_flat.extend(just_urls)" + " status_urls_flat.extend(just_urls)\n", + "len(status_urls_flat)" ] }, { @@ -53,7 +65,22 @@ "metadata": { "collapsed": false }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + } + ], "source": [ "unshort = bulkUnshorten(status_urls_flat)" ] From 1fbe6299320faae98f431ca392d331ba00999dd9 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Wed, 24 Apr 2019 12:24:00 -0700 Subject: [PATCH 149/221] no fstrings --- app/controllers/twitter_controller.py | 2 +- utils/url_unshortener_prod_investigator.ipynb | 2100 +++++++++++++++++ 2 files changed, 2101 insertions(+), 1 deletion(-) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index cd2bc35..c3798d1 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -917,4 +917,4 @@ def unshorten_urls(self, twitter_uid=None): r.set(user_r_key, True) else: - self.log.info(f"Already done users: {status_user_id}") + self.log.info("Already done users: {status_user_id}".format(status_user_id=status_user_id)) diff --git a/utils/url_unshortener_prod_investigator.ipynb b/utils/url_unshortener_prod_investigator.ipynb index ef5a2f9..84aa3f8 100644 --- a/utils/url_unshortener_prod_investigator.ipynb +++ b/utils/url_unshortener_prod_investigator.ipynb @@ -79,6 +79,2106 @@ "text": [ "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] } ], "source": [ From 1e918fa95024c0b53a9a7274ee83935159482a8a Mon Sep 17 00:00:00 2001 From: Max Klein Date: Wed, 24 Apr 2019 12:24:00 -0700 Subject: [PATCH 150/221] no fstrings --- app/controllers/twitter_controller.py | 2 +- utils/url_unshortener.py | 2 +- utils/url_unshortener_prod_investigator.ipynb | 3375 +++++++++++++++++ 3 files changed, 3377 insertions(+), 2 deletions(-) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index cd2bc35..c3798d1 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -917,4 +917,4 @@ def unshorten_urls(self, twitter_uid=None): r.set(user_r_key, True) else: - self.log.info(f"Already done users: {status_user_id}") + self.log.info("Already done users: {status_user_id}".format(status_user_id=status_user_id)) diff --git a/utils/url_unshortener.py b/utils/url_unshortener.py index 1f87ffb..bc1c8f4 100644 --- a/utils/url_unshortener.py +++ b/utils/url_unshortener.py @@ -73,7 +73,7 @@ def bulkUnshorten(urls, workers=20): urls[url]['success'] = False continue except UnicodeDecodeError as e: - print(f'Unicode error: {e.object} for obj:') + print('Unicode error: {} for obj:'.format(e.object)) continue diff --git a/utils/url_unshortener_prod_investigator.ipynb b/utils/url_unshortener_prod_investigator.ipynb index ef5a2f9..5dec76c 100644 --- a/utils/url_unshortener_prod_investigator.ipynb +++ b/utils/url_unshortener_prod_investigator.ipynb @@ -79,6 +79,3381 @@ "text": [ "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "ename": "KeyboardInterrupt", + "evalue": "", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0munshort\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mbulkUnshorten\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mstatus_urls_flat\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;32m~/workspace/CivilServant-twitter/utils/url_unshortener.py\u001b[0m in \u001b[0;36mbulkUnshorten\u001b[0;34m(urls, workers)\u001b[0m\n\u001b[1;32m 54\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 55\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mfutures\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 56\u001b[0;31m \u001b[0mdone\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mincomplete\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mwait\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfutures\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 57\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mobj\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mdone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 58\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/lib/python3.6/concurrent/futures/_base.py\u001b[0m in \u001b[0;36mwait\u001b[0;34m(fs, timeout, return_when)\u001b[0m\n\u001b[1;32m 299\u001b[0m \u001b[0mwaiter\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_create_and_install_waiters\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mreturn_when\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 300\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 301\u001b[0;31m \u001b[0mwaiter\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mevent\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwait\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtimeout\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 302\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mf\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mfs\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 303\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_condition\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/lib/python3.6/threading.py\u001b[0m in \u001b[0;36mwait\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m 549\u001b[0m \u001b[0msignaled\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_flag\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 550\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0msignaled\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 551\u001b[0;31m \u001b[0msignaled\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_cond\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwait\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtimeout\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 552\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0msignaled\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 553\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/lib/python3.6/threading.py\u001b[0m in \u001b[0;36mwait\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m 293\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;31m# restore state no matter what (e.g., KeyboardInterrupt)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 294\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mtimeout\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 295\u001b[0;31m \u001b[0mwaiter\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0macquire\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 296\u001b[0m \u001b[0mgotit\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mTrue\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 297\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mKeyboardInterrupt\u001b[0m: " + ], + "output_type": "error" } ], "source": [ From fba2c90484dd0b9e9d7e7ebd7eab87851265ef5e Mon Sep 17 00:00:00 2001 From: Max Klein Date: Wed, 24 Apr 2019 13:37:19 -0700 Subject: [PATCH 151/221] actually check key --- app/controllers/twitter_controller.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index c3798d1..13ceaac 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -883,7 +883,8 @@ def unshorten_urls(self, twitter_uid=None): for i, status_user_id in enumerate(status_user_ids): user_r_key = 'twitter_user:{status_user_id}'.format(status_user_id=status_user_id) - if user_r_key is not None: + user_done = r.get(user_r_key) + if user_done is None: self.log.info('Seen {} urls'.format(len(seen_urls))) self.log.info('Unshortening URLS for user id {0}. {1} of {2}'.format(status_user_id, i, len(status_user_ids))) user_statuses = self.db_session.query(TwitterStatus).filter(TwitterStatus.user_id==status_user_id).all() From accf0195cc04a8655f4d99ab204eb60fea5419b6 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Mon, 6 May 2019 21:44:49 -0700 Subject: [PATCH 152/221] actually check key --- app/controllers/twitter_controller.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 13ceaac..f1a915f 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -919,3 +919,24 @@ def unshorten_urls(self, twitter_uid=None): else: self.log.info("Already done users: {status_user_id}".format(status_user_id=status_user_id)) + + + def output_unshorten_urls(self): + r = redis.Redis() + + status_users_res = self.db_session.query(distinct(TwitterStatus.user_id)).all() + status_user_ids = [user_tup[0] for user_tup in status_users_res if user_tup[0]] + + for i, status_user_id in enumerate(status_user_ids): + self.log.info('Unshortening URLS for user id {0}. {1} of {2}'.format(status_user_id, i, len(status_user_ids))) + user_statuses = self.db_session.query(TwitterStatus).filter(TwitterStatus.user_id==status_user_id).all() + status_urls_flat = [] + for user_status in user_statuses: + status_data = json.loads(user_status.status_data) + status_url_dicts = status_data['entities']['urls'] + just_urls = [d['url'] for d in status_url_dicts] + status_urls_flat.extend(just_urls) + + for url in status_urls_flat: + user_r_key = 'twitter_urls_needing_unshortening:{url}'.format(url) + r.set(user_r_key, url) From 3e4de020d6a28c5fd9fe7856c85d09fc1fee1d02 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Mon, 6 May 2019 21:47:21 -0700 Subject: [PATCH 153/221] output --- app/controller.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/controller.py b/app/controller.py index 3018dd5..3855144 100644 --- a/app/controller.py +++ b/app/controller.py @@ -227,6 +227,16 @@ def unshorten_twitter_urls(twitter_uid=None): # twitter_conn.checkin_endpoint() log.info("Finished unshorten twitter urls") +def output_unshorten_urls(): + """ + unshorten all the twitter statuses urls + """ + t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) + log.info('Starting unshorten twitter urls') + t.output_unshorten_urls() + # twitter_conn.checkin_endpoint() + log.info("Finished unshorten twitter urls") + def twitter_observational_analysis_basic_profiling(): tb = app.controllers.twitter_observational_analysis_controller.TwitterBasicProfilingController( "/home/mmou/Dropbox/Documents/Chronos/MIT/CM/CivilServant", db_session, log) From 88ecb9ea71117d00408ce17013c3469775fa52c5 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Tue, 6 Aug 2019 13:56:05 -0700 Subject: [PATCH 154/221] create new unshortener version that maintains dimensionality old unshortener moved to bulkUnshortenLegacy --- utils/url_unshortener.py | 182 +++++++++++++++++++++++++++++++++------ 1 file changed, 158 insertions(+), 24 deletions(-) diff --git a/utils/url_unshortener.py b/utils/url_unshortener.py index bc1c8f4..6f9f1c6 100644 --- a/utils/url_unshortener.py +++ b/utils/url_unshortener.py @@ -1,24 +1,158 @@ +import inspect +import os + import requests from requests.exceptions import InvalidURL, MissingSchema from requests_futures.sessions import FuturesSession from concurrent.futures import wait +import app.cs_logger + +ENV = os.environ['CS_ENV'] +BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), "..") +log = app.cs_logger.get_logger(ENV, BASE_DIR) + + +def bulkUnshorten(urls, workers=20, REQUEST_TIMEOUT=10, HOPS_LIMIT=5): + """ Slightly less performant version that will keep input and output dimensions 1-1. + :param urls urls to follow redirects + :param workers number of concurrent futures to pursue + :param REQUEST_TIMEOUT number of seconds to wait for a url to return a status code + :param HOPS_LIMIT maximum number of 30x's to follow + :returns [{url_dict}] list of dictionaries containing the url unshortening results. -def bulkUnshorten(urls, workers=20): - # This function will unshorten an array of shortened URLS - # The second optional argument is the number of workers to run in parallel + When initially called, an array of string objects will be passed to the function. + If there is an error, a status code of 4xx is recorded within the dict. + Otherwise, a status code of 200 should be returned. - # When initially called, an array of string objects will be passed to the function. - # The function will then create a dictionary to keep track of all urls, the number of hops and - # the final destination url. If there is an error, a status code of 4xx is recorded within the dict. - # Otherwise, a status code of 200 should be returned. + Data structure is list of URLdicts + URLdict is {'curr_url', 'hops', 'status_code', 'success', 'error', 'final_url', 'original_url'}""" - # Global timeouts - # - REQUEST_TIMEOUT is the timeout when waiting for a reply from a remote server - # - HOPS_LIMIT is the maximum number of redirect hops allowed + def setErrorOnUrls(urls, error_url, err_msg, status_code=None): + """utility function to set urls""" + return_urls = [] + for url_dict in urls: + if url_dict['curr_url'] == error_url: + url_dict['error'] = err_msg + url_dict['success'] = False + if status_code: + url_dict['status_code'] = status_code + return_urls.append(url_dict) + return return_urls - REQUEST_TIMEOUT = 3 - HOPS_LIMIT = 3 + log.info(f"Bulk Unshorten 2 called with {len(urls)} urls. Num workers specified: {workers}") + log.info(f"Hops limit is {HOPS_LIMIT} and request Timeout Seconds = {REQUEST_TIMEOUT}") + + # Allow passing in of one url as a string object + if (isinstance(urls, str)): + urls = [urls] + + # If method is being called initally, create a dictionary for the urls passed. When the method calls + # itself, it will pass this object to itself as needed. + if (isinstance(urls, list)): + url_objects = urls[:] + urls = [] + for url in url_objects: + url_dict = {'original_url': url, "final_url": None, "hops": 0, 'status_code': None, "success": None, + "error": None} + try: + req = requests.Request('HEAD', url) + normalized_url = req.prepare().url + url_dict["curr_url"] = normalized_url + except InvalidURL as e: # there are no guarantees in this world. + log.info(f"Error Unshortening: InvalidURL on {url}. Error {e}") + url_dict['success'] = False + except MissingSchema as e: + log.info(f"Error Unshortening: MissingSchema on {url}. Error {e}") + url_dict['success'] = False + finally: + urls.append(url_dict) + log.debug(f'Starting URLS before unshortening are: {urls}') + + while True: + + session = FuturesSession(max_workers=workers) + futures = [] + + for url_dict in urls: + if url_dict['success'] is not None: continue + if url_dict['hops'] >= HOPS_LIMIT: continue + key = url_dict['curr_url'] + futures.append(session.head(key, timeout=REQUEST_TIMEOUT)) + + if futures: + done, incomplete = wait(futures) + for obj in done: + try: + result = obj.result() + except requests.exceptions.ConnectTimeout as e: + urls = setErrorOnUrls(urls, e.request.url, "ConnectTimeout") + continue + except requests.exceptions.ReadTimeout as e: + urls = setErrorOnUrls(urls, e.request.url, "ReadTimeout") + continue + except requests.exceptions.ConnectionError as e: + urls = setErrorOnUrls(urls, e.request.url, "ReadTimeout") + continue + except UnicodeDecodeError as e: + log.error('Unicode error: {} for obj:'.format(e.object)) + continue + + if result.status_code == 200: + for url_dict in urls: + if url_dict['curr_url'] == result.url: + url_dict['success'] = True + url_dict['final_url'] = result.url + url_dict['status_code'] = result.status_code + elif result.status_code == 301 or result.status_code == 302: + try: + redirect_url = result.headers['location'] + + # Handle a location header that returns a relative path instead of an absolute path. This is now allowed + # under RFC 7231. If the returned location does not begin with http, then it is a relative path and should + # be concatenated to the original url + + if not redirect_url.lower().startswith("http"): + redirect_url = result.url + redirect_url + + # Normalize the url using the requests module + req = requests.Request('HEAD', redirect_url) + redirect_url = req.prepare().url + for url_dict in urls: + if url_dict['curr_url'] == result.url: + url_dict['hops'] += 1 + url_dict['final_url'] = redirect_url + url_dict['status_code'] = result.status_code + url_dict['curr_url'] = redirect_url + except KeyError: # no location to find + urls = setErrorOnUrls(urls, result.url, 'BadRedirect') + except InvalidURL: + urls = setErrorOnUrls(urls, result.url, 'InvalidURL') + else: + urls = setErrorOnUrls(urls, result.url, err_msg=None, status_code=result.status_code) + else: + return urls + + +def bulkUnshortenLegacy(urls, workers=20): + """ + Slightly more performant version, but will collapse output dimension based on a dict of the final URLs. + This function will unshorten an array of shortened URLS + The second optional argument is the number of workers to run in parallel + + When initially called, an array of string objects will be passed to the function. + The function will then create a dictionary to keep track of all urls, the number of hops and + the final destination url. If there is an error, a status code of 4xx is recorded within the dict. + Otherwise, a status code of 200 should be returned. + + Global timeouts + - REQUEST_TIMEOUT is the timeout when waiting for a reply from a remote server + - HOPS_LIMIT is the maximum number of redirect hops allowed + """ + REQUEST_TIMEOUT = 10 + HOPS_LIMIT = 5 + log.debug(f"Bulk Unshorten called with {len(urls)} urls. Num workers specified: {workers}") + log.debug(f"Hops limit is {HOPS_LIMIT} and request Timeout Seconds = {REQUEST_TIMEOUT}") # Allow passing in of one url as a string object if (isinstance(urls, str)): @@ -33,13 +167,16 @@ def bulkUnshorten(urls, workers=20): try: req = requests.Request('HEAD', url) normalized_url = req.prepare().url - urls[normalized_url] = {"hops": 0, "status_code": None, "success": None, "final_url": None, "error": None, + urls[normalized_url] = {"hops": 0, "status_code": None, "success": None, "final_url": None, + "error": None, "original_url": url} - except InvalidURL: # there are no guarantees in thi world. - pass # this url won't be coming along for the ride. - except MissingSchema: - pass # potentially could add https://, but for now skipping - # print('there are {} urls at the beggining'.format(len(urls))) + except InvalidURL as e: # there are no guarantees in this world. + log.error(f"Error Unshortening: InvalidURL on {url}. Error {e}") + url['success'] = False + except MissingSchema as e: + log.error(f"Error Unshortening: MissingSchema on {url}. Error {e}") + url['success'] = False + log.debug(f'Starting URLS before unshortening are: {urls}') while True: # print('there are {} urls in the middle'.format(len(urls))) @@ -73,10 +210,9 @@ def bulkUnshorten(urls, workers=20): urls[url]['success'] = False continue except UnicodeDecodeError as e: - print('Unicode error: {} for obj:'.format(e.object)) + log.error('Unicode error: {} for obj:'.format(e.object)) continue - if result.status_code == 200: urls[result.url]['success'] = True urls[result.url]['final_url'] = result.url @@ -100,18 +236,16 @@ def bulkUnshorten(urls, workers=20): urls[result.url]['final_url'] = redirect_url urls[result.url]['status_code'] = result.status_code # Troublesome line that was collapsing the output dict by the URLS that had the same final destination - # urls[redirect_url] = urls.pop(result.url) - except KeyError: #no location to find + urls[redirect_url] = urls.pop(result.url) + except KeyError: # no location to find urls[result.url]['error'] = "BadRedirect" urls[result.url]['success'] = False except InvalidURL: urls[result.url]['error'] = "InvalidURL" urls[result.url]['success'] = False - else: urls[result.url]['success'] = False urls[result.url]['status_code'] = result.status_code - # log.info('bad redirect found in {}'.format(result)) else: # print('there are {} urls at the end'.format(len(urls))) From 5f1aee852f751957675eaffb3b4fd54fab988461 Mon Sep 17 00:00:00 2001 From: mmou Date: Tue, 6 Aug 2019 19:10:22 -0700 Subject: [PATCH 155/221] implement extract twitter urls methods (#47) --- alembic/env.py | 3 +- ...dd_twitter_status_urls_and_twitter_tlds.py | 66 +++++++++++++++ app/controller.py | 16 ++++ app/controllers/twitter_controller.py | 83 +++++++++++++++++-- app/models.py | 21 ++++- utils/common.py | 7 ++ 6 files changed, 186 insertions(+), 10 deletions(-) create mode 100644 alembic/versions/80bd0e8a9b03_add_twitter_status_urls_and_twitter_tlds.py diff --git a/alembic/env.py b/alembic/env.py index 178c247..f5cf62c 100644 --- a/alembic/env.py +++ b/alembic/env.py @@ -44,7 +44,8 @@ metadata = { 'development':models.Base.metadata, 'test':models.Base.metadata, - 'production':models.Base.metadata + 'production':models.Base.metadata, + 'merry':models.Base.metadata } diff --git a/alembic/versions/80bd0e8a9b03_add_twitter_status_urls_and_twitter_tlds.py b/alembic/versions/80bd0e8a9b03_add_twitter_status_urls_and_twitter_tlds.py new file mode 100644 index 0000000..79b8163 --- /dev/null +++ b/alembic/versions/80bd0e8a9b03_add_twitter_status_urls_and_twitter_tlds.py @@ -0,0 +1,66 @@ +"""add twitter_status_urls and twitter_tlds + +Revision ID: 80bd0e8a9b03 +Revises: 17b20129fb86 +Create Date: 2019-08-06 17:51:53.330003 + +""" + +# revision identifiers, used by Alembic. +revision = '80bd0e8a9b03' +down_revision = '17b20129fb86' +branch_labels = None +depends_on = None + +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import mysql + +def upgrade(engine_name): + globals()["upgrade_%s" % engine_name]() + + +def downgrade(engine_name): + globals()["downgrade_%s" % engine_name]() + + + + + +def upgrade_merry(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('twitter_status_urls', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('twitter_status_id', sa.BigInteger(), nullable=True), + sa.Column('status_data_key', sa.Integer(), nullable=True), + sa.Column('raw_url', mysql.TEXT(), nullable=True), + sa.Column('expanded_url', mysql.TEXT(), nullable=True), + sa.Column('unwound_url', mysql.TEXT(), nullable=True), + sa.Column('needs_unshorten', sa.Boolean(), nullable=True), + sa.Column('unshortened_url', mysql.TEXT(), nullable=True), + sa.Column('error_unshortening', mysql.TINYTEXT(), nullable=True), + sa.Column('tld_text', mysql.TEXT(), nullable=True), + sa.Column('record_created_at', sa.DateTime(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_index(op.f('ix_twitter_status_urls_record_created_at'), 'twitter_status_urls', ['record_created_at'], unique=False) + op.create_index(op.f('ix_twitter_status_urls_twitter_status_id'), 'twitter_status_urls', ['twitter_status_id'], unique=False) + op.create_table('twitter_tlds', + sa.Column('id', sa.BigInteger(), nullable=True), + sa.Column('text', mysql.VARCHAR(length=300), nullable=False), + sa.Column('is_civic', sa.Boolean(), nullable=True), + sa.PrimaryKeyConstraint('text') + ) + op.create_index(op.f('ix_twitter_tlds_id'), 'twitter_tlds', ['id'], unique=False) + # ### end Alembic commands ### + + +def downgrade_merry(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index(op.f('ix_twitter_tlds_id'), table_name='twitter_tlds') + op.drop_table('twitter_tlds') + op.drop_index(op.f('ix_twitter_status_urls_twitter_status_id'), table_name='twitter_status_urls') + op.drop_index(op.f('ix_twitter_status_urls_record_created_at'), table_name='twitter_status_urls') + op.drop_table('twitter_status_urls') + # ### end Alembic commands ### + diff --git a/app/controller.py b/app/controller.py index 3855144..223e199 100644 --- a/app/controller.py +++ b/app/controller.py @@ -243,6 +243,22 @@ def twitter_observational_analysis_basic_profiling(): tb.basic_profiling_create_dataset() +def extract_twitter_urls(twitter_uid=None): + """ + extract all the twitter statuses urls + """ + t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) + log.info('Starting exract twitter urls') + t.extract_urls(twitter_uid) + # twitter_conn.checkin_endpoint() + log.info("Finished extract twitter urls") + +def twitter_observational_analysis_basic_profiling(): + tb = app.controllers.twitter_observational_analysis_controller.TwitterBasicProfilingController( + "/home/mmou/Dropbox/Documents/Chronos/MIT/CM/CivilServant", db_session, log) + tb.basic_profiling_create_dataset() + + # python app/controller.py twitter_observational_analysis 2017-05-31 2017-06-02 7 /home/mmou/Dropbox/Documents/Chronos/MIT/CM/CivilServant def twitter_observational_analysis(start_date, end_date, min_observed_days, output_dir): start_date = datetime.datetime.strptime(start_date, "%Y-%m-%d") diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index f1a915f..325a8e6 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -6,12 +6,12 @@ import simplejson as json import datetime from app.models import Base, TwitterUser, TwitterStatus, LumenNoticeToTwitterUser, TwitterUserSnapshot, TwitterFill, \ - TwitterUnshortenedUrls + TwitterUnshortenedUrls, TwitterStatusUrls import requests import sqlalchemy from sqlalchemy import and_, or_, func, distinct import utils.common -from utils.common import TwitterUserState, NOT_FOUND_TWITTER_USER_STR, CS_JobState, neq, EXPERIMENT_LANGUAGES +from utils.common import TwitterUserState, NOT_FOUND_TWITTER_USER_STR, CS_JobState, neq, EXPERIMENT_LANGUAGES, TwitterUrlKey import sys, warnings, os from collections import defaultdict @@ -881,12 +881,14 @@ def unshorten_urls(self, twitter_uid=None): else: status_user_ids = [int(twitter_uid)] + # for each user... for i, status_user_id in enumerate(status_user_ids): user_r_key = 'twitter_user:{status_user_id}'.format(status_user_id=status_user_id) user_done = r.get(user_r_key) if user_done is None: self.log.info('Seen {} urls'.format(len(seen_urls))) self.log.info('Unshortening URLS for user id {0}. {1} of {2}'.format(status_user_id, i, len(status_user_ids))) + # get all user's tweets user_statuses = self.db_session.query(TwitterStatus).filter(TwitterStatus.user_id==status_user_id).all() status_urls_flat = [] for user_status in user_statuses: @@ -931,12 +933,77 @@ def output_unshorten_urls(self): self.log.info('Unshortening URLS for user id {0}. {1} of {2}'.format(status_user_id, i, len(status_user_ids))) user_statuses = self.db_session.query(TwitterStatus).filter(TwitterStatus.user_id==status_user_id).all() status_urls_flat = [] + + + def extract_urls(self, twitter_uid=None): + + if twitter_uid is None: + status_users_res = self.db_session.query(distinct(TwitterStatus.user_id)).all() + status_user_ids = [user_tup[0] for user_tup in status_users_res if user_tup[0]] + else: + status_user_ids = [int(twitter_uid)] + + for i, status_user_id in enumerate(status_user_ids): + self.log.info('Extracting URLS for user id {0}. {1} of {2}'.format(status_user_id, i, len(status_user_ids))) + # get all user's tweets + + user_statuses = self.db_session.query(TwitterStatus).filter(TwitterStatus.user_id==status_user_id).all() + for user_status in user_statuses: status_data = json.loads(user_status.status_data) - status_url_dicts = status_data['entities']['urls'] - just_urls = [d['url'] for d in status_url_dicts] - status_urls_flat.extend(just_urls) + url_rows = self.extract_urls_from_status_data(user_status.id, status_data, None) + self.db_session.add_all(url_rows) + self.db_session.commit() + - for url in status_urls_flat: - user_r_key = 'twitter_urls_needing_unshortening:{url}'.format(url) - r.set(user_r_key, url) + # returns list of TwitterStatusUrls + def extract_urls_from_status_data(self, status_id, status_data, default_key): + url_rows = [] + + if 'entities' in status_data and 'urls' in status_data['entities']: + urls = status_data['entities']['urls'] + key = default_key if default_key is not None else TwitterUrlKey.ENTITY + + for url in urls: + url_row = TwitterStatusUrls( + twitter_status_id = status_id, + status_data_key = key.value, + raw_url = url['url'] if 'url' in url else None, + expanded_url = url['expanded_url'] if 'expanded_url' in url else None, + unwound_url = url['unwound']['url'] if 'unwound' in url and 'url' in data['unwound'] else None) + + #self.log.info('...status id {0}: got url={1}; total={2}'.format(status_id, url['url'], len(url_rows)+1)) + url_rows.append(url_row) + + if 'extended_entities' in status_data and 'media' in status_data['extended_entities']: + urls = status_data['extended_entities']['media'] + key = default_key if default_key is not None else TwitterUrlKey.EXTENDED + if key is TwitterUrlKey.RETWEETED_ENTITY: + key = TwitterUrlKey.RETWEETED_EXTENDED + elif key is TwitterUrlKey.QUOTED_ENTITY: + key = TwitterUrlKey.QUOTED_EXTENDED + + for media in urls: + url_row = TwitterStatusUrls( + twitter_status_id = status_id, + status_data_key = key.value, + raw_url = media['url'] if 'url' in media else None, + expanded_url = media['expanded_url'] if 'expanded_url' in media else None, + unwound_url = media['unwound']['url'] if 'unwound' in media and 'url' in media['unwound'] else None) + + #self.log.info('...user id {0}: got url; total={1}'.format(status_id, len(url_rows)+1)) + url_rows.append(url_row) + + if 'retweeted_status' in status_data: + retweeted_url_rows = self.extract_urls_from_status_data(status_id, + status_data['retweeted_status'], + TwitterUrlKey.RETWEETED_ENTITY) + url_rows += retweeted_url_rows + + if 'quoted_status' in status_data: + quoted_url_rows = self.extract_urls_from_status_data(status_id, + status_data['quoted_status'], + TwitterUrlKey.QUOTED_ENTITY) + url_rows += quoted_url_rows + + return url_rows diff --git a/app/models.py b/app/models.py index 665556e..03b639b 100644 --- a/app/models.py +++ b/app/models.py @@ -4,7 +4,7 @@ import simplejson as json from utils.common import * from sqlalchemy import Column, Integer, String, Text, DateTime, Boolean, BigInteger, Index, Float, ForeignKey -from sqlalchemy.dialects.mysql import MEDIUMTEXT, LONGTEXT, TINYTEXT, TEXT +from sqlalchemy.dialects.mysql import MEDIUMTEXT, LONGTEXT, TINYTEXT, TEXT, VARCHAR from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import relationship from sqlalchemy import create_engine @@ -276,6 +276,25 @@ class TwitterUnshortenedUrls(Base): error_unshortening = Column(TINYTEXT) record_created_at = Column(DateTime, default=datetime.datetime.utcnow, index=True) # need this index for fast counting +class TwitterStatusUrls(Base): + __tablename__ = 'twitter_status_urls' + id = Column(BigInteger, primary_key = True) + twitter_status_id = Column(BigInteger, index = True) + status_data_key = Column(Integer) # enum TwitterUrlKey + raw_url = Column(TEXT) + expanded_url = Column(TEXT) + unwound_url = Column(TEXT) + needs_unshorten = Column(Boolean(), default = False) + unshortened_url = Column(TEXT) + error_unshortening = Column(TINYTEXT) + tld_text = Column(TEXT) + record_created_at = Column(DateTime, default=datetime.datetime.utcnow, index=True) # need this index for fast counting + +class TwitterTlds(Base): + __tablename__ = 'twitter_tlds' + id = Column(BigInteger, index = True) + text = Column(VARCHAR(300), primary_key = True) + is_civic = Column(Boolean(), default = False) class TwitterRateState(Base): # this tables keeps track of the RateLimit of each of our donated tokens diff --git a/utils/common.py b/utils/common.py index ca58a40..bc4a7ba 100644 --- a/utils/common.py +++ b/utils/common.py @@ -38,6 +38,13 @@ class CS_JobState(Enum): NEEDS_RETRY = 5 # for flagging purposes... WONT_PROCESS = 6 # decide not process because they were never existing in the first place. +class TwitterUrlKey(Enum): + ENTITY = 1 + EXTENDED = 2 # extended entity, aka media + RETWEETED_ENTITY = 3 + RETWEETED_EXTENDED = 4 + QUOTED_ENTITY = 5 + QUOTED_EXTENDED = 6 def generate_not_found_twitter_user_id(screen_name=""): capped_screen_name = screen_name if len(screen_name)<30 else screen_name[:30] + "..." From d6b5188bd364751975081d9d64964fa4d0f85810 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Wed, 28 Aug 2019 14:28:47 -0700 Subject: [PATCH 156/221] new unshorten_urls controller to convert expanded to unshortened --- .gitignore | 8 +++ app/controller.py | 4 +- app/controllers/twitter_controller.py | 95 ++++++++++++--------------- 3 files changed, 52 insertions(+), 55 deletions(-) diff --git a/.gitignore b/.gitignore index aac4c60..40b347b 100644 --- a/.gitignore +++ b/.gitignore @@ -81,3 +81,11 @@ target/ \.pytest_cache/ utils/logs/ + +utils/sql/ + +*.ipynb + +utils/url_unshortener_frequency_count\.py + +*.json~ diff --git a/app/controller.py b/app/controller.py index 223e199..b449395 100644 --- a/app/controller.py +++ b/app/controller.py @@ -217,13 +217,13 @@ def fetch_twitter_tweets(backfill=False, collection_seconds=None, user_rand_frac log.info("Finished fetch_twitter_tweets, backfill={0}. PID={1}".format(backfill, str(os.getpid()))) -def unshorten_twitter_urls(twitter_uid=None): +def unshorten_twitter_urls(): """ unshorten all the twitter statuses urls """ t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) log.info('Starting unshorten twitter urls') - t.unshorten_urls(twitter_uid) + t.unshorten_urls() # twitter_conn.checkin_endpoint() log.info("Finished unshorten twitter urls") diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 325a8e6..d4fe41d 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -1,3 +1,4 @@ +import math import random from operator import eq @@ -869,61 +870,49 @@ def archive_user_tweets(self, user, backfill=False, is_test=False): job_state = CS_JobState.PROCESSED return job_state - def unshorten_urls(self, twitter_uid=None): - r = redis.Redis() - - seen_urls_q = self.db_session.query(TwitterUnshortenedUrls.short_url).all() - seen_urls = set([u[0] for u in seen_urls_q]) - if twitter_uid is None: - status_users_res = self.db_session.query(distinct(TwitterStatus.user_id)).all() - status_user_ids = [user_tup[0] for user_tup in status_users_res if user_tup[0]] - else: - status_user_ids = [int(twitter_uid)] - - # for each user... - for i, status_user_id in enumerate(status_user_ids): - user_r_key = 'twitter_user:{status_user_id}'.format(status_user_id=status_user_id) - user_done = r.get(user_r_key) - if user_done is None: - self.log.info('Seen {} urls'.format(len(seen_urls))) - self.log.info('Unshortening URLS for user id {0}. {1} of {2}'.format(status_user_id, i, len(status_user_ids))) - # get all user's tweets - user_statuses = self.db_session.query(TwitterStatus).filter(TwitterStatus.user_id==status_user_id).all() - status_urls_flat = [] - for user_status in user_statuses: - status_data = json.loads(user_status.status_data) - status_url_dicts = status_data['entities']['urls'] - just_urls = [d['url'] for d in status_url_dicts] - status_urls_flat.extend(just_urls) - - # urls_to_shorten = list(set([url for url in status_urls_flat if url not in seen_urls])) - urls_to_shorten = list(set(status_urls_flat).difference(seen_urls)) - - with warnings.catch_warnings(): - warnings.simplefilter("ignore") - short_unshort_res = bulkUnshorten(urls_to_shorten) - - unshortend_rows = [] - round_unshortened_urls = set() # the short urls that were unshortened this ronud - for short_url, unshort_res in short_unshort_res.items(): - unshortend_row = TwitterUnshortenedUrls(short_url=short_url, - unshortened_url=unshort_res['final_url'], - error_unshortening=unshort_res['error']) - unshortend_rows.append(unshortend_row) - round_unshortened_urls.add(short_url) - - self.db_session.add_all(unshortend_rows) - self.db_session.commit() - # check which of these urls are already unshortened - seen_urls.update(round_unshortened_urls) - r.set(user_r_key, True) - - else: - self.log.info("Already done users: {status_user_id}".format(status_user_id=status_user_id)) + def unshorten_urls(self, unshorten_batch_size=100): + # iterate over twitter_status_urls converting expanded urls to unshortened urls + # get the max and minimum status ids + # batch between those # 10,000 items + # run the url unshortener on the batch + # re-insert the results based on table id or expanded_url + status_url_id_max = self.db_session.query(func.max(TwitterStatusUrls.id)).one()[0] + status_url_id_min = self.db_session.query(func.min(TwitterStatusUrls.id)).one()[0] + status_url_id_cnt = self.db_session.query(func.count(TwitterStatusUrls.id)).one()[0] + self.log.info(f'status_url_id_max is {status_url_id_max}') + self.log.info(f'status_url_id_min is {status_url_id_min}') + self.log.info(f'status_url_id_cnt is {status_url_id_cnt}') + + num_batches = math.ceil((status_url_id_max-status_url_id_min)/unshorten_batch_size) + for batch_i in range(num_batches): + start_id = status_url_id_min + (batch_i * unshorten_batch_size) + end_id = status_url_id_min + ((batch_i+1) * unshorten_batch_size) + self.log.debug(f'working on status url ids {start_id} --- {end_id}') + batch_status_urls = self.db_session.query(TwitterStatusUrls) \ + .filter(and_(TwitterStatusUrls.id >= start_id, TwitterStatusUrls.id < end_id)).all() + self.log.info(f'Working on batch:{batch_i} {len(batch_status_urls)} status urls') + urls_to_unshorten = [su.expanded_url for su in batch_status_urls] + # run them through the unshortener + with warnings.catch_warnings(): + warnings.simplefilter("ignore") + unshort_results = bulkUnshorten(urls_to_unshorten) + + #stich these back up + + for unshort_res in unshort_results: + # find the db objects associated + matching_sus = [su for su in batch_status_urls if unshort_res['original_url']==su.expanded_url] + for matching_su in matching_sus: + matching_su.unshortened_url = unshort_res['final_url'] + matching_su.error_unshortening = unshort_res['error'] if not unshort_res['success'] else None + + self.db_session.add_all(batch_status_urls) + self.db_session.commit() def output_unshorten_urls(self): + # deprecated based on new way unshortening is happening r = redis.Redis() status_users_res = self.db_session.query(distinct(TwitterStatus.user_id)).all() @@ -936,7 +925,7 @@ def output_unshorten_urls(self): def extract_urls(self, twitter_uid=None): - + if twitter_uid is None: status_users_res = self.db_session.query(distinct(TwitterStatus.user_id)).all() status_user_ids = [user_tup[0] for user_tup in status_users_res if user_tup[0]] @@ -986,7 +975,7 @@ def extract_urls_from_status_data(self, status_id, status_data, default_key): for media in urls: url_row = TwitterStatusUrls( twitter_status_id = status_id, - status_data_key = key.value, + status_data_key = key.value, raw_url = media['url'] if 'url' in media else None, expanded_url = media['expanded_url'] if 'expanded_url' in media else None, unwound_url = media['unwound']['url'] if 'unwound' in media and 'url' in media['unwound'] else None) From 491158304fa1acdcf91f550e0c57dbb04e59dcf1 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Wed, 28 Aug 2019 14:35:19 -0700 Subject: [PATCH 157/221] f'ing fstring support --- app/controllers/twitter_controller.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index d4fe41d..63fd8aa 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -880,18 +880,19 @@ def unshorten_urls(self, unshorten_batch_size=100): status_url_id_max = self.db_session.query(func.max(TwitterStatusUrls.id)).one()[0] status_url_id_min = self.db_session.query(func.min(TwitterStatusUrls.id)).one()[0] status_url_id_cnt = self.db_session.query(func.count(TwitterStatusUrls.id)).one()[0] - self.log.info(f'status_url_id_max is {status_url_id_max}') - self.log.info(f'status_url_id_min is {status_url_id_min}') - self.log.info(f'status_url_id_cnt is {status_url_id_cnt}') + self.log.info('status_url_id_max is {status_url_id_max}'.format(status_url_id_max=status_url_id_max)) + self.log.info('status_url_id_min is {status_url_id_min}'.format(status_url_id_min=status_url_id_min)) + self.log.info('status_url_id_cnt is {status_url_id_cnt}'.format(status_url_id_cnt=status_url_id_cnt)) num_batches = math.ceil((status_url_id_max-status_url_id_min)/unshorten_batch_size) for batch_i in range(num_batches): start_id = status_url_id_min + (batch_i * unshorten_batch_size) end_id = status_url_id_min + ((batch_i+1) * unshorten_batch_size) - self.log.debug(f'working on status url ids {start_id} --- {end_id}') + self.log.debug('working on status url ids {start_id} --- {end_id}'.format(start_id=start_id)) batch_status_urls = self.db_session.query(TwitterStatusUrls) \ .filter(and_(TwitterStatusUrls.id >= start_id, TwitterStatusUrls.id < end_id)).all() - self.log.info(f'Working on batch:{batch_i} {len(batch_status_urls)} status urls') + self.log.info('Working on batch:{batch_i} {len_batch_status_urls} status urls'.format(batch_i=batch_i, + len_batch_status_urls=len(batch_status_urls))) urls_to_unshorten = [su.expanded_url for su in batch_status_urls] # run them through the unshortener with warnings.catch_warnings(): From 13b7db3ff840b2d061761ba588f7496033dba97b Mon Sep 17 00:00:00 2001 From: Max Klein Date: Wed, 28 Aug 2019 14:38:32 -0700 Subject: [PATCH 158/221] f'ing fstring support --- utils/url_unshortener.py | 254 +++++++++++++++++++-------------------- 1 file changed, 127 insertions(+), 127 deletions(-) diff --git a/utils/url_unshortener.py b/utils/url_unshortener.py index 6f9f1c6..914e50b 100644 --- a/utils/url_unshortener.py +++ b/utils/url_unshortener.py @@ -40,8 +40,8 @@ def setErrorOnUrls(urls, error_url, err_msg, status_code=None): return_urls.append(url_dict) return return_urls - log.info(f"Bulk Unshorten 2 called with {len(urls)} urls. Num workers specified: {workers}") - log.info(f"Hops limit is {HOPS_LIMIT} and request Timeout Seconds = {REQUEST_TIMEOUT}") + log.info("Bulk Unshorten 2 called with {len_urls} urls. Num workers specified: {workers}".format(len_urls=len(urls), workers=workers)) + log.info("Hops limit is {HOPS_LIMIT} and request Timeout Seconds = {REQUEST_TIMEOUT}".format(HOPS_LIMIT=HOPS_LIMIT, REQUEST_TIMEOUT=REQUEST_TIMEOUT)) # Allow passing in of one url as a string object if (isinstance(urls, str)): @@ -60,14 +60,14 @@ def setErrorOnUrls(urls, error_url, err_msg, status_code=None): normalized_url = req.prepare().url url_dict["curr_url"] = normalized_url except InvalidURL as e: # there are no guarantees in this world. - log.info(f"Error Unshortening: InvalidURL on {url}. Error {e}") + log.info("Error Unshortening: InvalidURL on {url}. Error {e}".format(url=url, e=e)) url_dict['success'] = False except MissingSchema as e: - log.info(f"Error Unshortening: MissingSchema on {url}. Error {e}") + log.info("Error Unshortening: MissingSchema on {url}. Error {e}".format(url=url, e=e)) url_dict['success'] = False finally: urls.append(url_dict) - log.debug(f'Starting URLS before unshortening are: {urls}') + log.debug('Starting URLS before unshortening are: {urls}'.format(urls=urls)) while True: @@ -134,125 +134,125 @@ def setErrorOnUrls(urls, error_url, err_msg, status_code=None): return urls -def bulkUnshortenLegacy(urls, workers=20): - """ - Slightly more performant version, but will collapse output dimension based on a dict of the final URLs. - This function will unshorten an array of shortened URLS - The second optional argument is the number of workers to run in parallel - - When initially called, an array of string objects will be passed to the function. - The function will then create a dictionary to keep track of all urls, the number of hops and - the final destination url. If there is an error, a status code of 4xx is recorded within the dict. - Otherwise, a status code of 200 should be returned. - - Global timeouts - - REQUEST_TIMEOUT is the timeout when waiting for a reply from a remote server - - HOPS_LIMIT is the maximum number of redirect hops allowed - """ - REQUEST_TIMEOUT = 10 - HOPS_LIMIT = 5 - log.debug(f"Bulk Unshorten called with {len(urls)} urls. Num workers specified: {workers}") - log.debug(f"Hops limit is {HOPS_LIMIT} and request Timeout Seconds = {REQUEST_TIMEOUT}") - - # Allow passing in of one url as a string object - if (isinstance(urls, str)): - urls = [urls] - - # If method is being called initally, create a dictionary for the urls passed. When the method calls - # itself, it will pass this object to itself as needed. - if (isinstance(urls, list)): - url_objects = urls[:] - urls = {} - for url in url_objects: - try: - req = requests.Request('HEAD', url) - normalized_url = req.prepare().url - urls[normalized_url] = {"hops": 0, "status_code": None, "success": None, "final_url": None, - "error": None, - "original_url": url} - except InvalidURL as e: # there are no guarantees in this world. - log.error(f"Error Unshortening: InvalidURL on {url}. Error {e}") - url['success'] = False - except MissingSchema as e: - log.error(f"Error Unshortening: MissingSchema on {url}. Error {e}") - url['success'] = False - log.debug(f'Starting URLS before unshortening are: {urls}') - - while True: - # print('there are {} urls in the middle'.format(len(urls))) - - session = FuturesSession(max_workers=workers) - futures = [] - - for key in urls: - if urls[key]['success'] is not None: continue - if urls[key]['hops'] >= HOPS_LIMIT: continue - futures.append(session.head(key, timeout=REQUEST_TIMEOUT)) - - if futures: - done, incomplete = wait(futures) - for obj in done: - try: - result = obj.result() - except requests.exceptions.ConnectTimeout as e: - url = e.request.url - urls[url]['error'] = "ConnectTimeout" - urls[url]['success'] = False - continue - except requests.exceptions.ReadTimeout as e: - url = e.request.url - urls[url]['error'] = "ReadTimeout" - urls[url]['success'] = False - continue - except requests.exceptions.ConnectionError as e: - url = e.request.url - urls[url]['error'] = "ConnectionError" - urls[url]['success'] = False - continue - except UnicodeDecodeError as e: - log.error('Unicode error: {} for obj:'.format(e.object)) - continue - - if result.status_code == 200: - urls[result.url]['success'] = True - urls[result.url]['final_url'] = result.url - urls[result.url]['status_code'] = result.status_code - elif result.status_code == 301 or result.status_code == 302: - try: - redirect_url = result.headers['location'] - - # Handle a location header that returns a relative path instead of an absolute path. This is now allowed - # under RFC 7231. If the returned location does not begin with http, then it is a relative path and should - # be concatenated to the original url - - if not redirect_url.lower().startswith("http"): - redirect_url = result.url + redirect_url - - # Normalize the url using the requests module - req = requests.Request('HEAD', redirect_url) - redirect_url = req.prepare().url - - urls[result.url]['hops'] += 1 - urls[result.url]['final_url'] = redirect_url - urls[result.url]['status_code'] = result.status_code - # Troublesome line that was collapsing the output dict by the URLS that had the same final destination - urls[redirect_url] = urls.pop(result.url) - except KeyError: # no location to find - urls[result.url]['error'] = "BadRedirect" - urls[result.url]['success'] = False - except InvalidURL: - urls[result.url]['error'] = "InvalidURL" - urls[result.url]['success'] = False - else: - urls[result.url]['success'] = False - urls[result.url]['status_code'] = result.status_code - else: - - # print('there are {} urls at the end'.format(len(urls))) - url_dict = {} - - for key in urls: - original_url = urls[key]['original_url'] - url_dict[original_url] = urls[key] - - return url_dict +# def bulkUnshortenLegacy(urls, workers=20): +# """ +# Slightly more performant version, but will collapse output dimension based on a dict of the final URLs. +# This function will unshorten an array of shortened URLS +# The second optional argument is the number of workers to run in parallel +# +# When initially called, an array of string objects will be passed to the function. +# The function will then create a dictionary to keep track of all urls, the number of hops and +# the final destination url. If there is an error, a status code of 4xx is recorded within the dict. +# Otherwise, a status code of 200 should be returned. +# +# Global timeouts +# - REQUEST_TIMEOUT is the timeout when waiting for a reply from a remote server +# - HOPS_LIMIT is the maximum number of redirect hops allowed +# """ +# REQUEST_TIMEOUT = 10 +# HOPS_LIMIT = 5 +# log.debug(f"Bulk Unshorten called with {len(urls)} urls. Num workers specified: {workers}") +# log.debug(f"Hops limit is {HOPS_LIMIT} and request Timeout Seconds = {REQUEST_TIMEOUT}") +# +# # Allow passing in of one url as a string object +# if (isinstance(urls, str)): +# urls = [urls] +# +# # If method is being called initally, create a dictionary for the urls passed. When the method calls +# # itself, it will pass this object to itself as needed. +# if (isinstance(urls, list)): +# url_objects = urls[:] +# urls = {} +# for url in url_objects: +# try: +# req = requests.Request('HEAD', url) +# normalized_url = req.prepare().url +# urls[normalized_url] = {"hops": 0, "status_code": None, "success": None, "final_url": None, +# "error": None, +# "original_url": url} +# except InvalidURL as e: # there are no guarantees in this world. +# log.error(f"Error Unshortening: InvalidURL on {url}. Error {e}") +# url['success'] = False +# except MissingSchema as e: +# log.error(f"Error Unshortening: MissingSchema on {url}. Error {e}") +# url['success'] = False +# log.debug(f'Starting URLS before unshortening are: {urls}') +# +# while True: +# # print('there are {} urls in the middle'.format(len(urls))) +# +# session = FuturesSession(max_workers=workers) +# futures = [] +# +# for key in urls: +# if urls[key]['success'] is not None: continue +# if urls[key]['hops'] >= HOPS_LIMIT: continue +# futures.append(session.head(key, timeout=REQUEST_TIMEOUT)) +# +# if futures: +# done, incomplete = wait(futures) +# for obj in done: +# try: +# result = obj.result() +# except requests.exceptions.ConnectTimeout as e: +# url = e.request.url +# urls[url]['error'] = "ConnectTimeout" +# urls[url]['success'] = False +# continue +# except requests.exceptions.ReadTimeout as e: +# url = e.request.url +# urls[url]['error'] = "ReadTimeout" +# urls[url]['success'] = False +# continue +# except requests.exceptions.ConnectionError as e: +# url = e.request.url +# urls[url]['error'] = "ConnectionError" +# urls[url]['success'] = False +# continue +# except UnicodeDecodeError as e: +# log.error('Unicode error: {} for obj:'.format(e.object)) +# continue +# +# if result.status_code == 200: +# urls[result.url]['success'] = True +# urls[result.url]['final_url'] = result.url +# urls[result.url]['status_code'] = result.status_code +# elif result.status_code == 301 or result.status_code == 302: +# try: +# redirect_url = result.headers['location'] +# +# # Handle a location header that returns a relative path instead of an absolute path. This is now allowed +# # under RFC 7231. If the returned location does not begin with http, then it is a relative path and should +# # be concatenated to the original url +# +# if not redirect_url.lower().startswith("http"): +# redirect_url = result.url + redirect_url +# +# # Normalize the url using the requests module +# req = requests.Request('HEAD', redirect_url) +# redirect_url = req.prepare().url +# +# urls[result.url]['hops'] += 1 +# urls[result.url]['final_url'] = redirect_url +# urls[result.url]['status_code'] = result.status_code +# # Troublesome line that was collapsing the output dict by the URLS that had the same final destination +# urls[redirect_url] = urls.pop(result.url) +# except KeyError: # no location to find +# urls[result.url]['error'] = "BadRedirect" +# urls[result.url]['success'] = False +# except InvalidURL: +# urls[result.url]['error'] = "InvalidURL" +# urls[result.url]['success'] = False +# else: +# urls[result.url]['success'] = False +# urls[result.url]['status_code'] = result.status_code +# else: +# +# # print('there are {} urls at the end'.format(len(urls))) +# url_dict = {} +# +# for key in urls: +# original_url = urls[key]['original_url'] +# url_dict[original_url] = urls[key] +# +# return url_dict From c7246aac8e72af8a3ace17d1d5b59eddb7137c0f Mon Sep 17 00:00:00 2001 From: Max Klein Date: Wed, 28 Aug 2019 14:44:37 -0700 Subject: [PATCH 159/221] actually check key --- app/controllers/twitter_controller.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 63fd8aa..ab30930 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -888,7 +888,7 @@ def unshorten_urls(self, unshorten_batch_size=100): for batch_i in range(num_batches): start_id = status_url_id_min + (batch_i * unshorten_batch_size) end_id = status_url_id_min + ((batch_i+1) * unshorten_batch_size) - self.log.debug('working on status url ids {start_id} --- {end_id}'.format(start_id=start_id)) + self.log.debug('working on status url ids {start_id} --- {end_id}'.format(start_id=start_id, end_id=end_id)) batch_status_urls = self.db_session.query(TwitterStatusUrls) \ .filter(and_(TwitterStatusUrls.id >= start_id, TwitterStatusUrls.id < end_id)).all() self.log.info('Working on batch:{batch_i} {len_batch_status_urls} status urls'.format(batch_i=batch_i, From eb39fe07355e710aa3f6e658d39249923a6b8709 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Wed, 28 Aug 2019 15:31:34 -0700 Subject: [PATCH 160/221] make sure status codes give errors too --- utils/url_unshortener.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/utils/url_unshortener.py b/utils/url_unshortener.py index 914e50b..c09ca5c 100644 --- a/utils/url_unshortener.py +++ b/utils/url_unshortener.py @@ -129,8 +129,9 @@ def setErrorOnUrls(urls, error_url, err_msg, status_code=None): except InvalidURL: urls = setErrorOnUrls(urls, result.url, 'InvalidURL') else: - urls = setErrorOnUrls(urls, result.url, err_msg=None, status_code=result.status_code) + urls = setErrorOnUrls(urls, result.url, err_msg=result.status_code, status_code=result.status_code) else: + session.close() return urls From d4c46230d22ff9f1eb235bff70c4aa7a46e15153 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Thu, 29 Aug 2019 14:41:10 -0700 Subject: [PATCH 161/221] close the session properly --- utils/url_unshortener.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/utils/url_unshortener.py b/utils/url_unshortener.py index c09ca5c..9baa990 100644 --- a/utils/url_unshortener.py +++ b/utils/url_unshortener.py @@ -41,7 +41,7 @@ def setErrorOnUrls(urls, error_url, err_msg, status_code=None): return return_urls log.info("Bulk Unshorten 2 called with {len_urls} urls. Num workers specified: {workers}".format(len_urls=len(urls), workers=workers)) - log.info("Hops limit is {HOPS_LIMIT} and request Timeout Seconds = {REQUEST_TIMEOUT}".format(HOPS_LIMIT=HOPS_LIMIT, REQUEST_TIMEOUT=REQUEST_TIMEOUT)) + # log.info("Hops limit is {HOPS_LIMIT} and request Timeout Seconds = {REQUEST_TIMEOUT}".format(HOPS_LIMIT=HOPS_LIMIT, REQUEST_TIMEOUT=REQUEST_TIMEOUT)) # Allow passing in of one url as a string object if (isinstance(urls, str)): @@ -67,7 +67,7 @@ def setErrorOnUrls(urls, error_url, err_msg, status_code=None): url_dict['success'] = False finally: urls.append(url_dict) - log.debug('Starting URLS before unshortening are: {urls}'.format(urls=urls)) + # log.debug('Starting URLS before unshortening are: {urls}'.format(urls=urls)) while True: @@ -82,6 +82,7 @@ def setErrorOnUrls(urls, error_url, err_msg, status_code=None): if futures: done, incomplete = wait(futures) + log.debug("done:{0} incomplete:{1}".format(len(done), len(incomplete))) for obj in done: try: result = obj.result() @@ -130,8 +131,8 @@ def setErrorOnUrls(urls, error_url, err_msg, status_code=None): urls = setErrorOnUrls(urls, result.url, 'InvalidURL') else: urls = setErrorOnUrls(urls, result.url, err_msg=result.status_code, status_code=result.status_code) - else: session.close() + else: return urls From 9ea09191b4999170e5ab79ff68f5919f0a864560 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Thu, 29 Aug 2019 15:04:05 -0700 Subject: [PATCH 162/221] add idempotent by default --- alembic/env.py | 2 +- ...dd_twitter_status_urls_and_twitter_tlds.py | 78 ++++++++++++++++++- app/controllers/twitter_controller.py | 13 +++- utils/url_unshortener.py | 2 +- 4 files changed, 88 insertions(+), 7 deletions(-) diff --git a/alembic/env.py b/alembic/env.py index f5cf62c..d0b7c70 100644 --- a/alembic/env.py +++ b/alembic/env.py @@ -45,7 +45,7 @@ 'development':models.Base.metadata, 'test':models.Base.metadata, 'production':models.Base.metadata, - 'merry':models.Base.metadata + # 'merry':models.Base.metadata } diff --git a/alembic/versions/80bd0e8a9b03_add_twitter_status_urls_and_twitter_tlds.py b/alembic/versions/80bd0e8a9b03_add_twitter_status_urls_and_twitter_tlds.py index 79b8163..764f25e 100644 --- a/alembic/versions/80bd0e8a9b03_add_twitter_status_urls_and_twitter_tlds.py +++ b/alembic/versions/80bd0e8a9b03_add_twitter_status_urls_and_twitter_tlds.py @@ -26,8 +26,82 @@ def downgrade(engine_name): +def upgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('twitter_status_urls', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('twitter_status_id', sa.BigInteger(), nullable=True), + sa.Column('status_data_key', sa.Integer(), nullable=True), + sa.Column('raw_url', mysql.TEXT(), nullable=True), + sa.Column('expanded_url', mysql.TEXT(), nullable=True), + sa.Column('unwound_url', mysql.TEXT(), nullable=True), + sa.Column('needs_unshorten', sa.Boolean(), nullable=True), + sa.Column('unshortened_url', mysql.TEXT(), nullable=True), + sa.Column('error_unshortening', mysql.TINYTEXT(), nullable=True), + sa.Column('tld_text', mysql.TEXT(), nullable=True), + sa.Column('record_created_at', sa.DateTime(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_index(op.f('ix_twitter_status_urls_record_created_at'), 'twitter_status_urls', ['record_created_at'], unique=False) + op.create_index(op.f('ix_twitter_status_urls_twitter_status_id'), 'twitter_status_urls', ['twitter_status_id'], unique=False) + op.create_table('twitter_tlds', + sa.Column('id', sa.BigInteger(), nullable=True), + sa.Column('text', mysql.VARCHAR(length=300), nullable=False), + sa.Column('is_civic', sa.Boolean(), nullable=True), + sa.PrimaryKeyConstraint('text') + ) + op.create_index(op.f('ix_twitter_tlds_id'), 'twitter_tlds', ['id'], unique=False) + # ### end Alembic commands ### + + +def downgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index(op.f('ix_twitter_tlds_id'), table_name='twitter_tlds') + op.drop_table('twitter_tlds') + op.drop_index(op.f('ix_twitter_status_urls_twitter_status_id'), table_name='twitter_status_urls') + op.drop_index(op.f('ix_twitter_status_urls_record_created_at'), table_name='twitter_status_urls') + op.drop_table('twitter_status_urls') + # ### end Alembic commands ### + + +def upgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('twitter_status_urls', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('twitter_status_id', sa.BigInteger(), nullable=True), + sa.Column('status_data_key', sa.Integer(), nullable=True), + sa.Column('raw_url', mysql.TEXT(), nullable=True), + sa.Column('expanded_url', mysql.TEXT(), nullable=True), + sa.Column('unwound_url', mysql.TEXT(), nullable=True), + sa.Column('needs_unshorten', sa.Boolean(), nullable=True), + sa.Column('unshortened_url', mysql.TEXT(), nullable=True), + sa.Column('error_unshortening', mysql.TINYTEXT(), nullable=True), + sa.Column('tld_text', mysql.TEXT(), nullable=True), + sa.Column('record_created_at', sa.DateTime(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_index(op.f('ix_twitter_status_urls_record_created_at'), 'twitter_status_urls', ['record_created_at'], unique=False) + op.create_index(op.f('ix_twitter_status_urls_twitter_status_id'), 'twitter_status_urls', ['twitter_status_id'], unique=False) + op.create_table('twitter_tlds', + sa.Column('id', sa.BigInteger(), nullable=True), + sa.Column('text', mysql.VARCHAR(length=300), nullable=False), + sa.Column('is_civic', sa.Boolean(), nullable=True), + sa.PrimaryKeyConstraint('text') + ) + op.create_index(op.f('ix_twitter_tlds_id'), 'twitter_tlds', ['id'], unique=False) + # ### end Alembic commands ### + + +def downgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index(op.f('ix_twitter_tlds_id'), table_name='twitter_tlds') + op.drop_table('twitter_tlds') + op.drop_index(op.f('ix_twitter_status_urls_twitter_status_id'), table_name='twitter_status_urls') + op.drop_index(op.f('ix_twitter_status_urls_record_created_at'), table_name='twitter_status_urls') + op.drop_table('twitter_status_urls') + # ### end Alembic commands ### -def upgrade_merry(): +def upgrade_production(): # ### commands auto generated by Alembic - please adjust! ### op.create_table('twitter_status_urls', sa.Column('id', sa.BigInteger(), nullable=False), @@ -55,7 +129,7 @@ def upgrade_merry(): # ### end Alembic commands ### -def downgrade_merry(): +def downgrade_production(): # ### commands auto generated by Alembic - please adjust! ### op.drop_index(op.f('ix_twitter_tlds_id'), table_name='twitter_tlds') op.drop_table('twitter_tlds') diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index ab30930..7ea995f 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -871,7 +871,7 @@ def archive_user_tweets(self, user, backfill=False, is_test=False): return job_state - def unshorten_urls(self, unshorten_batch_size=100): + def unshorten_urls(self, unshorten_batch_size=100, idempotent=True): # iterate over twitter_status_urls converting expanded urls to unshortened urls # get the max and minimum status ids # batch between those # 10,000 items @@ -889,18 +889,25 @@ def unshorten_urls(self, unshorten_batch_size=100): start_id = status_url_id_min + (batch_i * unshorten_batch_size) end_id = status_url_id_min + ((batch_i+1) * unshorten_batch_size) self.log.debug('working on status url ids {start_id} --- {end_id}'.format(start_id=start_id, end_id=end_id)) - batch_status_urls = self.db_session.query(TwitterStatusUrls) \ + batch_status_urls_a = self.db_session.query(TwitterStatusUrls) \ .filter(and_(TwitterStatusUrls.id >= start_id, TwitterStatusUrls.id < end_id)).all() + + if idempotent: + batch_status_urls = [su for su in batch_status_urls_a if + (su.unshortened_url is None and su.error_unshortening is None)] + else: + batch_status_urls = batch_status_urls_a + self.log.info('Working on batch:{batch_i} {len_batch_status_urls} status urls'.format(batch_i=batch_i, len_batch_status_urls=len(batch_status_urls))) urls_to_unshorten = [su.expanded_url for su in batch_status_urls] + # run them through the unshortener with warnings.catch_warnings(): warnings.simplefilter("ignore") unshort_results = bulkUnshorten(urls_to_unshorten) #stich these back up - for unshort_res in unshort_results: # find the db objects associated matching_sus = [su for su in batch_status_urls if unshort_res['original_url']==su.expanded_url] diff --git a/utils/url_unshortener.py b/utils/url_unshortener.py index 9baa990..2094924 100644 --- a/utils/url_unshortener.py +++ b/utils/url_unshortener.py @@ -82,7 +82,7 @@ def setErrorOnUrls(urls, error_url, err_msg, status_code=None): if futures: done, incomplete = wait(futures) - log.debug("done:{0} incomplete:{1}".format(len(done), len(incomplete))) + # log.debug("done:{0} incomplete:{1}".format(len(done), len(incomplete))) for obj in done: try: result = obj.result() From 6ff906e63c3822a2eac5ace21e1c6807c05c607b Mon Sep 17 00:00:00 2001 From: Max Klein Date: Thu, 29 Aug 2019 15:04:05 -0700 Subject: [PATCH 163/221] Revert "add idempotent by default" This reverts commit 9ea09191b4999170e5ab79ff68f5919f0a864560. --- alembic/env.py | 2 +- ...dd_twitter_status_urls_and_twitter_tlds.py | 78 +------------------ app/controllers/twitter_controller.py | 13 +--- utils/url_unshortener.py | 2 +- 4 files changed, 7 insertions(+), 88 deletions(-) diff --git a/alembic/env.py b/alembic/env.py index d0b7c70..f5cf62c 100644 --- a/alembic/env.py +++ b/alembic/env.py @@ -45,7 +45,7 @@ 'development':models.Base.metadata, 'test':models.Base.metadata, 'production':models.Base.metadata, - # 'merry':models.Base.metadata + 'merry':models.Base.metadata } diff --git a/alembic/versions/80bd0e8a9b03_add_twitter_status_urls_and_twitter_tlds.py b/alembic/versions/80bd0e8a9b03_add_twitter_status_urls_and_twitter_tlds.py index 764f25e..79b8163 100644 --- a/alembic/versions/80bd0e8a9b03_add_twitter_status_urls_and_twitter_tlds.py +++ b/alembic/versions/80bd0e8a9b03_add_twitter_status_urls_and_twitter_tlds.py @@ -26,82 +26,8 @@ def downgrade(engine_name): -def upgrade_development(): - # ### commands auto generated by Alembic - please adjust! ### - op.create_table('twitter_status_urls', - sa.Column('id', sa.BigInteger(), nullable=False), - sa.Column('twitter_status_id', sa.BigInteger(), nullable=True), - sa.Column('status_data_key', sa.Integer(), nullable=True), - sa.Column('raw_url', mysql.TEXT(), nullable=True), - sa.Column('expanded_url', mysql.TEXT(), nullable=True), - sa.Column('unwound_url', mysql.TEXT(), nullable=True), - sa.Column('needs_unshorten', sa.Boolean(), nullable=True), - sa.Column('unshortened_url', mysql.TEXT(), nullable=True), - sa.Column('error_unshortening', mysql.TINYTEXT(), nullable=True), - sa.Column('tld_text', mysql.TEXT(), nullable=True), - sa.Column('record_created_at', sa.DateTime(), nullable=True), - sa.PrimaryKeyConstraint('id') - ) - op.create_index(op.f('ix_twitter_status_urls_record_created_at'), 'twitter_status_urls', ['record_created_at'], unique=False) - op.create_index(op.f('ix_twitter_status_urls_twitter_status_id'), 'twitter_status_urls', ['twitter_status_id'], unique=False) - op.create_table('twitter_tlds', - sa.Column('id', sa.BigInteger(), nullable=True), - sa.Column('text', mysql.VARCHAR(length=300), nullable=False), - sa.Column('is_civic', sa.Boolean(), nullable=True), - sa.PrimaryKeyConstraint('text') - ) - op.create_index(op.f('ix_twitter_tlds_id'), 'twitter_tlds', ['id'], unique=False) - # ### end Alembic commands ### - - -def downgrade_development(): - # ### commands auto generated by Alembic - please adjust! ### - op.drop_index(op.f('ix_twitter_tlds_id'), table_name='twitter_tlds') - op.drop_table('twitter_tlds') - op.drop_index(op.f('ix_twitter_status_urls_twitter_status_id'), table_name='twitter_status_urls') - op.drop_index(op.f('ix_twitter_status_urls_record_created_at'), table_name='twitter_status_urls') - op.drop_table('twitter_status_urls') - # ### end Alembic commands ### - - -def upgrade_test(): - # ### commands auto generated by Alembic - please adjust! ### - op.create_table('twitter_status_urls', - sa.Column('id', sa.BigInteger(), nullable=False), - sa.Column('twitter_status_id', sa.BigInteger(), nullable=True), - sa.Column('status_data_key', sa.Integer(), nullable=True), - sa.Column('raw_url', mysql.TEXT(), nullable=True), - sa.Column('expanded_url', mysql.TEXT(), nullable=True), - sa.Column('unwound_url', mysql.TEXT(), nullable=True), - sa.Column('needs_unshorten', sa.Boolean(), nullable=True), - sa.Column('unshortened_url', mysql.TEXT(), nullable=True), - sa.Column('error_unshortening', mysql.TINYTEXT(), nullable=True), - sa.Column('tld_text', mysql.TEXT(), nullable=True), - sa.Column('record_created_at', sa.DateTime(), nullable=True), - sa.PrimaryKeyConstraint('id') - ) - op.create_index(op.f('ix_twitter_status_urls_record_created_at'), 'twitter_status_urls', ['record_created_at'], unique=False) - op.create_index(op.f('ix_twitter_status_urls_twitter_status_id'), 'twitter_status_urls', ['twitter_status_id'], unique=False) - op.create_table('twitter_tlds', - sa.Column('id', sa.BigInteger(), nullable=True), - sa.Column('text', mysql.VARCHAR(length=300), nullable=False), - sa.Column('is_civic', sa.Boolean(), nullable=True), - sa.PrimaryKeyConstraint('text') - ) - op.create_index(op.f('ix_twitter_tlds_id'), 'twitter_tlds', ['id'], unique=False) - # ### end Alembic commands ### - - -def downgrade_test(): - # ### commands auto generated by Alembic - please adjust! ### - op.drop_index(op.f('ix_twitter_tlds_id'), table_name='twitter_tlds') - op.drop_table('twitter_tlds') - op.drop_index(op.f('ix_twitter_status_urls_twitter_status_id'), table_name='twitter_status_urls') - op.drop_index(op.f('ix_twitter_status_urls_record_created_at'), table_name='twitter_status_urls') - op.drop_table('twitter_status_urls') - # ### end Alembic commands ### -def upgrade_production(): +def upgrade_merry(): # ### commands auto generated by Alembic - please adjust! ### op.create_table('twitter_status_urls', sa.Column('id', sa.BigInteger(), nullable=False), @@ -129,7 +55,7 @@ def upgrade_production(): # ### end Alembic commands ### -def downgrade_production(): +def downgrade_merry(): # ### commands auto generated by Alembic - please adjust! ### op.drop_index(op.f('ix_twitter_tlds_id'), table_name='twitter_tlds') op.drop_table('twitter_tlds') diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 7ea995f..ab30930 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -871,7 +871,7 @@ def archive_user_tweets(self, user, backfill=False, is_test=False): return job_state - def unshorten_urls(self, unshorten_batch_size=100, idempotent=True): + def unshorten_urls(self, unshorten_batch_size=100): # iterate over twitter_status_urls converting expanded urls to unshortened urls # get the max and minimum status ids # batch between those # 10,000 items @@ -889,25 +889,18 @@ def unshorten_urls(self, unshorten_batch_size=100, idempotent=True): start_id = status_url_id_min + (batch_i * unshorten_batch_size) end_id = status_url_id_min + ((batch_i+1) * unshorten_batch_size) self.log.debug('working on status url ids {start_id} --- {end_id}'.format(start_id=start_id, end_id=end_id)) - batch_status_urls_a = self.db_session.query(TwitterStatusUrls) \ + batch_status_urls = self.db_session.query(TwitterStatusUrls) \ .filter(and_(TwitterStatusUrls.id >= start_id, TwitterStatusUrls.id < end_id)).all() - - if idempotent: - batch_status_urls = [su for su in batch_status_urls_a if - (su.unshortened_url is None and su.error_unshortening is None)] - else: - batch_status_urls = batch_status_urls_a - self.log.info('Working on batch:{batch_i} {len_batch_status_urls} status urls'.format(batch_i=batch_i, len_batch_status_urls=len(batch_status_urls))) urls_to_unshorten = [su.expanded_url for su in batch_status_urls] - # run them through the unshortener with warnings.catch_warnings(): warnings.simplefilter("ignore") unshort_results = bulkUnshorten(urls_to_unshorten) #stich these back up + for unshort_res in unshort_results: # find the db objects associated matching_sus = [su for su in batch_status_urls if unshort_res['original_url']==su.expanded_url] diff --git a/utils/url_unshortener.py b/utils/url_unshortener.py index 2094924..9baa990 100644 --- a/utils/url_unshortener.py +++ b/utils/url_unshortener.py @@ -82,7 +82,7 @@ def setErrorOnUrls(urls, error_url, err_msg, status_code=None): if futures: done, incomplete = wait(futures) - # log.debug("done:{0} incomplete:{1}".format(len(done), len(incomplete))) + log.debug("done:{0} incomplete:{1}".format(len(done), len(incomplete))) for obj in done: try: result = obj.result() From a9ca6d927ccb12120d28c3078cebfc3623dc87b6 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Thu, 29 Aug 2019 15:09:56 -0700 Subject: [PATCH 164/221] add idempotent by default --- app/controllers/twitter_controller.py | 13 ++++++++++--- utils/url_unshortener.py | 2 +- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index ab30930..7ea995f 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -871,7 +871,7 @@ def archive_user_tweets(self, user, backfill=False, is_test=False): return job_state - def unshorten_urls(self, unshorten_batch_size=100): + def unshorten_urls(self, unshorten_batch_size=100, idempotent=True): # iterate over twitter_status_urls converting expanded urls to unshortened urls # get the max and minimum status ids # batch between those # 10,000 items @@ -889,18 +889,25 @@ def unshorten_urls(self, unshorten_batch_size=100): start_id = status_url_id_min + (batch_i * unshorten_batch_size) end_id = status_url_id_min + ((batch_i+1) * unshorten_batch_size) self.log.debug('working on status url ids {start_id} --- {end_id}'.format(start_id=start_id, end_id=end_id)) - batch_status_urls = self.db_session.query(TwitterStatusUrls) \ + batch_status_urls_a = self.db_session.query(TwitterStatusUrls) \ .filter(and_(TwitterStatusUrls.id >= start_id, TwitterStatusUrls.id < end_id)).all() + + if idempotent: + batch_status_urls = [su for su in batch_status_urls_a if + (su.unshortened_url is None and su.error_unshortening is None)] + else: + batch_status_urls = batch_status_urls_a + self.log.info('Working on batch:{batch_i} {len_batch_status_urls} status urls'.format(batch_i=batch_i, len_batch_status_urls=len(batch_status_urls))) urls_to_unshorten = [su.expanded_url for su in batch_status_urls] + # run them through the unshortener with warnings.catch_warnings(): warnings.simplefilter("ignore") unshort_results = bulkUnshorten(urls_to_unshorten) #stich these back up - for unshort_res in unshort_results: # find the db objects associated matching_sus = [su for su in batch_status_urls if unshort_res['original_url']==su.expanded_url] diff --git a/utils/url_unshortener.py b/utils/url_unshortener.py index 9baa990..2094924 100644 --- a/utils/url_unshortener.py +++ b/utils/url_unshortener.py @@ -82,7 +82,7 @@ def setErrorOnUrls(urls, error_url, err_msg, status_code=None): if futures: done, incomplete = wait(futures) - log.debug("done:{0} incomplete:{1}".format(len(done), len(incomplete))) + # log.debug("done:{0} incomplete:{1}".format(len(done), len(incomplete))) for obj in done: try: result = obj.result() From 08ada1c4ce8f9e1afe8d438afcb25a8da3379031 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Thu, 29 Aug 2019 15:12:36 -0700 Subject: [PATCH 165/221] restore development cleanliness --- alembic/env.py | 2 +- ...dd_twitter_status_urls_and_twitter_tlds.py | 78 ++++++++++++++++++- 2 files changed, 77 insertions(+), 3 deletions(-) diff --git a/alembic/env.py b/alembic/env.py index f5cf62c..d0b7c70 100644 --- a/alembic/env.py +++ b/alembic/env.py @@ -45,7 +45,7 @@ 'development':models.Base.metadata, 'test':models.Base.metadata, 'production':models.Base.metadata, - 'merry':models.Base.metadata + # 'merry':models.Base.metadata } diff --git a/alembic/versions/80bd0e8a9b03_add_twitter_status_urls_and_twitter_tlds.py b/alembic/versions/80bd0e8a9b03_add_twitter_status_urls_and_twitter_tlds.py index 79b8163..764f25e 100644 --- a/alembic/versions/80bd0e8a9b03_add_twitter_status_urls_and_twitter_tlds.py +++ b/alembic/versions/80bd0e8a9b03_add_twitter_status_urls_and_twitter_tlds.py @@ -26,8 +26,82 @@ def downgrade(engine_name): +def upgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('twitter_status_urls', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('twitter_status_id', sa.BigInteger(), nullable=True), + sa.Column('status_data_key', sa.Integer(), nullable=True), + sa.Column('raw_url', mysql.TEXT(), nullable=True), + sa.Column('expanded_url', mysql.TEXT(), nullable=True), + sa.Column('unwound_url', mysql.TEXT(), nullable=True), + sa.Column('needs_unshorten', sa.Boolean(), nullable=True), + sa.Column('unshortened_url', mysql.TEXT(), nullable=True), + sa.Column('error_unshortening', mysql.TINYTEXT(), nullable=True), + sa.Column('tld_text', mysql.TEXT(), nullable=True), + sa.Column('record_created_at', sa.DateTime(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_index(op.f('ix_twitter_status_urls_record_created_at'), 'twitter_status_urls', ['record_created_at'], unique=False) + op.create_index(op.f('ix_twitter_status_urls_twitter_status_id'), 'twitter_status_urls', ['twitter_status_id'], unique=False) + op.create_table('twitter_tlds', + sa.Column('id', sa.BigInteger(), nullable=True), + sa.Column('text', mysql.VARCHAR(length=300), nullable=False), + sa.Column('is_civic', sa.Boolean(), nullable=True), + sa.PrimaryKeyConstraint('text') + ) + op.create_index(op.f('ix_twitter_tlds_id'), 'twitter_tlds', ['id'], unique=False) + # ### end Alembic commands ### + + +def downgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index(op.f('ix_twitter_tlds_id'), table_name='twitter_tlds') + op.drop_table('twitter_tlds') + op.drop_index(op.f('ix_twitter_status_urls_twitter_status_id'), table_name='twitter_status_urls') + op.drop_index(op.f('ix_twitter_status_urls_record_created_at'), table_name='twitter_status_urls') + op.drop_table('twitter_status_urls') + # ### end Alembic commands ### + + +def upgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('twitter_status_urls', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('twitter_status_id', sa.BigInteger(), nullable=True), + sa.Column('status_data_key', sa.Integer(), nullable=True), + sa.Column('raw_url', mysql.TEXT(), nullable=True), + sa.Column('expanded_url', mysql.TEXT(), nullable=True), + sa.Column('unwound_url', mysql.TEXT(), nullable=True), + sa.Column('needs_unshorten', sa.Boolean(), nullable=True), + sa.Column('unshortened_url', mysql.TEXT(), nullable=True), + sa.Column('error_unshortening', mysql.TINYTEXT(), nullable=True), + sa.Column('tld_text', mysql.TEXT(), nullable=True), + sa.Column('record_created_at', sa.DateTime(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_index(op.f('ix_twitter_status_urls_record_created_at'), 'twitter_status_urls', ['record_created_at'], unique=False) + op.create_index(op.f('ix_twitter_status_urls_twitter_status_id'), 'twitter_status_urls', ['twitter_status_id'], unique=False) + op.create_table('twitter_tlds', + sa.Column('id', sa.BigInteger(), nullable=True), + sa.Column('text', mysql.VARCHAR(length=300), nullable=False), + sa.Column('is_civic', sa.Boolean(), nullable=True), + sa.PrimaryKeyConstraint('text') + ) + op.create_index(op.f('ix_twitter_tlds_id'), 'twitter_tlds', ['id'], unique=False) + # ### end Alembic commands ### + + +def downgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index(op.f('ix_twitter_tlds_id'), table_name='twitter_tlds') + op.drop_table('twitter_tlds') + op.drop_index(op.f('ix_twitter_status_urls_twitter_status_id'), table_name='twitter_status_urls') + op.drop_index(op.f('ix_twitter_status_urls_record_created_at'), table_name='twitter_status_urls') + op.drop_table('twitter_status_urls') + # ### end Alembic commands ### -def upgrade_merry(): +def upgrade_production(): # ### commands auto generated by Alembic - please adjust! ### op.create_table('twitter_status_urls', sa.Column('id', sa.BigInteger(), nullable=False), @@ -55,7 +129,7 @@ def upgrade_merry(): # ### end Alembic commands ### -def downgrade_merry(): +def downgrade_production(): # ### commands auto generated by Alembic - please adjust! ### op.drop_index(op.f('ix_twitter_tlds_id'), table_name='twitter_tlds') op.drop_table('twitter_tlds') From 62deb7c8839d83581094af4c42a52e6b37c06f7d Mon Sep 17 00:00:00 2001 From: Max Klein Date: Thu, 29 Aug 2019 15:15:31 -0700 Subject: [PATCH 166/221] don't call unshorten unnecssarily --- app/controllers/twitter_controller.py | 31 ++++++++++++++------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 7ea995f..1ddc7bf 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -902,21 +902,22 @@ def unshorten_urls(self, unshorten_batch_size=100, idempotent=True): len_batch_status_urls=len(batch_status_urls))) urls_to_unshorten = [su.expanded_url for su in batch_status_urls] - # run them through the unshortener - with warnings.catch_warnings(): - warnings.simplefilter("ignore") - unshort_results = bulkUnshorten(urls_to_unshorten) - - #stich these back up - for unshort_res in unshort_results: - # find the db objects associated - matching_sus = [su for su in batch_status_urls if unshort_res['original_url']==su.expanded_url] - for matching_su in matching_sus: - matching_su.unshortened_url = unshort_res['final_url'] - matching_su.error_unshortening = unshort_res['error'] if not unshort_res['success'] else None - - self.db_session.add_all(batch_status_urls) - self.db_session.commit() + if urls_to_unshorten: + # run them through the unshortener + with warnings.catch_warnings(): + warnings.simplefilter("ignore") + unshort_results = bulkUnshorten(urls_to_unshorten) + + #stich these back up + for unshort_res in unshort_results: + # find the db objects associated + matching_sus = [su for su in batch_status_urls if unshort_res['original_url']==su.expanded_url] + for matching_su in matching_sus: + matching_su.unshortened_url = unshort_res['final_url'] + matching_su.error_unshortening = unshort_res['error'] if not unshort_res['success'] else None + + self.db_session.add_all(batch_status_urls) + self.db_session.commit() def output_unshorten_urls(self): From 1474a92119346cb7746631b8bb3ff7d2ffd55da3 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Thu, 29 Aug 2019 15:20:02 -0700 Subject: [PATCH 167/221] some daftie used to colons after https:: --- utils/url_unshortener.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/utils/url_unshortener.py b/utils/url_unshortener.py index 2094924..4f7aa96 100644 --- a/utils/url_unshortener.py +++ b/utils/url_unshortener.py @@ -95,6 +95,8 @@ def setErrorOnUrls(urls, error_url, err_msg, status_code=None): except requests.exceptions.ConnectionError as e: urls = setErrorOnUrls(urls, e.request.url, "ReadTimeout") continue + except requests.exceptions.InvalidSchema as e: + urls = setErrorOnUrls(urls, e.request.url, "InvalidSchema") except UnicodeDecodeError as e: log.error('Unicode error: {} for obj:'.format(e.object)) continue From 56c79949666fd3234d9320e36080c01393dc9c81 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Thu, 29 Aug 2019 15:31:27 -0700 Subject: [PATCH 168/221] invalid schema catch --- utils/url_unshortener.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/utils/url_unshortener.py b/utils/url_unshortener.py index 4f7aa96..d13460e 100644 --- a/utils/url_unshortener.py +++ b/utils/url_unshortener.py @@ -96,7 +96,9 @@ def setErrorOnUrls(urls, error_url, err_msg, status_code=None): urls = setErrorOnUrls(urls, e.request.url, "ReadTimeout") continue except requests.exceptions.InvalidSchema as e: - urls = setErrorOnUrls(urls, e.request.url, "InvalidSchema") + req_url = obj._exception.args[0].split('No connection adapters were found for \'')[1].split('\'')[0] + urls = setErrorOnUrls(urls, req_url, "InvalidSchema") + continue except UnicodeDecodeError as e: log.error('Unicode error: {} for obj:'.format(e.object)) continue From 96ec4796c89a17df9562e78dd4a9da16ae00d83b Mon Sep 17 00:00:00 2001 From: Max Klein Date: Thu, 29 Aug 2019 17:14:30 -0700 Subject: [PATCH 169/221] small defaults tweak to speed up rate --- app/controllers/twitter_controller.py | 2 +- utils/url_unshortener.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 1ddc7bf..95c8dfe 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -871,7 +871,7 @@ def archive_user_tweets(self, user, backfill=False, is_test=False): return job_state - def unshorten_urls(self, unshorten_batch_size=100, idempotent=True): + def unshorten_urls(self, unshorten_batch_size=1000, idempotent=True): # iterate over twitter_status_urls converting expanded urls to unshortened urls # get the max and minimum status ids # batch between those # 10,000 items diff --git a/utils/url_unshortener.py b/utils/url_unshortener.py index d13460e..1e2e8ad 100644 --- a/utils/url_unshortener.py +++ b/utils/url_unshortener.py @@ -12,7 +12,7 @@ log = app.cs_logger.get_logger(ENV, BASE_DIR) -def bulkUnshorten(urls, workers=20, REQUEST_TIMEOUT=10, HOPS_LIMIT=5): +def bulkUnshorten(urls, workers=20, REQUEST_TIMEOUT=5, HOPS_LIMIT=4): """ Slightly less performant version that will keep input and output dimensions 1-1. :param urls urls to follow redirects :param workers number of concurrent futures to pursue From b0d1089df64e6ae0f29ff2bede59915f9e92966c Mon Sep 17 00:00:00 2001 From: Max Klein Date: Fri, 30 Aug 2019 14:34:37 -0700 Subject: [PATCH 170/221] cathc unicode errors too --- utils/url_unshortener.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/utils/url_unshortener.py b/utils/url_unshortener.py index 1e2e8ad..378036c 100644 --- a/utils/url_unshortener.py +++ b/utils/url_unshortener.py @@ -100,6 +100,9 @@ def setErrorOnUrls(urls, error_url, err_msg, status_code=None): urls = setErrorOnUrls(urls, req_url, "InvalidSchema") continue except UnicodeDecodeError as e: + log.error('UnicodeDecodeError error: {} for obj:'.format(e.object)) + continue + except UnicodeError as e: log.error('Unicode error: {} for obj:'.format(e.object)) continue From 0d3997010aa13e5c534f3e5dccf0d845c3302689 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Fri, 30 Aug 2019 15:01:57 -0700 Subject: [PATCH 171/221] cathc unicode errors too --- utils/url_unshortener.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/utils/url_unshortener.py b/utils/url_unshortener.py index 378036c..1cfe8f7 100644 --- a/utils/url_unshortener.py +++ b/utils/url_unshortener.py @@ -103,7 +103,12 @@ def setErrorOnUrls(urls, error_url, err_msg, status_code=None): log.error('UnicodeDecodeError error: {} for obj:'.format(e.object)) continue except UnicodeError as e: - log.error('Unicode error: {} for obj:'.format(e.object)) + log.error('Unicode error: {} for obj:'.format(e)) + log.error('Objs internal exception {}'.format(obj._exception)) + continue + except Exception as e: + log.error("An unknown error {} for obj".format(e)) + log.error('Objs internal exception {}'.format(obj._exception)) continue if result.status_code == 200: @@ -140,6 +145,10 @@ def setErrorOnUrls(urls, error_url, err_msg, status_code=None): urls = setErrorOnUrls(urls, result.url, err_msg=result.status_code, status_code=result.status_code) session.close() else: + # unsuccessful_without_error = [url_dict for url_dict in urls if + # url_dict['orginal_url']==url_dict['curr_url'] and url_dict['success'] is None] + # for unsuccessful in unsuccessful_without_error: + # urls = setErrorOnUrls(urls, unsuccessful, 'UnknownError') return urls From f7bb89de49e793d31eb807909746690c7d970325 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Fri, 30 Aug 2019 15:43:32 -0700 Subject: [PATCH 172/221] new catch everything approach --- utils/url_unshortener.py | 152 +++++---------------------------------- 1 file changed, 17 insertions(+), 135 deletions(-) diff --git a/utils/url_unshortener.py b/utils/url_unshortener.py index 1cfe8f7..2f5b6b2 100644 --- a/utils/url_unshortener.py +++ b/utils/url_unshortener.py @@ -1,3 +1,4 @@ +import copy import inspect import os @@ -71,6 +72,8 @@ def setErrorOnUrls(urls, error_url, err_msg, status_code=None): while True: + prev_urls = copy.deepcopy(urls) + session = FuturesSession(max_workers=workers) futures = [] @@ -99,13 +102,6 @@ def setErrorOnUrls(urls, error_url, err_msg, status_code=None): req_url = obj._exception.args[0].split('No connection adapters were found for \'')[1].split('\'')[0] urls = setErrorOnUrls(urls, req_url, "InvalidSchema") continue - except UnicodeDecodeError as e: - log.error('UnicodeDecodeError error: {} for obj:'.format(e.object)) - continue - except UnicodeError as e: - log.error('Unicode error: {} for obj:'.format(e)) - log.error('Objs internal exception {}'.format(obj._exception)) - continue except Exception as e: log.error("An unknown error {} for obj".format(e)) log.error('Objs internal exception {}'.format(obj._exception)) @@ -144,133 +140,19 @@ def setErrorOnUrls(urls, error_url, err_msg, status_code=None): else: urls = setErrorOnUrls(urls, result.url, err_msg=result.status_code, status_code=result.status_code) session.close() - else: - # unsuccessful_without_error = [url_dict for url_dict in urls if - # url_dict['orginal_url']==url_dict['curr_url'] and url_dict['success'] is None] - # for unsuccessful in unsuccessful_without_error: - # urls = setErrorOnUrls(urls, unsuccessful, 'UnknownError') - return urls + # find the elements that didn't change at all during the loop because I hate futures. + unchanged = [] + for url_dict in urls: + matching_dicts = [pud for pud in prev_urls if url_dict['original_url']==pud['original_url']] + for pud in matching_dicts: + if pud['curr_url'] == url_dict['curr_url'] and url_dict['success'] is None: + # if the curr_url has remained the same and not success + log.debug('i think theres an uncaught error on {}'.format(url_dict['original_url'])) + unchanged.append(url_dict) + + for unchange in unchanged: + urls = setErrorOnUrls(urls, unchange['curr_url'], 'UnresolveableError') -# def bulkUnshortenLegacy(urls, workers=20): -# """ -# Slightly more performant version, but will collapse output dimension based on a dict of the final URLs. -# This function will unshorten an array of shortened URLS -# The second optional argument is the number of workers to run in parallel -# -# When initially called, an array of string objects will be passed to the function. -# The function will then create a dictionary to keep track of all urls, the number of hops and -# the final destination url. If there is an error, a status code of 4xx is recorded within the dict. -# Otherwise, a status code of 200 should be returned. -# -# Global timeouts -# - REQUEST_TIMEOUT is the timeout when waiting for a reply from a remote server -# - HOPS_LIMIT is the maximum number of redirect hops allowed -# """ -# REQUEST_TIMEOUT = 10 -# HOPS_LIMIT = 5 -# log.debug(f"Bulk Unshorten called with {len(urls)} urls. Num workers specified: {workers}") -# log.debug(f"Hops limit is {HOPS_LIMIT} and request Timeout Seconds = {REQUEST_TIMEOUT}") -# -# # Allow passing in of one url as a string object -# if (isinstance(urls, str)): -# urls = [urls] -# -# # If method is being called initally, create a dictionary for the urls passed. When the method calls -# # itself, it will pass this object to itself as needed. -# if (isinstance(urls, list)): -# url_objects = urls[:] -# urls = {} -# for url in url_objects: -# try: -# req = requests.Request('HEAD', url) -# normalized_url = req.prepare().url -# urls[normalized_url] = {"hops": 0, "status_code": None, "success": None, "final_url": None, -# "error": None, -# "original_url": url} -# except InvalidURL as e: # there are no guarantees in this world. -# log.error(f"Error Unshortening: InvalidURL on {url}. Error {e}") -# url['success'] = False -# except MissingSchema as e: -# log.error(f"Error Unshortening: MissingSchema on {url}. Error {e}") -# url['success'] = False -# log.debug(f'Starting URLS before unshortening are: {urls}') -# -# while True: -# # print('there are {} urls in the middle'.format(len(urls))) -# -# session = FuturesSession(max_workers=workers) -# futures = [] -# -# for key in urls: -# if urls[key]['success'] is not None: continue -# if urls[key]['hops'] >= HOPS_LIMIT: continue -# futures.append(session.head(key, timeout=REQUEST_TIMEOUT)) -# -# if futures: -# done, incomplete = wait(futures) -# for obj in done: -# try: -# result = obj.result() -# except requests.exceptions.ConnectTimeout as e: -# url = e.request.url -# urls[url]['error'] = "ConnectTimeout" -# urls[url]['success'] = False -# continue -# except requests.exceptions.ReadTimeout as e: -# url = e.request.url -# urls[url]['error'] = "ReadTimeout" -# urls[url]['success'] = False -# continue -# except requests.exceptions.ConnectionError as e: -# url = e.request.url -# urls[url]['error'] = "ConnectionError" -# urls[url]['success'] = False -# continue -# except UnicodeDecodeError as e: -# log.error('Unicode error: {} for obj:'.format(e.object)) -# continue -# -# if result.status_code == 200: -# urls[result.url]['success'] = True -# urls[result.url]['final_url'] = result.url -# urls[result.url]['status_code'] = result.status_code -# elif result.status_code == 301 or result.status_code == 302: -# try: -# redirect_url = result.headers['location'] -# -# # Handle a location header that returns a relative path instead of an absolute path. This is now allowed -# # under RFC 7231. If the returned location does not begin with http, then it is a relative path and should -# # be concatenated to the original url -# -# if not redirect_url.lower().startswith("http"): -# redirect_url = result.url + redirect_url -# -# # Normalize the url using the requests module -# req = requests.Request('HEAD', redirect_url) -# redirect_url = req.prepare().url -# -# urls[result.url]['hops'] += 1 -# urls[result.url]['final_url'] = redirect_url -# urls[result.url]['status_code'] = result.status_code -# # Troublesome line that was collapsing the output dict by the URLS that had the same final destination -# urls[redirect_url] = urls.pop(result.url) -# except KeyError: # no location to find -# urls[result.url]['error'] = "BadRedirect" -# urls[result.url]['success'] = False -# except InvalidURL: -# urls[result.url]['error'] = "InvalidURL" -# urls[result.url]['success'] = False -# else: -# urls[result.url]['success'] = False -# urls[result.url]['status_code'] = result.status_code -# else: -# -# # print('there are {} urls at the end'.format(len(urls))) -# url_dict = {} -# -# for key in urls: -# original_url = urls[key]['original_url'] -# url_dict[original_url] = urls[key] -# -# return url_dict + else: + return urls From fdcffa21ad38e35101f4bac44183877fd4b43a0e Mon Sep 17 00:00:00 2001 From: Max Klein Date: Fri, 30 Aug 2019 16:00:21 -0700 Subject: [PATCH 173/221] add intermediate redirectiong state --- utils/url_unshortener.py | 1 + 1 file changed, 1 insertion(+) diff --git a/utils/url_unshortener.py b/utils/url_unshortener.py index 2f5b6b2..302d943 100644 --- a/utils/url_unshortener.py +++ b/utils/url_unshortener.py @@ -133,6 +133,7 @@ def setErrorOnUrls(urls, error_url, err_msg, status_code=None): url_dict['final_url'] = redirect_url url_dict['status_code'] = result.status_code url_dict['curr_url'] = redirect_url + url_dict['success'] = 'redirecting...' except KeyError: # no location to find urls = setErrorOnUrls(urls, result.url, 'BadRedirect') except InvalidURL: From 5e08845feffecb8f01ea8e97e7b8ea7f5e08e790 Mon Sep 17 00:00:00 2001 From: mmou Date: Tue, 1 Oct 2019 14:17:36 -0700 Subject: [PATCH 174/221] add get_tlds method (#50) * fixes to url extraction * add get_tlds method * clean up --- app/controller.py | 26 +++- .../twitter_analysis_controller.py | 143 ++++++++++++++++++ app/controllers/twitter_controller.py | 74 --------- utils/common.py | 4 +- 4 files changed, 167 insertions(+), 80 deletions(-) create mode 100644 app/controllers/twitter_analysis_controller.py diff --git a/app/controller.py b/app/controller.py index 223e199..66335f0 100644 --- a/app/controller.py +++ b/app/controller.py @@ -17,6 +17,7 @@ import app.controllers.sticky_comment_experiment_controller import app.controllers.lumen_controller import app.controllers.twitter_controller +import app.controllers.twitter_analysis_controller import app.controllers.twitter_observational_analysis_controller from utils.common import PageType, DbEngine import app.cs_logger @@ -29,6 +30,7 @@ ### LOAD SQLALCHEMY SESSION db_session = DbEngine(os.path.join(BASE_DIR, "config") + "/{env}.json".format(env=ENV)).new_session() +db_session_write = DbEngine(os.path.join(BASE_DIR, "config") + "/{env}.json".format(env=ENV)).new_session() db_session_twit_conn = DbEngine(os.path.join(BASE_DIR, "config") + "/{env}.json".format(env=ENV)).new_session() # LOAD LOGGER @@ -237,11 +239,27 @@ def output_unshorten_urls(): # twitter_conn.checkin_endpoint() log.info("Finished unshorten twitter urls") -def twitter_observational_analysis_basic_profiling(): - tb = app.controllers.twitter_observational_analysis_controller.TwitterBasicProfilingController( - "/home/mmou/Dropbox/Documents/Chronos/MIT/CM/CivilServant", db_session, log) - tb.basic_profiling_create_dataset() +def extract_twitter_urls2(): + """ + extract all the twitter statuses urls + """ + t = app.controllers.twitter_analysis_controller.TwitterAnalysisController(db_session, db_session_write, twitter_conn, log) + log.info('Starting extract twitter urls') + t.extract_urls2() + # twitter_conn.checkin_endpoint() + log.info("Finished extract twitter urls") + +# example usage: `python3 app/controller.py get_tlds 1400 1700` +def get_tlds(start, end): + """ + get tlds from unshortened twitter status urls + """ + t = app.controllers.twitter_analysis_controller.TwitterAnalysisController(db_session, db_session_write, twitter_conn, log) + log.info('Starting get tlds') + + t.get_tlds(int(start), int(end)) + log.info('Finishing get tlds') def extract_twitter_urls(twitter_uid=None): """ diff --git a/app/controllers/twitter_analysis_controller.py b/app/controllers/twitter_analysis_controller.py new file mode 100644 index 0000000..13f4fa1 --- /dev/null +++ b/app/controllers/twitter_analysis_controller.py @@ -0,0 +1,143 @@ +import random +from operator import eq + +import redis +import twitter +import simplejson as json +import datetime +from app.models import Base, TwitterUser, TwitterStatus, LumenNoticeToTwitterUser, TwitterUserSnapshot, TwitterFill, \ + TwitterUnshortenedUrls, TwitterStatusUrls, TwitterTlds +import requests +import sqlalchemy +from sqlalchemy import and_, or_, func, distinct +import utils.common +from utils.common import TwitterUserState, NOT_FOUND_TWITTER_USER_STR, CS_JobState, neq, EXPERIMENT_LANGUAGES, TwitterUrlKey +import sys, warnings, os +from collections import defaultdict + +from utils.url_unshortener import bulkUnshorten + +import tldextract + +TWITTER_DATETIME_STR_FORMAT = "%a %b %d %H:%M:%S %z %Y" + + +class TwitterAnalysisController(): + def __init__(self, db_session, db_session_write, t, log): + self.t = t + self.db_session = db_session + self.db_session_write = db_session_write + self.log = log + + # "script 2" + def get_tlds(self, start, end): + batch = 5000 + for i in range(start, end): + rows = self.db_session.query(TwitterStatusUrls) \ + .filter(and_(TwitterStatusUrls.id >= i*batch, \ + TwitterStatusUrls.id < (i+1)*batch, \ + TwitterStatusUrls.tld_text == None \ + )) + self.log.info('Extracting tlds from URLS... {0} rows'.format(i*batch)) + for row in rows: + full_url = row.unshortened_url if row.unshortened_url is not None else row.expanded_url + tld = tldextract.extract(full_url).registered_domain.lower() # primary key + self.log.info('...... id={0}, url={1}, tld={2}'.format(row.id, full_url, tld)) + row.tld_text = tld + self.db_session.commit() + + # "script 1" + def extract_urls2(self): + i = 0 + count = 0 + for user_status in self.db_session.query(TwitterStatus).order_by(TwitterStatus.id).yield_per(1000): + self.log.info('Extracting URLS... {0} statuses, {1} urls; current status id = {2}'.format(i, count, user_status.id)) + status_data = json.loads(user_status.status_data.encode("utf-8", "replace")) if user_status.status_data is not None else None + url_rows = self.extract_urls_from_status_data(user_status.id, status_data, None) + i += 1 + count += len(url_rows) + if len(url_rows) > 0: + self.log.info("...status id {0} attempting commit of {1} urls".format(user_status.id, len(url_rows))) + self.db_session_write.add_all(url_rows) + self.db_session_write.commit() + self.log.info("...status id {0} commited {1}".format(user_status.id, len(url_rows))) + else: + self.db_session_write.flush() + + + def extract_urls(self, twitter_uid=None): + + if twitter_uid is None: + status_users_res = self.db_session.query(distinct(TwitterStatus.user_id)).all() + status_user_ids = [user_tup[0] for user_tup in status_users_res if user_tup[0]] + else: + status_user_ids = [int(twitter_uid)] + + for i, status_user_id in enumerate(status_user_ids): + self.log.info('Extracting URLS for user id {0}. {1} of {2}'.format(status_user_id, i, len(status_user_ids))) + # get all user's tweets + + user_statuses = self.db_session.query(TwitterStatus).filter(TwitterStatus.user_id==status_user_id).all() + + for user_status in user_statuses: + status_data = json.loads(user_status.status_data) + url_rows = self.extract_urls_from_status_data(user_status.id, status_data, None) + self.db_session.add_all(url_rows) + self.db_session.commit() + + + # returns list of TwitterStatusUrls + def extract_urls_from_status_data(self, status_id, status_data, default_key): + url_rows = [] + if status_data is None: + return url_rows + + if 'entities' in status_data and 'urls' in status_data['entities']: + urls = status_data['entities']['urls'] + key = default_key if default_key is not None else TwitterUrlKey.ENTITY + + for url in urls: + url_row = TwitterStatusUrls( + twitter_status_id = status_id, + status_data_key = key.value, + raw_url = url['url'] if 'url' in url else None, + expanded_url = url['expanded_url'] if 'expanded_url' in url else None, + unwound_url = url['unwound']['url'] if 'unwound' in url and 'url' in data['unwound'] else None) + + self.log.info('...status id {0}: got url={1}; total={2}'.format(status_id, url['url'], len(url_rows)+1)) + url_rows.append(url_row) + + if 'extended_entities' in status_data and 'media' in status_data['extended_entities']: + urls = status_data['extended_entities']['media'] + key = default_key if default_key is not None else TwitterUrlKey.EXTENDED + if key is TwitterUrlKey.RETWEETED_ENTITY: + key = TwitterUrlKey.RETWEETED_EXTENDED + elif key is TwitterUrlKey.QUOTED_ENTITY: + key = TwitterUrlKey.QUOTED_EXTENDED + + for media in urls: + url_row = TwitterStatusUrls( + twitter_status_id = status_id, + status_data_key = key.value, + raw_url = media['url'] if 'url' in media else None, + expanded_url = media['expanded_url'] if 'expanded_url' in media else None, + unwound_url = media['unwound']['url'] if 'unwound' in media and 'url' in media['unwound'] else None) + + self.log.info('...status id {0}: got url={1}; total={2}'.format(status_id, media['url'], len(url_rows)+1)) + url_rows.append(url_row) + + if 'retweeted_status' in status_data: + retweeted_url_rows = self.extract_urls_from_status_data(status_id, + status_data['retweeted_status'], + TwitterUrlKey.RETWEETED_ENTITY) + url_rows += retweeted_url_rows + + + if 'quoted_status' in status_data: + quoted_url_rows = self.extract_urls_from_status_data(status_id, + status_data['quoted_status'], + TwitterUrlKey.QUOTED_ENTITY) + url_rows += quoted_url_rows + + + return url_rows diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 325a8e6..3b1a21f 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -933,77 +933,3 @@ def output_unshorten_urls(self): self.log.info('Unshortening URLS for user id {0}. {1} of {2}'.format(status_user_id, i, len(status_user_ids))) user_statuses = self.db_session.query(TwitterStatus).filter(TwitterStatus.user_id==status_user_id).all() status_urls_flat = [] - - - def extract_urls(self, twitter_uid=None): - - if twitter_uid is None: - status_users_res = self.db_session.query(distinct(TwitterStatus.user_id)).all() - status_user_ids = [user_tup[0] for user_tup in status_users_res if user_tup[0]] - else: - status_user_ids = [int(twitter_uid)] - - for i, status_user_id in enumerate(status_user_ids): - self.log.info('Extracting URLS for user id {0}. {1} of {2}'.format(status_user_id, i, len(status_user_ids))) - # get all user's tweets - - user_statuses = self.db_session.query(TwitterStatus).filter(TwitterStatus.user_id==status_user_id).all() - - for user_status in user_statuses: - status_data = json.loads(user_status.status_data) - url_rows = self.extract_urls_from_status_data(user_status.id, status_data, None) - self.db_session.add_all(url_rows) - self.db_session.commit() - - - # returns list of TwitterStatusUrls - def extract_urls_from_status_data(self, status_id, status_data, default_key): - url_rows = [] - - if 'entities' in status_data and 'urls' in status_data['entities']: - urls = status_data['entities']['urls'] - key = default_key if default_key is not None else TwitterUrlKey.ENTITY - - for url in urls: - url_row = TwitterStatusUrls( - twitter_status_id = status_id, - status_data_key = key.value, - raw_url = url['url'] if 'url' in url else None, - expanded_url = url['expanded_url'] if 'expanded_url' in url else None, - unwound_url = url['unwound']['url'] if 'unwound' in url and 'url' in data['unwound'] else None) - - #self.log.info('...status id {0}: got url={1}; total={2}'.format(status_id, url['url'], len(url_rows)+1)) - url_rows.append(url_row) - - if 'extended_entities' in status_data and 'media' in status_data['extended_entities']: - urls = status_data['extended_entities']['media'] - key = default_key if default_key is not None else TwitterUrlKey.EXTENDED - if key is TwitterUrlKey.RETWEETED_ENTITY: - key = TwitterUrlKey.RETWEETED_EXTENDED - elif key is TwitterUrlKey.QUOTED_ENTITY: - key = TwitterUrlKey.QUOTED_EXTENDED - - for media in urls: - url_row = TwitterStatusUrls( - twitter_status_id = status_id, - status_data_key = key.value, - raw_url = media['url'] if 'url' in media else None, - expanded_url = media['expanded_url'] if 'expanded_url' in media else None, - unwound_url = media['unwound']['url'] if 'unwound' in media and 'url' in media['unwound'] else None) - - #self.log.info('...user id {0}: got url; total={1}'.format(status_id, len(url_rows)+1)) - url_rows.append(url_row) - - if 'retweeted_status' in status_data: - retweeted_url_rows = self.extract_urls_from_status_data(status_id, - status_data['retweeted_status'], - TwitterUrlKey.RETWEETED_ENTITY) - url_rows += retweeted_url_rows - - if 'quoted_status' in status_data: - quoted_url_rows = self.extract_urls_from_status_data(status_id, - status_data['quoted_status'], - TwitterUrlKey.QUOTED_ENTITY) - url_rows += quoted_url_rows - - return url_rows diff --git a/utils/common.py b/utils/common.py index bc4a7ba..1f3346b 100644 --- a/utils/common.py +++ b/utils/common.py @@ -119,11 +119,11 @@ def new_session(self): from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker from app.models import Base - db_engine = create_engine("mysql://{user}:{password}@{host}/{database}".format( + db_engine = create_engine("mysql://{user}:{password}@{host}/{database}?charset=utf8mb4".format( host = DBCONFIG['host'], user = DBCONFIG['user'], password = DBCONFIG['password'], - database = DBCONFIG['database']), pool_recycle=3600) + database = DBCONFIG['database']), pool_recycle=3600, encoding='utf8') Base.metadata.bind = db_engine DBSession = sessionmaker(bind=db_engine) From 9338a972a2a79888b7de141ca9ba2bbcd4bc949a Mon Sep 17 00:00:00 2001 From: Max Klein Date: Fri, 29 Nov 2019 11:00:15 -0800 Subject: [PATCH 175/221] Auto stash before merge of "mmou-twitter-analysis" and "origin/mmou-twitter-analysis" --- .../data_completeness_verification.ipynb | 2161 +++++++++++++++ utils/ipynb/production_over_ssh.ipynb | 63 + ...r_observational_analysis_controller2.ipynb | 1307 +++++++++ ...l_unshortener bit.ly tiny.url tester.ipynb | 1310 +++++++++ .../url_unshortener_frequency_count.ipynb | 146 + .../url_unshortener_prod_investigator.ipynb | 2417 +++++++++++++++++ utils/ipynb/url_unshortener_profile.ipynb | 226 ++ utils/ipynb/url_unshortener_verify.ipynb | 158 ++ ...nshortener_verify_unshorten_complete.ipynb | 817 ++++++ utils/url_unshortener_frequency_count.py | 68 + 10 files changed, 8673 insertions(+) create mode 100644 utils/ipynb/data_completeness_verification.ipynb create mode 100644 utils/ipynb/production_over_ssh.ipynb create mode 100644 utils/ipynb/twitter_observational_analysis_controller2.ipynb create mode 100644 utils/ipynb/url_unshortener bit.ly tiny.url tester.ipynb create mode 100644 utils/ipynb/url_unshortener_frequency_count.ipynb create mode 100644 utils/ipynb/url_unshortener_prod_investigator.ipynb create mode 100644 utils/ipynb/url_unshortener_profile.ipynb create mode 100644 utils/ipynb/url_unshortener_verify.ipynb create mode 100644 utils/ipynb/url_unshortener_verify_unshorten_complete.ipynb create mode 100644 utils/url_unshortener_frequency_count.py diff --git a/utils/ipynb/data_completeness_verification.ipynb b/utils/ipynb/data_completeness_verification.ipynb new file mode 100644 index 0000000..b5f02b9 --- /dev/null +++ b/utils/ipynb/data_completeness_verification.ipynb @@ -0,0 +1,2161 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Goals\n", + "+ summaries\n", + "+ number of and backfills per user\n", + "+ number of wont_process\n", + "+ how many language changers\n", + "\n", + "`ssh -N dmca@cox.media.mit.edu -L 3308:cox.media.mit.edu:3306`\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "import sys\n", + "sys.path.append('/home/paprika/workspace/CivilServant-twitter/')\n", + "from utils.common import DbEngine\n", + "import os\n", + "import inspect\n", + "from app.models import TwitterStatus, TwitterFill, TwitterUser\n", + "import json\n", + "from sqlalchemy.sql.expression import func as sqlfunc\n", + "import datetime\n", + "\n", + "BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), \"..\")\n", + "ENV = 'production'\n", + "db_session = DbEngine(os.path.join(BASE_DIR, \"config\") + \"/{env}.json\".format(env=ENV)).new_session()\n", + "\n", + "import pandas as pd\n", + "from sqlalchemy import create_engine\n", + "constr= 'mysql://civilservant@0.0.0.0:3308/civilservant_production'\n", + "con = create_engine(constr)\n", + "# con.execute('show tables;').fetchall()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "should_be_filled = pd.read_sql(\"select * from twitter_users where user_rand <=0.5 and lang in ('en', 'en-gb', 'en-GB')\", con)" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [], + "source": [ + "should_be_filled['id'] = should_be_filled['id'].apply(int)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "fill_records = pd.read_sql(\"select * from twitter_fills\", con)" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/ipykernel_launcher.py:1: FutureWarning: Using 'rename_axis' to alter labels is deprecated. Use '.rename' instead\n", + " \"\"\"Entry point for launching an IPython kernel.\n" + ] + } + ], + "source": [ + "fill_records_users = pd.DataFrame(fill_records.groupby('user_id').size()).reset_index().rename_axis({0:\"num_fills\"},axis=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": {}, + "outputs": [], + "source": [ + "user_fills = pd.merge(should_be_filled, fill_records_users, how='outer', left_on='id', right_on='user_id')" + ] + }, + { + "cell_type": "code", + "execution_count": 101, + "metadata": {}, + "outputs": [], + "source": [ + "complete_user_cands = user_fills[(pd.notnull(user_fills['id'])) & (pd.notnull(user_fills['user_id']))]" + ] + }, + { + "cell_type": "code", + "execution_count": 103, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(16370, 12)" + ] + }, + "execution_count": 103, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "complete_user_cands.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 108, + "metadata": {}, + "outputs": [], + "source": [ + "complete_user_cands_enough_fills = complete_user_cands[complete_user_cands['num_fills'] >= 22]" + ] + }, + { + "cell_type": "code", + "execution_count": 110, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(16341, 12)" + ] + }, + "execution_count": 110, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "complete_user_cands_enough_fills.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 111, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(29, 12)" + ] + }, + "execution_count": 111, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "complete_user_cands[complete_user_cands['num_fills'] <22].shape" + ] + }, + { + "cell_type": "code", + "execution_count": 105, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(16146, 12)" + ] + }, + "execution_count": 105, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "complete_user_cands_enough_fills.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 113, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "23.0 8538\n", + "24.0 7608\n", + "22.0 195\n", + "Name: num_fills, dtype: int64" + ] + }, + "execution_count": 113, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "complete_user_cands_enough_fills['num_fills'].value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "metadata": {}, + "outputs": [], + "source": [ + "#who had fills which aren't in should fill\n", + "sample_mystery_filled = list(user_fills[pd.isnull(user_fills['id'])]['user_id'].apply(int).values)\n", + "sample_mystery_filled_str = [str(x) for x in sample_mystery_filled]" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_00900ll_1549959062589'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_00moonmm_1550002438319'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_01010109?protected_redirect=tr..._1549418634754'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_01dtlz_1549115991045'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_0205_dance_1549397006851'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_0226arashic_1549353742920'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_031nuttynice_1547818936617'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_0721natsumi1021_1548132346322'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_07mj11_1549742930111'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_07uzuki20?protected_redirect=t..._1550099737549'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_08060516_aiiii_1548770096427'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_0829yudai_1549991673717'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_0gaga_kris6_1548153978473'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_0g_mas_1549991628921'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_0jitter_bug0_1550121314047'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_0stanislav__1548208036684'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_0utofthewoodss_1550002451868'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_0_1itanimulli_1550013210344'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1013_bts__jimin_1547233088130'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_10john05_1548478238966'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1244mami_1548856600463'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_130zzxxcc_1547829731647'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_13_artists_why_1549829347052'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_15sosdsae__1549407961194'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_170kg_pigwoman_1550077990341'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_17sbabe_1549483498993'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1991_esposito_1547667635823'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1998raph_1547732453900'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1999annv_1548326947129'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1999exo0417_1550077989170'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1999jolie_1547233113704'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1999redcorvette_1549029541481'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1baker9_1547494685682'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1bubbs3_1547548691003'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1cj0gjh8pty5fr3_1549537546580'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1d8s3?protected_redirect=true_1549526747396'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1dgpsofficial_1549342962267'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1d__mysweet_1550121292009'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1goma2goma3goma_1549959071741'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1kanebrownfan_1547624361725'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1o17jayy_1548153980391'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1p_cc_1549559103923'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1qwelh_1548208039103'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1scorpinov_1549991660094'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_22xmonster_1550132007639'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_23nova_?protected_redirect=tru..._1550121312536'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_24335kao_1548348531825'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_25greeeen2_1548856594832'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_28moh82?protected_redirect=tru..._1548835006273'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_2bu5aled_1549407972144'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_2l7dxjpplrsfx4g_1547559528084'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_2nite_xo_1549407970346'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_2_7_k_1550013204489'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_2_tailz_1550121277907'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_30secondeuropop_1549688890095'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_327fq_1550132006493'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_3333dii_1548932224458'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_365days_hello_1548824111084'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_36708b5412ec424_1547581158951'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_383_yo__1547645979957'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_38ryannt_1549623996721'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_3almalkoora8_1549483502280'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_3boosh123_1549840168707'\")\n", + " cursor.execute(statement, parameters)\n", + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_3cbeats_1549429402277'\")\n", + " cursor.execute(statement, parameters)\n" + ] + } + ], + "source": [ + "mystery_filled = pd.read_sql(f\"select * from twitter_users where id in ({','.join(sample_mystery_filled_str)}) \", con)" + ] + }, + { + "cell_type": "code", + "execution_count": 112, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(81, 10)" + ] + }, + "execution_count": 112, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mystery_filled.shape #these users all have different languages now" + ] + }, + { + "cell_type": "code", + "execution_count": 81, + "metadata": {}, + "outputs": [], + "source": [ + "mystery_unfilled = user_fills[pd.isnull(user_fills['user_id'])]" + ] + }, + { + "cell_type": "code", + "execution_count": 83, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(278, 12)" + ] + }, + "execution_count": 83, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mystery_unfilled.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 87, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idnot_found_idscreen_namecreated_atrecord_created_atlanguser_stateCS_oldest_tweets_archivedlast_attempted_processuser_randuser_idnum_fills
221.000721e+18Noneking3prince3522018-05-27 12:50:042019-02-14 14:14:13en1.01.02019-02-14 14:14:130.447045NaNNaN
1091.004758e+18Nonesaranvikaash22018-06-07 16:11:322019-01-11 18:56:04en1.02.02019-01-11 18:59:160.116588NaNNaN
1161.004938e+18Nonetfc_off2018-06-08 04:07:572019-01-11 18:55:49en1.02.02019-01-11 18:59:150.347281NaNNaN
2471.009778e+18<NOT_FOUND>_vmramkumar2_1551988407202vmramkumar22018-06-21 12:38:392019-02-14 17:14:47en2.01.02019-02-14 17:14:470.037664NaNNaN
2521.009929e+18Nonekp_six_2932018-06-21 22:41:592019-02-14 11:13:19en1.01.02019-02-14 11:13:190.484708NaNNaN
\n", + "
" + ], + "text/plain": [ + " id not_found_id screen_name \\\n", + "22 1.000721e+18 None king3prince352 \n", + "109 1.004758e+18 None saranvikaash2 \n", + "116 1.004938e+18 None tfc_off \n", + "247 1.009778e+18 _vmramkumar2_1551988407202 vmramkumar2 \n", + "252 1.009929e+18 None kp_six_293 \n", + "\n", + " created_at record_created_at lang user_state \\\n", + "22 2018-05-27 12:50:04 2019-02-14 14:14:13 en 1.0 \n", + "109 2018-06-07 16:11:32 2019-01-11 18:56:04 en 1.0 \n", + "116 2018-06-08 04:07:57 2019-01-11 18:55:49 en 1.0 \n", + "247 2018-06-21 12:38:39 2019-02-14 17:14:47 en 2.0 \n", + "252 2018-06-21 22:41:59 2019-02-14 11:13:19 en 1.0 \n", + "\n", + " CS_oldest_tweets_archived last_attempted_process user_rand user_id \\\n", + "22 1.0 2019-02-14 14:14:13 0.447045 NaN \n", + "109 2.0 2019-01-11 18:59:16 0.116588 NaN \n", + "116 2.0 2019-01-11 18:59:15 0.347281 NaN \n", + "247 1.0 2019-02-14 17:14:47 0.037664 NaN \n", + "252 1.0 2019-02-14 11:13:19 0.484708 NaN \n", + "\n", + " num_fills \n", + "22 NaN \n", + "109 NaN \n", + "116 NaN \n", + "247 NaN \n", + "252 NaN " + ] + }, + "execution_count": 87, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mystery_unfilled.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 92, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2019-02-14 224\n", + "2019-01-11 54\n", + "Name: record_created_at, dtype: int64" + ] + }, + "execution_count": 92, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mystery_unfilled['record_created_at'].apply(lambda ts: ts.date()).value_counts() #intersting that occured on two days" + ] + }, + { + "cell_type": "code", + "execution_count": 115, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idnot_found_idscreen_namecreated_atrecord_created_atlanguser_stateCS_oldest_tweets_archivedlast_attempted_processuser_randuser_idnum_fills
221.000721e+18Noneking3prince3522018-05-27 12:50:042019-02-14 14:14:13en1.01.02019-02-14 14:14:130.447045NaNNaN
1091.004758e+18Nonesaranvikaash22018-06-07 16:11:322019-01-11 18:56:04en1.02.02019-01-11 18:59:160.116588NaNNaN
1161.004938e+18Nonetfc_off2018-06-08 04:07:572019-01-11 18:55:49en1.02.02019-01-11 18:59:150.347281NaNNaN
2521.009929e+18Nonekp_six_2932018-06-21 22:41:592019-02-14 11:13:19en1.01.02019-02-14 11:13:190.484708NaNNaN
2721.010537e+09Noneitslarisf2012-12-14 06:34:392019-02-14 08:13:08en1.01.02019-02-14 08:13:080.096393NaNNaN
2761.010776e+18Nonesamthejamyo2018-06-24 06:46:512019-02-14 17:14:47en1.01.02019-02-14 17:14:470.486690NaNNaN
3181.012276e+18Nonemovingirwins2018-06-28 10:07:052019-02-14 08:13:06en1.01.02019-02-14 08:13:060.089458NaNNaN
3551.013793e+18Noneshoh__kp2018-07-02 14:34:422019-02-14 14:14:13en1.01.02019-02-14 14:14:130.379994NaNNaN
4391.016940e+18Noneyyalkz2018-07-11 06:57:342019-02-14 14:14:10en1.01.02019-02-14 14:14:100.117191NaNNaN
6881.026455e+18Nonemichieda_aya2018-08-06 13:10:212019-02-14 14:14:11en1.01.02019-02-14 14:14:110.364396NaNNaN
7161.027504e+18Nonesonusha525299982018-08-09 10:36:292019-02-14 17:14:47en1.01.02019-02-14 17:14:470.469065NaNNaN
7341.028311e+18Nonejason_leal162018-08-11 16:05:322019-02-14 08:13:06en1.01.02019-02-14 08:13:060.406665NaNNaN
8821.034379e+08Nonek1rk692010-01-10 01:08:092019-02-14 08:13:08en1.01.02019-02-14 08:13:080.480976NaNNaN
8891.034945e+09Nonebrittttlyon2012-12-25 14:50:312019-02-14 08:13:06en1.01.02019-02-14 08:13:060.330158NaNNaN
11231.044797e+18Noneyasmeen741801842018-09-26 03:52:372019-02-14 17:14:52en1.01.02019-02-14 17:14:520.156612NaNNaN
11331.045257e+18Nonerakulpreetfc_102018-09-27 10:21:022019-02-14 08:13:06en1.01.02019-02-14 08:13:060.076495NaNNaN
12131.048741e+09Nonehayleyychandler2012-12-30 20:23:242019-02-14 08:13:09en1.01.02019-02-14 08:13:090.312503NaNNaN
12231.049140e+18Nonentranteypichhi2018-10-08 03:30:352019-01-11 18:56:04en1.02.02019-01-11 18:59:160.232001NaNNaN
12621.050721e+18Noneanandnandu9992018-10-12 12:13:512019-02-14 14:14:12en1.01.02019-02-14 14:14:120.154438NaNNaN
14111.055296e+18Noneiharisakthi_2018-10-25 03:11:522019-01-11 18:56:04en1.02.02019-01-11 18:59:160.451444NaNNaN
14711.056942e+18Nonesasitha491690992018-10-29 16:14:492019-01-11 18:55:53en1.02.02019-01-11 18:59:150.351245NaNNaN
15881.060391e+18Noneeditslibin2018-11-08 04:38:582019-02-14 14:14:10en1.01.02019-02-14 14:14:100.460377NaNNaN
15901.060412e+18Nonenishavfc2018-11-08 06:03:052019-01-11 18:56:01en1.02.02019-01-11 18:59:150.404630NaNNaN
16031.060586e+18Nonesanthuoffl2018-11-08 17:31:082019-01-11 18:55:50en1.02.02019-01-11 18:59:150.137992NaNNaN
16071.060641e+18Noneyaivelle2018-11-08 21:13:332019-01-11 18:55:55en1.02.02019-01-11 18:59:150.131699NaNNaN
20071.072082e+18Nonenaniwa______ok2018-12-10 10:54:322019-02-14 14:14:12en1.01.02019-02-14 14:14:120.113851NaNNaN
20211.072787e+18Noneninja2020_2018-12-12 09:36:512019-02-14 14:14:11en1.01.02019-02-14 14:14:110.300609NaNNaN
20451.073321e+18Nonesowhatboya2018-12-13 20:55:322019-01-11 18:55:57en1.02.02019-01-11 18:59:150.064703NaNNaN
20991.074598e+18Nonenanthinioffical2018-12-17 09:29:522019-02-14 14:14:10en1.01.02019-02-14 14:14:100.023110NaNNaN
23011.079729e+18None1dott32018-12-31 13:18:392019-01-11 18:55:57en1.02.02019-01-11 18:59:150.062495NaNNaN
.......................................
143048.494336e+07Nonelucieeverity2009-10-24 21:33:102019-02-14 08:13:12en1.01.02019-02-14 08:13:120.043008NaNNaN
143708.562510e+17Nonewaanderlusst2017-04-23 20:58:462019-02-14 17:14:51en1.01.02019-02-14 17:14:510.097205NaNNaN
143838.578108e+17Noneshuaib649796082017-04-28 04:16:372019-01-11 18:56:01en1.02.02019-01-11 18:59:150.320781NaNNaN
146208.741099e+17Noneratxhetz2017-06-12 03:43:412019-02-14 17:14:55en1.01.02019-02-14 17:14:550.260612NaNNaN
146678.772602e+17Noneinimitablearts2017-06-20 20:21:532019-01-11 18:55:52en1.02.02019-01-11 18:59:150.316613NaNNaN
147728.849808e+17Nonebrittbearmua2017-07-12 03:40:342019-02-14 17:14:47en1.01.02019-02-14 17:14:470.368819NaNNaN
147848.855415e+17Nonekrishna480693932017-07-13 16:48:522019-01-11 18:56:00en1.02.02019-01-11 18:59:150.084215NaNNaN
149208.936912e+08Noneabrianaawhite2012-10-20 17:38:312019-02-14 08:13:07en1.01.02019-02-14 08:13:070.067116NaNNaN
149618.956578e+17Noneameeshahamed2017-08-10 14:47:122019-01-11 18:55:58en1.02.02019-01-11 18:59:150.296250NaNNaN
150619.007341e+17Noneilluminatewdw2017-08-24 14:58:352019-02-14 08:13:14en1.01.02019-02-14 08:13:140.205326NaNNaN
152099.107607e+08Nonemarie_alvarez292012-10-28 17:36:082019-02-14 17:14:50en1.01.02019-02-14 17:14:500.169447NaNNaN
152279.122273e+17Noneiibrachu2017-09-25 08:08:332019-02-14 08:13:07en1.01.02019-02-14 08:13:070.196728NaNNaN
154179.250636e+17Noneconniexspinosa2017-10-30 18:15:192019-01-11 18:55:58en1.02.02019-01-11 18:59:150.287486NaNNaN
154569.272566e+17Noneaestheticaly_me2017-11-05 19:29:432019-02-14 08:13:06en1.01.02019-02-14 08:13:060.384002NaNNaN
156439.399361e+17Nonescarredweeb2017-12-10 19:13:332019-02-14 17:14:48en1.01.02019-02-14 17:14:480.276382NaNNaN
157629.487091e+17Nonemo_ba62018-01-04 00:14:172019-02-14 17:14:46en1.01.02019-02-14 17:14:460.126411NaNNaN
157729.491636e+17Nonejhaymee82018-01-05 06:20:042019-02-14 08:13:14en1.01.02019-02-14 08:13:140.364309NaNNaN
157799.497305e+17Nonejust_vamshi2018-01-06 19:53:022019-01-11 18:55:50en1.02.02019-01-11 18:59:150.310727NaNNaN
158339.527134e+17Nonemovietime24x72018-01-15 01:25:552019-01-11 18:55:58en1.02.02019-01-11 18:59:150.403430NaNNaN
161019.693521e+17Noneid6lls2018-03-01 23:21:562019-02-14 17:14:48en1.01.02019-02-14 17:14:480.138714NaNNaN
161689.729692e+17Noneklcroline2018-03-11 22:55:142019-02-14 17:14:55en1.01.02019-02-14 17:14:550.398556NaNNaN
162009.756704e+08Nonesulianafonofehi2012-11-28 08:41:502019-02-14 08:13:06en1.01.02019-02-14 08:13:060.258526NaNNaN
162829.798986e+17Noneyouquerbaby2018-03-31 01:50:122019-02-14 17:14:47en1.01.02019-02-14 17:14:470.118254NaNNaN
162839.798989e+17Noneaaliyahjanell2018-03-31 01:51:262019-01-11 18:55:51en1.02.02019-01-11 18:59:150.117534NaNNaN
163129.822648e+17Nonesportvision_2018-04-06 14:32:382019-01-11 18:56:04en1.02.02019-01-11 18:59:160.438239NaNNaN
163139.822750e+17Nonemassmani33332018-04-06 15:13:092019-02-14 14:14:10en1.01.02019-02-14 14:14:100.331496NaNNaN
163619.852701e+17Noneislaphavx2018-04-14 21:34:352019-01-11 18:55:51en1.02.02019-01-11 18:59:150.344640NaNNaN
163929.862534e+17Nonemarvin362006172018-04-17 14:41:502019-01-11 18:56:04en1.02.02019-01-11 18:59:160.155409NaNNaN
164579.908752e+06Nonerviddy2007-11-03 06:31:062019-02-14 08:13:08en1.01.02019-02-14 08:13:080.348572NaNNaN
164759.917771e+17Nonetaekookvocal2018-05-02 20:30:512019-02-14 17:14:48en1.01.02019-02-14 17:14:480.325590NaNNaN
\n", + "

263 rows × 12 columns

\n", + "
" + ], + "text/plain": [ + " id not_found_id screen_name created_at \\\n", + "22 1.000721e+18 None king3prince352 2018-05-27 12:50:04 \n", + "109 1.004758e+18 None saranvikaash2 2018-06-07 16:11:32 \n", + "116 1.004938e+18 None tfc_off 2018-06-08 04:07:57 \n", + "252 1.009929e+18 None kp_six_293 2018-06-21 22:41:59 \n", + "272 1.010537e+09 None itslarisf 2012-12-14 06:34:39 \n", + "276 1.010776e+18 None samthejamyo 2018-06-24 06:46:51 \n", + "318 1.012276e+18 None movingirwins 2018-06-28 10:07:05 \n", + "355 1.013793e+18 None shoh__kp 2018-07-02 14:34:42 \n", + "439 1.016940e+18 None yyalkz 2018-07-11 06:57:34 \n", + "688 1.026455e+18 None michieda_aya 2018-08-06 13:10:21 \n", + "716 1.027504e+18 None sonusha52529998 2018-08-09 10:36:29 \n", + "734 1.028311e+18 None jason_leal16 2018-08-11 16:05:32 \n", + "882 1.034379e+08 None k1rk69 2010-01-10 01:08:09 \n", + "889 1.034945e+09 None brittttlyon 2012-12-25 14:50:31 \n", + "1123 1.044797e+18 None yasmeen74180184 2018-09-26 03:52:37 \n", + "1133 1.045257e+18 None rakulpreetfc_10 2018-09-27 10:21:02 \n", + "1213 1.048741e+09 None hayleyychandler 2012-12-30 20:23:24 \n", + "1223 1.049140e+18 None ntranteypichhi 2018-10-08 03:30:35 \n", + "1262 1.050721e+18 None anandnandu999 2018-10-12 12:13:51 \n", + "1411 1.055296e+18 None iharisakthi_ 2018-10-25 03:11:52 \n", + "1471 1.056942e+18 None sasitha49169099 2018-10-29 16:14:49 \n", + "1588 1.060391e+18 None editslibin 2018-11-08 04:38:58 \n", + "1590 1.060412e+18 None nishavfc 2018-11-08 06:03:05 \n", + "1603 1.060586e+18 None santhuoffl 2018-11-08 17:31:08 \n", + "1607 1.060641e+18 None yaivelle 2018-11-08 21:13:33 \n", + "2007 1.072082e+18 None naniwa______ok 2018-12-10 10:54:32 \n", + "2021 1.072787e+18 None ninja2020_ 2018-12-12 09:36:51 \n", + "2045 1.073321e+18 None sowhatboya 2018-12-13 20:55:32 \n", + "2099 1.074598e+18 None nanthinioffical 2018-12-17 09:29:52 \n", + "2301 1.079729e+18 None 1dott3 2018-12-31 13:18:39 \n", + "... ... ... ... ... \n", + "14304 8.494336e+07 None lucieeverity 2009-10-24 21:33:10 \n", + "14370 8.562510e+17 None waanderlusst 2017-04-23 20:58:46 \n", + "14383 8.578108e+17 None shuaib64979608 2017-04-28 04:16:37 \n", + "14620 8.741099e+17 None ratxhetz 2017-06-12 03:43:41 \n", + "14667 8.772602e+17 None inimitablearts 2017-06-20 20:21:53 \n", + "14772 8.849808e+17 None brittbearmua 2017-07-12 03:40:34 \n", + "14784 8.855415e+17 None krishna48069393 2017-07-13 16:48:52 \n", + "14920 8.936912e+08 None abrianaawhite 2012-10-20 17:38:31 \n", + "14961 8.956578e+17 None ameeshahamed 2017-08-10 14:47:12 \n", + "15061 9.007341e+17 None illuminatewdw 2017-08-24 14:58:35 \n", + "15209 9.107607e+08 None marie_alvarez29 2012-10-28 17:36:08 \n", + "15227 9.122273e+17 None iibrachu 2017-09-25 08:08:33 \n", + "15417 9.250636e+17 None conniexspinosa 2017-10-30 18:15:19 \n", + "15456 9.272566e+17 None aestheticaly_me 2017-11-05 19:29:43 \n", + "15643 9.399361e+17 None scarredweeb 2017-12-10 19:13:33 \n", + "15762 9.487091e+17 None mo_ba6 2018-01-04 00:14:17 \n", + "15772 9.491636e+17 None jhaymee8 2018-01-05 06:20:04 \n", + "15779 9.497305e+17 None just_vamshi 2018-01-06 19:53:02 \n", + "15833 9.527134e+17 None movietime24x7 2018-01-15 01:25:55 \n", + "16101 9.693521e+17 None id6lls 2018-03-01 23:21:56 \n", + "16168 9.729692e+17 None klcroline 2018-03-11 22:55:14 \n", + "16200 9.756704e+08 None sulianafonofehi 2012-11-28 08:41:50 \n", + "16282 9.798986e+17 None youquerbaby 2018-03-31 01:50:12 \n", + "16283 9.798989e+17 None aaliyahjanell 2018-03-31 01:51:26 \n", + "16312 9.822648e+17 None sportvision_ 2018-04-06 14:32:38 \n", + "16313 9.822750e+17 None massmani3333 2018-04-06 15:13:09 \n", + "16361 9.852701e+17 None islaphavx 2018-04-14 21:34:35 \n", + "16392 9.862534e+17 None marvin36200617 2018-04-17 14:41:50 \n", + "16457 9.908752e+06 None rviddy 2007-11-03 06:31:06 \n", + "16475 9.917771e+17 None taekookvocal 2018-05-02 20:30:51 \n", + "\n", + " record_created_at lang user_state CS_oldest_tweets_archived \\\n", + "22 2019-02-14 14:14:13 en 1.0 1.0 \n", + "109 2019-01-11 18:56:04 en 1.0 2.0 \n", + "116 2019-01-11 18:55:49 en 1.0 2.0 \n", + "252 2019-02-14 11:13:19 en 1.0 1.0 \n", + "272 2019-02-14 08:13:08 en 1.0 1.0 \n", + "276 2019-02-14 17:14:47 en 1.0 1.0 \n", + "318 2019-02-14 08:13:06 en 1.0 1.0 \n", + "355 2019-02-14 14:14:13 en 1.0 1.0 \n", + "439 2019-02-14 14:14:10 en 1.0 1.0 \n", + "688 2019-02-14 14:14:11 en 1.0 1.0 \n", + "716 2019-02-14 17:14:47 en 1.0 1.0 \n", + "734 2019-02-14 08:13:06 en 1.0 1.0 \n", + "882 2019-02-14 08:13:08 en 1.0 1.0 \n", + "889 2019-02-14 08:13:06 en 1.0 1.0 \n", + "1123 2019-02-14 17:14:52 en 1.0 1.0 \n", + "1133 2019-02-14 08:13:06 en 1.0 1.0 \n", + "1213 2019-02-14 08:13:09 en 1.0 1.0 \n", + "1223 2019-01-11 18:56:04 en 1.0 2.0 \n", + "1262 2019-02-14 14:14:12 en 1.0 1.0 \n", + "1411 2019-01-11 18:56:04 en 1.0 2.0 \n", + "1471 2019-01-11 18:55:53 en 1.0 2.0 \n", + "1588 2019-02-14 14:14:10 en 1.0 1.0 \n", + "1590 2019-01-11 18:56:01 en 1.0 2.0 \n", + "1603 2019-01-11 18:55:50 en 1.0 2.0 \n", + "1607 2019-01-11 18:55:55 en 1.0 2.0 \n", + "2007 2019-02-14 14:14:12 en 1.0 1.0 \n", + "2021 2019-02-14 14:14:11 en 1.0 1.0 \n", + "2045 2019-01-11 18:55:57 en 1.0 2.0 \n", + "2099 2019-02-14 14:14:10 en 1.0 1.0 \n", + "2301 2019-01-11 18:55:57 en 1.0 2.0 \n", + "... ... ... ... ... \n", + "14304 2019-02-14 08:13:12 en 1.0 1.0 \n", + "14370 2019-02-14 17:14:51 en 1.0 1.0 \n", + "14383 2019-01-11 18:56:01 en 1.0 2.0 \n", + "14620 2019-02-14 17:14:55 en 1.0 1.0 \n", + "14667 2019-01-11 18:55:52 en 1.0 2.0 \n", + "14772 2019-02-14 17:14:47 en 1.0 1.0 \n", + "14784 2019-01-11 18:56:00 en 1.0 2.0 \n", + "14920 2019-02-14 08:13:07 en 1.0 1.0 \n", + "14961 2019-01-11 18:55:58 en 1.0 2.0 \n", + "15061 2019-02-14 08:13:14 en 1.0 1.0 \n", + "15209 2019-02-14 17:14:50 en 1.0 1.0 \n", + "15227 2019-02-14 08:13:07 en 1.0 1.0 \n", + "15417 2019-01-11 18:55:58 en 1.0 2.0 \n", + "15456 2019-02-14 08:13:06 en 1.0 1.0 \n", + "15643 2019-02-14 17:14:48 en 1.0 1.0 \n", + "15762 2019-02-14 17:14:46 en 1.0 1.0 \n", + "15772 2019-02-14 08:13:14 en 1.0 1.0 \n", + "15779 2019-01-11 18:55:50 en 1.0 2.0 \n", + "15833 2019-01-11 18:55:58 en 1.0 2.0 \n", + "16101 2019-02-14 17:14:48 en 1.0 1.0 \n", + "16168 2019-02-14 17:14:55 en 1.0 1.0 \n", + "16200 2019-02-14 08:13:06 en 1.0 1.0 \n", + "16282 2019-02-14 17:14:47 en 1.0 1.0 \n", + "16283 2019-01-11 18:55:51 en 1.0 2.0 \n", + "16312 2019-01-11 18:56:04 en 1.0 2.0 \n", + "16313 2019-02-14 14:14:10 en 1.0 1.0 \n", + "16361 2019-01-11 18:55:51 en 1.0 2.0 \n", + "16392 2019-01-11 18:56:04 en 1.0 2.0 \n", + "16457 2019-02-14 08:13:08 en 1.0 1.0 \n", + "16475 2019-02-14 17:14:48 en 1.0 1.0 \n", + "\n", + " last_attempted_process user_rand user_id num_fills \n", + "22 2019-02-14 14:14:13 0.447045 NaN NaN \n", + "109 2019-01-11 18:59:16 0.116588 NaN NaN \n", + "116 2019-01-11 18:59:15 0.347281 NaN NaN \n", + "252 2019-02-14 11:13:19 0.484708 NaN NaN \n", + "272 2019-02-14 08:13:08 0.096393 NaN NaN \n", + "276 2019-02-14 17:14:47 0.486690 NaN NaN \n", + "318 2019-02-14 08:13:06 0.089458 NaN NaN \n", + "355 2019-02-14 14:14:13 0.379994 NaN NaN \n", + "439 2019-02-14 14:14:10 0.117191 NaN NaN \n", + "688 2019-02-14 14:14:11 0.364396 NaN NaN \n", + "716 2019-02-14 17:14:47 0.469065 NaN NaN \n", + "734 2019-02-14 08:13:06 0.406665 NaN NaN \n", + "882 2019-02-14 08:13:08 0.480976 NaN NaN \n", + "889 2019-02-14 08:13:06 0.330158 NaN NaN \n", + "1123 2019-02-14 17:14:52 0.156612 NaN NaN \n", + "1133 2019-02-14 08:13:06 0.076495 NaN NaN \n", + "1213 2019-02-14 08:13:09 0.312503 NaN NaN \n", + "1223 2019-01-11 18:59:16 0.232001 NaN NaN \n", + "1262 2019-02-14 14:14:12 0.154438 NaN NaN \n", + "1411 2019-01-11 18:59:16 0.451444 NaN NaN \n", + "1471 2019-01-11 18:59:15 0.351245 NaN NaN \n", + "1588 2019-02-14 14:14:10 0.460377 NaN NaN \n", + "1590 2019-01-11 18:59:15 0.404630 NaN NaN \n", + "1603 2019-01-11 18:59:15 0.137992 NaN NaN \n", + "1607 2019-01-11 18:59:15 0.131699 NaN NaN \n", + "2007 2019-02-14 14:14:12 0.113851 NaN NaN \n", + "2021 2019-02-14 14:14:11 0.300609 NaN NaN \n", + "2045 2019-01-11 18:59:15 0.064703 NaN NaN \n", + "2099 2019-02-14 14:14:10 0.023110 NaN NaN \n", + "2301 2019-01-11 18:59:15 0.062495 NaN NaN \n", + "... ... ... ... ... \n", + "14304 2019-02-14 08:13:12 0.043008 NaN NaN \n", + "14370 2019-02-14 17:14:51 0.097205 NaN NaN \n", + "14383 2019-01-11 18:59:15 0.320781 NaN NaN \n", + "14620 2019-02-14 17:14:55 0.260612 NaN NaN \n", + "14667 2019-01-11 18:59:15 0.316613 NaN NaN \n", + "14772 2019-02-14 17:14:47 0.368819 NaN NaN \n", + "14784 2019-01-11 18:59:15 0.084215 NaN NaN \n", + "14920 2019-02-14 08:13:07 0.067116 NaN NaN \n", + "14961 2019-01-11 18:59:15 0.296250 NaN NaN \n", + "15061 2019-02-14 08:13:14 0.205326 NaN NaN \n", + "15209 2019-02-14 17:14:50 0.169447 NaN NaN \n", + "15227 2019-02-14 08:13:07 0.196728 NaN NaN \n", + "15417 2019-01-11 18:59:15 0.287486 NaN NaN \n", + "15456 2019-02-14 08:13:06 0.384002 NaN NaN \n", + "15643 2019-02-14 17:14:48 0.276382 NaN NaN \n", + "15762 2019-02-14 17:14:46 0.126411 NaN NaN \n", + "15772 2019-02-14 08:13:14 0.364309 NaN NaN \n", + "15779 2019-01-11 18:59:15 0.310727 NaN NaN \n", + "15833 2019-01-11 18:59:15 0.403430 NaN NaN \n", + "16101 2019-02-14 17:14:48 0.138714 NaN NaN \n", + "16168 2019-02-14 17:14:55 0.398556 NaN NaN \n", + "16200 2019-02-14 08:13:06 0.258526 NaN NaN \n", + "16282 2019-02-14 17:14:47 0.118254 NaN NaN \n", + "16283 2019-01-11 18:59:15 0.117534 NaN NaN \n", + "16312 2019-01-11 18:59:16 0.438239 NaN NaN \n", + "16313 2019-02-14 14:14:10 0.331496 NaN NaN \n", + "16361 2019-01-11 18:59:15 0.344640 NaN NaN \n", + "16392 2019-01-11 18:59:16 0.155409 NaN NaN \n", + "16457 2019-02-14 08:13:08 0.348572 NaN NaN \n", + "16475 2019-02-14 17:14:48 0.325590 NaN NaN \n", + "\n", + "[263 rows x 12 columns]" + ] + }, + "execution_count": 115, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mystery_unfilled[mystery_unfilled['user_state']==1]" + ] + }, + { + "cell_type": "code", + "execution_count": 95, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1.0 263\n", + "3.0 7\n", + "4.0 5\n", + "2.0 3\n", + "Name: user_state, dtype: int64" + ] + }, + "execution_count": 95, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mystery_unfilled['user_state'].value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 98, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idnot_found_idscreen_namecreated_atrecord_created_atlanguser_stateCS_oldest_tweets_archivedlast_attempted_processuser_randuser_idnum_fills
2471.009778e+18<NOT_FOUND>_vmramkumar2_1551988407202vmramkumar22018-06-21 12:38:392019-02-14 17:14:47en2.01.02019-02-14 17:14:470.037664NaNNaN
28521.093075e+18<NOT_FOUND>__cameo_rk_1550433114537_cameo_rk2019-02-06 09:14:382019-02-14 14:14:11en2.01.02019-02-14 14:14:110.213607NaNNaN
149588.955346e+17<NOT_FOUND>_muskaan15__1551124306881muskaan15_2017-08-10 06:37:332019-02-14 17:14:48en2.01.02019-02-14 17:14:480.090239NaNNaN
18471.067934e+18<NOT_FOUND>_tamilrockers_01_1547494461960tamilrockers_012018-11-29 00:11:452019-01-11 18:55:58en3.02.02019-01-11 18:59:150.041074NaNNaN
33511.307436e+09<NOT_FOUND>_traceylife_1551729254111traceylife2013-03-27 12:58:362019-02-14 08:13:07en3.01.02019-02-14 08:13:070.137036NaNNaN
37481.469993e+08<NOT_FOUND>_rickthesizz1er_1550519488314rickthesizz1er2010-05-22 23:21:432019-02-14 08:13:14en3.01.02019-02-14 08:13:140.048442NaNNaN
66162.657943e+07<NOT_FOUND>_djdonnied_1550519526685djdonnied2009-03-25 20:12:162019-02-14 08:13:08en3.01.02019-02-14 08:13:080.027175NaNNaN
85013.219255e+09<NOT_FOUND>_loveumovies_1548790812012loveumovies2015-05-18 10:50:462019-01-11 18:55:51en3.02.02019-01-11 18:59:150.496116NaNNaN
96323.760950e+08<NOT_FOUND>_prim_primmie_1551210895369prim_primmie2011-09-19 09:09:092019-02-14 14:14:11en3.01.02019-02-14 14:14:110.268401NaNNaN
121427.087539e+17<NOT_FOUND>_arabiciggy_1550260335380arabiciggy2016-03-12 20:37:582019-02-14 17:14:55en3.01.02019-02-14 17:14:550.221282NaNNaN
28931.094552e+18Nonerkvgajinfna0m5u2019-02-10 11:02:162019-02-14 14:14:13en4.01.02019-02-14 14:14:130.235414NaNNaN
36331.416038e+09Noneshadescools2013-05-09 17:16:292019-02-14 17:14:53en4.01.02019-02-14 17:14:530.320844NaNNaN
70592.791191e+09Nonegeckovo2014-09-29 10:47:212019-02-14 17:14:50en4.01.02019-02-14 17:14:500.473073NaNNaN
110034.853050e+09Nonebts_ggtt03162016-01-27 09:22:252019-02-14 14:14:11en4.01.02019-02-14 14:14:110.246455NaNNaN
162439.776882e+08Nonepiiyyaaaa2012-11-29 05:53:252019-01-11 18:55:59en4.02.02019-01-11 18:59:150.132669NaNNaN
\n", + "
" + ], + "text/plain": [ + " id not_found_id \\\n", + "247 1.009778e+18 _vmramkumar2_1551988407202 \n", + "2852 1.093075e+18 __cameo_rk_1550433114537 \n", + "14958 8.955346e+17 _muskaan15__1551124306881 \n", + "1847 1.067934e+18 _tamilrockers_01_1547494461960 \n", + "3351 1.307436e+09 _traceylife_1551729254111 \n", + "3748 1.469993e+08 _rickthesizz1er_1550519488314 \n", + "6616 2.657943e+07 _djdonnied_1550519526685 \n", + "8501 3.219255e+09 _loveumovies_1548790812012 \n", + "9632 3.760950e+08 _prim_primmie_1551210895369 \n", + "12142 7.087539e+17 _arabiciggy_1550260335380 \n", + "2893 1.094552e+18 None \n", + "3633 1.416038e+09 None \n", + "7059 2.791191e+09 None \n", + "11003 4.853050e+09 None \n", + "16243 9.776882e+08 None \n", + "\n", + " screen_name created_at record_created_at lang \\\n", + "247 vmramkumar2 2018-06-21 12:38:39 2019-02-14 17:14:47 en \n", + "2852 _cameo_rk 2019-02-06 09:14:38 2019-02-14 14:14:11 en \n", + "14958 muskaan15_ 2017-08-10 06:37:33 2019-02-14 17:14:48 en \n", + "1847 tamilrockers_01 2018-11-29 00:11:45 2019-01-11 18:55:58 en \n", + "3351 traceylife 2013-03-27 12:58:36 2019-02-14 08:13:07 en \n", + "3748 rickthesizz1er 2010-05-22 23:21:43 2019-02-14 08:13:14 en \n", + "6616 djdonnied 2009-03-25 20:12:16 2019-02-14 08:13:08 en \n", + "8501 loveumovies 2015-05-18 10:50:46 2019-01-11 18:55:51 en \n", + "9632 prim_primmie 2011-09-19 09:09:09 2019-02-14 14:14:11 en \n", + "12142 arabiciggy 2016-03-12 20:37:58 2019-02-14 17:14:55 en \n", + "2893 rkvgajinfna0m5u 2019-02-10 11:02:16 2019-02-14 14:14:13 en \n", + "3633 shadescools 2013-05-09 17:16:29 2019-02-14 17:14:53 en \n", + "7059 geckovo 2014-09-29 10:47:21 2019-02-14 17:14:50 en \n", + "11003 bts_ggtt0316 2016-01-27 09:22:25 2019-02-14 14:14:11 en \n", + "16243 piiyyaaaa 2012-11-29 05:53:25 2019-01-11 18:55:59 en \n", + "\n", + " user_state CS_oldest_tweets_archived last_attempted_process \\\n", + "247 2.0 1.0 2019-02-14 17:14:47 \n", + "2852 2.0 1.0 2019-02-14 14:14:11 \n", + "14958 2.0 1.0 2019-02-14 17:14:48 \n", + "1847 3.0 2.0 2019-01-11 18:59:15 \n", + "3351 3.0 1.0 2019-02-14 08:13:07 \n", + "3748 3.0 1.0 2019-02-14 08:13:14 \n", + "6616 3.0 1.0 2019-02-14 08:13:08 \n", + "8501 3.0 2.0 2019-01-11 18:59:15 \n", + "9632 3.0 1.0 2019-02-14 14:14:11 \n", + "12142 3.0 1.0 2019-02-14 17:14:55 \n", + "2893 4.0 1.0 2019-02-14 14:14:13 \n", + "3633 4.0 1.0 2019-02-14 17:14:53 \n", + "7059 4.0 1.0 2019-02-14 17:14:50 \n", + "11003 4.0 1.0 2019-02-14 14:14:11 \n", + "16243 4.0 2.0 2019-01-11 18:59:15 \n", + "\n", + " user_rand user_id num_fills \n", + "247 0.037664 NaN NaN \n", + "2852 0.213607 NaN NaN \n", + "14958 0.090239 NaN NaN \n", + "1847 0.041074 NaN NaN \n", + "3351 0.137036 NaN NaN \n", + "3748 0.048442 NaN NaN \n", + "6616 0.027175 NaN NaN \n", + "8501 0.496116 NaN NaN \n", + "9632 0.268401 NaN NaN \n", + "12142 0.221282 NaN NaN \n", + "2893 0.235414 NaN NaN \n", + "3633 0.320844 NaN NaN \n", + "7059 0.473073 NaN NaN \n", + "11003 0.246455 NaN NaN \n", + "16243 0.132669 NaN NaN " + ] + }, + "execution_count": 98, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mystery_unfilled[mystery_unfilled['user_state']!=1].sort_values('user_state') #4 is wont process, the other have not_found ids" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.5" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/utils/ipynb/production_over_ssh.ipynb b/utils/ipynb/production_over_ssh.ipynb new file mode 100644 index 0000000..134d36a --- /dev/null +++ b/utils/ipynb/production_over_ssh.ipynb @@ -0,0 +1,63 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Getting 10,000 urls from DMCA-COX\n", + "- ssh -N dmca@cox.media.mit.edu -L 3310:cox.media.mit.edu:3306" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "from utils.common import DbEngine\n", + "import os\n", + "import inspect\n", + "from app.models import TwitterStatus, TwitterUser\n", + "import json\n", + "from sqlalchemy.sql.expression import func as sqlfunc\n", + "from functools import reduce\n", + "\n", + "BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), \"..\")\n", + "ENV = 'production_over_ssh'\n", + "db_session = DbEngine(os.path.join(BASE_DIR, \"config\") + \"/{env}.json\".format(env=ENV)).new_session()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "user_statuses = db_session.query(TwitterUser).all()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.5" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/utils/ipynb/twitter_observational_analysis_controller2.ipynb b/utils/ipynb/twitter_observational_analysis_controller2.ipynb new file mode 100644 index 0000000..55542a2 --- /dev/null +++ b/utils/ipynb/twitter_observational_analysis_controller2.ipynb @@ -0,0 +1,1307 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Goals\n", + "+ summaries\n", + "+ lumen notices\n", + " + lumen notices per day\n", + "+ twitter users\n", + " + twitter users by CS_oldest_archived (should be all completed --3)\n", + " + twitter users by date added\n", + "+ twitter statuses\n", + " + count by record_created_at\n", + " + by user\n", + " + indicator before lumen notice served\n", + " + user | notice time | tweets per day before (1day) | tweets per day after (1day)\n", + "+ twitter rate_state by checkin due\n", + " \n", + " \n", + "+ pivoted tables\n", + " + date by\n", + " + lumen notices\n", + " + twitter user added\n", + " + twitter statuses collected" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Populating the interactive namespace from numpy and matplotlib\n" + ] + } + ], + "source": [ + "import os, inspect, json\n", + "import pandas as pd\n", + "import datetime\n", + "%pylab inline\n", + "BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), \"..\")\n", + "\n", + "ENV = 'production'\n", + "\n", + "if ENV == 'production':\n", + " pass\n", + "# os.system('ssh -L 3306:127.0.0.1:3306 dmca-cox &')" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'database': 'civilservant_production', 'user': 'civilservant', 'host': '127.0.0.1', 'password': '', 'client_id': '', 'client_secret': '', 'redirect_uri': ''}\n" + ] + } + ], + "source": [ + "with open(os.path.join(BASE_DIR, \"config\") + \"/{env}.json\".format(env=ENV), \"r\") as config:\n", + " DBCONFIG = json.loads(config.read())\n", + "\n", + "### LOAD SQLALCHEMY\n", + "from sqlalchemy import create_engine\n", + "from sqlalchemy.orm import sessionmaker\n", + "db_engine = create_engine(\"mysql://{user}:{password}@{host}/{database}\".format(\n", + " host=DBCONFIG['host'],\n", + " user=DBCONFIG['user'],\n", + " password=DBCONFIG['password'],\n", + " database=DBCONFIG['database']))\n", + "\n", + "print(DBCONFIG)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
count(*)
058578
\n", + "
" + ], + "text/plain": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
count(*)
058578
\n", + "
" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.read_sql('select count(*) from twitter_users;', db_engine)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/usr/local/lib/python3.6/dist-packages/sqlalchemy/engine/default.py:509: Warning: (1051, \"Unknown table 'civilservant_production.notice_twit_user'\")\n", + " cursor.execute(statement, parameters)\n" + ] + } + ], + "source": [ + "# notice_twit_user_table_dropsql = '''drop table if exists notice_twit_user'''\n", + "# notice_twit_user_table_sql = '''create TEMPORARY table notice_twit_user as\n", + "# (\n", + "# select n.date_received as notice_date, ltt.twitter_user_id as user_id from lumen_notices as n\n", + "# join lumen_notice_to_twitter_user as ltt\n", + "# on n.id = ltt.notice_id\n", + "# );'''\n", + "# with db_engine.connect() as con:\n", + "# con.execute(notice_twit_user_table_dropsql)\n", + "# con.execute(notice_twit_user_table_sql)\n", + "# \n", + "# notice_twit_user = pd.read_sql('select * from notice_twit_user', db_engine, parse_dates=['notice_date'])" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "user_limit = 100\n", + "randusers_sql = '''select id, screen_name, record_created_at, last_attempted_process from twitter_users where CS_oldest_tweets_archived = 3 and lang = 'en' order by rand(42) limit {};'''.format(user_limit)\n", + "randusers = pd.read_sql(randusers_sql, db_engine)\n", + "# randusers" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "quoted_user_ids = ', '.join([str(\"'{}'\".format(x)) for x in (randusers['id'])])" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idscreen_namerecord_created_atlast_attempted_process
01032223709938032640jackson030812018-09-20 19:40:162018-10-01 12:52:33
1980425091581280256fcbmumbai2018-09-27 04:48:342018-10-01 13:26:04
280428622sylvana82018-09-27 22:49:122018-10-01 14:39:08
3707263861846454272stmdance2018-09-14 10:17:152018-10-03 18:15:44
4881373339801047041f_27a2018-09-26 16:47:432018-10-01 12:58:16
52810603348choodlumt2018-09-13 18:43:442018-10-03 18:01:36
61030961457037549568jaelaflare2018-09-28 16:50:112018-10-01 15:31:59
73286029776shaianne_foster2018-09-18 13:37:142018-10-01 10:54:44
81046012505947066368aaoo33032018-09-29 22:51:302018-10-01 14:19:11
91661059892asadnane2018-09-13 18:42:212018-10-03 17:40:56
10371181972selsnipple2018-09-28 04:49:442018-10-01 15:09:32
1152401801rawiyah2018-09-28 04:49:442018-10-01 15:09:32
122765952876jungkookpetals2018-09-19 07:38:322018-10-01 11:11:32
13352293943mikeswazyy2018-09-28 04:49:442018-10-01 15:08:56
14976188936937705472505thh2018-09-15 19:33:422018-10-03 18:33:59
15452492502lilvlex2018-09-21 13:41:172018-10-01 13:43:10
16163597532_trustissuesx2018-09-13 18:43:182018-10-03 17:57:46
172976120663aaliaqueen9382018-09-14 17:43:412018-10-03 18:18:17
18807215491022323712bumbllebee9002018-09-28 04:49:522018-10-01 15:20:38
191031267980611440640sarkarvijayfan2018-09-22 10:42:152018-10-01 14:14:24
20978833154743169024alannah_dugan2018-09-16 01:34:032018-10-03 18:38:08
21334699392thusombedu2018-09-17 10:35:442018-10-03 18:48:35
221897718317_jazlynscott2018-09-13 18:41:362018-10-03 17:28:33
231001910932186972160crenews2018-09-26 19:47:422018-10-01 13:21:31
241366757954sarkar_loveking2018-09-22 10:42:152018-10-01 14:14:24
25776304391167041536so8vishal30092018-09-30 19:52:292018-10-01 14:34:30
261229337397dchimhavi2018-09-20 16:40:112018-10-01 12:50:20
274741342766isabelluviano_2018-09-25 19:46:312018-10-01 11:32:04
28262070435ijumanaj2018-09-24 01:44:302018-10-01 08:54:37
291037976316241473536sportks234625242018-09-20 01:39:232018-10-01 11:57:38
...............
704237767198gagassonn2018-09-19 19:39:322018-10-01 11:51:36
71496981768yaamirahh2018-09-26 16:47:512018-10-01 13:18:19
721045138180230574080putlocker_cl2018-09-27 19:49:172018-10-01 14:32:48
73296757643fkanormani2018-09-25 10:46:182018-10-01 11:04:03
74407250798krackkids2018-09-17 19:36:082018-10-03 18:54:12
75945677807438483458fanofdannyx2018-09-21 04:40:512018-10-01 13:25:51
76412358282harpreetb12018-09-19 10:38:512018-10-01 11:25:11
773320486610therealcozyyy2018-09-20 22:40:302018-10-01 13:11:41
781020992030405783552mendesarmybb12018-09-19 19:39:122018-10-01 11:31:59
792453213724angeletisabella2018-09-28 13:49:562018-10-01 15:30:59
802856098712macgregorwill972018-09-30 22:52:452018-10-01 16:58:56
81169165677pisces_d332018-09-28 19:50:162018-10-01 15:35:54
82901292430942654464beardedbrwnguy2018-09-21 04:40:502018-10-01 13:24:39
833246075198shewinsnj2018-09-27 19:49:192018-10-01 14:35:01
84895811673692536834mzz667492018-09-17 19:36:072018-10-03 18:52:52
85825914120214044673stranger_beebo2018-09-15 19:33:402018-10-03 18:32:32
86703339988mariahkson2018-09-26 16:47:512018-10-01 13:18:19
872611488746bitchachoashlee2018-09-15 19:33:402018-10-03 18:31:38
882940743141sarahjames9652018-09-14 17:43:442018-10-03 18:18:58
89992066834697474049truehiphophere2018-09-19 04:38:052018-10-01 11:09:19
901621419223reflextunes2018-09-28 22:50:192018-10-01 15:38:12
91397733135jordanbwilliams2018-09-28 04:49:512018-10-01 15:18:59
924042441820alrightokshawn2018-09-27 10:48:452018-10-01 13:47:56
9319635369markradulich2018-09-20 10:40:332018-10-01 12:22:36
94632365371breahardinn2018-09-13 18:43:532018-10-03 18:04:06
95251767844neenbowen2018-09-13 18:41:352018-10-03 17:27:56
96932684118998917120iamsinghaniya12018-09-25 19:46:342018-10-01 11:46:26
97897056528015818752kettavan_memes2018-09-27 10:48:482018-10-01 13:51:37
98877450410704855040scooperng2018-09-20 16:40:112018-10-01 12:51:00
99839367390saucethebosss2018-09-18 07:38:212018-10-01 10:45:18
\n", + "

100 rows × 4 columns

\n", + "
" + ], + "text/plain": [ + " id screen_name record_created_at \\\n", + "0 1032223709938032640 jackson03081 2018-09-20 19:40:16 \n", + "1 980425091581280256 fcbmumbai 2018-09-27 04:48:34 \n", + "2 80428622 sylvana8 2018-09-27 22:49:12 \n", + "3 707263861846454272 stmdance 2018-09-14 10:17:15 \n", + "4 881373339801047041 f_27a 2018-09-26 16:47:43 \n", + "5 2810603348 choodlumt 2018-09-13 18:43:44 \n", + "6 1030961457037549568 jaelaflare 2018-09-28 16:50:11 \n", + "7 3286029776 shaianne_foster 2018-09-18 13:37:14 \n", + "8 1046012505947066368 aaoo3303 2018-09-29 22:51:30 \n", + "9 1661059892 asadnane 2018-09-13 18:42:21 \n", + "10 371181972 selsnipple 2018-09-28 04:49:44 \n", + "11 52401801 rawiyah 2018-09-28 04:49:44 \n", + "12 2765952876 jungkookpetals 2018-09-19 07:38:32 \n", + "13 352293943 mikeswazyy 2018-09-28 04:49:44 \n", + "14 976188936937705472 505thh 2018-09-15 19:33:42 \n", + "15 452492502 lilvlex 2018-09-21 13:41:17 \n", + "16 163597532 _trustissuesx 2018-09-13 18:43:18 \n", + "17 2976120663 aaliaqueen938 2018-09-14 17:43:41 \n", + "18 807215491022323712 bumbllebee900 2018-09-28 04:49:52 \n", + "19 1031267980611440640 sarkarvijayfan 2018-09-22 10:42:15 \n", + "20 978833154743169024 alannah_dugan 2018-09-16 01:34:03 \n", + "21 334699392 thusombedu 2018-09-17 10:35:44 \n", + "22 1897718317 _jazlynscott 2018-09-13 18:41:36 \n", + "23 1001910932186972160 crenews 2018-09-26 19:47:42 \n", + "24 1366757954 sarkar_loveking 2018-09-22 10:42:15 \n", + "25 776304391167041536 so8vishal3009 2018-09-30 19:52:29 \n", + "26 1229337397 dchimhavi 2018-09-20 16:40:11 \n", + "27 4741342766 isabelluviano_ 2018-09-25 19:46:31 \n", + "28 262070435 ijumanaj 2018-09-24 01:44:30 \n", + "29 1037976316241473536 sportks23462524 2018-09-20 01:39:23 \n", + ".. ... ... ... \n", + "70 4237767198 gagassonn 2018-09-19 19:39:32 \n", + "71 496981768 yaamirahh 2018-09-26 16:47:51 \n", + "72 1045138180230574080 putlocker_cl 2018-09-27 19:49:17 \n", + "73 296757643 fkanormani 2018-09-25 10:46:18 \n", + "74 407250798 krackkids 2018-09-17 19:36:08 \n", + "75 945677807438483458 fanofdannyx 2018-09-21 04:40:51 \n", + "76 412358282 harpreetb1 2018-09-19 10:38:51 \n", + "77 3320486610 therealcozyyy 2018-09-20 22:40:30 \n", + "78 1020992030405783552 mendesarmybb1 2018-09-19 19:39:12 \n", + "79 2453213724 angeletisabella 2018-09-28 13:49:56 \n", + "80 2856098712 macgregorwill97 2018-09-30 22:52:45 \n", + "81 169165677 pisces_d33 2018-09-28 19:50:16 \n", + "82 901292430942654464 beardedbrwnguy 2018-09-21 04:40:50 \n", + "83 3246075198 shewinsnj 2018-09-27 19:49:19 \n", + "84 895811673692536834 mzz66749 2018-09-17 19:36:07 \n", + "85 825914120214044673 stranger_beebo 2018-09-15 19:33:40 \n", + "86 703339988 mariahkson 2018-09-26 16:47:51 \n", + "87 2611488746 bitchachoashlee 2018-09-15 19:33:40 \n", + "88 2940743141 sarahjames965 2018-09-14 17:43:44 \n", + "89 992066834697474049 truehiphophere 2018-09-19 04:38:05 \n", + "90 1621419223 reflextunes 2018-09-28 22:50:19 \n", + "91 397733135 jordanbwilliams 2018-09-28 04:49:51 \n", + "92 4042441820 alrightokshawn 2018-09-27 10:48:45 \n", + "93 19635369 markradulich 2018-09-20 10:40:33 \n", + "94 632365371 breahardinn 2018-09-13 18:43:53 \n", + "95 251767844 neenbowen 2018-09-13 18:41:35 \n", + "96 932684118998917120 iamsinghaniya1 2018-09-25 19:46:34 \n", + "97 897056528015818752 kettavan_memes 2018-09-27 10:48:48 \n", + "98 877450410704855040 scooperng 2018-09-20 16:40:11 \n", + "99 839367390 saucethebosss 2018-09-18 07:38:21 \n", + "\n", + " last_attempted_process \n", + "0 2018-10-01 12:52:33 \n", + "1 2018-10-01 13:26:04 \n", + "2 2018-10-01 14:39:08 \n", + "3 2018-10-03 18:15:44 \n", + "4 2018-10-01 12:58:16 \n", + "5 2018-10-03 18:01:36 \n", + "6 2018-10-01 15:31:59 \n", + "7 2018-10-01 10:54:44 \n", + "8 2018-10-01 14:19:11 \n", + "9 2018-10-03 17:40:56 \n", + "10 2018-10-01 15:09:32 \n", + "11 2018-10-01 15:09:32 \n", + "12 2018-10-01 11:11:32 \n", + "13 2018-10-01 15:08:56 \n", + "14 2018-10-03 18:33:59 \n", + "15 2018-10-01 13:43:10 \n", + "16 2018-10-03 17:57:46 \n", + "17 2018-10-03 18:18:17 \n", + "18 2018-10-01 15:20:38 \n", + "19 2018-10-01 14:14:24 \n", + "20 2018-10-03 18:38:08 \n", + "21 2018-10-03 18:48:35 \n", + "22 2018-10-03 17:28:33 \n", + "23 2018-10-01 13:21:31 \n", + "24 2018-10-01 14:14:24 \n", + "25 2018-10-01 14:34:30 \n", + "26 2018-10-01 12:50:20 \n", + "27 2018-10-01 11:32:04 \n", + "28 2018-10-01 08:54:37 \n", + "29 2018-10-01 11:57:38 \n", + ".. ... \n", + "70 2018-10-01 11:51:36 \n", + "71 2018-10-01 13:18:19 \n", + "72 2018-10-01 14:32:48 \n", + "73 2018-10-01 11:04:03 \n", + "74 2018-10-03 18:54:12 \n", + "75 2018-10-01 13:25:51 \n", + "76 2018-10-01 11:25:11 \n", + "77 2018-10-01 13:11:41 \n", + "78 2018-10-01 11:31:59 \n", + "79 2018-10-01 15:30:59 \n", + "80 2018-10-01 16:58:56 \n", + "81 2018-10-01 15:35:54 \n", + "82 2018-10-01 13:24:39 \n", + "83 2018-10-01 14:35:01 \n", + "84 2018-10-03 18:52:52 \n", + "85 2018-10-03 18:32:32 \n", + "86 2018-10-01 13:18:19 \n", + "87 2018-10-03 18:31:38 \n", + "88 2018-10-03 18:18:58 \n", + "89 2018-10-01 11:09:19 \n", + "90 2018-10-01 15:38:12 \n", + "91 2018-10-01 15:18:59 \n", + "92 2018-10-01 13:47:56 \n", + "93 2018-10-01 12:22:36 \n", + "94 2018-10-03 18:04:06 \n", + "95 2018-10-03 17:27:56 \n", + "96 2018-10-01 11:46:26 \n", + "97 2018-10-01 13:51:37 \n", + "98 2018-10-01 12:51:00 \n", + "99 2018-10-01 10:45:18 \n", + "\n", + "[100 rows x 4 columns]" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "randusers" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "select created_at as tweet_date, user_id from twitter_statuses \n", + "where user_id in ('1032223709938032640', '980425091581280256', '80428622', '707263861846454272', '881373339801047041', '2810603348', '1030961457037549568', '3286029776', '1046012505947066368', '1661059892', '371181972', '52401801', '2765952876', '352293943', '976188936937705472', '452492502', '163597532', '2976120663', '807215491022323712', '1031267980611440640', '978833154743169024', '334699392', '1897718317', '1001910932186972160', '1366757954', '776304391167041536', '1229337397', '4741342766', '262070435', '1037976316241473536', '947474480842059776', '410210908', '960531545055551490', '1031512184138883072', '742125408125095937', '177792516', '883087172559028224', '283864571', '772349498529947648', '494579546', '941719871313788930', '938385496815947776', '1007452869057044480', '134941948', '2371175997', '773780636', '2514017069', '760742144017469440', '244197854', '967038273209208832', '904503944', '926568920642965509', '1024419919042109440', '2998710924', '767126530719907840', '87371735', '982380127865720832', '790282472', '749786561777135616', '2989595736', '1013262185227694086', '896315308834607104', '1338257053', '553882377', '922144764467777536', '1167861439', '2475322258', '1012520610549960704', '83730981', '829423770079227904', '4237767198', '496981768', '1045138180230574080', '296757643', '407250798', '945677807438483458', '412358282', '3320486610', '1020992030405783552', '2453213724', '2856098712', '169165677', '901292430942654464', '3246075198', '895811673692536834', '825914120214044673', '703339988', '2611488746', '2940743141', '992066834697474049', '1621419223', '397733135', '4042441820', '19635369', '632365371', '251767844', '932684118998917120', '897056528015818752', '877450410704855040', '839367390');\n", + "CPU times: user 1.98 s, sys: 143 ms, total: 2.12 s\n", + "Wall time: 42min 43s\n" + ] + } + ], + "source": [ + "%%time\n", + "userstatus_sql = '''select created_at as tweet_date, user_id from twitter_statuses \n", + "where user_id in ({});'''.format(quoted_user_ids)\n", + "print(userstatus_sql)\n", + "userstatuses = pd.read_sql(userstatus_sql, db_engine, parse_dates=['tweet_date'])\n", + "userstatuses.to_pickle('logs/userstatus.pickle')" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "user_tweet_series = userstatuses.merge(notice_twit_user, on='user_id')" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(224701, 3)" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "user_tweet_series.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 145, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:4: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", + " after removing the cwd from sys.path.\n", + "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:4: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", + " after removing the cwd from sys.path.\n", + "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:4: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", + " after removing the cwd from sys.path.\n", + "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:4: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", + " after removing the cwd from sys.path.\n", + "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:4: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", + " after removing the cwd from sys.path.\n", + "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:4: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", + " after removing the cwd from sys.path.\n", + "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:4: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", + " after removing the cwd from sys.path.\n", + "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:4: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", + " after removing the cwd from sys.path.\n", + "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:4: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", + " after removing the cwd from sys.path.\n", + "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:4: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", + " after removing the cwd from sys.path.\n", + "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:4: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", + " after removing the cwd from sys.path.\n", + "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:4: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", + " after removing the cwd from sys.path.\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABJAAAArbCAYAAACWcDTbAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzs3XdYHNf18PHvsJSlid4EokkCWb2gLsuSe42rXGOrWJYT20mcOMVp7y9ObMdx73FVc5Hci2zHtqzeBQihSpHovcPCssuWef9YWIkqQHTO53n2AWZnZy7MsHvnzLnnKqqqIoQQQgghhBBCCCFEexz6uwFCCCGEEEIIIYQQYmCTAJIQQgghhBBCCCGE6JAEkIQQQgghhBBCCCFEhySAJIQQQgghhBBCCCE6JAEkIYQQQgghhBBCCNEhCSAJIYQQQgghhBBCiA5JAEkIIYQQQgghhBBCdEgCSEIIIYQQQgghhBCiQxJAEkIIIYQQQgghhBAdcuzvBgD4+/urkZGR/d0MIYQQQvSSxMTEMlVVA/q7HaI56YMJIYQQQ1tP9sEGRAApMjKShISE/m6GEEIIIXqJoijZ/d0G0Zr0wYQQQoieU99gITmvijnRfu2uc6KgBl93Z4K9tH3Spp7sg8kQNiGEEGIwW7TI9hBCCCGEEP1qY3wOt7+1n8Lq+jafV1WVpWsO8vevjvVxy3qGBJCEEKIPfX+skA0Hc/q7GUIIIYQQQogell5SC0BKoa7N58tqGyjVGdmdXobRbOnLpvUICSAJIUQfend3Jq9tO9XfzRBCCCGEEEL0sKyyOgBSitoOIKU2Lq83WTiYWdFn7eopEkASQog+lFOhp7DagNli7e+mCCGEEEIIMTgN0CH8TQGktOJ2AkiNyx0dFLallPZZu3qKBJCEEKKPGEwWimuMWKwqxTpjfzdHCCGEEEII0UMMJgsF1QbgTKZRS2lFOvzcnZk/xp/tqSV92bweIQEkIYToI3mV+jPfV+g7WFMIIYQQQggxmGSX2/r3I720nCqtbXPEQUqxjthgTxbHBpBRVmfPWBosJIAkhBB9pOlDBSC/qu2ZGYQQQgghhBCDT2ZjMOiKicE0mK1klTe/YWy1qqQX64gJ8mTxuEAAtg2yLCQJIAkhRB/JOSvrKK9SAkhCCCGEEEIMFVnljQGkCcFA62FseZX16BssjAv2JMLPnegAd7alDq46SBJAEkKIPpJTocfNWUOAp0uz4WxCCCGEEEKIwS2rrA5/D2emjvLGQTlTMLtJ088xwZ4ALI4NZH9GOfoGc5+3tbskgCSEEH0kt0JPuK8bYT6uMoRNCCGEEEKIISSzrI5IP3e0Thoi/dxJLapp9nzTzzFBZwJIDWYr+06X93lbu0sCSEII0Udy7AEkNxnCJoQQQgghxBCSVV5HpL87ALHBnqQV1zZ7PrW4ljAfVzxcHAGYGeWDm7NmUNVBkgCSEEL0AVVV7QGkUG9XCqrqsVrV/m6WEEIIIYQQ4jzpG8wU1xiJagwgxQR5klVeR32Dxb5OalENsY3ZRwAujhrmj/FnW0opqjo4rgskgCSEEH2gVGfEYLIS7mcbwmayqJTojP3dLCHEEKMoSpaiKEcVRTmsKEpCf7dHCCGEGA6yymz1TSP9bAGkccGeqCqcKrFlITWYrWSU1hEb7NnsdYtjA8mvqrevN9BJAEkIIfpA0wxso3zdCPVxBSC/SgppCyF6xWJVVaeqqhrX3w0RQgghhoOmGdgi/d2AM4WymwpnZ5bVYbaqrQJIi2IDAAbNMDYJIAkhRB9oCiCF+7oxqjGAJHWQhBBCiLYl5VTy3r6s/m6GEEJ0SmZZYwCpMQMp0s8dZ0cHe+HslMavLQNII71dGRfsybaU0j5sbfedM4CkKMpqRVFKFEU5dtYyX0VRNiuKkt741adxuaIoysuKopxSFOWIoijTe7PxQggxWORU6FEUCPNxZaS3BJCEEL1GBX5UFCVRUZRVba2gKMoqRVESFEVJKC0dHB1WMfy8syuTv391fNAM6xBCDG9ZZXUEerrg3lggW+OgMDbQg9TGQtppxTocHRSi/T1avXbxuECMZguWQVAftTMZSGuBK1ssexTYoqrqWGBL488AVwFjGx+rgP/2TDOFEGJwyynXEzJCi4ujBjdnR/zcnSWAJIToDQtUVZ2OrU/2oKIoC1uuoKrqW6qqxqmqGhcQEND3LRSiE5ru1q/bm9W/DRFCiE7ILDszA1uT2GBPewZSapGO6ABbVlJLf7g8ls8fmI/GQemTtp6PcwaQVFXdCVS0WHw9sK7x+3XADWctX6/a7Ae8FUUJ6anGCiHEYJVToWeUr5v951AfV/IqpQaSEKJnqaqa3/i1BPgCmNW/LRKi6wwmC1nlepw0Cp8dyqO63tTfTRJCiA5lldcR5dcigBTkSXGNkSp9A6nFOmKCPNt8rcMgCBw16W4NpCBVVQsbvy8Cghq/DwVyz1ovr3GZEEIMazkVesLPCiCF+biSX9VzGUhF1Qae35yG2WLtsW0KIQYXRVHcFUXxbPoeuBw41vGrhBh4TpfWYrGqrLwwGn2DhY/jc8/9IiGE6Cc6g4my2oY2M5AAknKqyK2oZ1xw2wGkweS8i2irqqpiG2/fJTL+XggxXNQ3WCjRGYnwOzuA5EZ+ZT22t9Dz98aO07y8JZ2k3Koe2Z4QYlAKAnYripIMHAS+VVX1+/5oyBPfnuDp71P6Y9diCEhrnLXo5umhzIryZd2+rEFRG0QIMXBZrSqPbTrOsfzqHt92VpltVEGUv1uz5U0BpE1HCgDazUAaTLobQCpuGprW+LVpzrl8YNRZ64U1LmtFxt8LIYaLpqFqzYawebtiNFspq23o9HbMFmubHWiTxcrXybYPpvisliOOhRDDhaqqGaqqTml8TFBV9Yn+akt5bQPr9mZRY5ChR6LrUop0OGsciPBzZ8X8SPIq69l8ori/myWEGMSOFVSzZk8WT/2v529uZJY3zsDWIgMpeISWEVpHfjxue/8aFzyix/fd17obQPoaWNr4/VLgq7OW39M4G9scoPqsoW5CCDEs5VTYAkgth7ABXaqDdOc7B/j1xqRWy3ekllJR14Cjg0JCVuV5tlYIIc7f8vlR1DVY+CQhr7+bIgahtMZis04aBy4bH0yotyur92T2d7OEEIPYthTbqKfdp8rsWY49JavMFkCK8G0eQFIUhdhgT2qNZlydNPb+/2B2zgCSoigbgH1ArKIoeYqi3As8BVymKEo6cGnjzwDfARnAKeBt4IFeabUQQgwi2eWtA0ihjR8gna2DVFxj4GBmBd8eKWyVevt5Uh5+7s5cPzWUhKwKrJLmL4ToZ5PCvIiL8GHdXhl6JLourbjWXitE46CwdF4EBzMrOF7Q80NPhBDDw7bUEsYEeuDi6MCaPVk9uu2ssjpCvLS4OmtaPdc0bC0myGNQFctuT2dmYbtDVdUQVVWdVFUNU1X1XVVVy1VVvURV1bGqql6qqmpF47qqqqoPqqo6WlXVSaqqJvT+ryCEEANbToUeDxdHfN2d7ctCvZsykDoXQNqRartr4qxx4NWtp+zLq/UmfjpRws+mjmTuaD9qDGbSS2p7sPVCCNE9y+dHkVOhZ2tKyblXFqJRjcFEflU9MWcVm70tLhxXJ02PX/QJIYaH8lojyXlVXDd5JDdOC+WLpDyq9J0vI3EumeV1RLaYga1JUzA8dggU0IYeKKIthBCiY7kVekb5uqEoZ+46eGqd8HJ16vQQtm2pJQSP0HL/RdF8f7yI1CJb6u03RwtosFi5eXoYMyN9AKmDJIQYGK6YEMRILy1r2hh6lFFay0MfHqK4xtAPLRMDWXrj0JKzZyvycnPi5hmhfHU4n+te2W1/XP/aHvZnlPdp+2qNZlatT+BUSc8OgRlOagwmfrUhiZ+krpVox/6Mcn75fiKlOmOPbG9HWimqCovHBbBsfiQGk5UNB3tudsessrpW9Y+anMlAkgCSEEKITsip0BPu23rMc5iPK/mdyEAyWazsSi9j8bgA7l0Qhbuzhle32bKQPkvMIybIgwkjRxDu60agpwsJEkASQgwAjhoH7p4byd7T5aQU1diXl9UaWbYmnm+OFPJFUptzrYhhLKXxBknLi61fLhrDJeOCCPB0sT9yyut4/se0Pm3f1pQSfjxRzMtbTp17ZdGKyWLlwQ8OsSm5gAc+PERitvRZRHNpxTruW5/A/44VsXJdPPoG83lvc1tqKf4eLkwc6cW44BHMG+3H+n1ZmCzW8952td5Epd7Uaga2JlPDvblnbgTXTA45730NBBJAEkKIXqSqamMAqfWHSpiPa6eGsCVkVVJrNLMoNhBvN2fumRfJN0cK+OlEMYdyqrhpehiKoqAoCjMjfYmXQtpCiAHijlmj0Do5sGZ3FgAGk4WV6xIorjEQPELLNhneJlpIK9Lh4eJoH+rdJNTblTfunsHqZTPtjwcXj+FgVkWvTMvdnu2N5+x3RwspqpYMuq5QVZW/fnGUXell/O2aCxjppeW+9Yn2AsRClNQYWL4mHlcnDf+6YSJH86v5zcbD51VLz2yxsjOtlEWxAfYaRMvnR1FYbeCH40Xn3Wb7DGztDGFzcdTwz+snEuI1+AtogwSQhBCiV5XojBjNVsLb+FAJ9XYjv6oeVe34Q3F7aglOGoX5Y/wBWLkgCq2jhl9vTEJR4IapofZ14yJ9yK+q73RxbiGE6E3ebs7cOC2MLw/nU1Zr5OGNh0nOq+Kl26dy0/RQErIrqa439XczxQCSUqQjJsij2bDv9iyJG4Wbc9/VRrJYVbanlTIz0geLqvL+/uw+2e9Q8dq2U3yckMevLxnLygujWbN8FqqqsnxtPBV1PVePRgxOdUYzK9bFU6lvYPWymdw9J4L/u24Cm08U8/i3J7q93cO5VVTXm1gcG2hfdvG4QMJ93XrkvaMpABrVzhC2oUYCSEII0YtyKlrPwNYkzMcVfYOFSn3HF0/bUkuYFeWLh4sjAH4eLvx8Tjj6BgsLxvgT7KW1rzsz0hdAhrEJIQaM5fMjMZqtLHljH98fL+KvV1/AlRNDWDwuEItVZXd6WX83UQwQqqqSVqzrdLFZL1cnbpkRxqbkgh6rldKRI3lVVNQ18PM5EVx6QRAfHszBYLL0+n6Hgi+T8nn2xzRumhbKby8dC9guuN++J478qnpWrU+Qv+UwZrGq/HpDEicKanj1zmlMDPUCYOm8SO5dEMWaPVms3t26nl5nbEstQeOgsGCsv32ZbXbHSBKzKzmSV3Vebc8sq0NRYFQbff2hSAJIQgjRTVaryg/Hi7jrnf28ujW9zXWaajmM8mmdthrauKyjOkh5lXrSimub3TUBuG9hNGE+riybF9ls+bhgT9ydNSTIMDYhxAARE+TJgjH+ZJbVsazxYgBg2ihvvFyd2Jbae8PYPorP4cEPDp3XhelXh/NZ8J+tzH/qzOPKF3eSnHt+Fx3n8sqWdP78+ZF2n68xmLhn9cEuDcE4VaLjptf3nFeW6omCGpa8sZeDmd2/UZFTrueOt/ZzuMXfsLTWSKXeRGwXis0unRdJg8XKhwdyzrnu0bxq7nhrP5ndHDK1LbUUBwUuiglg+fxIKuoa+Orwuet4Hcmr4ub/7qWstvNBri+S8lqdd5c9v4Oc8s5NvmFrbwl3vbO/3fNfVVUe3pjEO7sy2t3GlpPF3Prmvi7tt6X9GeX88dMjzIn25ambJzfLLouL9OX5W6eQkF3JI58kY21nqNLxgmqWvLG332+QFdcYuOOt/XydXNCr+9mUXMCiZ7Y1O/4tHwv+s5X/bj/do/tdtzeLFWvj0RnavrlZUdfA3e8e4OOE9gtQf34oj7ve2d/p811VVR7bdJwtKSU89rMJXDwuqNnzf7n6Aq6YEMS/vj3R4fvdO7syWLkugTpj85pJ21JKmRHhg5erU7PlS+LCcHfW8PKW9HbPu5ZqDCaWrj7Y7Di8syuDkV6uaJ00ndrGYCcBJCGE6CKDycIHB7K55Pkd3P9eIoeyq3huc1qrznR5rZGXfkpjwsgRbY6LDmsMIOVV6jlRUMPT36dw25v7mt0J2Z5aCsCiFgGkQE8tu/90MZdc0PxD1lHjwPQIH5mJTQgxoPzjZxN49Kpx/P3a8faLR0eNAwtjAtieWtrpzntXGEwW/vN9Kt8eLeThjYe7tQ+LVeW5H9NQFJgT7Wd/1NSbuHddPLkV3b+o7siaPZk8tzmNDQdz2707/nF8LjvTSvnVhqROFyJ+fftpDuVUdftOfmF1PSvWxhOfVcl96xM4XVrb5W1U6RtYtuYg+zLKeWFz8wLYTTOMxnRhuuvRAR4sig3g/QPZNJjbL4ibV6ln+dp49mWU8+aO7l10b08tYXq4D95uzsyN9mNcsCdr9mSdcyj6y1tOkZhd2ekhb03nncZBsZ9zs6N9yS7X8+7u9oM9Z1NVled+TGXPqXK+Ptx2sGPv6XK+PFzA49+e5NPEvFbPJ+dW8eCHhziYWcGytQe7Ne35qRIdq9YnMMrXlTd/HoezY+vLz2snj+TRq8bx7ZFCnvkxtdXzBVVnzruV6xPI6MZ51xPqjGZWNJ5Dj3x8mL2neyd7cu/pMn738WFcnR2bve+0fIR6u/Kf71PYePDcwdPO+Dq5gP/7+jhbU0p44INDrQpMG0wW7lufwK70Mh797AhbU1rPorcjrZQ/fHqEPafKWbkugfqGcwfv392dyfp92dx3YRR3z41s9bzGQeHF26YxOcyb32xMahV4Bvg0MY/Hvz3JTyeL+fWGJHvNpKJqAycKa1rdiAUYoXXiN5eO5aeTJTy3ufV515LJYuWB9w+x51QZs6J87cfhyokh/OGK2HO+fqiQAJIQQnRBg9nKirXx/PWLY3hqHXn1zmkc+OsljPJx4/efJNvveqiqyt+/OkZNvZnnbp1iL9p3tjBvW6rrHz49wtUv7+LNnRmkFOm46+0D9ouB7akljPJ1ZXRA58dVz4z0JbVYJ3VFhBADxphAD35x0Wg0Ld4LF8cGUFZr5HhBTTuv7L6vDxdQUdfAdVNG8v3xIv79v5Nd3sbWlBJyKvT88YpxPHfrFPtj/b2zaDBbWb42nupzDEPuqh+PF/HPb06wODYADxfHNmt0WKwq6/ZlMSnUi5FeWlauSzhnIeJSnZFvkgtx0ih8HJ9LrbFrMxvpDCaWr4mn1mjmzbtn4OigsHxNfJeyaoxmC6vWJ5JXWc8VE4LYkVbKqZIzwYCmAFJXMpDAVhC3VGfk26NtB0qq621tN5otXBQTwBdJ+V2uuVOqM3Ikr5rF42wXooqisHx+JClFOvZllLf7uuzyOrakFOOkUXh/fw5G87kvqH86WUxeZT1/uvLMeff8rVO5dnIInybmUdNOdsjZErIrOZZfg5NGYfWezDaDXGv2ZOLn7sz8MX48+tkR9pw6ExDJrdBz77p4/D1ceP2u6eRV1LPqvcROtb9Jqc4246KzowNrl8/Cy82p3XXvXxjNnbPD+e/2082yyWoMJlasjUdvtPDW3TNwUBSWr42nvAvnXU8wW6z8akMSJwtreOn2qUT6uXP/e4mkF+t6dD/pxTrufy+RSD93Nq6a0+x9p+Xjg5WzuSgmgL9+eYydaaXntd/4rAp+/3EysyJ9+dcNE9mVXsbfvzxmP2+sVpVHPkkmMbuSZ26ZzPiRI3jow6RmBexPFNTw4AeHiAny5Plbp5CcV8XDHyV1WAD7f0cLeeK7k1w1MZg/X3VBu+u5Omt45544AjxdWNkieL/nlC2gNX+MH//v2vG2TKZNx1FVlR1ptgzXxeMC2tzufRdGc/vMUby27XSHgbimAvC7T5Xx75sm8cJtU5sdixumhbb72qFGAkhCCNFJqqryx0+T2Xu6nP/cPImvHpzPtZNHMkLrxLNLppBbqbdfoGw6Ush3R4t4+LKxjAse0eb2Rrg6Mm+0HxNDR/DEjRM5+JdL+P7hC/H3dOHudw+yPbWEPafKWRwb2Kliok3iIn1QVTiUI8PYhBAD28KYABSFHh/Gpqoqq/dkEhvkycu3T2XZvEje3pXJ+n1ZXdrOmj2ZBI/QcuXE4GbLxwR68ubdcWSX13H/+wkdZr50RXJuFb/emMTkUC9eu2s6t8wI45sjBZTUNJ/ta8vJYnIr6vnFRaNZs3wWAMvWHOwwKPLBgWwaLFb+c/NkdEYzn7WRcdIek8XKgx8mkV5Sy2t3TeeKCcG8szSOEp2h01kGVqvKHz45wsGsCp69dQqP3zAJZ40D6/Zm2ddJLdLh7+GCn4dLp9sGsHCsP6MD3NvMBmowW/nFe4lkldfx5t0z+MvVF2A0W9nQxayNHWlNGcFnLkSvnxqKj5tTh4V41+3NRqMoPHHjJMpqjXx7pPCc+1qzJ5NQb1cuH988y3j5/CjqGix8HN/+8KGzt+Hl6sRfrr6AlCId+zOaZ6nZAlsltqDNz2cQHeDOL95LJLVIR7XexPK18TSYraxdPpOrJ4XwzJLJHMys4I+fHjlnxhVAfYOFlesTKKs18u7SmeesD6MoCv/82QQWxQbw96+OsT21xHbefXCIUyW1/PfnM7i88bwrqjZwXx/WTFJVlX9ssmXm/PP6iVw/NZQ1y2eiddKwbE08JbqemY2vRGdg2Zp4XBw1rF42s9WQq5YcNQ68dtd0YoI8eeCDQ5zoZiD+dGkt961PIMzHlTfvnsHdcyJ4aPEYNsbn8nrjELmnf0jl2yOF/PmqcSyJG8XqpTPxcXNmxdp48qvqKao2sGJtPB4ujqxeFsdN08P42zXj+eF4MU9+13bwPjG7koc/Osy0Ud68cNvUNm+2ni3A04U1y2zB+2VrDlKtcSHN1Y9fvJ9IdIA7r981gxULorjvwijW78vm3d2ZbEspJcRL225QWlEU/nXDRBaeIxD36tYzBeCXxI3qwl936JEA0gBTUmPoVnqoEKL3PfNDKl8eLuAPV8Ry28zwZkGdWVG+3Ds/ivf35/BZYh5///IY08K9WXVhdLvbUxSFD++bw8ZVc7lrdgR+Hi6EeLny0ao5hHq7snxtPPUmS5tptx2ZOsobRwel3ToBJTUGnvj2BMU1Mv3wUFDi5I5RGR7j7sXQ4+/hwuQw7x4PIO3PqCClSMfy+ZEoisLfrx3PpRcE8o+vj/PTidbDLtqSUlTD3tPl3DMvAidN6y7z3NF+PH3LZPZnVPDoZ527qO6ILeMjAX8PF95ZOhM3Z0eWzYvEbFV5v0V9nzV7shjppeWKCUFE+bvzztI4CqoN7RYiNpotvL8/h8WxAdw0PYypo7xZuzerU8P6VFXl/31lu7B64oaJXBRjC6BMC/fhxdumdSrLAOC5zal8nVzAH6+M5WdTRhLg6cJ1U0by2aE8e8ZsWrGOcV0YvtZEURSWzY/iSF41idlnbp6oqsqjnx9hX0Y5/7l5MvNG+xMb7Mn8MX68ty+71RCdjmxLLSHQ04XxIWduCmmdNNw5O5yfTha3WSOo1mjmk4RcrpkcwpIZYe0Guc52srCG/RkV3DM3AscW592kMC9mRvqwbl9Wh3/v/Kp6fjhezO2zRnHHrPDGIFfzYYtr92ahURR+PieCEVon1iyfhauzhhVr47lvfQLZ5XW8dU8cYwJtx+P6qaH84YpYvjpcwPMthh62ZLGq/GZjEkfyqnj59mlMGeXd4fpNHDUOvHrndGKDPHnwg0M88MEhdqWX8eRNk+wFkKeH+/DibVNJyq3idx93b2hqV72zK5P39+dw/0XR/HxOBABhPm68uzSOiroGVq5LQN/QtYy+lvQNZlauS6CiroHVy+I6XZC5KWDj4eLIirXxFFV3rW9XXmtk+Zp4NIrC2uWz8HF3BuCRy2O4fupInvkhlYc3JvHGjtP8fE44qxba+rWBI7SsWT6T+gYLy9ccZPlaW3bimuUz7dPV37sgimXzInl3dyZrW5x/2eV13Lc+gWAvLW/fE9fp+kFjAj146544civqWRl7E8vH3YzWScOa5bPsAbc/X3UBV00M5onvTrI1pYRF57gR66Rx4LU7pzE20IMHPjjEycLmgbgvkvJ4bnPzAvDDmWN/N2CoqzWa+dNnR7hmUghXTwppd73cCj0vb0nn86R8NIrClRODuWNWOHOifVEUBatVpbyuARWVQE9tu9sZSFRV5cnvTuLqpOHhS2POGVUWYiB7b382r28/zR2zwnlg0eg21/n9FbFsSy3hkU+S0To58NySKa06f50ROELLxlVzuPvdg+RW6pkT7del17s5OzIh1IvNJ4q578JovN2c7c/lV9Vz19v7ySrXk5RTxYZVc9q8MBKDQ0pRDTdNXcnY+jI+NJpxd+n4Y11nMKEoin1GPyEGgsWxAby0JZ2KugZ83Z3P/YJOWLMnEx83J/uwAo2Dwst3TOO2N/fzqw1JfHz/XCaFeXW4jbV7stA6OXDHzPB217lxWhh5FfU8tzmN744VonCmrzN/jD+v3TUNF8dzXxhV1zdlfFjYuGo2AZ62DJxIf3cujg3kwwPZPLh4NC6OGk4W1rAvo5w/XTnO/hkzI8KXF26dyoMfHuKRT5J55fZpzfpd3x4ppKzWyPL5tgLmy+dH8puNh9mRVmofktWe/+44zYaDuTy4eDS3z2r+t7hyYjB/u2Y8//rmBE9+d5K/Xzu+zW18FJ/Da9tOc8esUfzyojOfocvnR/LZoTw+js/l3gVRpBXXcses9v/eHbl5eijPfJ/C7W/tt3+uqagYTFZ+d1kMN00Ps6+7Yn4U965L4PtjRVw3ZaR9ucWq8sdPj1Cpb+D1u6bbL2rNFis700q5emJIqwvRu+dE8uaODJ7fnMoLt01t9vynCbnojGaWz4+yB7n+/uUxErMriWucNbWlNXsycXXScHs7593y+VE88MEhtpws5vIJwW2u05Rpd8/cSHuQ6/Xtp8mt0DPK1w2dwcQnCXlcOzmEoBG264pQb1dWL5vJrW/uI7+qnhdvm9qq//HAotHkVuh5Zesp3tnVfh0tq6piNFv5v+vGt9vG9tgCIjO58fU9bD5RzK8vHsOtLTI+rpoUwl+vvoDHvz3JBSe/x6ELWdrdUW+ycM2kEP50xbhmyyeHefPKHdNY9V4CUx/b3GqIbldYrCpmq5W37o5jcljnAm5NQrxsx27JG3u58OmtODp0vl/67qdcAAAgAElEQVRntlpxUBQ2rJpDuN+ZoJWiKDx9y2QKqw18ebiAxbEB/OO6Cc3O75ggT964ewZLVx9EBVYvm8kFIc2z7v9+7XjyKuv5x6YT/Of7M3WGTBYrHlpH1iyb2eWMwznRfjyzZDK/2WjFzdLAx8tmEup9ZrIaBweFF26bStHb+0nKqWJxbNvD187mqXVizfKZ3PjaXq59ZTfOZ/WNDWZLmwXghyvpQZ5FVVUKqw2kFetIK9bh4+bMzdPDuh34sFpVHvn4MD8cL+aHY0VonRxaVZUvrjHw4k/pfJKQa5tOcG4kVlXl80N5fJ1cQJiPKw6KQlG1gQaLFQcFfnNJDA9dPOa83qR6isWqkphdyfRw71YXym/uzODtxg+XEp2RJ26c1KzNp0tr2XqyhLvnRgybqvVicPooPof/++oYF48L5F/XT2j3w0PrpOG5W6dy19v7efSqcUQHeHR7n34eLnz+wDwq9Q24Onf9/2PVhdE8/FESV7+0i5fumMbMSF+yy+u48+0D1BhMPLR4DK9uO8XT36fw12va7vA3qdabcHfRdCsYdrY3dpxmw8Ecfn95LNdObt0JF11TpW9g1fpEXKxmjrkHc/97iby7LK7di9WjedXcuy6eOqOZ22aGs3x+5LCZclYMbItjA3nxp3R2ppX2SB2J3Ao9m08W88Ci0c36F27Ojry7LI4bX9vLinXxfPHAPMJ82v4fqKhr4IukfG6aHmq/I9+ehy4eg5+HC1nlZ2oQ6QwmNhzM5U+fHmkVVGipaYhVdnkd61fMtmd8NFk+P4qfv3uATcmF3DIj7Exga1bzi+prJoeQVzmOf/8vhVE+bjx6le1it2k435hADy5szOK4elIIT353ktV7MjsMIH2dXMDT36dy3ZSRPHJZ20ViV8yPJLdCz7u7Mxnl48qyxiBVk51ppfzli2MsjAngn9dPbPa3mBjqxawoX9buzeLiCwKpN1mIDe7eZ6ebsyMv3TGNfaeb1yOK8HPjzhZBqcWxgUT6ubFmT2azANKT353ks0O2oX2//ySZlxsDcYdyqtAZzG3WUQn20vLAotG8vPUUY4M8eXDxGMB2HbB2bxbTwr2Z2piB0xTkWrMnq80AUnmtkS8PF7BkRli79YIuHx9EqLcra/ZktRmc0TeY2XgwlysmBNkvqpuCXOv2ZvG3a8fzaWIetY2BrbNNDPXig5WzKao2cFUbN76bhvuMDvCg9Bw1iGKCPLllRliH67Qn2EvLh/fNYX9GObfPbHu40L0Lohjh6tSshlZv8XZzYsX8qDavCS8dH8Q7S+NaDRHsjjnRvq2uFTtr/MgRfHjfHL49eu4hki1dNj6I6eE+rZa7OGp4++44Pk/K49a4UW32A+eP8Wft8llYVNWenXg2W/B+Kmv2ZDWrzalgy2rrbl/5+qmhOP/zMYIadEwMvbHV81onDauXzuSH40VcfI4geZMQL1c+vG82HyfkYT0rS9Dd2ZFl8yPbLAA/HPVaAElRlCuBlwAN8I6qqk/11r7OV4PZytu7MnhrZ0arorPfHCnkuVun4N/FyCjAa9tO8cPxYh65LIYfTxTzy/cP8d69s5kV5Yuqqnx5OJ//++o4BpOVO2eH8+DiMfa7AI9eNY7vjhbyv2NFuDppCJmkZaSXK0k5lbzwUxr7Msp46fZpBI3QYjBZ2J5ayraUEmKCPblt5qg+ubtsMFn43ceH+e5oERfFBPDqndPw1No+7HaklfL09ylcMzmEaH93Xtl6CqPZyjO3TMZsVXl9+2ne2H6aBouVbaklvLM0DjdniWeKgcVqVfnPDym8uSODC8f68+qd084ZRJk6yptD/++yTt1xPhetk8aeBtxV10wOIdzXjYc2HOL2t/az8sIovkzKp8FsZcN9c5gY6oXOYOLtXZnMiPDhyolnOooNZiuJ2ZVsTythR2opKUU63J01TA33ZkaEL3ERPsyK8u1S4Pe9/dk89b8UfNyc+NWGJD5JzOPx6yc2u9vVG0wWK2v2ZFJRZ+Ku2eFtBkxMFuugy8KyWFV+tSGJwup6NqZ+QabWh98rV/PwxsO8euf0VjcYvj9WxMMfJeHn7sJl44NYvy+LdfuyuHpSCEvnRjAjwkcCekPEYOp/NZkU6oWfuzPbUkt6JIC0rnFozt1zIls9F+hpG3Zx83/3snxNPJ/+cl6bdUY2HMzBaLaybF5Uq+daUhSFO2e3zhYJ9Xbl2R/TGOXrxiOXtx18UVWVRz+zDbF68bapzB3dOuN0/hg/YoI8WLMnk4vHBfLl4Xxumh7WLLu0yaqF0eRU6Hljx2lG+bpy1+wIezHlx284E7xx0jhw95wInv0xjfRiHWPbqA9ydlHdZ5dMbveGatMQwbzKev75zQlCfdy4rLF2z8nCGh744BBjAz147c5pbb7XrpgfyS/eP8Rr204BENtO3cDOWBwb2Klh3w4OCkvnRfLYphMk51YxZZQ3a/dk8u7uTJbNiyTYS8tT/0thlK8bf7pyHNtSS3B0UJg/xr/N7T18aQxZ5Xqe+SGVMB9Xrp8ayrbUErLK9fzurGPv5uzI7bPCeXd3JgVV9Yz0bv4Zv+Fgjq04+/zIdtvuqHHg7rkRPPW/FE4W1rTK+PgiKd+W0XZWcCjYS8tVk0L4KCGX31w6lnV7s5ge7t3m0LJpbQQSzuakceC+he0Pz+8pUf7uRPm3P4GIoiitMpP6y8Xjgrod+OlJU0a1fUzPh5ebU6tAY0tNwwvb4+bsaA+s9qSrKjoeSunj7twqa/JcogM87MF30TblfMdrt7lRRdEAacBlQB4QD9yhquqJttaPi4tTExISerwdnRGfVcFfPj9Kekktl14QyEUxAYwN8iQmyJNvjxbyr29O4O3qxIu3TWVeOx8abdlyspiV6xO4YWooz986hYq6Bpa8uY/SGiOv3TWdDw/k8P3xIuIifHh2yRQiO3iDbOnTxvoqrs4a5o/xZ1tKCbVGM+7OGuoaLHhqHblrdoT9A7A31BhMrFqfwP6MCm6cFsqm5AJGB3jw7rI4LFaV617ZzUhvVz5/YB5uzo68tu0Uz/yQyqLYALLL9WSW1XH91JFMD/fhsU3HmRHhw+plM+0BqP5SYzCRV1HPmECPHoky1xhMFFYZKKiup7DKQGF1PQWNXyvqGrhyYjArFkQxohd+b4tV5cukfD5KyGVWpC/3XRjd4ewXw42+wUxybjUFVfW241JtQOuoYUaEDzMifPBydeK3Hx3m++NF3DU7nMd+NuG8M3D6g85g4q9fHOPr5AL8PZz5YOUcYhvrSxjNFm59cz8ZJbV88eB8Cqrq+eZIAd8fK6LGYMZJoxAX4cu80X6U6IwkZleSUlSDVQUXRwfmRPtxUUwAYT6upJfUkl6s41RpLRNCvHjo4jH2YM1Xh/N5+KPDXDIukFfvnM6Ggzk8+0MqZqvKygujuGNWeKssAIPJwuHcKtKKdaQW2bJCjWYr00Z5M73xGIV6u3YY9Egr1vG7jw9zLL8GjYOCqqpcPSmEexdEUd9gYUdaKdtTS0kr0REX4cO1k0dy1aTgHhkmrKoqp0vrMJoteLo44al1xEPr2OriyWi2cDCzgp1ppVTpTXhoHfHUOjFC68jUUba71m2dd0/9L4U3dpzm3zdN4o4/3gPAu4+v4V/fnGDJjDDuvTAKT61tvxsO5PDU9ylMCfPm7cYZTAqr61m7J4sPD+SgM5oZG+jBHbPCuWl6aJsXpT1BUZREVVXjemXjAuh6/wv6tw92tt99fJitKSUk/u2y88qwrjWamfvkFhaNC+SVO6a1u97eU2UsXXOQmZG+rF0+q9lnvsli5cL/bGN0oDsfrJzT7bbYgkNH+Sghl6dvnsytbWRSvLA5jZe2pPPIZTH86pL2a2t8eCCHv3xxlIvHBbI1pYQff7uQmHaKwpotVu5bn8DO9DLeWRrHJwm57E4vY/9fLml2s6681sjcp7Zyy4wwnrxxUrNtZJTWctN/9+Lr7sznv5zXqfcFfYOZ29/aT3pxLR/dP4dATy03vLYHgC8enNfuDRGLVWXh09vIr6oH4PhjV5xzOG5P0BlMzP33Vi69IJCrJ4Vw//uJXHpBEG/8fAYOCvzty2N8cCCHJ2+cxPp9Wfi4ObNhVfvng9Fs4e53DnI4t4oP7pvNSz+lc6qkll1/WtzsvT+vUs/Cp7exauHoZheqDWYrC/6zldhgT967d3aHba/SNzDn31v42ZSRPH3LFPtyVVW57IWdaJ0c2PTQgmafkYdyKrnp9b32c+iVO6Y1y74SYtBZtMj2dfv2/mzFoNCTfbDeCiDNBf6hquoVjT//GUBV1X+3tX5vdV4+is/h44Q84iJ8mB7hw/RwH5wdHUgv1pFarONgZgVfHS4g1NuVf14/gUsuaB05PlFQw0MbDpFZVsdlFwQxM9KX6RE+TAwd0SrDwGCyUGs0k12uZ9nqg0T4u/HpL+bZ79IXVNVzy3/3UlBtwFnjwCOXx7DywuhudZROldTy8EdJ5FbUc+WEYK6dEsLcaD+OFdTw9q4M/ne0EKtqK0450ltLiJeWUT5uxAR5EhPsydhAD1ydNOhNFnQGE5V1Jo7mV5GYXUlidiX5VfXMjPRlUWwgi2IDiPZ3t38IlegMLFsdT1qxjmeX2KYt3HOqjF+8n4iLowNerk6U1Taw6aEFzbIL3tmVwePfniTCz43Hb5jIhWNtaY7fHinkNxuTmBDqxbtL46hvsFBYbQuyaJ00jPRyJcRbi5+7M2arSq3BTK3RTH2LIpFOGgfbRZqL4zkzI/QNZk6V1JJapCO98WtasY7CxsJzI7SOXDkxmGsnj2TeaL9OBw7qGyzszyxnR2op2xvvPJ3NQYGgEbbj4aRx4EBmBV6uTqxaGM2yeZEddpisVpXaBjM6g5n6BjOuzo6239fZsdldQatV5Zujhbz4UxoZpXWE+biSV1mPp9aRlQuiWb4gssOAVdN+ag1mKvUNnCqpbbyIr6Wizkiwl5YQL1dCvLSM9D7zNcDDpdvDPVVVpUpvsgfaqutNuLs4MqLxottotjYGegwU1xjw93AhNsiT2GBPQr1dbeeF0YzOYMJsVfF0sV2Ea50cmnWeDCZb0GBTcgFbTpY0O4d83Z3RN5gxmGwFNd2cNdSbLPztmvGsaCzCOlipqsr21FLGBHq0ysDJr6rnmpd3UV1vQlVttQcuHx/EFRODmT/Gv1U2Y63RTEJWBTvTytieVkJG6ZkhGyO9tET4uZOYU4nVqnLrzFFMD/fh0c+OMD3Ch/UrZtn/Nwur63n8m5N8d8yWar1wbABL4sIor21ge2oJ+zLK7cdihNaR2GBPHB0cSM6rQt8424+7s4aQpnOw8X2i6evxghqe35yGp4sjT9w40XZ3eW8WH+63BUwAnDQKs6J8uSB4BLvSy0gt1uGgwIwIH9t7fbjts8PNWWM//0p1RrxcnQjxtv0fjNA60mCxojPY/jdTCmvYnlrKjrRSitooUu7v4Wz/vzFZVPadLqfeZMHZ0QE/d2fb+1uDmaaP5hFaRy4cG0BcpA9mi4rOaKakxsDG+Fzumh3OEzdOataBeu7HVF7ZeqrVfq+ZHMJzS6a0em+sM5r55kgBGw7mcji3CmdHBz65f26P38EECSD1ha72v2DgBJA2JRfwqw1JbLhvjn24T3dsOJjDP785wecPzGtzSMbZPkvM45FPkrlpeqgtO6exftH3xwv57UfJvHNPHJeOP7+sApPFyoq18ew7Xc47S+OYHXUmw2jTkQL++OkRlswI4+lbOq6tUd9gYe5TW6jSm1gwxp/3V3YcYKgzmrn1zX1kldVhMFtZuSCKP1/deorsP36azNfJBez4w2J736C63sRtb+2j1mDmiwfmdylTtFRn5MbX92AwWfH3cCa3Qs8nv5jH+JEdZxW9tfM0T36XQrivGzv/uLjT+ztfj206zvv7s9E4KMQGebJh1Rx7kM1ssbJyfQK70suwWFX+cvU4Vi1suwZikyp9Azf9dy+lOiM6g5k/XBHbZubFL95LZF9GOTv+sMh+PfHd0UIe+SSZNctmnrMuFcBfvjjKp4l57PjDIrxdbQG+fRllrFibwHNLpnBzG8PHrn9tD8m5VQSP0LYKbAkx6EgAqdMGQwDpFuBKVVVXNv58NzBbVdWH2lq/tzovXx3OZ/2+bI7mVdPQxiwLHi6O3Dk7nIcvHdvh8Cl9g5lnfkhly8kScipsAQGNg9KsuJbZasVkOfO39HV3ZtOvFjQr6AW2Ozpv7cxgxYKodu8cdYWqqm12OHIr9HydXEBuhZ6CagMFVfXkVugxnjXNrKJAy8Pv7ebEjHAfgr207M8o53TjxaGLo4O9QF3TcI///nw6i85KEz5VomPF2gTyKvWsWzHLHiA6W2qRjgg/t1YXMZtPFPPgB4faPE5NNA7KOWf4aOKscegwMGcwW+y/u7OjA2MCPIgJ8iAm2JMQLy270svYfLwYndF8zm2drcFixWJV0To5MDfaj1lRfoT5uDYG8VwJ9HRpFow6ll/NC5vT2JJiS41u74O8qQhke7RODvaOr0VVaTBbiQ3y5LeXjeWKCcGkFOl4YXMaP54o7tZ+HB0Uovzd8fdwoVhnoLDK0CqA19F2z8ViVTs89mdryrRr0tF50bJNJosVs1XF192ZqyYGc+n4ICL93Anx0qJ10mCyWDlRUENidiUnCmu4ZnJIl2dAG4wOZJTzaWIel44P4qKYgC4NTcut0FNaa2RMoIf94qOo2sBr206xMT4Hk0VlYqhtXH5bgcu8Sj0fJ9gKqDYFXKL83bkoJoALx/ozYaQXQSNc7O9zZouVlCIdh3IqySyrO5PZV22grNbY7D3tiglBPHHjpGZDkHUGE98dLcTP3YW5o/2aBW3Ti3VsOlLIjtQSjhfUYO7E+01b55+n1pELx/qzcGwA3m7O6Awmao1mqutNFFUbKKg2UFRdj8WqsmCMP4tiA5kd7Wv/HLJaVSr1DezPqGBHWgnbU0sp0dlqTSgKeDg7Mne0H6/eOd2WNXFWB0pVVQ7lVFFcY0BnMKEzmPF1d+aGqaHnDPCeKKjhq8P5/P6K2F65qJAAUu/rav8LBk4AqVpvYvrjmzv9Od+RKaO8+erB+Z1a98Wf0njxp/RWyyP83Nj2yKIemQCkxmDi1jf2kVKka/XcgjH+rFk+s1P/c02Zh+8ujWvzpmdLxTUGbnhtD8U1Bnb+cXGb9Z5OFtZw1Uu7Wi13cXRgw6o55wzCteVUiY6bXt9LXYOFd5fGNesrtqdab2LOv7ewYKw/b9/Td28T2eV1LHp2O6HernzxwHx78fImtUYzt76xjxOFNWz+7cI2h/q1lFOu58bX91BrNLPvz5e0WRj+QEY5t721v9XyaH93fvrdRZ0679KLdVz2ws5Wy/09XNjz6OI2h9J/dTif32w83G5gS4hBRQJInTYkAkiKoqwCVgGEh4fPyM7O7vF2NDGaLRzLr+FQdiUWVbUFCoI8Genl2uWOQYnOwKHsKo7lNw9KOSgKnlpH+2NmpG+7hRn7i8WqkluhtxcJbzBb8dQ64aF1ZITWiXEhns0yjcB2cbgjrdQeOAPbBcx1k0cyMbT17CXV9SbyK+vPeaepLYnZlexOLyPYy8We4WIwWRuzUuop0RnROmnsWUauzppms50YzZbGLBTbw9rBue3h4khMkAdjgzyJ8HVrM8PIYLKwM62UxJzKVoG29jhrHJgV5dvl+jBJOZX8cLy4wza7Nv7unlpbhlV9g+33rTGYW03ZOznMi6snhrQ6v4/mVfPdscIOO+haJ40t88fFES9XJ6IDPIjyd2+W3q+qKtX1JvtwvKYL4rODqF2hKLa6FCO9tIR4u+Lt6kRdw5lj6ezoYH/Ow8WRGoOJ9GJbZlRepR5XJw0ejVlHGgcFndGWQdWUkdRE46Awb7Qfc6M7n1Umui+vUs83RwpZMiPsnDNsmC1WErIrCWnMYuqOBrOV4hpbwNzBQSHuPOr6GEwWjuRVcyinEotVJcRLS7CXlkBPLdX1Jgobs+Uq9Q24uzja35dG+boxrZ1hZ92lqiqlOiOuzhrcW2QcAoOmAyUBpN7X2QBSX/bBumLziWJOl55/QdxLLwhsVYi6Paqq8nVygT0DucmCMf5t9nO6q1Rn5KvD+c0+k1ydNNw0PbTTw/drjWa2nCzmZ1NGdvq9La9ST065vsMyDN8cKSCvsr7ZsjnRfueVCZZWrKOirqFLs4gezKzA38P5vCag6I7d6WVEB7i3qkfUpKKugSN5VZ0KhDXJKqujtNbIzHZmWlNVlS+S8u03B5p09bz77mhhsz46wMxIH2ZEtL1fi1Xl6+R8rpoYIhPYiMFvkPR/BoLBEEAaEEPYhBBCiCFvkHSgJIDU+wbzEDYhhBCiSwZJ/2cg6Mk+WG9VqIsHxiqKEgXkA7cDd/bSvoQQQojhSzpO4gzpfwkhhBgepP/TL3olgKSqqllRlIeAH7BNI7taVdXjvbEvIYQQQggh/S8hhBBC9K5eGcLW5UYoSilwPgPwvYDqbr7WHyjrg/10heync1oeu8H++wz3/XTlf/F89tNTZD/t6+hYDsbfZzjtp6f+D9sSq6rq+c8eIXpUF/pgfXUODrf99ldfpiXZ78DYZ2+8Bw+nv/FQ229nzoeh9PvKfpvrifeDpm1EqKraeoar7lBVddA/gLfO47UJfbGfvvp9htN+Wh67wf77DPf9dOV/cTD8PsN5Px0dy8H4+wyz/fTI/2Ffb1sevf/oq3NwuO23v/oyw+3vPBD225l99sb75HD6Gw+1/XbmfBhKv6/st+vHvy+20fIxVKYh2iT7kf3IfmQ/sh/Zj+xHiF7TX+eg7Ff2O1T2O5x+V9mv7Ff2O0QNiCFs/UlRlARVZoUZlOTYDS1yPIcOOZaDV28eOzkvhGhN/i/E2eR8EGeT82F464nj3xvn0FDJQDofb/V3A0S3ybEbWuR4Dh1yLAev3jx2cl4I0Zr8X4izyfkgzibnw/DWE8e/x8+hYZ+BJIQQQgghhBBCCCE6JhlIQgghhBBCCCGEEKJDwyKApChKbX+3QZy/cx1HRVG2K4oi44QHKEVRblAURVUUZVx/t0WcH0VR/qooynFFUY4oinJYUZTZ/d0m0XmKooQpivKVoijpiqKcVhTlJUVRnDtY/2FFUdz6so1CDEXSjxHSFxItSZ9qeBuMfbJhEUASQgwIdwC7G7+KQUpRlLnAtcB0VVUnA5cCuf3bKtFZiqIowOfAl6qqjgViAA/giQ5e9jAgASQhhDh/0hcSdtKnGt4Ga59sQNRA8vf3VyMjI/u7GUIIIYToJYmJiWWqqgb0dztEc9IHE0IIIYa2nuyDOfbERs5XZGQkCQkJ/d0MIYQQYtgqqzWSnFvF3NF+uDn3fPdAUZTsHt+oOG/SBxNCCCGGtp7sg8kQNiGEEMPPokW2h7DbnlrKvesSyKnQ93dThGhlf0Y5t725j/oGS383RQghhOhZg6hfOiAykIQQQgjRv/adLsfX3ZmYQM/+booQrWw4mMOBzAp2pZdy+YTg/m6O6AcbDubw6tZThPm4EuXvToSfO5F+brav/m69kjkphBCiOXmnFUIMeZuSC5gc5kWEn3t/N0WIAWt/Rjmzo3xxcFD6uylCNGOxquxIKwVg84liCSANU18cysdotmKxqvx0soSyWmOz52+eHsazSyZjq0srhBCiN0gASQgxpKUW6fjVhiRumDqSF2+f1t/NEWJAyq3Qk19Vz6qF0f3dFCFaScqppEpvwtfdma0pJVisKhoJdA4rBpOFw7lVLJsfyV+uvgCAWqOZrLI6ssv17EovZWN8LrOifLhtZng/t1YIIYYuqYEkhBjS3tqZAcCu9DKs1v6fdVKIgWhfRjkAc0f79XNLhGhta0oJjg4Kj1weQ3ldA0k5lf3dJNHHknOraLBYmRXpa1/m4eLIxFAvrpkcwpM3TmLeaD8e23SCzLK6fmypEEIMbRJAEkIMWYXV9Xx1OJ8wH1fK6xo4XlDT300SYkDaf7ocP3dnxgZ69HdThGhla0oJcZE+XDdlJI4OCptPFvd3k0QfO5BZgaLAzLMCSGdzcFB47tYpOGkcePijw5gs1j5uoRBCDA8SQBJCDFlr9mShAq/cYRu6tiOtpH8bJMQApKoq+zPKmRPtJ7VDxICTX1VPSpGOi8cFMkLrxJxoPzafkADScHMws4JxwSPwcnNqd50QL1eevHESyblVvLL1VKe2W11v6qkmCiHEsCABJCHEkFRjMPHhgRyunhTCtHAfJoaOYGdaWX83S4gBJ6dCT0G1gTnRbd/ZF6I/bUuxBf4vHhcIwGXjg8goreN0aW1/Nkv0IZPFSmJ2JbOjzv0edc3kEG6aHsqrW9NJzK5od706o5lHPzvClMd+ZFuq3FwSQojO6nYASVGUUYqibFMU5YSiKMcVRflN43JfRVE2K4qS3vjVp+eaK4QQnbPhQA61RjP3NxYFXjg2gMScSmoMcrdRiLPtl/pHYgDbllJCuK8bowNswysvHR8EwE+ShTRsHM2vpt5kYVYnAkgAj/1sAqE+rjz80WFqjeZWzyfnVnHNy7v4KCEXDxdH3th+uqebLIQQQ9b5ZCCZgUdUVR0PzAEeVBRlPPAosEVV1bHAlsafhRCizzSYrazek8n8MX5MDPUC4KKYACxWlb2nyvu5dUIMLPtOl+Pv4WK/QBdioDCYLOw5XcbF4wLtwytDvV0ZHzJChrENIwczbZlE7dU/aslT68QLt04lv7Kef3x93L7cYlV5dWs6N/93Lw1mKxvum8OvLxnDgcwKjuVX90rbhRBiqOl2AElV1UJVVQ81fq8DTgKhwPXAusbV1gE3nG8jhRCiK746nE9xjZFVC0fbl02P8MHDxZEdaaX92DIhBhZb/aMK5kT7Sv0jMeDsO12OwWRlcePwtSaXjQ8iMaeS8lpjP7VM9KWDmRWMDnAnwNOl06+Ji/TlwcVj+DQxj++OFpJboYfPdwoAACAASURBVOf2t/bx7I9pXDUphP89vJA50X7cNjMcN2cNq3dn9uJvIIQQQ0eP1EBSFCUSmAYcAIJUVS1sfKoICOqJfQghRGeoqsrbuzIYF+zJwrH+9uVOGgfmjfZjZ1opqqr2YwuFGDiyyvUU1RiYEy3D18TAszWlBFcnTavaN5eND0JVYUuK1K4Z6ixWlfisCmZFdf096teXjGXKKG8e/ewIV7+0i5RCHS/cNoWXb5+Kl6utGLeXqxO3xo1i05ECSmoMPd18IYQYcs47gKQoigfwGfCwqqrN5shWbVdpbV6pKYqySlGUBEVREkpLJSNAiM5QVZXHvznB+n1Z/d2UAWt7ailpxbWsWhjdKqPiotgA8qvqOV1a10+tE2JgkfpHg1MHdSj/oShKvqIohxsfV/d3W7tLVVW2ppSwYKw/WidNs+cmjBxBiJdW6iANAycLa9AZzJ0qoN2Sk8aBF2+biqpCbLAn3/3mQm6cFtaqb7B8fiRmq8r6fdk91WwhhBiyziuApCiKE7bg0Qeqqn7euLhYUZSQxudDgDZvD6mq+paqqnGqqsYFBAScTzOEGDbeP5DDO7szeWzTCU4U1Jz7BYPQgYxyCqrqu/36N3eeZqSXluumjGz13MKxtvcaGcYmhM2+0+UEeLoQ7e/e300RXdNeHUqAF1RVndr4+K7/mnh+0oprya+qt8++djZFUbj0giB2pZdhMFn6oXWirzTVP+psAe2Wovzd2feXS/j4/rmM8nVrc50IP3cuvSCIDw5ky/kkhBDncD6zsCnAu8BJVVWfP+upr4Gljd8vBb7qfvOEEE3SinU8/s0J5o32w8fNiT9/fgSLdWgNxapvsHDP6oM8+OGhbg0zS86tYn9GBSsWROGkaf32NsrXjdEB7hJAEoKm+kflzI32k/pHg0wHdSiHjK2Nw9MWx7YOIIFtGFu9ycKeU2V92SzRxw5mVjDK15WR3q7d3oaHiyMODh2/x927IIpKvYkvkvK7vR8hhBgOzicDaT5wN3Bxi1Tpp4DLFEVJBy5t/FkIcR4MJgu/3pCEp9aRl26fxt+vHU9yXjXv7cvq76b1qP0Z5RjNVpJyqvjmSOG5X9DCWzsz8NQ6cvus8HbXWRgTwIGMcrnLKIa9jLI6SnRGqX/0/9m76/Corq2Bw78zcSfuSgyXCFpcW1pogVJoC3V3u21ve2/l1o26CxWslLZokeCaYAmBuBAh7m5zvj+S8AGxiUxmJtnv8+QpnXNmzprJnMmeddZeW8dd1YcS4BFJkqIkSfpBkiTrNu6j9W0E9sbmMtjZEicr41a3j/WxxdxIX6zG1ofJskx4aiGhXur/jBrjbcMQF0t+OJQi+iQKgiC0Q7+rd5Rl+RDQVjp/elcft7dEZRTz/aGUNis4vO3MeGqmv7gqK7QrraCSDacysDIx4LaxHhjp63V8py54e3sssdll/HhHCPYWRtwwwoU/TmXy3o44Zg1x6taVOXUoqazjh8MpTPC161TZ+f74PIwNFHjZmvHOP7HMHOzYovdFW9IKKtkencV9kwZibtT2R9tkf3t+PJzK8ZRCJvuL6bNC/yX6H+m+q/tQSpL0JfA6jf0nXwc+AO66+n6yLH8DfAMQHBysdd+WiytrOZlWxENTBra5j6G+gskB9uyOyUWplDusMBF0T2JuOYUVtYzx6dr0tc6QJIm7J3rz1PpIDiTki/GBIAhCG3pkFTZdU1hRyz2rTrA3NpfzWaUtfk6nFfPpnkQOJIiyaKGl2nolW6Iuctt3x5n03l4+3ZPA61vOM3flQbVMjdoTm8NPR1K5c4LXpaWMJUnijQVDaZBl/rvpXI8f83LphZXklqm2MolSKbM+Ip1pH+zj47AE3tsR26ljHYjPY6yPLS/PG0xGURU/HUlV+b7fHUpGX6Hgzgle7e431scWI30F++PUc9W9vKaesxkl1NSLCqerxWSVklVSJa7uqpksy1wo6LhR/NGkAhwtjfCybb0viKDdWutDKctyjizLDbIsK4FvgVBNxtiWteFpnE4ranP7/vg8GpTypb95bZk12JH88hrOZBT3dIiCFjje1P+oKw20u2LecBccLIz4/lBKrxxPEARBF3W5AklXybLMcxuiKK6s46+HJzDYxbLFPrX1Sqa+v4+PdsUzyc9OVCEJACTnlbMuIp0NJzMoqKjFdYAJT830Z3GwG3HZZby6+Twrfghn1mBHXp43uM1mjZ2RW1rNM79HEehkwb/mBF6xzd3GlCdm+PP29lj+ic5mzlCnbh/vakcS87lrVQR1DTLTAx1YOsaDSX726LVypTcqo5iX/z5HZHoxwZ7WTPa3588zmeSV1WBvYdThsdILK0nOr+D2cZ5M8LVjWqADn+9JZHGQG7bm7d//RGoha8PTuXGUK46WrU93aGZsoEeotw0HErqfQCqrruPcxVKiM0s42/STkl+BLEOQpzU/3RmChbFBt4/TF0RnljDv00MA2JkbMtTVimGuVgxxsWKYmxUuVsbis7aHfHMgmbe2x/LuouHcHOze6j6N/Y8Kmegr+h/porb6UEqS5CzLcvP83xuBaE3E156U/Aqe33gWQz0F7ywaxo2j3Frsszc2FxszQ0a4DWj3sab4O6CnkNh1PofRHq3O1mtTfYOST/YksnC0K562oom8NgpPKcTR0giPHhhPqcJQX8HycZ68vzOehJwy/BwteuW4giAIuqTfVSD9euwCu2NyeH5uYKvJI2j8A/LwVF/OpBezTzTb7VM+3BnHE2tPU1JVp/J9SqvrePDXk0z7YD/fH0ohxMuGn+4M4cBzU3lsuh/OViZMCXDgnyeu4bk5ARxMyGfGh/v5eHdCt/rsKJUyT/8eSWVtPZ8uHdXqVK67J3ozyNmS/26Kpqxa9eekisNNySMPG1PumejNyQtF3PljBJPe3cvHuxPIKmlcKa2oopYXNp5l/ueHySyq4sObR/D7A+O45xofZBl2x6jWn6K5equ5bPzFawOprGvg47CEdu+XXljJ/b+cxNXahBeuDWx332aT/e1JzC0no6hSpf2vlphbzvzPDjHslZ3c8s0x/rc1hvCUQgbam/PkDH/+fe0gItOLWfFDeI//XnTVxlOZGOopeHneYKYEOJBdUs0X+5J44NeTTHh7D2PfCiM6s0TTYeq8tIJKPtodj75C4pVN50jOK291v6S8cvLLRf8jHdZWH8p3JUk6K0lSFDAVeFKjUbZi29nG/NYQV0ueXBfJh7vir6hKbFDK7I/PY4p/6xcrLmdlasAYbxt2d6EP0m/H0/gkLIGv9id1+r6C+smyzPGUAkK9ezfJvWyMJ0b6Cn44LKqQBEEQWtOvKpDissv439YYpgTYdzjNZVGQG5/vTWTlrnim+NuLK7Q0rgKWXljJ9EGOPfaY0ZkllFTVMcHXrscesy15ZTV8uT+JugaZyIwSvr49CP8Ori7F55Rx/y8nSS+s5PHpftw61gMHi9YrXIz09Xhoii8LRrryxrYYPtodzx+nMnh/8YguLT/7/aEUDibk88aNQ9u8Cmagp+Ctm4Zx4xeHeW9HHK/NH9rp47TmUEI+d6+KwNvOjN/uGYOtuRFPzwpg1/kc1kak8dHueD4Oi2einz1RGcWUVddz1wRvHp/hh2VTxc0gZwvcbUzYeS6bpe00tW62Pz4PN2sTvJuWE/d1sGBZqAe/HU9j+ThPfB1avgZl1XXcvSqCugYl368IZoCpoUrPb0qAPf/bGsOB+HyWjek4tsvtOJfN0+sjMTZQ8PRMf4a5WTHU1Qq7q6qk3G1MeGT1aZb/EM6qu0IvvS66rkEpsykykxmDHFWurqpvULIp8iLTAh24e6L3pdurahuIyW6s4PpgZzyf703ky9uC1BU6siyTU1rD2cwSsh1HckN+DFZqO1rvk2WZf/91Fn2FgjX3hnLHjxE8vvYMfzw4HkP9K68XHU1unBoi+h/ppnb6UG7r7Vg6a0tUFkGe1qy5dywv/nmWT8ISSM2v4N1FwzE20ONMehFFlXVMG9T+9LVmMwY58tqW86TmV+Blp1olUUF5DR/sjANga1QWr9wwRG09DIWuSSusJKe0ptemrzWzMTPkptGubDyVybOzA7ExU21cIQiC0F/0mwqky1exem/RiA4TQob6Ch6d5ktkRgl743J7KUrtJcsyj689w92rTvDCxrM90t9FlmWeWHeGu1dFkF2iWo+d7lgbnkZdg8y7i4ZTVl3Pgs8PX7oS2pptZ7NY8PlhyqrrWX3vWJ6c6d9m8uhyLgNM+HzZaFbfMwYZmWc3RKJso1l7W6IzS3h3RyyzBjuyrIPky0j3AawY58Uvxy5wqp2eEqo6EJ/XInkEjefEdcOd+eXuMRx4dioPThlIUm45Q1ws2fbYNbw8b/AVSRJJkpg12InDiQUdVuHU1is5ktjYtPLyc/OJGX6YGujx1raWvZQalDKPrTlNUl4FX94WhI+9ucrPcaC9OS5WxhzoRIVhg1LmvR2x3P/LSQY6mLP50Yk8Ot2PKQEOLZJHAHOGOvP5raM5m1HC7d+Hd6rqTZu9uS2GJ9dF8kkHlWGXO5xUQH55DQtGXbnKuImhHqM9rFk+zotbQtzZeT7nUmVbT8gtrWbHuWw+2BnHHT+GE/LGbsa+Fca9P5/gZe+Z3D5oMSWVfeP3ArAp8iIHE/J5ZpY/ozyseWfhcM5mlvDBrrgW+x5LKsDZyrjXpoYIAjRWvsVklXLdMGcM9RW8t2g4z80JYFPkRZZ9e4z88hrCYnLRU0hc46daE+OZgxsvaqla7Qrw/s54KmsbeOm6QZRW16utJ57Qdb3d/+hyd03wpqZeyW/HLvT6sQVBELRdv0kgvb09lricMt5fPEKlfiwAC4PccLcxYeXuhH7f9PXEhSJiskoJ9bJhTXgat3xzrNtJn1NpxSTmllNdp+T9nS2/4PSk+gYlvx1P4xo/O24OdmfLoxMJcLLgod9O8fb22CtW42tQyry9PZaHfjtFgJMFWx6d2KUKovG+djw1058LBZWXBkKqkGWZf/0RhY2ZIe8sHK5S9dszswNwsjTmxY1nqWtQdjrWZvvj87jn5xP42Juz+t6xbfYe8rA15dnZgRx+fhq/3TOWAKfWK6RmD3GitkHZYXPxU2lFVNQ2tFj1xNbciIen+RIWm8vhxCub2r+xNYa9cXm8Nn9IpyvYJElicoA9hxPzVXq9SirruOunCD7fm8QtIe6sv38szlYdr3w3e4gTX9w6mvMXS1j+/XGdTyKtCU/j+0MpWBjrsy4inapa1RLJf53OxNJYn6mBbX8hvG2sJ0pZZvXxtB6J9VhyARPe2cP9v5zki31JZJdUMyXAgVdvGMIfD47ny/i/iTW157bvj/eJJFJxZS2vbT7PCPcB3D7OC4A5Q51YNsaDr/cnc+iyRSEa+x8VMM5H9D8Sete2qMaLNtcOcwYaP4sfmuLLF7eO5tzFUhZ8fpgtUVkEe1pjZaJahaO7jSmBThZsirzY5sq6lzubUcLaiDRWjPdixXgvbM0M+TvyYteflKAW4SmF2JgZ4uug+sWhnuLnaMEkf3t+PnZBLIghCIJwlX6RQAqLaVzF6q4J3kwJUK0kGhqnBz061Y+ojBLCYvp3FdLPRy9gYazPT3eF8OWto4nLLmPep4eISFU9MXK19RHpmBrqcdtYD/44laHW/ie7zueQXVrNiqYvVk5Wxqy9byzLxnjw1f4k7vgxnKKKWooqarnjx3C+2p/EsjEerL1vLE5WHVcdtWXuUOemL9uqfymOSC3i3MVSnpjhj7WKpdPmRvq8esMQYrPL+NeGKJLa6HvSnr1xudz78wl87c1Zfc+YHinbDvK0xtbMkB3n2r8yvD8+D32F1Op0mjvGe+E6wIT/bY259OVg9fE0fjicwp0TvLh1jGeXYpvsb09ZTT2n09pfvScmq5TrPzvEkaR83rxxGG8vHN6pqQ6zhjjx5a1BnM8q5XYdTlYcScrn5b+imexvz9e3B1FaXc+myMwO71dRU88/0dlcN9yl3dfN3caUaQEOrAlP6/aAvbqugRc3nsXJypiND43n3Kuz+eeJSby/eAQrxnsR5GnN3MJ4vor/m7jsMm79/hjFlbXdOqamvbUtluKqOt6+adgVfWNevm4wvg7mPLX+DAXlNQAk5JZTUFEr+h8JvW7r2SxCvKxb/F29dpgz6+4fR3WdkrTCSqZ1sPra1e6a6E1URgn/3RTd7gU/WZb576ZobM0MeXyGHwZ6jZW1u8/niH51WuZ4SgGhXjYaS3I/MMmHvLIa1kWka+T4giAI2qrPJ5ByS6t5dkMUg5wt+dfcgE7f/8bRrnjYmLIyLL7fViHlllaz/WwWNwe7Y2qoz9xhzvz18AQsjPVZ+s0xVh1J7fRrU15Tz+aoi8wb7syzswMZYGLAG1tj1PYarzqaiusAkyuWBDbS1+PNG4fxzsJhHE8u5PrPDnHD54c4nlzIOwuH8eaNw7rdE8HYQI/5I13YHp2tcvXJqqOpWBrrs2Cka4f7Xm7WECfunujNpsiLTP9gPzd/fZS/Tmd22Mi7sKKWP05mcP/PJ/FzMGf1vWNUTlx1RE8hMWOQI3tjc9tNCuyPyyPI07rVnjrGBno8PzeQmKxS/jiVwZHEfP7zdzRTAux56brBXY5tvK8degqpzWlsDUqZDSczuOmLI9TUN7D2vnGd7pfUbMZgR766LYjYrMZkha4lkZLzynnw11N425nx6bJRjPOxJdDJglVHLnR4zu48n01VXQM3je74/bx8vBf55bX8E53drXi/2JdEcn4FbywYxmgP61Yb0ANMK07m6+VBxOeUs+zb4xRV6GYS6VhyAetOpHPPNY1N9S9nYqjHJ7eMoriyjn/9EYUsyxxNKgBE/yOhdyXmlhGbXcZ1TdVHVxvpPoC/H5nA3RO9WdzG6oFtuTnYnfsn+/DrsTS+2p/c5n5/ns7kVFoxz80JvDTlev5IF2rqlezs4EKH0HsuFleRXljVpervnjJuoC2hXjZ8vjexWwuiCIIg9DV9OoF05SpWI7uUDDDQa+yFFJ1Zyq4urPLRF6wJT6deKXPb2P+v9PB3tOCvhycw2d+e/246x9O/R3bqD+zWqItU1jawJMQdKxMDnpzpz9HkArVUesVll3EsuZDbx3m2uqLLkhAP1j8wjgalTF29zPoHxrEkpGuJgtbcEuJBTb2STWc6rtbIKa1mR3Q2Nwe7Y2LY+ffry/MGc/SF6fxrTiA5pdU8se4MY94M49XN54jPKSO/vIa9cbl8GpbA/b+cYMLbexj9+i6e/j2SACcLfrtnjMqNqFU1e6gj5TX1l760Xi23rJrzWaVM8m97etO84c6M8hjAu//E8cCvJ/GxN+PTpaM6XKGnPZbGBoz2GNBiet3F4io+2hXPxHf28MzvkQx1tWTzoxMJ8uzcEtFXmz7Ika9vDyIuu4y3/4np1mP1ppLKOu5ZdQI9hcQPd4RgaWyAJEksH+fF+azSDvtu/Xn6Im7WJgSpsMT2Nb52eNma8vPRrvedSMwt48t9iSwY6dLue6rZ1AAHvrk9iMS8cpZ9d5xCHUsi1dQ38OKfZ3G3MeGJ6f6t7jPYxZLn5wayOyaXX49d4FhyAa4DTHCz7ngapiD0lC1RWUgSzG0jgQTgOsCEl+cN7lIF7L9mB3LDCBfe+SeWv063/HtbXlPPW9tjGeE+gEWj3S7dPtrDGjdrEzGNTYs0V7drMoEkSRJPzPQjp7SGNeE9M7VaEAShL+jTCaTmVaz+M29Iqys4qerGUa542Zr2y15IdQ1Kfjt+gcn+9pdWx2pmZWLAt8uDeXy6HxtPZXLHj+Eqvz7rItIZaG/G6KYvlUtDPfCxN+PNbTHd6uHTml+OpWKor+Dmdq5ojnQfwJ6np7D3mSmMdB/Qo8cf6mrFYGdL1p3ouAx69fG0Fsm6zrK3MOLBKQPZ+/QUVt8zhkn+9vx2LI1ZHx0g+H+7ufPHCD7YFU9CTjmjPa158dpAVt87hg0Pjuvx5BHA+IF2mBnqtTmN7WB8Y2+Wq/sfXU6SJF66bhD55TXo6yn4fkWIyiuAtWeyvz1nM0vIKa1m57ls7vopgonv7OGTPQn4OVrw5a2jWXPvWJWap6tiaqADy0I9+P1EBumFlT3ymOpU16Dkwd9OklFUxde3B+F+WcPlBaNcsDDWZ9WRtpM9uWXVHErIY8FIVxQqJPsUConbx3lx8kJRl6a0KpUyL2w8i5mRPi/NU706bUqAA98tDyY5r5xl3x7rUhLpVFoR097fxx8nMzp93+74Ym8SyXmN1VbtJZ3vnODFlAB7Xt8aw6GEfMaK/kdCL9salUWIlw2Olj3zeXo1hULivcXDGetjw7MbIjlyVd+8T8MSyCur4dUbhlzxeSRJEvNHunAoIY+8shq1xCZ0zrHkQiyM9VtUVPa28QPtGONtwxf7kkQVkiAIQpM+nUAK9bbh7oneLA3tXCn01fT1FDw6zY/zWaUd9nLpa3aeyyG3rIYV41tPaCgUEk/O9Of1+UM4llzI5qi2VzVrlpBTxqm0Ym4J8bj0BcZAT8GLcweRnF/RY010AUqr69h4KpMbRrh0eEXTxFCvS1U/qlgS4k50Zmm7X4pr65WsDk9jSoC9yksRt0ehkBjva8enS0dx7MXpvHL9YF66bhBr7xvL2VdmseeZKXy6dBT3TRrI+IF2alvC2NhAjykBDuw6n9PqanT74/OwMzdicAcDxSBPGz6+ZSSr7x1zRSKjO5orVKa+v4/7fjlJdGYJD0/15cCzU/n5rlDmDnNGX69nPyYfmuqLQiHx6R7VVzHThMZeIec4klTA2wuHEeJ15ZVgU0N9FgW5sT06i9yy1hvqb47MQik3JptUtSjIDRMDPX7pQhXSuhPpRKQW8eLcQa2ujNeeSf72fLcimJT8CpZ9e6xT09lKq+t4bM1pUgsqePr3SP77d3SPJMKLK2v5cGccv59IJza7lPqrHjMxt5wv9yUxX4VqK0mSeH/xCCyNDSirqWesj+au7Av9T3xOGQm55cwb3nb1UU8w0tfj69uD8bYz4/5fThKbXQo0rv72w+EUFge5tXqRaP5IV5RyY3W0oHnhKQWEeNl0q8q4pzw505+8shp+68GxqSAIgi7r0wmkEe4DeHne4B65yjp/pAvedmas3B3f6SXZddmqo6m425gw2b/9hpbLxngyyNmSd7bHdniVZl1EOvoKiRuv6okyfZAD4wfasnJ3fI+tVrXxZAaVtQ0sH9f1ip6esGCkK4b6Cta3U4W041w2eWU1aonVxsyQOyZ4c881Poz1se2R6p3OmDXEkfzyGk6nXzndqUEpczAhj0l+dipVqMwf6UqgU89dkRzqYsVYHxvG+tjy7fJgjjw/jadnBfRYgqo1jpbGLAv14I9TmVwoqFDbcVSRW1ZNbHZpqz9f7Eti9fE0HpoykJsum+5xudvHelLXILM2vPX39V+nMxnmatWpClArEwMWjHLlrzOZnWpsnVtWzZvbYhjrY8Pi4Nbj7cg1fvb8cEcIyfkV3P/rSWrrO04CybLMS39Gk1VSzdr7xnHPRG9WHb3Ard8ebzOxpgpZlnl2QxSf7Enk2Q1RzFl5kKGv7ODGLw7z8l/RrI9I54WNUZgY6vGyitVWduZGrFwyEl8HcyYHqLZEuiD0hObpa3OGOqn9WFYmBvx0ZyimRnrc8UMEWSVVvLb5PMb6ejw3J7DV+/g7WjDI2bLfT2NTZRU7dcsvryEpr0Kj09cuN9bHlnE+tny5L0nllUcFQRD6sj6dQOpJ+noKHpvuS2x2GTvOda/Bq66IzS4lPKWQ28e23jvocnqKxilGmcVV/HQktc39auuVbDydyYxBji0qBCRJ4t/XDaK4qo7P9yZ2O35Zlvn52AVGug9guFvPTkvrLCtTA+YOdWq3qfUvRy/gYWPaYbJOF00NdMBAT2pRwRedWUJRZZ3GvswqFBJr7xvHD3eEMHOwY49XG7XloSkD0VdIfLqn++/zrjqRWsiEt/cwZ+XBVn/e2xHHnCFOPDOr7cUHfOzNucbPjtXH01pU3CTmlnE2s4QFozrXDB5g+ThPauqV/H5C9elgr20+T02dkjduHNatiwYTfO14d+FwwlMKeemvsx1Oy914KpNNkRd5Yrofod42vDRvMB/fMpKozGKu//RQhz2i2vLb8TR2nc/hxWsD2f3UZFYuGcmtYzwx1FPw5+lMnvsjiojUIv59beeqrSb62bH7qck9Ni1TEDoiyzJboy4yxtum1953LgNM+PGOUMpr6lnw+WH2x+fxxEx/7C3aPlfmj3ThdFqxxhP7vU2plNkXl8udP4Yz6D//tOgL2Nu2n22sZNeWBBI0ViHll9fw2/Gu9+cTBEHoK0QCqRNuGOGKj70ZH+6K7xdzoX8+egGjDnoHXW6Crx3TAx34fE/ipeWirxYWk0NhRS1L2phWOMTFioWj3fjpcCppBd3rEXM4sYDkvAqNVx81WxLsTml1fasJyJisUsJTC7ltrIdWlGz3NEtjA8YNtGPHuewrvpDvj89DkmCir50Go+t9DpbG3DrGkz9PZ5Ka3/tfVkqq6nh87RmcrUz44tbRfNnKz/crgvl46cgOK8NWjPMiu7S6xSIDf57ORE8hccMI1aevNRvkbEmolw2/HLugUsXn3thctkRl8fBUXwbam3f6eFdbMMqVR6f5sv5EBt8ebHtFp9T8Cv7zdzSh3jY8NNX30u3zR7qy8cEJGOorWPL10U5Py03IKeP1LeeZ5G/PPRN98HUwZ8EoV16eN5h1948j6r+z2PP0ZNbcO7bL1VaC0FvicspIyqvguuGd/yzojsEulnx1WxAF5bX4OZh3OBa4vumzatOZ/lGFVFpdxw+HUpj+4X7u+DGCs5ml2Jsb8czvkW2O4VpT36DssTFxan4Fb22PZZyPLSM1fOHvcqHeNkzwteWr/UlU1tZrOhxBEASNEgmkTmiusknILee5DVF9uqF2SVUditbZIwAAIABJREFUf57KZP5Il041Vn7h2kFU1jWwcnfr/V3WnUjH2cqYSX5tV5w8MysAPYXEO//Edjruy606moqtmSHXtrPiS28a62OLu41Jq9N9Opus00WzhzhyoaCS+JzyS7ftj89jmKsVtp3sV9MXPDDFBwM9iU96uReSLMv8+8+zZJdW8/EtI7l2mDNzW/mZPshRpb5YUwMdcB1gws9HUy/dplTK/HX6IhN97dq94t+e5eM9SSus7PBqeGVtPS/9FY2vgzkPTPHp0rFa8+QMf64d5sRb22NbXYGzrkHJ42tPo6eQWLlkZIvE72AXSzY/MpFxA+148c+zPP9HFDX1HX/Jqq5r4NE1p7Ew1uf9xcNbTeApFBI+9uaMGygaYQvab2tUFgoJ5gxR//S1q030s+PPhyaw6q5QDDqoMHUdYEKotw1/ncns0+O7pLxyXv4rmnFvhvHalvMMMDXg41tGcuT5aXy3IpiSyjqe39hx9SU0rmx305dHmL3yQLcbkNc1KHli3Rn0FRIf3DxCpWntvenJGf7kl9fy6zFRhSQIQv8mEkidNC3QkefmBLAp8iKfhGlu+om6/XEyg6q6BpaP8+rU/XwdzFkW6sHq8DQSc8uu2HaxuIoD8XksCnJrt8rGycqY+yb5sPVsFicvFHYlfDKKKgmLyWFJiDvGBuppDt1ZCoXEzUHuHE0uuKJEvqSqjr9Odz5Zp2tmDnJEkmBnUwVWSWUdp9OK2l19rS9zsDDmtjGe/HU6k+S88o7v0EM2nMxgS1QWT830Z1TTKojdoaeQuH2cJ8eSC4nLbjznT1woIrO4ihu7MH2t2ewhTjhYGLHqaGq7+320K57M4ireumlYjzaCVygkPlg8kmGuVjy+9jTnL5a2OG5kRglvLxyOywCTVh9jgKkhP94RwiNTfVkbkc7NXx8jq6Sq3eO+vT2W2Owy3ls0QkwzE3Re4/S1LMb62HY5mdxdw9ys2jxHrzZ/pAtJeRWcu+p87yt2nstmzsoDrItIZ85QZzY9MoE/H5rA/KY+jYOcLXluTgC7zuewNqL9lWPrGpQ8/Nspzl0sJae0mrt+iqCipuvVOZ/uSeRMejFv3jRM5d9Xbwr2suEaPzu+3p8sqpAEQejXRAKpCx6cPJCbRrvy0e54tvTBFTuUSplfj11gtMcAhrpadfr+T8zww9RAjze3XVlBtOFkBkoZFgd1XGVz/2QfHCyMePb3qC5N8WleLePWsdoxfa3ZomA3FBJX9HbZ0MVkna5xsDRmlPsAdpxvTCAdTspHKdNvE0gA908eiKG+otd6IaXkV/DfTecY62PDA5MH9tjj3hzsjqG+gl+OpQKN09dMDfWYNcSxy49poKdg2RgP9sXltfgMUCpljiTm8+ia03x/KIWloe4tVonrCSaGeny7PBhLYwPuWRVxqSn2kcR8vtyfxC0h7h1WOOopJJ6ZHcBXtwWRmFPG9Z8e4nhyQav77onN4acjqdw5wYupgX2vF5rQ/8RklZGcX8F1al59radcO9QZfYXEpj7YTPuf6Gwe+u0UQ1ysOPz8ND64eUSr/SHvmuDNBF9bXtt8npQ2xl/Nlaz74/N4Y8FQPl82mnMXS3hk9akWq0Wq4uSFIj7bk8BNo12Z18tTHTvjiRn+FFTU8nMXVgkVBEHoK0QCqQskSeKtm4YR4mXN0+sjOZNerOmQVKZUymw8lcGHu+LbrHo4lJhPcn5FlxMatuZGPDzNlz2xuRxKyL903PUn0pnga4uHbccrXJka6vPJ0lEUVtZy/WeH2BPbcgpJW6rrGlgXkc6MQY64atlVLGcrEyb727PhZAYNSrnbyTpdM3uIE9GZpWQUVbI/Lg8LY/1Wl1TuL+wtjFg+zou/z2SSpOYqpNr6xilXhvoKPmplylV32JgZcv1wFzaeyqSgvIatUReZPcQJU0P9bj3uslAP9BXSpSkD+eU1fLU/iWkf7GPZd8c5EJ/HivFe/Ps61VYh6wpHS2O+WxFMUWUd9/18kuySap5cfwZvOzP+c73qx50z1Im/H5mApYkBt353nB8Pp1wxRSS3tJpnf48i0MmCf7WxUpQg6JqtZy9qbPpaV1ibGTIlwJ5NZy72qRV3/4nO4pHVpxjmZsXPd4e2Ww2mUEi8v3gEhvoKnlh7usUCCQAfhyWw/kQGj03z5ZZQD6YPcuT1BUPZG5fHy39Hd2oKYHlNPU+uO4PLABNevWFIl55fbwnytGaSvz3fHEjuVrWVIAiCLhMJpC4y0tfjq9uCcLA04t6fT3Q4LUEbnM0o4aYvj/DU+kg+CUtg2gf7WfL1Uf4+c+XKYD8fvYCduSFzh3V9wHfHeC/crE3439bzNChljiYXkFFU1akeP2N9bNn8yETcrU25e9UJPt6doNKAbktUFoUVtawY79Xl+NVpSYg72aXVHIjP42BiPin5FVoba0+b1fQlYue5HA4k5DHR167XVj7TVvdN8sFIX49PwtTbC+mDXXFEZZTw9k3Dcbbq+cTqivGeVNY28Nja05RW13dp9bWrOVgaM2eoE+tPpPPQbycZ+2YYb2+PxcHSmI+WjOD4i9P57/VDMDfqXqKqI0NdrfhoyQjOpBcz86P9FFbU8sktozqdIPN1sOCvhycwJcCBVzef56n1kVTVNqBUyjz9eyQVtfV8unSU1ky7FYTuaJ6+Nn6gnU71ubthpCvZpdUcT+naFHpts+1sFg+vPs1wNyt+visUS2ODDu/jbGXCWzcNIzKjpMXfpvUR6azcncDC0W48OdP/0u23jvHkkam+rAlP79RKuq9sOkdGUSUrl4zEQoXYNO3JGX4UVtTy0a54UvMrWk2wCYIg9GVqG3VLkjQH+BjQA76TZfltdR1LU2zNjfh+RQgLvzjCPatO8PsD47p9xV0diipqeW9nHGvC07A1M+KDxSO4xs+ODacyWBuezuNrzzDA1ICbRrkxOcCesNgcHp7i261+IsYGevxrTiCPrjnNHyczOJSYj5WJAbM7eRXS3caUPx4cz4t/nuWj3fGczSzhwyUjWgyA6huU7IvLY014GnvjcvF3NGf8QNsux69O0wIdsTUzZG1EGg1KGTtzQ+YM1Y2rs93lbWeGv6M53x9KIaukmsen99/pa83szI1YPt6Tbw4k8+g0X3wdLHr8GIcS8vl6fzLLxnio7b023G0AI9wHcDixAHsLIyb00Pl3x3gvtkRlcTSpgDvGe3FLqAe+Dt1faa2z5gx15tnZAby3I46XrhvU5YpBS2MDvrk9iM/2JvLR7njissu4xs+Ogwn5vHHjUPwce/73L/Qv2jL+OnexlNSCyh6dLtsbZg5yxNRQj02RmYzT0nGEqrZGZfHY2tOMch/AT3eFdirZfu0wZxYFufH53kQm+dsT4mXD/vg8XvjzLNf42fH2wmEtmvg/PcufiyVVvL8zHicrExYFtb9K5LazWWw4mcGj03wJVsM0ZHUY5WHNrMGOfHcohe8OpaCnkHCzNsHT1gxvW1M8bc0Y4W7FCLcB/f4CmSAIfZOkjpUmJEnSA+KBmUAGEAEslWX5fGv7BwcHyydOnOjxOHrLvrhc7vopghmDHPnqtiCtWTmiQSmzNiKN93bEUVZdz4pxXjwx0++K5ItSKXMkqYA1EWnsPJdNXYOMnkLi4HNTu93EUJZlbvryCBlFVZRU1bEs1INXulieLMsyq46k8vrWGDxtTPlmeRC+DhZkFFWyPiKd9ScyyC6txt7CiJuD3Vg+zgtHS+1tQPvmthh+OJRCgyzzyFRfnp4VoOmQes0HO+Mu9fw58vw0rWyW2dsKK2qZ+M4epg9y5NOlo3r0sQvKa5j78UEsTQzY/MhETAzVV92y8VQGT62P5O6J3rw8r+emlSXmluFuY9qjTbKZMqXxv/v2qXwXWZZJK6zEw8a0R1Y/2xuby2NrT1NWXc+swY58fXtQn15VTZKkk7IsB2s6jr6ss+MvUN8Y7J1/YvnmQDIn/j0DazPdWiDiyXVnCIvJ4bNlo/GyNcNlgHG7yYCSqjouFFSQWlCJLMtNyQQzrEw1V1GzOfIiT6w7Q5CHNT/cGdKlSs2y6jqu/eQgsgzvLx7B3T9F4Glrxrr7x7ZZLVRbr+SunyI4llzAj3eGcE0bq+5ml1Qze+UBvOzM2PDAuA5XydMmtfVKojKKSS2oJDW/gtSCCi40/busaWqblYkBE/3smOJvz2R/exw6OSatqm3gQmEFqfmV5JW3vcKdo4XRpepuQRB0WBfGpZ3Rk2MwdZXLhAKJsiwnA0iStBaYD7Q5gNFlUwIceHneYF7dfJ4n158hwEnzV5BlubFh4tnMEsZ42/Da/KGtxqVQSEz0s2Oinx355TX8eSoTUyO9HvlSL0kSL103mIVfHgHo1hL1kiRxxwRvBjlb8vDqU8z/7DCjPKw5nNTYY2myvz2vzh/CtEAHnRiE3BzszjcHktFTSCwb46HpcHrVrMFOfLonET8Hc5E8amJjZsiK8V58tT8JHzszjAx67j28Py6P4so6frozVK3JI4B5w11IyC1n+biebV6vjqqsrpAkCU9bsx57vKmBDmx+ZCJrwtN4cMrAPp08EnqN1oy/DsTnMcHXTueSRwCLg9z483Qmy38IB8BAT8Ld2hRPW1O87MywMDYgvbCSlPwKLhRUUFRZ1+rjDDA1wNPWDK+myhQLNU+3bVZUWctX+5MI9rLhxztCMOvicS2MDVi5ZCSLvzrKLd8cw3WACT/eGdLuVDNDfQVf3jaaxV8d5cFfT/HQ1IEYKFr+TfvnXDa19UpWLhmpE+O2yxnqKwj2smlRNSXLMvnltYSnFLIvLpf98XlsjcoCYLCzJZP87bFt43yoqW8gvbCK1ILGhFROadtJo8uN8bYRCSRBEHqVuiqQFgFzZFm+p+n/bwfGyLL8yGX73AfcB+Dh4RF04YJur2ggyzKvb4nhh8Mpmg7lEidLY168bhDXD3fW6BeTZ3+P5GJJFb/dM7ZHHi+rpIon1p4ho6iKhUFu3Bzshpt1x425tc1dP0VgZ27Iu4tGaDqUXiXLMvM/P8zsIU48PNVX0+FojaKKWmZ+tJ/88toefVw9hcSrNwzhNi1bkVDj1HylR2hJVCCpnyrjr6bb1T4Gq6lvoKC8VmcvFOSWVZOSV9H0hb6yscIov5LUggqq6hpwsTLBy870igSRt11jgvnC1ZUpBRVkFlehhiF3myb62vHN8qAeaa3wxb5Efjqcym/3jFF5mm12STW3fHOU1ILKVrfrKyTeXji8w2luukyWZWKyytgXn8v+uDxOXiiivp1ennbmRng1JSmb31NetmY4Whq1OY430JMYYKp7SVpBEK6iQxVIGksgXU7Xp7Bdrqa+oVcHCO0x1FNozXQ6QRA61qCUe7whp0KSMNTXrau7vUIkkHqdSCCpX2fHX9C3xmC9QZZl6hrkTn+u1tYrqe3Fhstmhno9evFQqZQ7PaZsUMpUXbZIy+X0FVK/WzCgpr6BuobWvyT0x9dDEITL6FACSV21tJnA5fOV3Jpu6/N6tEeHIAj9ip5CQk8hPkN6hUgcCX1Tvx1/9RZJkjDU73xixlBfodPJ/K5ckNRTSGpfJVOXGOnrIV4OQRBapUPjUnX9JYsA/CRJ8pYkyRC4BdikpmMJgiAIgiAIYvwlCIIgCIIaqWUKG4AkSdcCK2lcRvYHWZbfaGffPOACYAWUtLFbf97mAaRpSSxim9jWF7eJc0xsU/c2bYlDXdvaO4eat3nKstz6kkxCj+nM+Ktp/+YxGGj/+7evHktb4tCWzw3x2vePOPrjc1ZHHF0Zw+r6c9b2Y2lLHJe/N3puDCbLstb8AN+Iba1uy9OiWMQ2sa0vbhPnmNim1m3aEocat7V3DrW5Tfxo14+2v3/76rG0JQ5t+dwQr33/iKM/Pmc1xdHpMWwfeM5afSxtiaO990Z3frRtMvZmsa1VxVoUi9gmtvXFbeIcE9vUvU1b4lDXtvbOofa2CdpF29+/ffVY2hKHtnxuiNe+f8TRH5+zOuLoyhhW15+zth9LW+JQy/hLbVPYhJ4jSdIJWaxcIwhqI84xQeie9s4hcX4JgtAa8dkgCN0nziOhLep6b2hbBZLQum80HYAg9HHiHBOE7mnvHBLnlyAIrRGfDYLQfeI8EtqilveGqEASBEEQBEEQBEEQBEEQ2qWVFUiSJLlLkrRXkqTzkiSdkyTp8abbX5ckKUqSpDOSJO2UJMlF07G2RZIkY0mSwiVJimx6Dq823e4tSdJxSZISJUla17TMrlaSJGmOJElxTbE+33SbJEnSG5IkxUuSFCNJ0mOajrM9kiT9IElSriRJ0Zfdpkvvo7bOBRtJknZJkpTQ9F9rTcfalnaew7qm38EZSZJSJUk6o+lY29PG+fB90zkeJUnSBkmSzDUdZ1vaOBd05n0EbT4HXXsftXo+XLb9aUmSZEmS7DQVo9A/tPGZNk2SpFOSJEVLkrRKkiR9TcfZmtY+C5puf1SSpNimc+tdTcXXHl0f4+r6+FaXx7a6PKbV5fFsXxjH6vIYVpfHr31h3NoqdXTm7u4P4AyMbvq3BRAPDAYsL9vnMeArTcfaznOQAPOmfxsAx4GxwHrglqbbvwIe1HSsbcSvByQBPoAhENn0O7gT+BlQNO3noOlYO3gek4DRQPRlt+nS+6itc+Fd4Pmm258H3tF0rJ19Dlft8wHwH03H2s5zaOt8uPy99GHz70Qbf9o4F3TmfdTWc9Cl91FTjG2eD4A7sIPGJdXtNB2r+Om7P+18pqUD/k37vAbcrelY24i/tc+zqcBuwKjp/7VyfKLrY1xdHt/q+thWl8e0ujye1fVxrK6PYXV5/NoXxq2t/WhlBZIsy1myLJ9q+ncZEAO4yrJcetluZoDWzr+TG5U3/a9B048MTAM2NN2+CliggfBUEQokyrKcLMtyLbAWmA88CLwmy7ISQJblXA3G2CFZlg8AhVfdpkvvo1bPBRp/F6uadtPm91F7zwFovPIH3Ays0UyEKmn1fGh+LzU9BxO0+73U4lxAh95H0OZzAHTmfdTR+fAR8Bxa/D4StF/TFc2zTVc3T7SxW2ufaQuBWlmW45v22dV0m9Zp47PgQeBtWZZrmvbRyvGJro9xdXx8q9NjW10e0+ryeLYPjGN1egyry+PXvjBubY1W9ECys7OTvby8NB2GIAiCIAhqcvLkyXxZlu01HUdfJ0lSKhAsy3J+O/ssAubIsnyPGIMJgiAIQt/Wk2MwrZjb7uXlxYkTbV0kEwRBEARB3XJLqzmTXsy4gbZYGBv0+ONLknShxx9U6DYxBhMEQRC0XUxWKQPtzTHU18oJVFqvJ8dg4jcgCIIgCAKHk/K575eTZJVUazoUoXtkYKckSSclSbqvjX2CgcWSJJ3Iy8vrxdAEQRAEoXPSCyu57pOD/HJMXIfSBiKBJAiCIAgC8TnlGOhJeNmaaToUoXsmyrI8GpgLPCxJ0qRW9nkJKAAW29uLWYWCIAiC9gqLyUEpw9GkNmdmC71IJJAEQRAEQSA+uwxvOzNRHq7jZFnObPpvLvAnjQ1Ur96nHniExlX/BEEQBEFrhcU29rWPSC1CqdR8/+b+Tm2jRBVXAREEQRAEQQvE55bh72ih6TCEbpAkyUySJIvmfwOzgOjW9pVleZssy/69GZ8gCIIgdEZ5TT3HkwtxsTKmpKqO+NwyTYfU76n7MuNUWZZHyrIcrObjCIIgCILQRRU19aQXVokEku5zBA5JkhQJhANbZVn+R8MxCYIgCEKXHIzPo7ZByVOzAgCISCnUcESCqFMXBEEQhH4uMbccAP/P3tVwJEJ3yLKcLMvyiKafIbIsv6HpmARBEAShq8Jic7EyMWDBSBecLI0JTy3SdEj9njoTSKqsAiIIgiAIgobF5TSWhPtXiQaVgiAIgtBvTZnS+KMFGpQye2NzmRJgj76eghBvGyJSCpFl0QdJk9SZQGp3FRBJku6TJOmEWEJWEARBEDQrIacMQ2U9ntXFmg5FEARB6MMalDJbo7Kob1BqOhRBy0VmFFNQUcu0QAcAQr2syS6tJr2wSsOR9W9qSyB1tAqILMvfyLIcLMtysFhCVhAEQRA0Jy6nHN+qAvQQV/UEQRAE9dkencXDq0/xx6kMTYciaLmwmBz0FBJT/JsSSN62AISnij5ImqSWBFJnVgERBEEQBEGzEnLKCKgU09cEQRAE9QqLaVySfU14uoYjEbRdWEwuwZ7WWJkaAODnYI6ViYFopK1h6qpAEquACIIgCIIOKKmqI6ukGj/R/0gQBEFQo/oGJXvjcjE30udMejHnL5ZqOiRBS2UUVRKbXcaMQY6XblMoJEK8rIkQFUgapZYEklgFRBAEQRB0Q2JuYwNtUYEkCIIgqNPp9GKKK+t44dpADPUVrI1I03RIgpbaG9tYqTZtkMMVt4d42ZCcX0FeWY0mwhJQbxNtQRAEQRC0XFx2OQD+VQUajkQQBEHoy3bH5KCvkLh+hAvXDXPmz1OZVNU2aDosQQvtjsnF286MgfbmV9we4m0DIKqQNEgkkARBEAShH4vPKcPUUA/XmhJNhyIIgiD0YXtichnjY4OlsQFLQz0oq6lnS9RFTYclaJmKmnqOJhVcWn3tckNdrDAx0CNc9EHSGJFAEgRBEIR+LD6nDD8HczEgEARBENQmraCShNxypgU29rQJ8bJmoL0Za8LFNDbhSocS86ltUDJ9UMsEkqG+glEeA0QFkgaJ8aIgCIIg9GPxOeX4O1poOgxBEHTQxeIqvjuYjFIpazoUrdeglPn2QDL55f2zd0tYbA4AM5qSApIksTTUg1NpxcRmi2bawv/bE5OLhbE+IV42rW4P8bIhJquU0uq6Xo5MfbZGZfHZngTqGpSaDqVDIoEkCIIgCP1UYUUt+eU1IoEkCEKnybLMsxsi+d/WGI4kiR5qHdkdk8Mb22L4cl+SpkPRiLCYXAbam+Fpa3bptoWj3TDUU7A2PF2DkQnaRKmUCYvNZbK/PQZ6racqQr1tUMpw8kJRL0enPl8fSGJzZBb6CknToXRIJJAEQRAEoZ+Kz2lcgc3P0byDPQVBEK607Ww2hxMLkCTENCQVNL9Gf5zKoLqufzWOLquu43hKwRVLsgNYmxkyd5gTG09liGbaAgBRmSXkl9e0eK9cbpTHAPQVEhF9pA9SdGYJURklLA11R5JEAkkQBEEQBC2V0JRACnASFUiCIKiuoqae/209zyBnS1aM82LHuWyxrHY7Mooq2R+fR6i3DcWVdew4l63pkHrVwYR86hrkVpsiLw31oLS6nq1nszQQmaBt9sTkoJBgsr99m/uYGuoz1NWqz/RBWhOehpG+ghtHu2k6FJWIBJIgCILQJ0RnlvD9oRRNh9Gm5LxyVu6O16peIXE5ZVgY6eNkaazpUARB0CGf7U0kq6Sa1+cP4baxntQrZf44laHpsLTW+ojGKVofLB6Bp60pq4/3r4qtsJhcrEwMCPK0brFtjLcNPnaimbbQaHdMLsGeNlibGba7X6i3DZHpJTpfzVdRU8/fZy4yb7gLViYGmg5HJSKBJAiCIPQJ7++M4/Ut57lQUKHpUFr1303nWLk7gZNp2jNnPz6nHH8nC50omRYEQTsk5ZXz3cFkbhrtSrCXDb4O5oR627A2PE2rEuTaor5ByboT6Uz2t8fdxpRbQjw4nlJIUl65pkPrFQ1Kmb1xuUwJsEe/lZ42zc20T14oIi67TAMRCtoiq6SK81mlTGtl9bWrhXjZUNugJCqjpBciU58tURcpr6ln2Rh3TYeiMpFAEgRBEHReUUUthxLyAdgSpX1l8OEphRxsji/yooajaSTLMvE5ZfiL/keCIKhIlmVe2XQOY309Xpg76NLty0I9SC2o5FiyaKZ9tb1xeeSU1rA01AOARUFu6Csk1vaTipsz6UUUVtQyvZ2eNguDGptpiyqk/i0sJhf4/5X62hPcVM0WnqLbnzmrw9PxdzRntEfL6jxtJRJIgiAIgs7bcS6beqWMvYWRViaQPtwVh525EVMD7NkWnU2DFlylzyuvobiyTqzAJgiCynacy+ZgQj5PzfLH3sLo0u1zhjphZWLAapEAaGFNeBoOFkaX+v/YWxgxa4gjG05mUFOv29NvVBEWk4ueQmKyX9s9bWzMDJk9tLGZtq5PSRK6bk9sLh42pgy07/jClrWZIQGOFoSnak9Vd2edu1hCZHoxS0M9dKoSXCSQBEEQBJ23JSoLT1tTHpw8kJisUq2aGnAkKZ9jyYU8NGUgi4LcySur4bgWXDGLz258jUQCSRDU58t9Sfx5um/0BqqqbeD1LTEEOllw+1jPK7YZG+ixcLQbO85lU1Aummk3yyyuYl9cLjcHu1+xJPnSUA+KKuvYcS5Hg9H1jrCYXEK8rLEybb+/y9JQd0qr69kmmmlfUllbz5vbYvpFZV9VbQOHE/OZPshB5WRKiLc1py4UacVFua5YG57e2Dx7lKumQ+kUkUASBEEQdFp+eQ1HkvKZN9yZ64Y7I0mwJVI7BqCyLPPRrngcLY1YNsaDaYEOmBrqaUWVVHzTCmwigSQI6rE/Po93/onlyXWRvLb5vM5+yWn2+d5EMoureG3+0FZ72SwNdaeuQTTTvtz6iHRkYEnIlf1NJgy0w93GhDV9vJl2emElcTllTA9se/pas3E+tniLZtqXZJVUsfiro3xzIJkn1p6hoqZe0yGp1eHEfGrqlSq9V5qFeNlQXlNPTFapGiNTj8raev46ncl1w5wZYNp+w3Bt06cTSLIsa20zVUE71TcoNR1Cu+oblMiybg9ABaGnbY/ORinDvOEuOFoaE+Jlw5Yo7egzdDAhn4jUIh6Z6ouxgR4mhnpMH+TIP9HZGv+8ic8pw9rUADtz3Rq4CIIuqKlv4JVN5/C2M+OO8V78cDiFu1dFUFZdp+nQuiQlv4JvDiRz4yhXQr1tWt3Hz9GCEC9r1oSni7EKjWO29SfSucavsXn25RQKiVtCPDiaXECyFlUqf5lpAAAgAElEQVTM9rQ9sY09baar0NOmsZm2OxGpRSTk9O9m2mfSi7nhs8NcKKjkmVn+ZJdW8+meRE2HpVZhsTmYG+m3+fnSmuZ9j6cUqisstdkSlUVZTT1Lx3hoOpRO69MJpHd3xDHvk0MUV9ZqOhRBByTmljP81Z1s1YLKgNbkldUQ8sZufjqSqulQBEGrbIm8yEB7MwKdGitprh/uTEJuucZXc5FlmQ93xeNiZczNl119njfcmcKKWo4kabYkvbGBtliBTRDU4buDKaTkV/DKDUN45YYhvHHjUA4l5HPTF0dIK6jUdHidIssyr24+h6G+ghfmBra779JQD1LyKziWrHtf6Hra/vg8skqqWRba+upKi4Mbm2mvi0jv5ch6T1hsLt52Zvio0NMGYOFoNwz0JNaE993XpCObIy+y5OujGOkr+OPB8TwyzY9FQW58fyiZxNy+mWyUZZmwmFwm+dthqK96esLZygR3GxMidDCBtCY8DV8H80vNwHVJn04gzR/pQnltPd8eTNZ0KIIO+DgsgcraBt7bEavxyoDWfLU/iaLKOj4JS6C8j5exCoKqckqrCU8tZN5wl0uJkDlDnVFIaLwKaW9cLmfSi3l0uh9G+nqXbp/sb4+Fkb5G45NlmYSccjF9TRDUILO4ik/3JDB7iCOT/RsbB986xpOf7wolt6yGBV8cJlyHvvDsOp/Dvrg8npjhh4Olcbv7XjvMGUtjfTENicYviHbmRm2uPuZgYcyMQY783kebaZfX1HMsqYDpgR1XHzWzNTdi9hAn/uiHzbSbp7w/uuY0w92s+PvhCQQ0XRh7fm4gxgZ6vLLpXJ+s7ovOLCW3rKZT09eahXjZEJFaqFOvS0xWKafTdK95drM+nUAKdLLkumHO/Hg4lcIKUYUktC0uu4wtURcZ7TGA1IJKNp7O1HRIV8gprebXYxcY7TGAoso6fjqcoumQBEErbDubhSzD9SOcL91mb2HEuIG2bInK0tiAorn6yN3GhEVBbldsMzbQY+bgxmlstfWaSVZnlVRTVlOPv5NIIAlCT/vflvMAvDxv8BW3j/e148+HxjPAxIBbvzvG7ye0v8qiqraBVzefx9/RnBXjvTrc39hAj5tGu/FPdHa/HntnlVSxJzaXm4PdrmiefbWlYzworKhl1/m+10z7UEI+tQ1Kpqkwfe1yy0I9KKmq45/obDVFpn2q6xp4ZM1pPg5LYOFoN369Zwy25v+/yqGduRFPz/TnUGI+2/vg6xIWm4MkwdROJBubhXrZUFBRS3K+7rStWRuehqG+gpt0rHl2sz6dQAJ4YoYfVXUNfL0/SdOhCFps5e54zA31+X5FCMPdrPgkLIE6LapC+nJfEg1KmZVLRjFjkAPfHEimVEf7KAhCT9oSlUWgkwW+DlcmQuYNdyElv4JzFzXTWHHX+RyiM0t5bJpfq18e5o1wprS6nkOJeRqIDuKaG2g7qDatQBAE1RxMyGN7dDYPT/HFzdq0xXYfe3P+fGgCod42PLshire2xWh1c+0v9/1/4+z2EiGXWxrqQW2Dko39uJn2+ogMlDLcEtJ+f5NrfO1wHWDSJyu2wmJysDDWJ8RL9Z42AGN9bPGyNWV1H3xNWpNTWs2Sr4+y7WwWz88N5P3Fw6+oWm5221hPAp0s+N+W81TW9q2ZCGExuYz2sMbGrPM9GUOa+iDpyjS2qtoGNp7O5NqhTlh34flqgz6fQPJ1sGD+CBdWHU0lr0wsKyq0dO5iCdujs7lrojfWZoY8OdOfjKIqfj+hHQOfi8VVrD6exuJgNzxsTXlihj+l1fV8f1BUIQn928XiKk5eKGLecOcW2+YMcUJfIWlktTOlsrH6yMvWtM2lWSf62mNlYqCx1eISxApsgprV9cNFH2rrlfx30zk8bU25d5JPm/tZmRrw052h3D7Wk68PJHP/Lye1cmr6hYIKvjqQzA0jXBjrY6vy/QKcLAjytGZ1eFq/ew8ANChl1kWkcY2fHR62LZOIl1MoGhtHH04sIFWHKig6olTK7I3LZbK/vcqJx2YKhcQtoR6EpxT22Z4/zaIzS5j/2WEScsv55vZgHpg8sM0pTfp6Cl5fMJSLJdV81ocaaueUVnM2s0SlRuut8bEzw87cUGemBW89m0VZdT1LQ3WveXYzfU0H0Bsen+HP5qgsvtqf1KKcWBA+2pWApbE+d030BmCKvz2jPAbw2Z4EFga5tnoVoDd9vjcRGZmHp/oCMNTVijlDnPjhUAp3TvDSuaUfBaGnNDe8nzfcpcU2azNDJvjasSXqIv+aE9Crc8z/OZdNbHYZHy0Z0epS1wCG+gpmD3Fk29lsqusaMDbo3c+ZuOxy7C2MdPbql6DdZFnm2d8j0ddT8MaNQ9X+d1SWZb4/lMLxlELeWDC0wz496vL9oRSS8yr48Y6QDs9pg6Yvg36O5ry6+TyLvjzCdyuCW61a6mnHkwt4a3ssVbXt95gpqKjFQCHx7+sGdfoYS0M9eOb3SI6nFHYq+dQTqusap90Z6St44drAXh/H7Y/P5WJJtcrfOW4Oduej3QmsiUjjhbmdf617Q0p+Ba9sOsf8kS7cNNqtw/0jM4rJL69lRhv9nzqyKMiND3bG8XFYAh/d3PbfUlVkFlfxn7+imRrowG1jPbv8OD1t+9ksnlx/BlszI/54cDyDnC07vE+Ilw03jXLl24PJLApyU7k5uapq65W86TmNo1Ye8NGBdvc1N9bnP/MGM8J9QLeO+duxCwBd6n8Ejav3hXjZEJ6qWgLpWHIBn4Ql8Ph0P8b08mcTwOrjF/CxN+vUanPapl8kkLztzLhxlCu/HrvAfZN8cNTQwEKTTqcVkV9ey8zBXTs5+6qojGJ2x+Tw9Ex/rEwMgMYPoqdm+nP79+Gsi0hn+TgvjcWXXljJ+hPpLAlxv2JQ+cRMP3acz+bbg8k8O7v9FVG6oqiiltXhaW02MBzsbMncYS2rPtpSWl3Hb8f+j70zj4uyWh/497ALKiCoiAqouG+ouKJlaWVZaaupWZaVpd62W/3Ke+u23uq2l3uZpqnZ4lJqmVsmLiC44C4gu8i+7zDn98cMyDIDMzAwoOf7+fBh5n3Pe87Dy7s85znPEmvQ5da3Q2vuHuzZIhPJKSzHtrDLDOjcFh93J7377xzUiZd/DuNkfBZ+BhScwpIyfgqN544BHlXyDdSX4lINn+++SI/2Ttw9uPbY9jsHefJjSDz7L6ZwW3+PBo9tCuHJOfRW3keKRsTH3YnPd4drvVgeHmaW+0sfRaVl/GvzaX4OjUcI7Yr+14/4M6Czc6OMZ4jELG3i7Il9O5qUx+OR0T74uDkxf/0xpi4+yPJZ/gxrxKo8P4bE8a/Np/BwdqB/p9rPUTd3Jx7w71IvvXnywE689dsZNgTHNqkBKTm7kCfXhHAyPguAs5ezWfrw0Ea7/vSxPigO99b2TDRS5+7Q1oGJfTvwc0g8/7ylt0lVqJqCQ5GpPPP9MbILS9h/MYWLSbm8cltvrKwM62x7zydjJahIIm8q7q3teWa8L1/uCSe7oISvZgyhrYOtyf0ci83gqTWhpOUVsed8Mheu5PCfu/o1yCDVUKSULNobwSe7LjLEy4UVs/xp38b46/PVO/qw62wSb/52lu8eG2423Tk9r5in14YS3GkYN2ZeopUB3aqck/GZPLj8MJ88OFjvQl5dlJZpeOu3s6w9EsPtAzzo1bH+xrDhPu34/fQVErMK6OTcymC7jUdj+dfm05RJydHodN67ZyAP+uuvktgYnL+SzbHYTP49uW+LnvNcFwYkgGdv7smW4wks2RfBW1MGWFqcJmXfhWTmrg2luFTDG3f2q/C0UcCnuy7i4mjLY9XOyVhfd0b4tGPxvgge9O/a5N4B5SzaG4EQosL7qJzKCeLnjO1er5hhQ6TlFjHzmyDOX8lBn24gASnhlUm9mTfet2aDamQVlPDIt8GcjMustb/wpFz+eWuvFv1AVTQdsWn5nIzP4tVaSkrf2t+Df20+zbaTl/UakAqKy3hqbQgHwlNZeziadU+MMkmJq05RaRnz1x3nYlIuyx4ehnUtyjXAmB5utHOyY1tYYpMakDQabQW2hwyUllYoGooQgucn9qJH+9a89NNJpiw+yMpHh1dUFDIXablFPPP9MYKj03luQk9u6deRJ9eE8MCyw3w2zY9JA5ruvnp3uzaX0X/uMt3T/YZe7dk8L4A53x1l+oojfHj/QO4ZUreXhymUaSQf/nGeFX9fYqyvO4tnDMXZ0fQJubG0srPm3iGd2RAcx5t3FTeJt+PphCye+C6E7MISls8aRmFJGS//HMbUJdrrrylCdq9kFbL3fBJzb+xhUujW9BFe7DyTxK6zSUzWE5ZtKdYHxfLG1tN0c3di07wxrAyMYtn+SCJTcvl8mh9O9vqnkrvPJePv3a5B//cXb+lFJ2cHXt9ymnuXHGLlo/54u9Vu1KjM1hMJvPxzGB5tHVj3xA1sOhbP8r8vEZWa1+jXvyEKS8r4v1/C2HriMlP9PPngvkEmzzE6tHHg+Vt68c62s+w8k2SW51x4Ug6Pf3eUpOwivgj/jSlp52HZP2o9JjW3iKfXhrJg/XEiknN5bkJPo3X4rPwS5q8/RmBEKnNv7M4rt/VpkP5f7s0THJXOFL+ai3dlGsl/d5xjZWAU43q68997BvLaplO88nMYEcm5/N+kPnXqbObgh+A47KytjPLia840LxN3I+Ll5sgD/l3YEBxHQmaBpcVpMnafTWLumlB6dmjNrf068va2s6z4WyUUBwiNyeCvCynMvaEHrau9AIUQvHBLL5Kyi1gXZJkkftGpefx8LJ4ZI7z0WtOfn9iTQjMniE/JKWL610eISs3j+zkjufT+5Bo/4e/ezt2DPfnfHxf4ck94rf1l5hcz85sjnL2sXRHW11/ke3fw0PCuLNoXwQd/nL8u8yUoTGfbqcuAdpXbEM6tbLmhlzvbTyWiqZakNr+4lMdXHyUwIpWnbuhOXHoBD604THJ2Yb3kKSwp45nvj7H7XBJvT+lvlEJnY23FpAEe7DmXVGcoiTmJzyigoKRMeSApGp27Bnvy49zRFJdquG/pIfadTzZb3xeTcpi65CAn4zP5cvoQXrilFwM6O7N1gbb09dPfh2pDwJvgnXIwIpXtYYnMG+9L13b1C0Hz7dCaLfMCGOrtwgsbT/LRzvM1nlv1JbeolLlrQ1jx9yVmjfJm1WPDm2TyPH2kNpn2L02QTPuP04k8sOwwVgJ+fnoMt/X3YIpfZzY+NYrCEg33LjnEvgvmu/4M8WNInC55tmkG+nE92zerZNpa75AzLNx8irE93fll3hh6tG/Ne1MH8OZd/dhzLon7lx3WO6dKyCzgXGK2ydXX9DF9hBdr54wkNbeIqYsPEnQprc5jNBrJxzsv8NwPJxjS1YUt87XPhNfu6Mv/7h9EUFQa9yw9SFQT55xKzinkoRVH2HriMi/f1pvPpvnVe4H60dHahNrvbDvbYP1h34Vk7l1yiIJiDRufGqU1HhmBe2t71j05knuHdubz3eH8Y8Nxg5ELlYlKzeOeJQcJikrjo/sH8drtfRtsvOnbqS2t7W305kHKKSzhie+OsjIwitljfFg1ezhd2zmy6rHhPDLamxV/X2Lu2pBGz0NXUFzGpmPx3D7Qw6wL/5bgujEgASy4uScSyeJ9107isdr44/QVnlkXSp9ObVj/xCgWzxzK5EGd+O+O89fNOaiNz3dfxM3JjkfH6I+HHt3DjTE93Fj6V4RFqh18uTccW2vBvJt66N3v26ENU/w6my1BfHJ2IQ+tOExcegGrHhvO2J7uetvZWFvx2TQ/7h3SmU93XeTTXRf1KujpecXM+DqIi1dyWT5rmMHwSSsrwX/vGcjDo7xYvv8S724/p4xIijrZdjIRv64udU7W7hzkSWJWIcdiMyq25RaVMnvVUYKi0vj0wcEsvKMv3z0+gitZhUxbcYTELNMWGQpLynhqbSh7zyfz3j0DTAp7vXNQJ/KLy9hrxol1XZRXYOupDEiKJmBwVxe2LgjA282ROd8d5ZsDlxr8jC+f8BSWaNg4dzR3D74aPtGhjQM/PDWKKX6efLTzAi/+eNKoSU19KU+c7dXOkbk3Gk6cbQyuTnaseXwk00d0ZfG+SJ5ZF9pg/SM+I5/7lx5i34UU3p7Sn3emGl9NraH08WjLEC8XNjRiMm0ptXr9098fo0+nNmxZEEA/z6u5ZIZ4ubJ1fgBe7RyZs1o7iWwsWbTJs+MY6+tukqcMgLWV4KHhXQmMSCUmzbLJtLMLS3hiTQirDkbzeEA3Vj46vCJ8TAjB7IBurHpsBPHp+UxZFEhoTEaV48vfZxPNYEACrT6+ZV4A7ZzseHhlED8ejTPYNr+4lHnrjrFoXwTT/Luyds7IKpP1B/27su6JUWTkFTN18UEORaaaRca6OHs5m6mLDnLhSg7LHh7K/Jt8G+RxY2NtxVt39ychs4Alf9VvTiel5NvAKOasPkqXdo78uiCAIV6mhc/a21jzyQODefX2Pmw/lci05bUvxB2KSGXq4oNkFpSw/slRPGCm8DFrK8Ewb1eOVsuDFJeez31LD/F3eCrvTh3Am3f3rwhftLW24u0pA3h7Sn/2XUjh/qWHiM/IN4s8+thxKpHsFp48u5xGe4MIISYJIS4IISKEEK821jim0NmlFQ8N9+LHo3HEpTfeBdIc2HEqkQXrj9Hf05m1c0bi7GiLrbUVX0zzq1Cq6vIeuZYJjkrnQHgqz4zvgaOd4UjOF27pRWpuMWsPxzShdBCRnMuW4wnMGuVNhzaGcw88O6EnJWWSpX81zAvp6sS5kNWPDWdMD/3Go3KsrQQfPTCYB4Z14cs94Xy080IVhSw1t4gZXx8hMiWXrx/15+Y6EuNZWQnemTKA2WN8WBkYxVu/nVVGJIVBLqXkcjYxW2/1tepM7NcRexurimpsOYUlPPptMKExGXz+0JCKMJER3dqxZs4IUnKKmLb8iNGeqgXFZTzxXQgHwlP48L6BzBxpWoLOkd3ccG9tz3adR1VTcLHCgGTe5JuK5kFz1L86Obfip6dHc2s/D97dfo6Fm09RXKoxuZ/yZNlzVh/F20074dEXnupga83n0/x46dZebD6ewIyvjzRaJd7Vh6KISM7lP3f1M0u4u52NFf+9ZyCv39mPXWeTuH/pYS7X03M+NCadqYsPkpBZwKrZwy2S03H6CC8iU/I4Gp1Rd2MTKSwp44WNJ/ho5wWm+nmy4clRenUmT5dW/PzMaG7p15F3tp1l4eZTlJSZfv3Vxd/hKSRkFtR7gviAf1esrQQ/1GIgaWxi0/K5b8khAsNT+e89A3njrn56vUNu7NWezfPH4Ghnw/Svj7DleELFvj3nkvB2c6SHGRM8+7g7sWleAKO6u/HKL2H8d4c2ZLQyiVkFPLj8MDvPXuHfk/vywX0D9eaTGtGtHVvnj6VDG3seWRnM+kaONPjzzBXuX3YIjYSfnh7NpAHmCVEc2d2NqX6eLN9/yeQKfiVlGhZuPs3b284ysW9Hfn56NJ4uhnMH1YYQgqdv7MGyh4cRnpzL3YsOcjohq0a7dUExPPJtMB3b2rN1fgDDfcybRHpEt3ZcTMolI68YgKPR6UxZfJArWYWseXyEwQTqj4z2YfVjw0nILGDq4oOExjRONbcNwbF0d3diZAtOnl1OoxiQhBDWwGLgdqAfMF0I0SzKn82/yRcrK8FXe69d48lvJy/zjw3H8evqwto5IyqSQ4PWYv3pg37cO7R275FrnU93XaB9G/s6J3vDfdoxrqc7y/ZHNmmJ3S/3hONga83cG/V7H5VTkSA+KIakeobeJGQWMG3FYVJyilg7Z4TRFQmsrQQf3jeI6SO8WPJXJO//rg0/S84pZPqKI0Sn5fHt7OFGJ1AUQvCfu/rxxNhurD4UzetbT5vNfV9xbVFefc2YPBGt7W24qXcHdpxKJDO/mFkrtfm4vpo+pIrXAsAw73asnTOCjPxipi0/XOdCQ35xKY+tDuZgZCof3T+YacNNnzRYWwnuGOjB3vPJ5DXRM+ZiUg6ezg71SkiqaN40Z/3L0c6GJTOHsuAmXzYEx/HIt0EVir4xFJdqWLj5FO9sO8ut/Tz46enRtSZLFUKw4OaeLJk5lLOJ2UxdfJBzidnm+FMqSMou5Ivd4Uzo04EJ9aw2pQ8hBHPGdmPl7OHEpuczZfFBTsRlmtTH5uPxTF8RRGt7GzbPC+CGeiYzbih3DupEG3sbs4dmpeRoF6q2nLjMS7f2qjMcyNHOhqUzhzH/ph7a629lMJn5xl9/xrAhKBY3J7t6F6zxcHbg5j4d+Ckkrl4G1oYSdCmNKYsDSc4pYs2cEcwYWfs7zbdDG7bOD2BIVxee33iCj3deIK+olEORadzcp4PZc1o6t7Jl1ezhPKoLO3pqTQg5hSUAnIjLZMqig0Sl5LHyUX+eGNe91vG93BzZNG8MY3u6s3DzKd767QylZjYqSqld4J37vTaVyK8LAsye3H/hHX2xs7Hird/OGD2fy8wv5pGVwWwIjmXeeK3hx1AuK1O4rb8HPz89BisB9y87xO+ntLpaeTjkvzafZlxPd355Zky9Q31ro9wgFRKTwU8hccz4+gjOrWzZMj+AAN/aF8bH9dTmoWttb8P0FUFsMnPY7cWkHEJiMpg+wuuayPXaWB5II4AIKeUlKWUx8AMwpZHGMgkPZwdmjvTil2MJJltrWwKbj8fz3A/HGebtynePj6CNngmCtZXgo/sH86C/fu+Ra51DkakcuZTO/PE9aGVX92rhi7f0IiO/hO8ORTe+cGgfMr+FXebRMT64G1E15Nmbe6LRSJbUIywxLj2facsPk55XzNo5IxjmbZpV3MpK8N7UAcwapX2Z/2vLaR5acUS32jmizgd2dYTQlgt++sYefH8kloWbTykjkqIG28ISGe7jWuvksTJ3Du5Eck4Rk78M5MzlLBbPHModBnInDfFyZd0TI8kpLOWhFUcMhhLkFpUy+9ujBEel8/k0P+4fVv+EiHcO8qSwRMPuc0n17sMULiblqvC1a5dmq3+B9p3x0m29+XyaH8diM5m65CARybl1HpeRV8wj3waxITiO+Tf1YMnMobV6D1fmjoGd+GnuGEo1Gu5feojdZ813n723/RwlGsl/7upvtj4rc1PvDmyaNwYHWyumLT/Mryfr9lTUaCQf7TzPCxtPMszblS3zA/DtYDlvQ0c7G6YO6cx2nRHfHJzTGQTPJmazdOZQFtxsXPJeKyvBy7f14dMHBxMak8HUxQeJTKn7+jOGpOxC9pxP5n7/Lg2qojZjhBepucXsaaL3QTk/hsTx8MogXJ3s2DI/oE5P9HJcnexYO2ck0/y1uSzvXXKI4lINE81oUK2MjbUVb00ZwDtT+vPXxRTuX3qY7w5FM235YexsrNg0L6BOr/dy2jjYsvLR4Twe0I1VB6N5Yo02Abs5KCot46Wfwvjwj/NMHtiJjXNH06ERqoB3aOvA8xN7su9CCrvP1R0KH5mSq/OyyeDTBwfzyqQ+tVbTM5V+nm3ZsiCAvp3a8sy6Y3y26yJzvgvRFf3pxjePDtc7NzUHg7o4Y2dtxTvbzvLyz2GM6NaOLfMC6G6kJ5xvh9ZsmR/AMG9XXvzxJP/7w3x56DYEx2JnbcV9DdAVmxOiMQwHQoj7gUlSyid032cBI6WUC/S19/f3lyEhIWaXwxDJOYXc8L99aDRgY93yrYCVyS8uY0wPN7551L9O5Uqjkfx762nWB8XSytaaa8AgahTFpRrat7Fn30vjjXY3f3z1Uf66kNwk1dhKyjTY21hz4JWbjK5e8dqmMDYEx+FohEGsMsWlGpzsbVg7ZwSDuugvc24MUkre3naWVQejcbKzZvXjIxrkmiql5NNdF/lqbwQOtlZYXS8Xp6JOpISCkjLevKsfswOMqyiZX1zKsHd2U6aRLH14qFGeAqcTspi1MoicwlK9k4HSMkmZlHzxkF+9ytdWRqORjPlgL6m5RU1Svjm/uIynbujOwjv6Vt0xfrz2919/Ncq4QohQKaV/o3SuAEzXv6DpdbByQmMymLs2hIz8EuzruO5LyjQIRIOqkyXpyruHxWeZ/K40RH5xGc9O6MmLt/QyS3+GqCivHZ1ep+waKSks0TB9RFfentJ0+Y5q4+zlbO748gD2NlZmqXRUWFJGhzYOfPOof709Oky5/oyhVCMpLtWw76XxdKuj/HltlGkk4z7cS3JO07wP4Op7dVxPdxbNGFolcsH4PrThpe/tOEdrOxtCX7+l0eUPDE9l3rpQsgtL8fd2ZdmsYUYtvOqjvNqclRBmmRuWXw8vTOzFsxMalu+oLkrKNEz+8gCRKXl1XstFpRpcWtmy4pFhhheNzaALFJaU8eovYWw5cRkbK8E7Uwc0Se6fB5cdJjg6nZkjvXjz7v71ev6VlGl4Y+tpNgTHmW0OUlBSxp2DPPlq+pAG91VfzKmDWcyAJIR4CngKwMvLa1hMTNPmmPnzzJUaibauBVwc7Xg8oJtRnjWgfeCvC4q1eMK+puaWfh4VJR+NIS49n++DYprMG2Z0DzejV1BAW8r4m8Aok91vrawE9w3tYpbStlJKfgqJp59nW7O56G46Fm/2kANFy6c8vLN69cTa2HchmbYOtgzzNj5BZERyDj+Fxhu878f37mCyl50hDoSn8PfFFLP0VRdWVoKHR3rXdCFXBqQWj7EGJEvrYOUkZBawPiimznAdIQSTB3ZisJ58R6ZQUFzGtwejzOYJ087JnscCfJpkcam4VMPqQ1FG5XLq59mWqX6dm1WoxNrD0cSaKf+ovY01s0Z707GBHh3xGflsCI41W7hYj/atecgMk+RDkalmrVhoDB7OrXh0tHdFguH6cuRSGoUlZYzvbZ4E2nVxKSWXfRdSeHiUF/Y2DbsPQ2PS2XkmyWxRGWN6uHNTn6Y5D1GpefxwNLbOeYqttRUzRnrRxbWWEDIz6QJSSn4KjSrfZoUAACAASURBVKdHeyeTIxzqy+mELOLS85k0wKNBzz8pJVtPXObM5Zq5nOqDlRDMGOllcnJ9c9ISDEijgTellLfpvr8GIKV8X197S61+KRQKhUKh0KEMSC0eU/UvUDqYQqFQKCrRyLqAwjKYUwdreMYs/RwFegohugEJwEPAjEYaS6FQKBQKRUNRyuK1gNK/FAqFQlF/lC6gqINGMSBJKUuFEAuAnYA18K2U8kxjjKVQKBQKhUKhUPqXQqFQKBSKxqVRQthMFkKIFKA8AN8ZMBRwWJ99qr+reAGG6qg2lXxNOZbq79rurynHqs+905TyXW/9NeVYqj/j9hm6Rypv95ZSWqaWuMIg1XQwqP3/XBlj2pmrTXPtqyXLbs6+lOzm76s2vaMxxmvJfSnZLdOXkr1591X9GWI+HUxK2ax+gBXm3Kf6q7IvxdLyNaNzofpr4f01sewm3zst+dw29/5asuzXcH9675Ha7h310zx/avs/m9rOXG2aa18tWXZ1Hpq97HU+O5ux7Op/2EzHU7K3fNlN6KvR9C/L1/asyW9m3qf6u0qmmftryedC9VdtnxDCRQgxz1z96UEIIQyVfahxjBBithBiUR1jRQkhxphJvtr21efeqW1fs/rft8D+mnIs1Z9x+wzdI7XdO4rmSW3/Z1PbmatNc+2rJctuzr6U7A3sS48OZsyz0+jxhBDP16KD1eirkg5msJ0QYnw9dDBT27WY/2ELGc+cfSnZm3dfjaZ/NYsQNkXTIIQIkaoCjsIAQggfYJuUckAj9R8N+EspU41sP1vXfkEtbd4EcqWUH5tDxlrGUfeOQlELhu4Rde8oFApF3VTXwcz97GzJOphCoTCdxtS/mqMHkqLxWGFpARTNmg+AHkKIE0KIVUKIuwGEEJuFEN/qPj8uhHhP9/lhIUSwrv1yIYS1bvutQojDQohjQoifhBCthRDPAp7APiHEPkMCCCEeE0JcFEIEAwGVtt8lhAgSQhwXQuwWQnTUKVtPAy/oZBgnhGgvhPhFCHFU9xNgYChTUfeOQlE7hu4Rde8oFApF3VTRwYAjoHQwhUJRbxpN/1IeSAqFAqi6+iWEeAgYJqV8WadIaKSUo3RKzQ9ok7L9D7hXSlkihFiCVtnZAWwCbpdS5gkh/g+wl1K+XdfqlxCiExAEDEObGG4fcFxKuUAI4QpkSimlEOIJoK+U8p/VV7+EEOuBJVLKQCGEF7BTStm3EU6XQqFQKBQKhVlQOphCoWgpGOWBJISIFkKc0lmYQ3Tb2gkhdgkhwnW/XXXbhRDiSyFEhBAiTAgxtDH/AGMQQnQVQuwTQpwVQpwRQjyn2/6OTsYTQog/hRCelpa1OkIIB90Kw0md7G/ptnfTrQZECCE2CiHsLC2rPoQQk4QQF3RyvqrbJoQQ7+lWOc7pVkaaFUKIb4UQyUKI05W2NfvrBWq93vXeswY4AIwTQvQDzgJJOuViNHAImIBWyTgqhDih+94dGAX0Aw7qtj8KeBsp+h2AHbAfOA5c0cm9ETgMZAkhioFFQH8DfUwEFunG/hVoK4RobeT4DcLAtb5Sd++GCSF+bipZTMHAtW7KtWIxDMi+UXePntC9u05YUkZ9GLpHK+3/pxBCCiHcLSWjQtHcacnvaXNipnd+i6aWc9Ds3wcGaIgONhhIE0IUAS8C3kKIlWg9kPbXoouMBP6SUqZIKYuBjZX2dQF2CiFOAS/TDHWw6rRk3cZctFQdydwoncv8mBLCdpOU0q9SLN2rwB4pZU9gj+47wO1AT93PU8BScwnbAEqBf0op+6F9uM7XPZQ/klIOklL6AduANywppAGKgJullIMBP2CSEGIU8CHwmZTSF8gA5lhQRr0IrTvtYrTXRD9guu68zwa6An10KxM/WExIw6wGJlXb1hKuFzB8vRu6Z2sgpUwAXNCeg7/RKjMPol1pygEE8J3umeAnpewtpXxTt31Xpe39pJTGXpsaIKSS3OMAVynlNLTGpIeBr4D1gIOBPqyAUZXG7yylzDVy/HpTy7X+gpRysJRyENoVQ4O5BCzIampe60ZfKxZmNdVkl1JOK///A7+gXY1tbhi6RxFCdAVupe7yzQrF9c5qWu572pw0+J1/DaD3HLSQ90ENGqCDWaPVg/oBbdDqTp8ALwCXgRupny7yFbBISjkQmEsz08EMsJqWq9uYi9W0TB3J3Cidy8w0JAfSFOA73efvgKmVtq+RWo4ALjqrucWQUiZKKY/pPucA54DOUsrsSs2cgGYXz6c7j+UPX1vdjwRuBn7Wba98/psTI4AIKeUl3WrGD2ivj2eAt6WUGgApZbIFZdSLlPJvIL3atmZ/vYDh6x3D92w5OWgVjnKOAM9zVXl5SfcbtC/e+4UQHaBiVcdbd0yAEMJXt91JCNHLQP/V+QMYKIRwAwrRKkLlK1fOQAJaBcq5Fpn/BP5R/kUI4VfLeOZE77Vefs0IIQTQimZ4zei71qn7WmkWGJAdqDjnDwIbmlQoI6jlHgX4DHiFZnitKBTNiZb8njYnDXjnXzPU8Uxt1u+DSphDBysGbAArnS7yCzBHd1+U929IFwkCbhRCuAkhbIEHKu0r18FA61luSGZL6WA1aMm6jbloqTqSuVE6l/kxKgeSECIKrZeLBJZLKVcIITKllC66/QLIkFK6CCG2AR9IKQN1+/YA/yelDKnW51NoPZRwcnIa1qdPH3P+XQqFQqFQKJoRoaGhqVLK9paWQ1EVd3d36ePjY2kxFAqFQqFQNBLm1MFsjGw3VkqZoLN07xJCnK+8U5dUzSTLnZRyBbrs4P7+/jIkJKSOIxQKhUKhULRUhBAxlpZBURMfHx+UDqZQKFoqB8JT6OrqiI+7k6VFUSiaLebUwYwKYdPF4paHGm1GG65RntCtPHN/eRhSAtr8NuV04arbo0KhUCgULZvx47U/CoVCoVAoLMqslcGM//gvS4uhUDSMFqRb1mlA0uUwaVP+GW2iqdNos+uXx8E+CmzVff4VeERoGQVkSSkTzS65QqFQKBTXMIUlZby+5TTjP9pHTFqepcVRKBQKRTMlq6CEGV8f4XJmgaVFaZZIKXnuh+McjEi1tCgKRYvHGA+kjkCgEOIkEAxsl1L+AXwA3CKECEdbtvEDXfsdwCUgAvgamGd2qRUKhUKhuIaJSM5l6uKDrD0SQ3JOEbNXHSUjr9jSYimaCap0u0KhqMyvJy9zKDKNRfsiLC1Ks0RK2HriMjO/CbK0KApFi6fOHEhSykvAYD3b04AJerZLYL5ZpFMoFAqF4jpj07F4/r3lNA621qx6bDit7W2Y+U0QT60NYe2ckTjYWltaRIXlKS9LfEznJR4qhNgFzEZbpvoDIcSraMtU/58F5VQoFE2AsLQAzRxVYkuhMB9G5UBSKBQKhULRuOQXl/LSTyd58ceTDOjszI5nx3FT7w4M92nHJw8M5mh0Bi/9dBKNRqnC1zuqdLtCodCHEcW1m4S03CJOxmUa3T6vqJSgS2mNJo+muZwYheIawNgqbAqFQqFQKBqJc4nZLFh/jEupeTw7oSfP3uyLjfXVNZ67BnsSn1HAh3+cp4urI6/e3seC0iqaE0IIH2AIEAR0rJR38graNAT6jnkKeArAy8ur8YVUKBSNiqhwQWoehpKpSw4Sl15A9AeTjWr//MYT7DqbRPC/JtChjYPZ5VH2I4XCfCgDkkKhUCgUFkJKyYbgON767QxtW9mybs5Ixvi662379I3dicvIZ9n+SLq2a8XMkd5NLK2iuSGEaA38AjwvpcwWV2eRSCmlEELvtElKuQJYAeDv76+mVgpFC0fogtjMbShZHxRLZ9dW3NirvUnHxaWblsz7XGI2AEUlGpOOMxblgaRQmA9lQFIoFAqFwgLkFJbw2qZTbAtLZFxPdz590I/2bewNthdC8Pbd/bmcWcAbW8/g6dKKm3p3aEKJFc0JIYQtWuPROinlJt3mJCFEJyllohCiE5BsOQkVCkVTIRopCdLCzacAjPYkUigU1z4qB5JCoVAoFE1MWHwmk78M5PfTV3hlUm++e2xErcajcmysrVg0Yyh9PNowf90xTidkNYG0iuaG0LoarQTOSSk/rbTrV+BR3edHga1NLZtCobAcytFGP8oDSaEwH8qApFAoFApFEyGl5NvAKO5beojSMg0bnxrFvPG+WFkZv3zc2t6Gb2cPx6WVLY+vPsrlTNNCBRTXBAHALOBmIcQJ3c8dwAfALUKIcGCi7rtCobjGKX+DyGaSA6m5oexHCoX5UAYkhULR7JFS8kNwLPcsOcjm4/GqCpWiRZKZX8yTa0J5e9tZbuzVnu3PjsPfp129+urY1oFvHxtOQXEZj606SnZhiZmlVTRnpJSBUkohpRwkpfTT/eyQUqZJKSdIKXtKKSdKKdMtLatCoWh8ykPYlKFEP8oDSaEwH8qApFAomjVpuUU8tTaUVzedIjo1jxc2nuSuRYEcCE+xtGgKhdGExqRzxxcH2H8xmdfv7MfXj/jj6mTXoD77eLRl6cPDiEzJZd73xygpa5zkowqF4vpmx6lETphQkl3R9AhqerHuPZ9EcFTLsCE3tn1HmY8UCvOhDEgKhaLZ8teFZCZ9cYD9F1L49+S+hPz7Fr54yI+sghJmrQxm1sogzlxWOWAUzReNRrLkrwgeXH4EG2srfnlmDHPGdkOYKePp2J7uvH/vQAIjUlm46RRSrbIqFAozM2/dMaYuPmhpMRRGUPkN8PjqEB5cfthisgDN5p0k1fqKQmE2VBU2hULR7CgsKeP9Hef47nAMvTu2Yc3jI+jbqS0AU/w6M2mAB2sPx7BoXwR3fhXIVL/O/PPWXnRxdbSw5ArFVVJzi3hh4wkOhKcyeVAn3r93IG0dbM0+zgP+XYnLKODLPeF0befIsxN6mn0MhUKhUJhOWm4Rw97dDUDQwgl0bOvQOAM10xA2jQRrI9ZLGquKXDmVc0OtDIxi5+kr/Pj06MYdtBpf7A4nLD6TlbOHN+m4CoW5UQYkhULRrDidkMXzG08QkZzLnLHdePm23jjYWldpY29jzRPjuvOAf1eW7Y/k28Aotocl8ugYb+bf5IuLY8NCgxSKhnIoIpXnNp4gq6CE9+4ZwIwRXmbzOtLHCxN7Ep+ez6e7LtK1XSvuGdKl0cZSKBQKhXFsPp5Q8XnX2SQeHuXdKONYMol2TmEJNlZWtLKzrrFPIyXWesLrqtPYhq/KqTPf2Xa24nNWfgmt7Kyxs2n8oJzPdl9s9DEUiqZAGZAUCkWzoEwjWfH3JT7ddYF2TnZ8P2ckY3u613qMcytb/m9SH2aN8uazXRf5JjCKjUfjmH+TL4+O8alheFIoGpsyjeSLPeF8tTecbu5OVbznGhMhBB/cN4jErEJe+TmMjm0dGNOj9vtHoVAoFI1HblEp724/1yRjNeYCRV0MfPNPOra1J2jhxBr7motHlKFQusFv/8lYX3e+f2JkE0ukULRcVA4khUJhceIz8pn+9RE+/OM8t/TryM7nb6jTeFQZT5dWfPTAYH5/bhzDvF15//fzTPhkP7+ExlOmKrYpmogrWYXM+PoIX+4J554hnfltwdgmMR6VY2djxbJZw/Bxc2Lu2lDCk3KabGyFQnFtUqqS89ebjLziOtuUaSQ/Ho0zn67SSCrPf3ecIzIl1+D+pOwivduNrX5Wbv+qq31YfCan4q/mvjQ2x1JtpzcwItWoPhQKhRZlQFIoFBZly/EEbv/8AGcvZ/PJA4NZPGNovUPQ+ni0ZdVjI1j/5EjcWtvxz59OcudXgey/mNJsEjle60gpiU7N4+fQeP61+RRf7gnnSlahpcVqdPZdSOaOLw8QFp/Fxw8M5tMH/XCyb3onX+dWtnw7ezj2NtbMXnWU5Jxr/9wrFIrGo7BUGZDqS3ZhSZ1t1h6O5pVfwlgfHNugsRrb/2jF35eY8Ml+k48zVvUqb1eXHe3uRQe5a1FgPfpXOqBCYS5UCJtCobAIWfklvL71NL+evIy/tyufTfOjazvzJMEe08OdLfMC2H4qkf/tPM+j3wYT4OvGa7f3ZUBnZ7OModBSXKrhzOUsQqIzCIlJJzQmk9Rc7Upka3sbcotK+WJPOBP6dGDmKG/G+bpjZWU5V3tzU1Km4eOdF1j+9yX6eLRh0Yyh+HZobVGZurZz5NvZ/kxbfoQ5q0PYOHcUjnbqda9QKEynqKTM0iK0GN767QxtHWx54ZZeAGQVVDUg6YsyS9N5KWXl1+2tVBvlfeszkxSWlFkspN/UnEymGnqMbX2tmY/KNJJnNxzniXHdGOLlamlxFNcZSqNUKBRNzqHIVF768STJOUW8fFtvnr6xB9ZmNipYWQnuGuzJbf09WBcUw5d7wrnzq0Cm+Hny0q29zWasut7Iyi8hNDZdZzDK4GRcJkW6FWqvdo7c0NOdYT6u+Hu3o2eH1sRl5LMhOI6fQuL482wSXdu1YvoILx4Y1pX2bewt/Nc0jLj0fJ794TjHYzOZMdKLN+7s12zybg3q4sJX04fw1NoQnt1wnOWz/M1+jykUzQWNRiKEZfPAXKtczx5IGo2sc8FDSklecRmt7W1YdTAaoMKAlJRdtwdoeciWEMKo8QxRYUDSY4AJikrnxl7t69VvbUgp6/QAMuRRVH6sEFXbmBrJZ2yInLHtmgIpZYOfVSk5RWw/lUhoTAZHFk4wk2QKhXHUaUASQnQF1gAd0RpwV0gpvxBCvAk8CaTomi6UUu7QHfMaMAcoA56VUu5sBNkVCkULo6i0jE//vMiKA5fo5ubEpnljGNTFpVHHtLOx4rGAbtw3rAvL90eyMjCK309dYdZobxbc5Iurk6rYZggpJTFp+YTEZBAaozUahSdrcyDYWAn6e7Zl5khv/H1c8fd2pYOe8sTebk68ensfXrilJzvPJLE+KIb//XGBz3Zd5Nb+Hswc6cXo7m4tbuL3h2tPXvnyABoJX00fwl2DPS0tUg0m9uvIm3f3542tZ3j7tzO8eXf/FneeFQpj6L5wB5P6e7Bs1jBLi3LNUXideiCdjMtkyuKDrH9iJGN8Dedk/Gx3OF/uCeffk/vW2JeQUVDnOOUGkyOX0vho5wW2zA/Ar2v99SJ9ZpLGeurPW3eM309fqbWNIcPNmsMx/OfXM/zjZl++2htBa13It8keSCaGyDUHiss02Ns0bLFJvcoVlsQYD6RS4J9SymNCiDZAqBBil27fZ1LKjys3FkL0Ax4C+gOewG4hRC8p5fX5BlIoFABcTMrhuR9OcC4xm5kjvfjX5L5NGlbT1sGWl2/rw6xRPny26yKrDkbxY0gc88b78liAqtgGV8PRQmMyKjyMysPR2jjYMMzblSl+ngzzbodfVxe9JXsNYW9jzd2DPbl7sCcRyblsCI7l59B4tocl0t3diRkjvbhvaJdma9Ar00jOXs4mMCKVwL4PctDZm4FuTiyaMQRvNydLi2eQR0b7EJeez9cHoujazpEnxnW3tEgKRaPwx5naJ7KK+nG9GpAOX0oD4K+LKXoNSFGpeUgp2XI8AaDC+6gyecVVz50+I0a5geVAuDaRc9ClNIMGpJ1nrjCoizOdnFvV2CdqMRM1hrFBSlmn8QhAGnBg+8+vZwD4am8EoK1YB6aHmrVED6Ti0oYbkBQKS1Ln7E1KmQgk6j7nCCHOAZ1rOWQK8IOUsgiIEkJEACOAw2aQV6FQtDA0Gsl3h6N5//fztLG3YeWj/kzo29Fi8ng4O/Dh/YOYM64bH/5+ng//OM+aw9G8eEsv7h3a5boK8zE1HM1cuYt8O7Tm9Tv78fJtvdkelsj64Fje3X6O/+28wOSBnZg50oth3q4W9ZYp974KjEjlUGQqhyLTyMzX5rPobevIc/EHmffuOy1CCXzt9r7EZxTw3o5zdHZpxe0DO1laJIVC0UIoLLk+Q9iuhpbp33/Tx38B4O2mDYcv0VOtrsiIc2esXSMxq4C5a0MZ1b0dPzw1usb+qyFsxvXXUH4OjTeqnb4cSGm5Vyu2tbG3IUdnPILGM/To69ZSibVLypqPMUuhqA8mLf8LIXyAIUAQEAAsEEI8AoSg9VLKQGtcOlLpsHhqNzgpFIprlKTsQl7+OYy/L6YwoU8HPrhvULPJe9OrYxtWzh7OkUtpvL/jHC//HMbKwCj+7/Y+jO/V/poM9Skp0/DnmSQCI1IJiU7XG4423MeVYQbC0cyNg6019w3rwn3DunAuMZv1QbFsPp7A5uMJ9O7YhhkjvbhnaGfaOtg2uiwAqblFHIxI5VBEGoERqSRkasMPOjk7MLFvR8b6ujOmhxsd7p6kPaAFGI9Amw/ss2l+JH19hOc3nqBDWweGeaukmwpFS2DN4Wh827eu4QWTXVjCxzsvsPCOvmbzoA2OSudUQhaPjPbmve3nWHCz73WfRLs2zx7tfi3JOTXL2BeVVj1364JieXiUN6A1Xry3/RzbTyUaJUe5IS8kOqPWdvpME//59Qzb/jG2Vq/vTcfiaW1vw639PWrvX0q2nEjQ63GlD305jQoqXVNO1Q1IJtorjTU46WtWamrCJTNRbIa8YuV/j6lJyhUKc2C0AUkI0Rr4BXheSpkthFgKvIP2WfUO8AnwuAn9PQU8BeDl5WWKzAqFogXwx+lEXtt0ioKSMt67ZwAzRng1S6PMqO5ubJkfwI5TV/jfzvM8tuooo7u78dodfRo9P1NTUVBcxo8hcaz4+xIJmQUNDkdrDPp2ass7Uwfw6u19+O3kZdYHx/KfX8/wwe/nuXuwJzNGejGoi7NZr6G8olKCo9M5GJ5KYEQq56/kANpwvTE93Hj6xu4E+LrTzd2pWV67puBga83Xj/hz79JDPLkmhE3PjMHHvfmG3ikUCi1vbNWG+kR/MLnK9sX7IlhzOAYfNyceH9vNLGM9uFwbLODp7MDqQ9Gk5xUzdYg2v5utdct+BppK+QS9rkd/be+G6t5b5xKzKz4Xl2n4JjDKaHnKdMaOuowe+rxqLqXksfpQNPPG+xo87sUfTwI1r7PqxKbn88LGk3WJW0FdBh4HW6sq302v2mZkOz39llrIE8gcBqTmFJKnuP4wyoAkhLBFazxaJ6XcBCClTKq0/2tgm+5rAtC10uFddNuqIKVcAawA8Pf3V3eBQnGNkFtUytu/neHHkHgGdXHms2l+9Ghv2bLmdSGEYPKgTtzSryMbgmP5Yk84dy86SICvG7NG+TCxbwdsrK3q7qiZkZVfwprD0azSTQT8vV15e0p/burdwWzhaObGyd6Gh0Z48dAIL8LiM1kfFMvWE5fZGBLHgM5tmTHCmyl+njjZm54/q6RMQ1h8JoHhaRyMSOV4XAYlZRI7ayv8fVx5+bbejPV1Z0Bn52sylNGttT2rZg/n3qWHeGz1UTY9M6bZ5pxSKKrT9/U/eHJcN168tXeV7ZYKQ7E0ZbrJb5kJXhS9/v07T9/QvcY5BG1On3LKjRRlGllhBLFrgnfgcz8c58zlbHa/eKPRxwx7Zxd3Dfbkzbv7N3j8h78JQiJZ98SoiuuqrjeBPvtReTW16h5IAAEf7OXG3u159fY+RssVlZrHxE/3G9V2W1gii2bol0kfB8JTmLUyuMq2OauPklVQws/PjKnZj4m3m/+7u9k6P4DBXV34NjCKt7ed5e+Xb6rYb1XtBJp6OxufA6nmthJT3Z3MRLGecEdTMeW+VyjMjTFV2ASwEjgnpfy00vZOuvxIAPcAp3WffwXWCyE+RZtEuydQ9cmkUCiuSUJjMnhh4wniM/L5x82+PDuhJ7YtyPBiZ2PFo2N8uHdoZ9YcjmHdkRie/j4UT2cHZo7y5qHhXXFr3TxC8GrjSlYhKwMvsT4olrziMm7u04FnxvdguE87S4tmEoO6uDCoiwsLJ/dl6/EE1gXFsnDzKf674xxTh3gyY4Q3/TzbGjxeSkl4ci6B4akcjEglKCqd3KJShIABns7MGdudsb7u+Pu4XjdJ1Lu3b803j/gz45sgnlwTwvdPjLxu/nZFy6agpIwv90bUMH7UlU/kcmYBTnY2ODs2LBT2SlYhdjZWtLOQ0TU2LR8vXb4dqJTzxgSPjeJSjd5zCBCXnl/xuXxSXqrRcDohCwBbG8Pvcikl56/k0LeT4eexMWw9cdnkY9Lyill9KNpoA5JGI7mYnEMfD62sWQUl5BSWkFtUSmBEao328dUqqaXmFlUxxugzMCVmF9LZpRVh8Vk19iVkFrA+KJYXb+lllLwAhyJrypVVUEJ2QQld2zly/kp2FcNLYlYBeZXCwsqJSM6la7tWVXL3rTsSW6VNUnYhe84nG5SlNu+Z3KJSrIS2xHxlfj15me7tnXh721ltH2WVDGvVTqCpnjXGttZnaFYeSApF/TBmCTcAmAWcEkKc0G1bCEwXQvihvXejgbkAUsozQogfgbNoK7jNVxXYFIprm5IyDV/tjWDR3nA6u7bix7mj8W9hxorKtHGwZf5Nvsy9oTt7ziez5nA0H+28wBe7w7lzUCdmjfbGr6tLswtrikzJZcX+S2w6Ho9Gwl2DOjH3xh4NVuotTVsHW2aN9uHhUd4ci81kXVAMP4XE8/2RWIZ4uTBzpDd3DuqEg601iVkFBIZrk14HRqRWKLI+bo7c7efJWF93Rnd3u649b/x92vHpg4NZsP44L/10ki8fGtJsPdIUCqjdy6iulfgxH+zF1dGW42/c2iAZRr2/BysBl96vPcSnsbjho31VwovK3z/GlzGvvWHlCWn5BHfnmSRAG3BQmwfSz6HxvPxzGKtmD+emPh2ME8hCfLEnnC/2hLPz+Rvo7dGGO744UJHvrjLlp+PXk5f5cvqQiu3+7+6uc4yAD/ay/dmxxFYyylXnsp4xDeHqWPV9VVhSxv1LDxGenMtPT4/mgWWHGdzFuWL/6Pf31ugjLa+YiZ/u56HhXfngvkEGxxr53z0Vn3efTaqx/6WfDIevTV9xhFZ21gRHpVfZLoB7lhyq+F5aiwHOVLuIoSpv1dH3mCi1kAeSvoTrplL+3FN2JIUlia3WPAAAIABJREFUMKYKWyD6Dew7ajnmPeC9BsilUChaCFGpeTy/8QQn4zK5f1gX/nNXP9o0UdLjxsbG2orb+ntwW38PIpJzWHs4hl+OJbDpeAKDujgza5Q3dw32tLgHR1h8Jkv/iuSPM1ews7Zi+ggvnhzXna7tHOs+uAUhhGCYtzbJ9xt39uOXYwmsD4rhpZ9O8vZvZ3Bvbc8lXRiGm5MdY3zdGevrxpge7tfcuWgodw7yJD6jgA9+P08XV0eTwikUisZk2f5IolLy+PB+7SQ3Ji2Pv8OremBcySrkj9OJzA7oZlQYSoaugmJ11h6O5ua+HensUrMsuj40EvZdSOam3k1jJKnN6BOkKzNvLHV5alX2xijU4yGRnFNEYHgqY3vWLGlfnj8uMiXXZAPSj0fjGOrtim8H/aHuZRrJsv2RPDzKG1trwaqD0cy9oTs7zyThVY/n+hHdeUvLKyImzcqA8Ujyya6LFd/XHolhli75dXUiU/L0bk/NLa5VjrsXHaxT1qPR6Tyw7DB3Dfassr2oVFNRBKP83J/U4+1UmaTsQgCOx2ZyIi6TL3Zf5N939qv1mPd2nKux7VSC4XEM7Ssp0xChkxdg/4WUis/VQ9hM90Ay2gepxhaLeSCZwYDUWB5IwVHp5BWVNntDsMKymJ5EQqFoRErLNFhbiWbn2dGS0GgkOUWlFJdqKC7TUFyqoUT3u6hUU7G9pNL+ym31HlNL+7D4LOxsrFgycyh3XMPlwX07tOGtKQN4eVIfNh+LZ83hGF7+OYz3dpxj2vCuPDzSu0mNFFJKDkaksXR/BAcj0mjjYMO88T14LKAb7i0gzK6huDjaMWdsNx4P8CEoKp0fgmPJKihhxkgvAnzd6d2xjfKqqYO5N3QnLj2fZfsj6dquFTNH6p8gKRRNyQe/nwfgHxN86eLqyL1LDpGWV3Uy/vT3oZyIy2RC3471yocGkJ5XzOtbz/Dd4RiTcu48tuponYmGzUVtRp9yg4Gx08i6Jq2VvTEMVV57eGVQrX97fea0r/wSho2VIOK/d+jdv/9iMh/tvEBsWj5tHGz4JjAKTxcHkxI5V6ZQ97c52Fpz11eBetskZhVW+f76ltPcPdgT51bGL46dis+sl3yVeWCZNqn5byerhval5FyVL70OQ1U5OYXakLY2DjZMXaw1XgVHBTKuZ3uDx1TOi9UQ1h6JqfL9fd09rg9TLyFjrzm9HkgtOoTNDILooTyRflM94xQtE2VAUliM0jINF5NyCYvP5GR8FifjMrmYlEPXdo7c1t+D2wd4mL3q0rVEQXEZUal5RKbkEpmSy6WUvIrfBWYouyuE1mXdzsYKexuris+2ut92um23D/DglUl98HBu/LLvzYHW9jYV4VRHLqWz5nA03xyIYsXfl5jQpwOPjPZhrK97oxkvyjSSP89cYen+SMLis2jfxp7Xbu/DjJFe14znlykIIRjV3Y1R3d0sLUqLQwjBW3f353JmAa9vOY2ncyu16qgwG098d1S3uDDMqPaJWQVVvDISswrp4upYw3gE2vwvoA2FqWz4GPP+Hna+cINRz8LyFfy03Jrl18uJz8jnvqWHsLEyXy6/jUdj2Xg0jk3zAupsWz3UZc3haN7Yeoau7a56TH3w+3m2hV1m2z/G1d5XtUnrV3vCOXM5m2WztP+fymFFhbXoEEej02vk0yt/27234xyje7gxoLM2nOp0QhazVx0lVXeOq09KS3V/X22VxQqKtW02hsRVbNNnPNp1Nolb+nUEtP/TSV8cYPVjw+nveTW0a/n+yKuGNynJLqyZJwjgyTUhNbZpNJJvDlwyKCeAlbg6sf/4z4u1tq2LKYsNeyhN/PTvis9lRoZhlRuQQmIyKrblFTdNhpHajB3Vd0kpWXM4mu1hiWycO9qIvo2zpOhrppJoKxT1QxmQFE2ClJLotHytsSgui7D4TE5fzqqo7tHWwYZBXVx4fGw3ziVm882BSyzbH4mnswO39vdg0gAPhvu0uyYrI9WGlJKUnCIiUnKJTMnjku53ZHIul7MKqpSZ7eLaiu7urRnZzQ1PFwet0aeywaea4afG52rbWmLVsaZECMHoHm6M7uFGYpY2KeaG4Fh2nwumm7sTD4/y5v5hXUxasayNotIythxPYPn+S1xKzcPHzZH37x3IPUM6WzyETtFysbG2YtGMoTy4/DDz1x/jx7mjKyZ/CkVDyC4srbOCVWW2hyVWSb57OiELXwMVPMvXla5kFeLe+mp+mMtZhRyMSGXSAMPesGm5RbRzsqvwPig3Rulj9cFokrJrGpjyi0uREoPeT0WlZRSWaPQ+///vl1MAJOcU0qGN/oWX8v6reyq8sfUMAHHpVcOuTidkk5FXTCs7a/KLy/Qm+q4+aa0cogVVvTFqC79667czVYxVOYUlFFWSc+lfkSyaMYTU3GLe2Xa2wnhU3lYjqTgvRXV4YmTll+itZKaPhZtPVRiQ9l9MISWniK//vsTnDw0hIjkXRzvrKp4vlzMLDXXFmcvZNbZl5Bfz7vaaIV2VcW5lazBc0lhKNZK49HxOxhnnwRSRklt3IzCYjykj3zgPpsaiephmcamsuM6NOt7IdvoMTU3tgVRuYDSHB1JFDqQG96RQmI4yICkahaTsQk7EZRIWn0lYfBZh8VkVSpq9jRUDOjszfYQXg7u4MLirC97tHKt4bGTmF7PnXDK/n77C+uBYVh+Kxs3Jjlv7d+S2/h6M6eGOXS0VQVoaRaVlxKTlE5lc1ZsoMiWP3EqVNBztrOnRvjX+Pq70aN+VHu1b0729E93cnZQRwYJ0cm7FP2/tzYKbffnj9BW+OxTNO9vO8vHOC0wd0plHRnvXO5F1blEpG4Ji+SbwEknZRQzo3JbFM4YyaYDHdWdQVTQOTvY2fDt7OPcsPsjjq4+yeX6A0TlhFApD2NtYVXl/mcpbv53lrd/O6t1Xnjdl+tdHaux7+vtjRLx3u95FkLj0fMb9bx8L7+jDpP5aI1NtC/nfBEbp3T7k7V0UlWoMhnnMWhlMcFR6rWEgI97bw9KZQ7ldT+j34Lf+pKRMErRwgmHhqsv0zq6KzyffuLVG1bm6Jq2VvZ1WH4o22M6jbVWj18A3/6zyvahUw68nL/PcDyeozviP/iItr7jivFT2dNKXVHrw23/W2GaIyqHbVxfXBJuPx+v1WPrHhuNG9w1w8yf762wzqrsbv5++YlK/1flo5wU+2nnB6PY7Thk3XroeTz6AoGoJr5ua6rdfbUm69dEQD6SmTqJtY21VkQaioagqbApLogxIzZjCkjLS84rJyC8mM7+E9LxiMvOLycjXlhxt42BLOyc72jnZ4epoh1tr7W9XR9sm9R7Jyi/hZHxmRShaWHxmxYqdtZWgd8c23DHQQ1eS25leHdvUWdrdxdGO+4Z14b5hXcgrKuWvCyn8fjqRX09cZkNwHG0cbJjYV2tMurFXe1rZNX/jiZSS9LxirQdRSu5Vb6KUXOLS86sosZ7ODnRv35r7hnamR4fWdHdvTY8OTni0dVAhfc0Yextrpvh1ZopfZ04nZLHmcDSbjsWzITiWET7teGSMN7f196jz+gftKvnqQ9F8dyia7MJSxvRw4+MHBjPW111dAwqz07GtA6seG8G/t5wyyWtEoTCEnW6yVBth8ZkV7766vDsqUzkhrz5OxmdyJauIMT2qhrau1BmE9pxL5uZK4ZrHYzPo7dGG9UGx3DOkM2515JEr95yJSM7Bt0Mbdp1NYmBnZ8LiM/HzcqmoQrXpWDzje3fQ6xEEsPd8cg0D0rawyxW5j/LrGWK0+Xg8swO6VdlW2QMpPCmnxjHGhsT08ah9MeRAeIrBEJ3q4YhrDl/NjVPZQ6akTGNSlTKAc4nZxKbl4+XmWDG5FoIaFcEak5kjvRtsQLreqG4HqZzUXEpZt75jdA4ky3sg2VgJirlqrN16IoEJfTvSupY8bul5xRyOTGPyoKrPicYOYbtwJYfeHm307kvLLeJodHqtnp76kFKy6VgCdwzs1CLmbQrDKANSEyClJLeolMz8EjLyi3WGIO3njDytQSgjv1j3vYTM/GLS84srwrv04WBrVet+51a2OsNSJSOTkx3tHO2qfHfT/W5jb2PUpLSguIwzl7MqchaFxWcSnXb1pd/N3YnR3d0Y1MWFwV2d6dfJucEPCSd7GyYP6sTkQZ0oLCnjYEQqf5y+wq5zSWw+nkArW2vG927PpAEe3NSnA20tnAdGSklSdhHhyTlcTMolouJ3bhVXeXsbK7q5OzGgszNT/DrTo70TPdq3ppu7U72TgiqaDwM6O/O/+wez8I6+/BgSx/dHYlmw/jgd2tgzY6QXM0Z40aFtzfCFuPR8vjlwiY0hcRSVaritnwdPj++BX1cXC/wViuuJ3h5t+HHuaGWgVJgFOxurOstVG1OJqj7ct1SbCHZEt6u5eopKy6p41hSXXp2A3bPkEF885Me728+RklvEa7f3rTUPUDkTP/2b8Pdu58k1IXRydiAxq5A+lSZdL/54kpHd2hnM5VI9X2FCZgEL1l/1jMkvrp8H15u/na1hQCqqpDPe8tnf1Q+hxMgJaV1GraJSDX9fTKm1DWgnoV/sCa/4XvlcLPsrkqX7I42SpzLjP97HpfcnX/VAQpg1f1VdtHYwTncb5u1KaKVcRNcztVUaLNVIbK1rfx81xI7S5B5IOq/x4lINJ+Iyee6HE9w7tDOfPuhn8JiXfzrJnvPJDOx8E15uVwu1NHYKpNs+/9ugB+VTa0MJjcngxBu34OKo3ziujxNxmfzzp5McikzjkwcHm0tUhQVQs1QjKdNIcgtLySkqIaewlJzCUnIrfdb+lGiNQZW9hvK1XkOGKmkIoTP2ONrh4mhLJ2cH+nm2xdXRFlenqx5Fro5aQ4+Loy0ureyws9Gu7JUbm9Jztb8z8opJy9P+Ts8vIT2viITMQk4nZJOeV2xwVcjWWuDqeNWbqV1rrbGp3LgUmZLLibhMwpNzK6zeHm0dGNTFmQf8uzK4iwsDOzvXcJk2Nw621kzo25EJfTtSUqYhOCqdP05fYeeZK/x+WlvCPMDXjUkDPJjYt2Odq4gNodxQdDEph/DkXMJ1vy8m5VQkKwRwdbSlZ8c2TB7UCV9dyFmP9q3p7NJKVYm6DnBxtOOpG3owZ2x39l9MZs3hGD7fHc6ivRFMGuDBI6N9GO7jysWkXJbtj+TXk5exEjDVrzNzb+xhsLSxQtEYKOORwlzY6vFA0mgkfV7/g+IyDQ8M69LoMlyqVGJ96uJDFZ+DotJ5YWPVEKtyg9Hy/Zf4/dQVgzljqtPr378DVyt3lZdVrzzWH6cTeXXTKXp3rLqif+ZyNkPf2cUDw7ow1NuVlQeqhswl5xhO8F0Xvf/9O2//P3vnHRbVsQXw3+zSuwqiolgAO4Il9h5rTKJJNKaZlx41zcT0+pKXYnpMr6aYYq9JLNHYuyCIqAgqKkWaSC9b5v2xi4LS2YUV5/d999vde+fOOXf27uzcM2fOmdiNqdf4A1CgK98YdevXu3j1hq68suJQteot0Ol5d+1RftxxstKJzMpo9/xf3NHPv8y+e3/cd+H9sdTcWnlflTxUl6R214jKA3RbmlZeVScTGdvN97LU9VczlX0/xXpjlR7bspouSOV5IK2LTqnWuZaiZHVIem4RU83ZztKq+I2fM8eoSsoquMSAJKs8X0rJc0sPciItj5kjAhjZ2ZdPN8bStpkLE0P9Lit/qdH8kd/DmTEs4LK4iPHm7Hw1XYpX8g1EJ5kC2R9KzOLNvw7z7i09aNvMtcrz9QYjTy+O5KGhAXRtVfOwEFJKXlgWxS29W1+WCKAqwk6dY9G+BObcEqzGSVwFBiQpJQU6Qxkjj8n4c/F96c+m14tlSz5X54/MTiPwKjH4uDrQztuFni5eZkOQPV4uJUaZi+89nO1rHcfEwU5Dcw+ncr0YKmqLvGJDWSNTyZZf9vORZFNAxvMFOqQ54GGP1p6M6uJLSBsvQlp7VluutbDXahgU6M2gQG9ev7EbB85ksvaQyZC0aWkUGhFFv/YmY9KYbr609KxdTI/yDEUl70sbipq6OhDU3I2Joa3o6OtOYHM3Ovq6XxUp1RVVo9UIRnb2ZWRnX+LT8/h19ykW7T/DnweT8fNyJvF8AS4OWu4Z2I77B7enlYpBo1AoaoEQYhwwF9AC30sp5zSEHiUTXVLKCw/2pSeyFocl1KreipY2dfB25cQlacfPlwoQfCS5bGDkmEuWcZV+kK2u8Qiql0Z8+q/hwOXxZkrSpH+ztfzsXn/sOV1tPS6lSG/kuaVRjA9uiaBiz6G98ee4voJ09uWRllPEH3vPVF2wCn6v5NrS62A40xmMF+63Ap2B9pdkiHW211Y7U20zV4dyswBeSv8OTXlsZBA+bo7079CU3ScqXjbnZK+1SAycxkJlbZFXrMfFQVvpA3vpZWglfU15z1Xl2am+LfW7M5oLVDaxazBKtBpx4bW655VQcs4vu05dWAar1Qh0BiMCyg0/4upgelRPzy0ip1CHq4MdBinLLGG7dKlfiX7n83Us2m/qZ+/7aT/xcybwkTl4/sRQPwxGiZQSjRBoNIJdxzPKyP7rYDIRp8+z9dkRgMljSyAuGIJK9ykGo0Qjyp+EKjlW4gV5yrxyZWVEIrtPmBwBHhjSAaOUaIWpfo0wZQl0ddAipal9z2QWsCIiib0nz7HtuZEIwGDugLXma6iMvGIDC/adYUlYAnFvX1fmv6nkzIrquPWb3RiMkhcndMHDybRqp+S7l5WcX979Ufo+LX0vJTu44aUv5EoY/TdqA9Ln/8by8YbYaq0TdXXQ4u5kj5uTHe7mzc/LGTdH03vTfnvTMUe7smXNn53sNTZtlRRC4OZoh5ujHW2aulR9AiZrb26RHk9ne5u+No1G0LttU3q3bcqL13UhOimbddFnWXvoLK+tiua1VdGEtvFifHdTRrfyLN1SSs5mFxKbYvIiijN7E1VkKJoU6keQrxtBzd0J8nVThiJFtWnn7crL13dl9phOrIxI5K+oZG7t04a7B7SlSQWxMhQKhaIqhBBa4AtgNJAA7BNCrJJSlh+N2oo42GkoNhh5YVkUC/aZDA5VBWcf1tGHLVUsfxo4599y9392R08mfFrWEFIT75Ow+PKXFAlRPSORNVh/uO4eEj3MQa6DLODN2t3Po0zYAmux60RG1YUqIOilNRdiX/15MPmy4wdeHU3nV9aW2VfRkrI3Jnbnkd/DK5XXwceVBQ9dXKK44KEBtHv+rwrLd/R151BiVqV1Xk1U5mXX962NPH5tEE+N7njZMSklUYlZZZbBfvzPMT79N47Yt8Zf5rlU2VI5MC3Z0hslm54eXu7x0xn5DH1/E0M7+rD1WBr7XhqFj7sj9/28j90nMjj6v/GV1g9gbzYUlL7mzTFpBL1k8mJcPnMgPf2blDlne1w6wIWlrSX90aDAi/HdthxLY3gnU0y3tJwirnlrA+/d0oP+HcrGgCvNkeRsxs/dduFzRcvVEs8XEPDi3xc+B5fyRsozL7HNK9LT7bV1vDC+Mw8PCyhzvt5gJPClNTw2MpCe/qZQDAU6A7EpORe+o3fWHC2TIRHg4WEd+GbLCQZ0aMauExnEz5lwwUsyKauwjE4AnVu4s3bW0AqvFy5m3Cy5E0rulxKGdfTh5/v6XnbeyojEC7aEkNfXc3tff965OfiCNy2YMmF7udiXyVAJ0OP19YS28eLXB/pd2PfyikP8tuc0n93ek8f+OMC2Z0fQpqkL93aaTOuiLL6v9Cpsg0ZtQOrp34QZwwLKGoAuMQiVGFRUNqPysdNqarS+1RYQQtDdz5Pufp7MHtOJuNTcC8akkk6qcwt3xnVvgZujnclglJpDXEouOaUyxjRzdSDI12Qo6ujrRmBzdzr6ull1WZzi6sLZQcttff25ra9/1YUVCoWiavoCcVLKEwBCiAXARKD+DUhaUxa2EuMRlA2Qeylf3NGLMd18LzxM1YS+7ZvSrZUnb98UzAfrYyrMOFUZKyOTyt3voNVQpDfSyded3CJ9pddQ37w/uQfPLDlYrbKxpQKPN3GpON38K9d35X9/mm6XjbOHset4BqFtvMgr0rMuOoUfd5afma4q2nu7XvC4Ko92zVx49Yau3PfT/lrVX5qdxy83QG2cPQw7jcDxkgy+v97fD293B8Z9su2yc0o/GrRr5lKu8ayqp4ffHuhHYmYBo7r6Ep2UxcAAbx6twij1/PjO/Hs0tdIA4A8P7VCu59p7t/RgbfRZ/j2aWoVmVwafbozF1+Pycfe8HfGXGZtLjAHfbTuBp3PZkBpVeRWW/D5+23Oq3OMlRr+S+F7fbzuBfzMXNsekVXpeafKr8Hz7YH0M15UKql+ezatk3464i/f40vDEC/1SiXfPSyuimH6JMefX3Rd1/NjsiVTCb3tOcTT58uD6lxJVyvi5KjKJiDPnSc8x9bfvrDl6WRyw7ALTc9Vn/8Zxe6mx7rwd8ZzKqLg/+GaL6d4uMSb/uvvUBWNaeRw9m1Pld1CS4MlglPy251QZ4xGYDHHl1THnEuPWH3tP093Po0xYmITMAhIyCy47P7dIz/a49DL7fzN7X764LAqAr7Ycp1srD047edI/u/Zep/WJqMoiWx/06dNH7t9f9z8MhaIqzpzLZ120KWbS/lOZSHnRUNTR152g5m4EmV+VoUihUJTL8OGm182bG1KLKw4hRJiUsk9D69GYEUJMBsZJKR8wf54G9JNSPnpJuYeAhwD8/f17nzpV9cNPTfl+24lqZ1bz83Jmx/MjAZj4xQ6iE7Po1MKd6KTscsuXuP6X8PuD/RgY4A3AP4dTePCXy8eUrTydeG585zLp5af0bo27kz3zdpRvFJk5PICIM+fZeTyD+ff3xdFOy63m2CWV4e5kV8ZzGeDPxwbXaKlYVUwKbcWTozsy7P3NADR3d8TdyY7jaRU/lJUQ/spoev3vn8v2TwhuyftTetD11XU8P77zZQ+gyw8k8OTCmqVZB7ghpBV92jbhtVXRFZbZ/twIWjdxYdoPe9gWW/GDYmlu6dWapeEJ5S5fvJTSHhalPYTi50wgp1BHsNlTa2BAswsGqE1PD+fueXto4eHE+O4teePPy+2wr17flfsGlw1YPn7utgtLJve/POoyD/W/o5KZ+dtFI9KE4JYU6Az8ezSVp0Z35PFrg8jK1xHyxnoevzaITzfGck27Juwze8lNDG3FU6W++9Ic/O8Yftwez8cbjl12DKBP2ybsr0YA7+t7tCzXg0thO1zaDyqufD6I+5vJS76wSt2WHIMpA5LiqiUj12SJVoYihUJRI5QBqVYoA5L1qa4BqTTWGoNJKUnPLUbKizEeDEaJp4s9dhoNRnPsjZLjly6TLxmfSnlx2YbEFNfI3k6DvUaDvVaUe+65PJNce7O3iU5vxNXRDid7LYU6A0V6I26OdhdiduQW6ckv0uPuZI9EYq/VIDA9oOnNSVRKlhcbjZLsQh2ezvbkFxtwtNOg1QiyCnS4ONhhrxUXdNYZJBKJziBxc7Qjv1iPg1aDRogy15RdoMMoJS4OdthpTXU1dXHgfIFJTsnVGc1tVagz4minQaMxxeEo2V9sMCKlaemes72WPLO8YoORwmIDTg5a7DUanB20GIySYr2R/GI9zg5anOy0CHN7GI2ywlggGblFCCEueHiUxCHRGyRO9poL126Upsx3TnbaC3XlFenRGyQeznZk5uvwcLJDIwQFOsOF7LN6g5G8YgP2WoGTnZacIj2uDlqK9EYc7DQYjBJHOw35xaZz8opMcXLO5+vQGYy4ONqRX6THyZwB2NHOpJOT/cWMwEajvBC3pES3kvtNmO/JkvdFegMaIbDXasgr0uNsr73w3ZXcdhXduwajLDeuTYkOhXoDzma9jNIUD6h0OIySekripRiNkiL9xe++9PHS8WeklGQX6HF3srtQrqS9Sl9bSTtohCmejYuDluwCPRJ5IXRFVr4Og5R4OJlWa2TkFeNkr8VOI8gvNph/B3pcHezILtRhMJri8QhMhtRigxEHrYbsQj0e5s8aISjSGbG3E+QWmn53OYU6vFwcKDYYyS/So9UIHO215BeVNcQKIbDXiguxk7QagYuDHXnFeoylYhSVh51Wg97sNeLl4sD5/GIcSvoIQ0l/U/FzcemYNaVllPwOq4O3myPpeUVohUnvnEIdjnZa9EZjuXprzfF1swt0ONhpLv6m9UacHLSmti3QXXZOSV2l+97yjgkhMEp5Qf+SvsHN0Y6sAl2ZGD0lv43y2qCydi99zMXc7+aaDezuTvYXsk2WfN8l5R3ttRTpDGXO93SxJytfZ/o9SHC012A0SpM3UDW+gvL0BtOplX2HpVcqlZxf8r2X6CKRl+lQ0b1R3r2kvfkmmukLrDa2VAYkhUKhUCgUVxTKgGR9hBADgP9KKceaP78AIKV8p6Jz1BhMoVAoFIrGjSXHYJXnRlQoFAqFQqFQXCnsA4KEEO2FEA7AbcCqBtZJoVAoFApFI8EmPJCEEGmA5Rfgm/AE6ivdQX3Kqm95SpaSdbXJqm95SpaSZQuy/AFrRXFsK6X0sVLdCjNCiOuATwAtME9K+VYV5XOAmFK7rHG/eQPVC2xTPSyto63Xp9qvblxt7WeNOq+2NlTtZ1v1gWrDutJJSulukZqklI16A75tjLIa87UpWUqWLchqzNemZClZlchKqy9ZarONDdh/yWeL32+XyrBAfRbV8QqoT7Wfar+G1vGqakPVfrZVn2pD22q/q2EJ2+pGKqu+5SlZStbVJqu+5SlZSpYtyDpfj7IUtkl997O1wdI62np9lsbWr1e1n23WaUlsvQ1V+9lWfdbA1q/ZZtvQJpawKRSKhkcI4QXcIaX80kr1z8JkTc+vZvl7gD6ykuxBQojhQLGUcqdFlFQornKEEPulCnR9VVEf37m6r+qGar+6cSW0n62PwcprQzUGqz5Xwj1o66g2rBuWbL+ciBikAAAgAElEQVSrwQNJoVBUDy9gphXrnwW4WLjO4cBAC9epUFzNfNvQCijqnfr4ztV9VTdU+9WNK6H9bH0MVl4bDkeNwarLlXAP2jqqDeuGxdpPeSApFAoAhBALgImYgqkeAJZLKVcJIZYDmVLK+4QQ9wEBUsqXhBB3AY8DDsAeYKaU0iCEGAO8DjgCx4F7gfuAD8x1p0spR1Sgw73AC5iW0UQCRVLKR4UQNwAvm2VlAHcCzsBuwACkAY8BR4GvMQUCBpglpdxhsUZSKBQKhUKhsDBqDKZQKK4UGpUHkhBinhAiVQhxqJxjs4UQUgjhbS1ZQoj/CiEShRAR5u06a8ky739MCHFUCBEthHjPWrKEEAtLXVO8ECLCErIqkRcqhNhtlrdfCNHXirJChBC7hBBRQojVQggPC8hpI4TYJIQ4bP5unjDvbyqE+EcIEWt+bVJXWVXIm2L+bBRCVMdl8XnguJQyFFgHDDHv9wO6mt+PBa4XQsQBXwF/mMv3Bc4IIaKB34FbpJS9gP3AU1LKT4EkYEQlA5eWmAY9g4DBQCgwSQhxGHgP+F1K2RMoAA4BK4A84AcpZaiUchswF/hYSnkNcAvwfV3asNRxi/UflXxfFu8/KrsuS/cflVyXxfuPSmRZq++oSJ41+g8nIcReIUSkWdbr5v3thRB7hBBx5jZ1qKsshUKhUNgM1RmDDQG2CiG6AFOBQebyBuBO8xjlZWCUBcZgXUsd3g70N4/BFgDPSinjMRmLPq7rGEyhUFxhWDK6d0NvwFCgF3Dokv1tMHXGpwBva8kC/gs8XR/XBYwANgCO5s/NrdmGpY5/CLxq5WtbD4w3v78O2GxFWfuAYeb39wH/s4CclkAv83t34BimP+L3gOfN+58H3rXQdVUkrwvQCdiMaR17VfW0K2kbTAOW3eZ6fgJWmuXEYhpYPAokA4XAEeAM8AZwPZAPpAARwGFMBh6A+Mp+f8Ak4JdSn18GFprf98NkLDpm1mGtef8aYFepc1LNcku2RMCttm1o/mzR/qOS7+u/WLj/qESWxfuPytqwVBmL9B+VXJe1+o6K5Fmj/xAl9yxgj2lmuT+wCLjNvP9rYIYl7xW1qU1talNbw21Ubwx21Pwf9Cgmg1DJWCfGPIa4HlOa85L9dRmDPQ58bn4fbP5/jTLLKhmDlRm3UMsxmNrUprYra7OaB5J5pjmqZCbYWnJKI6XcCpwr59DHwLOAxdbrVSLL4lQgawYwR0pZZC6TakVZAAghBHAr8IclZFUiTwIlM/memP4krSWrI7DV/P4fTDMmdZWTLKUMN7/PwWRg8cPkmvyzudjPmP6s60xF8qSUR6SUMbWsMxHTevxxmNpnG6bvPktKuR3TQ+5PmAwrj0sp20gpXzXvDwM2SNOMVFcp5f21vLRsTG7RAO9i8jp6BHgQcDLvt6fs71qDaZYs1Lz5SSlzq3G9FX1nYOH+owpZFqUSWRbvP6q6Lkv2H5XIslbfUZE8a/QfstQ9a8/Fe3wksMS832L9hxBinBAixuzZ9Lx536Pmzxbz2lU0LmrqaSuE6Gz21isSQjxdqp5yPe4aO5Zqv1L1aYUQB4QQf9b3tTQElmy/hnheqYpKxmC55v8gAfxcaqzTSUr5X/P+f0rtr3AMdmkbYjI+XWhDTJN4N5rb8DNgOZALtAeCLqnLSwixBGiKaXw2oyZjsCsRC/aBncRFL+0IIUS2MAU8b/RY+Hf8pLmOQ0KIP4QQTuXJbExYuP2eMLdddHXuP6vFQBJCxGPyekivqqy3t7ds166dVfRQKBQKhULR8ISFhaVLKX0aWg9FWdQYTKFQKBSKxk1YWNg5TEbpSZjiqn0AIITojmlpal+gGFgLTJdSxlVUl5311a2adu3asX+/TRj9FYo6czarEG83B+y0jSrEmEKhUNQJIcSphtahsSCEaAP8Avhi8lD7Vko5VwjRFFiIaTlMPHCrlDKzsrrUGKzuGIwSo5TYX6H/+7lFetwcbeKRQKFQKBRWQAhxUkq5Twgx4ZJDXYA9Usp8c7ktwM2YQq+UizX/6SSwXggRJoR4yIpyFAqbIStfx4gPNvPFpuMNrYpCoVAoGi96YLaUsiumGFmPCCG6Yoqvt1FKGQRsNH9WWJlXVh7i2g+3kJ5b1NCq1AgpJW/+eZjg/67jtZWHyCnUNbRKCoVCoahfDgFDhBDNhBAumGKItqnsBGsakAZLUwaA8ZgGNkNLHxRCPCRMWXL2p6WllV+DQnGFsS0ujQKdgSXhZ7DW8lCFQqFQXN3Ud6w9RcVkF+pYGpbA6XP5PPp7OHqDsaFVqhYGo+SFZVF8v/0kvf2b8MvuU4z+aCvros82tGoKhaIyhg83bQqFBZBSHsEUa3Y9puVrEZgyO1aI1QxI5gBwJcFZl2NaV1f6+LdSyj5Syj4+PiokgqJxsDnGZAw9c66A8NOVrhpQKBQKhaLOCCHaAT0xZezzlVImmw+dxbTErbxz1CSehfjrYDJFeiP3DGzH7hPneHft0YZWqUp0BiNPLoxgwb4zPDYykMXTB7B85iC8XOx5eH4YD8/fz9mswoZWU6FQKBT1gJTyByllbynlUCATU7bhCrGKAUkI4SqEcC95D4zB5B6lUDRajEbJ5pg0RnTywclew/IDiQ2tkkKhUCgaMUIIN2ApMEtKmV36mDS5wZbrCqsm8SzH0rAEAnxcee2GrvxnQFu+23aS1ZEWSQBpFQp1Bmb8Gs6qyCSeG9eZ2WM6IYQgtI0Xqx8bzHPjOrM5Jo1RH21h/q54jEblTa1QKBSNGSFEc/OrP6b4R79XVt5aHki+wHYhRCSwF/hLSrnWSrIUCpvgcHI26blFXN+jFaO7tuCvg8kU668MV3aFQqFQXFkIIewxGY9+k1IuM+9OEUK0NB9vCaQ2lH5XA/Hpeew/lcnk3m0QQvDShK70aduEZ5cc5OjZ7KorqGfyivTc//M+NhxJ4X8TuzFjeECZ4/ZaDTOGB7D+yaGEtvHilZXRTP56JzFncxpIY4VCoVBYCDshRALwFPCyECJBCOFhPrZUCHEYWA08IqU8X1lFVjEgSSlPSClDzFs3KeVb1pCjUNgSm2NM4/ShHX2YFNqKzHwdW4+ppQEKhUKhsCxCCAH8AByRUn5U6tAq4D/m9/8BVta3blcTS8MT0Ai4qacfAA52Gr68sxfuTnY8PD+MrALbCUqdVaDj7nl72XU8gw+nhDBtQLsKy7Zt5sr8+/vy0a0hnEzPY8Kn2/hgXQyFukrDYigUCoXCdtFLKVtLKT2klF7m99kAUsohUsquZtvNxqoqujLzjSoUNsjmmDSC/TzxcXdkaEcfmrjYsyJCLWOzCVTAQYVC0bgYBEwDRgohIszbdcAcYLQQIhYYZf6ssAJGo2RZeCKDAr1p4el0YX9zDye+uqsXSecLmLXggE0sAcvILeKO73ZzMOE8X9zRi1t6t67yHCEEN/dqzcbZw7kxtBWfb4pj/Nxt7DyeXg8aKxQKhcJWUQYkhcICZOXrCD+dyfBOplgS9loN1/doxT+HUxokLa7RKNl1PENlglMoFIpGiJRyu5RSSCl7SClDzdvfUsoMKeW1UsogKeUoKeW5hta1sbL7ZAaJ5wuYXI4xpnfbprx6fVc2xaQxd2NsA2h3kbNZhUz9djdxqbl8d3cfxge3rNH5TV0d+OjWUH69vx8Go+SO7/bw1MIITqbnWUljhUKhMPHXwWReWXGIH3ecZFtsGknnC9SzjQ1g19AKKBSNgW1xaRglFwxIAJN6tmL+7lOsi04pd4BpTVZEJPLUokjm3hbKxFC/epWtUCgUCkVjZ2lYIu6Odozp2qLc43f1b0tkQhZzN8YS7OfJqK7lJsSzKmfO5XPH97vJzNPxy3196dehWa3rGhzkzbpZQ/n031h+2H6SFRGJXBfckhnDA+jWytOCWisUCgUU6Q28vCKKrAIdpR05XRy0BPi4EdjcjQAf1wvv2zZzxcFO+cbUB8qApFBYgM0xaXg62xPapsmFfb38m9CmqTMrDiTWuwGpJAPcV5uPc2NIK0zhMhQKhUKhUNSVvCI9aw4lc2NIK5wdtOWWEULw5qTuHD2bzZMLI1j12GDae7vWm45xqTnc+f0eCnVGfnugHyFtvOpcp7ODlufGdebeQe2Ytz2eX3ef4s+DyYzo5MPMEYFc066pBTRXKBQKWBedQma+yfjdpaUHcam5HE/LvfC650RGmYzXWo2gbVMXnhrTket7tGpAzRs/yoCkUNQRo1GyOSaNoR190GouGmqEEEwK9eOLTXGkZBfi6+FUSS2WIzW7kB1x6XTydefo2Rz+PZrKtV3qf+ZToVAoFIrGyJpDZ8kvNlQZS8jJXsvXd/Xmhs+28/D8/SyfOQhXR+sPvQ8lZnH3vL1ohGDhw/3p3MKj6pNqQHN3J54f35kZwwOYvyueeTvimfL1Lvq2a8qMEQEM7+ijJq4UCkWd+GPPaVo3cWZwoDcajcDH3ZEBAWW9KPOK9JxIy+N4msmotC76LC8si2JAh2Y0c3NsIM0bP8rPS6GoI4eTs0nPLWJ4R5/Ljk0M9cMoYXVkUr3psyoyCaOEubeH0rqJM59vilPrhRUKhUKhsBBLwxJo28yFPm2bVFm2dRMXPru9F3GpuTy79KBV/4+llCwJS+D273bjZKdhkRWMR6XxdLbn0ZFB7HhuJK/d0JWEzHzu/XEfEz7dzp8HkzDYQADx0hxKzOKGz7azM04FAlcobJn49Dx2ncjgtmvaoNFUbIx2dbQjuLUnk3r6MXtMJ764oxf5xQY++udYPWp79aEMSApFHdkckwrA0HIMSIHN3Qj286zXbGwrI5Lo7udB5xYeTB8WwIHT59l9QsVRVSgUCoWiriRk5rPrRAa39GpdbS+bwUHePDuuM38dTOa7bSesold8eh53fr+HpxdH0tHXnUXTB9DBx80qsi7F2UHLvYPas/mZEbw3uQeFegOP/n6AUR9tYcHe02QX6sgv1ld7swbn8op5eH4YUYlZPDQ/jEOJWVaRo1Ao6s6CfWfQagRT+rSp0XlBvu5M69+WP/ae5khytpW0U6glbApFHdkck0awnyc+7uW7Sk7q6cf//jxMXGoOgc3drapLXGouUYlZvDyhCwCTe7dm7sZYvtwcd5nbp0KhUCgUipqxLNw0IXRTz5olqHh4aAcOJpxnzpqjdGvlyaBAb4voozMY+XbrCT7dGIuDVsObk7pzR1//SmftrYWDnYZb+7Thll6tWRd9li83x/H8siieXxZVo3omBLdk7m2h2GktM8+tNxh57I9w0nKL+HZab15ffZh7ftzH0hkDaNus/uJSKRSKqtEZjCwJS2BEp+a1Cv8xa1QQKyISeWP1YX5/sJ9aTmsFlAFJoagDWfk6wk9n8siIwArL3BDSkrf+OsyKA0k8PbaTVfVZGZGIRsCNIabgcU72Wh4c0p63/z5K5JnzFgmiqVAoFArF1YiUkmXhCfTv0JQ2TV1qdK4QgvcmhxCbksujv4ez6tHBNa7jUsJPZ/LisiiOns1hfPcW/PfGbvUWb7EytBrBdcEtGd+9BTviMohOqr63T3JWIT/tjMfdyY53bg62yMPf++tj2BGXwXuTezCmWws6+Lgx+eud3D1vL0umD6xwAlChUNQ/G4+kkJ5bxO19a+Z9VIKXiwNPjurIa6uiWRedwrju5WfKVNQeZUBSKOrAtrg0jBKGd7p8+VoJzd2dGBTozYqIRGaP6Wg1S7iUkhURiQwM8KZ5qQHkHf3a8sWm43y5OY5vpvWximyFQqFQKBo7Yacyic/I59GRQbU6383Rjm+m9Wbi5zsY+eFmBgZ4M7ZbC0Z39a2RESOnUMcH62L4ZfcpWng48d3dfRjd1faSZQghGBzkzeCgmnlbuTna8fmmOJq7O/LUmLpNvP11MJlvtpzgzn7+3GpeDhPY3I1591zDHd/t5t6f9rLgoQG41UNwc4VCUTV/7D1DS08nhpUTGqS63NnPn9/2nOLtv48worMPjnblZ8tU1A4VA0mhqAObjqbh6WxPaJvKA2lOCvUjIbOAsFOZVtMl/HQmZ84VMOkSt3o3Rzv+M7Ad66JTiE3JsZp8hUKhUCgaM0vDE3Bx0DK+DjPaHXzcWDZzIPcOak98Rh4vLo+i79sbmPzVTr7beoJTGXmVnr8++iyjP9rKL7tP8Z8B7fjnqWE2aTyqC7PHdGRqnzZ8+m8c83fF17qe2JQcnlkSSU9/L167oVuZY738m/Dlnb04kpzD9PlhFOuNdVNaoVDUmTPn8tkam8aUPm3qtITVTqvhleu7cvpcPvO2x1tOQQWgDEgKRa0xGiVbjqUxtKMP2ipiDYzt3gIne41Vg2mvOJCEo52Gsd0uH0jeO7AdLg5avtp83GryFQqFQqForBTqDPwZmcy47i1wraO3SpCvOy9e14XNTw9n7awhzLq2I/nFBt76+wjD3t/MuE+28tE/x4hOyrqQte1sViHT54fx0PwwvFzsWTZjIP+9sVuj9JwRQvDWTd0Z1cWXV1dF83dUco3ryC7U8dD8MFwc7Pjqzt442F3+yDOysy9zbg5me1w6Ty+OxGhjWeMUiquNxfvPAHBrn9Z1rmtIkA+jujTn839jSc0prHN9iosoA5JCUUsOJ2eTnlvE8Gq4WLo52jG6awv+PJhslVkuncHInweTGN3VF3cn+8uON3F14I6+/qyMTOLMuXyLy1coFAqFojGzLvosOUV6Jveq+4NNCUIIOrfw4IlRQfz9xBC2PTuClyd0wcPJns/+jWXCp9sZ8t4mnl0SyeiPtrApJpXnxnVm9WOD6elfuefzlY6dVsNnt/ekl38TZi2IYNfxjGqfazRKnloYyZlz+Xx5Zy9aeFYcF2pKnzY8N64zqyKTePOvIxcMdgqFon7RG4ws2p/A0CAfWjepW3y4El6a0JVig5EP1sVYpD6FCWVAUihqyeaYVACGVnON7qTQVpzP17H1WJrFddl6LI3MfB2TQivOCvPAkA5oheCbrcoLSaFQKBSKmrA0PBE/L2f6d7BeRtM2TV14YEgHFk0fwL6XRjHn5mCCmruxIiKJUH8v1j85lBnDA7C3UHYyW8fZQcsP/+lD22YuPPTLfg4nVS8t9+eb4thwJIWXJ3Shb/umVZafPqwD9w5qx7wdJ/lm64m6qq1QKGrBlmNpnM0u5Pa+/hars723K/cMbMfisASiEqofzF9ROVfHP5BCYQU2x6QR7OdZ7cCXQzv60MTFnuVWWMa2/EAiTVzsKzVmtfB04pberVm0P4HUbOXKqVAoFApFdTibVcj22DRu7uWHpool65bC282R2/r68+O9fTn6xjjm39/vqkw57+XiwM/39cXNyY7//Li3Si/qTUdT+XjDMW7q6cd/BrarlgwhBK9M6MoNIa2Ys+YoS8ISLKC5QqGoCX/sPYO3myPXdmlu0XofuzaIpi4OvL46WnkYWghlQFIoakFWvo7w05mVZl+7FHuthut7tGLD4RRyCnUW0yW3SM+GIylM6NGy3DX+pZk+rAN6g5Eftp+0mHyFQqFQKBozyw8kYpRwswWXr9WE+jJa2SqtvJz55b6+FOuN3D1vLxm5ReWWi0/P44kFB+jSwoO3bwquUdZbjUbwwZQeDA705rmlB9l0NNVS6isUiio4m1XIpphUpvRpbXEPSw8ne54e24n9pzL582DN46kpLkcZkBSKWrAtLg2jpEYGJIBJPf0o0htZe+isxXRZd+gshTojN/WsePlaCW2buXJDSCt+3X2K8/nFFtNBoVAoFIrGiJSSpeEJ9G7bhPbeV58HkK0Q5OvOvHv6kJxVwH0/7SOvSF/meH6xnum/hiGE4JtpvXF2qHnabkc7LV9P602Xlu7M/C2cA6etlzlXoVBcZPH+MxiMktuuaWOV+m/t04YuLT2Ys+YohTqDVWRcTTRqA9Ku4xk8o7IqKKzApqNpeLnYE9qmZkEse/l74d/UhZURSRbTZUVEIm2aOtOrmgE1ZwwPIK/YwM87T1lMB0XVGIySr7cc50RabkOrUm2y8nV8uD6GsFNqEH01kHi+gEd+C1fZShSKUhxMyCIuNZfJvRvG+0hxkd5tm/L57b04lJTNjN/CLyQlkVLy3NIoYlJy+PT2nrRpWvsAvG6Odvx4T1+aezhy30/7OH4F/WcrFFciRqNk4f4zDAxoZrVlulqN4LUbupJ4voBvVZyzOtOoDUhxabksDkvgx53xDa2KohFhNEq2HEtjSJAP2hq6lQshmBjaih3H00mxQByi1OxCdsSlMynUr9qu2p1beDCqiy8/7jx52Qyewnp8uSmOOWuO8uAv+ykotv3Zj51x6Yybu5XP/o1jytc7+WBdDDqD5TMIKmwDg1Hy5IIIthxLo7BYfc8K2+ZURh7TftjD/F3xVp8kXBqegKOdhgk9WlpVjqJ6jOrqy9s3dWfrsTSeW3oQo1Hyw/aTrI5M4ukxnRhWzcQmleHj7sgv9/VFqxHc/UPVcZcUitpyLCWH2YsimfzVTp5dEsm3W4+z8UgKpzLyMFwlDhDb49JJyCywaPDs8ujfoRnXBbfgq83HSc4qsKqsxk6jNiDd1c+fUV18eXfN0WpnblAoquJwcjbpuUUMr+UgZWKoH1LC6si6eyGtikzCKE111oSZIwI4n6/jj72n66yDomrCT2fyycZYevp7cSI9j//9dbihVaqQQp2BN/88zB3f78HZXsvvD/Tj5l6t+XxTHLd8tVPNxjZSvtocx974c7wxsRv+zSyTPlehsAbHUnKY8vUudh3P4JWV0Uz+eicxZ3OsIqtIb2BVZBJjurXAw8neKjIUNWfqNf48M7YTyw8kMuO3MN5Zc5Sx3XyZOTzAYjLaNnPlp3v7klesZ/LXO4lLtc49prg6OXA6kwd/2c+Yj7ey5pApLs+/R1N5+++j3P/zfoa9v5kur65l3CdbeeS3cD765xgrIxKJTsqiQGPXwNpblgX7TtPExZ4x3XytLuuF8V0wSMm7a45aXVZjpnHdgZcghODdW4IZN3cbTyw4wOrHBuNkX/M10QpFaTbHmAIrVpbxrDICm7sR7OfJ8gOJPDCkQ510WRmRRHc/DwKbu9XovF7+TRgY0Ixvt55g2oC2ONqp34W1yCnUMWtBBC08nPj5vr588W8c32w9wbCOPozt1qKh1SvDkeRsnlwYwdGzOdzV358Xr+uCi4MdAwO9ubZzc15YHsWET7fx0nVduKt/2xoFKFXYLgdOZ/LxhlhuDGlVrVhqCkVDEZWQxd3z9mCv1fD3E0OITsrif38eYcKn25g+LIBHRwZadJz375FUzufr1PI1G2Tm8ABSswv5edcpAnxc+WBKiMX/k7r7ebLgof7c9f1ebv1mN7/c15fufp4WlaG4epBSsiMugy83x7HzeAaezvY8cW0Q9wxsRxNXBwDO5xdzPC2XuNRcjqflEZeay6GkLNYcSqbEIUlcM4vbUg/yllFe8QH203OL+OdwCv8Z0K5enkXaNHXhwSHt+WLTce4e2K7a4T8UZWnUHkgAzdwc+ejWEGJTc3nrryMNrY6iEbA5Jo1gP0983B1rXceknn5EJ2UTm1L7Ga241FyiErOYVEPvoxJmDg8kNaeIpWGJtdZBUTWvrYomITOfubeF4uFkz+wxneju58HzSw9aZBmjJTAaJd9tPcHEz3eQnlvMj/dcw5uTgnFxuDjHMD64JetmDaVv+2a8sjKae3/ap2LlNAJyi/Q8YTZwvnlTd2UUVNgs++LPccd3u3FxsGPx9AF09HXnpp6t2fDUMCaG+vH5pjjGz93GzuPpFpO5NDwBXw9HBgd6W6xOhWUQQvDqDd3436Tu/HRvX9yt5CHWuYUHi6cPwMlOw+3f7VYxARU1xmiUrD10lolf7OCuH/YQl5rLS9d1YcfzI3lydMcLxiMALxcHerdtytRrTJN48+65hi3PjODwG+NYO2sIX9zRi6mpB/nDN4Q5a698L5qlYQnoDJLb+loneHZ5zBweSHN3R15ffVjFSa4ljd6ABDAkyIcHBrdn/u5TbDic0tDqKK5gsvJ1hJ/OrHH2tUu5IaQlGmEKgF1bVkYkohFwY0irWp0/KLAZIa09+XrLcfQqto1VWBWZxLLwRB4dGUSfdk0BcLDTMPe2nhTqjDy1KKLB/7ySzhdw5/d7eOvvIwzv5MO6WUMY0bl5uWV9PZz4+d5reP3Gbuw6nsHYj7daNKOgov55bWVZA6dCYYtsi03j7h/24uPhyJIZA8oEWm3q6sCHt4bw2wP9MErJHd/t4ZnFkWTm1S3TaHpuEZtj0pjU06/G8Q4V9YNWI5jWv22dgmZXh/beriyeMZBmrg5M+2EPO+MsZ6RUNF50BiNLwhIY88lWpv8aRlaBjnduDmbbcyN4cGgH3ByrvxDIyV5L5xYeTOjRkndOrufus+F8u/UE313BAaGllCzYd4Zr2jUhsLl7vcl1dbTj2XGdiTxzvk7PYVczV4UBCeCZcZ3o0tKDZ5ceJNVGZv0VVx5bY9MwShjeqfwH7OrS3N2JQYHerIxIQsqaGxCklKyISGRQoDfNPZxqpYMQgpkjAjl9Lp+/opJrVYeiYhIy83lpeRQ9/b14fGRgmWMBPm68ekNXdsRl8MP2kw2kockIOfaTrRxMOM97t/Tgm2m9aeZWuWedEIL/DGzHX48Pxq+JM9N/DePZJZHkqoDsVxyrI5NYGp5QxsCpUFiKQ4lZpOUU1bme9dFnuf+n/bTzdmXRwwNo6elcbrlBgd6smzWUmcMDWH4gkVEfbWFlRGKt/mPBtERcb5RM7qWWrynAz8uZRQ8PoE0TF+75aR8bj6gJaUX5FOoM/LwznuHvb+bpxZHYaQSf3t6TjU8N4/a+/nVeqiWA1+L/ZUJwS976+wjLDyRYRnEzZ87l17rfrAm7T5zjZHqe1YNnl8fNPf0Iae3Ju2uPqoRCteCqMSA52mn59LZQ8or0zF4c2eCz/oork80xaXi52MlqUaYAACAASURBVBPaxqvOdU0K9SMhs6BW7tDhpzM5c66gxsGzL2V0F1+Cmrvx5abj6jdhQQxGyVMLI5ES5k7tiZ328q72tmvaMLabL++tO8qhxKx61S8rX8djfxzgiQURdPR1Z80TQ7n1mjY1Wr4U2NydZTMG8ciIAJaEJXDd3G2EnTpnRa0VliQhM58XKzBwKhR1RUrJ04sjGfzuv7y68lCts1itjEhkxm/hdG3lwYIH++NdhYHbyV7Ls+M6s/qxwbRp6sITCyK4e95eTmfUXP6SsARCWnsS5Ft/M+MK26a5hxMLHupP5xbuPDw/zCLJUBSNi53H0xk/dxuvrYqmhacT8+7pw5onhnBjSKtyx4K1RYvko6khDOjQjGcWH2TLsbQ611mkN/DCsiiGvLeJR34Pt/rE4IJ9p/FwsuO64PrPcKnRmJbApmQXcd9P+ywy2XE1cdUYkACCfN15+fqubItNZ96O+pn1L9QZeG/tUd5be5RCne2n7lZUjNEo2XIsjSFBPhZxZx/bvQVO9hq+3XqCIn3N7o0VB5Jwstcwto4ZCzQawcwRAcSk5DB/96l6mXGoiN0nMnjk93AOJpxvMB0sxZebqs5oJYRgzs09aOrqwBMLDlBQXD/9w864dMbN3cqaqGSeHtORhQ/1r3XWLQc7Dc+M7cyihwcgkUz5ehcfrItB1wiXRBqNkp92nOSFZQc5V8elMQ1NdQycCkVdEELw5Z29mBTqxx97TzP8g808tTCiRnH/ft9zmlkLI7imXRN+faAfni7VX2LZpaUHS2cM5PUbu3Hg9HnGfLKFuRtiWRWZVK3t553xHEnO5hYVPFtxCU1cHfjtgX708m/C4wsOsHCfymargMy8Yp5ZHMkd3+3BKCW/3NeXJdMHMLKzr9ViCzraafnm7t4E+boz49cwIs/UfvycnFXArd/s5o+9pxnVxZe1h85y0xc7OGGlzLvn84tZc+gsN/X0a7AEV73bNuHjqSFEnDnPDZ9t58BpFd+suoiGfGAsoU+fPnL//v31IktKyYO/hLH1WBorHhlE11YeVpMVnZTFrAURxKaafnwdfd34ZGpPq8pUWI9DiVlc/9l2PpwSYrFB5dwNsXy84RidW7jzyW2hdG5R9b2hMxjp+9YGBgV68/kdveqsg95gZNoPe9l1IoMJPVry1qTueLk4VH2ihSjSG/ho/TG+3WZax60Vglmjgpg+LMByD7bDh5teN2+2TH2VEH46kylf72JCcEvm3hZa5cBhR1w6d/2wh9v7+vP2TcFW06tQZ+D9dTH8sP0kHXxc+WRqKD1a192TroScQh1vrD7M4rAEgv08+XhqaI2zA9oqyVkFPL04kh1xGQgB3m6OvDe5ByPquJS1ofhsYywf/nOMj24N4eZ6XJ4jhAiTUvapN4GKamHtMVhyVgHfbT3JH3tPU6AzMKarL4+MCCSkEk/e77ed4M2/jjCikw9f3dW7Tg8YyVkFvLoymn9qGAPTxUHLjudGlglwq1CUUFBs4OFfTc8Tr17flfsGt29olRQNgJSSVZFJvLH6MFkFOh4a2oHHrw2yrlHkkjFtanYhN3+1k/xiA0umD6CDT83GXrtPZPDo7+EUFBv4YEoI44NbsiMunUd/D0dvkHw0NZTRXes2YX0p87af5I0/D7PmiSF0admwz8WHErOY/msYqdlFvD6xW4MsqasPLDkGu+oMSAAZuUWMm7sNL2d7Vj822OI/coNR8t22E3y4PoYmLg68PyUEKSXPLDnI+fxiZo/pxINDOqigjFcYn/8bywfrj7HvpVF1ysB2KRuPpPDc0oNkF+h5dlwn7hvUvtK0nBuPpHD/z/v54T99uLaLZTp0g1Hy9ZbjfPzPMbzdHPlgSgiDg6yfdSbmbA6zFkZwJDmbO/r589jIQN7++yirI5NMMwO3htbaO6YM9WRAyinUMeHT7RiMkjWzhlQ7KPE7fx/hm60n+GZab8Z2a2FxvY4kZzNrQQQxKTncPaAtL4zvgrODdQY3aw8l88KyKAp0Bl68rgvT+re9ojN7rY5M4qXlUegMkldv6EpIay+eXGhqy2n92/LiddZrS2tQUwOnJVEGJNukvsZg5/KK+WnHSX7aGU92oZ5Bgc14ZHggAwKaXbgPpZTM3RjLJxtimRDcko+nhuJgZ5mJhDPn8inSV9870svFvsolc4qrmyK9gcf/OMC66BRmj+7IoyMDr+j/O0XNOJ2Rz0srotgWm05oGy/euTm4fowh5YxpT6bnMfmrnTg7aFk2Y2C14qNKKflxRzxv/X2Ets1c+HZa7zLBrBMy85nxazhRiVk8PjKQWaM6Vvp8Ul2klIz9ZCvODnasfGRQneuzBJl5xTy+4ADbYtO57Zo2vD6xW51jVdUEKSW7jmcQk5LDvYOsY4xWBiQLsC02jWk/7GVa/7b8b1J3i9WbkJnPU4si2XvyHOO7t+Dtm4IvzF6dyyvmxWVRrI0+S9/2Tfno1hBaN7Fu5giF5Zj81U6K9EZWPzbY4nWn5xbx/NIoNhxJYWBAMz6YEkIrr/IDhT76ezg74tLZ+9Io7C289ORQYhazFkYQl5rLvYPa8dy4zlaZRTEaJfN2nOS9dTF4ONkx5+YejCo1u7EyIpGXVxzCaJS8dkM3pvRpXbdBWT0ZkJ5aFMGKA4ksenhAjYISF+uN3PzVDhIzC1g7ayi+tQyMfilGo+T77Sf4YN0xPF3seX9yjzoHgK8OqdmFPLPEtCZ/WEcf3p/co9bB3huKrAIdr608xIqIJELbePHx1FDae5syPxXqDHywLobvreTNZS1qa+C0FMqAZJvU9xgst0jP73tO8d22k6TlFBHSxouZwwMY1cWXOWuO8N22k0zp3Zo5t/RQE20Km0dvMPLskoMsO5DIw8M68Py4zsqI1MjRG4z8sP0kH284hlYInh3Xmbv6t62//qqCMe3BhPPc9u1u2jZzZeHD/Sv9jy8oNvD8soOsjEhidFdfPro1BPdyyhfqDLy84hBLwhIY0cmHT6b2rNFy4vIIO3WOW77axbu3BDP1Gtvx9jEYJR+uj+HLzccJaePF13f1qjBpg6UwGiUbjqTw5ebjRJw5j5+XM/8+PcwqxitlQLIQb/55mO+3n+T7u/uUeXitDVJKlh9I5LWV0Ujgvzd245Zefpf9iUgpWRKWwOurDyOA1yd246ael5dT2BZZ+Tp6/m89j44I5KkxnawiQ0rJwn1neOPPw9hpBG/eFMyNIa3KlMkp1NHnzQ3c2qeNRQ2fpSnUGZiz5ig/7YwnqLkbn9wWSrdWnharv/RyoFFdmjPnlh7lzvImni9g9qIIdp84x5iuvrxzc3CVGcIqpB4MSKsik3j8jwM8fm0QT43uWOPzj6flcv2n2+nV1ov59/Wr8yxP6fYb282Xd8zxluoLKSW/7j7Fm38dwcVByzs392Bcd8t7V1mDXcczmL0ogpScIh4bGcijIwLLXU65My6d2YsjScsp4olrg5gx3ILLLq1AbQ2clkIZkGyThhqDFeoMLA1P4OstxzlzrgBvN0fSc4u4Z2A7Xr2+q0VmuhWK+sBolLyy8hC/7TnNxNBWTOvfll7+TdQ93Ag5mHCe55dGcTg5m1FdfHljYrcKJ3ytRiVj2q3H0rjvp330adeEn+7tW+4k8OmMfB6av5+YlBxmj+7IzOGBld6rUkp+3XOaN1ZH09LTmW+m9a6Tp9XTiyNZE5XM3pdG4epoV+t6rMXaQ8nMXhSJk72Wz+/oxYCAZhaXoTcYWX0wia82H+dYSi5tmjrz8NAAJvdubbXlj1eEAUkIMQ6YC2iB76WUcyoq21CDlyK9gZu+2MnZ7ELWPjGk1jPk5/OLeWn5If6KSqZP2yZ8PDWUNk0r9yw6cy6fJxdGsP9UpikN4031G3dGUTNWRybx2B8HWDpjIL3bNrGqrPj0PJ5cFMGB0+eZGNqKNyZ2x9PZZO1fEpbA04sjWTpjAL3bWvcBcMuxNJ5ZHEmmBZddropM4uXlUeiNkleu78ptVWT+MholP2w/yfvrYvBwNnnQjOhcCw8aKxuQEjLzGT93G0HN3Vj08IBaGxH+2HuaF5ZF8eJ1nXloaECt6pBSsjIiiVdWmj24buzGlN519OCqA3GpuTy5MIKoxCym9G7Nazd2w80GBwxg+k/4cP0xvtt2grZNXfh4aig9/Sv/vWfl63hl5SFWRSbRy9/kqdS2mWs9aVx96mrgtATKgFQ/1GT8BQ03BitBbzDyV1QyP+6IZ3gnH564NkhNqimuOKSUfLj+GN9sPY7OIPF2c2R0V1/GdvNlYIC3xZZiKhqGvCI9H64/xk87T+Lt5sgbE7sxtluLhumrqhjTrjiQyKyFEVwX3ILPbu9VZuy+KSaVJ/44gBCCubeF1sgrPezUOWb8Gk5OoZ45twTXKhN0dqGOvm9t4KaerXnnZuvF/awrcak5PDQ/jFMZ+bwwvjP3D25vke+6UGdgcVgC3241TZx09HVj5vBAru/R0uoTkDZvQBJCaIFjwGggAdgH3C6lPFxe+YYcvMSl5nD9Z9u5pl1Tfr63b41nC7bFpvH04kgycot5cnRHpg8LqPZDdum4M83cHPhwSmi9xJ1R1JzZiyLZeDSFsJdH14uLqt5g5MvNx5m7MRZfd0c+uDWEgQHeTPthD/EZeWx9ZkS9/Gll5hXz0ooo/o6q27LLS5cDfTI1lHbe1X/ILh3Dp1ZxZ6xoQNIbjNz+3W6OJOew5okhVRqPK0NKyfRfw/j3aCrLZw6iu1/NPL+y8nW8tCKKPw+ajNkfWSqGVB0p1hv5dGMsX26Ow6+JMx/fGtogHjCVEXM2hycWHODo2Rzu6OfPyxO64OJQfUOXxZddWhBLGTjrijIgWZ+ajr+g4Q1ICkVjIrtQx6ajqayPTmFTTCr5xQbcHe0Y0bk5Y7u1YHgnH5v0ulBcxGiUJJ4vIC4tl+OpuRxPy2VzTBrJWYXc1d+fZ8d1rvcl4GWoxpi2JBHB3QPa8vqN3ZASvtgUx0cbjtG5hQff3NW7VuPD1JxCHvktnH3xmdw/uD3Pj+9caTiNYr2RUxl5xJnbcc/Jc2yLTWfVo4Nsful/TqGO2YsiWX84hRtDWjHnluAajQsvreu3Paf5fttJ0nOLCG3jxSMjArm2c/N681S8EgxIA4D/SinHmj+/ACClfKe88g09ePl19yleXnGIlyd04YEhHap1TqHOwLtrj/LjjngCm7vxydTQGj/slVBfcWcUtcNolPR9eyMDAprx2e0961V25JnzPLkwgpMZedzZz5/f95zmkRGBzLbSMrrykFKyLDyR11ZF12rZZenlQI+PDOKREbVb5lOnuDNWNCB9ujGWj/45xsdTQ7ipZ90zWmXmFTN+7jZcHLX8+djgav9Z7YhL52nzcqqaGrPri/3x53hyUQSJmQXMHB7IE6OCLB7Hq6ZUFY+rJlh02aWFsKSBs64oA5L1qen4Cxp+DKZQNFYKdQZ2xKWzLvosG46kci6vGAc7DUMCvRnbrQWjuvrW69JyRVkKdQZOpl80bphe8ziRllsm4H5TVwe6tHTnyVEdbWPyq5pj2rf/PsK3W0/wyIgAjqXk8s/hFCaGtmLOzT3qlPyjWG/k7b+P8NPOePq1b8oXd/bCwU5jaj9zG8al5nIiLZdT5/IxGC/aGlp5OjG2ewtevb6rzUyyVYbRKPlqy3E+WB9DJ193vpnWu0Ze5hm5Rfy0M56fzckjhgR5M2N4AAM6NKv3678SDEiTgXFSygfMn6cB/aSUj5ZXvqEHL1JKHpofxqajqbTwrN4ytrwiPZn5Ou4Z2I7nx9fd4FM67kwTF3s1O2FDGI2SpKxCPpwSwi296y/ldQn5xXre+usIv+05DcCGp4Y1SHr0M+fyeWpRBPviM2np6VQt44SUkJRVQLtmrnw8NZTQStI2V5eSuDOpOUW0rObvleRk02vLlnWWfylJ5wu4IaQVc2+znHFxZ1w6d/6wh2auDtXqW6Q0GS86+Lgyd2pPgltbLmaVpckt0vP6qmgWhyXQzNWhwTOYFemNpOUUVRqPqyaUXnbpYKfBq47BJuuKzmAkJbvIYgbOuqAMSNanpuMvaPgxmEJxNaA3GNl/KpN10WdZH51C4vkCNAJaeTlzBTxHNzr0BsnZ7EJKHoOFgNZNnAn0cSPAx43A5m4ENDe9tzkjXzUNSEajZPbiSJYfSESrEbx0XRfuHdTOYoaLZeEJvLAsCimh2HDR4GavFbRr5mpqw5K29HGjg4/rFft8u+VYGo//cYBivRFv9+rfD6nZRRTpjYzt5svM4YGEWOA5qLY0CgOSEOIh4CEAf3//3qdOnbK4HjUhM6+YuRtjyS7UVau8RggmhrZiSJCPRfXYFpvGyogkjDYQ3FxxEVcHO54f37lBO77NMamcTM+zWnrH6mAwSn7ZFU9UYla1z2nt5cz04QG1dvssj6x8HV9uiSMtp6h6J6xbZ3odO9ZiOpTQxMWBJ0YFWdydefmBBLbFple7fJsmLkwfFtDgBpnqsj76LOuiU5A0fF83MMC73KQHdeFIcja/7IqvUdpwaxHs59mg/UYJyoBkfaprQLK1MZhCcTUhpSQ6KZv10WdJyCxoaHWuSoQQJoNRKePGFbP6owZe9TqDkc//jWNQoDd921vee+pQYhaL95+hhWdJW7ri39TFphOK1JbTGfl8vfU4hcWGap/j4WzPnf38CfJ1t6Jm1eNKMCBdUUvYFApFI6cesrApFIrKUQYk66OWsCkUCkUjR41pFbXAkmMwa7lT7AOChBDtgUTgNuAOK8lSKBSKylF/sgqF4upAjb8UCoWiMaPGtIoGxioGJCmlXgjxKLAOUxrZeVLKaGvIUigUCoVCoVCo8ZdCoVAoFArrYpUlbDVWQog04DxQ3cAqnlYqa826baGsrehhTZ39gdNWqFe1s+2VtRU9lM62V9ZW9LgSda5JH1rTurtJKZ1rULeiHjCPwaobBMma97S1y9uSLrZWvqZ1W7OfsLXytqSLtcvbki62Vt6WdLG18raki7XL25IuULO+uK2U0jLBm6WUNrEB3zZ0WVvRQ11fnepOuwJ1bvCy9a0HsAeIuGQLtmWdr8R2VjpfOWVtRY+a9KHWrltttrdZ8562dnlb0sXWyteibqv1E7ZW3pZ0Udeq2sYWy9uSLlfhtTbIuMqWcumttoGytqKHur7alz9vpXpVO1uwrJSyX3kFhRA2q7OFytqKHkpn2ytrK3rUpA+1dt0K28Oa97S1y9uSLrZWvqZ1W7OfsLXytqSLtcvbki62Vt6WdLG18raki7XL25Iu0EDjKptYwqZQWAohxH6psvwoFApFrbBmH6r6Z4WicaB+ywqFQtHwNFRfrKlvgQqFlfm2oRVQKBSKKxhr9qGqf1YoGgfqt6z4P3v3Hd5Wdf9x/H0kWd57ZNvOIiEQSGITVqChUKBAobRAKaPMpgPoorR0U7qAFvpjlELYAQIUKKtACJCEJJBpk5DlJM5wYmfYjke8rXF+f9wrWZLlLVke39fz+LF0dXV0LPvKVx+d8z1CiMiLyGuxjEASQgghhBBCCCGEEJ0a0COQlFLjlFJLlVJblVJblFI/NrenKaU+VErtNL+nRrqvA00nz90rSqkN5tdepdSGSPd1IFJKna+U2q6UKlZK3Wlue0optVEp9YVS6jWlVEKk+znQKKWeVkqVK6U2+2yT47UbOnju5HjtQkevdT63366U0kqpjEj1UQgxdMj5VWjJ+VZoyPlX6Mj5WOjIOdrQNKBHICmlRgGjtNaFSqlEoAD4OnA9UKW1vsf8Z5Oqtf5lBLs64HT03Gmtt/rscz9Qq7W+O1L9HIiUUlZgB/AVoBRYB3wbKNVaHzX3eQAo11rfE7GODkBKqTOBemCB1vp4c9t9yPHapWDPXcDtcrwG0dlrnVJqHPAkMBXI01pXRrKvQojBT86vQkfOt0JHzr9CR87HQkfO0YamAT0CSWt9UGtdaF6uA7YBY4BLgOfM3Z7DCJWEj06eOwCUUgq4AngpMj0c0GYDxVrr3VrrVuBl4BKfkxkFxAIDN32NEK31cqAqYLMcr93QwXMHyPHamS5e6/4J/AI5VoUQISLnVyEl51shIudfoSPnY6Ej52hD04AYgZSRkaFzc3Mj3Q0hhBBChElBQUGl1joz0v0YKpRSe4E6wAU4tdb5Sqk04BUgF9gLXKG1ru6sHTkHE0IIIYa2UJ6D2ULRSF/l5uayfv36kLf7yY4KXlhdwiNXzSTaZg15+0IIIYToHqVUSaT7MASdFTDs/07gY58pK3cCnU5ZCdc5mBBCCCEGhlCegw3oKWx9VVHXwodbD/PjlzbgdLkj3R0hhBBCiHAaMFNWnl65h0eXFbN2TxXNDlekuiFCYe5c40sIIcSwNyBGIIXLZXljOdrk4O7/beVX/93EfZedgDF1VQghhBBiUNPAYqWUBh7XWs8HRmitD5q3HwJGRKpzy3ZUsHxHBQBRVsVxo5PJy0klPyeVvJxUspJiItU1IYQQQvTSkA6QAG6cM56aJgcPfbyT5NgofnPhsRIiCSGEEGKwm6O1LlNKZQEfKqWKfG/UWmszXGpHKTUPmAeQnZ0dls4tuHE2VQ2tFJZUU7CvmoK91bywuoSnVu4BYFxaLHnZRpiUl5PGlJGJWC1yfiaEEEIMZEM+QAL46TmTOdrk4MmVe0iOjeK2sydHuktCCCGEEL2mtS4zv5crpd7AWNHqsFJqlNb6oLl8cnkH950PzAfIz88P22oqafF2zpk2gnOmGQOhWp1uthyopaCkmoKSaj7ddYQ3NxwAICHaxszsFGZlp5Kfm8qMcSkkxkSFq2tCCCGE6IVhESAppfj9RdM42uTg/g93kBwXxXdOzY10t4QQQoje8dQjWbYskr0QEaKUigcsWus68/K5wN3A28B1wD3m97ci18v27DYLM7NTmZmdys1ngNaa0uomb6C0vqSah5fsxK1BKZgyIpH83FRz6lsaY1NjZRS5EEIIEUHDIkACsFgU9152Akebnfz+rS0kxUTx9ZljIt0tIYQQQoieGgG8YYYpNmCh1nqRUmod8B+l1E1ACXBFBPvYJaUU49LiGJcW5z0nq2t2sGF/jTdUevPzA7yweh8AmYnR3hpKeTmpHDc6GbttSK8HI4QQQgwowyZAAoiyWnjkqpnc8Mw6bn91IwnRNu+waiGEEEKIwUBrvRs4Mcj2I8DZ/d+j0EmMieKMyZmcMTkTAJdbs/1QHQX7qiksqWZ9SRXvbz4EQLTNwoljU5hlFueelZNKWrw9kt0XQgghhrRhFSABxERZeeK6fK56YjW3LCzkuRtnc8qE9Eh3SwghhBBCBLBaFNNGJzFtdBLXnpIDQPnRZr9pb0+t3M1jnxilnCZkxHtHKOXnpjIhIwGLFOcWQgghQiJsAZJSai9QB7gAp9Y6P1yP1VMJ0TaevWE233p8FTc/t56F3z2ZE8amRLpbQgghhBCiC1lJMXx1+ii+On0UAM0OF5vKalm/1wiVPtp2mFcLSgFIjo3yBkqzso3i3LF2ayS7L4QQQgxa4R6BdJbWujLMj9ErafF2nr/pZL7578+47um1vPr9U5mUlRjpbgkhhBBCiB6IibJyUm4aJ+WmAUZx7j2VDawv8Ux7q2ZJkbEgnc0c0eQdpZSTxsjkmEh2XwghhBg0ht0UNl8jk2N48eaTueyxVVz7lBEijU2Ni3S3hBBCCCFELymlmJCZwITMBK7IHwdATWMrhfuqvVPfXlq7j2c+3QvAmJRYb6CUl5PK1JGJ2KxSnFsIIYQIFM4ASQOLlVIaeFxrPd/3RqXUPGAeQHZ2dhi70bncjHiev8mYznbNk2t49funkZkYHbH+CCGEEEKI0EqJs/PlqSP48lRj8RSHy822g0eNaW/7qlm7p4q3Nx4AIM5uZca4FG9h7pnZqSTHRkWy+0IIIcSAEM4AaY7WukwplQV8qJQq0lov99xoBkrzAfLz83UY+9GlY0cl8cwNJ3HNk2v5ztNreXneKXKiIIQQQggxREVZLZwwNoUTxqZwI+PRWnOgtpn1e6soLDFCpUeWFuPWoBQck5VIXm4qedlGce7stDiUkuLcQgghhpewBUha6zLze7lS6g1gNrC883tFTl5OGo9dm8fNz63jpmfX8fxNJ0uRRSGEEEKIYUApxZiUWMbMGMMlM8YA0NDiZOP+Gtab097e2XiAhWv2AZCRYGeWGSbl5aRy/Jhkom1y3iiEEGJoC0uApJSKByxa6zrz8rnA3eF4rFD60jGZPHjlTG5dWMj3Xyjgie/kY7fJHHghhBBCiOEmPtrGaZMyOG1SBgBut2ZneT0FJdWsLzFGKi3eehgAu9XC9LHJ3mlveTmpZCRISQQhhBBDS7hGII0A3jCH9tqAhVrrRWF6rJC6YPoo/vaN6fzy9U389D8beOjKmVgtMkRZCCGEEGI4s1gUU0YmMmVkIledbNTvrKhr8SvO/cyne3l8+W4ActPjmGWu9JaXk8rkrAQsck4phBBiEAtLgKS13g2cGI62+8O3TsqmtsnBX98rIinGxl8vnS7z3IUQQgghhJ/MxGjOO24k5x03EoBmh4stB2qN4twl1XyyvYL/FpYBkBhjM6a9mSOUThyXQnz0sF4QWQghxCAj/7U6MO/MidQ2OfjX0l0kx9q586tTI90lIYQQQggxgMVEWcnLSSMvJw0ArTUlRxrNaW/VFJZU88BHO9AarBbFsaMSyctOJS/XGKU0JiU2wj+BEEII0TEJkDrx83OnUNvk4LFPdpEcG8UP5k6MdJeEEEIIIcQgoZQiNyOe3Ix4vpk3FoDaJgef+0x7e7WglOdWlQAwKjnGnPZmjFI6dlQSUVapxymEEGJgkACpE0op7r74eI42Obl3URHJsVHeOe9CCCGEEEL0VHJsFHOnZDF3ShYATpebokN1fqOU3v3iIACxUVZOHJfsraM0KzuV5LioSHZfCCHEMCYBUhcsFsX98vM3MgAAIABJREFUV5xIfYuT37y5icQYG187cXSkuyWEEEIIIYYAm9XC8WOSOX5MMtedlgvAwdomI1DaW03hvmr+/ckuXG4NwOSsBPLMEUp5OamMz4iXWp1CCCH6hQRI3RBltfCvq2Zx3dNr+ekrG0iIsXGW+amREGJgqKxvISkmCrtNhvoLIYQY3EYlx3LRCbFcdILxoWVjq5ON+2sp3FfN+r1VvLfpIC+v2w9AWrydWdlGmJSfm8r0McnERFkj2X0hhBBDlARI3RRrt/Lk9flc9cRqvreggD9fejxX5I+LdLeEEMDrBaX86o1NTM5K4PFr8xibGhfpLgkhhBAhE2e3cerEdE6dmA6A263ZVVHvN+3to22HAYiyKo4fk0xethEozcpJJSsxJpLdF0IIMURIgNQDSTFRvHDTydyysJBfvPYFW8pq+e1F06S4oRAR4nC5+et723jm073MzE6h+HA9Fz/yKY9cNZPTJmZEuntCCCFEWFgsiskjEpk8IpErZxv1OY/Ut1C4r8Yszl3FgtUlPLlyDwDZaXF+096OGZGI1SLT3oQQQvSMBEg9lBJn57kbZnPvoiKeWLGHbYfqePTqWWQkREe6a0IMK1UNrdzyYiGrdh/hxtPH8+sLplJS1ci8Beu59qm1/PbCY7n+tFypCyGEEGJYSE+I5ivTRvCVaSMAaHW62XyglkKzltKKnZW88XkZAInRNmZkpxjT3nLSmJGdQkK0vC0QQgjROflP0Qs2q4XfXDiNaaOTuPP1TVz88Eoevzaf6WOTI901IYaFLQdqmbeggIr6Fu6//ETv0sgTMxN485bT+ekrG/njO1vZXHaUv1x6vNSCEEIIMezYbRZmZRsrt918BmitKa1uYn1JlbdA94Mf70RrsCiYOjLJW0dpVnYqY1Nj5UMYIYQQfiRA6oNLZ45lclYi8xas57LHPuPeb57A12eOiXS3hBjS3t54gF+8tpHUODuvff9UThib4nd7YkwU86/N48GPd/LgxzspLq/jsWvzGJUcG6EeCyGEEJGnlGJcWhzj0uK4dKbxwUtds4PPvdPeqvlvYSnPry4BYERSNHk5qcwamccJDYfIrGwgLd5OUoxNgiUhhBimlNY60n0gPz9fr1+/PtLd6LXK+hZuebGQNXuquHnOeO786lRsEayLpLXmgy2HKK9r4bK8scTZJScUg5/LrblvURGPL9/NSbmpPHp1HpmJnU8d/WDLIX72ygZi7Vb+fU0eJ+Wm9VNvhQizuXON78uWRbIXPaKUKtBa50e6H8LfYD8HE6Hlcmu2H6qjwDNKqaSa0uomv32irIq0eDtp8dGkx9tJi7eTnmA3L0eTFm8nI8HcHh9NUqwETkIIEUmhPAeTAClEHC43f3l3G89+tpfTJ6XzyLdnkRpv7/d+fFpcyb2LiviitBaAjIRofnzOZK48aZwU+xaDVk1jK7e99DkrdlZy7Sk5/O6iadht3ft73nm4jnnPF7C/qpG7Lj6Oa07JCXNvhegHEiCJEBkK52AivA5/5UK2xWVS9Yc/c6S+lSMNrVQ1tFDV0EplfStVDcZXfYsz6P1tFk/gZARNnuApPd5Omhk8pSdEm4GTnaSYKCxS4FsIIUImlOdgMjQlRKKsFu66+DimjU7it29s5muPrGT+tflMG53UL4+/uayWexcVsWJnJWNSYvnH5SeSmx7HfR9s53dvbuapFbu5/dwpXDh9lPxTFoNK0aGjzFtQwKHaZu75xnTvajPdNXlEIm/ecjo/fvlzfvvmZrYcOMpdF08j2iZ1kYQQQoiujHA0MKK2AWaN7XS/ZofLGyZ5QiZv4GR+P9LQQml1DVX1rdR1EDhZzcDJM7rJGNEU7XO5baRTeryd5FgJnIQQor9IgBRiV+SPY3JWAt9/oYBv/vsz/n75CVx0wuiwPV7JkQb+sXgH72w8QEpcFL+98FiuOSXHWzT4lXmnsGx7BfcuKuK2lz5n/vLd/PL8qcyZLEuci4Hv/U0Huf3VjSRE23hp3ink5aT2qp3k2Cieuu4kHvhwO/9auovth47y2DV5ZCXFhLjHQgghxPAUE2VldEoso1O6V3OwxWkETkd8RjFV1rf4hVBH6lvYXFbLkYZW6po7DpxS4+zBp9Ml2MkIGP2UIoGTEEL0mgRIYTAzO5V3bpvDD14o5NaFn7O57Ch3nDcFawj/WVXUtfDwkp0sXLMPm1Vx61mTmPelCSTFRPntp5TirKlZnHlMJm9tKOP+xTu45qk1zJmUwS/Pnyorx4kBye3WPPDhDh5ZWszM7BQeuyaPEX0Me6wWxR3nTWXaqGR+/upGLnp4JY9dm8es7N6FUkIIIYTovWiblVHJsd1e5KLF6aK6wcGRhhafwKltOp1ntNOWA0c5Ut/C0U4DpyifaXU+tZwCptOlJ0jgJIQQviRACpOsxBhe+u4p3PXOFh77ZBdbDx7l4StnkhwX1fWdO1HX7OCJ5bt5cuUeWpxurjxpHD8+e3KXIymsFsU3Zo3lwhNG8cLqfTyyZCdfe2QlF50wip+fO4XcjPg+9UuIUKltcvDTVzawpKicK08axx8vOS6k080uPGEUEzLjmff8eq58fDV//vrxXHHSuJC1L8Rg1uxweUewCiHEQBJtszIy2crI5O59oNTqdFPd2DbC6Yg5pc53dFNVQyvbDhzlSEMrtU2OoO1YFKTG+Y5u6mA6nTnyKSXOHtIPjYUQYiCRACmM7DYLf710OseNTuKut7dw8b9W8sR38jlmRGKP22pxunhx9T4eWVpMVUMrF5rBz/geBj/RNis3zRnP5fljjSBqxR4WbT7Et2dnc9vZk8hKlCk9InKKy+uYt6CAfVWN/Pnrx3P1ydlhWbnl2FFJvHPrHG576XN+8foXbD5Qy+8umiaF5sWw43Zrthw4yoriClburGR9STXLfj6321NQhBBioLLbLIxIiun2CGaHy021t35T8Ol0VQ2tbDt0lKqGVmoagwdOyjdw8k6dM4KmjIS2uk7p8dGkJ9hJlcBJCDGISIDUD64+OYcpIxL5/guFXPqvT7n/ihmcf/zIbt3X5da8taGMBz7cQWl1E6dNTOfOr07lhLEpfepTUkwUt587hWtPzeGhj3fy0tp9vFZQys1njGfemRNIjOnbSCkheurDrYf56SsbiImysPC7pzB7fFpYHy8lzs4z15/EfR9sZ/7y3RQdquPRq2eRkRAd1scVItL2VzWysriSlTsr+XRXpfdN0NSRiXznlBxktW0hxHAUZbWQlRTT7fqIDpcxwqnKLBJe2dBKlRkyHfGp7bT9UB1VDa1UdxI4pcRGtZ9O18HUutS4KGzygZcQIkKU1jrSfRg2S8geqm3mey8UsHF/DT86ezI/OXtyh3Oqtdbe4tdFh+o4bnQSvzx/KmdMzgjLiIy9lQ38Y/F2/vfFQdLi7dxy1iSuOSVbVqoSYed2ax5eUsw/P9rBCWOTeeyavH4f/fDWhjJ+8doXpMfbefzafKkNJga+uXON78uWdblrbaODVbsrWbGzkpXFlZQcaQRgRFI0cyZlcsbkDE6blB72EaihXEJWhM5wOQcTfdCD1xvRMafLTXWjI+h0Or8V68yv6sZWgr1NU8pYHCQ93mc6nU+x8DQzePKOfIqzS+AkxDAXynOwsAVISqnzgQcBK/Ck1vqejvYdTicvzQ4Xv3tzM68WlHLOsVk88K0Z7QpfF+6r5t73i1izp4qc9DhuP3cKF00f1S8F/DaV1nLvoiJWFlcyJiWWn33lGL4+c4wMrRVhUd/i5GevbGDx1sN8c9ZY/nLp8RGrv7K5rJbvPV9AZX0Lf/vGdL7RxXLFQkRUJ2/oWpwuCktq+LS4khXFlWwqrcGtId5u5dSJ6Zw+KYMzJmcwMTMhLB9IdEQCpIFpOJ2DiV6SACkiXG7tHeFkhEstfqvW+YZQVQ2tVHUQOIEZOJk1mlLj7Niscl4/VFiUIspqwWZR2KwW7Fbju82qsFst2Cw+l60++5jbo6wW4/5WRZTFQpS5T5T3NmPfKJuFKIv/bTaLwmpR/XouIXpnwAdISikrsAP4ClAKrAO+rbXeGmz/4XbyorXm+dUl3P3OVrLT43jiO/lMzEyguLyev39QxAdbDpORYOdHZ0/mypOysdv6/1ODlTsruXdREZvKapk6MpFfnD+Fs6ZkyQuECJk9lQ3MW7Ce3ZUN/PbCY7n+tNyI/30dqW/hloWFrN5dxU1zxvOrr06VT+3EwOTzhk5rzfbDdaw0Rxit2V1Fk8OF1aKYMS6FOZMymDM5gxnjUiJa50sCpIFpuJ2DiV6QAGlQcLk1NY2tAVPoWryjmjwhVE2jA5c78jNQRGi4tMbhcuN0aRwuz2U3DrdxuT8mG3nDKYvCbgsSWvkFUD6hlcUnpPILpnwu+4RV/vv6hFsB+0b5BGRGHyw+ffOEaG19jvT7j/4QynOwcNVAmg0Ua613AyilXgYuAYIGSMONUorvnJrLMSMS+eGLhXz9kU+ZOzWLd784QGyUlZ995RhumjOe+OjIlaiaMzmD0yaezrubDvKPxdu58dn1zM5N46qTIxNoiaGlqqGVexcVYbMonr9pNqdNzIh0lwBIT4jm+ZtO5q/vbeOplXvYdvAoV58sNWHEAJR2DHXWaFa/soGVxZVU1LUAMCEznivyxzJnciYnT0hrN8JVDH09GQEuhBg6rBZl1E1KiGZypDsjBgyXGSQ53RqH043D7Qmb3DhcGqfbjcOpA7Ybl51uN60ujdO83mqGU06357Jxm3cft//9HeZjOt1un3BLU+90+oRevn0z2nH4bO+PsDOq3YiswGDKf9RVYOhl7OvZ1llAFizcMq7bbYo4u41TJqSH/eftq3CNQLoMOF9rfbN5/VrgZK31rT77zAPmAWRnZ+eVlJSEvB+DQVlNE/MWrGfH4TquOSWHW8+aRPoAK+LrcLl5ee0+Hvy4mMr6lkh3RwwR00Yl8fi1eYxLi4t0V4J6df1+fvPmZlqd7kh3RYgOZSTYOX1SBqdPymDOpIwBvXqajEAKv56OAAcZgSS6QUYgCSEixO0ODLeMYKst0PIJrdw++/gFUf4BVvDQqrNALfAxzRDNaXwPDL18gzpnDwKwkUkxrP712WF5HgfDCKQuaa3nA/PBOHmJVD8ibUxKLG/ecjp1zU7S4u2R7k5QUVYL156ay+X547zFV4XoC6VgfEZ8RKfTdOXy/HGcNTWLI/Wtke6KEO3dcAN27STnvTf6pT6eGDRkBLgQQoghw2JRRFusRHBiTp9orduCqYAQKzD0Giync+H6VZQB43yujzW3iSCirJYBGx75iomyMmVkYqS7IUS/yUiIJmOAjQgUAoD3X4t0D8TANAbY73O9FDg5Qn0RQ4WMPBJCiF5RSmG3KewM3A/NeypcP8k6YLJSarxSyg5cCbwdpscSQgghhBDdpJSap5Rar5RaX1FREenuCCGEEGKQCMsIJK21Uyl1K/ABRhHHp7XWWzrav6CgoFIpVQIkA7Uh7o60KW1Km9KmtCltRrrNwdDHcLWZDewDckLcrmivWyPAfcsIKKUqzHOwcAjH35OIDPldDi3y+xw65Hc5dHjOl8IhZOdgYSmi3VtKqfla63nSprQpbUqb0qa0OZTaHAx9DGObFVrrzFC2KYJTStkwimifjREcrQOu6uxDvDD3J+R/TyIy5Hc5tMjvc+iQ3+XQMVjOlwZaOap3pE1pU9qUNqVNaXMItjkY+hiuNmvC0KYIoqcjwPtBOP6eRGTI73Jokd/n0CG/y6FjUJwvDagRSEKIyFFKpWB8Uv1omNr/CTBfa92tpfyUUtcD+VrrWzvZZy7QqrX+LCSdFEKEnFJqfaiWjhVCiKFIzsGEEIPlfGnolAMXQvRVCvDDMLb/EyAuxG3OBU4LcZtCiNCaH+kOCCHEACfnYEKIQXG+JAGSEMLjHmCiUmqDUuoZpdTFAEqpN5RST5uXb1RK/cW8fI1Saq25/+NKKau5/Vyl1CqlVKFS6lWlVIJS6kfAaGCpUmppRx1QSt2glNqhlFoLnO6z/WtKqTVKqc+VUh8ppUYopXKB7wM/NftwhlIqUyn1ulJqnfl1egcPJYToJ2bBZiGEEB2TczAhhrnBcr4U0QBJKXW+Umq7UqpYKXWnue1ZpdQe88Vog1JqRgjaVEqpv5gvitvMF9K+trnCp48HlFJvhqDNs80X/A1KqZVKqUl9bO/LZnublVLPKaO4Zk/6+LRSqlwptdlnW5pS6kOl1E7ze2oI2rxcKbVFKeVWSvV42F4Hbf5dKVWklPrC/OebEoI2/2S2t0EptVgpNbqvbfrcdrtSSiulMkLQz7uUUmU+f58XdLO5O4FdQCHwDeApc/sYYJpS6jbgAeBqpdSTwLeA07XWMwCXuT0D+C1wjtZ6FrAe+BkwA6Meh01rfZbZz1d8+rjX/Bn+iHHSMgeY5tO3lcApWuuZwMvAL4DfA4mARWs9Q2u9AngOmApEAdHAC9382T3PXbDn80RlnIxtUkq9o5RK6kF745RSS5VSW82/8R+b23t9HHXSZq+Po07a7PVx1EmbvT6OOmrT5/YeH0ed9LO3x1Gn/VRK3WY+p1uUUveFoJ+Bx9GGELQ5Qym12mxzvVJqdnfbFMNTOP4+ReTIa0NE3AnsMs+pPgDOMLePoe186AxguVLqWLp/DnYXcKl5/yjgTQh6bjOZHpyDaa33Ao8B//Q5B3vQvH4S8E3gydA9PUIpFaOM0HCjeVz+0dw+XhkBX7H5mmuPdF/FEKe1jsgXxpvJXcAEwA5sxHixeha4LMRt3gAswHijCZDV1zYD9nkd+E4I+rkDONbc54fAs31sbz9wjLnP3cBNPXw+zwRmAZt9tt0H3GlevhO4NwRtHgtMAZZhzLfu6e89WJvnYoQVAPeGqJ9JPpd/BDzW1zbN7eMwThZKgIwQ9PMu4Oe9eB5zgc1mm+cBjT7H5KfAcmA7RmhzJ3AA2GB+bTcf9yKg0mf7Vowg6kxz/20dPPb9wEJgQcBz/Ih5eTqwGNhkPtYis83HgYM+92kxj4UN5vcWIKGPz+c64Evm5RuBP/WgvVHALPNyIsYxPq0vx1Enbfb6OOqkzV4fR5202evjqKM2+3IcddLPu+jFcdRFm2cBHwHR5m09+V/U4c8ecBz9PgT9XAx81dx+AbCsN8+DfA2fr3D8fcrXwPt9ymtDWJ/zXMxzD4zQaDVt52Bvmb+TIvP3cSvdPwdbiHFesxdjGW/P7zLw3OY/9OAczNzu938SKPd57A0YK0F2+xxMvrr8G1Ge5xMjDFwDnGL+7q40tz8G/CDSfZWvof0VyRFIs4FirfVurXUrRqJ9SZja/AFwt9baDaC1Lg9VP83RCF/GTPT72KYGPKMbkjH+OfS2vW9iFLbbYe7zobmt27TWy4GqgM2XYIzywPz+9b62qbXeprXe3pN2utHmYq2107y6GhgbgjaP+lyNx/h99alN0z8xRtT0uKJ9J232mtnmdoxg8nyM4Cge48ShTmtdBzQAz2njU6cZWuspWuu7MP65feizfZrW+iazTXewx1NKKeAKYEUn3XoY40RmOvA9IMZssymwOeAP2vhE7rfA61rr+h7+7IHP5zHmcwA9PI601ge11oXm5TpgG8aJYa+Po47a7Mtx1EmbvT6OOmmz18dRJ88n9PI46qLNXumkzR8A92itW8zbuv2/qKt++hxHL4Wgzd7+L+ps5EKvR/KJgS8cf58icsLx2iC6T2tdhlETyXMOtgLj+Kk3fx+K7p+DXeX5XWKcu3l+l4HnNqd20qV252Ad7GfBGKnkefwxPTkHE53TBs/zGWV+aYz3oa+Z23v83kxEhgo+e+hW83qPZ6X0p0gGSGMwRsh4lNJ2svEXc4rDP5VS0SFocyLwLXO47fvmMM1Q9BOMg/TjgDdFvW3zZuA9pVQpcC3GfOjetjcSsKm2qSyXYXxC31cjtNYHzcuHgBEhaDPcbgTeD0VDypgKuR+4GmMKVV/buwQo01pv7HPn/N1qHkNPq+5Pj6rD+GTLoxGj6OJyjMKL1wBjlFKfAIeBy5RSWeCdkpWDETKcrszpl0qpeKXUMWZ79QR/zTnDbO9N4EtKqXSlVBRwuc8+yRifZAFc57O9HiPo8lgMPGz+jv4BPN/Nn70zW2gLjS+nl8eRMuoFzMT4xCgkx1FAmyHRSZu9Po4C2wzFceTbZqiOoyA/e2+Oo87aPAY4wxxq/olS6qQQ9RPM40hrvTMEbf4E+LvPcfSrHjTlBG7XWk/D+GT0FqXUNIypDHeab0DeAO7oTT/FwBeOv08ROSF8bRCdCzwHW03bOdgK4Oe0fdD2MT0/B6vDmOLv+V0Gntuk0vNzsMA+LwZu81xRPSxDIrqmlLKaU4HLMYK/XUCNz4d9ge9TxQCkjJpl/wK+ijEi8NvmudKnwDkYo+kHLKV1jwc9hOaBlboMOF9rfXNGRobOzc2NSD+EEEIIEX4FBQWVWutMpdQ44AMzZBIRJudgQgghxNDmOQcLRVs9KqocYmWYn+Tn5uayfv36CHZFCCGEEOGklKo1L/Z6JJ8IPTkHE0KIwa+u2UGU1UJMlLXrncWwo5QK2aimSAZI64DJSqnxeXl5YXmAD7ceZknRYZJj7aTGRZESF0VKnJ2U2ChS4+3G9Vg7dltEF6MTQoiuzZ1rfF+2LJK9EKIvMpVSBcDbQGukOyOEEEIMFdPvWkxOehyf3HFWpLsiemIQnt9HLEDSWjuVUrdirJoTFiVHGvhoWzk1ja04XB1P1Yu3W41gySdkSjXDJb/rPgFUcmwUNqsET0IIIUQ37dRa55s1OS6MdGeEEEKIoaTkSGOkuyCGgUiOQEJr/R7wXn5+flgKMd18xgRuPmMCWmsaW11UN7ZS0+igptFhXG5yUNNgfK9ubKXW3H6w5qhxW2Mr7k56lhRj84ZLyd7QyTdwsrcLpBJjbFgsKhw/rhBCCDGgKaUsGCskPhbpvgghhBBCiJ6JaIDUX5RSxEfbiI+2MbYH6+i43Zq6Fic1ZvBU3dhKbZOD6oZWqhsdxmVvKNVKyZEGqhtaOdrs7LBNi4Lk2ChSfcIlz1S6VL8RUP4jouLtVoxVcIUQQohB6XigCPgv8EyE+yKEEEIIIXpoWARIvWWxKJLN6Wo56d2/n9Pl5miz0y9c8gugGs0AqtHB4aPNbD9UR01jKw2trg7bjLIqby2n1Dg7yXFR/qOcYj0joYzbPQGUFFITQggxQGzWWudHuhNCCCGEEKJ3JEAKA5vVQlq8nbR4e4/u1+p0U9PkP82u1ne6XWMr1Q0Oappa2V/VyKZS47YWp7vDNmOiLD61nDwjn+zm5fZ1npKlsLgQQgghhBBikKtrdlDf4mRUcmykuyLEkNFlgKSUehq4CCjXWh9vbksDXgFygb3AFVrramXMsXoQuABoBK7XWhcGtPcb4CrABbiB74VrFbbBxm6zkJUYQ1ZiTI/u1+xoq+8UWOfJM+XOE0DtLK/3jopydlLgKSHaZky1i48KHkCZt7WtcGcnOTYKq9R3EkIIIYQQQkTYRQ+vpORII3vvkXUbhAiV7oxAehZ4BFjgs+1O4GOt9T1KqTvN678EvgpMNr9OBv5tfgdAKXUqRhg1S2vdopTKAHo2TEe0ExNlZVRybI/Sda01Da0uqhsCp9UZ371T78zbDtQ0eQOprgqLp8b7hEx+0+yiAm4zpuIlxdikvpMQQgghhBAiZGRVMiFCr8sASWu9XCmVG7D5EmCuefk5YBlGgHQJsEBrrYHVSqkUpdQorfVBc99RQKXWusVsuxIgP19KIvQ3pRQJ0TYSom2M68H93G5Nnae+U8DqdX4BlHnbnsoGqhtbqeuksLjVrDXlDZkCptkl+6xilxJnhlCxUcRJYXEhhBBCCCGEEKJf9LYG0gifUOgQMMK8PAbY77NfqbnNs+9i4PdKqR3ARxjT4D6TKWyDh8WiSDZrJfWE0+U2Rzo5qG3y1HLyLzBe02jUdzpY20zRoTqqG1tp7KSwuN1qaSsm3kmdp+RYu99UPCksLoQQQgghhBBC9Eyfi2hrrbVSqpNJTX771iul8oAzgNsxQqQDFRUVfe2GGOBsVgvpCdGkJ0T36H4tTpc5wsksIu4JoHyn2ZkBVMmRRjaWGre1dlJYPDbK6i0c3r6Wk6eguH8AlRIXRZRVCosLIYQQQgghhBieehsgHfZMTVNKjQLKze1l4Dcjaqy5zUtr7cKY8rZMKXUZcEtmZmZ2L/shhrhom5WsJCtZSd0vLK61ptnh9iko7plWF3DdvLz9UB21Tcb1rgqLt41wivKr8xRrt2GzKKw+XzaLwmJ+N65bsFrAarEEuc3/utV7uf2+VqWwWgOuW5RM5xNCiGFCKTUOozblCEAD87XWDyql7gK+C3g+mfu11vq9yPRShMvmslpyM+JJiJbFlIUQQvSv3v7neRu4DrjH/P6Wz/ZblVIvYxTPrvWZ6oZSagrg1lrvNDfNALbRVk9JiD5TShFrtxJrj2V0Ss8Ki9e3OP1WsfNMszOm3PkHUKXVbYXFdbfG4IWXb5hksxghU8fXLd0MsNrvGzTA8lxXZuhl9Q+3bFaFRfm06b1uCfJ47fvSFsD579vxdQsWhYRqQoihygncrrUuVEolAgVKqQ/N2/6ptf5HBPsmwqjF6eKih1dy+qR0Xrz5lEh3RwghxDDTZYCklHoJI+DJUEqVAn/ACI7+o5S6CSgBrjB3fw+4ACgGGoEbAppLAB5WSqVgnPwUA/OAH/T5JxGij5RSJMZEkRgTxbi07t/P5da0Ot24tMbl0jjdblxujUtrnC7tvexyB153G9c9t7mN+/ted3u2u90B133uE2RflxvvfVyB+3v7ae6r8fbF4XLT5Gjrq1vrIG242z2+7/WBxC9g8gm6vGGWtS1s8g2ougqpgu3bcSBnwaqUN1TzPn6QkM2zb/vHU9gSxzCqtY4xbo3FIsGYEMOZ+eHcQfNynVJqG0bJOQxgAAAgAElEQVTNSTHEucz/s4UlNRHuiRCiPxSX1xFrtzGmBx+KCxFO3VmF7dsd3HR2kH01cEsnbRUApwVul1XYxGBmtRgjnoQxisut8Qub3G68oVOw8MtvX5/QLTDsaguz3J2EW4GXOw/TfAM5Z8C+nr60Ov2v+wWCbne70C9YX0LiuKsAiP3DB0zIjGdSVgKTMhOYmJXApKwEctPjsdukTpcQw425Uu5MYA1wOsZI8O8A6zFGKVUHuc88jA/wyM6WKgIDTXF5PVFWRU56fLvbBsKIZyFE/znngeUA7L3nwg73cQ+wD3DF0CaTp4UQIaOUwqqMUM0gwZonVAsWpnU8osx/X5db0/rTn7E/Opnia79PcUU96/dW89aGA97HsVoUOWlx3kDJEy5NzIwnMaZnqyYKIQYHpVQC8DrwE631UaXUv4E/YdRF+hNwP3Bj4P201vOB+QD5+fnyziOMjtS3sPdIA3k53R/afM4DnwDB3zC6JEESQgSQ1wXRnyRAEkKIMGoL1TxhWi9DtdoS4/vXpnk3NbQ42V3RwK6KeorLza+KepYWlftNJxyZFGOESlltodKkrAQyE6KlTpQQg5RSKgojPHpRa/1fAK31YZ/bnwD+F6HuCdPlj61id2VDp6MHekJGGgghAoVstLsQ3RDWAKmTVULSgFeAXGBvXl5eOLshhBBDUny0jeljk5k+Ntlvu8PlpuRIozdY2mUGS6+u309Dq8u7X1KMzRsseQOmzATGpsb5jCITQgw0ykh+nwK2aa0f8Nk+ymfxkkuBzZHoXzCl1Y2U17UwKzs10l3pV7srGwBjNGooAnt5oyiECOSWEUiiH4V7BFJHq4RcD3ystb5HKXUncE6Y+yGEEMNGlNXiDYTOO65tu9aag7XNRqjkM2ppSVE5/1lf6t0v2mZhfEZ8u2BpfEY8MVEyLVGIAeB04Fpgk1Jqg7nt18C3lVIzMD602wt8LzLda2/OvUuBzut4DGUut8ZmDUGA1MEbxaqGVr4orWHulKw+P4YQQ417iC9AIsGyQWvNe5sOcc60LKJtcr4aLmENkDpZJeQSjJXdAJ4D/hbOfgghhDCm041OiWV0SixnHpPpd1tNY2u7YGljaQ3vbjroLdpqUTAuLY5JmW3T4TzhUnKs1FkSor9orVcCwd4NvdfffRHd43RrQvF+xu0Ovv2GZ9aysbSWoj+d7w36K+tb2FRay1lTJVQSw5tbayxBXzKHho5eF4abFTsruWVhId87cwK/uuDYSHdnyOq3GkgBq4SM8Blifai/+iCEECK4lDg7+blp5Of6F3ptanWxu7KeXRUNbdPhyutZsbOSVlfbGUtmYrQ3WPIdtTQiSeosCSGEw+Xu1ghOHWSE0We7KhmbEkd2elyHI5C2HDgKQF2z0/s4Vz2xmh2H6yn+y1exWQfOKp2f76sm1m5l6sikSHdFDBNDfYCOTGEzVDW0AnDoaHOEezK09UuAFGSVEO9tWmudn5/fH90QQgjRQ7F2K8eNTua40f51lpwuN/urm7z1lTyjlt78vIy6Fqd3v8RoGxPMVeF8w6VxqbED6g2NEEKEk9PVvTd4Lc72QwmuemINYEz/C1ZEe9WuI96FE+pbnGQmRgOw43C98dghGv0UKpc++hkwfKcziv431AMWWYXN4HkdtMoHl2EV9gAp2CohwGFPoUel1Cgpoi2EEIOLzWrUSRqfEc85jPBu11pTXtfSbjrcip0VvF7YVmfJbrWQmxFnBEqZbdPhJmQkEGsfQO90hBADUl2zg8VbDvPNvLERefyDtU18UVrLeceN7Nb+jm7OMWlxdL6fM0iA9O0nVnsv1zc7290+WOqjfLDlENPHJDM6JTbSXRFDzFAPkAKD5bc2lHHm5ExS4+0R6lFkeJ4HWQgmvMK9ClvQVUKAt4HrgHvM70IIIYYApRQjkmIYkRTD6ZMy/G6rbXKwq6JtVbhd5fVsPXCURZsPeYeXKwVjUmK9wZLvqKWUuOF1IiTEUBSq1ch+/cZm3tl4gElZCZw4LiUEPeu+xlYnp/5tCQB7/nZBt36e7o5A8p0aHExXYVBds6P9Yw+SAOl7zxeQkRDN+t/K2joitAbJIdBrviOQ9lc18uOXNzBnUgYv3HxyBHvV/5wSIPWLcI9A6miVkHuA/yilbgJKwtwHIYQQA0BybBSzslPbLePd7HCx90gDu8qNOkueKXGrdh3xm86RHm/3jlTyDZdGJcdInSUhBolQrUZ2uNaocdHY6upzWz3x1oYyfvzyBu/17v48jk6CoUWbDzFlZCLjM+I73e+9TQexdzH1tyHI89GfI5C01ry0dj8XTh9Fclz3F1fwjByorG8JV9eGHJdb88LqEq6cPU5WnAKWbi9nVHJM0Npag2UUXm/5/nye86YDNU2R6k7EeII0CZDCq08BklJqL1AHuACn1jpfKZUGvALkYiwhm6a1rg5y97M9F/Lz84f2US2EEKJDMVFGMdXAkz6XW1NW3URxRZ1fuPTuFwepbWr7lD3ObmVipn/x7klZCeSkxxEldZaEiJjNZbVU1Ldwls/S8iGrx2O+P+htdry0qJyspOh29d06s6TosF94BF3/PBZljH5wdDIC6fsvFABGTaDOAqQfvljYZR+dQe4fbFu4bDtYx6/f2MSSosM8ed1Jne5bcqSBnPR4apscvLp+fz/1cOh44/My/vD2Fo7Ut/Czc6dEpA9Ol5vnVpVw7Sk52G2R/X97wzPrAOM4anW6WbBqr/e2YMXpw+ndLw4ybXQS4zPi++XxfAMkz2vicHxz7TJf67obIK3cWUlCjI0Z/TyKdbALxQiks7TWlT7X7wQ+1lrfo5S607z+yxA8jhBCiGHEalFkpxsrD315att2rTWV9a1+dZZ2VdSzevcR3vi8zLufzaLISY/zmwY3KTORCZnxxEf32yKkQgxLpdWNXPTwSsC/WHJ3VyMLtxueNd5s/u+2ORyqbeacaSO6uAfc+Oz6dts6+3lqmxzeqTPObtRA+nxfNYkx/q9Na3Yf6fJ+voJNgevPKWzafNu6v6rr0Q8XPLiCLXefz+/e3MzbGw8E3cft1jzz2V6+ddI4EuR120+9OV3R9wOV/vbSuv386X9baXG6+OHcSRHrR6AnV+7mvkXbvdf74xBwuzVPf7qHK2dnc8vCQmwWRfFfLwj/A+NffN8TnfR3aDYQeHL67gZI1zzVtkCB6L5wvBJfAsw1Lz8HLEMCJCGEECGilCIzMZrMxGhOnZjud1t9i5NdAQW8d5bX89G2cr9P6EYnx7RNh/OZEpeeEN3fP44QQ9IVj60Kur07tYD2VDZQUFLNZf1QIDsw5Npf1cinxZVcOTvbb79mR/Cpcp39PL97c3O39vO49NHPeO9HZ/ht+9b81R3sHVywkU79NX1n+Y4KdhyuA6DZ2fXUQs90O8/S28F8srOCP/1vK9sPHeW+y04MTUeHmEjGBEfN8CpY8fauFJfXs6mshktnhv44D+xPfxwDy3aU8+d3t7Grom31w/7iW3zfUzB8+MVH4DKDelmFLbz6GiBpYLFSSgOPa63nAyO01gfN2w8BXX+kI4QQQoRAQrSNE8eltCuq2+p0U3KkwX91uIp6Xl67nyafN4apcVH+0+HMcGlMSiwWmVMvRLcdPNocdHt3ViO7+OGV1LU4+easMf1e3+zyx1Zx6Ggzl84aQ7TNyuayWvZUNnDi2OBTHALfJP5n/X5mZacwKSvRLxgJNjVtc1mt981mZ/t1pLi8nsJ9/lUiPPffXFbbYR9Dze3W/PuTXfz9g7YRH57ArdXpZv7yXdx8xoRejTzzvDGubuzdKJuaxlZeXref7505IejfUl2zgwWrSvj+lyYOuropA6n2X2+6cv7/Lcfp1mEJkCwBHeqP0ThNrcbfakVdx4FouLT4BLaeEHmorzwXjOfl02pVVNS18ObnZdx8xvgBdawMBX0NkOZorcuUUlnAh0qpIt8btdbaDJfaUUrNA+YBZGdnB9tFCCGECAm7zcLkEYlMHpHot93t1hyobTKDJTNgKq9n8dbDvLyurSZHTJSFCRn+q8JNykogNz0+4nUfhBiIOnrv0lktII+6FmP0QIuzk+luuvPH6Y13Nh7gkBl8tTrdRFks3hFK7/5oTtD7BE5N+8VrX6AUfPLzs1hZXOmzX1tHP9hyiJTYqKCji3oSIF3w0Apanf77e+7v6TcYn8o/v2ovp03KYGJmQrfb7661e6v8wiMwRlxt2F/DH9/Zwuf7alBKcctZ7ac4PfTxzk5/Zk+m09sA4NdvbOK9TYeYMS6FUyakt7v9b+8XsXDNPiZmxnP+8aN69RiRFsmcwPN7UfT8DbrnmHC7dZ8/oAlcxj6wvf6sod3SjdF33RX4c3X8mG3H0JMr9gD+fxcFJdUcqm3mwhP652/8SH0LL6/bzw/nTuxxeHP4aDNvbSjju2cED30743ktsSrFz/6zgRU7K5kzOYNjR7UvrB4uC1bt5UvHZJKT3j/1ryKhTwGS1rrM/F6ulHoDmA0cVkqN0lofVEqNAso7uO98YD5IEW0hhBCRYbEoxqbGMTY1jrkBNUirGvzrLBWX11NQUu1Xq8NqUWSnxfmNWjIKeceTGNP9FYiEGMp8R8ks2XaYa0/N7db9mh2uLketeAKcXRX1rNhRwfWnjw+6X8mRBu55v4jzjx/JJTPGBN3ntpc+915+4MMdTPEJnDuaouM7Nc0zTUbrttoa3vYW72Dhd09GKcX3ni/o8OfxrWH0Tgd1gbz7OtsHL8G2VTc6+N1bWwD4zqk5xERZmTEuhQumd//NpNbGKKNvzBxLeV0zv3x9E49fk0d2elzQ35Fba77+r0+91zuaAvjAhzs6fVzPSJLeBgA15siljqYQeqZgtQR53gY63/fWLrfm4SU7ueG08T1a/a6vPCFFXwZ4tDjdxNqDH+cL1+xjZnZKlwFAYO2vwDzK1Q8pm+c5CHYMdmVvZQNLisq5cY7/65dvIfDO+IZWrxeWAm2/m72VDXzz358BcOEJ/VPr55evb+KjbYc5eXwa+blp3u3vfnGQjAQ7JwcJcz1ue+lz1u6pYu6ULI4J+NCvK57n4fHlu4kz/6b6cwW+plYXv39rC6OSY1j1q7O7vsMg1esASSkVD1i01nXm5XOBu4G3geuAe8zvb4Wio0IIIUR/Sou3M3t8GrPHp/ltb2x1sruiwS9YKi6v55Md5X6jK0YkRfvVV/LUXMpMiJbh1GJY+cajn3kv/+6tLd0OkJocLnwnji0pOsxnxUeYPKJtFI0nGPjGo59R2+Tg6lNygq6+ePljqyiva+H9zYc4HGR63bOf7vG7/syne/2u13UQIPmOnvENSaoD6vqs2n2EiroWspJigrbj4Rtk+AZagZo6CGQcLt3uZ9lV3jZNbsGqEu/lnhSO3Vlez32LtrO0qJx1e41A8Mbn1vHRz77Ekm2H2+0fOOWst9PDLOavsrfTcboKOAJfi59euYczj8lkUpbxN1bf4uTRpcX85JxjBuxoU43m422H+b+PdrK/qon7rwhPraji8nqW76jwCzk8v5XNZbW8tHYf357d81klzQ5XhwHSr9/YBLT9rTY7XDz08U5u+/Jkv/v41gCC9jVwujuSJxR8j+GFa/Zx1ckdPycHapp4vaCU+80g9crZ44izG2/Pj9S3cNc7W/329/z8t5w1yW8xkMCf36OyvoW5/1jW2x+lxzbsr2HHoTpvMBs44vSWhcZKkp299nju290grsVpPCc/nDvJ+zy43Nr7mt3Ra2U4ePp8pJO6bkNBX0YgjQDeMF94bcBCrfUipdQ64D9KqZuAEuCKvndTCCGEGBji7DaOH5PM8WP8l/92uNzsq2r0Xx2uvJ7XCkq9xWIBkmJs3tpKvqOWxqbGDboaHEKE01/fK+KhK2eglKK2yeG3Cpon2PUEOJ6VqP763jZGJMVw9tQsJo9IpLS6kZfW7qO8rsWv3UCBb9QC1bUEr8HjmYbz4poSRiT6hENBDuXujHIpLKnucp/OtDhd3LvI/+cLrLPUkf8WljIqOZZTJ6bzzsYDJMbYmDslC2j7FN93xa8Gc6rhQ0uKu2zbZr62fVpc2cWe8MLqEq45Jcdvm1vDodpmFq4p4SfnHENNk4MnVuzm9q8cgy1IYOjhWRVOAbWNDv79yS5uP/cYb8joOzXutYJS7v7fVhJjbGy66zzjZ/t4J/OX72ZcWlyvwpH+4hmB09ja82LW3XXF46uoamjl6lOyibYZ4Y0n2Fu6vYKl2yu8z1FZTROvrt/Pj8+e3C6kW7T5kPfvATouuB4sQFiwai+PLttFTJSVH5092bs9cNpY4BQ2l1vzwOLtXHVyDiOTOw9xO9LidPHAhzu45axJJAUZYay8+7X1+9dvbOo0QPre8wVs8qlX1uJwE2c3Lu+ubGi3/0tr9/Hosl3YrBYSoq2cNcV4nQv22uJ0uzntb0u6+dMZFqzay8xxqUwfm9zlvsF4Rh3Ozk3rYs+OeUYddjcz/s+6/fxr6S60Dv4aW9fcf6sUhnL64kDW6wBJa70baBdxa62PAEN3zJYQQggRRJTVwsTMhHY1RrTWHDra7A2Uis1waen2Cl4tKPXuZ7dZmJAR3y5cGp8RPyCWPRciFKaOTOSJ5bt5cuVunrrupHZBrO8b+nc2HuCOc6eQnR7XYbASWCDaM3Lo8U928fnvz+WaJ9ew90hjn/t9dwcBk8Plxu3W/OaNzX7bg0XBHU3j8vVwN8KYzvzfRzvbbSsu7zpAKqtp4mf/2QgYowM8o588IwU8v5YSn+fyYG0zr67fT3dYLIpHluzkH4s7n7IG8Ns3N3PV7GwsFuUdwaC15pS/fQzA2ceO4OlP9/DWhgPk56Ry9rFt6/UcbXbwfx/u5MY5uTzz6V6azPDepTX3LNrGS2v3c/yYJC46YXS7x/35q8bP7zvazBPIBAszyuuaeXrlXu44b0pEwv/+fkTPG/H6ZifRCcb/pMA3+Z56RrctLKRwXw0XTh/Vrvbg91/wn8LZ3MHomRfXtI2Wa3W6+fsHRd6pjIGjSgKDg8Ai2gUl1Ty0pJhNZbU8c8PsTn7Kjv23sIzHP9mN26355flTuXdRETefMYERAaMKtx086ndda90uRCuva+aplXsorfZ/bfIN0zwBrS/PVNrGFicPfbyTR5ftYsPvzw0aXBw+2tJu27Lt5d5QOJjfm1Nd+7ysvfnjPrlid7vVcgNt2F/Dxv01XHdaLtA2WrHV1b0wxvMBncPlDvo8dDR6NBy8f4d+9aeq2Li/tt30xMGsr0W0hRBCCNEJpRSjkmMZlRzLGZMz/W6rbXRQXFHHrvIGb7C0qbSW9zYd9J6YWxSM862zlNk2HS45VuosicGl6FAdf3lvGwBPrNjNg1fO9Lt9f1WT3/Vmp8sMNzb4bfdMSflvYRlr91S1e5x6881XKMIj6HgVMJdbc7iu/ZS4YNNUO3qjHAp/vPg4/vD2lqC3Ld1eEXT75Y99xp++fjxTRyZxmzm1pCOeN2aBb9TveO2LbvXvvkXbu97Jx6GjzRw+2sy/lhqB2tYDbW/K3998iLc2GPWhHlla7Bcg3f/Bdp5bVcLS7eXs8RnB0eJwe0dPzV++m5FJMX61WXqq2eFi9l+MQOv0SentXtsHi+qGVh5aspM7vzrVO6qoI0Yoo6lvcZKeEA20Xyr+8/3V5OWkeY+/wNpDwY7VYMGqy635o09ou6SonCdWtE3NDAyudpbXBfTV//bqxlazP+0einc2HuDvH2wnKdbGGz88ndcKSnm9oJS/XDqdKSPbwi9PoPPECiO8LK9roXBfDa//4DQA3tt8qH3jtC0GsKToMFUNDi7LG8tf393Gmxva1zjzfY1obPV/XrYcqPWOuPR894Qjgft25Ppn1nUYDjl9puO63LpPoainfx8XlQcN0MB4Pu9bVMRz5rRaT4DkeVjPqnYAjy4r5oxJme1GRlXWt3DP+8aIS9+/D1/1QYK4UGtsdXLfou18faZRX0/7HBnXPLmWJoeLS2eOITXeHva+9AcJkIQQQogISY6LIi8njbwc/zcyzQ6Xf52lCmP00sriSr9PwjMTo5mYGe9TaymRSVkJjEiSOkvDlVLqfOBBwAo8qbW+J8Jd6lCw5eUDP3X+54c7WLmz0rsym4fnk/qPgtTfAaP2Rn8s3e1waZ4K8sYl2OH353e3Mi4tLiz9sFl7fryv21vN5Y+tYtNd51G4r8a7/aZn1/nt99/CUm/do/6ybm8VP365LTT0rSny2Ce7vJc/31dDi9PlDT9Kq40AMiWgkPQPXyz0TvP6orSWa59ay7Y/ne+9PbDG0u/f2syuinrS46O92+pbnNz7fhF3nD+FD7e0/d35Fuk9UNPEkyv28KsLpgatxRUqWmtvKKd18Ok+zQ4Xf31vG7d9eTKZidHtdwDu/3A7L6zex/Gjk5mYlcCnxZVBV8sDYxpiCwEjOgIe+Jv/XuUXUDz8cTH/unqW9/oVj68K2s92/VrsHzh+ssN/TabAY7voUJ3fbYHB1VGzz/Fm3aSGFid/e38bd5w71a/W2Lo9Vfzqv0bdpfP+bzl7/naB93+pb6Fuz5TYgpJq/vreNirqWjosev/S2n3ccPp47xTcy/LGtgvePDzPxcqdlTwYMJrwwofaVlZsNZMwl9t4nevJKJsFq/YyPiO+XejZ6PN7+KK0hpnZqd1uM1CTT6C1cO0+rj45xy+genLFbv787ja/+zhcbqKsFu/0Q88oM6fLzX2LtnMf29uFX3/sYuoxwG/e2MzFJ472LmzywuoSxqa2/0APYOn2cvYdafSGWd31wuoSnv1sr/f1x/fPzzNds7iinpPiex9aDyQSIAkhhBADTEyUlWmjk5g22n/lGZdbs7+q0b+Ad0U9b2044HcCmRhtY4K5GpxvIe/stLhO64WIwU0pZQX+BXwFKAXWKaXe1lp3fZYdAUeb2o/qCXwj9H4Hn+pvLjsadLuv659Z1+U+fXX/4u18tutIu+2NLe3fFK/ZU8WaICMwQuWG03PbFf/uSkOLk6dX+gdgHxe1vVn/7oL1fLg1eEgXTr7hUVdqmxxkJfqPngkcyRa4SpcnYPCGAwEjq3yLjXs8v6qE51eXkJ5g95u25BsGnHaPUXOmsdXJCWNTgta/+aK0hsVbDvPz8/yX/txb2cCX71/GY9fkce5xI4P9qF7ldS3eULW6sZU7XjOm39W3OLnz9S+447wpfLbrCAtWlbBmdxVnH5vFHedN8ftg4f1NB3lh9T4AHl6y0ztab96ZE4KGX8b/DhdHmx00O1zc/b+tuDpY3c7j3U0H2fHAJ7w07xTW7Pb/27coo7bVUZ9j/vnVJYxIjObRZbv89n1prf9UyRdWl/CrC471Xq/wqXHW2OrC4fTvl2eqZWq8Hbdbc/xdH6A1rNvjH4wGFq5/54uDXHyiMd0xsE2P+ct3B93u8cd3tnLhCf4rHr4VZPQRtAVIgas4Bnpp7T7v5cVbD3e5mqEvzzS1G07P5fcXTfP+Tfi+Zj308c5Op/q9vfEAP/J5rtb++my/BQIafGpx/eaNzditFnZVtI0IDAyPANbsrmLO5AxvAXTP9NGjAf8THC43f/7fVq47LZdDtU3t2glm+l2LufrkbH7/tWn89k1junGRT4DscYP5P+OK/HEdFnYP5HZrb109zzRP37+UGLuVuhan399ooH+MncNX9tdw4riUDvcZSCRAEkIIIQYJq0WRmxFPbka837QNrTUVdS1+BbyLK+r5tLiS/xaWefezWy3kZvhMh8tK8NZt6u7JkhjQZgPFZp1KlFIvA5cA/R4gjc+I95tCFMzmslpcbo3D5eaWFwv9gov8nFTW97Gg9Cc7gk/dAnj6+ny/otxdSYi2cfGM0Sxcs89ve7DwCNoHFqEyKSshaE2jXeUN/OFrx/H/7J13eBTV+se/J23TE0IJoYbepAkCilgQFdvFfi1XvdjLtV1/emPBioq9IipKkY6KgIQOoacX0nvvySbZbMn2+f0xcyYzW9JI53yeh4fN7uzM2SnnvOf7lmO1cmJKSFuwcsD7+5zfHu0VjxRuLrI0Nw9Xly47F5TntiTAyvH1mWo1/CSN/u8MKqPQSJZ397b8iLyzNw0vCkWbjWYrDJJojaTiBhxNr8KKW6eK722PLcH22BK88VcKXF2IGKXk7tpc1+nxRWMQ6O2BTw5mYo1EMHlyUzxW3Tkd99kU7S5SarHmRB7e/cc0KDXNEVn7U5pF1tM5fJFyK8dh1kg+giSrSo2sKjUSixuw8dF58HBzwW+RhaKQAMhTPSe8eQB3zh6OD26/RFzpa3VErpgCmF7eiMc2xDld3WrBR8dQKVnpMKdag7krj9ptF+DljnqdCc9sjkfyOzfgcHoVVuxOtdvOEdKFKTacLZAJp+vOFOCX03JRp0LFt2drdLHsGc6qkqe+2a6e9cK2RHAch2WzhqOhqeMra9F0RwCIdNJnAMAdP5yDop2r/T21Kb7Fz9+9barDRQLWny3Ec9eOxyAhHXGt5JxFZNVg7sqj+PjO6bh+Km9raAxmLPrkOP4xc5hdHzPvo2P46I7p4t+2Am5bUl3/9Ws0Il9fDG/hnvshIg+7Esrs+vHvjuVgY2QRNkYWOV1d0RFboosxYkBzBOhLEpFaazDLVrWLylfi2snOa0VJv/fwuhjxb+ogkEY0errz17O6UY+ofCVOZtfgf0snY1tMMb44nI3GeS/D6OKG71efxZzRA7Dzqct7/YIqpDvCe1tj7ty5XFxc2wdxBoPBuOi45hr+/xMnerIVjD5Io96EvGoN8mq0YtRSXo0GRUqtWJCUEGB4oBfGD/HFu7dNQ+ggn05vByEknuO4uZ2+Y4YIIeRuAEs5jntc+PshAPM5jvuPs+90lQ0WkVmN5UIq1CBfBWo1BgzxU4ipH3RSfemoQOhNVqTbFJ7985nLcdea5nSXx68cg8kh/ihvaBK97QFe7rJVwZxx32UjsdJdJ70AACAASURBVD1WHsFQuOoWxBfVO40gsmWInwI3Tw/BhnOFLW43eaifLJ2mrXi6u2DZzOHYIURKuBDgyavGwWC2YNms4eLqRjkf3oS/Esrw2p/yCdmpV6/FqIHe+Hh/Bn5qISJisJ+iRU/4hXA2bDGGB3ohNCwcAPDBsml46PJQrDqQiasmDkJmhRrv70vHtGH+SCtvPYKsq7l87EAklTS0eZlveu6C/RVwc3FBWYN8kjw1xN/uPm6JmSMD4e3uish8x/ff5WPlxYfpdlNC/OFC0OI5dHMhCPb3tGvjjBEB8PFwc3pMKWMH+YiRVm3Zvr0Q0pzqM3tUIBIlaZRtgZ6frmibo2PlVKtRq7nw5dlDAjxFQas7eOPmyQ5XngSAmSMC4O3BCyet3YeVjfpWnQIXiqsLQaCXu52QJ21LRmUjGpzUpAOABWODMC80CP+9YZLYF7XG7FGB8HRzRVSBEhwHjAryxvBAr1a/V6XWI7/G8Tmh5y2xpB56kxXDA73E53H+mCCn0agXXMDcCZ1pg7EIJAaDwWAw+jH+nu6YPWqAXT0Dg9mCwlqbdLhqDYtEuggghDwJ4EkAGDWqa5YmnzcmCLfPGobXb56CQG93vPlXKv7vhkmIzK/FyzvOY/ezC/HNsWw0Npnhq5B73K+fGoxpwwLw6o2TMG6wL5Ze0pzOU9Wox5dHsnHz9KFY/cClMJiteGFbIsoamlCjNmD0QD7CrlZjxNGMKry/bBpumDoU1WoDnrt2PNLLVfAXis/PGT0AW59YAJXOhPf+TsN1U4KRX6PBhGBfJJWoZLV2/nv9RNw4bSgam0x4b9k0fHYoC5mVasQU1InHDPByx/vLpuGaz05AqTXik7umQ603I9DbA+/9nWaXnvfidRPw+KIxeGdPGt66dSrK6puwM74E9102Ch/fOV227Vu3TEGhUgt3VxfcMiMEkflKhN002W4FqGevGY+1p/Px4nUTUa8zorReh+ULx6CsvgmR+UrcP28UPjuUifOlKhjNVkwJ8UelqgnXTh6Cc7lKBHq749GFY7DnfBnMFg7RBXW4Z84I5FRr4OfphttmDoPBZIHWaMGqA5li2tyMEQEIEdqy9Yn5iMpT4qHLQwEAYTdNBgBcMW4QHr1yDBr1Jjz0awzOlzTg6avHQW+y4IZpwTieUY23hCieVQcyMX6IL/YllyOppAH3zh2JSpUeOqMZt80chr8Sy/Dykon45GCmnQC4fGEo8mu0uHVGCF79IxlXjh+E86UNeH7xePx9vgKFSi2mDw+A2cLhkuH+Tus7uboQeLvz6ScDfTwwZqAPf48F8QJ7SIAn4orqcclwf6SWNcJXEsEwY0QAkktVDvdLUbi6wGLlMHqgN4qUOpn46CaJWqLMGhmIpJIG+EmOQwjfxxvNVlEI83BzwawRfCoMFbtiCvnJqqebq91+KX4KN1mtsUG+Ctm2Q/wU0BjMmDZMfs7mjQkCOGDWqEAkFTeIxwL4yXyUkLo2c2QgHlowGivD02EyWzFtWABii+rAcYC7iwsCvd3RoDMhyMcDdVojpob449Erx2B3YhmMFiuyKtWwchwmD/WDu6sLzJL0OX9PN7x161R88Hc6DBYrjGYrrhg3ECEBXvBwc8G2mGLZ+fVyd0Xk64vx4vYknMyuwdzRA5BW3ogmkwXurgSLJgxGcZ0OudUa+CncYLFyGDvIF01GFbRGfhu6wtxnh7Iwd/QAuLkS5FZrUasx4INl03DDtKFY9v1ZMRprqL8n/DzdMMDbA6EDfZBTrca0YQEIHeiN6SMCxVUAAb4w+4bl83AwtRLhyRV49MoxCPszGTUaA167cRJW7LEvmP/MNeNgMFlRXKfFpKF+WB2Rh1FB3nhg/mgkl6pwPLParti2QnI/0JRCKXNGDxA/H+yrEAWkgT4eMpHHx8MV44f44nypCvNCgxBTWIcv7pmJTw9lylaDW74wFHddOgL/Xh+DWo0R39w3S5auOmtkIFwJgd6kgsnCyaIXp4b4w2LlMDHYD24uBAnF9bh01AAQwt/Xd80ZgaPpVXhv2TSx3tFbt0zB4fQqsXg7fS6H+nuK12V4oBfcXfhn8bLQIL7oN+yfP0cM8lHYCUi+CjeEDvIWvz9jeCAf8sjxz2ZBrRYcB1lkIuUHSb2w3gyLQGIwGIy+AItAYvRxWARS10MIuRzAuxzH3Sj8/ToAcBz3sbPvMBuMwWAwGIweopvsexaBxGAwGBcbTDhiMBitEwtgAiFkDIAyAPcBeKBnm8RgMBgMBsMhfdC+ZwISg8FgMBgMRj+A4zgzIeQ/AA4BcAWwjuM4+1wHBoPBYDAYjA7QK1LYCCE1ANq+ZET7CADQchIyg3HhsPuM0R2w+4zR1YwCUNzqVh1jNMdxg7to34wOQghRA8iSvDUIQG0XH7Y7+rLu6i+74zjsmvS+4/SXa9Jdx+mu39Jfrkt/OQbArklvOcYkjuP8OmNHvSICqSsNSkLIzxzHPdlV+2cwAHafMboHdp8xuhpCSA2rU3TRkSW95oSQuK6+B7qjL+uu/rKbfgu7Jr3sOH35mhBCogEoJG8NAHAnx3EpnX0syTG769r32evSH48hHIddk15wDEJIpxU77BUCUhfzd083gHFRwO4zRnfA7jNGV9O+dZQZjI7RHX1Zd/WX/aVfZtek99Elv4PjuPnSvwkht3WleCTQX64J0H+eFXZNLs5jXDC9IoWNwWAwGAxGz9MdnkJG78L2mrN7oPfBrknvg12T3gm7Lr0Pdk16B515HVw6YycMBoPBYDD6BT/3dAMY3Y7tNWf3QO+DXZPeB7smvRN2XXof7Jr0DjrtOrAIJAaDwWAwGIw+BiGkEIAagAWAmeO4uYSQIAA7AIQCKARwL8dx9T3VRgaDwWAwGP2LfhWBRAgZSQiJIISkE0LSCCEvCu/PIoREEUKSCCFxhJB5Pd1WRt+khXtsJiEkkhCSQgj5mxDi39NtZfRdCCGehJAYQsh54T57T3h/DCEkmhCSSwjZQQjx6Om2MhiMHuVajuNmScLSwwAc4zhuAoBjwt8MBoPBYDAYnUK/EpAAmAG8wnHcVAALADxHCJkK4FMA73EcNwvA28LfDEZHcHaP/QIgjOO46QD+AvBqD7aR0fcxAFjMcdxMALMALCWELADwCYCvOI4bD6AewGM92EZGP4AQspQQkiWIkmHCe/8R/uYIIYN6uo2MdrEMwEbh9UYAt7fg+AgihBwhhOQI/w8Q3p8sOEQMhJD/sz0AIcSVEJJICNnXbb+qn9GZ14QQUig4r5I6c5Wdi41OviaBhJA/CCGZhJAMQsjlPfGb+gOddV0IIZOEZ4T+aySEvNRTv6sv08nPysvCPlIJIdsIIZ498ZsY7aNfCUgcx1VwHJcgvFYDyAAwHAAHgEaEBAAo75kWMvo6LdxjEwGcEjY7AuCunmkhoz/A8WiEP92FfxyAxQD+EN7fCOD2Hmgeo59ACHEFsBrATQCmArhfEMTPAlgCoKgHm8doHQ7AYUJIPCGELvsbzHFchfC6EkAwnDs+nEUr1QF4AcDnTo77Ivixj9FxOvua2EaiMdpPZ16TbwAc5DhuMoCZYM/LhdAp14XjuCzhGZkFYA4AHXiHL6P9dMo1IYQMF96fy3HcJQBcAdzXPT+BcSH0ihpIgwYN4kJDQ3u6GQwGg8FgMLqI+Pj4Wo7jBvd0O/oLhJDhHMeVEUKGgHdcPA9gL8dxgZJt6jmOG2DzvT0A8gE8AyDLx8dnxuTJk7uz6QwGg8FgMLqRzrTB3DpjJxdKaGgo4uJY1C2DwWAwGP0VQgiLaOpEOI4rE/6vJoT8BWAegCpCSAjHcRWEkBAA1dLvEEJCAcwG8BCA5RzHzZw7dy7HbDAGg8FgMPovnWmD9asUNgajL6AxmHHXmnPIrda0vjGDwWB0Bddcw/9j9EkIIT6EED/6GsANAFIB7AXwiLDZIwD2SL7jC+BPAC9xHNfYvS1mMDqXYqUOEVnVrW/IYDAYvZk+aI8xAYnB6GZOZ9cgvqgenx3K7OmmMBgMBqNvEgzgDCHkPIAYAOEcxx0EsArA9YSQHPB1rFYBACHEHbx4tIXjuF3CPqqEKCUGo8+x+IsTWL4+tqebwWAwGBcdvSKFjcG4mHB1IQAAs6Xn648xGAwGo+/BcVw++OK8tu8rAVwnfY8QQgD8CiCD47gvJR9Jo5UYjD6F2cpsKAaDwegJmIDEYHQz7q584B8zfhgMBoPRDSwEX/MohRCSJLz3BvjopJ091ioGg8FgMBh9DiYgMRjdjJurEIFktfZwSxgMBoPR3+E47gwA4uTj6+bOncu8GYw+i8XKiZHdDAaDweh6WA0kBqObcXMRIpBYChuDwWAwGAxGhzFZmDOOwWAwuhMmIDEYPYSFpbAxGAwGg9Hn0JsseP/vdDTqTT3dlIseJiAxGAxG98IEJAajm7FyvHBkYgISg8FgMBh9juRSFdadLUBknrKnm3LRY2LR3AwGg9GtMAGJwehmaOSRmXnNGAwGg8Hoc2gMfOSR1mDu4ZYwWAQSg8FgdC9MQGIwuhkqILEUNgaDwWAw+h5qPS8caZiA1OMYzUxAYjAYjO6ECUgMRjdjFoQj5jVj9DesVg5ZleqebgaDwWB0KVqDBQATkHoDzJZiXAzk12hwKrump5vBYABgAhKD0e2wCCRGf+X7iFzc+PUppJc39nRTGAwGo8ugKWwaPROQehpWA4lxMbD4i5N4eF1MTzeDwQDABCQGo9sRayAxAYnRz0gorgcAVKiaerglDAaD0XVoWApbr4FFIDEYDEb30mEBiRAykhASQQhJJ4SkEUJeFN4PIoQcIYTkCP8P6LzmMhh9H7OVN3bMzGvG6GeQnm4Ag8FgdANqQThiEUhdw+MbY3HTN6fbtK2RCUgMBoPRrVxIBJIZwCscx00FsADAc4SQqQDCABzjOG4CgGPC3wwGQ8DKsQgkRvuwWjn8d0cSUkpVPd2UFiGESUgMBqP/Q1dfU7MIpC7haEY1MiralgptsimirTGYe/1YyWAwGH2ZDgtIHMdVcByXILxWA8gAMBzAMgAbhc02Arj9QhvJYPQnaOQRjURiMFqjolGPXYlleHJTXE83hcFg9AJaiAJ/lxBSRghJEv7d3NNt7Y/Q1DUtE5B6HNsaSK/vSsFt359BtVrfQy1iMLoOVj+V0RvolBpIhJBQALMBRAMI5jiuQvioEkCwk+88SQiJI4TE1dSwqvKMiwexiDZLYevT5NVokFrWPV5OToha6yvxPRy7tRmMrsZZFDgAfMVx3Czh3/6ea2L/Rc1qIPUabGsgxRfWAQCOZ1T3RHMYjC6F1fxi9AYuWEAihPgC+BPASxzHyeJNOX7W43AqwXHczxzHzeU4bu7gwYMvtBkMRp/BIsyurWyW3af55EAmXvsjuVuORW8VliJ24RTWamFmBhijj9NCFDijG9B0cw0kk8WKxzfGIU4QRxjNOKuBdDSjqptbwmB0PQYzs18YPc8FCUiEEHfw4tEWjuN2CW9XEUJChM9DADAXAIMhgUYgsSjUvo3WaIZSa+iWY/WVellU3uqtrS1raMI1n5/AZ4eyeropFwQLYWdIsYkCB4D/EEKSCSHr2EImXUN310DKrlLjaEYVXtye1C3H60tIIzJUOhPKVXzqWkxBHaysr2T0M4xMQGL0Ai5kFTYC4FcAGRzHfSn5aC+AR4TXjwDY0/HmMRj9D1oDiUUg9W0MJivqdSYxvawroQZyXwlA6q0RPjVqXvCLzFf2cEs6TqVKj3Fv7MeO2OKebgqjF+AgCnwNgHEAZgGoAPCFk++xMgIXAI086q4aSFmVagCAu2sfGQQ6ibaI5VIBKbeGP083Tx+KRr0ZuTWaLmsbg9ETsFUHGb2BC4lAWgjgIQCLbYo1rgJwPSEkB8AS4W8GgyFAhSOmH/VtjBYrjGYrmkyWrj+WuesFpKSSBkx880CnFB41Ma9vl5Ffy0+I/kwo69T9ppapMGXFQVQ1ssKzfQVHUeAcx1VxHGfhOM4KYC2AeY6+y8oIXBg08khntHRLRCBdkexi61n1bRhfTebms9IoCHtLpvDlV+OL6rumYQxGD8EikBi9gQtZhe0Mx3GE47gZ0mKNHMcpOY67juO4CRzHLeE4jiVsMxgSaDqShSlIfRqDiR/EG3SmLj9Wd3ic1p0pgNFixbncjkfnUIHLdlnl7mDjuULsSWpZVHGmvyk1Bry0PbHDBXHrtMYL+n5rROYpcf/PUUgsroeLcJI7O/Lt51P5aDJZcC6vtlP3y+ganEWB0xICAncASO3utvV3VDoT1HozBvkqAABqffMYYLFy+GBfOkrrdZ16zIwKPrKmrL7poiqi68xBIxXtpOOjzsBvP3WYP/wUbsisaLT7LoPRl2ECEqM30CmrsDEY/Z3sKjV2JzZPTuMK63A8s2MFGptrIPUvAalRb8KPJ/MumpoD1Git1xnbtP1vkYWoUDV16FhUkCFduA6bqwu/787wpput3WfgGMwWrI7IxTt701qtD+LsmfvueC52J5Xjj7iSDrXhm6PZ2J1Ujp2xHft+axzNqEJkvhKnc2olAlLn7PtcXi1OZddAZ+QnXt4ebp2zY0ZX4ywK/FNCSAohJBnAtQBe7tFW9kMSSviolmsn8ZFbqqZmASm/RoNfzxTgoV9jOrz/lFIV/vVLtCz6plwYO8xWDsV1nStO9TakY5CzCCSpiCZ9rTPyIr6PhxuCAzxR1dhynUKTxYoHf4lCbCvFyf/3R7LMBmQwegomIDF6A0xAYjDawA1fncJLO5onp3f/GIlHN8R1aF/UOOpn+hHe/zsdqw5k4mR259XTaNAZEdVN9WpMFmu7REGDYNjGFdYjt7rlOguVKj3e3pOGpzbFd7Bt/M3i0oUpbDR6qDOETaOl+27u9WcL21wU21kxcvpMdnSVO7pb1y66QLR9TSaLeJ066ww/sDYaD6+LESdern2l0NZFTgtR4A9xHDddeP8fHMdV9HRb+xsJRfVwdSG4WhCQpFGodIWkglqtw++aLVaZ4OSIl3cm4UxuLXKqmscVrcGM4YFeAPiIx/aiNZgRGhaO3x2I5Komk1i3rlipQ2hYOCLzeq5OnFQ0ar+AxG/vo3BDsL8CVa2kZBcptTibq8Srv59vcbsdcSUyG5DB6E6kEcdGS9eXTWAwWoMJSAxGNyOdxNpGe9SoDV2WBtPVNAiROJ2ZbvXohljc93MUDOauHzC/PJKNRzfEyQxng9niNGqI/s539qZhyZcnW9w3NYLbGq1kS3MR7S6MQBL23RkCUncW0W7PMtrOPHccqIDUsTbQc9ZVAh+dlDYZLeK90NJ1qlbrWyzuW1Kng+2Z0AoTL303PGsMRl/mfKkKk4L9EBLACzoNEkFI+tyVN9iPHa/9mYyZ7x1uMQWVCkTSiaLWYMHQAE8A7evzKNXCAgLfHc+Vvc9xHGa+dxiv/pEMAIjM51NY/0wobfcxOgu5gOS4zzZJnBTS11pBCPf2cEWwnyeqW4lAojWTFG6uTreRClTV7agRl1qm6rP2XFejM5qRWqbq6Wb0GaR2tdHcu73PJXU6lPTzKEnGRSAgcRzXLaskMS4OOiM9y2J17DkDgMs+PIobvzp1wcfoCehj5tKJIke6UL+gIwZze8kTooikIs9rfyTj8o+PO6w5YXBi2DqCekXdXDrW5Rq6IWS5OYXtQvbC76O31uhwJm7Sx7qjd674/S4S+KiA2mS0iCJYS8PavA+P4bbvzzj8rKBWi0WfRuC74ZfL3tcJEx1nEzYGg8HToDNisJ8Cgd7u4t8UnUT8qFDZiw27hOL3jS2MaVRAopFNHMdBazQj2F+oudSKKKHSmfBnvFwAoqK+rbhPawz9JaRnUTHG2WpvhbXaDqfvtxW9ZLxzFoFklk2o5TWQXAigcHPBEH9PVKv1Lc4BagVhTeFuPzYfTK1Aab1OJgrGtbEot9lixa3fncGDa6PatP3FxtboYtzxw1k0GZnDoi1IbcDevgrbok8jsOjTiJ5uBqOL6dcCktXKYczr+/H54balNzAYrdEZHbd0F472V+bAa9kXoBERnbkijbsr30VJje1/r4/B2NfDO+0YFNrsZ7ck4KlNfHrigdRKAI6Xam6PqEO9os5SnE5m1yA0LBw5VWqHn4sRSG0+Yvtxcem8CCSTkxS2F7YlIjTM8bU7llGF0LBw5HfhsstdVTuAEyOQuuYK0XbrTBbx3LZ2lfJrHKfQVAqT2rMBo2XvU5GzO1YVZDD6Mmq9GX6ebgj04gUkaUoaLeIM8BHFttAhwFkamlTsoAKSzmgBxwFD/NoWgfTC9kS88vt5rNyXLhbFpxGGtunFtvuiwowzZ8f1X53scPp+W5GKRs76I6nt9M2xHDGNXGe0wMfDDYQQBPsrYLJwqG9hoYsajSAgucl/r8ZgxtObE7B8fawsiqiti2ZQm+V8ac9H2exLLkd4cudksh5MrWh1sYq2UK02CNemY1HZFxtSh2VfqYHU2QsJMHoX/VpAUgsd+OqIvB5uSd/h8Y1xWB2R2/qGFxHbY4rF1+2JOnGGLAKpjwwEbYEKME2mzosW8hAEJOkqNyeyatCSRhWZp8TiL06INV3aitRwP5Qm97DahqFzHNcuMZF+31l9GVqcM7GkweHnYkRPFypIdGLTGdFDzvax93y50+/sEwzcJCfnwBEfH8jA9xH2KRmO2JNU5rQGFf1Ke0TBNSfy8OL2RADNoltn60fLVp/FpqgiSQqbWRKBxB+zQtWE2747IwpDrQm4VMS02txMdBJsYAIS4yKjUW/CA2ujkFvtWMAHeIfkoxticSanVhCQ3BHgRSOQJClsknGnVmMvIFGnyB0/nEVEVrXd5zWS79DUOOrAEFPYDC2LGFmV/O/45UwBHlgbLduHyWLFxwcy8POpPGFf8rGN9jVuTiKQqIBt28f/HleCxzfGOu1/9SYLHl4Xg+TSBhjM/OuEYsfRPFIB6aFfY2T1pHbEFuONv1JgthHCqNNHZzTDW8GnowX78+erqoW0s1o1L2DEFtbj+W2J4vtZlXz0c53WCK1EFJTaIs6IyKrG8vXNRdSdRVE5okipxe2rz6K+A3WunPGfrYl4bmtCp+zr6c0JrS5W0RbqbaLsugOzxYqwP5Px48neMyesVOlx15pzraZGSss49BUB6Ximff/G6D/0awGpoal3KNsxBXX46kh2h79vsXJ4e0+qaBR0JUczqtpckPZiIWxXivjaYFO8riOTbWkNJOnrvrB6mclixeu7kh3mN9PWS42tC4Uasep2pLC9szcV+TXaVgtb2+Lw7Atv2v4mR0KDIyOR4zh8GJ6OMzm8F9jFSQQS/a6tF5TSVRFIar0Jr+w8jwadURS32prCtD+lApsiC2XvUXG0tefC0SSD/rbWHoPDaZV46Ndo5Far8dPJfLvPnbV/ZXiGw/frtUZsE0TilsLprVYO7+xJFaPEPjmYiT1J5TBbrGJUobMi3ZQzObX47lhOi9tQOI7D+ZIGrNidKhqMTSaLWBeFnsKYgjqklKmQXsF7uluLTqBil8ZVgScn3i6+TyeSLKWA0ZtQ6UydGtXqiIMplTiXp8S3x+RitMZgFvvmKrUexzOr8cyWeKj1Jvh5usHN1QV+CjfZJFj6/DiKQPIQ+vgGnQnL18ciNCxc9h1pzR6VEJ1Bn80hfgrh75afUUcih1RA+ulkPj7anynbt3jMVgp8O9out1qDV/9IxtGMaqepeTlVGpzKrsEzmxOQXKrCqewavLMnDf/8KRKPbogFwIs/OqPZrg//QeIk+N+fKdgaXWw3xlCHjtZoEVeSpCl/lS0JSBLB7u/z5WIEVkYF38+HBHrKzlGjg3N7MLUSE97cj2qhYPeh1EpZ5FFaeaPT49vy7bFcJJU04FBaZZu2r9UYEBoWjsNt3L4nUDWZMP6N/fhb4kCi4mhnz9NqNQY7+6LJaEFoWDhu/e4MtseWYNWBzFb306g3dUvtzd8iCxFfVI8t0bwNonQgOgO2KWy9e4z2VfDP38VY48pRn99f6d8CkhNlO7G4HhEdVEatVg6/nM53OIiodCasO1Ng13nd+1MkvmnjpMGW3+NK8OyWePwWWYQXJN6R3kq91oiN5wr7XN2pk9k1iJfktlc16rE1uthuO9sIpPZ4lihSoUjqSbAN1S5raJJFP3WUglqtrB5CSqkKxzI6VsMgOr8O22JK8ObuVLvP6DVvb+RPS7g7iECiOPsN1Phsz0o1OqO5RW+JrZHtKPrIUX9TrtJj7ekC/HqmAADg5kRAosaB1mBBndaI9Wfl/Qi9Tzqrxs75kgYcy6jCjtgS/JlQijUn8sR9N5ksOJBSgYyKlo3eZ7ckYMWeNNl71Dtt6x22xWGkj5OfVqzUyVYO2nu+HKdzavGDk8jS0zk1qNUYsClS3g9NG+bvcHupN1LXwvNcrmrCxsgiLBcmO5TsKo14HGfRO4W1WvyVWIp//RqNL45kywxpZ0jvMWrI6owWmMw0hY3/v1jJi7lUZJWOTXvPl8uE1I3nClEoePMzfQbjcNAEu+OyFDZGb8FotmLm+4fx3t9prW4bV1gHg9mCvBpNuwodA80RKoMFgYZyyTuHsPRrviZhSR2fWq5wc4XBbIWfMEkK8HaXTYJpBJKXu6vDCCRHToKzubXia6kw0xyBxD+Tvgo3+CrcWhWJtQ5EYJqiKhVeYgrq7Jwz9Jg6ByJVoiRiSDreSVOvI/NqHYpQ9ByVNTShQEivDQnwRHRBnTj2zvngKBZ8dMyuH/URzrUU2zFE4eaK/BoNsiob4e3BRyAN9OGvp1Lj3BawnfDRdDc6/nm7u8lS2B05s57eHA+ThRNXzSu2cbBVOqiF5QyzlUaAtW16liJM0tefLXT4eXudnGaLFbGFda1u1x5Rd1tMMcxWDjsl47hKOM+qNkYgWa0covKVLc4tSup0WPDRMTtbjpaFyBSc8J7uLq06bGe8exiPrItpcRuA5wyWigAAIABJREFUt6U6Wii9WKkTi9tbOQ651RrM/fAo4oTzH1tYJ57nC0lhy6lSd2jlxo5gsXLi+XCWRt/XSCiub5Ow/v3xHFz24dF2pe7pTZZ2Rd33Jvq3gCS54NKJ/h0/nLObBAD8gOFo1Qwp0QV1WBmegbdtJtDZVWo8vTke7+9LR6STZcfbqmbrjGacy6uFWm/Cq38ki+k0li4WZdoTAcNxHE5kVdt959U/kvHO3jQ7j0uN2oCUbs4Fjy+qc2jAOeKRdTG4a8058e+nN8fjjb9S7EKfbYUDR5Ot1DJViyHT0igF6eCutRFenvwtDmG7UtqsaJssVpzOqbF7/7GNsXjl9/NiuPxt35/BYxs7VsPAZJWnz0ihb+mcRDBE5ilbFZf0JgtOZdeI+/dwUAOJ8tjGOIftoM96brWmzUsROzO+qKhhF+bvIMqlVmPAqWz+/KeWqVDdqEeyzcDgrAYSbXO1Wo/LPz6G9/5OFwuIA811K9oiH+lNFpyTTEhsOZtbi2Wrz+KxjXGioKUxmEWD3GCy4JktCbjpm9NtuvfyazRi3SJ6P9frjPg9rsTpc0AN8oJarTj5IMKvo9dUazAjKl+Jf6+Pwat/JIsiIr0W0QWOjdwnN8Xj5R1JWLEnTSaeODN4pW1sKfrmnHAv2QqFhUqtGL2WWqZCeHIFDqby6XhqvQkxBXW4/YezeHlH8zLRz29LbLGPsG2LUbIKm4Guwmalx+eNFfqMSCc4L2xLxI3CBLiqUY939qbJIiodwYpoM3oLtDj1jlj7peelHEqrxN0/RmJLVDGu++Ik5n98rF3HyRP6L0d9BH2+bKNufT15USPQ2x31WiO2RhejyWgRiziPGODVYgqblGOSotTS/oW+pn2eKCDZpLCZLFZsiipq0aGlESOQmn/jvT9FysR5oHlCr7EZq0vqdLjjh2YbSSURzaS/8+nNCXjAQeFo6TZJpfy4OMDbQ3xPrTehyWRBo95stxIkFYSk2PbDRUotFn9xEtlVGvgIEUhBvvz+67TOxzHba6QUtk0VbFhVk0kmIDVK5hUZFY14bktzahidZJbYTCBbOr4t1PkiLXXQEjQVzFERcED++9qyOuqmqCLc82Nkq072nGp1m2sh0fpLNKUQaBYUG1qYmP8RXyr2AZ8czMR9P0fJHL22JJY0wGzl7Aqd08gwit5kRUUL4y+1Y6LyWxbSdEYz7v7xHN7Z07rA7YirPovAH4Jzt8loQUGtFhzH183KrGzEPT9G4qBQh/NCUtge+CUaXx5pX2aJxcq12qc4Qipu59f2fQFpd2IZ7vzhHNaccOywVOlM2BlXAquVw+eH+Uyj9mQ/vLMnDbevPosyD79OaW930q8FJKliaOsRAOwnwTd9cxpXfnIcAC94lNTpnIo+uTaFXm/46pQoHDmbdFFPcWu8svM8HlgbbecF8HQyQEip0xo7nIIgFUNsvRaVKr1s8DmWUY1/r4/F2tPyFBKav2973m5ffRa3fX8GZQ1NXZKqxXGc6GWwWDkklTTgrjWReHlHx3K1Kxr4wcVWdTaYrLL251Vr7Y5/63dncMu3p53u2yITkJpfSz1+ZQ1Noghne++WOzmH3xzNwUO/xuBgaqXsHqAGyfL1sW26N6xWzqmCTgcHR0IIFYccCUh1WiPuXxuFF7a1fD02nivEw+tiRNHUNoWtQiUXeKUFxxt0RmgMZlHkWxmegfvXRuFIOr8vvcniVFB0tuJMcwqbGRWqJpTW62CxcrJVdyiPb4zDw+ticCanFrd+dwZLvjxpV0CzRm1Aab3O7vrR3/f10RxRyJHee/R5NJitrYo6K8PT8cAv0ch2UJC7oFaLB3+JFv+m11FvssrSpCg3feP8PqYs/uIkFn9xEg06o9jmnXGlePWPZHxxOMuh95UvCsvh2s9P4PqvTqGsoUmsH0Sv34vbk3Dfz1GiEUKfA2rAtyQO1woeZ6mX2pmXUFpfgz4fSo1B9qzkVKnxmrDMtcZglu2rQqUXC4HuTirHc1sT8PTmBMQX1WH5+ljc+1Okw+g0KjZSbIvnS6MIDJJrQ+um0VS04jq+/Wq9CRzHIatKLt5brByMZmubveAsAonRW6gTnqvWfGc0wpP2o862V+tNeHtPql0EOU1X2pNUho3nCgHYT7Zp/0OfOz9Pvv5RoJcHIrJq8MZfKfjqaDa0RjO8Pdww2E8h9tVxhXVi6qqjyd+pbF7wj8isxk9CbaKQAE+7Gkg+Cjf4KFzt+rKN5wqxYncqtscUO51cOnPeJNuMUXRib7twhG0Eg7RPq7GJ8HGUskVrDQF8+jMgTy2TCgP/+1MuclNRWzqZVdqIMlJbitZA8lO4wcPVBUqh7SV1Oqzcly5eW5PFajdO1ml4GzpNiOxpaDKK59vf000m0H9xOBvhKRW4ZtJgoU1GmC1WlDfI+1plO6I/6PjX1lRCel86K3pe1WhfU6sl6HU+5mClPem9de+PkXhxe1Kbov3oaoTSe4jeP9L7yGi2YsXuVPx8Kg/v7k3D//1+HrsSymC1cvjpFD/XKG9hHKNRY7bR09K00GuFa9XSYh2tOXcomZVqmCwc9p4va1eUmSMqGvVif8FH0vH35Y8n87DxXKHMlvlgX4YYSdwaOqMZNWoDito4/6QczajCit2p+LydJU1o3zphiC/qtEaHtjJlc1QRTmbbO72lhCdXiDVCe4KfhfvO2T3xyu9JeO2PZBxOb04hLalv+0JIdJ5f7+Z1Aa3sGfq3gCS5cfMcKILSDppO6Kwcb3Bf9uFRLPo0Ai9JisUZzBbx4ajXNi+vaoujpVsB4Po2Ls9+Iot/oE5myR8sq9V5gVjKpR8cwR0/nO1QCpk0AkYa8qvSmbDg42NizjzQPHhnOVk1yrZmDJ0cLVx1HN8db7lId3vbbrVy2HiuEAtXHUdyaQO+OJyF21efBQCU2jzIHMeJhpTVyrV6LNtJqsFskXXk96+Nwr7kcmyPLcHCVcfFUPRayfmzPYbFSQSS1ChcuOq4+JpOEAFe2b5i1XGsF4xcKQVKfrunN8fjfokHcOxgH/G1s6W9pazYk4orP4lwWMSRGgCuhNj9LpWNsSuFRo84ipCSQsUnmv/vKhhFqiYTqhv1uPzj47LtpYbqrPeP4LovTtgZXk9vjofRbMUj62Iwd+VRh8dtrXZNhYo/9pWfROCHiFw8IBFhKNQYzq/l+5pGvRnnbSKQyhqacOUnEVhjU8TRUR0AqdFDRYPiOh0u+9Dxb6BQw8OR0GSb+kDPld5sEQ1X6T3f1gg+gD//mTZ12nbGlWLBx8fsvFhao1kWqblw1XHx3qBCKh1YqbBUZJOq5azg9UAfD7EguPS4jQ6MZ4PZIhP5aArbnJVHcccPfB9Srdbb9d13S6IVP9iXLvbZUu5aE9niks/S+3R/SoWs/wAAneQ5EldhM1rsoiALJedla0yxLNKJ8vC66DYbxR1Jy2UwugLRznKy5uDB1Arc+1MkYoRoRGmkgaO051/PFOC3yCJZerrVyokicr3OhHf2psFi5WSTXYPZIm5D3/fzpHV2mqMqlIL44O3hikG+CpQ36LF8fQzu/jESXxzJRmJxvcMUqLKGJlQ16rF8Q6wo6Iwe6I3zJQ146NdosW/0UbjB19PdrgYSjY40mK0On3O9yeK0NqFtpD6d0NuO47big0xAcuLUoDbCztgSfLi/uQYd/W6eZBL/7/XNWQG2+6N9pdS2bsmRQiNrCSEI8vEQ7dkdsSX45UwBHl4Xg52xJYgrrEej3oyJwb7id5VaI5JL+UiWcYN90KBrjkAKCfAS5wAcxyGhuB53zxmBtQ/PBcCLTxUqvczG81O4tSt9iDou2lpcmqZWqpzUEpLeDy0V5m4uQcAf31H0jVR4pRGvNa3YCCaLVZwvUCGN4ziHNZDOlzZgU1QRPtqfiQ2CjVvVqJdFC725K8VpNAgVjjIr5HaI9BzcMmMYgJajRJzN4Zwdz2ThsP5cQZu+Y7JY8diGWBxNlwt0FQ1Nor2VX6NFnpD+lVKmwjt702T3kNFixTNbnBdFX3sqH58d4udrVMxsLbvGFmpzxDspdO8Meo/MGhkIAIgrdP79t3an4pF1MdiXXI7/CQ46W57bmoCXOhgIcKFwHCdGnjpbLTBdmIMkFjfb+qUOAlacQR0SDUxA6l1IO+BntyagvKFJtoR0ZaMeMQV1CA0Lx9g39ovvSwc1uoy3xmDGjHcPi6v40Jvp5m/P4JnN8pV9WlJ6W4q+OZxWyRdUFAz4jZFF4meDfD2QXtGIySsOYnVELkLDwhEaFo6bJRECdADIrFRjzOv7212LRhoBI+3UqwSj7HB6JSpVeoSGheNIOh/e6mxVsofXxeDdvY7DOvcll+Nfv0QjNCwc131xQvaZxcph9gdH8MnB1ovcUZZviMW7f6cDAD49mIUfnAwuAPDZoSxMffuQEPJ+Dg+vi5G1oTWvm9FstZtgHc+oxpncZg+ilM1RRRjz+n6EhoWLXlKpcUEng/tTKnDrd47FnQJJHjEVB6KFyXdqmQqhYeFIKmmAp1tzmLc0p1a68pd00HQWXUeL+c3+4AhCw8Jl2ylF71Q1rv38hHjP8VFL/ADlKN3MdtL/3JYEhIaF20W40PNPJ/tiSpTW6NBQeWpTPG7+5rTYjqpGg5332WLlMPGtA2LKU2hYOA6kyJe0deTtCw0LF69PmqQYYFxRfYvGa5lEtHRWRNA2R9+RsVjZqIfVyiE0LBxf2BTh5zgOOVVqhIaFi8s03/jVKTz0a7SYIvHgL9F2kyjb30lFr3qtEUbhOu9PkRfjXHembYZRSxTX6fD10ebfoDNasNMmLYV6SqmQbfucFdRq8eZfKchpwfAbM8gHSq1RfMakkzXp69J6fiyY/f4RAMDK2y/B8EAvaA1mWT/608k8zPvQPh3GVijrCCvDMzDvw6NILVPhWcEYTJAITo4ikGrUBrEAaF6NBqFh4eK92NhkcpqyGZVfhyedrEAnZdxgn06tYcZgdIT4onqEhoWLq3SZLJxdcdnyhiY8vTlBFI8AyBYacfSMSqMxxPfUejtRtkipFWuTAMCqA5l2K0jSGkhTQppTD9xcCLRGC3wUbggd6I3KRj0iJOLyz6fy7Y5F6y7N/6i5n3F3JRgW4AVVkwmnc2pFW9BX4QY/hRtOZdeIqVPFSp0otlc1GhxOjKsa9U4jJKQ2TmOTSZI2Z7HZTn7uqACgMZhRXKfFsABP2ecrdqfi+q9OQdVkwmt/Op4cUpth8tCW0zfopLRCMgluKaqnXjKeBvl4iL8xrog/T+fylHjtz2REZFXDw9UFl4UGNe9XYxAFucWTh8BgtorHCgn0FMeRglot6rRGzB09AO6uLvD3dINSa7CLGB/sp4BSw0diUHvmH9+fwTt7UqE3WVCk1MpsEioitCVaCGhOrbS9txv1JuiMZlmEkPS8WK3Nz9TqiFzMXXkUqiaTKLbkVmvsHEiO7KRqB8+UFL6oNf+a3kPSiGeVzoRdCaUIDQt3KDZUNepl6aNqgxnbY4thtlhRr5Wf18wKNVwIb9dUqHhBxmC2iI7uZ68Zh9tmhmB4oBfO5vLXOFuwo5JLm21mW7GlUW9CaFi4XcpeRkUj/BRuuGV6iMPC7vVao8zRunJfOia8eQDHMqvx+G/yMhIVKkkEUq3GLkLKVnBqySH04f4MrI7Ig85oFqP2K1T6djnn6b2RWNwgprXqTRa76E06hy5S0kho/vm4fmowQgd645XfzzuMhpfu5z9bE7EjrkRmr9aoDTI721bUt0VjMCM0LLxTo5VUTSaohTmJs/6Tznfo/CLYX+Ew48kZdDqodGcCUq/iygmD8NYtUzBn9ABwHHDFKnn0wtu707D3vP3NZhvSe+9PkdgZWyLzeBvMVuTXaJBR0SiKTBT6IDlCbTCjqlGPZd+fEZVLyu4W8omXXjJUPK50lTRpnRTb1KHfIotw38+RomilM5px95pzOJxWidtXn8WR9Crc8u1psbOUfl86oaUDRGl9E679/AQAPrwRAMJTKrDqQCayKtW444ezqJF0ahscRMkA/INOBZc8iTiSXNqAcW/sR4POhDUn8nD/z1F24djrzxbgpe3NxcQtVk4WAnnGpvZLab08DZFGBKwMT0dCcQNO59TK2jDvw6No1JtEj6dth2UwW+1SPHYllomG0C82k21p7YYP9qUjNCwcuyQdnMlsxcp96eIE0hGJJQ24a805vnMU7hG92Yrrvzwpik63rz5rN7ifzK7Bg79EOTW0XpSkk727Nw1PbYrDok+P221Xozbg7jXnEJFZLTMoCpU6PLwuBvM/OoqwXcni85FV2Yhnt8Tj9tVnxetnG/0RLhhLGRWNKFbqMPHNA5j/0VFkC8YvbTP1xtVpjU5rK6VXNOKNv+yLerfEtlj7ug9D/BQYJ4nWkiK9ZtL77d65IwAAV08cLL5HQ60BiINPS1isnGOvdH2T0zx9vckqGrkPrI1GkVKLrCo1TufUyopvljU0wWLlcM+P53A8s8ruHqHeS6XG6DT1IbWc7w/3JJXhcSd1p1rjhq9O4eujzQsJvLAt0Wl0ztdHc/DM5njxfqKHSy1TieKmr6So6s6nLhdfjwzyBtBshEuNFOk5ps+1zmiBqwvBvXNHYvJQP5Q3NMmu2cctrNZy6ajAFn5x26hWG8QUSwD44ki2aLhJhRxHYq/JplC5Wm+Gp7t9rZC2cPP0oTj40iIM9lPIoicZjJ7gr0S+Lsg2ySISl686jihJ1KLU4wvwq5tJBSQq+qeVq0THBJ10pZSqRDuN9oGDfJvr8WRUqGVj3SZBwJH28zSFbUpIc3H+arUeOoMZ3h6usvcph4Vn/b7LRmL+GF60uGLcQLvtTBYOzy0ej9eWThLHGADwUbiKpQzCUyrAcRxe2pEopiJXqJpkNiHlH9+fxY64lutIAcDpnFrxHNFzZjBbEFNQZ1eI+nhmFXRGMx7dEIuzuUqMHewr+3xTVBFyqzX4/njrC8h8ce9MzBgR4PRzOm5Ja6rQfvKDZdNwx+zhAIDpw/l9SO22gb4eUGp5keF8idy2jymow5Rh/nCRONkqGvXYEl2MRRMGYcwg/jeV1TfBzYVgoI9CtGVoyt2c0QMAAIN8FVBqjXa1sgb6eqBWY8Cs94/ghW2J0BnNSC5VYWNkEa7/6iSu/uwEAOBHwW6g9520uHRJnU4sgVGp0ovpS1YrJzq8qxqbBYKyhibMePcwXt6RJEv5kp6X7yNyMWflUcQX1eOzQ1lQao3IrVajutEgRnBRh0ZhrRYldTqHAlJLQsaZnFox2m/sIB8oNfz5SZE41hp0JnGcPZhagQAvd3x7/2zJ/u1FuSKlDmG7UjD7gyOY9f4R/HfneehNFlQ26nHXpSPgQnjRd+7Ko5j01kHsSihDSIAnXls6GQo3V1w/NRhncmvQZLRgn1CfKVziVJSmIBrNVrFO4xeH5Y68lFIVpoT449rJQ6DWm2XXPqVUhdkfHMGKPc22qe38wPY80kyNqkaDnfPxsI2A5CwlX+p4O5NTK5vf5VZr7OadzpDaAY+s54uJ3/dzFGa8exhGs1UU7v+I5/sVGoVNn49hgV7Y9Nh8eLi54JWd9lHRjlZypv13k9GCeR8dlUXbb4kuwqJPjjv93TQa7P196Ugr71i9XYuVkzkk6H03yFchcyhQcqvVYnuSShowxE+ByUP9xRpoDTpjq+ebRiDVuXt3qM09Sb8WkGaPGoDHF43F7cLgYktMYR02R9mvcpVno/zGFNTh/X3psvcsVs5psexzeUqxYLEtfyWUYtGnEThfqsLHB/iQ3i3RRdiVUIogn2YDZvwQ+WB86agBDvcH8BP85etj8LDNigGrDmQiKr9OnIRmVKgRV1SPJzfFI6mkAU/8Foe08kb8lViGqkY9XtrRLMz8d0cSPj+UhdjCOvxnW7O44ag+xo8n8/DA2igkFjfY5SfHF9WJv5Nim0bz2IZYPLc1AS9ul4cpRuYrkVnJP3w0N/q9v9OxO6nZE5hT3XIkgMnC4YG10WJEDu20qNFoi9ZoQVSeUlSF37YpjucoAgmAXaoSALyzJxUjBrSsKv/z5yi7QeWhBaPx/OLx+PjO6Zg+PACnc2pFY4VONmMKlHaRGEdtViX7KDwDZ3OVSCppEItRSzmYVon//ZGM8yUN2HCuEIfSqhyeF3rfPLslAdk2Xl3e4DRgZxxv8M8dPQDZVRrsT6lEUkkDyhua8MnBTFHsAOzDqH84kQujxYqqxuYi1ErRU2UR/24ppHubzWp1lwznjffRAx13yj4ertidyAsilSo9GnQmBHi5Y/uTl2OQr8Lhd2y589LhCPDiJxHzxwa1srVzbMW1S4b747rJQ7ApqgjbHKwECNh7AqkRCkDmcVz69Wm8sC0RsYX1eHFbkl2qHB3olFojjBarmJZB8XR3EQXkN/9KxdGMKkTmKVtcEOD5xeOdfkYprW9CaX0TAr3dHX5uK8o7e2+AtzvmjQkSJx9jB/ECIDV+qHfIZLEXfil3XzoCHm4uGD3QB0VKHWrbWLR+1V0zHL4/Mqh9niTbFTqpQCmNCDWarU4LsAN8sfn8Wo1YkLO9TBjih8lD/THU37PNqW4MxoXw9/lyfHUk2+EqTHT8laagG81WPLExTrQJMioaZc/EvNAgmfi7M64UP5/Kwy3fnsHVn52AwWxBpjDJCE+pEKPJ6SRBWtA5s7JRNoEyWzk8cvloLJowSHyP9pVSoahCpYdOSGGzFZA83FzEyMj5Y4OwYCwvHAX5eODwy1fZnYNxg33x7DXj8X83TBLf8/Fwk43RsYX1SChuwCvXT8SiCYNQrtIjo6LRzu6g40WAl3uL0T6v70rBYD8FbpgaLApIP53Mx70/RdpFYJ3NVeKVnefFCZeHg9XlAOdL2EtXxRzsq8COJy9H2E2TZdsc/e/VuGLcQHGMPJFVLaYn0+tz6egBGOLPj9nThXFAKv4N9PFAndaAzAq13RiQVNKAqSF+uEoiDP4eV4pajQFPLBorjk+lDU3wUbjB36u5BlJ8UT0CvNwxThDOgnw8UKcxoqReJ7svg3w8xMntgdRK2cpU0mupcHXBkfQq8XdJx+pFn0bgqs8iUKTUYsHHx3DN5yfw/fEcvPL7eSi1Rlwy3B8Gs1W0kb4XykQcSqtCVqVajJaT1qOhzkjpKqS/RRYhprAO100ZAg9XF5zOqcXaU/m45vMTuPbzEw7TwKWRT1Yrh81RRYgrrMOnBzPxr1+jxZIVU0L8oTNasOjTCNz7U6T4nYYmozgnOF+qwpQQP1k0W2S+Ej+fyocLAaRDoHSs+/t8uVi3c+H4Qbhh6lDsSZLfr9K0tKWXDIXeZMUH4eliqZPUMhXO5dWiWq2XFZyu1xlRUMvvW2r3VKv1OF+qwqIJg8QyEfk1WpQ1NGFXQil+FGqZbY4qRrFS12Jq+KRgP1g5eWR6oVIHL8EhNCnYz34lYLPVzpm3J6lMto8zubUyMeyhX2Nw87enxah1juPLf6yOyLWLnqrVGODn6YaZIwORWqaC0WwV51GrI3Jx70+ROJpeBYWQ+UDTh+nz4efphpFB3nj8yjFIKVPZ1Xh0PNfgn5PzpQ12mQRH0qugNVrsytE06k3YFFUkCjV1WiNu+fZM82Ir+UoxY8OWQ2mVyK5SI7OyEUfTqxCewqdE033RNs4dPQB1WqN4/avVemyKLMSSL+WlDcYO9sHogd4oqtWB4zg8uiEWN397usVrT897HUtha4YQspQQkkUIySWEhHXVcdrCQIkwQ/nXglFOtz/kYKLiiLccLGVOWb4+Fh+Gp+PLw/ICZO/+nS56+qPz67AnqQxv/pWK/+48LxOzPr9nJv59RSheWjIBjy4cIw5SjrjtuzOIyKpxujrB05visT2m2KHiCwCe7q745lgOsquaH8xylR7fR+Tinh8dF4C1xVmUy11rIvHTSXmhbduojGOZ1QhPrpAVsx0eyD9MXx/NQV6NBv/3+3lsimpO6Xt7TypOZFVjb1LLy2HfMXs4UkpVuH31WRTUalHZqMeD851fewB4YXui0xSlVQczxaJqCjcXvHCd/TLYj185BgCfgnjMyUoWjgQdyvOLx+OVGybh/nmj8MbNUxxu05aVkqT1qYY7EbJ2xJVgmVAvyhm0U28yWRBXVI9BvgoskAgm0kH9zktHyL779t40rDmRh+8jmutePbpRvgKio0lvncaI0nqdeF/VaY1tLirp4eYiTgauGDfI4TZVjfz9fTSjCuvOFkDVZEKgtzsG+ymw5fH5mD8mCEP8FLh5+lDseW6hw30o3FzEiA+6tHpLSI3j+KJ6fHkkG1qDWQxVpyIIAcHzwn0lPW9SGpqcRwzZpm5Qz5rC3UV8ln/816UAmpdZrdUYcDZXKavnEeyvwKIJgxFTWIdPDmaKA3JUQR0+Pei4sOL7y6bh8UVjnZ0CPCY8G5SF4x1fn9agbRk9kDfcAoXrHWojGK4/U4APw9PxlU0KoJRgwVgdPdAbTSYLtrey4hNlYnDzRGy2JBrpzZun2C0HTlG4ueDuOSNaFIMyKhpxMLUCb0s8lwazFSE2KSJSZowIQGpZ80Tt2/tnOy8MLxBiaIS3hX++6NLRwQGeqG40dCjKjNF76C32F8dx+PJwlixyKLOyESt2p+L5bYn45liOGG0kpcDB8s+XDPeHh5uLWIsxs7IR4wb74Kmrx+KaSYNFEQHgxaT0ikZx21qNAbsTy2QOrsxKNZ7floiE4noQIheQogvq7GyAS0cPkG1DV2EL8vEQRZmyhibohCLao4K84SNZPew2ofYKAPgq3MWVxVwJwcRgP6d9xhBJn+ziQmQrfG04VwBvD1fcPWckQgI8UdHARyA5in4CeCFp/wuLsGH5ZQ4/N1qsuOmSEIwZ5CP2sTQi3zYyH5CL+s7sS6nz6L/XTxRfXzKsOeIoyMcDXh6umDem2a7IeH8pxg/xxbBAL2RWqrE6Ihenc2pFG4N8kGy+AAAgAElEQVQ6DwO9PXD7rOFwIbzt5e/phrdumSLZtwJ1GqOYvmbLlBB/XD81WDxendaIAd7uuGLcQAQKDqKy+ib4Ktzg7+kOtcEMi7DS16WjAuEi9OU0Va64rgnDA71w47Rg3DojBEE+CllaP7Wn/n1FqKwdtVoD/ruTd6K6EF6g+yuxVDb5fH5bs5P388PZ+EuIjH5+MW8vfCTUmZIuwBOVr8QV43mxUmqn0yijI+lVYlQbFV1GDPDGJcP9sSmqSKxdZbZyyBHmCFJHU5Wk7lhsYR3e2p2Ku3+MtCslIU31pEwb5o/UskaZsDdtWACGBcrt1dxqDaxcs7DsiGc2847ukUFeWDTR3q54eUnzvbdg7EA8sWgMtkYXY1cCfw6pILolqlgW3avUGMV0Mq3BgnVnCvBbZCHuWM3XQVwyNRjjhEi15DIVrvksAv/deR7hyRVYKJz3tHKVnZPZzYVg5shAZH6wFFuemC++LxV431s2Denv34irhN9jO5eVine1GgNe3J4kZjMM8VNgd2KZzEFFSxZ8fYR/71yeEu/sTcNnh7Lssjdq1AaMGOCNRxeGwiyJdAOAA8Iqs2tP54spcnQhAhr17S9EaC6ZGgwACE+Wz9UcLdRzOL0K7//dXFPyyMtX4Zv7ZgGAOIa88VcKIjKrcSClApuiirDmRB5W7E7Fh+HyQIUzOTXQmyz4589R+OfPUXjjrxRUq/X47FAmfjmdjyd+i8NTm+Lx4C/R+GBfOp7dmoCYAv4YsYV1+Gh/Bk4IgSBzQweI5wTgi5ivcLDy3oQhfpg01A9qgxml9U1IEKJkHUVEmS1WfHE4S7yG3424AqcCQu226810iYBECHEFsBrATQCmArifEDK1K47VFhwJSKEDffDkVfKJznPXjgPQ9qUHOY5Xhilbn5iPHU8uEP9ee7oA3zopGD3I1wNGi9Uu6gbg9zkx2Bfv/mMaXloyEW/fNhUTgn0xMsgLX9470y7XvLIVj3FKmQphu1LE2hkAMCrIGw9fPhoA8OvpfIcGW09y5n/XYs7oATiRVY1nNsfbeb9+iyzCv9fH4mhGlcwraMtX/5wlvuZr9gDXTBrS4rGpOLN8YajdZ7nVGnGCGb/ieplBRBkgud+cTfK/vX+2OCG8LHQAgiXGr9SQvHzcQHx853Tx76H+9pPIcYN9RA/a5WMH4r7LRoqf0YFe4cQ7KGXEAC+HESG2IZgrb5+G7U9ejmeuGYeBPh54aMFo8bMbpwXLtrVdaQpoTj34/J6ZAOQFrL3cXeHn6Qat0YLHN/I54j4ersip1rS6WsPts3gD/ZqJg/HUVeMwdrAPnlg0xm67wX4KJBQ3iLUidsaVILVchVFBvBgxaagfdjx1OWLeXIIfHpyDqcP8MXNEgCysGuDrf90xezhcXQhunRmCJVOGiIUDKdJolHvmjMCrNzZ7k789loMlX54UjcAlU4IR6O2OpZcMxayRgWI4PgBMtZkQROYpxRWKbPFyd5Udh1KrMeLPhFK4uxJZlBWNogLkNbJ+eHAOhgd6wWi2yopWrj2VL9bzssVX4YYAL3cxrN8W23QNR+kbjlgyRf7Mfv/AbAz08cCbwkRhgHDfeivcRMMY4PvytacLRGP2tpnDYIuvsGIPNRKoQEyjmWwZFeSNX4SiqRRpGl2Alwc+vdtxdNKnd8/A5/c0p2vQFWEA4IH5o7BgbBAOplXi6c0JssmuzmjBsADnHqpLJPfKy0sm4h8zh+E74X7193QT+5rvJPdwZOJP+E8Z7wmmz2CwnyeMFqusVgajb9Gb7K8T2TX49ngu7vs5Cld/FoHXdyXjjtXnZM6g+OIGmWBpMFvEhQikTAsJwKNXjsGp7BocSqtEUgmfPvL6TVOwYfk80c4jBJgTKu9/3F2J+FxL+ft8ObZGF2Oovyc+vOMS3DojBE9eNRbxRfXIqmyEl7sr9jy3ENdOGoyrJw6WRYlL02gPvnQVwm6aDLXejNTyRvgoXOHiQmRiOp1MAvy4TH8xFSDWPXIZFk92bJv8+K85omPqp4fmiA62/SmVmD0qEF4erggJ8EK12oD8Gq0Y3eQIFxeCEJu+RGpXzBk9AD4KNxjMVuiMZqQ7mPxcOioQT101FrNHBeIfM4fh7jkjsPL2S+y2u1LiINj02DyZw23cEL5/HeynENOupQKdlyCw0fHps0NZMJit+OdlI+HqQlBS14QhfgoMC/DElBB/5H98C8YO9kXyuzfin5c1OwkH+npAa7TgZHaNzHamUcrUEeDl4Sq297LQILi5uiBUGAPKGprgo3CFv9CWpBLefpgrqZ000FeBKrUexUotRgZ54aeH5uL7By6VpUYCwKtCseCwmyYj58ObxPfza7RQ681Y8+ClWDSBHxdW7E6T2VDJpSo8edVYPLRgND69awbeuW0qXlg8HjdOG4rlC0PxZ0IpcqvVyK3WiGKczmjB7FEDMGaQDw6nV+H74zl4/+90cfEFwN7RZrFysjGcpmv/LqQrSTMitkYX4+rPInDnD2dl2QFe7q745K5m23VCsL2AtOrOGXaRNXNGD8AQJ2Lq5sfm44H5oxyKrTQif+QAbzv7Y+sT8/HiErmz9/nrJsBX4SZzaFeo9NiXXI4pIf7imL7mZJ5oP2gMZry/Lx1v70lDWUMTbp4+FJOH+iHA2x0DfTzw48k8UXxydyX46I7pcCG8aHg6Ry7Q5H50M/Y8txCe7nzBfWpvXCpp+9QQf3h7uImCcJDNXHbBx8dw9WcRWPr1KfwtmSMF+ytww7RgUbikcz0KdQo++Eu0KHLHF9aL/fBXR7JxLLMag3w9RNtTWq+UBhtEF9ThaAYvstCC//QeoAL7uMG+WDA2CB/tz8Rda87hvzuS8OPJPCQWN8jmJeOH+OJ0Ti3WnS3AjyfzMH6ILyYE+4nPJz2vaeWNWL4hFs9sScCK3alIEYRt29pyh9J45zBla3Qx5n14DKsj8rAyPEPM5qhRGxCVXwej2SoGcbyzNw0/n8rH7/GlGDHASwzgSC1TyQprA0DWyqXi6zmjB4jXSppK/Ed8Ge758RwKa7V44rc47E+pwKeHsuwWlPpqxEIYzJZWV1ruLXRVBNI8ALkcx+VzHGcEsB3Asi46VqsM9LUXkFwIwUibqAxpjvcTi8Y4jC6x5eBLizAx2BeE8B3X/LEDUbjqFqdRC5QVtzq25+6YPRyHXr4K3h7yVBJvDzecfm0x7rx0BM69fl2r7ZJyk1A/SSo0BXq74/1l/IBfrtI7TcejLJ02VHz91i1T7Ca0QLNyfsuMkHa1zxGEEPz5zBV49prxYmdlOzkH+I5szugBojfPEVKhMNhfgWsmDZZFDEjFGyn/cDDZpMwYESAakDNt2jXGycQTAAo+vhmFq27B0kuGIvL161C46hb8/vQViH5jibgNIfLIgfvnjRLrIES9cR3uFFIyD760CADw6o2T8bAg4owZ7CMzHj+6gx/AHdXYseXM/xY7bLs0X93DzQWLJ/Mi0f+WTkb8iuvFFNEbpwVjoK8Co4Kc5/IuE0SewX4K3Dl7OLY+3ux5mT48ABkfLMUHwn2ZWamGuyvBs9eOB8dBNkACwNf/nIXCVbeI/+4QPJPPXjseV04YhOOvXCNGqFBR7X9LJ+P/bmgW/V5aMgENOhPUejMecBKZ5u7qgj3/uRL/mDkMN09vfg70ZgvGDvZF3kc3Y9xgX/zyyGXY/dxCvL9sGgAg7q0lOP3aYjy6kDf8g3w88Ny141G46hZxHxUqPb49lgNC+Do0SW/fgOeu5VPAaEHBDcsvw/4XF4nXHQDe+zvdLp0QAA6/fBUyPlgq7sOW/Bothvh5YvgALzEKRmrk3zC1WQD0Vbg5vJYtLfNOw3H/fOYK0SCSCryTQ/yx7Ylmkd2RIGrLPXNG4MXrmq/Z9OEBuHXGMMSvuF4sfkrvq0uGBchWHbTl63/OwvFXrgYA3D+PvydmjOCf32nDAmSGlrOovZOvXiN61Sjuri64TJi0jhjghWsnDcHbNn380mlDsWwWfw2pZiqNwProjum4f94op+m1dMJlS4CXu5iq+f/snWd4HNXZhu/Z1UqrsqvemyXZlrvcC8bGYDuYEggQTKiBQCiBJKQ30kgISQikfJRACJ2QAKGHDqa4Wy5ylWxVq/eyvc73Y3ZGuyqWZEu2ZZ/7unTZWu3snD17duac5zzv+5oiwrSJ8poZ6VT//gJ2/+pc7VrzxaIMreQ0QFhgwugNTM7SAgssEcY2rjlp5l+PfVpJmE7iKwuymZRi4oWttSHXjyX5ibxZ0sCav3zOzc8Uc/vzOyi8612ae1whuX8ApmWYuXZJLvlJ0dzy7HY67W6umN+7WaK6ECMNem46M4/bVhRw76UzeeL6+UzPiKWi1Ua4XhficlFZOjGJSakmHrxqLufPTMfnl3ltVwOL8xMoyo7jyRsWEhcVzvwJ8Vy1KIfvrZ7cL9/YudPTMBnD8PllbW7wndWTuW2FsjGZEB3O5p+s5Jbl+RRlxWkhGurdfmZWLE9crziD+s5n1sxI467A9WTZpGSe/lqvg2heYDF//szeeVdw3637/op+zs/gTQNQBGR1TjQvNx5zYPE37Rfv0dDt1K6vKt8/t5CfnD+VV7+xlL9dOYc/XV7EovxEnrxhAY9dO48lgTnIyiDhX72XvHb7Uv5w2UytwurCIBEmIar/XD3YeTw7O475ufFa/86fEN9vvtQXNdfUJ2WtzM2N56Vbl3D/5UX886sL+MaKghCx4WcXTOX7X5jMTwLO74y4SE3MmJebwDlTUjBFhHHlY0qV21VTe+8DC/Pi6bJ7KKnrDrlvBo+34M09o0GPQa/jvi/P4rIg5/ayycmauGh1ebXiBzcsncAV87O5eXk+v/nSDNYuyOaGpXl8NxDieOmcLPwyWlhN8Mbe1HQzXzszj5LaLv70/kGe2FCF2+vn4tkZXDInk1vPKtCe+6XZGXx9eT7zcpV2nzMlhf/edgbT0s3aXLxvRMTUNDM7DnfxwtbDTEqJ4dazCtj1y9VcsSCHN+5Q5kSL83rnpbetKOCtb57JzKxYfrimMOR7PC83PiSPIyi5x57+2kLOnJTE7y6ZSVFQvqychCjtXg7K3HJySq9YdcfZE0OSpKuYjQZ+d+nMkHkVKHlZ5+fGa8KfOu9MMxu5Yn62tpl16ZxMHr56njb+CpJjcHv9xESE8cT187nnkpnkJkaTlxRNcU0n7+1rGvDao/KDcwu5dE4mVy3snYeqqUzUf4PXGuoarDDVREWrlV+/2Ztm5bK5WZqQMSsrlrsvnqEJRer16JFPKpiRaeavX5lDflI0D64r57ontrKxoo2HAs53h9s36HrmyoU52lovI9aoJfwvqe3iglnpWjEXUATw82emsb2mk1d21vP7d0r5355Grlmcy2c/OJtbzsrntduX8q1zJmrXvq8GHHqpA8wRzyhI1NaD68vbSDVHcMmcTK1/46MMvFnSwH3vlfXLVXnhrHRuW1HA7y+dqX33fX6ZwUzhq6amMn9CPDkJUdz63A4ufmgDu2q7yE+K5v7Li7QQPlDGbmGqCUkiJDrmha2H2VbdyYo/fcIH+5v5xvM7BtzQ2GnKYO2jm7n0kQ3jophJ2NBPOSoygeA4gDpg0SDPHXMSonsFgrykaKrabMRGGkIszxBa7vzi2ZlMzzBzx9kTue6JLVpJy5JffIGqdhtfemgDd5w9EUmSeOOOM3G4fSHOkylBds1VU1P53aUztGo+9146k4tnZ/Kbt/bTZnVz4O416HTKIA6upHUk4qIMWjjKz86fyj1vH8Cglyj+2WqM4Tp0kqTF20eE6Vj76Ca2VXfy/E2LuPrxLawO3PhiIw3aDXrZpCQevHIuRXe/H3IuSYJbVxTw7r4mvrVyEjcty+eGpXm8v68ppJTkT8+fysK8BIwGPfdfrkwS7W4fc3+jVDoqvmsVzT1OLvjbeubkxLHzcBd3XzxdyzO04+ermfubD7TdNYArF+Xw4Lpy9DqJH62ZopWnX5iXoMXez82JZ/cvv8Druxr43ku9ydrUHabvrp7MmhlpfPHB9Vy1MBeDXsdLgd0Fnyzz6o56fvzKHp69caGy86ST8PplbYG9cEICW4MswVctyglZHP731iW4fX6m/eI9YiLCOH9mOlt/poh8y/6wjjvOnsgtgRv0UJOd6EGEsN9fOot7AmLQny4v4t7LZhIRpqf0N2u0iezWn60kMToCvU5izYw0/LKsLVSXFCRS0Wpl5+Eu/vX1RVz1jy3csjyfb6+axLRfvKe912UTk9h5uIsPvrNcK11e3+UgKlzPtp+tQq+T+uU6mJMTT/Fdq7RJ6Xt3Lsft81P069BxBPDA2tnce+lM9DoJnU5iSUFvHojXAqJr8OL87MIULirK0BLHm41hbP/5aoCQGxQok4zg/gDQ6yQO3XMeYTqJuy+egUEvaZOgqxblcOeqyVyzOBcJZQdxKB68ci57lndz8UMbNOGhL9ctmcBXFuRo/fTzC6fyk/OnhHz2qeYIzbr6+Q/PJjoirN/u0pmTkqhuP6w5ke5fW8T3zy3UigH0DY987Np5IWFVZb9dQ+Fd7/Zr36u3n0GKycj2u1bh8SmliP+3p5E/X1HExUWZfP/lEl7ZUU98tIELi9K5+639LM5PCCnr+6M1U7hh6QT0Ool39zZp1vrsoInz4oJEKtts/OWK2dzxr51sqmwnzWzUkvpftyRXW/R9/wuT+dKcTF4sruNvAct1YaqJt751JnpJCtklHGgyeM6UVA7+9jzCAyFiauhKMCsKk9HrJPKTY9h/97lEhYfxyy9ODxkv83LjeWZTDYvzE5ibE6/tGi6blESHzc2+hp6Qz1Gv673OPnfTIuyu3vvADUsncPXiHO0zSAva/c6MM1JSq4QKBLNmRhoGvYTHJ/POt5fx8vY6ze31taV5vLC1llVTU/nu6smc/7fP+c6qydx+doH22UzNGDh0JZgnvrpASdy48j4K7crutjrZXD45mY0/PmfQHWDBuOCkmH/Jssx1S3K5clGOthnz7t5G6jod3PtOKT6/zPkz09hU2c7BFosWcv2VBdnkJUXz5XlZvFhch9kYxt0Xz+CLRRnodRIv3LyY13bWU5QdF7JZkhGnfL9uO6uAxJgIfrSmN2R4S2UHu2q7mJ0dx8NXz6WktgudTuKl4lre3tPETUFO1aKsWM6ZksLHpS3cvLx3YQ1K4mx1U6YveUnRvHzrGXxU2hyy4XbnqklMSTNx1uRkJEnSxAl1Udg33OzfNy8OmQMNRPB1Y2FgYV6YZuKdby/D7vZhMhqIjzLQafeQlxTNzy+cxj/XV2mLYvVefcGsdL62NI8wnURWfCTFNZ2kxRq5eHYmbp8fj08mXK9j7YJsXt/VQH5SNN9ZPVkTiPpydsDdvTBPuV+o73FBYAEGigg0OztOC10MFqdUx3SwW0sNZ/rFhdNYUaj0YbIpgm6HJ0R8Gox5ufFMSzezv7GH21YUMD0jVruH/HBNaM4lg17HHeeEbhyfOz2NZzfXcNOyPPKSonn8q/O59omtnDMlhcKgcKMLZ2Xwx3fLaOx2kp/UK7CoGzQGvcTvL5vFtUtyQzb0Lp+fzXkz05mabiIvKZqYiDB+f+lMypot9Dg81HU6yE2M4sJZg29ogjLfjQ7XY3P7+NUXp3HBzHT8skynzc3SgkQW5yfw7KZqbf6TYorgnktmamLc5NQYDjZb+fMVs5EkiXC9jjCdxKK8BCRJ4paz8vn2v3dxzeIczpyUyBMbqvj6sjzOnpLCGQVJXPbIRrbXdPLHL89iTpBDaVZWnDZXWv+js9lb36MVBQL4xgpls+vzQ600dDs1weC/ty0hKjyMg80WLirKCLnvnjcjnQ8PtPC91ZM5qzCZWVlx/GdbLX5ZmWNLEvzn5sWkmI1H3NC9qCiDi4oyiDDoeGFrLTpJ2dxZmJdAXlI0Z05MYn15G3eumsQFM9M1F9X/djf2y3v5jbML2PpkBxfOStc2WdX3r7rMf3HhNLZWdYS4F7X3NDOd8wIicKRBj8Pj0+YmMzMVB/zKKSm8vL2OiDAd/7x+PqWNFs6eksIPXirhpe11zMmJ4+pFuXyxKF1Lwn1hQOS5YkEOT2yo4soFOeQlRuP1y6ydn0WYXscnB1uobLOxvryNzw+1aeuBCUnRhOl1PHnDAh54/yB76rv52tI8nthQxaysWGZkxPK/3Y1csSBHS2uhOLNCTQRxUeE8fPU81v59E+WtVr69chJGg44vz1PchD85T7kmfvcLhVyzOJfddd3aOiB+gKiI529ahF+Geb/9gC67h2+tnMTVi3JxeX28s6eJouw4Vj3wKQtyE3jmxoWsP9TGC1sP81FpC99dPVlL+D9/QgKrHviUuTlxXDw7k18GVQ7/3SUz+emrewIbAwb+c8tinlhfxT8+V+ZjP1wzRRvHBcnRVLTayIqPRJIkCpJjtNQRtyzP59HPKgkP0+H2+okK12sFgT787nL2NfTwp/fLtI3Dktoufnb+1H4mkpMRaSxyHUiS9GVgjSzLNwV+vxZYJMvyHUHPuRm4GSAnJ2deTU3NgK81WlS2WnF5/UxKiaGyzUZBcgw6SXE5JEaHExYow3moxYpeJ4UsxGwuL4c77JiMYdqNu7SpJ6A0Di4I1LTbsLq8FCTHYDTo2VPXTbfDw6L8BAx6Ha0WJddEyjB24fvSGagq0WF3MyXNTHOPk3C9LkTECsbi9NBhc5ObGE1Zk4VJKTHodJLWhvIWK4VpJhJjIqjrtNNmdWPQS+gk5acwzUR5i5WchKgQAaGsyaJVLJuSNvDiRU12qfapev7yViuTUmJotbrQSxKJMRE0BJIVBu+Q7WvoJlyvY1KqiUPNFtw+P1PTzGw/3InXJ7M4X7nBeX1+tlR1EB8Vjk6nTLKCL9RlTRbyk6P7CQ+yLHOoxRrymavUtCuOjeYeJTmmJMGklJh+OySg7NpHhOm0RTEo1StSzBHDuhg0dTsxGkKPHw2q22ykxQZCUwJj4GCz8hlIkkSLxYlOUsKafH6ZylYrk1JN1HYoOYg6bW4y4yMH7J8jcbhd+c7UdznQ6ySiwvWaIyiY4PMHH9vj9DAhMKE61Gyhx+khPiq8X7WXo+FAo/L91Q227TAEh5otyjXkKI/vsrup73KQGB0RIiwE4/L6qOt09NvtK2uyYHEqrqlkUwQp5gg6bO4Bv39qP2bERdLY7SA6PEyz5avIsszBZqs2Gfb5e68HoJQrTjVH0NTtxBxpoLTRwsK8BO06oB4PhEyoXV4fDV1O8pKU0vBtFjc5ib3Xz8kpSv8faOxhSppyLfX7le9ijDEMkzFMi6MH5Rru9vnJT4oZNGErKC6oLZUdTE030WFzY9DrsLq8TEyJGbJKmdenVBeZkm4mOkJPXacDg05HsikCv6yUkQ0WyTpsbrx+Pymmwa/hVW02XF4fuQnRWliGWp1jYV4CXQ4PstwbulrTrpSHnpMTj9Pjo6rNhkGvY2JKDIeaLeQFJnXB13G/X2ZLlbJgGyyXSj9WrADg4H/e1K4FY40kSdtlWZ4/9DMFR8tw5l+Bx4/rHCyYdqsLp9dPUkw4GyvayUuMptPuxi/LzM3pdZU0dTvR66RhjWmPz09ZkyUknFPF6vKypbKdaRnmkPAtl9dHZautn4jj9fmpbLON+J43UvY39DA1/cjzyMHYW6/MJ88oSBzw+C67G5vbp4lRDV0OIg16bY5Y3mIlKz5y2JUb6zrtRIeHDTrHHIzddV1MTTf3m3f5/TIHmnqYnhH6ean3G3XO5PL6qGm3h3wW1W02qtptnFGQGOIAGIxOmxuHx9cvt85wcHp8VLfbQu6vtR124qIMWiU+lcPtdiparSzOT9Su9aCEyXj9/n6hg6NNY7eDKEMYsYMUp3B6fDQE5mNJMRFEB82Pu+xuLE5vyP3tYLOF3MQoIsL0yLJMWbNFu2/va+hmWrpZG3vdDg8Wp6ffpshw6Qh8RkOJp6DMOfY19DA9o/f87VYXLq//qD/juk47flm55pxRkEiYXofH56e6zTZg+N1AqHPt4O9Uh83N9ppOwvQSZxQk0m51YzTo+20YBtNudeH2DTxe+n6PQVnfba3q6Hd921vfrfWR1+fnYLOVaQNsMlmcHhq7nXh8fhq6nKTHGokK15NiNmprqODj99R1U5hm0ipfTkiKGtb3sM3qwuH2hYyx4VDa1EOrxcWUNDMeX+9nXNFqpbbDzhkFSf3mhJWtVjLieq9vTo9yHSnsU0RgT103U9JNGPQ69tZ3kxZrxOL0MiExin0NPf3uJwebLTT3ODmjIEkT2rrsbqwurzb2a9ptHGy2YjKGsTg/kfIWC0kxEWyv6aQwzcThdjvREWGao6zT5sZ+yWU0hpuRHnpw0BQQo8FozsHGSkBaAvxKluVzA7//BECW5XsHev78+fPl4uLiUW+HQCAQCASCkwMhII09I51/gZiDCQQCgUBwqjOac7CxyoG0DZgkSVKeJEnhwFeAN8boXAKBQCAQCAQCMf8SCAQCgUAwhoxJkJ0sy15Jku4A3gP0wBOyLPeveScQCAQCgUAgGBXE/EsgEAgEAsFYMiYhbCNuhCRZgLIRHhYL9K8vOnbHjbdzjsdjx1t7AZKAtiGfNbrnFZ/NyXvseGsviDEsjj1+5yyUZXlsE8sIRowkSa3AWCRBOpaxdCJeFyAHODxGrz2W7R7L1x/LPgHRL4Mxlv0yXr9DMDZtH+sxOF6vK2KcHP/XHst+Gb05mCzLJ/wHKD6KYx47ynMd1XHj7Zzj8djx1t7AsSMeu+Oxn0b7nMAWYFefn5knw3s9mfrpOB0rxrA49ric81jGmvgZfz/HMpZOxOsGXrt1vPXHcejvMesT0S8npl/G63dorNp+HMbguLyuiHFyavXLaM7BTv46cYPz5nE+brydczweO97ae6yMp34a1XPKsjzcstLjbUyMt/YeK+Opn8bjZ3M69ZPg1GOsxuXcr0oAACAASURBVMNYjrOuMXztsf5+jNXrj2WfgOiXwRjLfhmv3yEYm7aP9Rgcr9cVMU6O/2uPdb+MCidLCFuxLCqzCMYhYuwKxjtiDAuOF2KsCU52xBjtj+iTgRH9MjCiX/oj+qQ/ok8GZiz7ZTRfe6yqsI2Ux050AwSCo0SMXcF4R4xhwfFCjDXByY4Yo/0RfTIwol8GRvRLf0Sf9Ef0ycCMZb+M2mufFA4kwbEjSZJVluWYI/z9E+D7siwXH79WCQTDR4xhwXhHjGGBQCAQCAQCwanMyeJAEggEAoFAIBAIBAKBQCAQnKQIAekUQpKkFZIkvRX0+4OSJF1/Apt0yiBJkvVEt+F0QIzhsUOM4eODGMMCwcmPJElfkiRJliRpyoluy8nGUPcKSZI+kSTptMhdIklSliRJr0uSdEiSpApJkv4qSVL4EZ5/pyRJUcezjScKMacIRVxTjoy4rvRyKlxXhIAkEAgEAoFAIDiduBJYH/h32EiSpB+b5ghONiRJkoBXgNdkWZ4ETAZigHuOcNidwEm10BMcN8Q1RTAkp8p15aTIgZSUlCRPmDDhRDdDIBAIBALBGLF9+/Y2WZaTT3Q7BKGIOZhAIBAIBKc2ozkHCxuNFzlWJkyYQHGxyCkqEAgEpxpenx+dJKHTSSe6KYITjCRJNSe6DYL+iDmYQCAQCASnNqM5BxMhbAKBQCAYM77y2Gbue7/sRDdjfLNihfIjEAgEAoFAAOyu6+KyRzbi9PhOdFMEx8I4nOMJAUkgEAgEY0Z5q5VDzZYT3QyB4JRDkqRqSZL2SJK0S5Kk4sBjCZIkfRBIzvmBJEnxJ7qdAoFAIBh9fv76PrbXdHKgsedEN0VwmiEEJIFAIBCMCbIs0+Pw0GX3nOimCASnKmfLsjxblmW1es2PgY8CyTk/CvwuEAgEAoFAMCoIAUkgEAgER0SWZbqPQgSyuX34Zei0u8egVSPH6fHhcAurt+CU5mLg6cD/nwa+dALbIhAIBIIx5sSXwxKcbggBSSAQCARHZH15G/Pv+YDGbseIjrM4FdGp23FyOJB+8PJubn1u+4luhkAwWsjA+5IkbZck6ebAY6myLDcG/t8EpA50oCRJN0uSVCxJUnFra+vxaKtAIBAIBIJTgJOiCptAIBAITl4qW214fDIVLTbSYyOHfVyPwwtAl92DLMtI0omtxFZS24Xb6z+hbRAIRpEzZVmulyQpBfhAkqTS4D/KsixLkjTg5rQsy48BjwHMnz9fbGALBAKBQCAYFsKBJBAIBIIjooagNXSNzIHUE3Agef0yVpd31Nul0tTtxOU9cmiay+ujrtNOi8WJ1ydEJMH4R5bl+sC/LcCrwEKgWZKkdIDAvy0nroUCgUAgEAhONYSAJBAITihddveIxAW/X6au0z6GLRL0RU2C3TDCELaeoNC1sUqk3dzjZPl96zjrj5/wz/VVgwpJh9vt+GXwy9BicY1JWwSC44UkSdGSJJnU/wNfAPYCbwBfDTztq8DrJ6aFAoFAIBhLTqynW3A6IwQkgUBwQvn6M8X8/LW9w37+v7Ye5uw/fTLifDyCo+dYHUgwdgLSW7sbcXv9pMcZ+c1b+3l6Y/WAz6tss2n/b+x2jklbQBG0bGPothIIAqQC6yVJKgG2Av+TZfld4PfAakmSDgGrAr8LBAKBQCAQjApCQBIIBCeU8hYrB5stw37+O3sb8fhkPj/UNoatEgTTqTqQukYmvFicvULKWFVie2NXPdMzzLz6jaUkmyKobLUN+Lzgx5vGSECq67Sz6oFP+fWb+/r9rcfpoeskqUYnGP/Islwpy3JR4Ge6LMv3BB5vl2V5pSzLk2RZXiXLcseJbqtAIBAIBIJTh9NKQPL7ZSparSe6GQKBIIDT46PT7hm2s8Xi9LClUlkPbSwXAtLxoutoHUjBIWxDVGJzuH3UdowsNLG6zUZJXTcXz84AICkmgtZBwtOq2qxEhesBxsS95vPLfPfFEixOLx/sb8bnD81L/JP/7mH5H9ex43DnqJ9bIBAIBAKBQCA4HpxWAtI7e5tY/cCnI16kCE4uepweqtsGdhkIjkxVm23IZMPHk5YeZbHfafdgdw8d9vPZwTa8fpncxCg2VLQjy6J40PGgw6YISPVdjhH1eU+QA2ko981fPjzI+X/9fERV0t4oaQDgwlmqgBROm3UwAcnGjIxYIg36MQlh+8fnlWyt6mD1tFQ67R529hGKdhzupMfp5ZrHt7Cpov2YzlXeYsEjEoELBAKBQCAQCI4zRy0gSZKULUnSOkmS9kuStE+SpG8HHv+VJEn1kiTtCvycP3rNPTb2N3bjlwlxIe1v6BGL0HHGvW+XsuJPn/DVJ7ayu67rRDdn3OBw+1jzl894akP1iW6KRlNP70J+OOFRHx1oJi7KwM3L82m1uChvEY7C40GX3UO4XofL69fEpOHQ4/CQEB2uvcaR+KSsFYvLS1nT8MIZZVnmjZIGFuYlkBEXCUCyKYI268Dtq2y1kZ8cTXqscdRD2Lw+P3/98BCrpqZy/9oiwnQSHx7oLX7V7fDQ2O3k+jMmkBZr5Cev7D7qc1W32fjCnz/j+c01o9F0gUAgEAgE4xixjBUcb47FgeQFvifL8jRgMXC7JEnTAn/7syzLswM/bx9zK0cJNQeG6kAqqe3i/L99zobyY9sNFhxf9jf2kGY2sqe+mxue3HaimzNuaO5x4vL62Xn45BHdQgWkI4cV+fwy68paOLswheWTkgHYIMLYxhy314/V5WVyWgwwsjxIPU4P8VEGTBFhR8yB1GpxURbIg1UyTFG4tsNBeYuVC2ela48lB0LY+m4KdNs9tNvc5CVFkxZrHPUQtsMddhweH+dOT8VsNLAwL4GPS5u1v6s5vpZPTuKCmenUdjrwDtNB5Pb62R6TgfqOXt/VgF+GTZXiviUQCASnA+/ta+LTg60nuhkCgUAAHIOAJMtyoyzLOwL/twAHgMzRathYUBUIe6rtVBYPpU09AOxr6D5hbRKMDFmWqWq1snpaKjcvz6fd5hYVj4ZJayC0Z1/jyTPem7uHLyDtONxJp93DyqkpZCdEkZ0QyYZjDAUSDE2XQxF+pqfHAkoY23DpcXgxRxqIjTLQfQQH0sYKRQjUSYqwPxxUJ+n0DLP2WFJMBG6fPyR0DqCqXbn25yfHkB4bOWIHkizL7KrtGtStqjrhJqYoItvKqakcbLZqmxWlAVdVYZqZ9NhIfH6ZlkFyNal4fX6e2lDFWfet47IZV/Nc6mxkWeb1knoAttd0CvesQCAQnAbc8ux2vvrE1hPdDIFAIABGKQeSJEkTgDnAlsBDd0iStFuSpCckSYof5JibJUkqliSpuLV17FV1v1/WBKTD7cqkXnUkiTCY8UOHzU2P00teUjRJMREA/XKeeHx+kah2ANTkwrUdDrqHSGjc3OM8LrnCmnucRITpkCRoGGJRvzkgFi0LuI+WFiSxuaJ92E6Oo8Hi9Aw7pOpURQ09m56pCDUjce9YnB7MRgPxUeFHdCBtKG/DbAxj2aTkYTuQVAEpLylGeyzZNPA1oVJ7rhLC1mxx9UtyfSR2HO7kSw9tGDR3UXng9QsCAtKqqSkAfHhAcSEdbLJgiggjI9ZIRpwROLJg6vL6+MbzO/jVm/vJjo9imq2Z/8tcwo7DnVS22piVFUub1U11u8jnJxAIBALB6YgknegWCE5XjllAkiQpBvgvcKcsyz3AI0ABMBtoBO4f6DhZlh+TZXm+LMvzk5OTj7UZQ9LQ7cAVSM56OLAwrgwISoeEgDRm+P0y26pHr4qw+pnlJUdri8W+VZfe29fEpQ9v5KMDzf2OP51pCQoX29/Qc8Tn/vDl3dz2/PaxbhJNPU7SY42kmoxDOpBqO+0kmyKIjTQAsKQgEYvLq7k7xoKHP6ng4ofWnzYJi+s67f3GRmcg51F+UgwRYboRVWLrcSoOpLgow6BV2GRZZkN5O0sKEpmTE8ehFivWYbgKq9psxEYaiI8yaI+ponLfa0JVmw2dBDkJUaTFGvH55UGrtQ1ERYty3dnfOPD3przFSprZiNmotCU3MZqJKTG8t68JgLImC5PTTEiSRGYgX1NfJ5fd7eWt3Q28trOem54u5v39zfzqi9N48dYl/Kr6I1rCY7j9+Z2E6STuukCJFj/aa2uHzS3yxwkEAoFAcArgF25kwXHmmAQkSZIMKOLR87IsvwIgy3KzLMs+WZb9wD+AhcfezGNHdR8Vppqo7bAroVCBxyparCIUYBAONluOKV/IR6UtXP73TcMOSxmKqoBrrCAphqQYJTlvX7eBKhDe914Z/hG4DE51WoP6abCFMCii346aTspH8L3w+WXWH2ob8feoucdJqllxZQwlTNR3OciKj9R+V0OXxtIhtLe+G6fHr42pE4nH52fLGOW9aex28N0Xd3HWfZ9w6SMbQsJCOwMOpPhoA5lxkf1yIG2ubA8R2Epqu+hxKsf0ODyYjWHERYUPmkT7cIed+i4HSycmUZQdhywr/d4XRWjqHWNVbUpSbCloCy7JNPA14VCzleyEKMLDdJoDqLHbQavFxZ663nM53L4BRZm6wNgczK1a3mLVwtdULpyVzpaqDpq6nZQ29VCYZgIgPSAg9e3HF7fVcse/dnLnf3axobyNP142i+uX5gGw0FLPis5KmnqcLJ+czPzceGIjDWyvHrnTsrbDzsUPreeKRzePyIUlEAgEAoHg5EGtWvubt/af4JYITjeOpQqbBPwTOCDL8gNBj6cHPe0SYO/RN2/0UMWiswqTsbi8dNjc1LTbMBvDsLi8NPcMbze6otU6ohwg45luu4cvP7KRn76y56hf40BAqFCTyB4rlW02DHqJzPhIklW3QZ+qS2pendImC2/taRyV854KtPS4SDMbSTZFHDHvV1W7DYvLi9PjHzJPi8oT66u45p9b+PzQyJJaN/U4SYs1khEXOaSAVNfpICs+Svs9NzGacL1u1MbWQKjilCpcnkhe3l7HFY9tDqkiOVr84KXdvL2nkVVTU3B6/KwPSk6uhp7FR4WTERcZcv2rabfxlcc28/TGagCaup1c8vAGnlhfhSzL9Dg9mIwG4iINdA0SwqYWMTijIImirDhg4DxIH+xv5urHt/BZYIxVttrIS4oOeY56TWgLjNtdtV2sfXQT7+5rYl6OEk2dZo7U2vqTV/Zw2d83amPv7rf2sfbRTf0EqLpORUAcyK0qyzIVAwhIFxVlIMvw+OeV9Di9TAkISDERYcRGGvoJ89XtdqLD9az7/gq2/mwVaxdkh/z9+7WfE67XsXZ+FjqdxPzceLbVjMyBtK+hm7WPbqK2w4HD46O+8/S4lwkEAoFAcKrh8PgA2F138uQ2FZweHIsDaSlwLXCOJEm7Aj/nA3+UJGmPJEm7gbOB74xGQ4+VylYb0eF65gYWEZsq2/H4ZFZOTQWGnwfp9ud38MvXTwpNbMx59LMKepxeNld2aCr3SFEXXGro2bFS2WolNzEavU4iITocSeofrtLU46QgOZopaSYeeL/stAk/GopWq4tkUwTTM8xHDGELXrxX9/ncuh0etvdZtFqcHh7+pBzozfkyELtqu7RwKFAW3s0BUSszLpKGbuegjjG/X6ahy6GF/wAY9DoKUmLGLISt0+bWBLSqPv3g9vr5uLR5TBxuLRYnOwfI4bWjRnls3xDhhyOlvMXK+vI2vnnOJB68ai4mY1hI+GeogBTqFFMFiDdKGgB4a7dSIayqzYbT48fjkzFHhhEfZaDb4RmwvzZUtJFqjqAgOZqE6HCyEyIHnAyp4uTWqnZsLi9NPU7y+whI8VHh6HWS5ra74187qGqz8YsLp3HPJTMBSI9VHEhbqzv4qLQZt9fP/318iMpWKy8W1yHLUNoYOqbU9zmQK6+x24nN7esnIOUnxzAzM5ZnNtcAivtVJT22v+NOFUiD87sFM8Pewo5frGbNDGWPZt6EeCpbbbRbhxZ5a9pt3PxMMRf8TQnH/M3F0wGoaBPh2wKBQCAQjCc61TD0oOnID18uYcKP/3dc8pcKBMdShW29LMuSLMuzZFmeHfh5W5bla2VZnhl4/CJZlk8KC0hlm4385BhyEhQHw6dlSuLuL0xTBaShF6E+v0xlq42Kk8CNMNa0WJw8uaGazLhIHB4fuwYJQWuzuig+Qh4OVZgbLQdHVZtNWzSG6XUkRIX3cws09bjIiIvke18opLrdztuj6EJq7HYMuLgfDFmWWVfaMqaJnlU8Pj8f7m8eNIys1eIiJSAgHWqx4gzsXPRld123lpivpk+S3sc/r2Tto5u1ECWAf66votPuYWJKDB8daBnw/D1Oxc32pYc3aG6OTrsHt9dPitlIeqwRt9dPu21gl0qLxYXHJ4eEsAFMSTONWQhbsDBV2Weh/dquer72VDH/XF816uf96St7uPIfm7G7Q/MAqcmlD47y+31ucw3heh1XLMjGoNdx1uRkPi5t1cSeLruHiDAdkeF60mMjabG4cHmVsdNsUdx+u+u6qWqz8fouRUg63GHHEhgjZqOB2Khw/DJY+lRH8/tlNlW0s3RikhaKVpQVN+D1ZkOgUtu26k5N0MtPDhVtdDqJxOhw2ixuuu0e6jod3HhmHl87M4/IcD0AcVEGIsJ0PL/lMDpJ4vyZabxYXMePX9lDmE5pQ1kfV1tdpwNJUgTUtj6Ox0N9KrAFc/HsDE18V0PYADLjIqnvE8JW12nvN777EhMRpv1/wYQEQKnGNhR3v7mfDeVtfHvlJD74zlmcN1MRoU4GZ51AMFa8s6dRE7cFglOFrVUd/Pi/u4/LvFJwcnLZIxu56MENIY+9WFwHjG1aB4FAZVSqsI0HKlut5CVFk52gTNA/PagISAvyEjAbw4aVSLux24Hb56e2w37KXrjXlbbw9MZqfvrKXjw+P49cMxedpFRJGohfvL6XL/99E49/Xtnvb4rgFhCQRsGB5PPL1LTbyUvudR0kxURo4Soqzd1OUkxGVk5JYUJiFM9uqhnxufY1dGttD+auV/dy1T+2hOSIORI7Dndyw1PbeDeQTHc4HGjsGZag2ZfXdzVw0zPFrCtrARTx6v19Tdpiv8WiOpBi8fnlQUO/dtV2MTcnnjCdRE1H6OdW2mTB55c1h0aHzc3jn1dx3ow0vr4sj/oux4COoINNFrx+mcMddtb+fRM17TaaA0m908xKCBsMXuGrvksRnfousAvTTDT1OI9YIv5oUfsnKz5Sq9iosj7ghrnvvTItTHM0qO2w81FpC06PXwvtArC6vNo1ajQdV1aXl5e313HBrHTN9bJqaiptVhe7A3mIOm1u4qOU3EKqA6y5W/nOtQSF/v7to0Psqe8mIkxHbYddExnNkUoIG9CvEltpk4UOm5ulBUnaY7OyYqnvctARJCY2dTupbLVhigijpLZL+2z6hrBB4JpgdWkiULBwAyBJEhlxkbi9flZPTeXXF80gXK9ja1UHNy3LIykmnLKm3s/U6/PT1ONkViC8ThXFP9jfjMXp0X4fSEC6cFYGkgSp5gjiAn0IDBiyWd/lIHMIASmYmZmxRIXr+WD/0MUC9jX0cO70NL6zejLx0eEkRodjNoaNynVZIBgKWZaPGDY9Vtz2/A6+9cLO435egWCkOD2+YYen//iV3fx7W22/PHqC0wc1qkNkMRScKE4LAcnp8VHf5SAvKRqTUana02JxYTaGkRgdzsSUmH4hbOvKWvonZw64Mbx+mcYhSo6PN2RZ5s8fHOSGp7bxyzf28eGBZq5elMOsrDhmZsaysaK/gNTj9PDhgRbMxjB++78DPLSuPOTv9Z1K5buE6HCq2m3HnLC1vlMR8ILDVpJNESHJoX1+mVari7TYCHQ6iWsW51Jc0zniyes3/7WTb/aZeHba3Hx6sBWHx3fEUK1g1FCc4JCxdaUtdA9SkQrgG8/v4OvPbB9xeNT6Q4ooqrpA3t/fzM3Pbud/uxvx+WXarYoDaVq6uV+b9tR1U91mw+31s7+hh3m58WTFR/YrE65+T9T+fGt3A1aXl2+vmsTZhUrp8o9LW/q1TRU9Hr1mHhanlz++V0aTKiDFRmgCUkOXg+o2W0hiY1AcIDCAgBQIC+rrGBkNSpssxEUZWJyfGLLQlmWZjRXtLJ+cjDnSwJ3/3tXvWnG0PLelBp0kERWuDwkj21vfjSxDfJSBsubRE6xe3VmP1eXl2iW52mMrCpPRSWjn77R7iI9WxA/1c6oLCHrNPS6iw/Usykvg1Z31SBKsnZ9Nm9VNU0BkMhvDiI9WBKS+ldhUYXrpxF4BaUpa/+To6vNuWDoBl9fPmwFXwYACUuCaoAlIqaZ+z0kzK2Fs1y3JJdkUwW0rCkg2RXDz8gImp4a62pp6nPj8MismK9VCy1sslNR28fVnivneiyWUt1iJizKQGB3e/zyxRlZOSWVJfmLI4xlxkXQ7PFq1uW6HB4vTO6QDKRijQc+X5mTyRklDSGgoKONFFcC77R6aepxMDhLSJEkiLzmmn7NOIBgL3ihp4IK/recdkZNQIBiQO/61k5X3f6pt+A3GjsOd2oaW23fk5wpOfUT1NcGJ4rQQkA532JFlyA84V9QwtvzkGCRJYlKKKUT573Z4+NpT27jl2e0hTqPgxXR1+5F3btutLj4cxs7wQHx6sHVEJaZHitvr53+7G0NuVL9/p5S/fnSIL8/LYvtdq9jx89X86iIlT8YZE5PYebirn+vm/X1K/pB/Xr+Ai4oyuO+9shDXzqGAi2bllBTcXv+Iyn8PhLrYCQ5bSYoJDWFrt7rw+WVtgXj5vGyMBt2IXEhddjeVbTb2NfSEjIt39jbh9ctEh+t5Y1eoLd7i9PDOnsZ+4VuqSKM6Jhq7Hdzw1Db+9tGhAc9d12mnqs1GVZstJJHxUMiyzIYKxbHywf5mHG6f9p5Lmyy021z4ZUVwy0mIIikmnLd2K5P5dquLrzy2iSse28SWqnbcPj9FWXHkJkZTEzTOXV6f9ruah2dbdSdpZiOFqSZSzEaKsmIHFNfKmiyYIsJYPS2Vi+dk8NGBZm0SlBrIgQSwt76Hyx/dxJX/2ByyKFYFpMy4qJDXVd0lwY6R0aKsqYfCVBP5ydG0WFzaYv9gs5U2q4sLZ6Zz3+WzKG+1cuYfPubXb+4bcvJ3JJweHy9uq2X11FTOLkzho9IWTURU81JdPDuT2g7HkA64T8qOLFKqfLC/mUkpMczJjtMei4sKZ35uAh8eUITALrub+ChFAFIFDjUnULPFSYrZyMWzMwFYlJfAgjwltEoVGU1GA7GRirjSaXdzqNmifS82VLSRnxxNWiAvEQz8mW6oaCMhOpxrFitC16cHW8mMi8Ro0Pd7T8kBV2JZUw8mY5iW8yiY2TlxzM6OY0mBIux885yJbPrxOcRGGihMM3Gw2ar1vfpe5+XGExMRRnmLNUSkfX1XPZNSYkKqwQXz2LXz+PMVs0Me0yrBBa6J9ZpAGjq+h+K6Jbm4vH5e2l4b8vgtz27np68qxQ8Gc2IVJEVrIWxWl5d39w7fJSkQjAT1/jcWBQBOBbrtHmb+8r0BK0AKTg/UTZKhNlovfXij9v+adqWi9Lt7G1lwz4dHnat0KLrtnmG77gXHF69PCEgnK8dSwXw8cFoISKqokZ+kCA9ZqoAU2L2emBJDm9WtLVjLmizIspJb4u+fVmivE7yY7uvM6MvPXt3LTc8UDyvBaTBddjfXP7mV//t4YIHhWHF6fNz63HZu/9cOLX/LnrpuHv2skisX5vDHy2aRGBMRSFCtLIiWFiTh9cts7TO5eX1XPdkJkczPjeeuC6di0Es8t/mw9nfVrbI6kGeqr4vj7T2NIbl0+lJc3RFStlsVHIJdB0kxEbRaXNpzVFdLakBAio0y8KXZmby2q37AMKePDjT3cyeVBLlfgoWi13fVU5AczdWLc/n0YGuIwPH8lsPc9vwONvUps64KLaoDZ9dhRQh4a3fDgBOFjYGwJaNBxzMjEL3KW6y0WlxcMicTu9vHo59VaAJUaZNFEySTTYoz69azClhf3sbGijYe/qQCh8dHh82t2f1nZcUyITGKmja71rfVbXb8Muh1kva+iqs7mD8hXhsrK6emsqu2q19oTFmzhclpJiRJ4uLZmTg9fp7fory/FJORuCgDkQY9f/+0gi67G7vbyyNB3726TgeJ0eFaHhuV9FgjJmMYZc0WPD4/7+xpHNYkalNFO498UsEjn1T0czuBMj4PNlspTDNp1wl1sa1O9M6YmMjZhSm8/53lnD8znSc3VPP6zqPPt/FmSQOddg/XnZHLyqkptFpc7A2MzZK6LrITIjXB40iV597a3cD1T27j7jeHLuta2WplWoa5n/hxztQUDjT20NzjpNPeG8KWHhA+1EpsrT2Kq+38mWkkxYRz9aJcsgMikzpGYgNJtAE6rG6uf3Ibax/dRGWrla1VHSHhawAppgjiogya8CHLMhvL21lSkEiK2ciExCj88sDuI4AkUzhtVjeljRamBMZcX360ZgqvfuMM7W+SJBGmV26HU9JMODw+agO5ulTxMjshioLkaMqaLby5u4HV01JZnJ+AfYAE2sHodFK/NqiCqdqPal6w4CTxw2FKmpmFExJ4dnONdj1p6HJQ3+Vg5+Eu3F6/JsRN6SMg5SVF09DtxOH28fjnldz63HYR0iYQnAB21HZicXn5v4/Lh36y4JRmJMbzG58u5uFPKvj1m/tptbhC3PijSdHd77Psj+vG5LUFx4bXf2qmUxnvbK3qYMm9H/P6rvoT3ZQx45QXkGo77Nzz9gHMxjAKUvo6kHoFJIDygNCkLlyW5Cfylw8PaQvM6nYb+cnRGA06avpMtCtarXxcqjgvSmq7tJw3+wP5URxuH6/urBs0wbHK9ppOZJkRuU+Gi8vr42tPbWNdWQtpZiPPbz6Mzy/zzKZqIg16fnzeFHS6/out+RPiCQ/T8fjnlTz48SHe3tNIc4+TjRXtXFSUgSRJpJiMnDcjnZe212rJf8tbbHNoKwAAIABJREFUrCTFRDA7R3E3BLuT9jX08I3ndwzqDLK7vdzw1DaufnwLFz24gb99pJzXFAg7VEk2ReD0+LG5FedHU7caFtXrOrh2SS5OT/9d+sPtdm58WqlMdP2TW7UQxd21XUiSIqK8UdKALMs0djvYWt3BRUWZXFSUgdcv807Qjr2aSDz4/bi9fg61WDAadNR1OrC6vJo41dzjYktVqNgEitMiKSaCG8/M46PS5gGrKdR3OXh3b2gogCpq3LlqEmlmI3/96BAGvcTyycmUNfUECUhKv1yzOJc0s5G739zPs5truGxuFt9ZPZlOu4fE6HCy4iPJTYzG4vJquWhUR9mySUmUt1iobrPR2O3UkvkCXDArHYNexxf+/Ck/enk3NpcXWZYpa7JoDoh5OfFkxBqpbLWRGB1OeJgukJfGiNcv870vFHLJnCye3litfZ6DJRiWJElLpP2XDw9y2/M7eGrjkRNb767r4tp/buEP75byh3dL+eYLO/qFC6qfV2GaibyA8Kw64DZWtJGbGKW5RQqSY7j/8iLiowzHtIP86s568pOiWZKfyIrCFHQSmguopLaboqw4TQQYLEliU7eTn726F50Eb+5u0D67dWUt/Xb/g0N7+3JmIKRsY0UbnXYPcQEBKCJMT6o5QhNVVAdSXFQ4xXet5otFGdr1VRVmzUaDlv/n1Z311Hc5sLu9XPP4FuxuH0snhoZ3SZJEYVAYWWWbjaYepyY0zQ+Mt/zkgQWk5JgI3D4/u+u7mTxA+FrweQaiMBBCp4q+qsiTHmtkYoqJLVUdtFpcfGl2JvevnU2a2cjiPiFqQ5Gu5fxyhpxjJCFsKtedkUtth4NPDypjpTiQVNvl9bO3oZvSJgsmY5jmylRRc8lVtdk01+DeelEKWDB2iGiLgVGvREPND09lHG7faf3+1duRuhHw0Lpy7nuvdMjj7nuvTLuPjEVVWJWOQQqcCE4sAzmQTt9v0cnD/sD8dzhFTsYrp7SAVNFq5fK/b6LH4eWZGxcRFa5UsFEXOOrCUF3Y7gtMntXQh0eumUuMMYwnNigL0pp2O/lJ0eQmRIc4kHqcHq7751a+9lQxD60r50/vlxEbSBqr7sK/vKOO7/ynhM2VR15gbqtWBltlq01bPI8WH+xvZmNFO/deMpNffnEa9V0OXtlRxxslDVwyN1Nrc1+MBj2rp6WyobydP71/kG88v4OV93+Kzy9zUVGm9rzrluRicXp5LeDCONRiZVJKDMkxEcREhCZsVRcsg1Vwe21nAxanl1vPKsDq8vLABwcprulkSX5iyMJPTfyrJtIOTsysMj0jlvm58Ty7uSbkBvtGiaIM37aigOLqTn7zP8WxUVLXRUFyDFctzKGqzcae+m6e33wYWYaLZmcwPcNMfnK0piz7/TLFNZ0Y9BLv72/WbIsHmy14fDJrpqcByqK/pLaLwlQTUeF6LY+Lippb54yCRK5elIsE/Pz1vfz1w0NaPhqX18eNT23j1ud2aItOgA0V7WQnKKLPhbPSkWW4YGY6SwsSae5xcahZEQ9STBHaZ/rtVZMobbIgyzLfXjWJW5YXsGxSEqunpSJJErmJyvekJiBilbdYkSQlMbDHJ/OvrYrbbF5uvNaOguQYPvruWVy5MIf/FNfy1MZqmntcdDs8Wi4anU7ii7MzgF6nGMDCvARWFCbz9WX53LlqEn5Z5m8BJ159l2PQ8J7JqSZK6rp55JMK9DrFBdfX3fVGSQM7DnficPu48z+7SIqJYOvPVvLA2iKq2+183kewVR0+U9JM5CZGIUnKQtvr87OlsoMz+rhmJEliXm6CtngfKT1OD1urOvjC9DQkSSIhOpy5OfG8t7eJmnYb9V0OZmfHkR0fRVS4ntImixLyVlyrVTvz+vx8/6US3F4/D189D7fXz4vFtRRXd3DjU9u49+0DIedU7O/9K5kBTEs3ExdlYP2h9kAIW69omxkXSX2nA1mWaelxkWoKLTmfEB1OdLheS/JojjRo15b15W2kmY38/tJZNHQ7kSRYkh/al6D0+8FmK7Is81mg4IEqas0PjLfBHEjJgfa4vf5+rpvhMCmwoaBWu6vrtJNiisBo0DMxJQZZhuhwPSunppAZF8mmn5yjhfANl1RTBDoJLay3rtOB0aAjYYA8SkNx7vQ0kmIi+M82RSAvru4gPEy5tW+v7uRg88BOLNWRu6mynb31yn1q/ygmhBcIVKSARCIWNgMzmJh9utBldzP1F+/y8CcVQz95BFicHq2oyMmOOgLUOep975Xx0LqR9cex5hkVjD88p2hBp/GO+k08la/sp7SA9GZJA16/n3/fvJjZQTk+5uXGk2Y2MifgjEmPVcqIq4u/siZlwh0XFc6ZE5PYUN6GP1ABLCchmpzEqJBwtl++vo+mHifLJiVx33tlfH6ojW+eM5GMWGNIqA+gJaP2+vy8vL2Orj5ViYqrO7RFhOoqWVfaEpLw+GjZUN6GKSKML8/LYvW0VNLMRu56bS8ur5/rgpLoDsSDV87h0D3ncfC35/H3a+ZRkBLDmROTQvJqzMuNZ2q6mac3VuP1+alosTIxkBskLylaW1BCb6Ll4prOfrsmsqy4oqamm/nRmkI+/t5ZHLrnPA7dcx6PXjsv5LlJgcWiat1t7nGh10kkxoQuaq87YwI17XY+CySalmWZ13c1sGBCPD9aM4UrFmTzaVkr3Q4Pu2q7mZUVy3kz0jHoJa58bDMPritn2aQk8pKilTCsoky2VnfQ2O2gotVKl93DbWcV4Jdl/rVFEVbUz+zSuVmAUl1tT303C/MSOHd6Gm/vaQrJmXMoEIa2dGIiGXGRXDo3i0/KWvnzhwe58eli/vFZJQ+8f1BzRqgClNfnZ3Nlu+bQWLsgm6SYCG5alq99PqpAkhy02P/yvCyKsmK5eXk+WfFR6HUSz3xtIb+/bBYAuYnKAl0d6+UtVrLjozTB6D/baomJCOu3SM9OiOLui2cwLzeeN0saKA2E0ASPlYuKFAEp2Cl276WzePL6Beh1EtkJUaydn83LxXW0WlzUdw5eoWpKmgm3109mfCS/u2QGhzvsmhsD4H+7G/nWCzu59OGNrLz/Eypbbdy/togUk5ELZ2WQFBPBMxurQ15T7eNJqSaMBj2ZcUoltpK6Liwubz/XDMCCCfFUtdkGzV+2rrRlwMp+AJ8dbMXrl1k5NUV7bO38bMqaLax+4DMAZmXFodNJTEo1cbDZwu/fKeWHL+/m6se30GJx8q1/72R9eRu/+OI01sxIY1FeAs9uquE7L+7CL8OWyo6QnG5Vak6xAYQYnU5iSX4iHx5oxi+jOZBAydNT12XH4vLi8PhCREBQFkPZCVHIMhj0EhFhOvQ6CbNREfCvXpTD5fOzuGxuFiunpBAb1V+4npxmwuryUtfp4KMDLUxMiSEnIGgun5xMeqyRhXkJ/Y6DXlEZet1EIyE6IoychChKm3sdSOrYU92q505P0/IvHc3iL0yvI81sDAlhy4qPOqrXMuh1XDgrnXVlrfQ4PWyr7mThhARyE6PYWt1BaZD7L5gJSUp/qo692EiDdr8SCEaT01wfGZLTvXuaA9U8X9s5uuEed/57Fzc8ue2kz0VS027TXPS+Y3BhHcuxgvGJZwAH0ul+PRkOTo+P7764a8zyDavL2lN5c+CUFpC+vXISb39rGVPTQxcRk1NNbP7pSq2ikOIeiKe4uhNZliltsmihD0snJtFicbG5sh2Hx8eEpCgmJEZxuMOO3y/zv92NvLqznm+eM5GnbljIV5fkMjMzlmsW5zItI1azsRUHnEWqKPTO3ia+/1IJX3lsszaAnR4fu+u6uXROJgnR4WyoaKOu087NzxbzvZdKjtneu6G8nUX5iYTpdYTpdVy9KAeX18/CvASt8tFgSJKEQa8jPEzHmhlpvH77Up67aVG/59yyPJ+yZgs3Pl2MxeXVFlz5ydFaDqPmHie767qZlBKDxenlYJ+S9duqOyltsvDVJblIkqSd26DX9fsyJvdxIDX1OEmOiUDfJxRvTWCXPjix9KEWqyZkXFSUgdvn58kNVbRZXczOjiM2ysCX52WTnRDF/ZcX8cT1C7TXu2h2BrIMb5U0asLjJXOzOKcwhRe2Hsbl9bGvoZvocD1LJyYRHa7nnb2NWF1eirLjuKgog26Hh88O9jpftNw6ASHoT5cXUfm78yn77RoumJnOPW8f0HJVzcmJ0/Iz7anvxuL0ckbAoTE51UTxXauYkRmrfa5bq9oxGcNCkg4b9Dpev+NMfnDulJDPUCU7IRJJUnIfgSIgTUyJITchiuhwPd0OD3Ny4rTcMX25qCiD0iYLb5Yo4XbB1bCmpZtZNimJRX1EgODz37A0D7fPz0PrynF5/YOG9ywpSCTNbOQvV8zm0rlZpJgitPxRTd1OfvrqHoqy47jrgqlIksTtZxdoVb/Cw3RctTCbj8taQsIFN1e2k5cUjdmoiBt5SdHsqu3izv/swhQR1i9vD/SGVg1kWS1vsXDj09u49p9bB8z79dGBFuKjDMzN6XVzrV2QzWu3L+WswmQmpsQwMzM20I8xFNd08tTGapZNSqK0ycKyP6zj7T1N3HXBVK5cmAPAV8+YQH2Xg/pOBzcsnYDF5WV3UIhSReD7OGEQJ88ZE5O0RNzBDqSs+Egau5w0BkoIp5gj+h2bHXB5mo0G7TONjw7HoJf4ysIcJEni/rVFPP7VBf2Ohd58PTsOd7Klqj1EWMuIi2TTT1YyPSN2wGNDBKQjhLAdicK03hC6us5e99vs7Dgy4yK5enHOUb1uMBlxkZoDSXHYjTx8TeXi2Rm4vX5eLq6jrEmpojg/N4HPDrZicXoHFNKiwpUE47UdyrlXT0tlf0P3aR1GIhi/7DjceUxFDE4GZFkJIz1SbshTkXP/omyS9J23HStqWgqX5+R1abRaXPzgpd3a78cShiYcSKcfDk//a95NzxSPuPL06cYbJQ28sqOe378zdJioYGBOaQFJkiRSzP0r8AzEggkJNPU42V7TicXp1RYw6kLx+UC4Tm5iNLmJ0bi8fhp7nPzp/TKmpZu5/eyJ6HUSv754Bm9+80yMBj3TM8xUttkob7FS3+UgKSackrpuLE4Pb5Q0EBtpoKbdzhWPbqKlx8ne+m7cPkXQWZKfyMbydv7y4SE8PpkDjT2DxlJWtFp5M5CrJ5iGLgcvbFXCeWo77BzusIc4J76yMIfcxCi+saJgxH07GF+ak8lPzpvCp4GwEzUcREnY6sDp8Wnuox+cWwj0imsANpeXhz8px2wMG1ZYSJJJWdi2WXtD2FIHqLoULBQUV3fwRkkDep3E+TPTgd6k0Y9+WglAUZbiTrv30pm8e+dyLpuXhSFIKMlLitZyJG2r7iAxOpwJiVHceGYebVY3f/nwEPsaepiabkYfcI1sCCTILsqK5cxJSZiMYSEl7zeUt5OTEKUtvkFxgkSE6fnrV2Zz1aIcZgeEkIuKMtjf2MOhZgv3v3+QSINeC/EJJtUcgdkYhtPjD3EfDYeIMD0ZsZHUtNvw+WUq22xMTIlBp5M0UXZ+7sAuEIDzZ6aj10m8urOOFFOEVgoelO/mszcu4pazBh97EwMuNzXZ9mAJhiemKILwvNwEDHodVy7M4ZOyVn7z1n5uebYYt9fPX66YzU3L8tnw43NCBDOAqxblopMkntusnKfV4mJDeRsXBMYGKKF5hzvs9Di8PHfTopD3ojIj00x4mG7AsMwHPjhIRJieph4nv3x9X8jffH6ZdWUtnF2Y0m8CPTs7jn9cN58Pv3uWlkC8MM2M2+tnUkoM/7huPk9ev4CkmAh+d8lMblqWrx27eloqCybE88M1U/jmOZMA2BgUqlfVZiPVrISXDsTSgt5rRXBoVWZ8JF6/zJ6AGJVi6v99yw4ILuagsNjFeYlcu3jCsMahKuD/4/NKPD6ZlVNShzxGRX39NLNxQHfTcChMNVHVZsPm8tIQJO4kmyLY8ONzmHeEcT9cMuIigxxIjhEn0A5mdnYcOQlR/PWjQ/hl5X62YEI8rkBC+cGENDWP1KqpqUzPMNNmddMyhhVABac3I9Um/7u9jvWHhs4HWdNu49KHN/KrN/YN+dyTBY/Pz+/ePkC33aM5tPyyzIX/t54bntx2Yht3ghjt3fqaIYrdnAyseuDTkAI1x+IiGqsqbILxh1qQR3Bkxsog9F4gR65ugBPUdti5773ScS/4ntIC0kiYP0HZ+X8+EH6k7tjmJEaRnRDJ+4Gk2BMSo5gQCO15fnMNVW02bjkrP0RcUJmeYUaW0RamNy/Px+eX+fBAM5+UtfDleVk8e+NCGrudfO+lErZUKTeRebnxnDExkaYeJy9vr+PKhTmYjGGaq2L9obaQheBv3trPN1/Yyb3vlGoiUtX/s3fe4VFU6x//THonPZCEECCB0AOELkhTEFEEsYtdr73rtVz12stVr+V3FREUUCxgQ2lKC70lQBIIAdI76b1sm98fW0zZTXaTTSPn8zx5ksxOOefs7Oyc77zv9y2qZunnB3n+lwR+j8sxpM5NayAy+Lk7sueZWcwc+vfTfWvwj0sH88Y1Iwn1cTFECQz0dUWWtWLRzjMFBHlqn3j7uTsaJtwr96Uy7d1dRJ8t5N7pg5pV3DKGt4sDkoQhiiu/vI6+RiIiAG6ZPABvFweWLj/Eqn1pXBLma0h1kySJq8cEUqtU42BrQ0S/1iMXrh4TSEJOOTsSLxgqkU0N8+WGqP4s35NCfHY5IwK155FekHRztGOQnxv2tjaMH+BFbIa271pvnWKjqVGgTXl5a/EofntoGq6Odlw5uh82Etz/bSz7k4v418JhRv1TtCbT2jb4uVkmIIE2zSW1qJqskhoUKo0hokzfL/3nxhh+7o5MHeyDRm5eQtxclk0ZYAjRNbfE+S2TQujr4cS3hzNILazmzcUjTfrlgDaNbv7Ivqw7kklJtYItCXlodH5XeqYO9mGQnys/3DeZMQ3SYRviaGdLZLAnxzJKUak1fLU/jYMpRSRkl7MlIZ97Zwzi4Vlh/Hoih68PpBnSyY5nllJWo2T2MPM+h9PCfBjg48J/b4jEyV4b4XbgudncPKlxVIy9rQ0b7p/K/ZcOxtvVgeH9PBqZ86cVVbc4LgN9XemnE2ObprDp2w3GI5BCvLViiD5tDeDdpaN5+arhZvXR3cmeIE9nTuVU4Oliz7gQ42NuDE9ne2xtpDafc6C9Tqo1MreuOoJSLbdL3DHFsH4eZJXUciS1mLIapdnntzH016/yWiW2NhKRIZ6NPpumBCT9+z9nmL/hWi2eXAqsTVvv0Z/aEMetq460up4+UjKhFRP4rJIaahXNn9iXViv4LDqZ0Oc2m5yEK9UakynIxnhnaxKXvLur2fI6pZqskhq2nspnxd5U3tySaPCI0hviXszGqy3RNABJo5EN1XzbQ3fOItGfu3qaTiqr6lWN/C5bQtEOP5zE3ApCn9vc4nirhN+OQGAWelHY2LXn/b+0/mZ6S5WeihCQdET09cDN0Y7NCc3TbaYN9kWplrG1kQj0dDaYC6/cn4avmwPzR/Y1us8RupSTn2OzcXGw5dbJA3C0s+GdrUko1TKLIgOJCvXmXwuHse98EcujUxjk54qPm6Mh8snVwZanLx/C0vHBbD2Vx2fRySz76giP/nAClVpDjULFwZRiAjwcWbE3lXvXxvDv309z/ReHqFNpGOTnyn+3n2fPuUL83B0NEUEdza2TBxD9zCxDBMCEUG/cney4ddURdiVdYM4wfyRJYkKoF8fSS9kUn8sbm88wOtiTXx6cyiNzws06jp2tDT6uDhRWab2k8ivqmlUb0hPg4cTuZ2byzLyhBHo6cce00Eav6wWDYf3ccbRrXbxaODoQSYKKOlWjSJyXrhpOfy8XFGqNYVKmn8yODPIwRJlEDfDi3IUqymuU2jS0elUzc2ZT+Ls7MXWwLymF1cyJ8OfmiaZTavTHNjcaryGTBvoQn13OP3/WhljrBaTLhvdlZJCHwUfMFPoosraYGQPMifAnUCdimPJAaoq/hxOHX5jD2TeuIOHVeQYPqpZ4fE44NQoVn0cns/FkDhF93RtV8Lp8RF92PTWzWTpsU8aHenE6p5wH1h3ntU2J3PzlEW5ccQhPF3vumT6Qh2eHMXmQN6/+kcjsD/bw799P8962JOxstBXzzCGirwd7npnFyCDjKVymmBbmw/GMMsMEKrWwyqiBth5JkgznY1MTbYDjuklOUw8kwOBX5GHCmN8c9OftzCF+JtMkjWFjIzF3mD/zRhi/LpvDlME+vLd0NHFZZUDbqqO1xi2TQ+jjbM9zvyQA5p/fpljU4Prl5mjHYD83vFzs6dfHdCTWpUP8iezvycSB3gzrpy8mIXyQBNZhxd4UVu3/uyrmmS42aZ/+3m7uWds8umfs69t5b9tZQBsFbYz3tiUx+4M9LU7mZVnmk53nOZVTzvI9KYZqlQ2575tYpr+32/Cwb31MNqU6L8z6XjhBb5iy1fRp/ed7Upj74Z52nzfGgnrWHcngnz/FdzsT4uSCKr7XZTwA3PLlYaa901yINIbSwggkjUbmox3niEkvYeGn+wBYuvygoZJyU/7z51mL9i8Q9HaMadf6ZU09kHsaQkDSYWsjMTbEE4VK0yz1Qe8tE+zljL2tDf36OGFvK6FQabhpYohJsSGwjxOeLvZU1qsYF+KFi4MdUaFeXKioJ9THxeBpcvPEEGZH+FNZr2KCTogY4OPCpUP8eHreUHzcHFk2WRuJ8d62s4R4u1BUpeBgSjH7zxehUGn47/WRPDo7jGPppfx8PBtPZ3t+vG8yLy0cTmZJDVsS8pk62MfqIcLmEujpzN5nZvH43HBCfVxZOl47qR8/wJucslqe+1nrU/PV7VGNfGDMwdfNkaKqemoUKirrVEZT2PR4ONnz0Kwwop+ZxawmkVdh/u5cOaofV40JNLF1Y/r2cTJ4+DR82u/maMdHN0YS5u/GFF0akF6QbBi9YvDMySzhYIo23HTqYPPLgd8+NZTh/Tx459rRLb6vQ3QT8bZEID08K4ybJoYYouP0AtIl4b5semS6obKhKeaNCGB0cB9mRbQtys3O1obH5w5hxhA/k6lW1iA8wJ3FY4NZczCD45lljaKPLGFCqBcqjcz2xAu8uGAYr18zkmAvF56bH4GHkz32tjZ8d89kvlg2Hh83B34+nk1SfiWLxwYZ/JY6iqlhvijUGmIySiitVlBaozRqoN2Qa8cHMSa4TyOzc72Ycu5CJa4OtkbfF30Km7tT298zvYA0Z5j56Wt6vlgW1Swiy1Kuj+rPJzeNZbCfq0m/pfbg4WTPAzMHG6pTtlekCg9w54qRfVk8VnttlSSJ66P6t3g9u2x4AL89NA1HO1vcnewJ9XERRtoCq7HjTIEhehtg2+l8blpx2JCWbC0MVd5ayAjQCzYHGqR2FFfVM+eD6EbraUzsRO91mNeCgJRfUceH28/x1Po4k+voq0o25JmftOtbKgB0NmU1CqsLLg0roNYq1Sz57ADfHM7QpXloBYtcMyNwTPF/u5O5b20M8z/ay7ZTeciyzIu/nuLHmCy+PpBGcVW9Se+3shoFCpWGqnoVdUb8ZtpL08jxh787wfO6hwoAcdnmR4QaM1RuiazSGj7acZ6lyw8ZTH/LapS8/+c5o+sfTmu5irSg+yBbUPNSbwEisD4qjdzI006l1lBVr72OKFU9O4Wt42ZkPZCoAd7sO1/ULPVBP6nXV6Wys7Whv5cLGSU1LU5SJEliRKAHB5KLDQLD1MG+HEgu5urIIMOkX5Ik3r12NHevOcaC0f0My9bcNdGwr0F+btwyKQSFSsPLVw1n6tu72HgyFzsbCXdHOyYM9GZqmC9PXj60URvC/N0MUT7GjH87Ey9XBx6fO4TH5w4xLJugGxe1RuajGyItijTQ4+vmSGFlvaGSR4ARTxZz+d8t4yxa/55LBqFSy80mmONCvNjx5KWG/0cF92FMcB/mN4iKGBPsib2txLH0UuKyyojo696selxLXDY8gMuGtz65jjBEIFkuINnYSLy1eCReLtoKTZaKHO5O9vz+8CUWH7ch10/oz/UT+rdrH+bw+Nxwfo/TVoG5anRbBSRvJoZ6s3R8sKHNyyY3rnBoYyMxb0TfdkXItIWJod7Y2UjsP1+Eq070aSmFDbTXq41N3j8ne1uDaGsqqk2fjtUeUWxOhD8HU4qZOdS8yKyOYOHoQBa28Vwwh9unhLJqfxqFlfVWiXL6/NbGVSqfXzDMou1HBPZpNQ1IIDAXlVrD8cyyRin+h1KLOZRazC2TWq78agn65yctCUjGJteb4vMMxQT0qEz4UjjrClAYM63VU6cza04rrja5jp6GBTT02yUaibSpVajZnJDHteOCuuwBIGgFuMjXtnP1mEA+uWms1fbbUJTRp08dzyzj0dlhhuWbE/KYMyyA8hole88Xmv2QT89PsdmGv59aH8ecV/6+b3prSxJvbUli4eh+/N/Nze//Il/bzvwRfdl2Op++uuhma+LQ5J63ykQEnDlYKu7VmxAsK02YuHfjTEBBG9kUn8vD353g5wemWMXbUdCY1QfTWX0wnfR3rgTgxV9PsePMBaB9KafdARGB1AC9mNE03cbXzZElY4OYN+LvL50rR/fjzqmh9OvT8k2/XliYoIs2uXJUP0YEenDd+MZpNX7ujvz+8CVc2kIay5uLR/Gf68bg7mTPvJF9+fN0PjuTCpgx1M+oBxNohagXrxzOyCCPNkeBdCTD+3kwMdSbt5a07FPTEn7u2slsfrm2KlTfFiKQrM3c4QH89MBUHOxa/ii5O9mz8eFLGNsgusrZwZYRgX3Yf76ImIxSoybY1mBEoAcTQr2aVTwzF0mSeHZ+RCNB82Kkv7cLj8wO59pxwY2MzC3B3cme9fdP6RTBy1JcHe24dIgf3x7OIPqs9il4SylsLaFPt/I3YYjt7GDLwtH9DNGbbSEq1JuND03DvYMjs7oSZwf2LNB1AAAgAElEQVRbXl44nGlhPvi6Wi7wWpvhgR5as/heVgVK0DEcz9SmgDb0XtNTUq3grtXHTJZRNjWJBW3qzcPfHedwqjaaSC8cmdKPEnMruHtN89Q1Y35HTSfhsizz+A8nDFHCdUYqej3/SwK7ki4Y9VfSR7Y0rRD38/HsZus25F+/aaNQ3t2WxNMb4oyOYWeiFxt+j9NWf5VlrT/RHV8fpaCijju+Pkp2acum1bIsN/PRMSX6fbIr2fD3L8dzKKio4/EfT/DI9yfIaEWg++t0Pi9vPGX0NUmSWH0gvdnyTfF5aDQyO89c4IVftWOvF7e26aLo8ivqWjxuW7Ck8pyj7j4z0oQPoylByBSm/L5MfY4kyXKRSmA5H/x1lg0xWSZft2al1D26e8FvDmXw5I8ne08VVv13RoPuyrLc4vn94V9n+fVEy9dtwOBt25DQ5zaz/3wRv57IMSxTqDSsPZTO8j0phmVqjdxjzLWFgNSAsSFeTB7kbTSq48MbIhs9MXvq8qH8a2HrhrDzRvRl4kBvQ1pWqK8rmx+d3uYJqp5FkYFU1asoqqpnbivmu5H9Pdn0yHSLq3B1Bna2Nqy/f4oh7aIt+Lo5cKGijk92ngeMe7J0VyaEepGQU45CpWlkcG5NXBzs2HD/1EbilcA4j84J54Prx3R1MzqM164ZiY2NxKe7zmNnI7U56kW/XUu+Wv938ziutvBJcW/kqjGBrLtnMjZWLmHdFoYHehDg4UhemfUnSgJBQ9YdzmBXUgEr96cafX1TfJ7h74PJRY1EzZIaBZvi87hxxWEe+u54q09yn1x/kn0NqrnllWtTooylq+mNrHcnFfB7XC77k4v47WSu4XW1pvGx1BqZ749mctfqGBZ8ovWRkZq8vuZgOkP/tY2V+4z31RjfHs6kvFZJSbXWJ0P/u6toKo6t2p/G3A/3EH22kKc2xBF9tpC3tyQZTdEDOJtfyS0rjxD24tZGwkVrYpCeiW/tZLdusmtKKNl7rpDqehX3fRNrKDrTFAl4c8sZo6/dveYYd6+J4bsjmciyTGVd82ggpVrD9sQL7Z5ox6SXmBRPTaEvXmJq/qCf/JZUKzhqIt2sXqVmt676r6nPjamuncgsI/zFrZy/UGlJswWtIMta2wO9H9inu5J55qd4k+sv32P+daQl9p8vMqSv/XYyl19O5FgsQnYFsqwVeq1t6v6v304R/uJWk5/tT3Yl88SPptOT9dzxlfEqmreuOtLoO2dLQh4vbzzNO1uTDMvGvvYXl/93j4Ut7xo6TECSJGm+JElnJUlKliTpuY46jjVxdrDlh/umGLxprMH4AV6s/8cUsyqKWcKUQT74ujliI8HMId0vsqgzmRrmS4CHExnF1UT296S/t/UNbzsK/blmZyMxsY0RQgKBuQR5OvP6opHIMoR4u5iMXGyNYJ2RdkA3FKUFbWfmED+OvDC3XRXsBF1Pd7n/8jRh3g6wXRfGX1GrQpZlbll5mNu/OmqIUmnoA3PzyiM8s0F7465Sa3ju579f2xyfxzpdpVtTN/5J+Y0nvLPejwbA2INepVpDYWU9d64+xqPfn2DZqqONXm8agZTSSmW2539J4JXfTwPwxmbjwoUp7llzzBB1Um8k8qkzaZi6t+ZgeqO+6IWLzQl53PbVUe5efQxZlnl76xlOZJayNSGPeR/tNURxvfrHacO2bzeYPJnLmbwKUgqrGPLiVh5cF8srG0+RWVzDbV8dZcQrf7a4rSmPK8AgUAFUK9QcSm1eCv0/f57l3rUxjQSa7YkXWH0grdm6LbF0+SEWfLLPIm9HvaemqQcz+vfh1pVHuP6LQ3wWndxsnQ//Osedq48Rk15iMgLp5+PZXKio49mf4nj2p+YT5gfWHW/0v1oj957IFTPQaGRe35TI2fyWhTb9eq9tSuTetTH8cKxx1FHoc5uNGsh/d7R1DzmplYTD3LJabl11pNE5D+alUGYUV/PAt7E8+1Nch/iCtUb0uULuXhPTKHJHjyzLvLXlDImteTnqhqdhVrC+CnulkTEwFpm08WQO3+m2+b9d51m5L5Xf43KNbq+nYYp0TJNqmydd+1JRp2qWVt1d6RAPJEmSbIH/AZcB2cAxSZJ+l2U5sSOO1xuxs7XhoVmDSS+qxstI+fbexKyh/uz/5+yubkabGD9AGxUU2d/T4EsjEHQkiyIDic8ub3Fy1xr6CKSeFO0naJ2u9FgRWIfudP/1zpLR3P9trNHX4nXmwLEZJWw7lW8wt/4sOsXopCQxr4L47DJW7E01eEjo+UWXFpCUX0lJtYLN8bkMbiE9t06pIfS5zUZfu+y/e1v0ttyZVMDsYf4Gf7fXNzUf1oZP8TfEtp7yYIpj6aUcS9dOMp79Ob7LUqOPZ5aS0qC8u14Q03M4tXG0y86kAqa8vYv8ijq+MBItse5IJuuOZDayhbCEx344afh7S4I2vWyNiYijplQbSTM0xkgTQtSKvdr+JOVXMmmQDyq1hnvXxgBwx7SBFFfVk1lSg7ODrSH9WqORSSuqJj67jEWRQbymO2cKK+spr1ViIxkXM5sybbAvz8yLMPn61wfSebKBgft7287y3razHHp+NlPeblzJbenyQy0ea9JbO02+llxQxd5zhUwZ7MOpnHKe2hDH2P5eF3X0trlMfmunIdVx1f40Ev59udE0/FqFmj/icxtVqcwpqzGkT+q54uN9Bv8cPeZodW9uOWOItHt7yShualCpOS6rjEX/O2B0u+p6Fb5ujox4eRvD+nnw0wNTDa8p1Rp+OJbFS7/9nR46PdyPucMCDEL6ID/XVovrGCM2o4Sx/b1ajcSuU6rZqbv+b07I545pA8ksrmFIgBvxOeUM8HZhxd5UVuxNxdvVgZJqBW8tHkVWaQ0x6SUcSy/l1atHGK5hu5MKWHMwvZF4t2pfGpcND2BkUB9yymqZ9s4uowWO9NchXzcH3v/LuPG8ucwfdQdJrl3n99kWpI5QjSVJmgL8W5blebr/nweQZfltY+tHRUXJMTExVm+HQNAT+OdP8UwN8zGUvBcIuju7kwq4c/UxPr4xUpy3ncHMmdrf0dFd2Yp2I0lSrCzLUV3djosZS++/oOPuwU7llLPw0/1W3293YJGuUufGBultHc1VYwLp7EzXjOIaTmaVde5BewiLIgOpV2oMHkmLIgPbdD7MHebPjjMFra6X+tYCwwQ7tbCK2R90r1SXRW2sXnsxYez9NzYuxtbTFydpbfu2nGP6fVTUKptFHTVkWD8Pwv3dDF5n4wd4GR4YGjvu6OA+hocBptrbGmfyKjh3oQoHOxuuGNlycZnW+j7Iz5VUK0XwXDm6HxnF1ZzKaRzN1BnX/qaiobWw5j1YR4U8BAENY/GygUkddCyBoEfz7tLRXd0EgcAixoZ4MmOIn0i7FAi6H2bdf0mSdB9wH0BIiOmIm/YwMqgPV48JRKnWsPVUfqPX+no4WWRKbGcjodLI2NpIbTIZ9XF1oLhawZAANzKKawxRQmP6exKXVcaSsUGGSCaAUB8XlowL5sPtxp8sx+lElVAfF2ZF+PO1zpg5zN+N5IIqPJzsqKhT4Wxvi1KtaZS60LAvx16cywd/nWXdkUzsbCSG9nXnTF6F0YiUhOzOF3I6KzFpydggNsXnoVBrWHlbFHHZZXy6K5k+zvaU1ypZOLofni72fHs40+Q+Avs4MXd4gMH/KGqAF0qNzLwRAXy0/bzB82fx2CB+PZGDg60NCrWGz28ZR3JBFR80eK+DvZzJLq1l2eQBfH80s1l1voG+roZzQE/T/83luqj+BHu5UFKtILWoiqXjgrGxkXh542l+fXAqId4uODvYNorOGOTnxj/nR/DutiQG+bqSWtRxaS9Bns7klNU2W+7maNco5amt/b/YMXdcHO1s8HSxp6ymcQGBpts72ds0SqV9ZHYYn+5qnK6oj74BsLeVzG5DrUJFfIPrTHFVPcU6UUt/TWtIeW3zYgeWngf6j5a7o12r2+qvnU3RXycafjf093Ymq6T5eWsup3PKm13//NwdDW0c4ONCRrHpwgFeLvaU6t7LeSMC+PO0NnLqgZmD+Tk2mwITHmj/vqp1f+XuQEdFIC0F5suyfI/u/2XAJFmWH26wTsObl/EZGeaFnwoEAoFA0KsQEUgCMzHn/qspIgpcIBAIBIIuopPu8XpCBFIO0DBZO1i3zIAsyyuAFaC9eemgdggEAoFA0LPp4cKRoFNp9f5LIBAIBAJBN6EH3uN1VBW2Y0C4JEkDJUlyAG4Efu+gYwkEAoFAIBAIxP2XQCAQCASCDqRDUtgAJElaAHwE2AJfybL8ZgvrFgKmctj6AOUmXmuJtm7X0ra+QFEnH7OjtmvLtvr+96R+WqOtrb3vHXHMztrOnG1N9f9i62dTeuL5bs1jWnLe9+R+msJY/3vi9ctSLL3eWXLMobIsu7dx3wIzseT+S7d+JXDWzN2355y0xvbQvnPUGm2wRh/au4/2joE12tDV24M4F0CMAYjPgx5xLnT9GFhjHx11LljvHkyW5W79A6zozO1a2haI6exjdkU/W1g/pqf10xptbe19v9jPA1P9v9j6aarfF3s/TW1nyXnfk/vZ2vvflf3sovGx6HpnyTHbs2/x03E/nfFZt9b2lra3G/ehvW1o92epq8dBnAvd41wQY9A9xkF8HrrHudBN+tAh54I178E6KoXNmvzRyduJY15cx+xJbRXHFMcUxxTHtMZ27d22Jx1T0Lm09z3uDudId+iDGAcxBtbcR1ce/2IYA+j6cRBjYL19dPXxu8M4digdlsJ2MSJJUozciyvI9Nb+99Z+6+mt/e+t/dYj+t87+9+R/e6tY9rd6WnvS09rb0cgxkCLGAcxBiDGQI8YBzEGeoyNgzXHpidEIHUnVnR1A7qY3tr/3tpvPb21/72133pE/3snHdnv3jqm3Z2e9r70tPZ2BGIMtIhxEGMAYgz0iHEQY6DH2DhYbWxEBJJAIBAIBAKBQCAQCAQCgaBFRASSQCAQCAQCgUAgEAgEAoGgRYSApEOSJFmSpG8b/G8nSVKhJEmburJdnY0kSdfoxiKiq9vSGYj3/W8kSarq6jZ0Ja31X5KkaEmSLqq86t72eW+KJEkvSpJ0WpKkeEmSTkqSNKmr29QZSJIULEnSRkmSzkuSlCJJ0seSJDm0sP7jkiS5dGYbBb0HSZL6S5K0W5KkRN3n8THdcm9JkrbrztPtkiR56ZZHSJJ0SJKkekmSnm5tPz0FK46DkyRJRyVJitPt59Wu6pOlWGsMGuzPVpKkEz3pns6aYyBJUrokSQm677eYruhPW7DyGHhKkvSTJElJkiSdkSRpSlf0qS1Y8ZowVHcO6H8qJEl6vKv6ZQlWPhee0O3jlCRJ30uS5NQVfWoLVh6Hx3RjcLqt54EQkP6mGhgpSZKz7v/LgBxLdiBJkp3VW9X53ATs1/02G0mSbDumOR1Ou993gaAH06bP+8WA7iZyITBOluXRwFwgq2tb1fFIkiQBvwC/ybIcDgwB3IA3W9jscUAISIKOQgU8JcvycGAy8JAkScOB54CduvN0p+5/gBLgUeB9M/fTU7DWONQDs2VZHgNEAvMlSZrcGR2wAtYaAz2PAWc6tslWx9pjMEuW5cgeZixszTH4GNgmy3IEMIaedT5YZRxkWT6rOwcigfFADfBrJ/WhvVhlDCRJCtItj5JleSRgC9zYOV2wCtYah5HAvcBEtJ+HhZIkhVnamG7hgeTr6yuHhoZ2dTMEAoFAIBB0ELGxsUWyLPt1dTsEjRH3YAKBQCAQXNzExsYWAQ8C82VZvhtAkqSXgHpZlt+zZF/dImImNDSUmJgeE1kpEAgEAoHAQiRJyujqNgiaI+7BBAKBQCC4uNHdg50C3pQkyQeoBRYAFt8AdAsBSSAQCARdwMyZ2t/R0V3ZCoFAIBAIBAKroVBpqFGo8HQxae8nEHQ+XXzfLcvyGUmS3gX+QmvjchJQW7of4YEkuOjYkpDHhhjrWpn886d4Xtl4yqr7FAgEAoFAIBAIBNZl5f5Urvxkf1c3QyDodsiyvEqW5fGyLM8ASoFzlu6jVQFJkqSvJEkqkCTpVINlphy/JUmSPpEkKVnSVrUZZ2mDBIL28EdcLg99d5xnforng7/OYg2Pr6ySGtbHZrEhNpt6lcUibbfhke9PsHxPSlc3QyAQCAQCgUAg6DDyyurILa9tNA8oqqpn6ts7Scyt6MKWCQRdiyRJ/rrfIcAS4DtL92FOBNJqYH6TZaYcv68AwnU/9wGfW9oggaCt7DtfyJPrTzJhgDfXRwXz6a5kXv0jEY2mfSLSd0czkWWoUaiJSS+1Ums7l/jsMv6Iy+WbQxlWEdUEAoFAIBAIBILuSK1SjSyDQq0xLMsoria3vI5zFyq7sGUCQZeh131+liQpEfgDeEiW5TJLd9SqB5Isy3slSQptsngRMFP39xogGvinbvlaWTtDPSxJkqckSf1kWc6ztGECgSXEZZXxj29iGeznxpe3R+HhZIeboz1fHUijul7FO9eOxtZGsni/9So1Px7LYnq4L0dSS9idVMC0MN8O6EHHsvaQ1rs2p6yWlMIqwvzdu7hFAoFAIBAIBAKB9alVajMG6hQaHO1sAaioUwHaB8ICQS9EAyDL8vT27qitHkgBDUShfCBA93cQ0NB8Jlu3rFfw1+l8HlwXK5TtTia5oIo7vj6Kj5sDa++aSB9neyRJ4qWFw3hsTjgbYrN59PsTKFSa1nfWhG2n8impVnDv9EFMGuRN9LnCDuhBx1JareCPuFxmDdVWz96d1PP6IBAIBAKBQCAQmEOdTiSqa2A9UWUQkFRd0iaB4GKh3Sbaumgji3NiJEm6T5KkGEmSYgoLe/6Etk6p5qWNp9iSkM8VH+/j9U2JVNYpu7pZFz155bXc/tVRbG0kvrlrEv4eTobXJEniicuG8OKCYWxOyOO+b2KotfCpw7eHMxjg48IlYb7MHOpPckEVWSU11u5Gh7I+Jot6lYZ/XhHB0AB3os8VdHWTBAKrIMtym4RhgeBiQJKkdEmSEiRJOilJUoxumVGPSoFAIOhN6IWjhvf9VfWqZssEAoHltFVAuiBJUj8A3W/9jDQH6N9gvWDdsmbIsrxCluUoWZaj/Pz82tiM7sO6I5lcqKjns1vGcX1Uf746kMbsD/bw64nsXu85U1BRR3JBldX3W1aj4LZVRymvVbL6zomE+roaXe/eGYN4a/Eo9pwr5Pavj5ot7CXlV3AsvZRbJoVgYyMxUxfB05OikNQamW+PZDAx1JuIvh7MHOrH0bQSw5eoQNDdKa9R8kdcLsv3pPDqH6d56LvjXLf8IJf+ZzfDXt7G0Je28uT6kxRW1ndpO9UamZj0kl5/vRd0OrNkWY6UZTlK978pj0qBQCC4qKlTqnlnaxLV9SqDSNQwAkl//1+jFAKSQNAe2iog/Q7crvv7dmBjg+W36aqxTQbKe4P/UXW9is+jk5kW5sOCUf14e8koNj40jUBPZ574MY4bvjjMmbze6fiv1sgsW3WUqz7dz6mccqvtt1ah5q7Vx8gormHFbeMZGdSnxfVvnhTCRzdEcjyjlHvWxKA2w1h73eFMHOxsuG68VhMd5OtKiLcL0UnmR/DkltVyoaLO7PWtzZ5zBWSV1HLb1AEAzBzqj1ItczC5qMvaJOidlNcqefHXBP63O5nYjJIWI4dqFWr+iMvl3rUxTHhzB498f4J3tiaxISabM7kV2NpIjAn25NZJA1g2eQB/xOUy+/1ovtqfhkrdNRFJb205w9Llh9gQk90lxxcIdCxC602J7vc1XdgWgUAg6DROZpWxfE8Kh1OLqVVq7wUaRSDViQgkgWke++EEL/12qvUVBa2baEuS9D1aw2xfSZKygVeAd4D1kiTdDWQA1+tW3wIsAJKBGuDODmhzt2PNoXSKqhR8cdlQw7LRwZ78+sBU1sdk8e62JBZ+up8HZw7mqcuHmt7RRcjvcTmcvVCJq4Mt96yJYePD0whokGbWVl75/RQns8r47JZxTB1snqn1osgg6lUanv0pni/3pXL/pYNNrltdr+LXEzksHNUPL1cHQJsSN3OoH+tjsqhTqnGyt23xeGqNzI0rDlNWo2Dl7ROYONDb/A5aiTUHM/B3d2TeiL4ARIV64eZox+6zhVyuW2YNVGoN1fVqqhQqaupVVOme/owI6kMfZ3urHUfQM1GoNDzwbSyHUovRB+g429sSFerFpIHeTB7kw/BADw6lFPN7XC7bEy9Qo1AT4OHIsikDWDi6H0MC3HF1NP6VdcfUUP79RyKvbUrkx2NZvLZoBJMG+XRa/345ns2q/WnY20qs2JfK0vHB2LTBtF8gsBAZ+EuSJBn4QpblFZj2qOxRZJXU4Ofu2Or3rEAgEOjRextVK9TU6U20lX8/VKoQHkiCFjiVU467k5izmIM5VdhuMvHSHCPrysBD7W1UV7NyXypbT+Wz8rYog3hgioo6JV/sSWV2hD/jBzS2GrCxkbhxYgjzR/blpY2n+XRXMgtHBzK0b8+rgKXWyLzy+ykuVNSz/NbxZlU0U6g0fLj9HCODPHj32tFct/wQ966N4cf7puDs0PabwhqFij/i8rhhQn/mj+xn0bbXjQ9m15kCPvjrLDPC/Rge6GF0vd9O5lBVr+KWyQMaLZ811J+1hzI4mlbCjCEtp17uTiogs6QGTxd7bl11hE9ujLS4ve0hvaiaPecKeWxOOPa22mBDe1sbLgnzZc/ZAmRZRpLaNsktqVbwc2w2G2KzSC+uMRlNsigykI9vHNvmPgh6PrIs89zP8RxMKebD68dw6RBtGuWRtBIOpxbz/l/nGq3fx9meRZFBXD0mkIkDvc261gzyc2PNnRP4K/ECr/2RyA0rDrMoMpAXFgyzimDdEgnZ5Tz/SwKTBnpzXVR/nt4Qx+6zBcwZ1iPn7YKexSWyLOdIkuQPbJckKanhi7IsyzpxqRmSJN0H3AcQEhLS8S21AIVKw7yP9vL05UO565KBXd0cgUDQQ9BXV6upVzUQkJp7IIkqbAJjVNSpUJmRoSIwQ0DqbWxJyOONzWcAeOT7E6y+cwJ2tqYz/VbtS6O8VsmTlw0xuY6niwOvXj2CP0/n883hdN64ZpTV292RqDUyT60/yW8ncwH4+kAa90wf1Op2PxzLJKukljfuGsWIwD58fONY7vsmhqc3xPHpTWPb/IR+d1IhtUo1V40JtHhbSZJ4a8koLv9vKU+uP8nGh6cZynvqkWWZbw9nMqyfB+NCPBu9NnmQDw52Nuw+W9CqgLT2cAYBHo5semQ6//gmhgfWHefVq0dw25RQi9vdFr49nIGdjcTNkxpPDmYO9WPb6XzOXaiySMyUZZlDqcV8fzSLP0/lo1BrGD/AizunhuLqaIerox1ujrbavx3s+Pl4Nn+ezqe6XmUyckTQmLIahaGKYGdQYO+Kt7KmQ78I/rv9HL+cyOGpy4awZFwwAFeM6scVo7Riakm1gqNpJZzKKWdsiCfTw/1wsLM8u1qSJOaN6MuMcD8+j05m+d5UdiRe4LG54dw5baBBRLUmRVX1/OObGHzdHPnslnF4ONvz4V9n+WJvqhCQBB2OLMs5ut8FkiT9CkxE51Epy3JeE4/KptuuAFYAREVFdas75rJaBTUKNfldmP4tEAh6HjX1WmGoWqGm1oiApPdAEilsAmOU1yobnS8C01j/jroHE59dxpPrTzJ+gBevXzOS/clFvLstyeT6pdUKVu1P44qRfVv14PF2dWDh6H78ejynR1VnU6k1PKkTj56ZN5Q5Ef68/9dZMotbrkRWo1Dxyc5kJg30Zka4NsXssuEBPDc/gs0JeXy083yb27Q5IRdfNwcmDWxbioq3qwPvLR1FUn4lHzaJfgA4nlnGmbwKbp0c0mwi7+xgy5RBPuw527KRdmphFXvPFXLLpAH4uTuy7p7JzInw5+WNp/nPn0kdbrRbq1CzPiaLeSP7NovAmDnUH4Dos+Z5OZVUK1i+J4VZ70dz85dHtP2aHMJfT8zg5wem8vyCYTw6J5y7LxnIDRNCWDg6kFkR/twxNZQ6pYbtiRes3r+LkWPpJUx8cyf/tyu5U44Xn13G1LH/4NKx97JyX2qHXJd+PJbJJ7uSuSGqPw/PDjO6jrerA/NH9uXpeUOZMyygTeJRQ5wdbHny8qFsf2IGkwb58NaWJK74eJ/Vfb+Uag0PrjtOcbWCL5aNx8fNEXtbG+66ZCBH00o4mVVm1eMJBA2RJMlVkiR3/d/A5cApTHtU9hjKa7TXoso6kWYiEAjMp1qXmlZjwkRbH4FULVLYBE2oU6pRqDRU1qlQdpGXZk9CCEg68svruHdtDD6ujnyxbDzLJg/gtikD+HJfGr+dMFpIji/2plKtUPFEC9FHDbl9SijVCjW/HDe+v+6GVjyKY+PJXJ6dP5SHZoXxxuKR2NnY8Nwv8S2KIF8fSKeoqp5n50c0EmHumzGI68YH88nO82w8afk41ChU7Eoq4IqR/cxKbTHF7IgAbp4Uwop9qRxOLW702rrDGbg52nFNZJDRbWcN9SO1qJqM4mqT+//2cCb2thI3TtQacDs72LL81vHcNLE//9udwjM/xXfoBWrjyRwq6lTc1iQFD6BvHyci+rqz2wwBqU6p5ur/2887W5Pwd3fivzeM4cgLc3jlqhEMCWg5emlciBdBns781ob3uaupVaiJzShlfUxWp5ig55XX8sC3sSjUGlbuT6O6g6vkqTUy//rtFJ6qOoLqK3hj8xmmvr2LNzcnklNWa5Vj7DlXyAu/nmJ6uC9vLB7ZaVFVegb4uPLVHRNYdXsUCpWGm1ce4aHvjpNXbp3+vbEpkaNpJbx77ehGDxBunBiCu5MdK/amWOU4AoEJAoD9kiTFAUeBzbIsb0PrUXmZJEnngbm6/3sUZbV6AannPGwTCARdjz41rUqhol6lN9H++15bmGgLTFFR+/f3TVmN+O5pDSEgob2Q3Ls2hqo6FRPSGt0AACAASURBVKvuiMLXzRGAlxYOZ+JAb/75c3yzCmIFlXWsPpjGojGBrU6k9Yzp78mY4D58czij25d6Vqk1PLE+jt/jcvnn/AgenKmNHujXx5nnF0RwMKWY9TFZRrctq9FGrMwdFtDMF0qSJN5YPJKJod4881M8JzJLLWrXrqQC6pQaFoxqv5fQiwuGEeLtwlPr4ww3qqXVCjYl5LF4bJDJtKu/I3iMRyHVKFRsiM1i/sh++Lv/Hf1jZ2vDW4tH8fjccH6KzeaeNTGGpyHWRJZl1h7KYGiAu0nj7lkR/sSkl7Z6g77uSCbZpbV8dUcU6++fwuKxwWabmtrYSFwdGci+80UUV3VtifWWqFWoiUkv4esDaTy1Po55/93LiFe2ce3nB3n2p3huWnHY8ES8I6hTqvnHN7HUKTX8Z+loymuVfH80s8OOB/Dd0Uzis8t5KWMX6xN/YOND05gV4c9XB9KZ8d5uHvn+BHFZZW2+Tp3OLefBb2MZEuDOZ7eM65D0MXOZMyyAv56YwRNzh7Aj8QKz39/DZ9HJLVaBa431x7JYcyiDe6cP5JqxjYVmN0c7bp08gG2n8lsUmbuC9KJqPt15nge+jaWsRtHVzRG0A1mWU2VZHqP7GSHL8pu65cWyLM+RZTlcluW5siyXdHVbLaVMRCAJBII2oDfHLq3++/utcQqb8EASGKeiwXyoVNwftUqvF5A0GpmnNpzkVG45n9w0loi+f5sq29va8Nkt4/B2deAf38Q2mgR/Hp2CUi3z2Fzzoo/0LJsSSnJBFYdSiltfuYvQi0d/xOXy3BURPDCzcbWymyaEMGmgN29sPmM0OuPzPSlU1at4Zp7xinOOdrYsXzaeAA9H7l0ba1HEw+b4PHzdHK1S0czV0Y4Pr48kr7yW1/5IBGBDbBYKlYZbjUTu6An1dWWgr6vJCJ6NJ3OprFNx25Tm+5AkicfnDuHtJaPYd76QyFf/Yvb70dy9+hhvbEpk3ZEMDqUUc6GiDk0bjdyOZ5aSmFfBsikDTEZ9zBzih0ojc6CFtJ7qehWfRyczdbAPsyPa5ueyKDIQtUZmS0Je6yt3AXVKNfM+2svS5Yd49Y9E9pwrJNDTiYdnhbFi2XhWLBtPVmkND34X2yERY7Is8+Kvp4jPLufD68dwXVR/Jg/yZuW+tHYJHC1RWFnPe9uSmDLIh6uLtSm6Y/p78slNY9n77CzuvmQg0UkFLPrfAUa+8icLP93HI9+f4MPt5/jtRA7x2WWU1ypNiku5ZbXctfoYHs72fH3HhG5R0cLJ3pbH5oaz48lLmR7uy3vbzjL/o70kF1RavK8TmaX867dTXBLmyz/nRxhd546podjaSKzan9beprebCxV1rNyXyqL/28/M96P5YPs5tp7KZ8Xe1K5umkBgFL24KSKQBAKBJVTrPJCKq/4WAGobCkjCRFtggvIGEUgl1UJAao1e72z70Y5zbEnI58UFw4yanvq6ObJiWRRLlx/koe+O883dkyisrGfd4UyWjgtmoK+rRcdbOLofb25OZM2hdKaGmVd+vjNRqTU8/uNJNsXn8cKCCO6b0bzUvY2NxDvXjmb+R3v512+nWLFsvEGoyC+vY/WBdBZHBrVo0Ozt6sBXt09gyWcHefi74/zywNRWU1yq67XpazdM6N+u9LWGjB/gxYMzw/i/3cnMGebPuiOZTAz1btVc+tIhfnx/NJM6pbpRRI4sy6w5mM6wfh5ENYm+ashNE0MI83djd1IBaUXVpBVVsz+5yBByq8fFwVZnTm2Hq6MtLg7avyP6unN1ZGAjwVPP2kMZuDvasXis8RQ8gHEDvHB3siP6bKHJynBrDqVTVKXgi2WWiaQNiejrQURfd347mcuyTjIPt4Q/T+eTWVLDv68azvyR/QjwcGx2Hr61eBTP/BTPv38/zRvXWDcVa83BdH4+ns3jc8O5fERfAB6YGcbtXx3lt5M5XB/V32rH0vP21jPUKdW8fs0IpO8avxbk6cwLC4bxyOwwNsfnkZRfSWpRNSezStkUn0tDzcjWRsLFwVZ3btrhqjtXM4prqKlXs+GBKfTt07EV0Cylv7cLK26LIvpsAU9viOfmL4+w4f4pDPAx7zqeVVLD/d/GEtDHkU9vGmuywEKAhxPXRAaxPiaLx+cOwbuVap6mOJNXwY/HsnjisiH0cTZfiFNrZH6KzeLXEzkcSStBlmFkkAcvLIhg4ehA3t6axJqD6dwzfVCb2yYQdBT6G/mOiNAVCAQXL/oIpKIGAkC9MRNtYZQsaEJF7d/fN6VCQGqVXi0gbTyZYzB4vWe66VKxo4L78PaSUTy5Po43N59BodYgI/PIHOOmsC3hZG/LDRNCWLE3hdyyWgI9ndvTBatRVa/i95O5rDuSwencCl5cMIx7Z5iutDbQ15UnLxvC21uT2JKQz5WjtSLEJ7vOo5Fls3yhwgPcefHKYTz3SwK7klove70zqYB6lYYrrZC+1pBH54QTfa6AR384iUKlabGinp5ZEf6sPpjOodRiZulS2gBiMkpJyq/k7SWjWhUaJoR6MyH070gqjUYmt7yWtKJqUgurKa5WUF2v0v4o1FTXq6iqV5FXXseec4V8Fp3CkAA3rh4TyNVjggjxcaGwsp4tCXncMmlAi5XP7G1tmB7uS/TZQmRZbtbWijolX+xJZdZQP8YPaF+019WRgby37SxZJTX093Zp176szY/Hsujv7cxtU0JNVgW8Lqo/yYVVfLEnlSEB7tw+NdQqxz6UUszrm89w2fAAHp0dblg+I9yX4f08+GJPCkvHBbdarTCnrJZlq45w1ehAHp8b3uJ5dyS1mF+O5/DgzMGE+ZsWSd2d7LlxYuPqfXVKNVklNaQUav2/KuqUVNerdeeniqp6NTX1Kvw9HPnPdaONipvdhZlD/Vl3zyRuXHGIm788wvr7pxDUyrX4dG45d3x9jHqlmtV3TsSrFeHlvhmD2BCbzTeHMnhsbniL6zZFlmW+O5rJq38kolBpcHW05Zl5xqOdjPH1gTTe2HyGQX6uPDYnnKvGBDLYz83w+qOzw9gUn8uX+1JNRlEJBF2FSGFrPymFVaQVVjN3uKgGKeg9VCv0EUh/Z4zoxSKlWkOdUvuQtkaYaAua0DCFrUSksLVKrxWQ4rPLeOaneCYN9OZ1M6IKlowL5nRuBav2p2Ejwa2TBxDs1bbJ8C2TQvhibwrfHcnkaRNpXp2BLMsk5JTz/dFMNp7MpUahJqKvOx/dENnM18MYd18ykE3xebzy+ymmDvahrFbJj8eyuHVSiNlCwbXjg/lfdDIf7TjP7Aj/Ft+HzfG5+Ls7EhXa/vS1hjjY2fDf6yO58tP9+OgqQrXGpIHeONnbsOdsYSMBae2hDNyd7FgUGWhxO2xsJIK9XAj2cmF6uF+L6xZV1bM1IY/f43J5/69zvP/XOSL7e+Lj6oBSLbPMSPpcU2YO9WdLQj5J+ZUM69d4sr9qXxrltUqevKz95+fVY7QC0u9xuTw0y3LRtaPILK7hYEoxT142pFWR5tl5EaQUVPPqH6cJ9XXl0iEtvz+tkV1aw0PfHSfUx4UPrx/T6PiSJHH/zME8+v0Jtp+5wLwRps9HtUbmiR9Okl5Uzcc7z5NfXsebi0cajYxRqjW8tPEUQZ7OPDLbMkEDtOJ3eIA74WZ6vnV3hvZ1Z+1dk7j5y8PcuvIIP/5jciPPsoYcSC7iH9/E4uFkx3cPTDVrDMID3Jkd4c/aQ+n849JBZnuHVdYpef6XBDbF5zE93Bd7WxtWH0jn7kvMixaqrlfxWXQKl4T58s3dE41eU8MD3LlqdKA2CumSgfjofP8Egu5AWa0+hU1M8trK/3Yns/30BRJendfVTREIOo1aRfMUNr1opC9O4uFkR0WdCo1GbvXeT9B7aJjCJiKQWqfXeiAt35OCm6Mdy28db3bZ6OeviGBamA9O9rbtmgj393ZhToQ/PxzLpF7VuWGU1fUq0oqq+eZwBgs/3c/V/3eA307ksnB0P359cCpbH5tulngEWlPod68dTVmNktc3J/Lh9nM42tnwsAWTU3tbGx6ZFU5CTjk7z5iuClZVryL6bCFXjOxrtfS1hoQHuLP6zgn875ZxONq1PtFzsrdl6mDfRj5IBZV1bDuVx3Xj++Pi0LHarK+bI8umhLLh/qkceG42z10RgUKlYWdSATOG+DWKNjDFTJ0I0tTLqbRawar9acwf0ZdRwX2MbWoRwV4uTAj1YuPJnG5lHr8hNgtJgqXjg1td19ZG4uMbIxna14OH1x1vk3eOnlqF1jRbqdLw5W1RRj2CFozsS4i3C59Fp7Q4Zp/tTuZoegnvXzeGR2eH8WNMFvd9E2v06drXB9I4d6GKf189AmcH88SMi51RwX1YfdcELlTUcevKI0bz3jeezOGOr48S5OnMzw+aJx7puW/GIIqrFfwUm23W+qdyyrnq0/1sScjjmXlDWXPnRJ6/IoIapZov95nnWbT6YDol1QqeunxIi4L8o3PCqVWqWWHmfgWCzkIfgVRVr0LdRi/A3k5WSQ2V9SoRaSG4qCirUTQqfNMUvUjUMEVN/7dekA7wcGq2jkCgr8LmaGdDSbXw32uNXikg6b10Fo7u12oaQkPsbG1YfedEdj8903ABaivLpoRSVKVg26n8du3HGLIss/dcIW9uTuTR709wwxeHmP1+NCNe3saIV/5k1vvRvPTbKTQyvH7NSI68OIf3lo5hbIiXxf4uwwM9eGDmYH45nsMfcbncNW0gfu6WPc1ePC6IEG8XPtp5zuRkeeeZC9r0tdGWR/aYy9TBvkwe5GP2+jOH+pFRXENakbbS0g9Hs8yO/rEmQZ7O3H/pYLY8Np09z8zk05vGmrWdv4cTIwI9mlWT+2JvKtUKlVlpiOZydWQQ5y5UkZTfduHFmmg9YrKZEe5ndhqpq6MdK2+PwtHelrtWx7TJZK+0WsFTG06SmFfBxzdFMsiE0Gdna8N9MwYRl1XG4VTjRZRiM0r5aOd5rokMZMm4YJ68fChvLh5J9NkCbv6ysRiSW1bLRzvOM3eYP5eJlIZGjB/gzcrbo8goruG2r440egr15d5UHvvhJGNDvFh//xT69bEs5XjSQG/GBPdh5b7UFifC2sqJ6Sz57CB1Sg0/3DeFh2aFYWMjER7gzkJdtFBr51x5rZIv9qQwd5g/Y0NMe7ABhPlr01/XHszo1lUSBb2Php/BaiGAtInMkhoAiirFk3TBxcORtBJ+Pp7N8cwyo68bM8euayIg+Xs4mlxX0Hspr1XiZG+Dv4ejqFJrBr1SQNpx5gJ1Sg0L2yBG2NvatFs8Apge5kuojwtrDqa3e196ZFlm99kCFn92kNu+OsraQxnEZZehkWWGBXpw/YT+PHdFBB9eP4ZNj1zClkcvYdnkAXi0s0rSw7PDGOzniqeLfYu+Saawt7Xh4dlhnMqpYIeJKKTN8Xna9LUWjKk7m5lDtKlru5MKUKo1rDuSwYwhfhYbq1uTAT6uFpntzhzqR2xGqeGGvaCyjtUH07h6TGCrRuKWcOWoftjZSGw8mWu1fbaHvecLySuv44YJlplUB3k6s+K28eRX1HH/t7FmRxCmFlbxr98SmPLOTrYk5PPP+RGtVrZbOj4YXzcHlu9JafZaRZ2Sx344Qb8+Trx2zUjD8lsmDeDzW8dzJq+Caz8/SJZuEvH6pkQ0sswrV42woLe9h6mDfVm+bDxn8yu58+ujVNYpeWNTIm9uOcOCUX1Ze9dEiz5XeiRJ4r4Zg0kvrmF7YvOHBYWV9exOKuCBb4/z8sbTTA3zYctj05tVmXx0dpg2WqiVymmr9qVSUWe++PvonHDqVa3vVyDoTPQRSGC9NLaz+ZW9RiitU6q5UKHta2FV80q5AkFPRT+xL6k2/lluKjhL0t8pbPqopQBdqnqtEJB6Hc9siON/u5ONvlZRq6KPsz3eLg7CA8kMeqUH0qb4PPp6OHWpGGFjI7FsSiivb0rkVE45I4PaniokyzLRZwv5aOd54rLKCPJ05q3Fo1g6Ptjs9Lz24Ghny0/3T6WyTtWmSRbAkrFB/G93Mh/tOMfcYY29kCrrlESfK+TmiSHdKl85xMeFwX6uRJ8rpG8fJy5U1PPmNZ0bfdReZg3153+7UziQXMSCUf34PDoFpVrmsTmWe+S0hLerAzOG+PH7yRyenTe0y9/H9cey8HZ1YG4rxu3GGBfixX+WjuaxH04S9foOokK9mDzIh8mDfBgR6GHwH5JlmSNpJazcl8bOpAvY29iweGwQd08fyBAz0qCc7G25c9pA/vPnWU7nljMi8O9rxMu/nSKvvI71/5jSTACeN6Iv6+6ZxN1rYlj82UHunT6QrafyeWbe0G5nYt6dmDXUn09vGstD353g0v9EU1Kt4I6poby0cHi70mbn69IRP9+TioOdDQnZFSTklHMqp5z8Cu3kzt5W4vkrIrh3+iCjnw29Z9HaQ+ncO924Z1GJLvX0ylH9Gp0rLTHYz41FkUGsPZTBvTMG4Su8kARdREWdEjcHO2xsJMpqFTjZ21Cn1Ogmfe0vNnLrqiNcMbIvry0a2frKPZzs0hrD34WVvUM0E/QO9KlFDT2OGlJT31gU8nCyN0Qg6as6+ukjkJQiurE3IcsyWxLyGBnUx6gNTXmtEg8nezxdHIQHkhn0OgGpvFbJnrOF3Dp5QJdPYpeOD+b9P8/yzaEM3l062uLt9RFHH+84T1x2OUGezry9ZBTXjusc4aghXq4OFqUDNsXO1oZHZofz9IY4tideMJQ0B9iVVIBCpWHhaOtWX7MGM4f6883hDCrrlAR5OjMrwr/1jboRkf098XCyY3dSAZH9PVl3OJNrxwWZTK1qD4siA9mVVEBMRmmzCIvOpLiqnh1nLnDblNA2f04WRQbRx9me7YkXOJxazG5dGqCbox1RoV6MCfZkV1IBCTnleLs68MjscJZNHmBxeuetkwfweXQKy/ekGlITfz2RzW8nc3nysiGMNyGCR4V68/MDU7j9q2O8vTWJQX6uLVaaFGiZP7IfH1yn4blf4nl2/lAeuHSwxWm9TbG1kbhn+kBe3niau1bHIEkwyNeVyYO8GRnUh1FBfRgR1Ae3FqomgjZa6I/4XFbsS+X5K4Y1e/2LPSnUKtU8cZll4u8js8PYeDKHFXtTeWFB8/0KBB1NnVLNtHd28a8rh3HDhBDKapQEe7mQXFBllQikWoWawsp6sktrrdDa7kudUs1XB9II9fk7CloISNZl77lCnOxtu/QepjdTqosMKTYxwW/q+eXt6tBMQNIXyxApbL2LvPI6qnXfBcaoqFNqI5BcHUgtqurk1vU8ep2AtD3xAgq1hqvGdL0Y0cfZnmvGBvLriRxeWDCMPi7mR+8cSy/hrS1nOJFZRrCXM+8sGcWSLhCOrMk1kYH8367zfLTjPJcNDzBM3PQRY+Na8fToCmYN9WfV/jROZJbx3BURHWLw3ZHY2dowY4gf0ecKsbO1QUZuU4Uuc5g7LABne1s2nszp0puvX0/koFTLFqevNWXmUH9m6irwFVTWcTSthMOpxRxOLSH6bCGD/Fx5a/EolowLMrsCV1P6ONtzy6QQvtyXyjOXayvivfTbaSaGerdq5B/m787PD0zlzS1nuGtaqFnm8AK4ZmwQC0f3M1rJrq3cNDEEdyc7gjxdGB7o0apYZIyGnkX3Tm8cLVRQUceaQ+lcExlEmL9lqaeD/Ny4JjJIF900yGKRUyBoLxcq6qisU3EmrxKVWkNlnYqoAc46Aan9Zqb6SL+Cyos7nWvPuULe23aWkUF/V1W9WAUkjUZmf3IR08N92y3yW8Kbm8/g5WrPD/dN6bRj9lQyi2tQqDWE+Rt/IJlVUkNVvapZFeCW0PsAlhiJQJJlmRqFGntbCaVa6zno6WJvMMuuMJho6yKQ6oWA1JtILtCKQgVNromVdUoScysor1US4OGEl4sDpcJEu1V6rtrQRjbF5xLs5Uxkf8+ubgoAyyaHUqfUsCE2y6z1kwuquHdtDNctP0RuWS3vLBnF7qdncuPEkB4tHsHfUUiJeRX8efoCoP1g7zlbyBWj+nZ5xJgxJgz0wsXBFgc7G66Pap8g0VXMGupPYWU93x/N5MYJIR2W5uTqaMdlwwPYnJCHQqXpkGO0hizL/Hgsi8j+nmalkZmLv7sTC0cH8sY1o9jx5KUk/PtydjxxKTdPCmmzeKTnrksGYmdjw2fRyTz6wwkkCf57Y6RZYmXfPk58etPYVg2VBY2xpngEWp+3xWODmTjQu03ikR69Z9GXTTyLPtOnns5tm/j7yJxwFCoNXxjx2xIIOhr9DX12aa1hkhfspf0eai0CKb+8jvu/iW1kvG1sHYCCiotTTNGTo4uwOpVTgbO9Lb5uDhRepL5PfyVe4LavjnIyy7iZckdRWFXfqaJcnVLdpoId3YEXfk3grtXHTBbHeWNzItcvP2SRN5k+tajYiAeSQq1BpZEbPVzxcmkQgVTXNAJJpLD1JvQCUlWT6pSf7krmxi8Pk15UrYtAsm+2jjFKqxXdqrJ0Z9OzFQcLKa1WsP98EVeO7tepTyxaYnigB1EDvPh4x3ke/+EE3x/NJK2outlJWVBZx4u/JjDvo70cSinmmXlDiX56FjdODMHeypOdrmRRZCADfV35eOd5NBqZHWe0EWPdMX0NtP5Pd18ykEdmheHdjhS+rmTGED9AW7ry4dktR7W0l2vGBlJWo2Tf+cLWV+4ATmSVcb6gqt3RR63h7mRvNcEzwMOJa8cH8cOxLE5mlfH2klEEmVk5TnBx0dCzqEh3051TVst3RzK5PiqYAT5tM/Af6OvKNWOD+PZIxkUfpSHoPFbuS2XdkYxW19MLO7lltQaT3P7e2mtcawLSvvOFbDudT0y68WqVAPkVWmGlqKq+xWqIPZX1MVkk5VeQW/Z3il6Itwt+7k4XbQSSXjjKLWt+vTqVU87PsdlWP6ZSraGkWtGpY/rCrwlMeHMHj/9wostNn3clXeBAcpHZ65+7UElmSQ2JeRVGX88orqGyXsXrmxL5ZOd5UgpbTxsqaSGFTR9R1DCK1tPZ3mCinVlSjYOdjeFeXR+Z1B05kVnKxpM5Xd2Mi4rkBueX/jtHlmW2nspDlqFaocbDyY5JumrcXx9IN7mv745kMv6N7Xx7uPXvt4uVXpXCtu10PiqNzFUdWAq+Lby9ZBQf7zzPgZT/Z++8w6Mq0z58v5Pee6+EBEKHJDTpTcDee9u1r23VXVe3ut+uu66rrq5dUdeuLLKiIAjSe0kgDZKQ3ntvk8zM+/0xhYQUAiRkwPe+rrmSmXPmnGdOmTnv7/ye56nhG1OXKn83B2ZE+TA9ypvKRi3v7cylQ2fg9hkRPLIwutciqhcCRhdSNE+sTGbj0XLWpZQT5OHIlDDrdVA8aUotOl/xc3Pg2rhQYgJcB6XDYH/MifHDy9mONUdKWTTAAtZlDW3szzWmhx3Mr8Xe1oYoPxeifF0YYXpE+bkOqID7yoNFONnZWK0g2Rf3zR3JqsRirpocckbdIxUXDuaaRe9sz+F3l47l9S3HAXj4LFNPH10Yw5ojpbyzPZc/XDZ2MEJV/IQxGCR7c2rYnFFJZaO2386AZtGytKGNepOTKKwPB9Lhwjoe+DSRbx+eTYC7o6XTZF51S5/LL28wDhYM0uhcMDsQBpvNxyr42/fHWPfonLN2ng6UTr2BZ1ancvWUEFo7dNhqBDqDJMzbmQ694YIVkFKKjQJSb4L329tz2JhewdVTQgbVuW4u3NzYrqO9Uz/k+7i9U88PaeVE+DjzzZFSJoR6cvfsoatleLS0EVcHW8J9eneh/3XtMdyd7JgV7XvKZTVrdRZn4Q9p5ZbGDu2devbkVLMwNoDS+jbsbIRl3FPb0sGzV/TfKdbcobE3V1arSRAyO5AcbDU4O9jQ3qmnvrWDbw6XcvnEYJztjfvNmmsg/evH4xwurOOKScFnZHiobtZSUNNCfISq1WUmu7IZG41Ab5BUNmmJ9HUhvbSRoto2hAApjWUjpkZ6s2RsAG9uzeb6hFDL78XWzEriI7zYmlHJb/+XCsD6tHJunxlpWUd+dQvtOj2xgQNPyzxf+UkJSGtTSon0cWZcsHXt2JgAN16/JQ4pJbnVLezLrbEMmL9NNn6xXjohiF8vHU3kMLaIP1dcMSmY17dk8+LGLAprWrl95vAXPL/QeemGSedkPXY2Gi6ZEMTqpBJatDpcTkrnae3QUd7QTnJxPftyatmfV0N+jXGA4OZoy7RIbwxSkl7SwIa08m53k31c7Lk+IYzHl8T0Wu+nRavju+RSLp0YhJvjmXULHC5G+Lqw86mF+Kv6ND95zDWLPtlXwLLxgaw8VMztMyLO2pUW6evC1VNC+HRfAffPjcJ/iMVkxYWNRiN45/Z4nvxvMq9uPs7N08IJ9Oj9mDIPNOtbOy0umgAPR2w0okcNpG+TS6lo1HK4sJ5l4wMpNAlIuf0KSCecOZWNQycg7c2pIaeqhcLa1kFNke6P4ro29AZJdmUzEpge5U1ZfTtTwj3JrWohu6IJMA7cm9p1vdY4q2vpwMFOg7P9+TEkMBgkqSUNQM96JgBHyxrp0BuoaGonyGPw3LpdxbjqZq0lzXKo2HW8mpYOPc9ePo7Xt2Tzwa487pwZMegp1mZ+8Vkivq4OrHrwoh7TtDo9+TUtuDrYIqU8paiRV2U8H+1tNKxPK+cJ043Wt7bl8Orm43z94EU0tut4ZGE0/u6OvL8zt1v3wJOpbtbi6mBrEY5668LWau6yZhKQHO1scLQ1Ckif7S+krVPPPXNGDJuAlFPVzN+/z+CVmyb3SGX/76EicqpaeHp5LAaD5HBBHU1aHfWtnWfUoOitbTl8sq+AtGeXnvflTQaL7MpmJoZ6cLiw3iI8/5BejkbA7TMi+GhvAe6mG9HPLI9l0cvb+fJAEY8uiqGotpWffXiQWdE+HK9oZlKYJ/HhXnyyL589OdWs2JnHv2+ewmNfHaFVAugLdgAAIABJREFUq2PTE/OG86OeE86PX4tBoKpJy96cGh5aEG016WsnI4RgpJ8rI/1cuXV6BFJK8qpbMEh52oVRz2dsbTQ8uiiGX351BIBLJpxfbhFF/1w1JYTP9hfy5MpkHOw0VDZqqWhqp6pRS5P2xN1md0dbpo3w4bYZEcyI8mFMkHu3uj8dOgNFda3kVrWQV93M4cJ63t6ew7bMSl65aXKPOwDrUsto6dAPefraUNHX4Evx0+ORRTF8c6SEO94/gJ2N4BfzRw7OchdG09TeiXaYapQpLixsbTTcNDWcNUdKyapo6ltA6lKbKKnA6CzxcbHHzdHW0jnJzPYsY/qzOd3FIiD1k/5iLqINQ1tUusg0AC6sOXcCUn6NcaCeU9mMg50Ni8f48/HPp2OjETy/PoOqZi1SSl7amMnqpBL2PLOwxw2W69/Zy+QwT168/uxuJBkMkje2ZnNtfCjBQ5hmnV/TYnGmVTR2dyC1dugsbrTCmtbBFZCaux9HQy0grU8rx93RlhlRPrR36rnvk0Q2pJef0oVc39rBOztyeXD+SNwHeLOsRasjv6aVgtpWKhvbe9xAyK9uxSCN7qu61s5Tlmwwd7G6Nj7UUpojyMORT0wpP9syKwEYFeDG5ZOC2ZFVRUFN7yKwlJLlr+7kuvhQGto6sbfV0Kzt6QJr6eiewuZkZ4OTvQ1tnXpWJRYzK9p4HanVGedrO8c1kNanlvHjsQr25dSweGx3B/47O3LJq27hwfkjKW9ot1wL59e0nJGAlFXRRIfOQG51c49r4TVHSvBxcWB2zKmdZBcKB/JqqW3p4OZpYUYByfSbsz6tnOmmccbH+wosv1FRfq7EhXuxIa2cRxfFkFJsFKx3Z9cA8NZtcWg7DXywO4/7Pk6kWavj3R25JBfVoxGcE4ficPOTkSXXp5VhkJxX6R9CCKL8XH9S4pGZyycFE+XnQoinE1OspOC5YnCID/ciNtCNrZmVHC6sp1NvYEygO9fGh/KbZbG8dP0k1j4ym8N/vJgVdyZwz5woxod49CgabW+rYaSfK0vGBnDf3JG8dVs879+ZQHWzlite2817O3IxdHEorTxYRJSfCwkR1psOqVAMBHPNopYOPXfOjBw0t1CEjwvv3J4wZIX0FT89zB2YzAVMm9o72Zhe3m2eyqZ2bE3f79+llOLtYk+4tzNujrbdUtiKao03DLour7DW6C7qP4WtnSg/F8u6hgpzLEX9OClOh/ZOPRvSyvot1Fpg+txNWh3VzVqCPZ0sv5V+bg506iUNbZ1sz6qipqWDPTk13d5f0dhOdmUz2zKrMBgk61PLLAPsU6E3SDYdrbAUKc6paualTVl8caCw23zZlU2kmRxDg4HZfeTqYNtDEMwob8K8ucziYlcO5deS38+x0h9d1zXUqYGdegM/Hqtg8ZgA7G01LB4TgL+bAxtNDWb6wmCQPLkymbe25bD5WP/zduW46XyS0jioXptS2q0wvfl8g/7F2hPztCAE/HxWJADbMyv5OqnY4iAyC8FmoTHc25mi2rZej/XKJmPh8q0ZRtEpypSJcXIam8WBZBaQ7G1wtLPBII3fD9MijbVt7G002GjEOXcgJZtEiKTCOnKrmtmSUYHeICmpbyO7shm9QbInu5qkwjrLewpqzuy7xPx9mFne1O11g0Hyh2/S+N03qT+ZAtArDxZxwzt7cXe05eopodjZCCqbtGRXNpFd2cyy8YHEBLjx4xPzWDYu0PK+5eMDOVrWSGFNKynF9djbaPj5rBHcPy+K+Ahv4iONTZSatToc7TS8sTUbMKZK51Q1s/N4FbUtHbR36lmfWtZtPHIh8JNxIK1NLiPG35XRgT89MeZ8xEYj+Ohn09Dq9Cp97QJDoxGsf2wOwKC7AReNCeCHX87l6dWpPPf9MTZnVPDSDZNp69BzqKCOp5fHWq0DUaE4HZ68eDQCwYOD5D5SKIYCX1d7PJzsLAVMX96UxYe781n9i4sY6euKXkoqG7WMCXIntaSBqiYtl0wIRAiBm4NdtxQ286AzzNuJ7MpmWjuMoom7oy0Vjdpe06LB6ECaEeVDblXLkHVik1Ja6jH1JlycCd+nlvHEymTeujWO5X04sfNPGmB2df6YB9LHyprIqjBu/w2p5SwY7W+ZJ6nAOFitbjbW2vz7+gz+78px3NGlrkdvtHfq+eWXR9iQXs7vLx3DPXOiLCJE1wEwwEOfHSa7qpnnrhrPjVPDLL/BJfVt/GZVCmUNbSweE8Azl4w51SYBILmoAQdbDdNGeFs6z5k5WnqiYHPRSdMAHvg0CXsbwbpH53RzdqSVNPDPHzL58xXjCPVyorq5o4djrpuAdIbd7T7cncfenBrumBnJrGgfals60EvZI61yf24tDW2dLBtvHNBqNIKpkd6WbVtQ09KjaUJuVTOv/HiczSahJbmogaunhA4orsxy43Zzd7TlL2uPojNIov1d+eNlYwn2dOouIFW34OfmQJiXc5/X53nVLYR4OhET4MYIXxe2ZlZRVNvKhBAPmto7LSJgqNcJAamtU091c0ePNEuz2zDDJIZE+7uSUd5EbUtHt+Pd7EDy7ZrC1sUFYhazhRA429kMuoCUVtLAixszeeOWOFwcbEkuquf1rdn849qJeLvYk2oSkBIL6tidU0NyUT2RPs5caqrJaWcj2J5Vhc4g8XS2o6Gt0+IwPB3aO/WUmFKBTxaQcqubaWzX0diu41BBHeODPfi/temMD/Hg1ukRZ7kFBo6UkrUpZXxxoJDrE0IHfJyeir+sPcqYIHeuiz+xvB+PVRDm7cSGx+bi4mCLn6sDlU3tlm7fS02i0Ug/127LWjoukL+uO8aG9DJSihsYE+TGHy8/UR/SwdaGZeMCKalvY+4oP/75QybujrY0tuvYebya59dncN/cKKJ8XXh6dSovXDeRGxLCkECZvRu92VmOm1KOY86Rg/Vs+Ek4kMob2jlYUHteuY8UEObt/JN0X/0UEEIMmZDj4+rAu7fH88K1E0ktbmDZv3bw+29SsdEIrokLGZJ1KhTnmhBPJ166YRKezudn90fFTwMhBNH+rmRXNtPQ1snKg0WAsebHje/u5Wf/OUhlUzvjQ9wtLqQZpi44bqaLcTO7s6sJ8XRi8ZgAsiubLXfn58QYO4nmVbdQVNvKCxsyaDG5EXSmQtIR3s54ONn1WjNnMKhr7bSk2xXVtvJ9ahkb0spP8a7+yTQNJt7bmdvnPPk1Ld0G3MGeJ4SIYJMA8u6OHACi/FzYdKwCnf5EimpiQR1mDeBfP2YBDCjuD3bnsSG9HCc7GxJNIpRZZDhSWI/eIDEYJDlVzWRWNOHlbMfTq1O55N+7yChvpKCmhWve3E1ycT0+Lg68syOXPQPs8LUnp5op4Z4EeTj2cJQdLWvEw8mOEE8ni6Bnpralg+pmLaUN7Tz1dUq3bXDjO3vZnlXFutQy3t6ew0XPb+bz/d2dVFVNWlxM9XPO1IH00Z58Nh6t4Lb397Pwpe3M/PsWLnl1J5UnpeKtTyvDyc7G0iUXIC7Ci+K6Nj7dV8C8f27jcBehrr1Tz3Vv72Xj0XIemDeSqZFeFpFmIGSWN+Nop+GuiyLRS8k9s0dQ0dDOHR8cYNkrO9ieVUmwhyN2NoLNxypY+NJ2/rMnv8/l5VY3M8LkFJo3yo/tWVXkVrdw79woov1dkdIomJjrFYWbXK+9ia8nuwvNQtDJndjMbdfN54OjnQZHO02P94HRnXQgr5ZXfswaNCfO10nFbMusYl1KGXqD5JnVqWw6WsGrP2ZR2dhOeWM7LvbG8yW5qJ6rp4RQ09zBG1tzCPF0YlFsAFsyKtmTXU1ChDfBHk5n5EAqqGm1uPCyKroLSOZz1VYjeN3Uvv6LA0V8uq/w5MUMOl2388ajFTzyxWESC+r4zdeppJeevUOxtUPHf/bk8+VJDsiU4gbiwr0sNxf83I3dKdenlTEl3LPP1Oowb2cmhHjw1cEi0koamBjaMxvmpRsm8cW9M7g2LhR7Gw13zRqBvY2GD3fnAUbH4yHTNn/xh0xatDpeDbmIi+IeYEtGBVszKnlhQ4blu+qVzce54Z29dOqtv4zAT0JAWpdqbNF32SRVS0eh+CkghOCGqWGsf2wuowPd2Jdby8JY/yErnqpQKBSK3onxdyWnspkvDhTS0qFnYqgHXxwoIqO8ieSieupaOwl0d7JcyJsFJA8nO9JLGnhrWw5SSlKKG5gS7km0vyttnXoO5NUCxgEqwKrEYq5+czdvbsvhO1MDkqpmLQZpLMod4O4wZCls5oGvo52GgppW/vRtOi9syDirZeZYHD31faYjFdS0MjXSCzdH4+Ao1PNE+mlcuBcTQz3YmlmFi70Nv1w8itqWDu79+BB7c2qQUpJUWEdcuBeB7o60dxpwdbBlv6leyMlIKVlzpIRmrY4txyqZGOrBxeMCSCqsQ0ppEZBaOvT87ftjTPvbZt7YYkzr+N8vZvH8NROobGznN1+n8uy36bRq9fz3gZl8fPc0Qjyd+Mu6Y90aY/RGRWM7GeVNzB9t/D2va+2ko0vNtqOljYwNcifc27mHGGGOb0aUN5uOVlgG13///hgeTnaEejmRWFDHtswqJPDb/6Xy8sZMy8C3qllLkKcT3i72ZyQgVTdrya9p5cklo3jx+kkEuDtwTVwIzVodj3552PLZ9QbJD+kVLIj16+agiQs3DmD/YTqu9uaeSEf88VgFtS0dvHdHAk8vj2ViqCfppQ3dxEIzeoPkf4eLaeviwMmsaGRUgBuPLoph51ML+P1lY9n85DzevzMBMB6DowPdiPBx4Yd0Y+rVVweLuokChwuNQtzo368no6zJ4ugwn58hnk5cMj6QkSYhJ9DD0eJgMqdNnyz6AZa0VTMxphvLNSe5wFp7q4Fk2n42GkGk74lzw8PJjqNljbzy43HWpZb1WOeZsC/X+H20KrGYVYlFHC1rZHSAG5/uL+TrpBIArk8IQ2eQ2GoEv7t0DC9cNxGAuaP8WBDrR2WTluqWDm5ICCXCx/mMHEh5pvpTkT7OFteWmcSCOryc7bhqSgjbTXWnpkZ6kV3Z1O08Gmw2pJUz8dmNlJkaGmzPqsLVwZadTy3Ay9mOp1alnGIJpya5qAG9QZLW5bg3C3cTQjws8/m7OZBS3EBaSWO3lLXeeHhhNDlVLTRpdUwI9egxXQiBRiMI9HDkxyfm8fCCaKL8XKgwOV3TShrZn1dDpI8zlU1arnlzD6+GXoSQkj+uSecXnyXx5rYcFr20ne1ZVWxKr+DKySHYDVGh/MHE+iMcBL5LLmVskHsPe5pCobiwCfdx5qv7Z/KvGyfxR9WaXKFQKM450f6u1LR08ObWbGZH+/KbZbHAifQVAH93B4JNg/MY0wDzl4tHMSXci39syGB9Wjkl9W1MCvUk2nQtt8WUqjM7xhch4D978nG0syHIw5H1JheN+Q5+oLsj/m6OvTqQdHoDT3x1hPd29O306YuG1k5ufGcv35pakU+N9OZ4ZTNVTVpyq1t6FWIGSnZlMwtG+xHs4cjdHx3i1/9N7hF3UW0rkT4uRPu7IgQEeJxwI2k0gt9favzdS4j05tIJQTy+eBTJxQ3c/N4+Lv33LtJKGomP8GJGlLHd97NXjENvkHywK4/00gaatToe/+oIb27L5sdjlTz25RH+9v0xkgrrmDfKj/gILyoatZY6LiNNtabe35VHdbOW1YdLmBzmSZi3MzdNC+eZS8aQXFTP1swqHl4YTWygO452NjyxZBTHyhq7uWp6w5zGOG+UH/7uxs9qTidrau/kaGkjE0M9CPN26lNAemb5GGw1glWJxSQV1nGooI5750Yxa6Qvh/JrSS6u557ZI7gxIYx/b8nmeZNgU9Wkxc/VAT9XhzMSkA4XGgvEzxjpw3XxoXx530yev3Yiz14+jn25tWxML+fD3XnMfWEr1c1alo3vftN7XLAH9rYaS12wpIJ6VicV88AniXy8p4BgD0dmjTQWRp4Y6kF7p8GSVtiV75JLefyrZF4xOc7A6EAaHeCGrY3GUhzc392RRWMCuHySMXsj2t/V4ipytrchs6KJtBJj6luHzsCDnyaRV93CJROCcLK3YfoI4zE1I8qHQHdHHl4Yja2NxnL+du0cav4u6MuBZE5LM8cBPWsgmV2H3s72aIRRQDILcBHezt2Kx794vdE5EhvoxvPrM9h1vLpHx8eBUlzXSk2zlozyRvzdHDiQX8vvv0kjIcKLz+6djpujLf/YkIFGwG0zjGliC2L98XV1YPmEID64K4HHF8dw9ZRQXrlxMnueXsjF4wKJ8HGxfH81tHVaUvlOpryhvZsYmGMS3JaOD6S4ro1mrY6Gtk6yK5tJKqwnLtyLp5fH8trNU9j79CLumBlJp15yvLKp1+WfLe2dev6y9ihNWh07s4wuw325NUwb4Y2/uyP3zokivbTR0oWvqb3TIjSZn+86Xk1iQS1SSlq0ul479pnTO9s7DZaUabMLb1KXWroB7g40tHUS4unETVPD+4394rEBluN4Yi8CUlfCfZyxt9UQayqV4+fmQIfeQFFtGzdMDeOVGyejMxiIba3i1ey1FNe14eJgwzcPzcLD2Y4HPkmkQ2/oln5nzVzwNZCKals5UlTPU8tGD3coCoViGLDRiEHLr1YoFArF6WF2HDRpdTy9PJaxQe48uiiGKyYFc9O7+6hu1uLv5sBDC4xdAM3pzWOD3Xnrtjim/N8mXjM5WSaEelgGkHtzanB1sCXIw5E/XzEOOxsNV08J4V+bsvhgdx4NbZ28vT0HN0db4iO8WJdSxr7cnoOwf/2YxerDJXC4BJ1BUlzXysMLownycEJvkD0aOHTl0/0F7M+rZb/JDXXRSF92Hj+RipVUUNej49JAaO/UU1jbyhWTQ/j3zVN49tujrEoq5tdLR1uK5pfWt6MzSCJ9XGjt0NPQ2tmjw9q0Ed78+YpxjAs2djF9bHEM98+L4pvDJazYlUeH3sDMkT74uzkyNtida+NCeH3LcV7fms3rW7MthcxtNMJSvNic2jVv1AmHzKH8OnKqmrltRgSN7aVUN2v53SVj+Nv3x7hs4gkh5JopIXyyN5+Gtk7uMhVYBlgYa6zLtC+3hoRIb8vrJ2//7VlV+Ls5EBvoRqmpzktlYzuB7o5szayiQ29gydgA9uXWUNWkpa1Dj5Mp7ex4ZRNOdjZMCPFgQaw/q5NKSC6qx93RlhsSwlibUspXh4wplrOifZk3yg+JZMXOPK6LC6WyScukUE9sNOKMaiAlFtRhZyO6uSHA6Ep5a3sOL27MpLC2lTFB7iwa48/FJx039rYaJoV6cDC/jrhwT5IK68gob6TYVOvpkYXRFkePeR37c2sY6edqaeUupbSkRH64O59bp0fg7GBDdbO2zxqx98wZwZojJYwP8UBjOjf/eNlY/vhtOr9elczUSG+i/V0pb2znw7umsiDWv9v7next2PfbRZbn5vO3a/0iRzsbAtwd2J1dTWNbJ48tjsHN1EEut6qZ6SO82Z1TTX1rJxE+zpZCyF0xO5Cc7G1wsbfF0f6EA2mkf3cDgVlQ+MNlY7nt/f3c9v5+Rvq58O3Ds3FxsEWnN6AxuUtaO3S0dujZcqySzIomnlo2GjuNBonR7bPslZ2E+zgjpXF5v/pvMpPDPHn3jgQ8nOxYef9M7vrgAP7ujkT7u/L08thudcgWxp7Yz1dNOVFmIdLHmdqWDg7m1/LkymQKa1tJiPAiwN2Ru2ZFMjXSm5yqZq54bRfRAW789/6Z2NtqyKtuwd/NgfhwY8OYez86RHJxvWX7XD0lBF9XB4swODbY2KXtaGkj44L7F0nOhP/syaekvg17Ww37cmuYH+tHblULN5k6Is8f7cdf1x1jR1Y106O8ufODA9S3drL2kdlE+rrw+2/SWGMS6N+/M4ENaeVsSCtn19ML8XCyY0tGBSnFDSQX1ePqYOzcmVLcQGygO8nFDWgEjAs+0Yku0scFOxvB67dMwcO5/y6FQgj+ce1EVh8uYdQAS6qMMp1Hv5g/kj9/dxQwNg+aHuXDVVNCkPOfBaDyl08xbYQ3E0M9+dXFo/jN16nEBrp1i9WaueAFJLM18bIJqv6RQqFQKBSKCxshxDLgVcAGWCGlfH444zG3tL9mSijjTQPbJ5aMAmDuKF9WJ5Xg7+bYa4qAm6Md8RFe7M+rRQgYH+KBq4Mtl00MIquiiVnRvgghuhV9Xjo+kHd25PLEV0fYllnF7y4Zg6ezPZPDPVl9uIRtmZXMH+1PfnULz31/jE1HK7gmLoSjpY2W9KD61k7CvJ1Zm1LK+sfmWAazXenQGfhoTz4Othq0OgO+rg6Wu89Rfi4U1rSSVNi/gNTQ1skPaeWMDnTrdpc8r7oFgzQOtt0c7bhvbhRfJxUb6+fMiCC9tIG/rD1qWdflk4J5ZGF0r+u486LIbs8d7Wy4aVo4N04No6CmlQgfZ4QQloHkyvtnUlDbyrGyRtamlHFjQhjPfpvO8cpmrpgUzLfJpbg52jLZFK+zvQ3fHClBqzMQ4+/Kz2eNQKvTc8+cKJaOCySoS40RjUbw5X0z6TQYuoldXi72xJrSzR9eaHytRavj4n/tYHK4J48ujOHz/QVsSq/gqinBCCEsKelPrUpBZ5CEeDrh5+ZAXLiXpYhwUV2r5fjLrmxmpL8LGo3guvhQNh2toKGtgz9cNhYXB6PICMabTgmR3ggheHr5GNanlfOXdceMDiQ3B2w0gvz8E6lFNc1aViUWIwRcFx/WZ4v7pII6xgZ79GjvbaMR/HzWCP70bTrO9jasuDOhz3T7W6dHMDbIndggd55ZnUptC/xsViQFNa3cMv2EmyLSxwV3R1ue/e4o7+7I5X8PzSK1uIE9OTWklzby+OJRvL09hz+sSbMMWM2poyczLtiDnb9ZSJC7I6FextTAq+NCKGtoZ31aGV8eLKRTbyy6Pa9Lzaa+iPZ3RSNO1D0yE+7tbBFjbTSCZy4ZQ4fOQFFdG5dPCqaqWUtaSQOOdjbER3jx+f5Cbp0eToSPC1szK9mVXY29jQZ7Ww0ezna4O9riYKqBFO3fewbKrGhftjw5n6SCOn69KpmnVqXw4PyRPPrlYdo69EwI8WBLRiW6LqmVdS0dHC1rxM3RljBvZ3QGSW5VC452GpaOC2T6CG+8XeyxNaUhjQpw48cn59GpMy7jgXkDa3wRZXJqXf/2Xrxd7HlkYTRbMyvZnVNNYkEdax+dzUOfJQGQXFTP374/xp8uH0tOlbH+1NRIb+IjvKhp0bJ8fBBjgtzYklHJJScV5I/0ccHJzoajZY09Yjhb2jv1vLcjl3mj/HB1sGVfbo0l1c98vI30cyXE04n/HS7m5U2ZSGk8Jx76PIkPfzaV9WnlXDk5mN3Z1fxnTz6H8uto69TzxYFCnO1t+NO36ZaaT9fGhbIxvZyU4nqunBzMvtwaYvzdcLY/IXfcMTOSSycGEeTh1CPe3oj0dbH8Xg2Ei8cGcCi/juviQ/lgdx5l9e3d6ieZ5fB75kRZXrsuPoy9OTUsHRd43jT6GTIByVouYNamlDIpzJNwH9WWWKFQKBQKxYWLEMIGeANYAhQDB4UQ30opjw5XTCGeTnxwVwJTuzhLzFw9JYS9OTVE+PZ9jTZ/tD/782oZ6eeKq6kQ6uu3xPU5/+RQT0YHuLE5o5JJoR7ccZExbeTGqWG8vyuP59YdY1a0L499eZjcqhYeXRjNLxZE09DWyeHCOlJLGnhja45leV8dLOp2sX/i9UIqm7T8++YpPP11CmHeTpZaLhePDWRvTjUbj1awL7eG6+LDug3wAVYnFfP7b9IszoCpkV7cPTuKJWMDLOlW5nSfUQHG9KEf0stZOi6Quz48iJSS314SS3yEF0IIi9NmoAghiPR16fG6v7sj/u6OTI30tghzLR063tmey3NXj6e1Q0eQh5NlgDw3xo8N6caUwWh/124OojDvnvvVyd4GJ3rGOiPKhy8PFtKhM2Bvq2HloSJK6tsoqW9jXUoZ9jYarpgczK+WjjbFaUxrMqdp5VW3cOv0cDQawdggoyiyNrmUJy42zp9T2cw0UzrKxWMDePu2OOLCvSyOrihfVzyc7Bjh62I5zrxd7HliySiLk8AsIFU1admeVcXkUE/u/fgQSab0tE1HK1hxx1SOFNcjpSQuwgsbYUyXO1Jcz219dLq6PiGU93flccfMiH5rNV41JYSrpoRYumu5Odjy1NLYHvteoxG8d0cCqSUNvLQxi6vf2E1pg7H+V7i3M/fPi8LbxY4/rElne1YVV04Otoi7vWFON4uP8CI+Ih6Ax5eM4vElo9iTXc0TK5N5fPGoAXVNdnO047N7ZjAmqLujY9oIb5radYR6OfPh7nxyq1uoaGxHb5CM8HXB2d4WB5OT6sXrJ3Hpv3dx/yeJ3Dc3iif/m4yUJ9KM3ro1Hh9XeypMxcmj+ylhMsLXhRG+LpQ3tvPPHzJZl1qGp7MdYwLdOVRQx+0zI4j0cSEmwJUfj1bywe48nOxsaOvUczC/jpumhlHZZOwGaW+rsRxPXXG2t4XT7Hcxb5QfL1w7kXadnoWx/oR6OfPkxaM5mF/L9W/vZeGL22jW6vjgrqlsz6riw935pJY0cLiwnocXROPlYs/XD17UbZm9fY/ZaASxQW6klRhdPDEBrqxKLObdHblohOCRhdEsGx9IfnUr44LdB7SPO3QG0ksbSC9tpKalgwfmjSS7sol1qWV8sCsPNwdbyzkqhGDuKD+LILTmoVkU1LRyz8eHuOHtvXToDNwzOwo/VwdW7DIWpw7xdOJfm7LQ6gwsHhOAjQZ+SK9gaqQXpfVtbEirYENaBdXNWh5a0F2ws7fVDFg8OhOi/d344K6pAFwyPoi86pZTfjfbaASv3DRlyGIaCoZEQLKWC5i86hbSShr5/aUDaw2qUCgUCoVCcR4zDciWUuYCCCG+BK4Ehk1Agu5pGl2ZE+PH3mcW9TrNzLxRfvxjQwYT+xkAt9hKAAAgAElEQVTgdkWjEax/bA56aSxWa76j62BrwzPLx/DAp4lc8fpujpU18tL1k7jWVHPC0c6GZeODmDvKj28Ol+Lr5oCtRvDh7nwunRhkSd8BY92T574/xkUjfbh8YhB2GoGLgy0j/Vz49dLRXBsXilan58Pd+dhqBEmF9axNKcXZNJDQ6gzsPF7NjChvfr00liNF9Xy4O48HPk0k3NuZIA9HhDC6i8A4yFo2PpB3d+Ry47t7aWrvZM1Ds/tMOxps7pgZaRGTVtw5tdu0F2+YROtnehLza8+q/fSMKB/+syefHVlVjA/x4P1deSREeHH/vJFklDVy47SwbuKKj4s9QoCnkx33zIninz9kWtJyYgLcuGxiEO/uzGX5hCCc7W0obWjv1sr95BpDGo3guavH4+PSvY38XRdF0t5p4B8bMgj3dsbVwRatzsCdHxzAzkbQqZf8++Yp6A0GHv8qmYTnNtGpN1oiXB1s0QhobNcxJdyTu05yg5lxtrdlx1MLBrytYvxd8XNzYNm4wD4Hp9OjfJge5YOXsz1P/jeZGxPC+POV47C30aDRCG6bEcG+vFq2ZlTylKku2ZlwUbQve59ZeFrOiZkje7qdfr00ll9dPJrKJi2LXtrOofxaPJyMzr9xwR5cE+fGg/ONYkColzNv3BLHvR8f4omVyYwOcGPVgzNxMTlNzG5GPzcHHl88iqXj+y+WDPDQgmjmjfLju+RSrk8I69W1lBDhjZezHRePC+SLA4V8fqCQe02t2gfbOWJvq+EGU5pXV6ZGenPZxCA2H6vkvTsSmD/an7kxftjZaHh3Ry43Twvjl4tjTmtdY4Pc+Wx/IVe+sRtnextaO/RMi/SmQ2/g16tS+NO36bR26Bnp58Lds6NYEOtHfnUr3yaXMjbYnUWx/pZU0w6dgd98ncKeHGOR9/Eh7syI8sbX1aigHSmq5+nlsRYBGmDJWH++OFDIX68aT0yAGzEBbtw3N4p3d+QyOsCN8SHu2NkKVuzKI8rPhWcvH8cdHxzg1unh/PmKcbR26onxN57r5Y3t7M2tYf5oP+6ZHcWs6N6ddeeCZy65cPUHMVjtC7stVIiZwLNSyqWm588ASCn/3tv8CQkJ8tChQ4Mex2ubj/PSpiz2PL2wW66tQqFQKID5841/t20bzigUPxGEEIlSyoThjuNCRghxHbBMSnmP6fntwHQp5cN9vWeorsEGCyklT61K4eopIVwU7XvWy1uxM5e/rjvG+BB3vn1odq931BvaOnGys2F7VhX3ftz7tvF1deD7x2b36Rg5WtrIa1uO8/TyWD7bX8juk9rUJ0R48btLx1rq0+j0BjYereD9XXkkFtQxwteFrb+ab5k/r7qFJ1ceQWeQPDhvJMsnWE9nYYNB0tDWiVcf6VsDoa6lg/i/bqJrI7a3b4tnWT+D/z98k8bMkT5cMiGIkvq2boWZi2pbWfTy9m7dpd65PZ6lp+i81BdlDW0EuDkigWNljdS1drAqsZgRvi78crExxeXlTVkU1rRwbXwoGiH4OqkYvUFyx8xIS4rcYFHTrMXV0bZH3aveKG9oJ8DdoYfIYTBI6ts6+0y7Gy4qm9pxc7DDwVZDRVN7n46RI0X1vLb5OL+9dMw5b5QkpaSudXi2XYfOQLNW12PdJfVtBHs4nraYdSi/lre25bBoTAB7cqoJ8XLiqaWxGKTkuXXHaGjrJD7Ciy8OFJJeeiLVzZy+ezK2GsED80aSXtrAPXOimBXta3RM/i+VuHAvrk/oLoxJKSlraO82Vu/UG/jjmnSWjPW33ID445o0po3w5rKJwVQ2tePn2vOY7tAZqG/t6NUJZhUM43X3YF6DDZWAdMoLGCHEfcB9AOHh4fEFBQWDHkdmeRP7cmt65H8rFAqFAiUgKc4pSkAaegYqIJ2LazBrJqmwjmAPJwI9+h9kSClZl1pGY5uux7RZ0T5E+PRMARsMUorrTR19zo+CqoPFzuNVFNUa6xe5ORprXZ2NsyOtpIGUYmMnJid7DZdNDD4vWmQrFNaIlJKD+XVkVzbj5mjL4jEBHC1rILO8e3OCCSEevda0U3DBCEjDVkRbSvku8C4Y734NxTpGB7qdM3uvQqFQKBQKxTBTAnS9vRtqeq0b5+IazJqJCx+YG0QIwWUTz30Tlq5FV39KzIk5dRHm02F8iEe/tX0UCsXAEUIwbYS3pZYYQHyEN/ERPevbKS5shkpAGtAFjEKhUCiGEeU8UiguNA4CMUKIERivu24CbhnekBQKhUKhUFwo191D5eO0XMAIIewxXsB8O0TrUigUCoVCofjJI6XUAQ8DPwDHgJVSyvThjUqhUCgUCsWFwpDUQAIQQlwCvALYAB9IKZ/rZ94qoADwABr6mO1CmBYOFFpJLGqamnYhTlPnmJpmrdOsJY5TTRuKc8i8zAgp5eDmqCjOmi7XYCfT3z4d7Hm6zucLVJ9insFc35nMc3KMw7Wt+qO/7TgUcZ1p7L3FOdz7ua9tN9zb6mR8gc5BWtZgzmOez47+j8Hh3s9mrP18tvb9fL58b0P3OK1tP8PQfm+PllIOTm0fKaXVPIB3L/BpVVYUi5qmpl2I09Q5pqZZ5TRriWMA04biHOpzmephvY/+9ulgz9N1PuDQuVzfmcxzcozDta1OMU+f29GaYu8tzuHez31tu+HeVr3t43NxvJ9p7Kc6Bod7P/e1v9V+vjC/t0+O09r286m249nGNdBlD+Rhba0IvrvAp9VbUSxqmpp2IU5T55iaZq3TrCWOU00binOov2UqrJf+9ulgz3M+r28wlzWY6xso1hi7Na5vMJelYrfe9Q3mslTs1ru+wVzW+fy9fUYMWQqboidCiENStTBWKIYMdY4pFGfHUJxD6rxUnA7nw/GiYhw8rDFOa4ypN6w9TmuPz4y1x2nt8cH5ESNYf5xDGd9gLtvaHEgXOu8OdwAKxQWOOscUirNjKM4hdV4qTofz4XhRMQ4e1hinNcbUG9Yep7XHZ8ba47T2+OD8iBGsP86hjG/Qlq0cSKdACOEI7AAcAFtglZTyT6YWuV8CPkAicLuUsmP4Iu0bIcQy4FWMBc1XSCmfF0II4K/A9YAeeEtK+e9hDLNfhBAfAJcBlVLK8abX/gJcCRiASuAuKWXp8EXZN0KIMOBjIACQGPNSXxVCeANfAZFAPnCDlLJuuOLsj34+w1fAaNNsnkC9lHLyMIV5Svo4H94HEgABZGE8lpqHMcw+6eNcOG+OI+jzM5xvx1Gv50OX6U8CLwJ+UsqBFERUKBQKhUKhUCisGiUgnQKT0OIipWwWQtgBu4DHgCeA1VLKL4UQbwPJUsq3hjPW3hBC2GAcEC8BioGDwM3AdGABxoGyQQjhL6WsHL5I+0cIMRdoBj7uMuB0l1I2mv5/FBgrpXxgGMPsEyFEEBAkpUwSQrhhFB2vAu4Cak0ixtOAl5TyN8MYap/09RmklEe7zPMS0CCl/L/hirM/+jkfirscSy9jFDaeH7ZA+6GPc+EFzpPjCHr/DCdNt+rjCPo/H0zi0gogFohXApJCoVAoFAqF4kJApbCdAmnE7ESwMz0ksBBYZXr9I4xigDUyDciWUuaaHFJfYnTtPAj8n5TSAGDN4hGAlHIHUHvSa41dnrpg3C9WiZSyTEqZZPq/CTgGhGDcFx+ZZrPm46i/zwBYxNYbgC+GJ8IB0ev50EU8EoAT1n0s9TgXOI+OI+jzMwDnzXF0qvPhX8BTWPFxpFAMF0IIaRKJzc9/JYR4dhhD6oYQQi+EOCKESBdCJAshnhRCWO31shDCKt2yZrpsT/Mjsp955wsh1p6DmKQQ4tMuz22FEFXnYt2nixDiKlO8scMdS1fOp20I1n+emDlVnEKIbUKIYanhY63HYleEEL8zfXenmL5vpg93TCcjhAgVQqwRQhwXQuQIIV4VQtj3M/8vhRDO5zLGU2G1P4jWhBDCRghxBGOa1CYgB2N6hc40SzFdBtJWRghQ1OW5OdaRwI1CiENCiPVCiJhhie4sEUI8J4QoAm4F/jjc8QwE08XTFGA/ECClLDNNKseYDmP1nPQZzMwBKqSUx4cjpgHS1/mAEOJDjPsgFnjt3Id2VpyXx1EfnA/HUTe6ng9CiCuBEill8rAGpVBYL1rgGiGE73AH0gdtUsrJUspxGN2qy4E/DXNM5zPm7Wl+5A93QEALMF4I4WR6vgQoOZ0FCCFsBz2q3rkZY/bDzafzJpPjeig5622oOO84o2PxXCGEmImxPEKclHIisJju1/zDjukm6WrgGyllDDAKcAWe6+dtvwSsSkCyihQ2X19fGRkZOdxhKBQKhUKhGCISExOrpZR+wx2HojvqGkyhUCgUigubwbwGO1fqeb9ERkZy6NCh4Q5DoVAoFArFECGEKBjuGBQ9UddgCoVCoVBc2AzmNZhKYVOct7y5LZv9uTXDHYZCoVCcYP5840OhUCgUCoXiNGhs7+STvflYQ4aQ1aKus4YdJSApzksa2jp5YUMmn+xTN7QVCoVCoVAoFArF+c3a5DL+sCadY2VNwx2KQtEnSkBSnJccKaoH4HjFedFU4bxha0Ylz6xOUXc+FAqFQqFQKBSKc0hhbWu3vwqFNaIEJMV5SWJBHQC51c106g3DHM2Fwys/ZvHFgSKOljUOdygKhUKhUCgUCsVPhuK61m5/FQpr5KwEJCFEvhAiVQhxRAhxyPSatxBikxDiuOmv1+CEqlCc4HChUUDq1EsKalqGOZoLg+MVTSQXNwCwLqXsFHMrFGdOdbOWhrbO4Q5DoVAoFAqFwmoormsDoEg5kBRWzGA4kBZIKSdLKRNMz58GNkspY4DNpucKxaChN0iOFNYzKcwTgCyVxjYorEoqxlYjmBjqwbrUsnOSxialJKO8kTe2ZvPa5uNUNrUP+ToVw88d7x/g0S8OD3cYCoVCoVAoFFaDRUAy/VUorBHbIVjmlcB80/8fAduA3wzBehQ/UY5XNtGk1XFDQigpxfVkVTRxyYSg4Q5rUOnQGUgrbSAu/NwY+PQGyTeHS5g/2p8lY/35zdeppJc2Mj7EY0jWl1bSwMpDRWw+VklJvfFHUgh4bUs2V0wO5u7ZIxgT5D4k61acoKyhjQ6dgQgfl3O2zppmLUfLGtGUQ2VjO/7ujuds3QqFQqFQKBTWSFuHnupmLaAcSArr5mwdSBLYKIRIFELcZ3otQEppzn8pBwJ6e6MQ4j4hxCEhxKGqqqqzDEPxUyKpwFhAe9ZIX8K8nC/IQtovbczkmjf38Je1RzEYht4JtPN4FRWNWq6LD+HisYHYagRrhyiNrVmr48Z39rLyUBFjgtz5+zUT2PfMIrY8OZ+bpoWxLqWM5a/u5Of/OUh7p37Q1mswSJ5fn8EP6eWDtszznV98lsTP/nPwnK7zYL4x/dQg4TuVKqlQKBQKhUJBSb1RNPJ1daC4rk01tFFYLWcrIM2WUsYBy4GHhBBzu06UxiO/16NfSvmulDJBSpng5+d3lmEozjd2Ha8+49pFiQV1+LjYE+HjzKgAV45XXlitLpvaO/l8fyG+rg68vyuPx746glY3eEJKb6xKLMbL2Y6FsQF4udgzK9qXdamlQ/LjtT61jJYOPZ/cPZ0VdyZw87RwAj0cGeHrwv9dOZ69zyzk0UUxbMmo5Ouk4kFb74H8Wt7ensP9nyTypzVpQ75NrZ386hYOF9aTW9VCYc25u9N1IK8WB1sNsYFurDlScs7Wq1AoFAqFQmGtmNPWZo70oa1TT3VzxzBHpFD0zlkJSFLKEtPfSuB/wDSgQggRBGD6W3m2QSouLCoa27nt/f0seXkHL23MpK3j9AbyhwvrmBLuhRCCmAA38qpbzrgTW7NWR4fOurq4rTxUTJNWx4o7E3h6eSzfJZdy1wcHaWwfmqLDDW2dbDxawRWTgrG3NX4lXDoxiKLaNlJLGgZ9fasSi4n0cSYhovf0PE9nex5fHMOEEA/e35k3aA6sVYnFuDrYctdFkXy0t4Br39pDfnV3EbOhrXPItvNw0N9nWXOk1PL/9uPnzgV6ML+WKeGeXBsXSkpxA7lVZ+YgXLEzl7e35wxydAqFQqFQKBTnnmJT2trMKB8AilQnNoWVcsYCkhDCRQjhZv4fuBhIA74F7jTNdiew5myDVFxY7MgyDlZnjvThtS3ZLH55OxvSBla0ubalg9zqFuIijAW0RwW40qmXPYSAgVDdrGXJy9tZ+soO0ksHXyg5E3R6Ax/symNqpBeTwzx5YN5IXr5hEgfza7nh7b1DUmR6bUopHToD18WHWV5bOjYQOxsx6N3Yimpb2Z9Xy7VxoQgh+pxPCME9c0aQW93Cloyz16BbtDq+Ty3jsolBPHvFON67I4Gi2jYue20XT3x1hOvf3kPCXzcx6c8bmfrXH9mdXX3W6xxOpJT8Y0MGk/68kW2ZPbeflJI1ySXMiPIm1MuJ7ZnnRkBqau8kvbSBaZHeXD4pGCG6C1kDpb61g3/+kMm/Nx8/bQFaoVAoFAqFwtoormvD3lZjGeOoOkgKa+VsHEgBwC4hRDJwAFgnpdwAPA8sEUIcBxabniuslIc/T+L1LcfP6Tq3Z1Xh5+bAf342lZX3z8TN0ZYHPk3iitd389rm46SXNvQpJh0uNNZPiTcVl47xdwN678R2uLCOG97eS04vDgeDQfL4V0eoaemgtUPH1W/u4ZO9+cOeb/xDegUl9W3cPTvK8to1caF8cNdUCmtbuW3FfmpbBtfS+nViMaMCXBkfcqJotYezHbOjfVmbMrjd2L5OKkYIuCY+9JTzXjIhiCAPR1bsyj3r9W5IK6e1Q8+1pvUuGRvA94/NYWKoB7uyq9EIwZKxATyzPJZIHxfu+egQh/Jrz3q9w0Gn3sCT/03mrW052Gk0vLr5eI99mFbSSG5VC1dNDmHeKD/25lQPmhPPYJB9XvQkFdZjkDBthA+BHo7MGOHDt8mnnyq58lARWp2B1g59rwLZ+U5ZQxtXvr6r1+8uhUKhUCgUFx7FdW2EejkR7u1sea5QWCNnLCBJKXOllJNMj3FSyudMr9dIKRdJKWOklIullOfnKOwnQF1LB2tTynhxYxarEgev1kx/6A2SncermTfKDyEE00Z4s/aR2fzlynFoNIKXNmVx6b93cdHzW/jHhowe6UtJhXWmVvNGdT7a3xWNgKyKnnWQPt9fyIH8Wm59b3+PAe1b23PYebyaP10+lvWPzeWikT78YU06D32edFYpTB06A6uTinl3x+mn1kgpeW9nLhE+ziwZ2732/NxRfqy4I4GCmlZuf38/DW2Dk2aVU9VMUmE918X3dARdOjGYkvo2kosHx51lMEi+TirmopE+hHg6nXJ+OxsNP5sVyb7cWtIGkEp3pKieFTtzexUjViUWE3FS2lyIpxOf3zuDA79bzFf3z+Tv10zk/nkj+eSeaQR5OHLXhwdJKa4/vQ85zDRrdfz8PwdZnVTCE0tG8YfLx3K4sJ69OTXd5ltzpAR7Gw3Lxwcxd5QfLR16Egvqznr9eoPk8ZVHmPvPraT2ctwczKvFRiOYEm48f6+aEkxedQspp3GM6Q2ST/cVEh/hha+rPWtTL7xC3JuOVpBc3MCn+wqGOxSFFSOEyBdCpAohjgghDple8xZCbBJCHDf9PTetPBUKhUJxVhTVtRLq5YyzvS2+rvbKgaSwWs62iLbiPOZwkXHAGObtxDOrUzh4DhwXKcX1NLR1MnfUicLptjYabp8ZyZqHZnHgd4t44bqJxAa68da2nB7CVlJBPWOC3HGytwHA0c6GcG/nHoW0DQbJ1swqpoR70tap55YV+yhrMCr5B/NreXlTFpdNDOKWaeF4u9jzwZ1TeWZ5LBvTK5j47EainllneYz74wZ+/01qv7Va6ls7eHNbNnNe2MITK5P52/cZp50Wl1hQx5Gieu6ePQIbTc/0rouifXn79niyKpq468MDNGt1p7X83vg6sRiNgKsmh/SYtmRsgCmN7fRTjHrjYH4tRbVtXBt3aveRmZumheNib8OKnad2Ib34QyZ/XXesR/e44rpW9ubWnDJtzoy/myOf3TsdT2c7bn//AMfKGgcc75ny2ubjXPnG7rMq7F3drOWmd/eyJ6eGf1w7gUcXxXB9fCh+bg68vjXbMp/eIPk2uZT5o/3wcLbjopE+2GoE27POLo3NYJD8dnUqa46UIoDPD/QUPw7k1TI+2B0XB1sAlo0Pwt5Gc1ppbNuzKimsbeVnsyJZNj6QLccqae04+3NhsNjnFsrEhEe6fYfE/O770yoYvifbKPitOVJqdTXaFFbHAinlZCllgun508BmKWUMsNn0XKFQKBRWjtmBBBDq5axqICmsFiUg/YRJKqjHRiNYef9MQr2cuf+TxCHvxrQ9qwohYE60b6/T/d0cuSEhjPfvnMrUSC/+vv4YdaaULZ3ewJGieuJM7gUzMQFuPVLY0ksbqW7Wctv0CD65exr1LZ3c+t5+siqaeOTzw4R5OfH3ayZYBAWNRnD/vJF8/eBFPLowmocWnHgsHR/IyoPFLHp5O/d8dIg92dUcKarnf4eLeXljJg99lsTMv2/hhQ2ZjApw441b4rC30fB14ul1mFqxMw8PJzuu6ye9a8Fof167OY6U4gbu+ejs2txXNLbz2f5CFoz2x9/dscd0Dyc75sb4sW6Q0ti+TirGxd6GZeMDB/wed0c7bpwaztqUMosA2Bs1zVr25FRjoxH8YU1at1pRq5OM++HqKT1Fsr4I8nDi83tm4GRnw+3v7x/S86KxvZN3duSSXFTPu9vPPF3vxR8yyapo5r074rlxajhgFFjvnTOCPTk1JJnSP/fn1lDZpOVKk2jo5mhHfISXpTbZmSCl5M/fpfPVoSIeXRjNNXGhfHuklJYuImd7p54jxfVMG+Ftec3DyY4FsX58l1KKfoDF0j/eW4C/mwNLxwVy6YRg2jr1bM04d0XA+0NvkDwbuRg3vbbbd4ifqwNfHSwa0DIMBsne3BpCvZyobekY0hS9zccqeKOLuKi4ILgS+Mj0/0fAVcMYi0KhUCgGQItWR21Lh0VACvN2pqhWpbAprBMlIF3AlDe09+sqSCqsY2yQO0EeTrx/ZwJ6g+Tuj/rv9qXV6fk2ufSM3S/bs6qYGOqJl4t9v/NpNIK/XDWexnYd/9iQAUBGeRNtnXriTureNSrAlfzqlm536rdkVCIEzB/tx8RQTz782VTKGtpZ/upOals6eP2WONwc7Xqsd1KYJ09cPJonuzxevmEyu59eyCMLY0gqrOOWFfu56o3dPP5VMq9vzSa1pIHLJgax4Zdz+OTu6Vw6MYhFY/xZc6RkwN3hCmpa+OFoObdOD8fZ3rbfeZeND+TlGyaxP6+Wv6w9OqDln4yURrdIe6ee3106ps/5LpsURKlpu734QyZJhXVn1BWttUPHupQyLpkQdMrPdzI/mxWJQUr+sye/z3k2pJdjkPDKjZNp7dDzu/+lIaVESmPa3MwoH8JMOeUDJdzHmc/unU6HzsBDnyedlTuoP1YeLKJZq2NiqAevb80+I7GqrUPP2pQyLp8YzMLY7umPt06PwNPZjjdNQsE3R0pwdbBl0Rh/yzxzR/lxtKyRysbTL9IupeT5DRl8tLeAe+eM4PElo7h5WhgtHXq+Sz7hLEopbqBDZ2BqpHe39185OYSqJm2PNLveyK9uYVtmFbdMD8fORsO0Ed74ujqwLnVwXHJny38PFZHh4sdvC7Z1+w65Oi6E/Xm1FjG8P46WNdLQ1slji2LwdXUYsvTitg49T69O5V+bss5KiFYMKxLYKIRIFELcZ3otQEpptmGWY6xXqVAoFAorpqTeKBaFeTmb/jpRWt824JtrCuskvbSBez8+dMFdZykB6QJlS0YFy17dwZ0fHCCvlw5lJ7t5ovxceeu2OPKqW7jj/QPsOl7dw3WyNaOSpf/awaNfHOaVTVmnHVN9awfJRfXM65K+1h+xge7cPXsEXx4sIrGgzlJAOy78ZAHJDZ1BdvucWzIrmRTqiY+rAwAJkd6suDMBVwdbnr1iHONDPE4rdj83B55YMoo9Ty/ktZun8O7t8fz4xFyO/WUZO55awD+vn0Rs4Iki1NfFh1LT0sG2AXa3emNrNrYawZ0XRQ5o/isnh3DT1DC+TiqmvrX3QWlWRRP3fHSI7Mqe9aG+Tiphc0YlTy2LJcrPtc/1XDEphD9eNhZ3Jzve2p7DNW/uYdrffmTX8dPrUvZDejktHfp+3VV9EebtzPLxQXy+v7BP4XJdShlRfi5cNjGIX108iv9n7yyjozrXNnztmbi7OxGSkIQIBHcttNACVWhpS426fD09ldNT76krLTXaAjWkSLHiTkIS4u7u7pmZ/f2YZMgQIQmBUjrXWlmBzMyePXu2vfd7P/ezP7mM7bHFROXVkFfVrArPHiwjrI14d1kQCUV1vLU7dUjL6A+ZXMG6k7mEu1vw1YowtCQCL+9IHLTja19SKY1tMpaE9nRZGepqcfcEdw6klBNXUMuexFLm+tuhpy1VPafrmDzWy/fa1/7VxZojWaw9ms3ycS48f50vgiAQ4mKOt60RP0fmq57XVSJ7oYA0Y6QNxrpabBtAideGM3loSQRuH6t0WEklAtcF2HEotVzN7fRX0Ngm4/396YQ2FHFdtfr5cZ6/PXKFyIGUsosup0tIm+JtzU0hjhxKLaeqsW3Y1/fH07lUNLQhU4gkX4EyTQ2XhUmiKIYA84GHBUGY0v1BUXki6fVkIgjC/YIgRAmCEFVRcXU4+DRo0KDhn0pX3lF3B5JMIfbrvr+WyCxv5Ja1p4ct4/VqYWtMEfuTy3rN6v07oxGQrjE65Are3J3CPd9HYdUpnvTWBj2trIHmdnU3z4QRVnxwy2gKa1pY/m0E8z8+zuboQjLLG1n1QxR3f38WiUQg1NWc36IKBt0++0RmJQqRAQtIAI/P9MLORI8XtyUSkVONtbGu6uTaxflObMqDs7KxjfjCWqb72Kg9b6KnFedems3t4SKdH4IAACAASURBVC6DWu/u6GlLuT7IgTn+dnjaGKOrJe31eVO8rbEy0mFz9MXLVn6KyOe3qELunuiObS+lZH2xYpwbrR0KNkX17lB4Z28qB1LKWPLFabWOYiV1LbyyM4mxbhbcfRHBSioRuGeSO789MJ7oF2fx8a2j0ZFK+HSQnfs2RxfiYmHQQzwYKKsmu9PQKuOniJ65OhUNbZzJrmJhgD2CIHDvJA9CXMx4eUcSa49mYaAjZf4gyuYuZK6/HSsnuPH9qVz2JpYOeTm9sTuxlKLaFlZN9sDOVI8nZ3tzOK2CfUkXFxq6syWmEEczfca5W/b6+MoJbhjqSHloQzQNrTIWjXZQe9zP3gQrI90eZWx/xBcT/Np+3tiV3KuotSu+hHf3pbF4tAOv3jBKVRIqCAK3jnEhrrCO5GKlOBGZU423rVEP96GetpS5o+zYm1hKQz/ux5Z2Ob9FFTBvlJ1ayeWCAHtaOxS9nueuJGuPZlHR0MYLeYe5MGlrlKMJjmb67Eu6+P5zMquSEdaG2JrosSTECVlnZtVgqW5q5+tj2VQ09BSfGlo7+PJoFgGdQnpcwd8rLF6DElEUizp/lwO/A2OBMkEQ7AE6f/d6YIii+JUoimGiKIZZWw/8mqxBgwYNGtTJq2pi3kfHyO1lwn6gdHVcc1I5kJS//yllbEfTK4jIqVaZBa4VuiZPsyuGvm9cjfxjBSRRFKlqbCMmv6bfmeuj6RWMf+sgY944oPqZ8s5hIrIvXm5xpcmramLZl6f56lg2K8a58sejk/C0MeJwLwOrmHzlgOFCN88NQQ6cfG467ywNRBThmU1xzPrgKKeyKnlu/kj2Pj6Ff80bSX2rbFChsABH0yow0dMiyGng7h9DXS1evt6PlJJ6diWUEOpi3iMI2cPaEIkAGZ0C0tG0CkRR6Wy4EEkv4dSXA22phMWjle6B6n7KVk5lVfKf7YlM9bbm2bk+g3oPPwcTxriZs/5MXo+yspSSeg6klHPbWBcsDXW445sI9iWVIooiz21JQCYXeWdp4KC2h5mBDotGO3LLGBcic6sprh3YRa2otoVTWVXcFOI45O0f7GLOZC8rvjya3cOF1FW+tiBQKYpIJQLvLQuitUPOgZRy5o+yV4U2D5V/XzeSQCdTnt0cp5olEkWRY+kVrFwXyaM/nxt0aZ8oinxzPBsPK0Nmdu6rKye4MdLOmFd3Jg3YUVNc28KJzEqWhDr1uX1NDbRZPt6V4rpWrIx0mTBCXWiSSASmeFtxPKNCZZeOLajl6d/iMNPX5uvjOXx4geswvrCWpzfFEuZqzv962ZduCnFER0vCL2fzkStEovNq1PKPurNinCuNbbJ+c4K2xxZR3yrjzvFuan8Pc7PAxliXXfF/XTe24toWvj6ezfVBDoQ09lwPQRCY62/HsYzKfst/O+QKInOqmTBCmRHnY2dMgKPpoMrY5AqR9WfymP7eEd7YndJrVtp3J3Kpae7gzRsDsDXRHVQXPA1XB4IgGAqCYNz1b2AOkAjsAO7qfNpdwPa/Zg01aNCg4dojrbShRzbhr2cLSC1t4M/koU8yFtY0o6ctwcpIOcnmbKGcLL8ag7RXrotk3cmcYV1mTqUyyzajrO+GRcORx3olaWqTkdQ5idpfI6a/I/8oAamupYPnf09g0ecnCXrlT0JfP8BNa07x0rbEXp8viiIf7k9HIYrM8rVV/cgVIv/aEn9F6xmrGtt4ZWcSW2MKewgScQW1PPJTDDPeP0pWeSOf3x7Ca4tHoactZcZIGyJyqnoMRmPyanp18wDoakm5Ocy5M9NnLE/O8ubQ09N4cOoIdLQkjHEzZ6SdMT+ezhvwwSyKIscyKpjsZY2WdHC73bxRdkz1tkYUIcTVrMfjetpS3CwNVUHah9LKsTbWxd/BpMdzryRLQp3okIvs6ENoy65o5KENMbhbGfLp7cGD3i4Ad453I7+6uUfW1eeHMzHS1eK5eSPZ/NAEfO1NeGhDNA//FMPR9Aqemz8SNyvDIX2uRaMdEEXU8m3647dOUWAw3dd64+k5PlQ3tfP9BRetXfHFeNoY4W17vhTPw9qIZ+eNBOCWMc6X9L6gPCY+uy0EUYRHfj7Hb2cLmPfRce78LpLovBp2xhWzoRd3VH+cza0hvrCOeya5q8QXLamE1xePoriulQ/3p5NR1sC+pFK+PJrFKzuTyCzveQH6/VwRoghLQvoPCV81yQMDHSk3Bjv0uq9N9bamprmDhKI6imtbuO/HKGxMdNn/1FRuCXPmk0OZqsDlkroWVv2gdDmuXRHaqxPPzECH+aPs+P1cETH5NTS2yfp0oAU5mzHWzYJ1J3OR9ZIbJooiP5zOY6SdMWPc1EVvZRmbPYfTyvsVZ+pbO/jsUAbxhcPvtnlvXxoKkX5F4Hmj7GiXKfoNxY4vrKW5Xa4m8C0JcSSpuH5A3QCj82q44bMTvLQtET97E16+3o/4ojqe/i1OJXDWNrfzzfFs5vrbEuBkSqCTmcaB9PfEFjghCEIcEAnsEkVxL/A2MFsQhAxgVuf/NWi46smuaGRrzOXJfNOgYbh4aXsi96+PVpWWKxSiqpNsRPbQu1kXVLfgZG6gmiR3MNNHIkBh9eAFpMuZm1TX3MGRtAr2DLMjvyuG5MKu2l2klzUw8e1DHBxAFMDVwrn8WtV3kXWNOZAubVr+b8YrO5LYHlfMeA9LFo12xN3KkNiCWrbHFfPELG9cLNVDdmPylW3VX13krzbrfSKjkuXfRrD2aDaPz/K67OutUIg88WssxzvzSQRB6Rya6GnF6axKzubWYKyrxb2T3Ll7ohv2pudFoek+Nnx1LJsTmZXM9T9fxhOTX0OIi1m/bc0FQWCylzWTvax7/P3O8W48/3sC0Xk1hA2gLCmtrIGy+jamePfefa0/BEHgtUWjeOq3WGb79V6K5GVrRHp5Ax1yBcfSK5g/yu6KuY36wtfeBH8HE7bEFLFyorvaY3XNHaz6IQqpROC7lWMw6SXQeyDM9bfD2liXH0/nMr3TxZJd0ciuhBIemDICUwPlcn+6L5xHfzrH7oRSxnlYsGKc65A/l5uVIUHOZmyPLeaBqSP6fa5cIfJbVAGTvawHHWJ9IaOdzZjla8vaY9msGOeGqYE25Q2tRORU89gMrx778j0T3Zjla4Or5dCEsgtxsTTgnaWBPLQxhriCWkbaGfPesiCuD7Lnvh+jeWt3KlO9rQf8fl8fz8bcQLuHsBbmZsHNYU58cyKHb06cF8u0JAKHUsv549FJqgB4URTZEl3IWDeLi76vtbEuh56ehplB7/vaJE8rBAH2JpZyLL2C1nY5G1eFY2Wky5s3BdAqk/PuvjQkgsAf8cU0t8tZf2+4KmesN24d48L22GJV2HtfDiSAeye788D6aPYmlbIwUL3EbktMESkl9by7NLDXc9aCQHu+P5XLwZQyVXe5LhQKka3ninh7TwqVje0kFNWxdkVYj2UMBaUwXsnWc0U8OHVEv/t4qKs5VkY67E3s+fm6OJWpdLaO8zgvIN0w2pE3dqewJbqQFxf69fq6Npmct/eksu5kLnYmenx2ezALOks622UK3tqTyghrQ56a48NXx7JpbJfx5GxvQHlc7U8uo665Q3W+0HD1I4piNhDUy9+rgJlXfo00aLg01h7N5teoAgKdzPC06TubUcPfg4TCOv6IL2aEtRE+dsb4O5gMaaL0aqKsvpWzudWIojJ+4tGZXkTn11BU24K1sS6RudXIFSLSIYw/Cmub1Sb1taUS7E31KagZmNu/rqWDPQklbI8tJiKnio2rxjF+RO+xBpdCV2ZiUlHdkD9rb3SVeF3YVbuLzdGFFNe18vgvsWzTs8Czdehi3ZXibG41EgHCXC3I0jiQ/p78mVTK1nNFPDLdkw2rwnlt8SjumeTOCwt8kQoCXx7L6vGar4/13lZ9kpcV1wc58PmRTPKqBq8oVje186/N8Ty7OY4vjmSxL6mUjLKGXmfeAb44msXxjEpeXzyKnY9M4vGZXrTLFHxyMIOSulb+s9CP08/P5PnrfNXEI4AwN3OMdbXUytgqG9vIq2om9IJuZoNhcbADxnpa/Hi6p+tib2Ip/96aoOooAMqyMlBmAw0FF0sDNj80Afc+XDPetsbkVTVzJruKhlZZj/yjv4olIU4kFNWRWnrePVBY08yqH89SWNPC2hWhlySs6GhJuG2sC0fSK1T74pdHs9CRSrh30nnRykBHi7UrQnlnSSCf3hZyyeLa4tEOJJfUq8oG++Joejklda3cNgwuIICnZnvT0Crj6+PKdvd7E0sRRaWAcCGCIAybeNTF/AB7Prs9mA33hrPn8cksDXVCV0vK/5YEoCUR+L9N8QMqZcupbOJAShnLx7mir9PTvfPiQj/+PX8kH986mh2PTCThv3P49YFxFNa08NzWBJXz71xBLdmVTb2GZ/eGnameWnh2dyyNdAl0NOXLo1mkltbz6e3BeNsq88WkEoH3lwUxz9+O/+1NJaWknk9vC8bHzrjf9xvnYYG7lSHxhXU4W+j3OD91Z5avLW6WBnx9PEfN2Vjb3M5bu1MIdjHr08UW6mKOrYkuO2KLqWxsU/2cy69h2drTPLMpDmcLA8LdLYjJr70kG3Rrh5wDyWX8e2sC4946yF3fRWJjrMvq6f2LqVKJwGw/Ww6nlvfpXj2VVYWfvYlaTpSFoQ4zR9qyrY+ujnlVTSz94jTrTuaycoIbB5+eysJAB5XQdv8UD5aFOvHJoUy+PZHDupO5XB/ooAr9D3JSujrjizQuJA3XFgXVzby3L63PeysNl44oiv2W6Q+G+CJlKW335gsa/r58sD+NtceyeXZLPIs+P8l/diT9ZeuSWlrP2qM9x3mDZU9CCaIIXjZG/Hgmj3aZgm3nitDXlvLELC8aWmUDcgv3RmFNiyr3qAsnc33yB+hAWv5NBM9tTaCsvhVdLemQshMHQpeA1NQuV5WdXSrN7TJK6lqRSgQyyxt73KOJosiu+BJGO5uhpy3lPp8bqZP2PXl5tXA2t5qRdiYEOpmSU9k0pC7WVyv/CAGppqmd539XWvofnu6p9pitiR5Lw5zYHFVIad35FtYXa6v+4gJfdKQS/rM9aVCDkYLqZpZ+cYrfY4s4nFbB//am8sD6aGZ/eIzrPjneI6X9bG41H+xPZ2GgPXeEuxDgZMoTs7zZ+egk4l6ew5FnpnHPJHeM+sh40ZZKmOxtxeG0ctV6xuT13s1sMBjoaLEs1Jk9iSWUN5zfbnsTS3n4pxh+jsxn1vtH+fxwJm0yOUfTK/CxNe53AHkpeNkaI1eIfHsiB22pwCSvwTudLgeLRjugJRHYEl1Ia4ecTw5mMOuDoyQW1fPezUFDDpXuzh3hLkgFgQ1n8iiqbWFrTBG3jXXB2lj95KollXDzGOcefx8KCwLtkQiobLt98XNkAVZGOsz0HZ5O0n4OJiwMtOe7kzlUNbbxR3wJ3rZGKqHjSrAw0IFJXlZqThh7U31eut6PyNxqvj+Vq/b82uZ2Nkbk8dWxLNXPyzuS0JZIWDG+dyeYiZ42D0wdwaLRjgQ6mWGsp02oqwXPzPFhV3wJGyOUN9ibowvR05ZwXUBPAW0odAXcv7TQj2kXiLBaUgmf3BbM8nEuvLM0SOV46w9BEFQlhBfb16USgXsnuRNXUEt03vkQxXf3pVHT3M7ri0f1KXxKOsvYDqaWE/b6AdXPjWtOkVvZxLtLA9ny4AQWBtpT0dCmCqscDAqFyKaoAib97xCrfoxiR2wRIS7mvLcsiH1PTBmQi3Cuvx1N7XJOZfXsdtfaISc6v4aJnj1nDJeEOlHZ2M6aw1nEFtSqupTsii9h4ScnyKtqYu2KUP57g3+PvC9BEHjjxgDGulvw2h/JtMsVPNHNORvQmUmnyUHScKXZl1TK+jODK/0dDD+cyuWzw5mczb22QlmvJn6LKmDcWwdV2YBDpbVDTnpZAxJBeV271lpe/9NobpdxMquKlRPcOPzMNKb5WLMvsfQva0n/w6k83tqTqjZeGQq7E0rxsTXmhQW+VDS0sS22iF0JJcz2s1Xlrp4ZQkZuXlUTtc0duFwwoRzmZk5Mfg1Jxf1fn8vrW0koquOJWV4cfHoq00dacyi17LJkBiUV16HVeS82XPcNuZXK88dYNwsa22QU16l/T3GFdRTVtrB8nCtfLg+hUNeUpzyvG5b3vlx0yBWcy69lrLsFHtZGtMkUasaKvzv/iBK2l3ckUdfSzo/3jEVHq6dm9tDUEfx6toCvj2fzUmeJwLqTuf22Vbc10eOp2d68+kcyexNLmT+AAVxiUR13f3+WdpmCjavCGeNmQUNrB7mVzSSX1PHuvnRu+OwEry4axbJQJ2qaO3j0p3M4m+vz1k0BPUo3TPUHVm4w3ceG3QmlJJfU4+9gSkx+LdpSYdCt7C9kxXhXvjuZwy+RBTw204vDaeU8+nMMQU6mvL0kkPf/TOPdfWlsiiqguLaVuyYMvWzqYnTl3xxJq2DCCEtVic9fjaWRLtNH2rA5upB9SWXkVzdzXYAdLyzww9FseMQ0WxM95vrb8evZAupbZAiC0nVwObEx1mOipxXb44p4eo53r2VF5fWtHEot577JHr0ed0PliVne7E4o4ZWdyZzNreaJmd7DtuxLYVmoE3sSSnhnX6pKXPnuRA6bowtp6eVm+M7xrtgYD7zrHsADUzw4k13Fq38k4+dgws64YuaPsh+2/f3eyR4Eu5gzzad3p6COloTXFwcMaplLQ5345ng2c/ooP+3OklAn3vszna+PZxPmZkFsQS0/ReazcoIb/g79n68em+GFp42R2gyPjpaEeaPsVefKrq6TMfk1g3L+JRbV8Z/ticTk1xLiYsb7N49mvIfloPfrCSOsMNbVYm9iKTNGqouq0Xk1tMsUqgDt7kzzscbb1ogPD6Tz4QFlmLm5gTY1zR0Eu5jx6W3Bqs4tvaGjJeHL5aHc9tUZJnlZ4WF9vjzEVF8bj85ybg0ariSfHcoks7yRm8Oc+uxoeikc6cwGPJRadllKOTQoJ5HaZQq2xhRdUqRDckk9coWo6ni6K76EJaGXlpt4tdHaIeeNXSlYGOpw72T3IUcXXCm6utiuuKBxxUA4mVlFu0zBbD9b3K0MuTHYkSNpFcQW1F5S9cNQ6XIFxRfUMctvcPddXZTVt3I2r5onZ3kzxcuaEdaGvLYzmYY2GYuDHbA31cfFwoCInGpWTR7cPfjHBzPQ1ZL06JB7/5QR/BxZwGt/JPPzfeP6jB2J6excNsXbGkEQmDHSlt0JpSQW1asmiYaL5OJ6xo+wJCq3hoSiOm4aQr7pTxH5yBQKVTxMV/7RXH9bTmdXkV7WoDZG2hVfjLZU6eI21dfm8cJTvOcymbyqpmGvNBgukorraemQM8bNAsvOYPTsyqZLjvO4WrjmBaQ9CSXsiCvm6dne+PURquxsYcCiIAd+isjn4emeSAWB36IKuD7Iod+26neOd2VzdCGv7Exmsrd1ny4gUOYmPbghGhM9LX56cDxenY4JYz1tApxMCXAyZfpIG574JZZnN8dzOquKmuZ2qpva2bp6wiUNELucBIdTy5UCUl4N/g6mfZayDBR3K0OmeFuzMSKP0c5mPLg+Gh87Y9bdPRZTfW3WrgjjaHoFr+xIol2uGJBj4VLWRSoRkCvEXruv/ZXcHObM/uQyLAx12HBv+GVxR9053pVdCSX8GlXALWHOOAyTONUfi0Y78symOGLye78h2BRdiFwhcuswla914WljxE0hTqrOVAsCLy5MXAkEQeCtmwKZ8+FRln15iqqmdrQlyhuCuye643pBxppBL6VrF0MiEfjg5iCu++Q4d3wdQUuH/JLDybtjqq897MeplZEuZ1+Y1W/eWhcGOlosH+fCmiNZZFU08uK2BKyNdHlq9sVFQnNDHe4I71+k9rE1xkBHSkxeTY+sJICKhjbWncxB1k2EKqtvZUdcMZaGury/LIgbg4feTVBHS8JMXxv2J5chkyvU8iBOZVUilQiM6SUnSlsq4Y9HJ5Nf3UR2RRM5lcrfzhb6PDB1BNoDyJWwMNRh7xOTe30syNmME5mViKI4oO9Jg4ZLpalNphINzubUDPt1sbCmmczyRiQCHEwp54UFveeHaRg6NU3tROQoc0g2xxTw6AzPIZ8bEzqdDPdN8eBYegU/ReZfUwJSdVM79/5wltiCWkQRfjidy+ppI1g5wX3IE2zJxfW4WhpccpfZxjYZz22JZ2mok2q8sCmqgLf2pGJjrMvyca6Dvi4cSi3DWFdL5Tye5m2DVCJwKLXsigtIcoVIWqmyuiOusJZZfsrJm5Z2OU/+GstjM736HB92p6t87boAeyQSgZUT3XlpWyLmBtqqrNhwdwv2p5ShUIgDPhYyyxvYdq6IVZM9sLlgzGmqr82Ts7x4aXsSfyaXqWXZdic6rwYdLYmqedB0H2sEAQ6mlg2rgNQmk5NZ3shMXxta2uWq43YwNLXJeHN3CjpaElZ07ltdHcrm+Nvx353JZJQ1qKJIRFFkd0Ipk72sVZOBi6qSec9lMn8mlXHfZZ4wHypnO8+NY9zOdw/PrmhUOf3/7lzTJWxVjW28uC2RAEdTHpzWfz7F6ukjaJXJ+e5EDhsj82hul7NqUv87pZZUwus3jqK0vpXxbx0k7PX9ff7ctS4SJ3N9tq6eqBKPLsTGWI/194bz1GxvtscWcSStghcX+l6yU8jaWJcgJ1MOpZbTIVcQX1R7SeVr3blznCtl9W2sXBeJq6UBP94TruaMmuptzd4nprD94Ym9zqwPF7paUtw6B+gXlt781czyteH31RPY8/iUy1ZaN9bdAh9bYyQCF93Xh4u5/rboakl67TKnUIj8cjaf8R6WQ+721h+Pz/RCSyIw0s4YT5srV752MexM9XjzpgD0tKU8Mt2TE89N591lQfg5mGCoq6X2M9SBuqWRLp/cGkybTI6Dqd7fYmZ9MJ/1zvFuaEkEVq6LJLGonpcW+g2bw0pLKiHIyYyY/N7dNj+ezmXNkSzWn85T/RxKKWflBDcOPTOVJaFOl5wfNm+UHTXNHUTmqgdAnsqqIsjJtM+JCB0tCZ42xszxt+OBqSP439JAHpnhNSDxqAtBEHr9LoKcTKloaKO0/tLs/Ro0DJS4wvPdafrrTDhUujqT3hHuSnZl0zXXQvlq4GBqOXKFyD0T3SmoblGJSUMhoagOKyMdHEz1uD3chei8mn6zZAqqm4eUQXo5+PZEDi9v772bMyjXdckXp0gurueLO0LY+cgkAp3MeHN3KjeuOUlmH12n+iO7opGFnx7nq2PZfT4nsaiOys5OYf2xK76YP+JLuPeHKH49m8+5/Bpe+D0REz0tyhvayK0aXHmiQiFyMKWcKd7WKnHM1ECbMFdzDqYM/7F+MfKqmlQu8O5O21NZlexNKuWbE71vQ7lC5MH10by5O4WapnZ2JZR03nMqHbxLQhyxMtLhxmAn1XU43MOS2uYO0i6IIympa+GWtaf57FAGze3q3WI/PJCBvraUB/oQQm4b64KXjRFv7k6hTdZ7aWdUXg1BTqYqJ6elkS7BzmaXvL3lCpFj6RWqUriMskZkChE/e6XxIam4ftAZczviimlsk1Hd1E5GZ2fhnMom7E31cDDTx8pIl4xuQdqxBbUU1baoRTU4t9Xj11TGvqTh7QQ3nJzNrcbV0gAbEz2sjHQw1tNSBYVfC1zTDqQ1R7JoaJXx3rKgi95ke9oYM8/fjh9O56KvLWWip+WAFOkQF3M+vnU0kRe5cJrqKzNNLlZ2JpUIPDbTi/EjLEkqqrukblndmeZjwyeHMjiZWUlrh4IQV7NhWe70kTZ4WBkiAhtWhWPRLfy1Cx0tCUHOw/N+/RHkrOwqN8L66rIzCoJA8DAJdv29x5s3BZBb2dRn0PhwY6ynzSxfW/6IL+HFhX5qx9jJrEoKqlt4Zk7fbc0vBWcLAz64ZTQ2w5DnNNwsDHTos8vWcBHuYclXK8Iw0tMatg4YVwu2JnrcEOTIlphCJnlasbCXgPRLIdTVnC+OZtHcLuuRb7c/uYyx7hb89sD4YX3P7kzxtkZPW8KXR7PR05YS5GRGc7uM+MI6HrpIV8PLRdf5Oa6g7rLl1GnQ0J2uLMZAJ1OOplfw4jAv/0haBY5m+tw/xYP1Z/I4lFquVrp5KcQW1GKqr33FrrVXK38mlWJvqsczc73ZFFXApuiCIU9oJBTWEeBoiiAILA114p19aTz1Wxx3jXdl/ij7Hh0iH9wQTW5lExvvG8foK3B/2ReiKLL2aBblDW3M8rPt0bUY4I1dKVQ2tPHTfeGEuiodOT/eM5Z9SaU8tyWeBZ+c4OXr/bk93GXA77v2aDYKkT7HHo1tMpZ+eYrrRtnzwS2j+13WtnPFuFoa4GppyL+2JGCkq4WtqS4f3jyapV+eJiK7alD7elJxPeUNbT2qAWb52vLG7hQKa5r7LbkeblI73UejHE2IK6hVOW27OlvvSyyl9UZ5j6qMlJJ69nYKFD9H5Cu7l84674Y20NHi4NPT1Nzk4Z0O4ojsKnztlWNIhULkqV/jiM6rISKnmu9P5XHfZHdCXc0RUWYZPjrDs8+OtlpSCS8u9OOu7yL5KSKfuy/o6tzaISexqI57Jqn/faavLe/uS6OsvrXfapr++PVsAc//nsBXK0KZ42+nymLydzChXS5n3clcsiqaLtpQpQtRFNlwJg9bE13K6tuIyK7C29aY7G5jF29bI9LLzwtIu+JLVOVr3ZlTncnH+bZUNLQNS7ZrYlEdr+5MZvl4V24IurR7eFEUicqrUR0DgiDgYW10TXViu6YdSP8314fv7x4z4B374emeNLTKKG9oG1T96qLRjrxxY0C/P8/OGzngzCJQBs6unOg+bOUEM0baIIpKpRsuLUC7O1KJwNbVE9jz+ORB57kMN68tGsWmB8b/Y0swQl3Nr7jle9FoB6qa2jmZqR4K/EtkAWYG2n3abYeDG4Ic1Nqdvbwb5AAAIABJREFU/9OY5Wd7zX7+1dNHEOZqzmuLRw378RziaoZcIfYIfyyobia1tIHZwxT43hcGOlrcN9mDk5mV3LTmFGPfOMCDG6KRK0Qm9BKgfSXwtTdBSyIQV6jJQdJwZYjOq8HLxogbghzIKG9UhYvGFtQy+4OjvQbN90WHXMED66N44Xdlh8p2mYJTmZVM9bHG2cIAH1vjYXM+lNe3csfXZ/jX5vhhWd7lJrW0/qITnEOhpV3OsYwK5vjZYqCjxcIge/YklNLYJrv4iy+guV1GRnkDAZ0dIc0MdHj7pgDaOuQ8tzWBMW8e4Gw3x2ZRbQtJxfW0yhTc9V3kkLteDQeJRUqxRCoReP2PlB5ujMY2GYfTylkS6qQSj7qY62/HviemMNbdgud/T+B01sDCl0vqWth6rhAdqYTYgtpeHSAHU8po7VBwKK28X4dIaV0rZ3KqWDzakW/vCuPWMc5IJQJf3xlGqKs5Vka6gw6FPpBShiDQoxx+pq/y/4dSr6wLKaWkHqlEYFmoM/WtMpWj6kRmJVZGOjS1yzmQUtbjdVGd+9y6u8cwfoQlelrSHhlFpvraapOnzhYGOJrpq7nxvj6ezensKt64cRRbHhrPCGtD3tqTytIvT7Psy9OY6GlddMw51duaEBczNkbk9wjGTiyqo0MuEnrBuG44tvdvUQUAqsYtycX1GOpIcbEwIMCxs4PrIO4b4gvrSCqu5+Hpntib6nEmpxpRFMmuaOwmIBmTWdaAKIp0yBXsSihRK1/rYm5NBqJIr9/dYJArRNYcyWTx5yeJzK3myyOX3q3v17MFVDe1M7lb1ckIK8NryoF0TQtIetpSJngOvGRolKMpc/xs8bM3YWovswh/ZwIcTbEy0iWuoFZlExwuzAx0LjlPaTgw1NVSa3+t4fIzzccGU31t3tqdyjt7U9kUVcCx9Ar+TC7lpmCnq2K/0PD3Y4S1EZsfmnBZZviDnc8HaXfnYOdNyCy/yysgATw9x4eYF2fzyW3BTPayIrGoHnMD7WET9geLnrYUX3vl7KwGDZcbhUJUZed1BfYfSStHoRB5eXsiGeWNrPohqscx2hev7kxmX1IZGyPy2RJTRFReNU3tcqZ1Zk3M8LXhbG61qnvhQKlpaufbEznUNZ9/3Xt/ptHULicqr5ra5qG1r48vrOVYZ4nd5eapX+O478eoYe9qdjS9gtYOhWqSaGmoMy0dcnbFD751eHJxPQoRArvFNdwU4sTBp6ey85FJGOlqqXU3PdR5rv72rjD0taWs+DZiQOVskTnVhL62n//uSKKiQVnaVV7fyo+nc/s99ykUYp/drA6mKsWSVxf5k1bWwK+dA27V4ylltMkUfXZKtTHR46sVYThb6PPC7wkD+p6+PpaDQoQnZ3vT0iFXOWy6syu+BIDa5o4+S7YBdsYVI4qwONgRbamEt5cEEv3iLEbamSAIAuEeFkR0DvJB+b37/2cv8z46xuO/nONAcs/B+6HUckJczHtUJHhYG+FuZciBK1zGllJSj4eVIWM73UFxBbWU1LWQWd7Iqske2Jrosu1cz/32bG4NDqZ6TPex4as7w0h6Ze6AApvHeVhyKLWc539PYEt0Ie/9mcY8fztuDnMm1NWCX+4fx4l/Tefbu8L4v7k+fHZ7yIAMBsvCnMksb+zR8KKra23IBdlSPrbGOJrpq+5teuOXyHzGvnGALdGFPfbxzPIGYgtqcTTT51hGBQXVzSQV1+Nrb4JEIuBhZYihjpSEop45SH0dLxsj8jDQkXJjsCPh7hZEZFdT3dROfatMdb/nZWtEU7ucotoWNkcXUlLXyvJxPd15I5srcLEwuKQytsKaZm77+gzv7E1jjr8tj830IrmknoyywZeVdpFd0cgrO5OZMMKS67tVI4ywMaK0vnVIIvvVyDUtIA2Fz24PYevqCZecc3G1IZEIqhu1v2qQouHaQ0dLwhOzvOiQK/jqWDb/tzmeO7+LpEMuctvY4Q3P1qBhODA31MHDylBVQtPFgZRyRlgbXrGyFFMDbW4IcuCjW4OJfnEWJ/414y8VXIOcTUkorFPrYqdBw+Ugu7KRupYOQlzNGWFthKOZPkfTKtgWW0RcYR3PzR+JtbEuKwfgLvkpIp/1Z/JYNcmdse4WvLw9kY1n8tGWCqoJxFm+Nsg6szz6QqEQ1bJJjqVXMPejY7z2RzIrv4+ksU1GYlEdm6ILGe9hiUI8n7PU3zK/PZGjNkMfmVPNzWtP8+CG6B5ZKAD1rR38FlXAb2cLejw2WDLKGkguqaeupaPHLH1HL66UbeeKSOxlMNgbfyaVYmagrRqUh7iYMcLakE8OZg66o2OXG/TCsF9BEAhwMmVBgD0HkstUA6+DqeW4WRow1duaDavCaW6X8/nhzH7fo7VDznNb4pEpRNafyWPqu4dZ9uUpwt86yH+2J3HP92dVotKFr1v65Smmv3eE7bFFPc6PB1OUYsntY10Y627BB3+mU996XnDcFV+CjbEuYf0ER+vrSHljcQDZlU2suYj7obqpnZ8j81kU5KByw0RfcC1rbJNxJL2CpaFOaEsFNQGhy6HXxbbYIoKcTNWue92bO4xzt6CkrpWCaqVD8PPDmejraOFgps/JzCoe2qgsJeyitE7ZTr6vZjYzR9pwJquKpksYRLfJ5INqT59S0oCvvQleNkboaUuIK6zlRGf52hQva24IcuBoermaICyKImdzq9WaWgx0XPjUHG/mjbLj95gint4Uh4WhjlonbUEQcDI3YKavLQ9P92TKAEOVFwbao6ctYVNnA5kuovNqcLM0wOqCEjhBEJjla8PhtApWb4xmX1KpWoZSRHYVL25LpKVdztOb4njk53Nq22BTVCFaEoG1K0IRULqQUkrqVUHdEomym/eFbm5RFLnlqzP8e6u6S7OupYOdcSUsGu2AsZ424R6WVDa2qc5NIzpLjL06c00Ti+r55GAGIS5mqkBttc+HMov1VGYVDa2DmxwA5flu/kfHSSqq471lQXx+ewjLx7kgEZTHxUARRVG1P3fIFTz5ayw6WhI+uHm02j7j0XmM5VwjLiSNgHQBOlqSa9Y10XUABrv8dfXiGq497p7ozqFnppHy2jwOPzON71aGse7uMX2GxWvQ8FcT4mpOTH6t6ia0rqWDM9lVzPb7azr6aUkll9xJ51IJdDKjoU1GduW1cXOj4eqla8Ab6qrsTjPVx5qTmZW8szeNQCdT7p/swYZ7wzHU1eKObyL6dCJF51Xz8o5Epnpb8+/rfPnwFuUN+66EEsJcLVSB9KOdlW6ITw5m8PRvcfzfpjiSi9WFqRe2JeD3n31MfPsQt6w9zZ3fRWKqr80L1/kSX1jHfT9E8eofyZjpa/PF8hCsjHQu6qT47mQOr/2RzE1rTvHpwQzO5ddwz/dnMdTRorldzv5u7o26lg4e/imGsNcP8OzmeJ7dEk9xZ1kfKIWMd/elUt4w8KD7bbFFSARlJ8xNUecHnQdTygh65U/2Jp6fuT+QXMYTv8bywProi7pgWjvkHEwtZ+ZIW5XYIAgC7y4LQhRFlnxxik8OZgw4XDehqA5bE90+c1oWBzvQJlOwL7GU5nYZp7KqmOlriyAIeNoYcV2APbviS9QEuXaZQk2kWHMki+zKJj69LZj9T05hpq8tDa0yHp3uybd3hdHYJuPZzXFqwoQoijy3JZ5zBbVIJAKP/xLLgk9PqEKvy+rPiyWCIPDSAj+qm9t5d28acF7I6era1R9TvK1ZPNqBL45k9ut++P5kDi0dch6aNgIHM33sTfWIyuvppm2XKbhljDPh7pYc7FbC9PbeVEJf28+W6EIyyxtIKq7vtSNpF+GdZfJncqpILKojMqeaB6Z48N3KMex+bBLaUglv7UlRba9X/0hCSyL06bia6WtLu1zBC78n9Dno701YBaUj8K3dKQT+908+Ppih9lhEdhUbzuT1eE1dcwdFtS3KMm2phABHU+IKalXlayPtjFk02pEOubLTVxf51c2UN7SpusgNBkczfT6+NZjol2bx+e0hrL83fFiqI4z1tJk/yp6dccWqY1QURWLya3q4j7p4YpY3d4S7EJFdzQPro5n6zhF+jswnv6qZ1RtjcLE04Pi/pvPsPB/2JZay+POTlNe3IpMr2HquiOkjbRjlaMpMX1u+P5VDU7tcLR840MmU5JJ6NUH6bG4NkTnVbI0pUvuOt50roqVDzu1jldm+XXlRP0cqxfLuGUgA7+xNpaSulWfm+PQZZTDH3452uYIjaepivlwh9us43ZtYyhO/xuJtZ8yex6ewNNQJQRCwMdZjoqcV22OLLypSiqJyUuKGz07i//I+xr5xgBs+O0lcYR1v3xSAnan6+awrgy+7Uj0HqaKhjQ/3pw/aIftXoxGQ/kHM9LXhnonu/V4sNGgYKtpSCe5WhswYadvrbIEGDVcLIS7mVDe1k9eZhXA0vQKZQmS23z93vx2tCtLWlLFpuLxE5dZgbqCtmpGd5m1NU7uc0vpWXlroh0Qi4GxhwM/3jcNYT4vbvz7DnxeUKdS1dPDYz7HYm+rzya3BSCUCjmb6vHljAICaA0IqEbh7ghvN7XLOZFexM76YF7YlqAYIhTXNbIoqZKKnJSGu5tS3yrh3kjs7H53EfVM8eG9ZIKezq4jMqeap2d6YGegw3ceGo2nlvTp5QFmW9c7eNGaMtGF+gD3v70/npi9OYWagzY5HJ+Fgqse2c+dnub8+ls3uhBJuH+vCF3eEAMpuRV3siCvm88NZrDk8sHwOURTZHlvMRE8rbh3jzPGMCkrrWmmTyXllZzLN7XKe+i2WtNIGyhtaeXZLPA6mehTVtvDtiZx+l/v81gTqWjpYekHmYoiLOXuemMKCAHs+2J/OW3tSB7Su8YW1qjyV3ghxMcfZQp9tsUWcyKikXaZgZrfvd1moE03tcvZ0EwBWb4xmzBsHeP/PNGLya/jiSCaLRzswxdsaD2sjPr0tmL1PTOGpOT7M9LXl+et8OZxWwfpuIsTXx7PZFlvMM3N8OPDkVD6+dTTl9a2s3hhDa4dclS0zqzM3L8DJlHsmurP+TB6HU8tVQs6CATaCeHGhH4a6WjywPpqC6p6dz8rrW/nmRA7zR9mpJuhCXM17uGl3xZdga6JLqIs5M0bakFneSF5VE5nljXx7PAdBgKc3xXHnt5FIBFgY1Pf6edkYYWGoQ0R2NetO5mKgI+XmMUp3uY2JHqunjWBfUhmns6rYHF3I7oRSnp7j06eTd5yHBY/N8GRHXDHXfXKc6Dz1fK6cyibCXj/Am7tT1P7+S2Q+U945zFfHs7Ey0mXt0WxVh7nmdhmP/xLLf7YnUlqnLrCmlCqFYl975fYKcjIjsbieExmVTPK0QiIR8HcwYYS1oZrr5GyucpsORUDqwkBHiwWB9ngP42TqslAnGlplqrKt/OpmKhvbCXPtfT3NDXV4ddEoIp6fybqVY7A30+PfWxOY8f4R2mUKvr4zDDMDHVZP8+Tn+8dR3tDGim8j2R5bTEVDG8s6j/E7wl1o7VCe6/wdzjsFA5zMaJcp1Jyi607moC0VlKJvklIkF0WRjRF5BDmZqpyG7laG2BjrEltQi5ZEwMlcGa1iZqCDtbEu2ZVNjPew7DeKJsTFHGtjXV79I5kNZ/JolynYn1zG/I+PMfaNA5zrY/Jhe2wRNsa6/Hr/OFws1QPdF412pLCmpd8S6pj8Gm7/OoI7v4ukuqmdx2Z4MsnLCqkE7p/iwfxeBFRXSwMEAbIucCC9uC2Bjw9m8MQv51SdSf8OaASkfxB62lL+c73fsKTVa9CgQcPfla4ulF1OiAPJZVga6jDa+Z9b3jvC2ghDHakmSFvDZSc6v0blPgKY4GmFnraEBYH2agM2NytDtjw0AR87Ex7cEM3ao1mqEqL/bE+ktL6Vj24drdah6/ogBzY/OJ4V49U72D4604uTz83g5HMzePl6f87l13I4TSkAfH0sG0GAd5cG8eltwex5fDIvLfRTudFvDHbi3aWB3BjsyG1jlVkcM31tqW+VEZXbc5DR2iHn8V/OYWqgzXvLlMv86JbRTPK0YuOqcBzN9Ll+tAPHMiqpamyjobWDH07nMs/fjv/e4M/8AHuCXczUBKauENtNUQVqJVJ9buO8GgprWlg82pGloU4oRNgSU8gPp3LJr27m3aWBGOlqcd+PUTz1axxNbTJ+uGcss/1sWXM4s0+n07cncth6rognZ3n32nHNVF+bT24L5vZwF9adzLlowG5DawfZlU0EXlC+1h1BEFgU5MjJzEp+PVuAsa6WWmnRWHcLXC0N2BStdDIcSSvnQEo5rpaGfHook5vWnMJQV4sXF/r1+R53jndlmo81b+xKYcW3ESz/JoK396SyIMCe1dNGIJEILBrtyPs3B5Fe1sjbe1I5mFKGo5m+yjEByuY9I+2M+b/NcfwUka8ScgaClZEuX98ZRlVTOzeuOUXCBaVB7/2ZRodcwb/mjVT9LdTFnKLaFkrqWlTb80h6BfNHKV1PXUHKB1PKeXN3CvraUg48PZVn5/lQ3tDGFG/rfhvgCIJAuLsFR9PL2RlXzLJQJ7W8nlWTPXA00+fFbQn8d0cS4zwsuL+PdvRdy3tqjo+q0+ltX0WoHF0AHx1Ip7ldzlfHstnSWar169l8ntuaQICTKXsfn8L6e8fSJpPzRWe531fHsimtb1Xt493pEjb8OjuiBTkrBY+qpnYmdWbdCoLAjcGOROZUq55/NqcaU31tvGyGp3PjcDHOwxInc302RxciV4gq501oPyWSoHQ5Tx9pw9aHJvDVilDCPSz47I4QVdkYKMWyr+8MI6eqiWc2x2FpqKMKQp/iZY2TuT5aEgGvbvv7OA+l0/P1XSnIFSIF1c3sSyrl3kkeOFvos71TlIvKqyG9rJE7ws+fl5UZW8pziIulgVrpZNd2f3rO+a53vSGVCHx31xhcLQx4cVsioa/t574fo+iQi1gZ6fLA+mjK6tXPZa0dco6kVTDbz1btPbuY62+Lrpak11ys9LIG7vsxipvWnCK9rIGXr/fj0DNTeWqODx/cPJo/Hp3M89f59rquetpSnMz1ye7WiW1fUin7ksoId7fgcFoF7/+Z1u/nvZrQCEgaNGjQoOEfhZeNMca6WsTk19AhV3A4rZwZI22QXmPZd4NBKlHmjWgcSBouJ9VN7WRXNKmVXBjpavHHo5N4b2lQj+dbGeny833hzPW34609qSz/NoJvjmezPbaYx2d69ZrpGOZm0W8UwdJQJ1wsDHhvXzoVDW38craAG4Md+20usizMmQ9vGa0acEz2skJHKuFQqnKGfV9SKcu+PMWNa05y3SfHyShv5P1lQaog4cXBjqy/N1wVwrt4tCNyhcjuhBI2RuTT0Cpj9TRP1fstCnIgtbSBtNIGEovqiCuoZUmI0mnTWz5SZnkDD6yPYmuMMgx3W2wRetoS5o6yw83KkLFuFvwcmc+nBzOZ7mPNsjBnvlwRSmldKycyK3lxgS9etsY8f50v7XIF7+9L7/EeJzIqeXN3CnP9bXl0hmePx7vz3PyRWBnp8tyWhH5L2X6KyEcUzzsg+2JxsAMKUZl/NMXHWq3zlSAILA1x4kx2NTmVTbyxKwU3SwO2PzyRPx6dxPVBDry7NKhHRkx3BEHg3aVBTPG2pqlNRnO7TPm6ZYFq5TPTfGy4e6Ib35/K5UhaBbN8bdQe19OW8sltwdS3yojIqVYJOQNljJsFWx4aj66WhFu+Oq1yoXXlb9090R23bu6eLuEgJk953j6UWk67TMHCTteTq6UhnjZGrD2WxaHUch6e4YmNsR6rp3ly+JlpfHjz6IuuU7i7BZWN7bTLFay8oIW8nraUf80fSVZFE1KJwAc3jx7QdTTMzYKtD01EX0fK81sTUShE0kob2BFXzH2T3RnvYcm/f0/gg/3pPLc1gSne1qzr7KrtYW3EkhAn1p/J41x+DV8ezWJBgD1j3S3YfEEYdGpJA5aGOqqJ8+772aRuzpbl41wxM9Dm9V3JqvyjMFfzqy4PVyIRWBLixPGMSvxf3svLO5IwNxi40CUIAnP87di4ahxTe8lemuhpxZrbQ5AIAkvDnFTHmUQi8MJ1vjww1QNdrfPnVhtjPf57gz+ROdV8eTSLH0/nIggCd01wVYm+5Q2tbDyTh7GeVg+3W1cZm4eV+vrfEe7K6mkjCBuAAyzAyZRND47nu5VhTPKy4q2bAvjzySl8u1JZmvrghmi17KcTGZW0dMj77BJtrKfNLD9b/ogvJq+qCUWnMPbUb7HM/egYZ7KqeHq2N8eenc7dE93VtsfF8Lc35UBKGRsj8mho7eDl7UmMtDNmw6pwbhvrwpojWeyMG3wjgr+CvzZ0QYMGDRo0aLjCSCUCo13MiMmv5WxONQ2tsivSfe1qJ8jJjHUnc2mTyQd1U6RBw0AQRVHVFvpCV4anTd9lHgY6Wqy5I4Tfogp4ZWcyp7KqCHM1Z/W0EUNaD22psvnDU7/FseqHs7TLFTwwdXDLMtTVYtwISw6mlGNvqs9ru5JxtzTE0VwfI10t7p7g1m84rq+9CT62xmzq7DI02ctKLUR6YZADr+1KYXtsEbUtHehqSfjPQj8Kqpv5/lQud090RyoREEVlKPQbu1KQKUT2JZVxMLWcU5mVzPK1VeVALQ1z4tnN8UglAi8sUDpxQlzM+fT2YBIK61g+TukMcLcy5K7xbnx7ModJXlZcH6QMaj6YUsYjP53Dy8aY9y8Ih+0NEz1tXrnBn4c2xvDdyRyWhDiRVtaAvraU4M7v/lh6Bf/bm8r8UXZqg/ne8LQxxt/BhKTiemb59iw1XhLqxAcH0rnvxygyyxtZuyIUHS0JoxxN+fS24H6X3YW1sdIBdDH+NW8kpzKrSCtrYIZvz+uGt60xL1zny8s7knq0fR8InjbG/L56Ag9siOaxn89xOLWcopoWzA10eOQC4c7PwQQ9bQnReTWEuZnz/p/pOJrpqwmrM31tWHs0GxcLA+6e6Kb6u7OFeulOX3S5RGaOtOm1NO36QHtSS+qZ6Gk1qA7P1sa6vHCdL89uiefXqAKOplVgpKPFw9M9UYhww2cn+ORgBmPdLFi7PFTtmvTYTC+2xRZxxzcRKESlYHkmu4r/2xzfuS2UwkNKqbJrWJfI52Suj7mBNlZGumoZNWYGOjwx04v/7kzmt6gCsiubVKV6Vxt3jHMhs6IROxM9fOyMCXe3GFaha5afLSf+NR3rCwTX+QH2vZZmLQlx5HBaOR/uT0dXS8L8UXbYm+qzONiBzw5nsuF0HrsTS7l9rAsGOuqywziPTgHJWn2/WhBoP+DST1AKYzNG2jJj5PnjcaSdCe8vC+KhjTG8sjNZVd68L6kUYz0txnn0dFB2cUuYM7viS5j67hEMdKR0yBVIBIH7J3vw4NQRQ860enWRP0/9JuOF3xP59GAmZQ2tfLkiFG2phFdu8CejrIFXdiYxy9cWfZ2r+x5MIyBp0KBBg4Z/HMEu5nx2KINtsUXoakmY7NX/AOafQJCzGe1yBWmlDQQ6aZotaBg+apra+ffWBPYmlTLR01IlIgwUQRC4ZYwL4e6WfHcyhwemjui1/GCgLBrtyOeHM4krrOO6ADu1Uo6BMnOkDS/vSOLVP5KZ62/Lx7cGD6oJy6JgB97pDFz++FZ1J4iVkS6TPK34/VwR9S0dXB/kgKmBNvdMcuPBDTHsTy7DwUyPt/ekciqriqne1vxvSSBbzxXywZ/pyBSiWt7lggB73tqdwk0hTnh2cyvM9bfrMRP/2CwvzubV8OjP5ziSVoG/gwmv70rGz8GE71aOUYlSF2PeKDtm+drw5u5U3tx9Pg9pkqcVy8e58OzmeLxtjXlvWdCABsC3jnHm7T2pTPPuKSA5mOkzydOK4xmVjPOwYM5lnBDQ05ayZnkIG8/kM6GXMj6Auya4MdffrkeQ7kCxMdFj0wPj+exwJp8eykSuEHlt8ShM9NTbvWtLJQQ6mXE8o4LjGRVUNbaxYVW42vZcEGDP18eyeWGB75AmBnxsjVk9bQSLg3vPTxUEgWe7ldUNhmVhTmyJKeT1P5JpapfzxCwvzAyUg/N1K8fwy9kCnpjl1WMw7WxhwC1jnNlwJp+Hpo3A2cIAC0MdXt6RxKaoQsLcLJB1XsvuHK9eNvX8db6q9+jOHeNcWX8mj5e2JQGXln90ObEx1uPz20Mu63vYmw5cCBQEgTcXBxCTV0NJXSv3TFK61LpE388OZ6IQ4fZwlx6vHWFtxBOzvPoMXb9U5gfYc/8UD746ls31gQ6McTPnQEoZM0baoKPV9/Vjirc1ux+bTHxhLamlDWhLBe6d5DHk47kLGxM9frxnLOtO5fK/vancM9Fd5YrT0ZLwxfJQqpvar3rxCEAYTCvEQS1YEOYBHwNS4BtRFN/u67lhYWFiVFTUZVkPDRo0aNCg4UKOpldw13eRSCUC07yt+XblmOFZ8LRpyt9HjgzP8q4gjW0yapracTLX77PryaUgCEK0KIoXn+LXcEkM5v4LLt892Mp1kaqW7i3tchSiyDNzfFg12eOqKBf9M6mUR34+x9aHJjDKse8Mnr4orm1h7kfHWBLixEsL/Qb9mQprmpn0v8OMdjbj99UTehxzv58r5Mlf45T/Xj2BYBdz5AqRqe8epqFVRl1LB+YG2jw1x4fl4S6q1ycU1nEkrZwHp41QK/VqaO3AUEdrQGJNh1zBpwczVIO/6T7WfHZ7yKC7RZbXt7LmSBZO5vr42BmTVtrAmiNZVDe1KwPFH57UI8S2L0RRpLFNhvEFIkoXfyaV8ujP59i6eoJa0O/fnXP5NRzPqGT1tN5F0//tTeWLI1noakn4/u6xvWZT1bV0qGUXXU1kVTQy/6PjGOhKOfbs9B4iWV/UNLXzU2Q+Kye4qfbL/9sUx+6EEo4+O50fT+fxycEMPrg5iJtCnC6yNCWHU8u5+/uz6GpJSPjv3H5FBg3qJBfXcza3mrsmuKn+9vX0452jAAAgAElEQVSxbN7YncIYN3M2PThh+N5sEPdZLe1y5nx0FG2JhJdv8Oeu7yJZc0fIZROtBkpDawdGulqX5V6rL4bzHuyyCEiCIEiBdGA2UAicBW4TRTG5t+drBCQNGjRo0HAlqWvpIOiVPwF466YAVTjuJfM3FpAuNxoB6fIz2PsvuHz3YN8cz1Z1k5JKJCwJdbzqBvatHfJBuYYuRCZXXJIT6rezBQQ6mzLSzqTHY01tMkJf34+HlRG7HpukGmj8HJnPm7tSuGeSO6smu/cpqAwHMfk1xOTVsHKC2yV9zu40tHbw69kCwtwsLpp9NFgu9fv8O3Iuv4b7fozi3aVBqtDjvxtH0srR05b2W1Y0ECJzqrl57Wn0tCW0diiY7WfLx7eO7lE61ReiKPLghmgkgsAXy0MvaV00KAXkOR8d450lgczpI3NoSAzyPutYegV3fheJpaEODW0yzr00e9Bi+LXAcN6DXa6tNxbIFEUxG0AQhF+ARUCfNzAaNGjQoEHDlaKrw0pGeaNaS2gNGv7mXDX3X6sm992N6WrhUsWGSxVV+stZMdTV4os7QrE21lWbpb7t/9k7z/A4qrMN32clrXrvVrdc5Sb3hsHYpmNMTSgxkIQaQoAE8pGQUEMgBEiBhBZ6LwZsMBiMG+62ZMmyXGXJktV777t7vh9brJV2VVf93NelS9Ls7Ckzs7Mzz7zv886L5tq5UQPy5HpWtL9No/K+4O3m0m/HxmgTj8CYjr3/oRUDGsngaJZOdMx38NxYf+bFBuCkEdx/wcQuq5O1RwjByz+bPay35VAixMeN1IfPH+xhcPaEYC5PHMOXqQWsmBwyKsUjR9NfWzACaFsmIg+Y33YFIcRtwG0A0dEOevKrUCgUCkU3uXJWJMeLagjx6Vteu0IxhOjy+ksxfLAXUaJucBVtUceDESEEn9yxsM9tKEYef7o0gWNFtVw7V2kOjmDQJDgp5avAq2AMnx6scSgUCoVidHJnL6s4KRTDHfUQT6FQKBSjhSAvVzbce/ZgD2PE0F8CUj7QNi430rRMoVAoFIqRi/I+Ugwu3br+Ug/xFAqFQjEsUddZg05/2cvvB8YLIeKEEFrgWmBdP/WlUCgUCoVCoVDXXwqFQqFQKPqRfqnCBiCEuBj4J8Yysm9IKZ/sZN1SIMfGS75Adb8MsHNGer9BQNkg9Nse1e/Q6LP98TBQ/fYHqt++053jYSTNV/VrTX+cD8ztekopg/uhbUUbenL9ZVrf3jWYPRx5XA6Htvr6mRiKcxysMXW1LYfithpqbbXdhkNpXI5uZ6Da6s3ne7jNcaDasrctB3tc/dmOo9ty5DVY++8xx12DSSmH7A/wquq3X/pJGk3zHc39dqfP9sfDcJ2r6tdhbXZ5PIyk+ap+e77/h1K76mfgfxx5XA6Htvp67A7FOQ7WmLralkNxWw21ttpuw6E0rqE8ps7a6s3ne7jNcaDasrctB3tcw2VMnW3Dvo7L0ddg/ZXC5ii+Uv2qflW/w65P1a/qV/U7vPtVKDrDkcelamtw2hqKY1JtjYy2huKYVFuqrf5qx9FtOZJ+G1e/pbAphi5CiCQp5ZzBHodiaGA+HoQQfsD1Usr/9lM/92JUwxu6uf7NwBwp5a87WWcp0CKl3OWQQSrU+WGU01/7Xx1XiuGKOnYdh9qWfUdtQ8eitqfjUNuy7wyXa7ChHoGk6B9eHewBKIYU5uPBD/hVP/ZzL+Dh4DaXAosc3OZoR50fRjf9tf/VcaUYrqhj13Gobdl31DZ0LGp7Og61LfvOsLgGUxFICoUCACHER8Aq4DiQAnwhpVwnhPgCqJRS/kII8QsgXkr5kBDiZ8BvAC2wF/iVlFIvhDgfeAxwBTKBnwO/AJ41tV0mpTzXzhh+DvwBqAIOAs1Syl8LIVYCfzL1VQ7cALgDewA9UArcDRwDXgaiTU3eK6Xc6bCNpFAoFAqFQqFQKBSjFCUgKRQKAIQQscDXUsqpQohrgdlSygeEEPsAg5RygRDiTeAj4DTwDHCllLJVCPFfjGLON8DnwEVSynohxP8BrlLKx4UQ2RhT0mxWFxBChGMUomZjrBqwBUgxCUj+QJWUUgohbgEmSyl/J4R4FKiTUj5rauMD4L9Syh1CiGjgOynl5H7YXAqFQqFQKBQKhUIxqnAe7AEoFIohyXbgXiFEAnAE8DcJPAsxRh3dhFHo2S+EAGM0UAmwAEgAdpqWa4Hd3exzPrBVSlkKIIT4GJhgei0S+Ng0Bi1wyk4bK4AEU98APkIILyllXTfHoFAoFAqFQqFQKBQKGygPpBGOEKLTG2chxFYhhDI8G8EIIS4XQkghxKTuvkdKmY/RE+lC4EeMgtJPMEb71AICeFtKmWj6mSilfNS0fGOb5QlSyl86YBovAC9KKacBtwNudtbTAAva9B+hxKOOCCEeEkIcFkKkCSFShRDzB3tMioFDCBEphFgrhMgQQmQKIf4lhNB2sv69QghH+5cpFIOK6XvxvTb/OwshSoUQXw/muEYCXV17KrqHuobvO725BlbYR10/9p2RcA02JFLYgoKCZGxs7GAPQ6FQKBQKRT+RnJxcJqUMHuxxKKxR12AKhUKhUIxsHHkNNiRS2GJjY0lKShrsYSgUCoVCoegnhBA5gz0GRUfUNZhCoVAoFCMbR16DqRQ2hUKhUAwp1qbmc83LuwZ7GKOPpUuNPwqFQqFQKBQK24zy66UhEYGkUCgUCoWZez5KHewhKBQKhUKhcDAPfXEIvUHy9FXTB3soCoWilygBSaFQKBQKhUKhUCgU/UpSdiX1LbrBHoZCoegDSkBSKBQKhUKhUCgUCkW/UlrXTFVDC806Pa7OToM9HIVC0QuUB5JCoVAoFAqFQqFQKPqNVr2BivoWDBJyKxoHezgKhaKXKAFJoVAoFEMSKeVgD0GhUCgUCkUP0Bukze/v8roWy9855fUDOSSFQuFAlICkUCgUiiGJ0o8UCsVQZX1aIam5VYM9DIViyPGbD1O464MDHZaX1jZb/s4ubxjIISkUCgeiBCSFQqFQDEmUfqRQKIYiUkr+8HkaL27OGOyhKBRDitLaZr5NLyQ9v6bDayW1TZa/s8tUBJJCMVzptYAkhIgSQmwRQhwRQhwWQtxjWh4ghNgohMgw/fZ33HAVCoVCMVpQKWwKhWIoUlbXQk2TjqxSdROsULTl67QCDBKKqps6fIebI5ACPbVkqxQ2hWLY0pcIJB3wOyllArAAuEsIkQA8CGySUo4HNpn+VygUCoWiRyj5SKFQDEVOltQBkFPRQIvOMMijUSiGDl+mFgDQYjLMbotZQJod40+OSmFTKIYtvRaQpJSFUsoDpr9rgaNABLAKeNu02tvA5X0dpEKhUChGHyoASaFQDEUyS40Ckt4gOV2hboSHO6m5VXyw9/RgD2PYk11Wz8HcKmZG+wFQWN1k9XppXTO+7i5MDPMmr1KJrwrFcMUhHkhCiFhgJrAXCJVSFppeKgJCHdGHQqFQKEYXBqUgKRR2EUJkCyEOCSFShRBJpmXKRmAAMAtIAFlt/lYMT97Zlc2j6w5jMPTtO6eqoWVUp16vTS1ACLj97LGAMY2tLaW1zQR7uxIT6IlBQl5l78XX6obWPo1VoVD0nj4LSEIIL2ANcK+U0soxTRrPojbPpEKI24QQSUKIpNLS0r4OQ6FQKBQKhWK0ca6UMlFKOcf0v7IRGAAyS+uJCfSw/D1cqWlqpVWvokDyKhtp0RsoqmnqemU7lNQ0Me/JTby+45QDRzZ8kFKyNjWf+XEBzIw26taFNTYEJC9X4oKMn53eprEl51Qw84nvOVrY0ahboVD0P30SkIQQLhjFo/ellJ+bFhcLIcJNr4cDJbbeK6V8VUo5R0o5Jzg4uC/DUCgUCsUIZBQ/yFUoeouyERgAMkvqSIzyI9jbddhGILXqDSx/bhsvbc10aLv/3pRBen61Q9vsb8yRMH1JR9x7qoIWvYF/bDxBcR+EqMGkurGVh9emW7yKekJ6fg1ZZfWsSowgyMsVJ42g2EYKmzkCCei1kfaOjHIMEvZmlffq/QqFom/0pQqbAF4Hjkopn2/z0jrgJtPfNwFrez88hUKhUIxWpLLRHlBeC59D7IIH+pzGoRgwJPC9ECJZCHGbaZmyEehnGlp05Fc1Mi7Yi7FBnmQN03Lkh/KrKa1t5sDpSoe1WVHfwvMbT/Da9iyHtdnftLaJPOqLgJScU4mrs4ZWg+Tpb485anjdZkN6Ee/uzu5TG//ZcpJ3dufw+YG8Hr/3y9R8tE4aLp4ajpNGEOLt2tEDyZTCFuipxcvVudcRSKm5xmP2UL6KQFIoBoO+RCAtBlYDy0z596lCiIuBp4HzhBAZwArT/wqFQqFQ9AgVgTSw/C3qbAD0asMPF86SUs4CLsJYCffsti8qGwHbSCkprG7s9fuzTClr8SFexId4WfkhDSf2mKI3ThTVOqxNc3W6XZnlg+IF1KIzUNmu8ldXFFU3YdbMc/soIM2M9uO2JWP5IiWf/dkVvW6rpxgMkse/OsyT3xylqVXf5fr5VY0d9k9+VSNv7coGYNMxm8kjdtEbJF8dLGDpxGB8PVwACPN1o6jmzOesrllHQ4ueEG9XhBDEBHr0KgJJSklqbhUAh/Krevx+hULRd/pShW2HlFJIKaeb8u8TpZTfSCnLpZTLpZTjpZQrpJQDdwZVKBQKxYhhoE20i6qb0KvoGyXcDROklPmm3yXAF8A8lI1Al6w7WMDipzf3Wvgxvy/eFIFU1dDaoVz5cGB3plFAKqhuorrRMYbEZgGptLaZjJKBF9b++cMJ5j+1ibWp+d1+T24bI+feRsQ0tOg4UljDnJgAfnVuPGN83Xhk7eEB+z7ZnVVOQXUTTa0Gy361x4niWhY/vZm/bThutfy5743/XzkrguScyh6ZVCfnVFJS28xliWMsy8J93awikMxpccHergDEBnmS3YvovdyKRiobWgn3deNkSR31zboet6FQKPqGQ6qwKRQKhULhaAZSxyipbWLBU5t4ZsPApx4MNVT1u6GPEMJTCOFt/hs4H0hH2Qh0yQd7T5v8U3r3fDOzpA6NgNggD+KDvYzLhlkUUovOQFJ2pcUIPKPYMVFIJ0vqcNIIAHaeLHNImz1hy/FSWvUG7vkolX/+cKJbUVB5lcYomagA916nsKXmVqE3SGbH+OOhdeaPl0zmSGENH+w73av2esqa5Dy8XZ3x0DqxuYvooeQcY/rXy9syeWd3NgBHCmr4IiWfny+O5Yb5MegNkm0Z3Y9M3JVZhhCwZNwZMTrMx52i6ibLPuggIAV6kFfZ2GMT9xRT+tr186IxSDiijLSHDGV1zeiUKf+oQAlICoVCoRiSDKSOUWV62trVxbdCMUQIBXYIIQ4C+4D1UsoNKBuBTsmtaGDvKaNwlNJL75/M0nqiAzxwdXayCEjDzUg7La+KxlY9qxfEAHDcUQJSaR2Tw72JDvBg50nHGRznVTbQouv8xrS6oZVjRTX8+txxXDUrkn/+kME9H6V2mdKVV9mIRsD8uMBep7AdMIkys0zVxy6ZFs78uAD+s/lkv6fy1TXr+Da9iEtnjGHxuCA2HyvptM/0/Gq8XZ1ZMTmUR9YdZkN6EU9vOIaPmwu/OmcciVF+BHhq2dKD78LdmeVMGeNjSV8DYwRSQ4uemiZjhFB7ASkm0BOdQVJQ1bN00tTcKtxdnLhqdiQAh/KGl2H7SCU9v5rFT28eFP+vrmhq1VuM8hWOQQlICoVCMYLZn10xfL84HXzdnVVaR1qebc8EYfqtom/UNhgOSCmzpJQzTD9TpJRPmpYrG4FO+PxAPkJAQrhPr82jM0vrLMJRhL87WmeNxRdpuGD2P7pyViRers4O80HKLKljXLAXi8cFsjer3CHRCFUNLSx/bpslWsYe+7MrkBLOGhfEs9dM54ELJrLuYAEfdhEFlF/ZSJiPG/HBXpTXt1DXi5SopJxKxod4WQQUIQQrZ4yhqKapT8bc3eHbQ4U0tuq5enYEyyeFkF/V2KkgmF5Qw5QIH164biYzIv24+8MD/HiilLuXjcPXwwUnjWDphGC2Hi/pVgpeU6uelNNVLBwbaLU8zNcNMKaGA5TWGn8He5kjkMyV2Hq2fVJzq5gW4csYP3dCfVw5NMwq/o1EKutbuP3dZJp1Bj5Pye8yqqxZpyenlxX4esOT649y4T+309Ci0h0dhRKQFAqFYgRzzcu7WfLMlsEeRq9wtJCx7LltXPbiTpuvGQuLDmza3FBF2UApHMEfvzjEo+sOD/YwLEgpWXMgj4VjA7l4WhiZpfU98nkBo1lwVlk98SFGAclJI4gL9Bx2KWy7s8qZFOZNgKeWCaFeHHOAgFTfbKpOF+LFovggapt1Drm5351ZTrPOQEpu54bJ+7Ir0DppmBHlhxCCu84dR4SfOymnO39fXmUDEf7uRAcY0/l6GoVkMEgO5FQyO8bfavnc2AAA9mc7rsqdLT5LziMuyJNZ0f6cOykEsB9J26o3cLSwhmkRvrhrnXj9pjlE+BnnvnphjGW9ZZNDqGxotVQ764wDpytp0RtY0E5ACjcJSGbD+tK6Zpw1An8PLWBMYQN65IPUojNwuKCGxGg/AKZF+Nl9KKQYGPQGyW8+SqG0tpm7l42jor6FHV2kr/57Uwbn/+NHqhr63zuupqmVz5LzqGvWsT2j92m1zTo9aXlVXUZCjhaUgKRQKBQjnOEaUDKQwzbpR8N2WzkCadoIKgJJ4QiqGlrYeKR4sIdhYX92JacrGrhqVqQl1SilGzfIbTGnUo0zRSABjA32HFYRSM06PUnZlSyMN97wTwzz5kRxbZ9TrcwimlFAMrbtCB+knZnGNo514XWzN6ucxCg/3FycLMumRviQ3oWIlVfZSKS/h0VA6qmRdmZpHTVNug4C0vgQL3zdXUjqx2ps5pTMq2ZFIIQg1MeNqRE+bD5qW0A6WVJHi87A1AhfAAK9XPnmniWs+/ViXJ3PbLcl44Nx0gg2tWknu6yeuz9MIb9dytmezHI0AubGBVgtN0cgFdeYI5CaCfJyRWPyyAr2dsVD69SjSmxHC2to0RmYEWkWkHzJKqvvVdSYo9AbJAdOV47a6JbnNx5ne0YZj6+awt3LxuPr7sLaFPsm9gaD5IsD+TTrDGw70f8VQNck59HYqkfrrOnx91Fji5539+Rwy9tJzHx8I5e9uJO3dp3qp5EOL5SApFAoFIohyUCWgdaYxJNTZfUcKxp9ppzJOZXohfGSQOlHCkcwK9qf/KpGSwpLW4qqmyyeKAPFmuQ8PLVOXDQtjOlRfmgEHOgiOqU9lgpsIZ6WZWODPTld0dBjM+DB4mBuNc26MxEjE0K9qWxopbTO9v6obmwlLa+qSyHGXIFtXIg3gV6uTA73cYgP0i5TG6fK6u36GdU160gvqGH+WGsRY+oYo8BQ22Q70kynN1BU00RkDyKQskrrrPZ1ksn/qL2ApNEI5sT4s68fBSRzSuYVsyIty5ZNDOHA6UoqbVQGNO/DKWN8Lcs8tM74maKCzPi6uzAnxt8SyVRW18xNb+7jq4MFvPZjltW6u7PKmRbhi4+bi9XyEG9zBNIZAcnsfwTGqN+YQM8eCXappig0cwTS9EhfpITDg5jG9mVKPlf+dxeJj23kZ//by2s/Ztnc9oNBTnk9ZXY+147g20OF/GdLJtfOjeLaedFonTVcPC2M748U2xXU9mdXUGA6Jvrbc1JKybt7ckiM8uOiqWFsPta9tEwzT35zhD9/mc6xohqunBVBdIDHgIhewwElICkUCoViSDKQOoZGnPl7lZ00t5HMVS/tsvw9kMKdYuQyx5TCY8tr6Jdv7+e+j1P7re9TZfXc/OY+NqQXIaWksUXP+kOFXDQtHA+tM16uzkwI9e6xkXZmiTFaYmzQmQik+GAvdAbZ6xLwA83uzHKEgAVxpgikUG8AThSdScOTUnLXBweY+fj3zHjsey57cSeXvrCDB9ek2S2bfrKkDmeNsFR2WxwfSPLpyi5NrDujsLqRrLJ65sb6Y5DGEvS2SM6pRG+QzGsXBWOOtDlaaPt9RTVN6A2SSH93fD1c8HFz7tSz6GRJHSue38bvPjloOU8m51QS4KklLsizw/pz4wLIKq2nvB9u4tumZEb4uVuWnzspBIPE5o1uen41nlonxtoYa3uWTw7hWFEtJ0vq+OVb+ymqbmJWtB9rkvMsx0Bji57U3CoWxAd2eL/WWUOQl6tFQC5pJyCBMY2tJxFIqblVBHu7MsYU3WTev4Ppg7TpWDFBXq7ctCiGktomnvzmKL/79KBD+3h03WG+SMnr0XsaW/SsfGEHZz+zhRc3Z/Tpc2iLpOwK7v04lZnRfjx62RTL8lWJETS06O1G+3yZWoC7ixMXTQ1j24nSfq3atiuznKzSem5cGMN5CaFU1Ld0+D7akF7IA58e7HDdYzBINqQXccm0cLb//lz+cvk0VkwOJSm7b+e0kYISkBQKhUIxJBksHaN5lOe4Kw8khSNICPfB1VlDUjsPmJKaJg4X1JCcU9lvNw9v7DjF1uOl3PFeMte9tof/bDlJXbOOq9pEasyM9ic1twpDDw74kyV1BHpq8fc8E7Extl0lNoNB8uCaNNYk9+yGr7/44xeHeGFThmVb784qIyH8TMWsiWFGAamt8XJqbhXr0wqZHRPAHy+exCurZ3Pn0ng+Tsrlkn9vt0SCtOVkSR2xQZ64OBlvLRaPC6JFZ+iw/3uCOYLpl2fFAXDMjhC071Q5zhrRIQqoK4Ehr9KYjhXpbxS9YgI9OxWQvk4rwCBh3cEC3tyZDRgFpFnR/hYfvbbMjTWOpz98kDakF3G6ooFr5kRaLZ8R6Uegp9ZmdEd6QQ0JY3wsaWSdsczkp3Ttq3s4lF/NC9fN5KFLEqht1vFlqjFFKTmnkla97OB/ZCbc1806AsnLWkCKCfQkt6LBZlRIQ4uOXZllVp/P1NwqEk0eV4BFTEobpEpsOr2B7RllLJsUzEOXJPD9fedw59J4tp0odVjkT1J2BW/tyuaFHlb0++5wETVNOhLCfXj2+xMsf24b3xwqdMiYMkvruOWdJMb4ufP6TXOt0kbnxQYQ7uvG2tSCDu9r0Rn45lAh508J5dLpY6hqaO3S26wvvLs7hwBPLRdPC+ecCcG4OAkrYaupVc8j6w7zaXIe6fnWkecpuVWU1bVw/pRQy/G2eFwgzTqDperiaEYJSArFKOOWt/cPyTKbCkV7+isSZsXz2zpU5lGiyRmUB5LCEWidNcyI9CO53RNfs8FqY6uejJKO5tM55fU9Lu3dlmadnnUHC7hkWjhPXD6VE8V1vLjlJBF+7sxvE6EyK9qP2iZdjwywM0vrLAbaZsYGe5peM0ZSvLY9i4/25/LmEPDKyC6r54O9p3lu4wmufnk3x4tqOXC6yuqGP9DLlSAvLcfbpO6uTS1A66zh+Z/O4Laz47lgShj/d+EkPrp1Aa16yVUv7WJDepFVXydNFdjMzIsLwFkjLB5GvWHXyTICPbWclxCGh9aJI3Z8kPZmVTA1whcPrbPV8mBvV0J9XO2mOJkFJHMET3SAR6cpbOvTCpkXG8D5CaE8+c1Rvj1UyKmyeubE+ttcf2qEL1pnjcN9kBpb9Pxl/VEmhXmzcvoYq9c0GsHSiSFsPV5iJdDqDZIjBTUWUa0r4oO9iA7woKyumcdWTeX8KWHMivYjIdyHd3fnIKVkd1YZThphMQxvT5ivG0XVxiiv8vqWDhFIcUEetOolP54otRja55TX88TXR5j/101c/9peHvgsDb1BUtXQwqmyehKj/KzamBbp22V6ZX+RkltFbZOOpRNDLMuumBmB3iD5+mBHAaU3/HdrJgBZpfV2I+lsseZAHpH+7nxy+0I+vHUBvu4u/Or9Axzvo2F+SW0TN72xD2eN4O2fzyPA0zr9UaMRXDZjDD+eKKWiXSrfthOlVDe2cnliBEsmBOGsEZ2msUkp2ZVZxivbMvnD54e4/rU93PFucrdE/8LqRjYeLeYnc6Jwc3HC282FBWMD2Xik2HJt+dG+0xTXNCMErE219m3aeKQYZ9Nnycy8uACc+nhOGykoAUmhGGX8cLSEl7dlDvYwFIou6S8Z42RJHX/4/JDVMiWanEFtC4WjmB3rz+H8ahpbzoT8b88oQ+tsvPy0Fclyy9tJXPfaHpp1vUsT2HS0hOrGVn46N4rVC2LYcv9S7lsxgcdXTbGKvJhlilaxlWJnj8zSOuKDrQUkHzcXgr1dySqtIz2/mme/P46XqzPp+TVdpi41tert3vwm51Sw+vW91Njw79mdWc7q1/d2KX6Z05j+cNEkskrruPjf22nRGTqUXJ8Q6s3xYmNbOr2Br9MKWD4ppIOvzfyxgXxzzxJiAj14bfsZL5wWnYGcigbGtRHXPF2dSYzy67WRtpSSnZllLIwPxEkjmBjmbdOfrqlVz8G8KitxsC1Tx/h2EoHUgBAQ7mdMiYoK8CC30nZEzPGiWjJK6lg5I5znfjKDmAAPfv1hCtDR/8iMq7MTiVF+7HdwxMJL2zLJr2rk0cum4OzU8VZu+eQQapp0Vv5LWaV1NLbqmTqmewKSEIJHVibwt6umsXpBjGXZjQtjOFZUS1JOJbszy5ke6YuXq7PNNowRSI1UNrSgN0hCfKwFpMnhPgD8/K39zDClSy59ditv78pm6cQQfr44ljUH8njg04OWanoz2wtIJiNtW5+T9rTqDSTnVDjs4dS246U4aQSLxwVZlk0I9WZyuA9rHSAgHS2sYfOxEm5eFItGwPpD3WuzoKqRHSfLuGpWJBqNYGF8IO/dMh+tk4aP9p/uugE7lNQ0cfMb+ymva+GNm+cSbUpXbc+qxAh0Bsn6dhFPa1PzCfDUctb4IHzcXJgbG2DX8D09v5rrXtvD9a/t5alvj/Hd4SKKaprYcLiI1G5U3vtw72kMUnLD/GjLsvMTQjlVVk9mqdFP7b9bM5kXF8CKyaGsO1hg9Tk9HxwAACAASURBVLnfeKSI+WMD8HU/cw70dnNhRqRvj7zdcisauO7VPfx7U4bV9yAYH3b8eKK0w/LhgBKQFIoRznA8MZlp1RuGjTGpwvEMpI7R1QWlwSBHT9670o8UDmJ2tD86g7SU2jYYJNszyrhwShh+Hi6ktjOxLqpuIqOkjpzyBv63vXcRPGuS8wjzcbPc1Pm6u3DPivEsnxxqtV5coCe+7i4cyOleCkVFfQuVDa3EB3f0jxkb5MmRwhru/TiVAE8tL1w/E6DTctYtOgO3vpPEpS/s4KiNyJo3d2azPaOMV7dZmxbr9Ab+9OUhtmeUccV/drKrkz62nSglNtCD28+JZ8O9ZzMvNgAfN2fmtTObnhDqTUZxLQaDZGdmOWV1LaxKjLDZpq+7C1fPjiQ5p9ISrZNdXo/eIK0EJIDlk0NJy6vm3o9SunWD35bM0jqKa5ot+3FSmA9HCztWiztw2phG1d5A28zUCF8yS+tsmvrmVTYS6u1mqUAWHWCMiCmq6Wj8vj6tAI2AC6aG4e3mwiurZ+PqrMHFSTCtk6ieuSYR1VFVunIrGnh5WyYrZ4yxmzq2dGIwvu4uljQ7gPQCo4jW3QgkMO6/n86Ntlq2KjECbzdnXtmWSVpetd0xgDECqaZJR47J56h9Ctv0SD+23r+U126cw0MXT+bS6eHcu3wCOx9cxgvXzeSRlVP43XkT+Dwlnwc+O4gQxoijtkwzVWTrThTSo+sOc9VLu3l9R8dzS3JOBav+s5P/bDnZbc+qrSdKmBXtZyUyAFyeOIaU01WWeXeHIwU1HSIvX9qaiafWiftWTGBRfBDr0wq7JX59kZKPlFil7AZ4ajl/SihfpOT36lrmSEENl/9nJ9nl9by8ejbTI/3srjs53JsJoV58cSDPEi1U16zjh6PFXDIt3JLmumxSCMeLa8mrPBP1V1Hfwv2fHmTlizs4UVzHE6umcPCR8znw5/P44leLcXESfNcu+rE9tU2tfLAvl2UTQ4gKOCNyrUgwfgdsPFLM+3tPU1LbzG/Pm8DliRGU1DazN8soDGWV1pFZWs957b4zwJiam5ZXRY2TtsNr7Tld3sC1r+7hwOlKnt94gmXPbeXLlHwKqxt57vvjLH56Mze+sY97P04Zdt6TSkBSKEYwa1PzmfzwBrvGk0OdaY9+x4K/bhrsYSgGCTmASkZX392PrDvMpD9vGHZf8t3hcIH1hbdK51M4CnOUj7lS1bGiWsrqmlkyPogZkX4dIpDM0SqTwrx5cfNJCqt7lspWWtvM1hOlXD4zAqcufF40GsHMaD9Scu1Hhzzw6UEue3EHd3+Ywl+/OQrQQSQBiA/x4nBBDSdL6nj2mhmcPd54A78jw7a4I6Xkwc/T2J5RhkZg8ZQx09iiZ9PREpw1gv/tyLKUQgf4JCmPzNJ6HlmZQJivGze+sY+P9nWMKmhq1bM7s5xzJgQDMMbPnQ9unc+ePy7vEFk0McybhhY9+VWNrE3Nx9vNmaUTg+1ul8tmGNOm1pmiLM5UYLPeNrcuieO+FRP4Kq2Qi/65nX2nup/KZX7KvzjeKCAlhHtT3djaQdzZd6oCIWB2jH0BySBtG2nnVzYS6X/GgNpcie10O0N0KSVfHypkflygpbrY+FBvXl09hz9fmmDlAdOeubEB6Ayyg1jatu3tGd2PQnji6yM4CcEfL55kdx0PrTM3LYpl45Fiy/Vfen4Nbi4amwJoT3DXOnHN7Ch+OFqCziA7RLO1Jdxkdn3I5FHUPoUNIDbIk/MSQrn17LE8ecU07lkxnlAfN8vrdy8fzwMXTKSsroXxIV54tzt2zeLdoS58kD5NyuX9vacJ8tLyzIbjVqJtcU0Td7x3gMySOv7+3XEWPrWZ336S2qkAVFrbTHp+jeXz1ZaVM8aY0qK6FzGUllfF5f/dyUX/2s7uTONxn1Nez9dpBdywIAZfDxcunR5OdnkDhws6rxJrNlefFxvQIULo2rnRVDW08t3hzgWY9mw6Wsw1L+/CIOHTOxbanHNbhBD8ZE4UB05XccVLu0jKruD7w0U0tRpYlXgm5XLZZGN62BZTGltds47Vr+9lbWo+ty4Zy5b7l7J6YaxFoPN1d2FRfBAbDhd1ei326LojVNQ3c9eycVbLw33dmRrhw/pDBby0NZOFYwNZMDaQ5ZND8HJ1tpyHfzhq9EkyC05tWRQfhEHCXp+oTrdBdlk9P311N/UtOtbcuYiPb1tAoJeWez9OZeFTm3lxy0lmRPpx86JYvjtczEvDLDNECUgKxQjmB1NoqK2nm8OBplYD5UOkHKpi4BlIraYr0eT9vTkAtIzAiLjD7cwjVQqbwlEEeGoZG+xpMR3dcdKYUrVkfDCJUX6cKKmlrk1Vr52ZZQR4anl19RwMUvLk+qM96m9taj56g+Tq2bajZ9ozK9qfjJI6m9ExRwtr+DQ5jxadgbS8Kr5IyUfrpCHBlHbTFnNVq1vOimPJ+GBTWksg2zPKbN7oPPf9CT4/kM99KyawdGIIX6UWWPl6bDleQmOrnr9eMQ29QfKPjScAo7HwP344wZwYf25eFMtndy5i0bggHvz8EO/uzrbqY392BY2teisPDyFEB58gMEYggTGl8Lv0Ii6eGt6pKBLp78HcWH++TMlHSmkRkMa2EyecnTTcs2I8n96xEGcnwbWv7ubrtO7dVO88WUakv7vlJniSabu3v57Zd6rCaAreLgrEzNQI4/tsRajkVTXYFJDa+yAdLawlq7SeS2eEWy0/a3wQNy6M7XQes2L8EQKrdDIzBoPk4bWHWf36Pu54L7nLiOsfT5Ty/ZFifr1sHOG+7p2u+/NFsbi7OFksCw7lVzM53MdmyltP+dkCY1SSs0bY9X8CLELQIdN3jC0BqTvcde44/nVtIg9dktDhtQBPLZH+7uzJsp9WlJ5fzUNfprMo3piC6evhwr0fpdLUqqdFZ+BX7x+grsl4o//Db8/m2nlRbEgv4s73DtgVKn40pYe2/XyZGePnzrzYAL5Mze/yoVNFfQt3vneAIE8twd6u3PjGXj5JyuWVH7Nw1mgsBvIXTAnDSSP4Oq1zI+yU3CqySuu5ysY5cFF8IFEB7ny0L7fTNszo9Ab+vSmDW99JYmywF2t/vZgp3UyB/MXiOJ69ZgZF1Y1c/fJuHvvqCJH+7lbpnmODPIkJ9GDzsRJa9cb9cKyolldXz+GPF0+2+Zm+cGoYOeUNdv2gvk4rYM2BPH69bDyzojsem+dNDiM9v4ayumbuO28CAG4uTlwwJYxv04toajVWkJsc7mMx12/LrBg/3Fw07PSJsTv37LJ6rn11D02tej64ZQFTI3yZPzaQdXedxT9+OoN7lo9n6/1Lef3muTyyMoFLp4fz7HfH2Z7RsXLiUEUJSKOAmqZW0vOrKalp6pFZpGJ4k1/VaKkmcqwL07yTJbWU1jq+zKwtUvpY1lcxeuiJkHG4oJrqRvspEvbKdedXNXK6vKHLvjSmKhwDXaEtt6KhU1PX9uzPrrB7E1JQ1Uh2WccnqrmV1u0rAUnhSObE+JN8utIUaVHGhFAvwnzdSIz2Q0os6W1SSnadLGdhfCDRprSrr9MKLU/k25JZWsej6w5z2Ys7+NbksyGl5LPkPGZE+TEuxLtbY5tpGoOt6JB39+Tg6qzho9sWsO2Bczn2xIUk/3kFIW2iI8ysnDGGe5aP54ELJ1qWLRkfTFFNk0VcMfPB3tO8uOUk186N4jfLx7EqcQwF1U1WAsPXaQUEebly1exIfrYghk+ScskoruV/209RWtvMHy6ehBACHzcX3rhpDoviA/nXJutS3duOl6J11nSaYmRmQqgxcuilrZnUt+itogTscVliBBkldRwtNJZ6j/R3tylOgVGoW/+bJUwI9eYfG090aYKrN0j2ZJVboo/gTLW4tjeOjS16DpyuZJ4d/yOAMB83gry0HQQknd5AYVUTEW0EpDF+bjhpBDkV1ufJ9YeM6WsXTgnrdNy28HFzYXKYT4dqdAaD5M9r03l3Tw5Lxgex7UQpD31xyK7gUNPUyh8+P0RsoAe3LInrsl9/Ty3XzYtmXWoBuRUNRgPtbt78d8XYYC/OTwhl8bggu/scsIhch/KNn68gr94JSGBMnbMX+XLN7Ci2HC+1KU5W1rdw+7vJBHlqeeG6mYR4u/H3q6dzvLiWv204xpPrj5CcU8kzV09nYpg340K8eXzVVP58aQJHCmvYk2U7am7biVKCvLQ2BWXzeLNK6zuNGNLpDdz94QFK65p5efVs1ty5iPlxgfz+szQ+2neaq2ZHWEQ4f08ti8cFsf5QQaei1JrkPNxcNFw8LbzDaxqN4KdzotidVW7zWqAtuRXG9KvnN55g5YwxfHz7AqvIsK7QaARXz45ky/1LuWf5eJp1eq6bF21VrVAIwbJJIezKLOeBTw/y44lS/nrFVM6d1FGUM3NeQigaARtsRFEVVDXyx88PkRjlx2/aRR+1fT/AWeOCrM4bl88cQ22TjjUH8kjOqbSs1x5XZyfmxgawyzfa5utSSu7/9CBNOj0f3LqAhDFnjg+NRnDFzEjuO28CMYGelm3wt6umMy7Ei998mGKVzjeUUQLSKOCXb+3n0hd2MO+vm1j+3LbBHo5igFj89GYOmtIDXtraeWjkiud/ZPHfNvf7mIprmrjiv7v4/Wdp/d6Xov+qmA0UPRn+Jf/ewbWv7rH5WonpuLPF4qc3c/bft3RbQGoZYAFpyTNbWPLMlm6te7igmmte3s0zG2xXWVz09GaWPru1w/IXNp+0+n+YHzaKIcbsGH+qGlo5UljD3lMVnDXOeBOYaPLQOJhrvLHPKqunqKbJIhrceU48EX7uPLw2nXd2Z/PO7mze3HmK1a/vZflz23h/bw5VDa3c+f4Bfv/ZQfZnV3KsqJarZ0faGoZNZkT5IQQWg14zNU2tfJmSz6rEMfh5GL0uXJw0HdJnzIT6uHHfeRMsXjpgvEEBo2m4mfyqRh796jBnTwjmL5dPRQjBeQmheGidLOku9c06Nh8r4eJpxoiDu5eNx1PrzJ/XpvPKtkwunBJmla7l7KThnuXjKatr4ZOkM5EFW0+UMj8uAHet/UgiM95uLkT4uXOksIZQH1fmd0N0umRaOM4awdrUfDJK6mym9rXFy9WZ288ZS2ZpPdu6eNKenl9NTZOORePOjMPHzYVIf3erCKQ1B/JoajVw0dSON8tmhBBMGeNLersb+eLaZnQGaRVl4OykIcLPndMVZ1InpZSsTytkUXwQgb0UQObG+nPgdKWlKprBIHnoy0O8v/c0v1oazzu/mMdvlo/nk6Q8/rUpw2Ybj6w9TFFNE8/9JNHqOOuMW5bEIQT86ct06pp1nXo19ZT/3jCL12+a0+k6YSbBIaOkDk+tE552zLb7yl3nxpMY5ccfPz9k5SNU3dDKbe8mUVrbzEs/m23Zf0snhnDzolje3JnN27tzuOWsOFbOsBZNr5gZQYCn1qZfkt4g+TGjlLMnBFsZ87fl4mlhuDgJvkzJt/k6wLPfn2DnyXL+cvlUpkcavZTe/PlcbpgfjafWmdvPjrda/9Lp4eRWNNo1hW9q1fPVwQIunBJm91x1zZwonDSCj/bbjkIyGCSfJOVy0b+2c7yoln9dm8i/rp3ZqVDYGR5aZ+47bwJpj1zAnefEd3h92aQQmnUGvkwt4J7l4zt4brUnyMuVubEBHXyQDAbJ7z45iM4g+edPE+1G2k0O9+YPF03iicunWi1fODaQIC9Xnv7mGAZpNNy2x6L4IE54BFPi0jEd9PsjxSTlVPLABRMtJvFd4enqzCur56DTS+54L3lYPGRXAtIo4ICdvGuFoi0DcWNc22RMVbD35adwLKNFCDALZfZSNdumyNhvo/PXNaZvy4EWkHqCuWSuvVLX3WW0HDeKgcEsdry8LYsWnYElE4zCir+nlthAD1JNHkRmM+jFJtHAXevEY5dNIae8gYfXHubhtYd57KsjnCiu5bfnTWDXg8v54bfn8Kul8XyanMd1r+1B66Rh5XT7YkJ7fNxcmB7hy8f7T1vKiIPxKX5Di57VC2J7Pe+oAA/GBnlapSU89/1xAJ66cprlBsdD68z5CaF8c6iQFp2BzcdKaGo1cIkpgiDAU8sdS+PZk1VBk85gFeVkZl5cALNj/HllWxategN5lQ2cLKnr0qukLeYIn5XTx3TpH2Ue1zkTgll3sICs0jrGBXcuIAFcMm0MoT6uvGHjptyM3iB5d48xZXhRmwgkMBppmyOqDQbJGztPMS3Cl7mdpFGBMY0to7jW6sYszxTZ2TaFDYxpbKfbRH0eLqghu7yBS3pwXLVnTmwADS16fv9ZGr94az/nPreVD/flcveycTxwwUSEENy3YjzXzI7knz9k8M7ubKsHQOsOFvBFSj6/Pnec3Ypvthjj587liRGWanxTIrp3Q9sdnJ00XabDuWud8PNwQUpsRu45ciz//GkiOoPkt5+kojdIssvqueK/OzmYW83zP53BjHbV2x68aBLTInxZMj6IBy/q6Cfl5uLEDfOj2XSsmFPtonXS8qqoamjt9PPl56HlnAkhrDtYQFWDtRVDTVMrf/3mKC9vy+T6+dH8ZM4ZPx0XJw1PXjGNAw+fR2yQtUBxQYJRlFpvI43tYG4V932cSk2Tjqs6EdFDfdw4d2IInyXndYhWTs6p4IqXjA95E8J9+PbeJXbN9HuK1lljU2ybFxdAdIAHN8yP5t4V47vV1oVTwzheXEtWm6yaf2/OYHdWOY+unNJhu7VFCMHt58QTF9Qx3XbljHBqm3WE+7oxZYz9z4r5O2q3j7XYpdMbeGbDMcYGe/LTOZ17JLUnLsiTf/w0kaUTQiwm40OZ/pGCFUMKZ42wWZIUICm7gpqmVpZNsq+0KkYPL23N5Pazx9p9omKPhhYdb+3K5rYlYzu9oDBHrtpqXUrJ6ztOcfnMiD6FOSvOMNxTkVJzqywVNPZkldPYqud4US0aAUnZldyxNJ5Z0f42z2+5FQ1szyjj+vnWIdNtWdvGuLZ9atonSbk06wx8l15EaW0zTa3G120JSB/vP828uECrC5L39uSwdGKw1dPt9PxqcsobuHhaGP/bfopr5kRaohu6g94geeXHTG5aGEt+VSOHC6q5YqbxQrGtWap5e6xPKyQ6wKND1ZofT5Ty+8/S2PrAUpv9DPfjRjG0GBvkiZ+HC1+nFaB10liVW0+M8mO3ybtk58lyIvzcLT40YDQxTf7zCqvPna+7i9X3zO8vnMTSiSH87tNUFo0N6tFnCuDxVVO56qVd/GltOv++NhEwpq8lRvl1+Oz0lLPGB/FpUh7NOj2ZJfV8kZLPbUvGEuFnLVqsSozgy9QCtp0wpuGEeBufspv5xeI4vkzJZ/nkUOJtCDVCCH61NJ5fvp3EVwcLaDQJJbb8WewxIdSbzcdKuHxm928YL0scwyaTAW5XEUhgvIm8cWEsf//uOMeLai2ilZn6Zh33fJTKD0eLuXVJXAfPnIRwbzYfK7YYhGeV1vOvaxPtnuPNTB3ji84gOV5UaxES8k2RKu19TqICPCwmwwaD5LXtWThpRK/S18wsGBuIh9aJDYeLiAn0JCHchzvOiefauVGWsQsh+OuV0yita+bhtYf5Oq2QP1+SQICXloe+OMTMaD/utpOW0xl3LI3nswN5uGg0jO9maqcjCfNxo6qhtUMFNkcTG+TJoyun8Ps1aTy4Jo2NR4sRwPu3zrf6LJlxc3Hiy7sWoxHYPX5WL4zhlW1ZvLnzFI+vOhOxsvV4KULA2eM7F2hvWBDND28Ws+CpTVyeGMHPFsSQmlvFPzaeoKKhhZ/MieSRlR19nQCbIoKvhwtnjQtibWqB5bOhM0i+TS/iYG4Vnlonbj97rFXqpy2unRvFD0eLeXL9UYuAmpJbxfq0QkJ9XHn2mhlcOTOix/cCvcHV2Ykt9y/tlmht5oIpYTz21RE2HC7iV0vH8WlSLv/8IYMrZ0ZwzZzuR6C2Z1ViBG/uzGbF5NBOzylTxvjio2tip280q9osNxc4eGX17F55ja1ICLVp3D0UUQLSKMBZI7DnbnP1y7sByH76koEbkGJQMBhkl18Gf9twjLggDy7sJBzcFs9/f4L/7ThFmI8bV86yf/Lu7L70WFEtf1l/lK3HS3nvlvk96l9hm+FeTevuD1MsYeW20tO+P1JM9tOXoLMx0ete20NeZSNXzrJ/M3TPR6mWv9/alW31mr00y/Ym2jq9gf9bc4ggLy1JfzoPMEY8/enLdKIDPPjx9+da1r30hR0AfHzbAp785igpuZX894bZdsfXnq/TCnhmw3FKa5st5ZnNAtKt7yRZ1jOYhnjXBweAjuf3G9/YB8B/t2ba/FAqAUnhSDQawaxofzYfK2F2jL9VKkRilB9fphaQX9XIrswyLpwa1uHC3V4qRlvmxQXw4wPn9ip6bkaUH/euGM+z359g2aRgQrzdyCqt57lrZvS8sXYsGR/MO7tzOJBTxcvbMvFxc+FXSzuKAGeNDyLAU8v7e3PYlVnO9fOirb6v3bVObLj37E5vss6dGMLEUG9e2ppJTKAnEX7uPaq4tXphDFEB7p0+eW+POf2uoUXfLQEJ4Ib50bywOYPXd2TxzNVntnFhdSO/fCuJY0U1PHbZFG5aFNvhvZPCfTBIyCiu4387sgjzcbPp9dIec+n6Q/nVFgEpr9IoII3xs46MiQ7woKK+hZqmVp765ihrUwu4e9k4/D17Jky2JdjbldSHz8fFSXR6Y+ripOF/N87h46Rcnv/+BJf9Zweh3m4YukjL6Yz4YC+unBlJeX0zWueBj2wI93XjWFFtrw20e8I1cyLZfKyET5PziA/25I2b51q8ZmzRlWgR4u3Gyhlj+DQpj9+dNxFfDxdOltSx5kAeMyL9ujwmzp0Ywje/WcK7e7L5IiXfkjY2Ly6Aty9NsByXPeEnc6K48/0D/KVNgYGxQZ48ujKBq2ZHdut8uXRiMHFBnlbXPW4uGn6zfDx3nDO21+lqvaUn4hEYI+tmRPnxXXoRU8f48ofPD3HWuCCevmp6l2JyZ8yI9OXxVVNYPrlzEcdJI1hYc5rv/cezLL2IC6aE0tiqtxQ46Cz9baSgBKRRgPELZ+jnUyr6l1aDAVdN13nzvTEJNqemmaM07NP11f1AmXmPBkaLEGDLNLqszngctegN3doOdTaqMNmifQRSfbPx3FrZJv2l1bROUbV1uWkz5s9YZ6bftjCXea5r6jwlr7v7vdbOnIe78KgYesyOMQpI5vQ1M4mmKjnv78mhpknH4nGdPznvDCEEvb13uHPpOLadKOXhLw8zKdwbfw+XPqUsmVkwNgBnjeD5jcfZn13JQxdPxtej4w2ei5OGS6aFW1K3LrXRd1c3WRqN4M6l8dz7cSoZJXWdRl/aIsLPnRvm268sZAtz+t2XqQXdFpD8PLRcNSuST5Pz+P2Fk/D30LImOY9nvjtGU6uB12+ey7l2IqfMniJfpOSz82Q5v79wYrfSPSL93fF1d+FwwZn0+bzKBkK8XTv4CZkj4G5/J5ndWeXcdW48vzVVa+oL3RVvnJ003DA/hpUzxvCfLSd5d3cOf7l8aqdCSFc8e830Xr+3r4SZjLQHQkASQvC3q6czO8afn8yJsvlZ6ym/PCuONQfy+GDfabxcnXjym6N4aJ35vws7pr3ZImGMD09dOZ3/u3ASXx0sINzXneWTQ3otdFw0LZwjj19g9eDM29W5R+05O2n4/r6zLZGKAK7Omm57aw0FLpwSxt82HOOO95IZF+LFSz+b1WeBVAjRZVVFM/fl7uTu8Su5471kFowNIDbQk9LaZl7+2aw+iVjDhX6TooUQFwohjgshTgohHuyvfjrj3T05nPf8tmFvJNsXmlr13bpJWf7cVqobWvndJwfZYgpHdgRbj5fw249Tu16xm2w+Vsz9nx50WHtDifT8amIfXM+bO+17A5h56pujrH59L8ue3WrZHoXVjVz/2h4q7ZS91+k7fg7+tz2L1a/vtbl+Y4ueG9/Y16GCjC0+TupoxpdVWsfq1/fy1LdHecs0p84q1JrPt8eLa7n/04M89W3Pyje35WRJLTe+sc9yw13b1MrP/reX0+XDo7qBo+iJF45Ob+CyF3eQ8PCGDvn6vaG8rpnrX9tDSY1RRPntx6lsPd7x3CKl5NcfHLD4n/SUn/1vr1Uk0fWv7bF4AQHMeeKHbhUP2HK8e+VTL31hB7EPrif2wfWc9bfNzHj8e+BM2lhxTRMzn9gIGMUr87rPfnfc0oY5Aqh96t1fvznKmuQ8Nh0t5gEb5zlLCmiba5O7PjjAznbbLvl0JTvaGPeax9CeN3dmWyKZ2jKavzNHAkPh+qs9yyaF4O/hwvkJ1mlAk8O90TppeHe3UThZGN+1eXN/4KQRPP8TY/ra/uxKfjI3qtMy9t3F282FmdF+7M+uJMLPndUL7Qs0l880RluG+bjZLD/dHS6dHm5JSVnaA/+jvvDAhZN47poZPUod/MVZcbToDDz+1RFWvrCD369JIyrAgzV3LrIrHoFR3HF3ceKtXadwd3Hi+nmdG+6aEUIwNcKHlNNVlgcOeZWNHfyPAGICjQLS7qxyfrNsHPefP3FQbgh93Fz4w0WTOfzYBZ1GdncHo7g6ODe1ZiPtgRCQwJjieuvZYx0iHoFRAFo4NpC/f3eMP689zPy4QDbcu6TH5yo/Dy2rF8ayIqHz9Kju4KF1xsfNxfLTm/ZcnDRWbQwn8QiMPkgAfu4uvP2Led2KvHIkkxrL+DbtLZ64fConiuv4aH8uF0wJtSpwMJLpFwFJCOEE/Ae4CEgArhNC2E7y7Efqm3VklNR1Iypi5NK+sog9Mkvr+SIljzUH8vj5W/sd1v/Nb+7n85R8S+WJvvKLt5L4LDmvyxKww5G3TaGkj311pMt1X/kxi+0ZZWSV1Vu2xyvbstiVWc7ndio+6PSyQ/TEX9YftaoQ05bdWWX8eKKUJ77uejxmZJsIo79+0WN8WAAAIABJREFUc4ztGWW8si2LR01zsldeHKwjOz5LzuOVbVnd7rc9j647wo8nSi1lkTceKWbHyTKe23i8i3eOLN4zPc3uDgVVTaTlVdPQou+0akh3+Wh/Lrsyy3ljZzategOfp+Rz85sdzy0NLXq+Tiu0iCpgNDwFOi3NbGbHyTI2txG9d2WW8/H+XEsqS/uUM0diToFoy2s/2j5uX9xyssOykhrraLtXf8zid58e5JdvJ/Fpcp5dIaft4vXtth2Am7MTP7MjDHeH/qqUo+h/hsr1V3smh/uQ8vD5HaJUXJ2dSBjjQ22zjgmhXoR495/RbldEBXjw1FXTiA7wYPWCnkXidMYSk0/K/RdM6FSUmhXtz4woP26YH91r7xFnJw2/O38CEX7uLOpDNFdPiPBz79S01xbxwV4sm2Q0GK5ubOXf183k8zsXdfBEao+TRjAxzBuDhKtn98xD7tyJIRwrquWif21ny7ESk4Dk0WG9uCBPwnzc+O15E/jtIIlHbRns/vtKuK9JQBrG3pZ3Lx+Hv4eWR1cm8NbP5w7qeUphJC7Ik/9cP4uPbltIaD8atHeGM5LVC2LYcv9SHl2ZwBOrpnb9phFCf10lzgNOSimzAIQQHwGrgO7fiToAL9NFcHFNE0EDpHwPNWyVArRXkajtU/vuVC3qCcW1zfi6O04dLq1rHnE3ObVt0lJ6uv1Laptp1hn3dVOr3ub7qxtbqWmTsmKvD/P7G1uMN97NOtvt2X6vwbJu+xv3umadZY4tekOHNjuLlOvp9jCLUY0tOuNcTJ+D5taO/Y5kGprPfP67mnfbY6NJ1/ft1Gze5jo9JW3SEtu3a45Q0hmk5TWzh4+zRvRqHE2tepu+SP1NXbOuRymgtc26TudX2m67mR+GtO+jfSRTYx9KwGbv+Tv4KU+8YcyQuP7qCYlRfqTmVnWouDUYXDp9DJdMC3foTfuNC2MI9nZl1YzOzamFEKy9a3Gf+7tiZqTFG20o89hlUzgvIZQrZkb0KNprcrgPqblV/HxxbI/6++VZcUQHePDXb45aHpTaShX0dHVm9x+WDXvhZqgwxmQYH+IzfO/DFsUHkfzn8wZ7GIp2OCLN2BH4urtw8+K4wR7GgCL6I1RdCHE1cKGU8hbT/6uB+VLKX9taf86cOTIpKcnWS33iq4MF3P1hisPbVSgUCoViJJK95++wdWu/tC2ESJZSzumXxhVAz6+/oP+uwbrL2tR87vkolddunMN5o8B8VNE3cisaOFJYwwW9rIrWojPwzm5j+u5fr5zWaSl2Rd/RGyRrkvO4clZEr0zAFYohydKlxt/9dL3UHzjyGmzQQjiEELcBtwFER3cvh7mnLJ8cwuOrptA8ilPYAPZlV+Dt5kxNYyters5MGXPG9b+4poktx0uIC/Jkflwg6QXVxAR64u2g6J66Zh3Z5fVMHdO3Urhmapt1nC6vt5rDSOLb9EKWjA+2RM/Z42RJHQYpqW/RoXXSMGWMLxLJvlMVzI8z5mUXVDei00vCfN04WVJHgsl8MreygQBPLZ5aZ/KrGqlr1pGeX805E4PJLKm3KrG8L7uCOTH+aLp4Epdb2cD+7EqubFP+1yAl+7MrCfN1RevkZAljPnC6kqkRvmhtXEicLKkjyFtLfbOeplY9tU06gr1dO5Q87gq9lCTnVDKvTenWvafKmRcXgGB0PVX8/kgRC8cGdis/PCW3ktomXZelabvL3lPlluPxUH41cUGeNo/tg3lVjA/xxkN75il0iI+rVYpXUU0T7+zOJj7Yi3MmBGOQkppGHQYpadEbEEBMoCeHC6qZHxdIY6ueH0+UEuLjypGCGiaF+XC6ooHqxlaCvLRMCPVmf3YFEf7uHMytplVvwM3FCQ+tEzOj/cgqraegqpEZUX4IIZgc5k2zzsDeUxUkRvlSWttCkJeWivoWWvQGovw9LOarHyflEhvoQWltMzkVDZwzIZjoAA92ZZYTG+hJdWMLRwtruWlRjNXxeLKkDj9PF1ydNJyuaGDKGF8Kq5vw0DpZIjj3nqpgXpw/dU06app0lNe3MC7Yi+zyeqoaWhgX4kWQlyuNrXp2nizDQ+vMsaIaJoR6E+Cp5ZwJweRXNvJ5Sj5TI3xp1RnIrWxgcrgPt7zxhEP2u2LoMxDXYN3loqnhtFxtYNmk7pecV4xeogI8iAromHrWXbTOGm5ZMpZblox14KgU9nDSCH4yN2qwh6FQKBxIf0UgLQQelVJeYPr/DwBSyqdsrT/YT78UCoVCoRj19PMTNRWB1P/09PoL1DWYQqFQKBQ9QkUg9Qv7gfFCiDggH7gWuL6f+lIoFAqFQtFXhtGFkMIu6vpLoVAoFIr+ZJRfL/WLgCSl1Akhfg18BzgBb0gpD/dHXwqFQqFQKBQKdf2lUCgUCoWif+mXFLYeD0KIWsBcX9sXqO5lU719b2/fFwTYroHeP/0N9Ptg5M9xuMyvL+8dLnMc6fPry3uHyxzVucY+I31+0PUcJ0opO6/TrRhwhBClQI6DmuvL8dPffXT3MziU5zBU2u+vPtruo+E6h4FsfyD66Kz93n6vdbd9R6H2s5HO9tdwmcNgtj8QfTjiM2WvzRgppWNMTqWUg/4DJLX5+9U+tNOr9/bhfUkD3N+Avm80zHG4zG80zHGkz280zFGda0bv/Lozx95uA/UzfH76cvz0dx/dPf6G8hyGSvv91Yej7geGynYa6XNwxDl9pG+jodRHZ/truMxhJOyH3u6jodTmUKyn+NUgvLcvfQ5kf8Nlfn3pc7jMcTDGOdLnONLn19f3DmR/w2Uf9qXP4TLHkT4/xchiII6f/u5DzWFo9KHmMDT6GO7tD0Qfag5Do4+RMIdhwVBJYUuSw7Ayy3Add08Y6XMc6fODkT/HkT4/UHMcCYz0+UHXcxwN20AxdFHH39BH7aPhhdpfwwu1v4Y+/bGP+qPNoRKB9OpgD6CXDNdx94SRPseRPj8Y+XMc6fMDNceRwEifH3Q9x9GwDRRDF3X8DX3UPhpeqP01vFD7a+jTH/vI4W0OiQgkhUKhUCgUCoVCoVAoFArF0GWoRCApFAqFQqFQKBQKhUKhUCiGKEpAaoMQIkoIsUUIcUQIcVgIcY9peYAQYqMQIsP029+0fJIQYrcQolkIcX+7tt4QQpQIIdIHYy72cNQc7bUz2Dhwfm5CiH1CiIOmdh4brDm1x5HHqel1JyFEihDi64Geiy0c/DnMFkIcEkKkCiGSBmM+tnDwHP2EEJ8JIY4JIY4KIRYOxpza48DP4kTT/jP/1Agh7h2sef0/e+cZHkd1tuF7Vn3Ve7Us994LLmBsuimBUBJKAiEkhIQACYSE5AsQAiShhITeq4PpLRQ33Lstd1lWs3rXqqy21/l+zM5oV11Ytmzn3NfFhbWanT07mp2d85znfV6/cQ3m3/C3vn3kSZL0niRJ4UPxnjozyO/xLt/7O3wy/P0Epy+SJJmHegyCvunr7yRJ0gZJkkReyxAiSdIVkiTJkiSNH+qxCPqHJEn/5/uePei7ZzpjqMckCESSpCxJkr7w3UMdlSTpaUmSQnvZ/jeSJOlP5Bj7QghIgbiBe2RZngjMA26XJGkicB+wVpblMcBa388ALcCdwJPd7Ost4KLjPuKBM1jvsaf9DDWD9f4cwDmyLE8DpgMXSZI070S8gX4wmOcpwF3AkeM75AEx2O9viSzL00+y4MDBfI9PAytlWR4PTOPk+VsOynuUZbnQ9/ebDswCrMBnJ+g99MagvD9JkjJ9j8+WZXkyEARce2LeQp8M1nucDPwcmItyjl4qSdLoE/MWBAKBQPAduQ7Y4vu/4CTHt4B4KTBTluWpwHlA1dCOSuCPJEkS8Cnwue8eaiwQBTzay9N+A5xUAtJJkYGUlJQk5+TkDPUwBAKBQCAQHCf27NljkGU5WZKk+wGHLMuPD/WYBOIeTCAQCASC0x31Hmww9hU8GDs5VnJycsjNPWmqSwQCgUAgEAwykiRV+2zYFwPiS/8kQdyDCQQCgUBweiNJUsVg7avPEjapmyyfXvIPJEmSnpEkqcRXezlzsAYqOD2QZZnc8hZOBuebQCAQCIDFi5X/jj9jgZXAfsBzIl5QIBAIBIKThU/2VHO0ScS0nbKcuPulk5r+ZCC9Rdcsn57yD5YCY3z/3Qq8ODjDFJwufLSnmqtf2s7Xh+qGeigCgUAgOLEckWV5EdAKFA31YAQCgUAgOFHIsszvPznIsu2DZgQRCIaEPgUkWZY3oQRj+nM58Lbv328DV/g9/o6ssAOIkyQpfbAGKzj1KW2yAFDRbB3ikQgEAoHgRCNJUjZwJbB8qMciEAgEAsGJwur04PHKGMyOoR6KQHBMfNcubKmyLKsWknog1ffvTALT3qt9j3VBkqRbJUnKlSQpt6mp6TsOQyAQCAQCwSnCJOBL4HZZltuGejACgUAgEJwozA43gBCQBKc831VA0pCVMJsBB9rIsvyKLMuzZVmenZw8KIHgglMISRrqEQgEAoHgBHNYluVpsiyvHeqBCAQCgUBwIjHZXQAYzM4hHolAcGx8VwGpQS1N8/2/0fd4DTDMb7ss32MCgUAgEAgEgkFCkqRySZIOSZK0X5KkXN9j3TY5EQgEAsHQYrILB5Lg9OC7Ckj/BW7y/fsm4Au/x2/0dWObBxj9St0EAuSBm9UEAoFAIBB0zxJZlqfLsjzb93NPTU4EAoFAMISoAlKb1YXL4x3i0QgE350+BSRJkt4DtgPjJEmqliTpFuAfwPmSJBUD5/l+BvgGKAVKgFeBXx2XUQsEAoFAIBAIOtNTkxOBQCAQnECaTA6qWzuaBqkZSADNooxNcAoT3NcGsixf18Ovzu1mWxm4/VgHJRAIBAKBQCDoFRlYLUmSDLwsy/Ir9NzkRCAQCAQnkIe+PEx1q43Pb18IgNneISAZzA7SYsOHamgCwTHRp4AkEAwmEiI9WyAQCASCQeBMWZZrJElKAdZIklTg/0tZlmWfuNQFSZJuBW4FyM7OPv4jFQgEgv8x6ox2Gtvt2s/tvhBtgCaRgyQ4hTnmLmwCwUAQGUgCgUAgEBw7sizX+P7fCHwGzKXnJiednys64QoEAsFxpM3qpN3PdeRfwmYw9S0g3b58L18drD0uYxMIjgUhIAmGBOFEEggEAoHguyFJUqQkSdHqv4ELgDx6bnIiOEY+2F3J2iMNQz0MgUBwitBmdWF2uHH7ArNNdjfBOmX+Y+gjA8njlfnmUB1big3HfZwCwUARJWwCgUAgEAgEpxapwGeSJIFyL7dcluWVkiTtBj70NTypAH4whGM8rXh+/VGGJURw7gQRKyUQCHpHlmXabErJmsnuJj4yFLPdTVJUGEabC0MPJWxfHaxl0dhk3B4ZWYZWqwjbFpx8CAeS4MQiKtgEAoFAIDgmZFkulWV5mu+/SbIsP+p7vFmW5XNlWR4jy/J5siy3DPVYTxdarU6qW21DPQzarE6ueWkblc3WvjcWCE4i7C4PVS3/G+etyeHG41UmPWr2kcnhIio8mKTo0G4FpJo2G79evo/P99XQYlGEo1arq8t2AsFQIwQkgUAgEAgEAoGgB9weLya7m9o2G17v0K6E5de2s7u8ldwKoQ0KTi3e2V7ORf/ehMtX0nU6Y/QTftptSvaRye4mKiyYpKiwbgWkujZFoG5sd9Dmcx61CQeS4CRECEiCIUESEUgCgUAgEAhOAdQgXJdHprEf4bfHk2afM2GoxyEQDJSqFhsWp0dz15zO+JeeaQ4ku5vocJ+AZOp6DOp9HduaLQ7hQBKc1AgBSTAkyKKUTSAQCAQCwSmA/2SwunVoS3Cafc6FxnYhIAlOLVp8n6Om/wHxs81P+DH6spDMDj8BqRsHUoPvM20wO7Xnt1mdyGLSJDjJEAKS4ISiXgK94mIoEAgEAoHgFMB/MjjUOUiqM6GphxBegeBkpdV37vYUIH0q0pO4E+BA0sK0XUSHhZAcFUqL1al1Z1NpUB1IZocmtrk8Mhan53gMXSD4zggBCSXU7dGv8zE73EM9lP8ZhjpDYLBYtqOCvZWtQz0MgUAgEAhOO1bm1XHmY+uwu4Z2AuWfQ1LTNrQCkkEtYfNNNgWCU4UWTUA6PUrYXt9SxrlPbcTWjcCjuo6go4TNbHcTFR5McnQYskyXUr56o/KZNpidmtgGBPxboLD2SMOQfy/8LyMEJOD9XZW8urmM59eXDPi5y3dWUjvENxOnEqpS7z5NBKT7P8/jyhe2DfUwBAKBQCA47ThYbaS61UZJo3lIxxHoQBraErYW8/9OGZDg9EJ15ZwuDqTc8hZKmyws21He5XetFuWaoZOUEG2PV3ESRYcHkxkfAUBVp2uJvwPJ38HUJnKQAig3WLjl7Vy+2F8z1EP5n0UISCj2QACne2BdAdqsTv702SFufGPX8RjWaYnq1vScBgKSqEkWCAQCgeD40ewTSwrqTQN6ntnh5qk1RX3e1315oJadpc197k+dzI1Iihz0ErZVh+vZUmzo9/bNFmXyLQQkwamELMsdDqTT5NxVBaAXNxzFZA8UedpsTqLDgomNCMFoc2lVLlFhwWQnRAJQ0dy9gGRxeqgzdjgMW0UntgDU414zxOXE/8sIAekYUF00zaeJkn4i8HiVm7nTwYFkd53+bUgFAoFAIBgq1I5jRQ0DE5C+zW/gmbXF7C7vvdX93785wrPr+nafG20udBJMSI8edAHpsZUFPLOuuN/bq8fE5HB3WzojOPl4bl0x17+6Y6iHMaSYHW5twb4/DqQ2q5PtR/sWd4eSqhYb04fF0Wp18f6uqoDftVldxOpDiIkIod3u0gSmmPAQhiVEIEmBApIsyzS0O4gJDwagpNFMSnQYIASkzqjCUcMJbiRQ02Zj7sxfUhyReEJf92RECEjHgNt3ITz1pZAThyoc+YdoT3lwFXe8t2+ohvSdEZlZAoFAIBAcP1S3TeEAHUilTUrJW72x55wgWZYxmJ39cje1Wp3ERoQwLF5PTZtt0HIcZVmmts2mOQ/6Q7PZSWRoEACNJpGDdLLj9cq8u7OSXWUtp03+53dBLemC/mUgvb2tgute3THkmWM9YbS5MNpcLJ2cxsikSHZ1EqvbrE7i9aHEhIfQ7u9ACg8mLDiI9JhwKls6BKR2uxuby8PEjBgA6ox2RiZH+vY1uCVs93+ex8VPb+a6V3Zo+UynEmp0TP0JzoE7VN1GY2gUByPTTujrnowIAekYcHmEA2WgqKVrqvjm8cqYHG6+PFA7lMP6TliEgCQQCAQCwXFDLXkZqIB01GABep9gtNvdOD1eDGZHn07yNquLeH0oWfERON3eQctwabW6sLu81Bnt/SqLd3m8GG0uxqcrk8yBlrG9tbWMqpahzXD6X+NAdRt1Rjtur6y5x04Vlm0vJ7+2fVD2pXYVCw3S9evzU9GsfIZX5tUPyusPNurnKDtBz5SsWPJqjAG/b7W6iNOHEBMRTLvdjcneUcIGkJ2o194jdJSvTcqI1R4bkRTp21fX80aWZV7bXNqrSN4dXq/M+7srMdpcbC9tZn1B44CefzJQ06a854EI74OB6j6tD406oa97MiIEJECSlP8PNNLGMcDMJEGHA0ktZTvR6vFgIhxIAoFAIBAcP5rNToJ1EvXtdowDWIUvbfIJSL1MrvwnsUUNvYd0q+UoWfF6ACoGSYRRV9Kdbm+/XAZqN6bxadEANPYiIJUZLJQbOiaozWYHf/kyn7e3lR/DiHvGZHfxUW4V7++qPGVFqqoWK4drjX1vOABW+AkgJ3rCeyzsKmvh/i8O89SawkHZn3rujkyO7JeAVO37bKzMqxuU1x9s1DD9YQl6pmTGUme0Bwi6RpuLOH1oRwaST0CK9pWoDU+IDHAgdQhIMdpjyVFhRIcHd3ttKGk088jXR/hkb/WAxm0wO3B5ZH5+1ggSI0NPSQFJvW4OlYDUIAQkISAdCwMN3Rag2XdVIclffT/VEA4kgUAgEAi+G0+uKuzVXeBwezA73EwfFgdAUWP/XEher0yZQRGE6noTkPwme4X1vbss2mxKOcrkTMUd0Fe2Un/xz1PqbawqqoNFdSA19jKB+t1HB/jdRwe67P9QzeAKJCof7K7i3o8Pct+nhwJetzsK603c/cH+k8rJ/98DtVz4701c89L2HgWON7aU8e7OCkCZA/S1kCjLMivy6kj2ZdmcKgKSLMs8uUoRjjYVGboERH8X1HN3bGo0LRZnn810alptSBLkVrT2ep4PFJfHqzkbj4WqFuWzOyxer10X/F1IrVYncREhWgmbydFJQErSYzA7tXNIFbsn+glIcfpQ4vWh3TqQDlYbfeMYmFhb63udzHg9Z49NZmNR0ynX2Egta1QcnCcuB26gAlLrKeY4HAhCQDoGnL4vPtGMq/90zkDyXx081WrDLU7loh+sk4Z4JAKBQCAQnLzk1RhZcajDSeD2eHl501GW76rs8TnqJG/+KCWw9NO9NTy7thi7y4PT7eWFDSXdTgRrjTatyUV9e9f8lA9zqyg3WAJyWAr7cCC1WlzERYSQHB3GuNToQQv3rfXLd+lurJ1Ru9KNTo4iWCfR1IPQIcsyRfUmjtS1a/dW6msdrm0/LvdbR5vMxOtD+NXiUewsa+l1Yrsmv55P99UMKBx97ZGGQRPuOrO3spU739vHmJQo7C4PL2442mUbWZZ5fn0J/9mhnLOPrSzgqhe29brfogYzVS02rp+bDZx41/3O71iitKGwiV3lLXxvWgZOj5d1g+BSadUEpCi8Mr2KOC6PlzqjjQsnpiHLSqfCweDVTaXM//s6znxsHUbbsYlilS1WYsKDidWHaK4hVZz1emWMNhfx3YRoR4eHAIoDCaDSF6Stios5iZHofRlnCZGhxOtDaO3GgaS+ltqRrL/UG5XrQHpsOIvHp9BqdXGgum1A+xhKvF6ZOqONxMhQABpPYJC26jrrTwlbaZOZWY+s6VeXz1MRISAdAyfTysmpQucMJLUmGKCtj4v5Q18eZubDa47f4AaIxaGo3iFBA/8YFTWYyLnvaw5VH5+VQIFAIBAIThaeXF3I7z8+qOX8VLfacHlkjtT17PxRxZJJGbFEhwfz3q5K/rmmiLe2lfPerkoeX1nIG1vKujxPLV8bmRTZpYSt2ezg9x8f5O3t5ZrLZFRyZJ8OJLUcBRRBa3d5Cw73sa98+wtI/XMgKWNOjg4jKSqsx8lTk9mByeHG4vRoq/Xq/s0ON+WD4P7eVdaC2+8+uMxgYURSJNefoYgln+6t6fG56kp+SaMZr1dma4mhT1HrgS8O85f/Hj7mcXfHh7ur0IcGsfzn87hyZhbLdlRQZwwU9EoNFpotTqpbrMiyzKEaI4UNpoAQ4sO1xgC3zN7KVgAum5aBJA1O16jHVhbwp88O9bmdLMv88bND3P9F3oD2X26wcPeH+xmZFMnjV08lOTpsUHKIWqxKOWqOL9entzK2eqMdrwxLxiczLjWa93dXdckIazI5KOjjc+tPs9nBo98cISosCKvTw4GqYxNNqlqtDEtQSlqjw0MYmRSpiTrtdheyDLH6UGLCg7G7vLT4rmdqBtLwROW5lS3KZ7Gh3UGcPoTwkCASo5RrTZw+hDh9KG3dOJBUt5N/Gdzm4iYWP7G+V3Gu1pcflBEXwaIxSegk2DDEZWy///gA931ysNdtjjaZOfuJ9ewub8HlkZmRHQ9AwwlsJKB1fwuJ7nPbwnoTXplTSpwbCEJAosMVIw+wn5ooYRs4bl/2kSok+dtie/syeW9XJW9uLR8U2+lgoZawhQYHfoxaLM6Am6ru2FTUBDDg2mWBQCAQCE4lZFnmQFUbJodbc8wc9XVJazI5egyCVktekqJCefra6Tx73QzOGpPESxuP8uy6EgA+21fTRXhQO7AtGJ2IwewMuFfb75s0VjZbMZgd6CSYNzKRogZzjyHWaqlSvF5xDiwcnYTd5WVf5bFPDGqNNnIS9egkaOiPgOSbhCZGhpIcHdZjBpIqokFHAHmtnyByrGVsJY0mfvDydv7r1wCl3GAlJymSrHg9C0Yl8sne6h6Pqb+AtKGokRte28kHuVXdbgtg8wlhh2vbaWi388meal7YUHJM78F/318frGPp5HQiw4K569wxuDxePs4NvD/bXaa4n0wON0abS3OOFPtcVI0mO1e/uJ3bl+/V3ve+ylbi9SGMSo4kKSqsX3/jvliZV88qP0FHlmUe/CKPXWWB7qziRjOlTRaqW20BpXZWpzvgM9PYbufXy/fSbHbgcHu4+a3dALz+kzmEhwRx0aQ01hc2YnMem2DaanESHxlKcpRSztfcSyc29fzIitdz44LhHK5tZ3d5a8A2D3+VzzUvbe+3kFvcqFwX7r1wPJJEvz6/Xq/cY5eyqhYrw3yZaEBAkLaaWRSvDyE2IkR7TzoJzV2U7ROQKnznUUWLlYzYCAASI5Vj1OFACjxWHq/M4dp2JEkRhNweL16vzKNfH6G82cq2o4Ye31Od0UZYsI54nzh1xohE3t5eoV2TTzTfHKrjw9xqVh2u77WRwNYSAxXNVp73uQNnDldKm9VFguIGE/d8eGBQhP3uMPrKEPUeJ02hkX2W/annsP+1uCfa7S7ueG/fKZUdJwQkvrsQpD6vP50z3B5vn6LC6YDD7en1eHg6ZSCZ/L7UDD3cCNUZbfzx047Vlv4cb39kWe7xglLdamVzcdOA9qdi7kZAcrg9zHx4Dfd/0fsqmfqFcqwWWoFAIBAITmYqmq1aCYZ6M+1/U92TC0ntjJYYFcY541O5bFoGv79wPG1WFwazg5vmD6emzcaOTiUCpQYL0WHBTPZ1M/LPnVEnjRUtioCUEBnKxIwYzA53j+3C1e/pOJ+AdMbIBHQSbBuEMraaVhvDEvSkRIf324EUpJOIjQghJTpME9+qWqy851cOGCAg+QSOujY7GbHhhAbrjtn9fKRO2edhX4cum9NDfbudEYmKu+TKmVlUtlh7FKrUUpDiBjO5PmHgmbXFtFoVpqRsAAAgAElEQVScvLm1rIvjoswvDHxlXj0Pf53Pv78txuo89izK1fn1mBxurpqVCSihyONSo7u0ZfcXMIobzVo5WoFPoHth/VFsLg+7y1vZ6Fsk3F/VxvRhcUiSRGpM2DG7JewuD+XNihNKXVDNq2nn7e0VvL87sBx0xaEOkUktFfx4TzUzH17Dc+s7xLdXN5fy1cE6VuTVk1veSpnBwqPfn6J1ALtgUip2l7eLKCHLMm9vK+93F7Bmi5PEyFCSfHlQvS0aq+dHVnwEV87IIjYihDe3drgNZVlmR2kzJrubrSU9iyX+lPgEpOnZcYxJiWJ/VWsfz1AE6jMeXdvl2uD1ylS32hiWEKE9Ni0rjjqjnU1FTZpQHucrYQNYW9DI2NRoJF/nppjwEOL1IVT4HG0HqtqYmqVcs5J8Ilu8PlRxIFlcrC9sZE+FMubSJjM2l4c5OQl4vDJ1RjtfHqzVzsXc8p7fW63RTkZchDaOx66aSrBO4uY3d3frdALlWrx8Z+WgZyUZrS4e+CKPIJ1Eq9XVa1dJtRugugA/U3Ug+T6Hn+yt4ZO91Wwq6t/5ALChsJHcfpbFqufkdHMdHknXZ+dO9Zzpj4D0zcE6vjxQG3ANP9kRAhIdpWgDrQl3DkAQmvu3tZzzz40D2v+phsnuYtyfV/Lixq614ypaFzafCGT2K2HrqZbfv8wNBnbcAV7fUsa4P6/s1r10wb828ePXdw1ofypqCVuoXwmb+tinfTiL1At3TxdrgUAgEAhOB/b5TdTUVe5Sg1lbic/vQUBSv7MTfFkXoKzy33BGNlfNzOKPF08gOjyYjzt935Y2WRiZHEl6nDK588+dUR1IVS1WmkwOkqLCmDVcmYh8vq/7kiv1e1otYYsJD2FKVhzb+jlx7Y2aNjtZ8RGkxYb3Kx+nxaKEeet8pUBHm8xYHG6eWVvMHz89pJVMHW0yEx6iIz02XHMg1RltZCXomZAec8wOJNXNoQoTakmcWp50xogEoHunk9cra2U0JU1m9le1ERMeTJ3RzqIn1vPQl/m8va0i4DnqeRMSJPHkqkLarC6cbu+gZFF9tq+GzLgI5o1I1B6bnRPP3orWgIXf3eUtZPtKlraVdLxuUb2J6lYr7+6s4KqZWWTFR/DP1UW0210UN5q1Upu0mPABt1zvTHGDWctdVQWRFb4uZZ3byK/IqyPT9xkoqjexbEcFv/voAG6PrLnDLA437+9WnF/bjzaztcRAsE7i7LHJ2n7mjkhAHxrEhsLAxdbDte08+N/D3PX+vn7Nn1p9564qjvQmINW0KQHa6bERRIQGcd3cbFYdrteOX1WLTXPfrThUzyd7qln0+Hr+vuJIj4HbJY1mIkODyIgNZ/qwOPZXtfW5IJ1b0YrN5eGd7eXaY+UGCw/+9zAOt1c7HwCumZ3F+LRofvXuXm5/dy/hITrGpcUQ48s8MpgdXDUzK2D/Y1KjOVjdRpnBgtHmYka24qpJ8pWwxUcqIdomh5ufvrWbO5bvxe3xagHaF09O8x0PK8+sLWZ8WjTzRib0mhVW12YjPTZc+zk7Uc8LN8ykssXK14e6dryzOT389K3d/OmzQ2wsGtxSty8P1mIwO7n3wnFAh9jdHfl17VrXdIAJ6TGEBes0AUkVBFfk1eH1KoJcb+elxytz94cHuNevtLo3VEfRLJPyPdHX9VoVnEoNfTu71E6NK/N6d2GdTAgBiQ4nUU/CRGWztduJfnfOJZfHy6Nf59PYaZWhxeIMqFOtarGeVOVYx4LL4yXnvq/5x4oCAJZtr+hxW1W99vhlIKmreoYe7Kydj5PVMTB74sd7lJvL2jYbR5vMnay8noBxDQQ1RNv/uWpZm7ePC4C6aiYcSALByUeZwdKjbV0gEAyM/ZVt6EODCA/RaauxR5ssTEyPISM2XFtZ7ozB7CQkSCLG17VI5dHvT+GfP5hGeEgQF09OZ1VefUAmZXGjiVHJUdokSXX2qJMKfWgQDreX/Np2kqLCGJ8Ww3kTUnl5UylGv7BaWZb5x4oCPt+vTBjUexWAuTnxHKwxDtjB7vXKWum+3eXBYHaQERtBemz/HEgGs1ObXJ4/MRWH28u3RxpYc6QBgDe3lgOKQ2FEUhTj06I1kafW50CamhnL4dr2bu97+uoqpnLUJ16ojodyn0NIda1kxUcQHR7c7d+2yezA6fESrw+h3GDhQFUbV8zI5OyxyYQG6ciIDe/idlHPm0unZmByuBmXGo0+NIj1hcc2oXV5vOwqa+G8CSno/BqizMlJwOL0aO+vod1OZYuV789QXEpbShQxJSIkiIJ6k3bc77lgLL85byyHaow88HkesozWRTA1JrzHksP+4j/BLm40Icuylk9U0mjG6nTz3LpirntlBwX1Jm5emIM+VBnjJ3uqmZQRw4Pfm0RFs5UjdSY+3VuNya4cz21HDWwtMTB9WByRYR2fubDgIBaOTmJ9YWPA5Fb9G+0sa+G93V2dE40mO3/67JCWJdVidZIQqWQChQbp2FjUFOAs86e61UZqdLjm8L9iRgZeGa1iQHWHTcqIYeXhep+g4+G1zWXc/Nbubis+ihtNjE6JQpIkZmTH02p1aeVj/nxzqI7HVirzGfWz8/6uKqxON1/sr2Hp05v5ILeK703L4Arf+QBKDtKbN88hKiyYyLBgPvvVQjLjIjQHUpBO4vIZGQGvdfbYZPJq2lmTr3x+pw9TxMbRKVGkxoQRGRpEfKTy/JToMGqNdlYdbiC3ogV9aBCLx6UAsL6wkaNNFn48fzhnjEjkSF17j53z6ox20mMjAh6bOyKBpKjQbp1L9358gEM1RkKDdKwv6H/FhsfbtfrD4nAHnEMbChsZlhDBNbMUYU0Vuzvj9ngprDdxyZR0AKLDgomNCPEJ7w48XlkT1b7Nb+DFjUe5/PmtvLaltMfxHaxuo8XipMxg0YT33lAFpJlmpWy3rzwzdXuD2Umrxcn9n+dpIq/F4aaqxUqz2YHR5mLbUQNpMeGUGiwU9dHQ4WRBCEh0CEdOd/eT/kVPrGfp05u7Pq+bG4dv8xt4dXMZv1i2h4X/WNdjh4mzHl/PosfXaz9f98oOXu7FueNPucHC5AdXaXXXQ83T3xYD8O5O5QvE45WxOt3d2vtUpfjbIw3sKG3G7HCTGRdBSJDU42pEFwFpgC0bdT7J2u7ycO4/N3Lzm10dR5bvYINWxSL/G1fVLdWXIKUKVz3drH2xv0YJYzTZT2iLSoFAAEue3MAPXto+1MMQCE4L9vlKM3ISI7V8ItUlNDEjpscSthaLUmImST13Ol08LhmL08NBX1BpY7udhnYHkzJjSfMJSGruzNEmMyaHmwsmpgJKKYcqxtxzwVjMDjcvb+q4D9te2sxLG4/y/HrlsXh9hxNqRnY8Tre31xDfNquT59YV8/jKAm2C+Nev8pn+1zXc8tZurbNURpzPgdQPAaneaNccHHNylEnf4ysVR8641GhWHKqj3min1KAc33FpMRxtMuNwe2hot5MeF8Gs4fGYHe4u7qBdZS1Mf2g1q/vR8aq4Ubn/bDI5lElYJweSJElMSO/+b6uuzC8am4zbK2Nxepg+LI5XbpzF1vvO4dJpGeyrbAvI3Ck1mMmMi+Bi3wTyZ2eNUESNgiZtQvrF/hpWH64fUIOb/Np2rE4Pc3yOKZW5vp/VXCHV0XHO+BTi9CFaKeSisUkU1Jv4Yn8N545PJSMugitnZDJ3RAKf71cmmtP8BKQWi7PfGS2f7q3uUjpV1GAiNFiHPjSIkkYzRQ1mSg0WFo9LxivDztIWnl5bTE2bjUVjk7liRiZjUqPZUdrMgeo2LpiYxtLJaegkWLajghc2HGVqViy3Lhrp68ZlZMGoxC5jWTIuhepWW0BOztaSZkYmR7JgVCIPf5XPZ/s6nICyLHP/53ks31nJEysLATUDKQRJkrhmdhbbjjZz4b83aeKjP9WtVrLiO0SOcanRJEaGao6z3PIWYsKDueOc0ZjsbryyzMe3LeDZ62ZwuLadVzd3DdcvaTQzOkUJP1adPqo7cluJgQ93V7HqcD13vrePFzccpc3qpKjexKSMGIw2F0ue3MBd7+9ncmYMm+5dwjPXzdA6qqmkx0aw9p6zWfWbRUxIVzqzxUYoYtyiMUmkRIcHbL94nOL0emVTKVFhwYxOUbp73bxwBOt/txhJklg4OonLpmXw5R1nkp2g55Gv83lvVxUXT0knKz6CIJ3Eh768riXjUpg7IgGvDHv9Mp5kWebTvdW+66OdjLjAcUiSxJychC45Wkfq2vnqYB13nDOGRWOTu4iIPZFXY2TJkxu46Y2O+ZbF4WbhY+v4t2/OaHd52FrSzJJxKSRGKU0BehKQygwWHG4vS8alMHt4vJYflRoTToPRTlGDCavTw6VT02m3u3liVSGhQTr+ubqo2/MLYH1hEzoJwkN0fLyn58B/lZpWG/rQICZYFBGtNweSLCsljqoD8P3dVSzbUcG7OyuQZZmlT2/mrMfXM/vRb7n93b24PDJ/vXwSktThKDzZ+Z8RkCqaLdoXeGfUL5vuHEjqB6W7lSF1e/WjZLS5NBFkX2UbNW02Nhb2rNaq4oHJ7mJ7aTN/X1FAu93Vq+Wu1eJk8ZMbMDvc3VoNB4M6o42lT28O6A7SHbIsc8NrOwJqqQG8siKIzXrk24D69B2lzZqy6vbKXPvKDkx2FzHhISRGhvWYgdRZQLrkmc0BVt2+XDw631muOsA6B/FBYCmdP3VGG997bgt1RhuyLPO7jw7w07d2c6SuXROQ/IVEVYjqy9Bk9T3X/3W3FBs4XKu8r7ve388lz2xh7qNruXXZnt531g9kuecgwO5webzHHJh4rMiy3O/VUOEWEQwW6s19QQ83MgKBoP/YXR7ya9uZkR3PqOQoSn3uPoPZwcjkKCakKwJHdwslzWanFibbE/NGJiJJHSVFqigyJTOW6LBg9KFB1BptbD/arJXqXO7nGlDFmAnpMVw6NYM3t5ZrORxvbi0nXh9Cjm+yomYXQoerZF9lG5/vq+GqF7cFiEmHqo1c8swWnlxdxMubSvn5O7n8fcUR3tpWzqzseA5UG7nr/f2AT0CKCcfscGOyu7A43Fz+/FZuX76XPRUdE7oWi5O8WqNWchekkzh/Yho1bcrE5rnrZ+CRZZ5aU0hVi5VRyVGMS4vC5ZHZXdaK2yuTERvOorHJSJKy+u/1yuwqa8FodfGHTw7i9sos31WJ1enmyhe28sX+rhMrt8dLmcGitS4vrDdRbrCQFBWmdZgCmJgeQ0G9qcs9rboyr06e1eMZFhxEeEgQ80cl4vR4yfV776rgeN6EFJbdMperZmaxZFwKNW02ihvNbCxq4q7393Prsj0sfmJDQBWA0erqMZxWFYbm5AQKSOmxEWTGRWhj2F3WQkRIEBMzYshO0OP2ykSHBTNvZKLv3t/JVT4XhU4n8dhVUwkL1jEqOVI7b9JilEl7Y7sDt8fLre/k9hgEfqjayN0fHuC5dcpk+6739/HcumIK6k2MTo5idEoUJY1mvj5YiyTBPecrJUD//rYIl0fm6Wun885P55IUFca41CgK6k3Ivq5mSVFhzB2RwHu7Kmmzunj0iiksGN0hGi0YndRlPOrfSnWgON1edpe3cOboJJ6+dgZTs+L47QcHeGpNEQDfHKpn1eEGhifq+Wx/Dfm17bTZXCT4RNhHvz+FNb9dhNPt5auDtV1er7rVFiAgSZLE/FGJbD1qQJZldpW3MDsngcXjUhiTEsUDl05kWIKei6ekc9GkNJ5YVcDMh9dwxfNbeXdnBa0WJw3tDk2gGZMSTWRoEJ/urWFjURM/eXM3v//kIL9YtkdzDH15oBaTw811c7NZMi6Z1JhwHr5iMst/Pk8Tp7sjMiw4IBs1PTaCUcmR3HLmyC7bTkyPISU6jGaLk6lZsQT5XHBBOgl9qPJZGpUcxbPXzSAlOpwb5w+nzmhn1vB4HrliMsFBSpmq0eZifFo0GXERTB8WR5BOCnDxfZhbxd0fHuA3H+zHK9PFgQTKZ6CmzRYw93traznhITpuXpjDkvHJXUREFYvDrYk/h6qNXPniNurb7ewobdHcPesLG2mzunhlUylNJge7ylqwuTws8bmoxqVF9Wi6UMucJ2bE8PR1M3j2uhmAT0Ay2bXS5DvOGUNkaJBS2vzL+YQG6/jJm7t4a2tZF9PH+oJGZmTHs3RyOl8drNW+gw7XGrud/6iiZpLLgk729lgqCdBuc2N2uFnkKwV93eeE2na0mcO17VS2WLlp/nAun5bBlhID6bHhnDchlTnDEwal4+GJ4LQWkGRZ5g8fH2T70WbO+edGfv5OLh6vTFWLVTvZZFnmq4OKEOPqxlFk6WUSra1yyMqX0LSHVvN2p/ItuyswVNrjlQNulG59J1erYwaY+pfVfP+FrT0qvP6hfnERId1uc6y8t7OSI3XtvN9HmFeTycHWkq715wazgwM+K+HEB1Zx27I9VDRbWFfQSEiQxNjUKG1bk91NVHgwSdGhbCpu4tfL92rHZ2uJgWazo4uA1GZ18cjX+ciyTF6NkWkPreYbPzEtr8aorXICBPlWL/2Pc+fj25NQsXxnJQerjby9rYL7PjnEx3uqWVfQyNKnN2P2ldL5C4+d97PqcD2P+6yw/qgOJIPFqY3lR6/v5JJntnS5yKmBccfCfw/UMvUvq3tU9ztz85u7mfDAymN+3Z6wOT19hsr/Z0cFkx9c1aeQ2Wx2MPUvq3l+/eB0ZDmZyKsxUjEI7ZYF/afNKsRIgWCwWFfQiNsrM3t4PKOSI6lqsVLgC2AemRTJtKw4vDLafZj//VGzxam1s+6J+MhQJqbHsNU3WTpUY0SSlNIWSZJIiw3nvV2VXPfqDl7fUkZydBgLRyVpEzU10Bfgt+eNwenx8sKGEiqbrXx7pIEbzhjOslvO4E8Xjw+Y0KbHhpMaE8a+ylaeX1/CnopWrnh+K5/uraaw3sT1r+4A4PPbF3L4oQuZNTyelzeWMiwhgrd+Ooe1d5/NueNTFJEhJbLDLdVuZ0VePQeq2thY2MR1r+zU3Nybi5t8IkCKNo6LpygZKEvGpzAmNZqfLhzBh7nVeGUYlRzJJF+QuJrLmB4bQUJkKNOHxbG+sIk3tpbxg5e3M/vRNZQZLCwYlcimoiaeXFXE3so2/vbNEWxOD8+uLWatr0yuosWKyyNzyVTFDVTUYKLcYGVEUkceDCiTY6vTQ4VPvNlWYuCfqws1AWnRGEXIio0I0UrfAObmJBCsk9ha0ozN6cHrlSltMjMqWSk/OmtMMjqdxJLxyQTrJO5Yvo8/fXqIUcmRvHDDTOrb7bzgc43JssxP3trFhf/e1CUjCDpyjVJjugoCc0cksKusFVmW2V3eyszhcYQE6bTOW8OT9IxLUxwtiZGhAYLYiKRIXvzRTB64bJL2WEpMmPY3fm1LGavzG3hyVSH7uimfeXOb4qDZUNhEVYuVL/bX8szaEg5UtTE+LZrRyYoo9N7uKhaNSWZyZgxJUWEcqDZqGT8q49IUoS8pKlQLlr9qZhZBOolnr5vBlKxY0mMjGJkUSXiITnPn+JMRF8H4tGi+PFirBD5Xt2F1elgwKpHk6DCW/+wMrp6VxTNri/ndRwf47Yf7mZIZy0e3zScyNJjLntuCLEOm32doZHIUM7LjtPwXgNWH6/nJm7uobbMFbAtK98OGdmXeUdpkYU5OAuEhQay5+2yunZutbff3K6dw66JRXDwlDZvTw/99lsed7+8DYIxPQArSSfzuwnFsKTFw0xu7yEqIYPnPzuDOc0bz6S8XEBIk8Z8dyhxofFo0b948l//++kx+PG84IUEDmzpHhgWz9p7FnDmmqzAnSZImoHR33DtzwxnD+fMlE3j1xtmEh/i6uflymNRytsiwYObmJPDyxlK+/8JW3txaxiNfHyFYJ2nB/+lxXc93VUTdUmzg/z47xHPrivl8fw1XzswiTh/aUS7XqYytoL6dS5/dwkVPb+JwrZGXNh4lPFjHt789m+jwYK28c0VePTHhwTg9Xp5eW8SKvHrCgnXMG6mIl2NToylqMHdrosivayc0SMeo5Cgy4yIYmaz8HUck6qlqsbJsewXx+hDGpkbx5DXTePlHs5iaFccLN8wkOjyEv3yZz8Nf5Wv7azTZOVRjZMm4ZK6ZnYXJ7ubtbeVsLGrikme2cPnzWwKEMrvLw76qNnISIwlGJtll6dUxWuVzWc4flUiwTsJgdhIapKOi2apV6/z6nDH864fTee76GTxx9TR0OokfzR/OBZPSTommW8F9b3LqUt9u54PcqoDWoB/lVnGfr6NX+T8uYU1+gzZhUIWAJU9uICs+gmW3nEFrLzlF6kTf5HBzja/cwV+kUMfgL0K1Wp0BnTtW5zcwLCHwS/dAtRGjzaUFNqrYXR5+4edGaTtO+TnqZ7c32zj0Hnbmz8rD9az0WaLn5MQTHhKkOZFq22zMGh6Py+Mlr0axSs7JSWDplDRueG0nc0ckBNy0qYQGB/HTt3az3ufw+teaIs6bkEpIkMSlz24B4Lq5w/jzJRO191Hs97e5/4s8/DWkzkHdKuo2L3VTXqiGfvvbpTs7mdS/1+8uGBdQX6+eE063F5MjsKVqd4GiaueFTUVNzBuZyN7KVm5fMlr7/ad7q2m3ufjJwhHdvg/1+f89UMO9aeMpqG/nkz3V/HHphIBxqWzxhYNanW5tFWSwqDfaWfjYOmZmx/HRbQt63O5TX6BpebOFjLjAc8Boc1HTamNiRox2c/rEqkLtmJjsLh79+gh3nz+WlG5uDL8rFoebR74+wu8uGEtiVO8r44OBei6X/+OSLr/LqzGSnajXAhoHm72VrWwobOLu88cel/2frPgL1kari1j98Tm+AsHpjscr89SaIkanRLF4XIqv1ATW5Cv3AyOToxiZFMns4fE88nU+5QYLL208yh8vnsAtZ46g2eLQ3D+9sWBUIm9vq8Du8pBXY2RUcpSW4ZKdoKfcYOHeC8exZFwKqTFhhAbryIyLoLLFqjmQ1PFcPTOLd3dUsjKvniBJ4kfzhpMWG86ti0YFvKYkSUwfFsfq/AasTg93nz+WbUcN3P3hAaJ8zqePbpuvfXe9euNsHvgij5sXjlC+U0PhtZtm0253ExsRopU67Kts45O91QxP1PP89TO59NktrMlv4Nq52awvaCQxMpSpmbHaOOaNTOSK6RncuCAHgD9dPIEKn/g1OiWKMSlRTM2K5TOfk0idOJ4zLoWnvi2iotnCjOw4chIjGZEUySVT0zn3nxt5Y2sZI5MiKTVYuOrFbeTXtZMQGcqm3y+h2Hf/tnBUErERpRypa6fUYGGJn4ACilsAlDKxnEQ9D32ZT2GDicmZMSRGhpIYFcbwBD0jfcKQSmRYMDOy43h3RwWvbyll4egkLE4PI5MjA/afHhvBGz+Zw13v76PN5uKjX8xndk4Cm4qaWL6zkp8vGkl+bTv7KtsUF8Vbu/ni9oXa30SWZXLLWzm707hVzhqTxGf7alhf2MiR+nbuPGcMAFm+zlvDEyIZnxaDJMHl0zO7CAvnjE8N+FkVCb85VM+7OytYMi6ZgnoT93x0gMumZrBobBKzhifQZHLw1YE6LRdLLfnxyjJGm4uxadF4ZVm7R7r56hwkSWJKZgzrC5u4cHJawPEcl6qIXGeP7ch5umb2MC6YlBbgqrtt8Sga2+2EBQd1ezyuPyObB744zN7KNrYUG5AktMl/cJCOv185hUaTg4/3VHPWmCT+/cPpJEaFcf+lE9hY1MQV0zM5b0LgMVk6OY2/fVNAZbOVYQkR/H1FAUabi+nD4ji307Zqad3P38klIiSICycF/l4lPjKU+5aOB5S/8b0fH9SyUMf4LWDfvHAEo1OieHtbBfdfOoHhiZGa+2pKZqxWAjbGd/yOF0vGp/BBbpXmLOyNiNAgfnZWoJNJETSbAz5/L/5oJh/vqebD3Coe+jKfsGAdr9w4i5++lQtARjcOpAnpiivr/i/ycPgtZN/su7ZkxkUwLjWarw7W8rOzRiBJEp/ureZPnx0iOjyEqLBg7v88jwPVRm45cwTZiXp+OHsYb20rp/ic0awvaOSKGZl4vbImzi0el0yEr5nC+LRobC4PVa1Whid2fNbb7S52l7UwOiUqwNkF8PNFI1md30B+XTtLxiUjSRJLfWWuAGeNSeasMck89OVh3txazqVT05mSFctfv8z3vX4KkzJiOH9iKk+tKSJeH0p2gh6D2cmVL2xj9W8XkRoTzn92VNBkcnDzwhHwBqQ5zd2WsDW229lQ1KQ5MUckRpKdqKe0ycItZ43gxQ1H+WB3JVOzYkn2LV5cOrUjF+t70zK67PNk5bgJSJIkXQQ8DQQBr8my/I/j9Vo90V0Q1X1+7eBr22xa6BYok3lZlikzWLRgt95Wox39CE98d2dlwMrK7Ee+7bLN29vKuzxW3WrrIiBt92tVGx0eTKvFyarD9QTrJGYNj+f1LWX8+pzRPV78+4sqiHSX47O+sJHffrCfDb9b3G83iz9jU6Np9gvLbre7GZkcFXAsH/zvYXaWKe91V1kLBXVdT9POrpziRjO3LsslzO/i8t6uKnISI7USw6N+ApJ68dKe32AiO0HPO9vLuWlBjnZT2Vt53AGfi80rwwsbSvjV4tFaWRsQUDJpsDgCap9tfqV9DUY7339hm/bzq5u7hr5d9WLH759eq9xM3HLmCMJDgsivbefuDw8ASseIyhYrJY1mFo5O4peLRzE9K05T0vNq2qlutXL7u3s52mThmtnDGJsaTUWzUl88IikyYAW4pNHM1KzAVZGvDtaSX9vOO9srWHHXWV0E0L44UN2Gx6us6Hm8MkE6STnOMtpk/cPcKi1joLmbcPW73t/HhsIm9j9wPnVtHRfxP3x8kHsuGMv2UqVc4f3dVfzjyin8YPYw3t1ZwajkqG7t2XaXkg/h/6Xlz7/WFLG9tJlJGTG8t6uS8BAdD/qtLB4PeitlNdU726oAACAASURBVNldXPrsFiZlxPD1nWcByjn41YE6vrnrrEF5/Wtf2YHT7eUnC3ICuiANlJo2G3ERIQGhnCcz/gLST9/ezSe/7FnkPB6UNJoZmRTZrbArEPSHk+H+C5RMmpJGMy/cMJMgnaQJAK9uLiM9NpzhiXp0Ool/XDWVi5/ezHPrS0iPDeeRr/PRSWAwOUnoo4QNlJKbVzeXkVveysFqIwv9rvEPXz4Zq9OjOUVUhifqfQJS4LXtzvPGsKGokTGp0Tx+9dReS1VmZMez6nADocE6blqQw68Wj+Kfa4r4fF8Nr944O2DhIyEylOeunxnwfEmStAn89GFxTM2K5dFvjtBmdXH3+WOZ5CuXWpFXzzWzh7GxqInF4wLDnkOCdPz72hnaz0E6ieeun8H2o81MTFdcWDcvzOG3Hyj3COrEccn4FP65pog2q4sHL5sU4FiZkR3Hvso2nrluBo+tLGBzsYGzxiSxudjAm1vKtE5Io1OiGJcWzQe5VchyR26QyuiUKIJ0Ekfq2onXh2iLjnk17UzztSt/+ceziQrv+t3wvemZVLYUMzsnXlsoHJkU1WW7RWOTWfWbRVS0WJntc1Dcce4YPt1bwy+W5WJxeMhJ1PP8DTP5wUvb+cMnB3nnp3ORJImSRjPNFidzO5WvqVw4KQ19aB4PfZkf8P5Ux0d2op6EyFCW/2weU7Jiu92HP2oJ2xtby0iJDuOxq6ZSUG/il//Zw9Nri3l1cymrfrOIN7aW4fR4+dcPp3PtKzv4ZG81E9NjmDsigbe2lTMuNVq7Tx+ZHMmiMYpwMCUzlvWFTSydnB7wulOyYhmWEMFVMzMDHo/tVMXwg9nDeh3/VTOzeGJVIX//5ggF9Sbm5iQEzFNCgnS89KOZ7Cht5uyxKZrL74dzsvnhnOxu97l0cjp/+6aAlYfrmDU8gTKDhcevntrtWLIT9GTGRVBrtPHKj2drLpTekCSJ+y+ZyMaiJow2F1nxgferqsDQmTkjEthb2UZ6bHiX4zTYXDAxlTdvnsPZ3YyjP8wflcjBGiMz/QSoOH0oPztrJLecOUKb504bFsficclsKGzq1oEUHKRj5vB4NhcbeODSiZw9LpmGdnuAgHbjguH832d5rC9sZG9FG8+tL+GMEQk8e/0MPsqt5olVhegkuHH+cABuWpDD8l2VXPrsFhxuL0snpzE1K46Z2fF4ZJkz/a7VY32vc8XzWwOEolZfx8W7zh3TZcxqcPkNr+3k/IlpPR6jey8cx5r8Bm56cxchQTrMDjf3XjiOyT4x/pErJnPeUxtpMNn5+Lb5xOtDWfr0Zv78eR5PXD2VFzYc5czRScz3iZipTjPrjjZzxt+UOX1cRCjnTkjhw9xqDGYHkzMV8TwrPoKRSVFUtVi57exRfJRbhcHs1NxcpzLH5Y5ekqQg4HngfKAa2C1J0n9lWc7v/ZmDS18h0wv+sS7g5y0lBkb+6RvtZ6fby49e36n9vLu8hTk5CbRanKzJb+h3ackjXx/p9vG3bp7DL/+zF5vLw5mjkzTXB3S4LoKDJEx2N5/trdZsnj+YncXOshZarS7N4fKjedn8Z0clo1OiuHx6Ju12F6sPN/CfHRW8ftNsgoN0GMwO9lS0cuHENGIignt0GKnOmqpWK40mO29vK2eOr9b4374bjs/21WhlgP5s+N1i3t9dxUsbj3L59Ay+2B9Y2xwSpNNa96qMTI7sEqD9zaEOS2u73c0V0zPYU9lKVUvXcqaRyZGcPTZZs0n68/cVHeVjpZ2C1C6clEpwkI6vD9Zx36eHiI1QVj6MNheXT89gS3FzQCvMuSMSOMu3EtbZkfT4ykJiI0ICxvDAF3nav69+cTtPXzudDYVNtFqdWrgiwN0fHsDscBMarMPp9vL1wf5lW5331Eb+9cPpAa60r/yeuya/oUvu18aiJs58rCO8fU9FKzpJ4rynNgIwe3g8uRUddupNRU3sKmvh6lmKhVWWZX69fJ/2+ze2lnH3+WOpbrUxNjWaIJ3ky1tSVlWNVpd2ri3bXs7agkbNDQXKF8XE9Bg+2lNFWkw47906j+AgHb//+KC2TV6tkbPGJOF0ewkO0iHLspZ38e7OSkL9Vv0+yK2i1GBmvM+yDYpovK6gkdW+YzElM5bIsCDm5iTww7nZ3PvRAXaVteD2ymz5wxKaTA4O1RjxemUaTQ7Om5iqiXZqwGB1q40yg4W0mHAKG0zc/3ker/9kdpeAxGOhye8zIcsykiTx9cE6UmPCNJHjcK0iCIaHBPG4L6gyr8bIxPQYdDqJ3eUtmOyuLiuhAL//+ADlzVYeuHSi9iW6+nA9r24u5T8/O0NzWObVGLU67s5UtVi57T97ePra6YxOicbqdBOs02FzeojVh2B3eVj4j3XMG5nA+7fOD3iu2+PFaHOxOr+BeSMTiQ4PJrGPwFyV7pxBh6qNFDeauGxaBhaHu4sAX91q5RfL9vD41VOZlBFLUYOJu97fzx+Xjg94f/4C0p6KDpGzM3k1Ssj9OeNTabE4+XRvNdfNzSYyLJgmk0NbXWpot3PPhwc4Z3wKNy3IodknJn+4u4o5I5R2u2ePVfIVShrNnPfURu48ZzR3XzCu2/euHuPQYOWa/uWBWm6cn9PtGDuPt7DexPdnZKLTSTjcHrxeZUVzW8wwQr1eZskyO8tatFVlwanHyXL/JcsyL28sZVJGDBdNUm7sRyVHERUWzJjUKJ6/fqbm2BidEsWz18/A4nCzdHI617+2g4d8K8TDErqulHdmbk4CYcE6Hl9VQKPJwRQ/h05PCxyqCJAcHShQZcZFsPNP5/XrPaqiywUTU7VJ5h8uGs8fLhrfr+f7Exyk47GrpnKZz3X6/RmZymr65DTe2FrGlwdqabW6AsqkeiI8JCigzO2SKRn87ZsCTHaX1kluYnoMmXERTMmMDRCPAB64dCJH6kxMzozlb9+fwteH6rjlzBH86t29vLyplDi94piKDAtm1vB49le18fDlk7im06Q/PCSI0clRrCtoJLeihcTIUC6anMa7Oyu18qTOwp7Kj+cN58fzhiPLMn/67BAf5VYzNq17wSAlJjzAaZwZF8FjV0/hqTVFVLXYePa6GUzKiOW+peO5/4vDPLWmiHqjna8P1RGsk7RJYWciw4JZOjmdT/ZWE6STtOOklbD5zqGent+ZOH0oD142kTh9CBdNSiciNIiUmHAO//UiatpsXPDURq5/bQdVLTZ+NC+beSMTmZQRw+HadpZOTuPH84cTGxHCgtGJGMxOgnQSPz9rpCYoXjs3G31YMLM7OVliI0LY/Ptz+jXG3ogMC+aHs4fx2pYy0mLC+fe107tsow8N7vZ+oyeGJeiZmhXLaz4BOCIkSAtK74wkSfzle5NwebycP7H/rxGrD+GlH82ipNHU5/ekypzhCbxMaY/n52Ci03WUsX0XrpiRGdANzh9JkrQQd4D7L53I2WObenSu/+a8MVw4KY0fzVMEoFGdRLofzB7GyxtLuefDA7RaXVw7Z5iWxfSTBTnKfHFEgibUDUvQ8/ntC7ntP3uwONzMG5lISJCOH8zpKhBOyYzll4tHdan8iQoL5rJpGUztQaRNj41g3T2Luz84PvShwbx642yW7VBCrC+blsGCUR3iVWpMOK/eOJuGdjuzhitC8T0XjOVv3xRwxt/W4vJ4+d2FHfdkP6vbTcKFHZ+p0iYLL2w4ysjkSJKiQsmraUcfGkScPoRfLRnFJVMVt9/8UUl8eaC2i1vzVETqT5r6gHcqSfOBv8iyfKHv5z8CyLL89+62nz17tpybmzvo41hX0MC3Rxq54Yxs9la2caSuneU7e8/18WdMSlRA2RMoX0yduyKAsmLzfxdP4Gq/zj1/uWwif1tRoE3Ebl8yirTYCB5bUYDZ4Wbz75dwx3v72F/Vxls3z+Enb+5meKK+27aSKvrQIPL/ehGXP7+VFotDE1RGJkdqbU5/OHsYawsaNVEmzRcy5v+nzk7QMyYlilk58bjcMpuLm6hqtTJ7eAJ5tcZux3Db2aNYkVfX7e/+fMkE3t1Zybp7zqbJ5OAHL2/n8aunsa6gkaoWK/ctHc/3X9jGez8/g93lrfzpM8UJlhEbzld3nsVn+2p4+Kt8loxL5o5zx3DlC9s4Z3wK18zKotHk4Mb5w6lssXL2ExsA5abSbHfTanVx74XjuGBiKuf/a5M2nhFJkUhSR+vXztx17hh+uXgUTSYHZ/l1w+uOBaMSue3sUdok0+XxMub/VvT6HHW1rjfm5iRQ126jqsVGaLCOgr9exO3L9wbUg/eHqLBglv/8DH69fJ8WFD7YTM6MIVin61Y09Gd8WjRmh5vqVptmvx6WEEFMeAiHe2jVPBhEhAQRGRaEwc+tNDxRz+XTM3nGJ/70h/62Uu6JOTnx6EODyYyPQB8SxIq8erIT9Jw5JolGXxvgGdnxbC0xYHa4OXNMEvqQYHaUNjMxI4ZtR5vxemXOGpPEa1s6uohMTI/hvAkpPLOufzlP4SE6osJCtGtAZGgQ50xIZaKvK8jq/HrN4QVw88Icvj3SoF1PVEEalNbV18zKCnACONwedpa24HB72FvZRkq00kHDv/wyJEhCkiTt+vfjecPJiIugod1OmcGC0+0NcFWCspo83ydeFNa345WVcNu8GiPhIUGYHS5WHVaEwF8vGa25mjxeL0+uLtLee2iQjl+cPYrqVisGs5MZ2XGsPdIhXt5xzmhyy1u1179yZiYp0eEcrG7DaHMFnKuZcUo76jarC68sE6cPIS02QnNB3nP+WN7aVk6zxcnSyWkkRoXynx2VxEaEMDolCpPdpblhp2bFBrheVYYlKCG6/gH/F05KJUgnMTkzFgllFX9riYFmi5OJ6TFcNi2DT/dWa99R6bHhZCfoWTQ2Wes8CYpQt6OsWcurG5EUyfi0aMoMFmwuDz+cM0wTH5OiQjGYnXzyywX9stMPFEmS9siyPHvQdyzQGOj9Fxy/e7DGdjvNFqfWjQgUgTYmPJjgXnJEnG4vR+ra0UkSE9Kje91W5fN9NfzmAyWU+qPb5ncJRe7M61vKePirfHL/fF5AGdtAsLs83PnePu48d4wmwh8r72wvp7LZyp8vnQjAvspWzaGcnaDnqzvP/E5ly5/tqya/tp3/u2Si9liLxYk+NEjLUumLkkYz93y4H4fbyyVT0rnj3DE43B7sTm+Ppb7Ltpfz8FdHcHq83HHOaK6elcXiJzfwi0WjtDKjvpBlmfr2rq3H+8Lrlalps2kiotfXvGVXeQuRoUFcNi2D68/I7uKy9mfbUQPXv7qTaVmxfPHrMwGlpObuDw7w0OWTtNLDwWDZ9nLu/+IwZ49N1hZ+/7m6kGfXlfDt3Yu0DmIq9UY7qTFh/Vp0GSzqjXYe/G8ed507VitRPFYK6tu5+sXtmB1uvj8jk3/9sKswdaJpszqZ+fAabh3Aefq/wqd7q7nbtyj2yv+zd9/hUVXpA8e/Z0p6JY2EAKH3HmmigmJDd7F3xEVFXd1V1y3qNn/ruuru2nZX3cUKVmzYsILSa+i9J4EQSIH0NuX8/pjCpNfJZJL38zx5MnPn3nPfuTn35s47p8waV+36fKq0imCz0d0tzaXSaqOs0kZ0K1qztzerzc5vP9pOgMlQ/Toxdarj97Jl1dbPLa4kMtjMusP53Pr6BgYmhPHdg+dVW2ftoXze25DJc9ePbnIysy215T2YtxJI1wCXaK3vcD6fBUzQWt/nsc5cYC5Ar169xmVkZNRZVlvbmVVIn9hQnvluP9eMS+aN1Ufo1S2E4cmR/OLdLcyfM56Csiqe+GoPxwvKuXVSClprBnWP4NcfbiMpMojjHh8wb5rQi8hgM9eMS6ZfXBg7swpZtCWLb3aeYNXvpqGUYt3hfG6Yt44ffz2VPrGhWG12dmcXMTI5iiN5pby3IZPfXjyI9PwyEiOD+OOnO919mwFSYkL49cWDePKrvfzu0sH8dFQSjy7a0WAyLNhspNJqI7V3N47kl7pnFamP64ODa9upg+LciYwZI7qTXVjh/sA5bVAch3JLKSir4reXDKaw3FJtPJ7GaK3Zdbyo2g1XRn4pz3y3nxvG92Ryv1gOnCyme2RQtSky7XbN09/u5ZYJvd03BNuPFTCiRyRKKbIKyvli23FSYkK4ZHgiqw7kMWf+Rl6bnUpEkJnPtx1nzpQ+lFdZ3f+Iy6ts7sGi75jSh3MGxjH79Q30iwvlqrHJmAyKO87pW+tEv+5/a9mbXcRz149m4cajbM4sQGvNjBGJRIeYmTY4nh/35nB2/1gWrMtg8fZseseEcPnIRN5Zn8nd5/Xj8pGJ2O2waEsWgxPDudj5Le0HaUf57UfbCQ80kRgVxIwRiZw/OJ5FW7JYvD2bxKhgIoJMWG2akcmR3DyhN71iQsgpqmBXdhH3vrOZO8/pywtLDzB/zngSIgK59uW1TO4fQ3J0CHed15eicgtL9+TwvxWHq7W4iAoxc+6AOD7fdpxrxyXz7a4TjO4VzbrD+UQGm8ktrsRkUIQGmugXF0pJpZXc4kquHJPMx5uP0TcutFpiwsXzvPnNxYOYOTqJ5ftz2XeimPc3HuXsfjHMnpzC6oN5vLs+k7/MHM5ZKd34cNNR/l1H0iQ6xMyDFw7kT5/tAuCeqf24Y0ofsgsdLeYKyh1dAIYkRnDvO5tZvCObOWf3Yf7a9GpdMyOCTDz202H8/Zt99I8PY9fxQiKCzcw5uw/f7DzBsCTHDEErDuQxa2Jv0vNLGdkjkrzSKoxK8da6M9etILOB0AAT+Q2Mm+YSGxZIbFhAgzN9RQaba3WhdH1buvJAHvdfMICXlh3EYtN0jwjinAGxbDlaUGsctuYYmhhRLQk0fUgCucUV7kHx62M2KrqFBnCy6Mx1ZnD3cE6VVmE2GkiKCqpz9sNAkwG71lhsTfs/FGQ2YFDKPQi9p4ggE0X1jGUGjq4dAxPCqbTY3K0RJ/btxqCEcN5en+muF2GBJv5w2RCiQsz8+sPtlFRaGdUzigPOaWLH9opi34niamPb9YsLxa5xd30GR7I/JMBIaaWNe6b2Y+HGoxSVWzirTzd+2Jvjfv91dYUe3D28WbPADUuKILuwotaEAzWFB5oobmBmw/7xYdw2OYWbJ/TyyocSSSB5X1Puv5zLfXIP5k0vLzvE/DXp/PDr8xodu6+sysqmjNN1dl/pSLTWXPHSGhLCA/nHNaP8cky206VVrDyYx4VDEggOMLLucD4D4sPaZRzBmlyzP00dFNekbtV2u+aKl1Zz6fBE7pnar9H1W8Nu1yzfn8uEvt3c9be4wsLmzALOq6cVcGex8kAuv/1oOy/ePJaxvdr+y4uWWHc4n0EJ4X6V9GgPdrtmxYFcJvSJqZUo6hLqSSC5aK25c0Ea3SOD+OsVI9otrKboFAkkT9769qs17HaNTetqg+JVWe0EmAzu7iSu53VxrdNSrr+Lza4xKIXB2TXIVabWmkqr3dllyDG4XoDRgE1r7FpjVAqjwdECwPXByFEW7mUGBVbnawFGA8r5XGvc79Ni05iNjn24BhkPMhux2x37aco3g/7Gdewb+vvVfP82u0Y3cDysNrv779icOFpSh5qznWvdmr9rvm6x2TE5Y/d83fM4eJ4XZqNyD8Zus2t39zxXqxRPrrI963bNGFz7rSvOhs7Dmu+jZgw1y3OdKzUThvXtw3WOmAwKm/O8s2vHtUNrV4LE8R6VcswIaLU7zlWDQbnHmwowGqiy2d3d8apsdgJNBnfMJoOiynmcTEZDtWuR6zi7Yq7vmm6162rvz3Vts9t1tf3Z7No9voLrm+m6pth2xRxoMrivE4D7cc2/U6XV5m4F6TpervHaXDF7xmhQCqVwdyHTGpRybOt5PXIxe9RBrTVWu652zA1KuY+ZK2njeYxd19Ca1zXPYw2Oeug6n23aEa/r+ulZruN94f4/UvNccVHKUQ/MRoP7+uyqV6737/qbuc5Bi81Rlud7cNUFSx2zdwQYDY565zwPlcJ9PG12jfGiCzFpO/z4o1e/zZYEkvc19/4LOuY9WEu19t5LCOEbcu4Kv9BIAgk6bl1uy3swb41qmgV4dnBMdi7zGwaDwkD1P77rA6SrUjT0obW1Fce1vcmoai1zPa6r2XHNmOHMB0vPD8WuxzXH2zbX2F+AyZU0gCDDmZXrOj6dRVP+djXfv+N41r9dSxJtLa1DzdnOtW7N3zVfr2/aUs/jUPO8cFUlV12r73ypWXZ9MdQXZ2PJo7piq6+8+pqU1rcPz3PEdRwMqGoXVqMCo8e543nOeZ7DnueX52PXvutappTCWCPk+v7+ZqOirp4KBoOqVrbRoKrFWzPOasud67mOQc3HnrHUHNzf8xidqWe1Y6xr1zWvRx6vuH977s7zcV3XTs+/b2PXfUd5Bve65nr+nq443fWijnOl/u3O1Ku63r/nMfbcpmZdq7ZNPeeh2Qj8+EMdWwg/5ff3X63REW/ahRCNk3NX+IUGEkcuXaEue6v5yEZggFKqj1IqALgB+NxL+xJCCCGEEHL/JYQQQggv8koXNgCl1AzgeRzTyL6utX6igXWLgX1NKDYSaHgwjrbdzh+3bc0+W7u9v8Xcmv3GAg2Pkt32+/a3uijb+se2ranLck327j5bu31Hi3mQ1tr709p0cc25/3KunwsUUPffrK7rQ3PqR0dYtznXuI4Qb13r1vceJF7vrRsLWHwcQ0vXbUqd70jx1qXme+jo8Xpqbt3xVhytWbexOtTR4q3Jn+sPtP3/rVggVGvdNgOqaa19/gOkNXG9eS0sv0Xb+eO2rdlnV4u5le+1SXW2Lfftb3VRtvWbbVtcl+Wa7N19draYW3vdlB/v/TTnb9ac+tFB1m1yvesg8dZat773IPF6b10gzdcxtHTdptT5jhRvfcff1zG0V93pCDHXXLexOtTR4u1M9acpx7+55bb1/Ze/jYD8RTtv54/btmafrd3e32Ju7X5boyX79re6KNv6x7atIddk7+6ztdv7Y8zCN5rzN/O3dZujI8Qr68q6sm7XWrejxCHrdpx1m6Pd77m81oWtWUEolaZlZhbhR6TOis5C6rJoL1LX/E9n+JvJe2h//hZvXfz5Pfhz7C7+/B78OXYXf38PEr93y+soLZDm+ToAIZpJ6qzoLKQui/Yidc3/dIa/mbyH9udv8dbFn9+DP8fu4s/vwZ9jd/H39yDxe7G8DtECSQghhBBCCCGEEEJ0XB2lBZJoIaVUSSOvL1NK+W0TPtE1SD0WnYXUZSGEEEII0VmZfB2AEEIIIYRoHqVUOlAM2ACr1jpVKdUNWAikAOnAdVrr076KUQghhBCdi7RA6gSUUlOVUl96PP+PUuo2H4bUaTTWmkC0HanH3iV1uf1IXRbtaJrWerTH4JgPA0u11gOApc7n9VJK2ZRSW5VSu5RS25RSDyml/PLe0J+vcR5/B9dPSgPrVru+tDellFZKve3x3KSUyvVlTC2llLrC+X4G+zqWpupkx99vz1kXf2117I91vyal1O+d/7u2O6+bE3wdU3MopZKVUp8ppQ4opQ4ppV5QSgU0sP4DSqmQ9oyxPh1iDKTY2FidkpLi6zCEEEII4SWbNm3K01rH+TqOzsLZAilVa53nsWwfMFVrna2USgSWaa0HNVBGSUxMTKjcgwkhhBCdV1veg3WILmwpKSmkpaX5OgwhhBBCeIlSKsPXMXQyGvhOKaWB/2mt5wEJWuts5+sngITGCpF7MCGEEKJza8t7sA6RQBJCCCGEj02d6vi9bJkvoxBNN0VrnaWUige+V0rt9XxRa62dyaValFJzgblAcG5ubjuEKtrakbxS4sIDCQvs4rfyct0SQoh25Zf93Luy55fs54Jnlvk6DCGEEEL4kNY6y/k7B1gEjAdOOruu4fydU8+285zjJpXHxUmvQn9SUFbFo4t2cP4zy/jpv1eRmV/m65CEEEJ0IZJA8jPPLznAodxSX4chhBBCCB9RSoUqpcJdj4GLgJ3A58Bs52qzgc98E6Foa3a75oO0o5z/zHIWbjzKdeN6crqsiitfWs2WTJloTwghRPvo4u1ehRBCCCH8TgKwSCkFjnu5d7XW3yilNgIfKKVuBzKA63wYo2gje7KL+MOnO9mUcZpxvaN5fOZwhiZFcFduX257YyM3vrKOF24Yw8XDuvs6VCGEEJ2cJJCEEEIIIfyI1vowMKqO5fnABc0oKrjNghJtrrjCwnPfH2D+2nQig838/ZqRXDM2GYNBAdA3LoxFP5/M7fPTuPvtTfzp8qH87Ow+vg1aCCFEpyZd2IQQQgghuiCttdHXMYjatNZ8vu04FzyznDfWHOH6s3ryw0PncV1qT3fyyCUmLJD37pzIRUMT+L8vdvOXL3Zjs9c5droQQgjRatICSQghhBBCiA7gUG4Jf/psJ6sP5jOiRySv3JrKqJ5RDW4THGDkpZvH8cTiPby++gjHC8p5/obRBJklPyiEEKJtSQLJT2mtcY59IIQQQggh/Fh5lY1//3CAV1YeJshs5PGZw7hpQm+Mhqbd6xkNij/9ZCjJ0cE8vng3N76yjldvTSUmLNDLkQshhOhKJIHkp+wajJI/EkIIIYTwa9/vPsljn+8iq6Ccq8b24JFLhxAX3rLEz5wpfUiKCub+97dw1ctreOO2s+gbF9bGEQshhOiqZAwkP2W1230dghBCCCGEaKGjp8q4/c2N3LkgjdBAIwvnTuTZ60a3OHnkcsnw7rw3dyLFFVaufnkNaemn2ihiIURX9cqKw1z83ArWHMzzdSjCxySB5KdkgEQhhBBCCP9TabXxr6UHmP7sctYdzuf3M4aw+JfnMKFvTJvtY2yvaBb9fDJRIQHc9Op6Fm/PbrOyhRBdh9aaf367jye+2sOx02Xc/Np6nv5mLxabNGboqlqVQFJKpSuldiiltiql0pzLuimlvldKHXD+jm6bUIUnSSAJIYQQQviXFftzueT5lTz7/X6mD0lgyUPncee5fTEbGdKo0gAAIABJREFU2/473d4xoXxyz2RG9ojk3nc3M2/FIbSW+0chRNNorfnLl7v5z48HuT61J+sevYDrU3vy8rJDXPPyGjLyS30dovCBtvhvNU1rPVprnep8/jCwVGs9AFjqfC7amCSQhBBCCCH8Q3ZhOfe+s5lbX98AwII543nx5rEkRgZ7db/RoQG8fccELhuRyN++2sufP98l95BCiEbZ7JqHP97BG6vTmXN2H566egThQWaeunokL908liN5pcx4YSWfbD4miekuxhuDaM8EpjofzweWAb/zwn66NKv88xdCCCGE6NAsNjtvrk7nuSX7sdk1D104kLnn9SXQZGy3GILMRv594xiSo4P534rDHC8o5183jiEkQObSEULUZrHZeXDhVr7cns0vz+/PgxcOrDb794wRiYzqGcWD72/lVx9sY/n+XB6/YjgRQWYfRi3aS2tbIGngO6XUJqXUXOeyBK21q6P1CSChrg2VUnOVUmlKqbTc3NxWhuE9ucWV3P/+Fkorrb4OpRr59kgIIYQQouPKKargqpfW8MRXe5jUN4YlvzqPX1wwoF2TRy4Gg+KRGUN4fOYwftibww3z1pFTXNHucQghOrYKi42739rEl9uzeeTSwfzqokHVkkcuPaKCeW/uRH514UC+3J7NZf9ayebM0z6IWLS31iaQpmitxwKXAvcqpc71fFE72rPVmenQWs/TWqdqrVPj4uJaGYb3PPPdPj7bepzPth5v0fbzVhxiye6TbRyVJJCEEEIIITqq9LxSrv7vGg7llvDfW8by2m1n0bNbiK/DYtakFObNSuXAyRKuemkNB3OKvb7P4goLO44VUmm1eX1fQoiWK620MufNjfywL4e/XjGcu87r1+D6RoPilxcM4IO7JmK3w7X/Xct/fjggn1M7uVa1XdVaZzl/5yilFgHjgZNKqUStdbZSKhHIaYM4fcbVVcxkrJ15bYq/fbUXgPSnLmuzmEASSEIIIYQQHdHOrEJue2MDNrvm3TsnMrpnlK9Dqmb60AQW3jWROW+mcdVLa5h3ayoT22AGOK01OcWV7D5exK7jhezOLmLX8SIy8ssASO0dzfw54wkNlK5zQnQ0hWUWbntzA9uPFfLsdaO4ckxyk7cd17sbX91/Dn/4dCf//G4/Kw/k8dz1o0mK8u4Yb8I3WnwFV0qFAgatdbHz8UXAX4DPgdnAU87fn7VFoL5idU5RaDK0LIHkLTIGkhBCCCFEx7LmYB5z39pEZLCZBbePp19cmK9DqtPI5CgW/Xwyt72xgVtf28A/rh3JzNE9mry9za5Jzy9l1/Eid8JoT3YReSVV7nV6x4QwLCmCa8clE2gy8tQ3e5nz5kbe/Nl4ggPavxufEKJueSWV3PraBg7kFPPiTWO5ZHj3ZpcRGWzmXzeM5ryBcfzps51c+sJKnr56BJcMT/RCxMKXWvMVQAKwyNkn0gS8q7X+Rim1EfhAKXU7kAFc1/owfaPSauNTZ9c1YwdLINnsdl+HIIQQQgghnL7akc0D72+lT2wo8+eMp3tkkK9DalDPbiF8cs/ZzH0rjfvf38qx0+X8fGq/WuOdVFhs7D9ZzC5Xy6LjRew9UUxZlaNLmtmoGBAfzrRB8QxLimBoUiRDEsMJrzGgbnxEIA8u3MqdC9J4dXYqQWZJIgnha9mF5dzy6nqyCsp5dfZZnDew5UPLKKW4Zlwy43pHc//7W7j77c3cOL4Xf7x8iAza34m0+C+ptT4MjKpjeT5wQWuCamunSquIDjHXOQBYQ5bsPtP7zqAUy/fncrygnBvH92rrEJtNWiAJIYQQQnQMb63L4E+f7WRcr2hem30WkSH+MRtRZIijpdRvP9rOP77dx7HTZfxkZJK7+9nu40UczC1xD50QHmhiSFIE16X2dCaLIhgQH06AqfFhVWeO7oHFpvnNR9u4661NzLt1nE8GFBdCOGTml3HTq+soKLOwYM4Exvfp1ibl9okN5aO7J/PM9/v43/LDbDiSz79uHMOwpMg2KV/4VqdPBe47UczFz6/g6atHcP1ZzUv8mD3GPbLa7cx+fQNAh0ggyRhIQgghhBC+pbXm+SUHeGHpAS4YHM9/bhrrd92zAk1GnrtuNMnRwbz44yHe23AUgISIQIYlRXLh0ASGJUUwLCmS5OhgDK1olX/NuGSsNjsPf7KDe9/ZzEs3j2tS8kkI0bYOnCzm5lfXU2Wz8+6dExiZ3LZjtQWYDDxy6RDO6R/Hrz7YypUvruF3lw5mztkpzW7U0Vx2u+ZIfinHC8q9Un5IgJGUmFC6hQZ4/b10RJ0+gXQ4twSAH/bmNDuB5HkDUGXtWF3GJIEkhBBCiK5mzcE8As1GxvWO9nUo2OyaP3++k7fXZXLNuGSeumoEJqN/JkMMBsVvLh7MuQPiqLTaGZoUQWxYoFf2dcP4Xljsmj9+upNfvLeZ/9w0FrOfHjch/NHOrEJufX0DRoNi4dxJDOoe7rV9TRkQy9f3n8PvPt7O41/uZuWBXP5xzSjiwtvm+uLqYusYi62I3dlF7Mkucnex9abIYDN940LpGxvm/B1K37gweseEdOouup0+geT6R26xNT/h4tlNrCUJJG8meaQLmxBCCCG6irySSv7vi918sc0xNuWMEd155NIh9OwW4pN4Kq02Hly4la92nOCu8/ry8CWDO8U30RPaYDa2ppg1sTcWq52/fLmbBxdu5fnrR/tt8k0If7Ip4xS3vb6RiGAz79wxgZTYUK/vMyYskFduTeWtdRn8dfEeLn1hJc9cN6rZ4y0VllnYle0Yh82VMPLsYhsWaGJooqOL7dCkCHp3C/HKOMbFFVYO55VyOLeEw7mlrDqYy8ebj7lfVwqSo4NrJZb6xoXSPSLI7/9XdPoEkqsbmsXW/ARQpeXMNpUtSCB57tNu161q8luTv7dA+n73SUxGxbRB8b4ORQghhBAdlNaaRVuyePzL3ZRW2nhw+kCUgpeXHWLJ7hzmTOnDvdP61Rqw2ZuKKyzMXbCJtYfz+cNlQ7jjnL7ttu/OZM6UPljtdv721V7MRgP/vHZUh5u0piPTWrPvZDFL9+Sw5lAeWkOw2UiQ8yc4wECQyUhwgPO5x/Jgs5FA5zL3crORIOdrQWajtArrhFYdyOPOBWl0jwzinTsmkBQV3G77Vkpx66QUJvSJ4RfvbWb26xu4Y0offnPJoFpjoWmtOV5Y4Z7h0ZUsyvLokhYfHsiwpAimD41nWFIkw5Ii6Bkd0qaftxsyrcbzkkor6XmlHHImlVwJpo3pp6q1hgoJMNLHmVDqExtKP2cLpj5xoYQF+kdqxj+ibAMtSiBZz/yxq1qQDPLcZ4XV1qajz/t7AunOBWkApD91mY8jEUIIIURHdOx0Gb9ftJPl+3MZ1zuap64awYAER1eL61J78vdv9/Lf5Yf4aNNRfn3RIK5N7en1BERucSW3vbGBfSeKee76UVw5Jtmr++vs5p7bD4tN849v92EyKJ6+emS7fQD0R1VWOxuOnGLJnpMs2XOSY6cdH6iHJkYQEmCkqMJCeZWNCoudCouNcuePbsHHBpNBERpoYkyvKKb0j+Xs/rEMSgiXv4+f+n73Se59ZzN940JZcPt44sN9M0vkoO7hfH7fFP721R5eXXWENYfy+cPlQ8gpqnQki5wD+BeUWQBHa54+MaGM6RXFLRN7MzQpgqGJEW3WBa6thAWaGN4jkuE9qg8UrrXmZFElh3NLOOTRamnb0QIWbz+O50f6fnGhLH1oavsG3gKdPoHk6npmbWYXNptdV2uBtCur6EyZNjtBhsb7NXp2myuptLoTSFprrHbdqsy+vyeQhBBCCCHqYrNr3lqbzt+/3YcC/u+nw5g1sXe1D67dI4N49rrRzJ6UwuNf7ubhT3Ywf20Gf7x8CJP7xXolrsz8Mma9vp6cokpemZ0qrajbyL3T+lNltfPC0gOYjAb+duVwv+/i0ZYKyqpYti+XJXtOsnxfLsWVVgJNBs4ZEMu90/pzweB44iPqTwZoram02qm02N0JJVdyqaLKRoXVRnnVmdcqLTbKqxyPT5dZ2HAkn78u3gNAbFgAk/vFOhJKA2Lp0Y4tWDoTrTVZBeVkF1bQPy6M6NAAr+7vs61Z/OqDbQzvEcn8n51FVIh399eYILORv8wczjkD4vjtR9u46ZX1gGPg7cHdw7lkWHf3LI+Du0cQ6ictc+qilKJ7ZBDdI4OY3L/6/6YKi43MU2WO5FJuaYcbc7k+/vvXaCJXyyFLPQkXrXWd/6T6PfpVteeLd2S7H1dYbE0aGMvq0QKprNIGzvHJHvt8F/PXZnD4bzNanMXvbGMgFZRV8f7Go9x5Tl/+t+IQN0/oTWSwf0yBK4QQQoi2ceBkMb/7eDubMwuYOiiOJ64c0eCH1FE9o/jw7kks3pHNk1/t5aZX1nPR0AQenTGkTcf22HW8kNmvb8Rqt/POnRMY28v3g3h3Jg9MH4DFZuelZYcIMCoe++mwLp1ESs8rdbcy2ph+GptdExsWyIwRiUwfmsCU/rFNnu1PKeXu1hZJy+6tswvLWX0wn9UH81h1MI/PnWOR9YkN5ez+MUzpH8ukvrFEhsi9e01Wm51DuaXVumLtzi6isNziXicxMsiRMEmMYKizO1ZydHCbnAPvb8jkkUU7GJ/SjdduO6tDdZO6cGgC3z54LhuPnKZ/vGOMoK7UdTLIbGRgQjgDE7w3iLk3dJwa5CWubmSWOjJ6j3yynfc2HK3VjUo30s6zwtK07KBnt7fiCqv78dvrMwHYkVXIqJ4tmzLRZvePDGVj9p8sZk92EUv25PDFtuOcLqvif8sPcyinlGeuG+Xr8IQQQgjRDqqsdl5edogXfzxIaKCR564fxRWjezTpA5RSistHJjF9SAKvrTrCSz8e5MLnlnPb5BTuO39Aq7+QWnson7kL0ggLMvH+3En0j/evm31/oJTiNxcPwmKz88rKI5iMBv5w2ZAuk0Sy2TVbMk/z/Z6TLN2Tw8EcxyzSg7uHc/d5fZk+JIFRyVE+6z6WGBnMNeOSuWZcMlprDuSUsOpAHqsP5rFocxZvr8tEKRjZI5Kz+ztaKI3tHd2pZ6KqS2mllb0nitl9vNCdKNp7otjdsiTQ2cJmxohEhiZF0CMqiIM5JY51jxfxw94cd5emiCCTs7tWpLs1Tv/4sGYlWF5deZi/Lt7D1EFxvHzzuCYnHdtTfHgQl41M9HUYohk6fQLJ3YWtjoTLexuOAo4kk+fJWHPA7GCzkXLLmfGQKpyPK6023lydzm1np9Qa/Auqd5v7yX9WuQdaHN4jkm1HC/j5O5tZ+tB5Lbq4NrdLXkd10XMrADjXOQp/kTMbX1heBcA76zO4cEhCg01zhRBCCOG/tmSe5uGPd7DvZDE/HZXEn34ytEVTyAeZjdw7rT/Xjkvmn9/t49VVR/h4cxa/unAgN5zVs0WzfH2zM5tfvr+VXt1CWDBnfLsOOtvVKKV4dMYQLDbNa6uOEGAy8NuLB3XaJFJppZWVB3JZsieHH/bmcKq0CpNBMaFvN26e0IvpQxJ8NstgQ5RS7lYTc6b0wWKzs+1oAasOOhJK81Yc5qVlhwg0GRjfp5s7oTQ0MaJTjZ+UV1LpTvy4xu45klfqHm8qKsTMsKQIZk/qzbCkSIYmRdA3NrTWdej8wQnux+VVNvadLK7WWundDRnuxgsBRgMDu4cxLDGSYT0cLZaGJNbu4qW15l9LD/Lckv1cOrw7L9wwhgBT12nZI7yryySQLDbNkbxS0tJPcW1qT15fdcS9TkGZpdpAXCWV1mplhAWZqieQnINrv7Mukye/3otBKe481zEDx4dpR/nNR9sBuG1ySrVy/rp4D7dP6UNYoCNhlFVQzrwVh/nlBQOa/b7sLRkNrwNz/Ttx5fm0PjN45qLNWXx0z2SfxSaEEEKItldWZeWf3+7njTVH6B4RxGuzU7lgSELjGzYiPiKIv18zilud4yP94dOdLFibzh8vH8o5A5o+bfR7GzL5/aIdjOoZxeuzz/L6OCXCkZz480+GYrE5WqQFGA08eOFAX4fVZrILy1myJ4ele06y5mA+VTY7EUEmpg2OZ/qQBM4bFEdEO84o2BbMRgOpKd1ITenGA9MHUlJpZcORfFYdcHR5e+rrvQBEh5iZ3M8xGPfEvt1Iigru8C2UtNaUW2ycLKpkT/aZZNGu40XkFFe61+sRFcywpAhmjurB0KQIhiVFkBjZ/OnagwOMjO4ZxWiPHio2u+ZI3plWSruzi/h+z0kWpjkaQigFKTGh7sGlhyVFsPpgHq+sPMLVY5N5+uoRLUqeC1GfTp9AqnQnkOw8/PF21h85xbCkSF788aB7nbOeWMInP5/s7s9eVnkmWWQ2KoJrXNxcWeCCMkcrmQJnaxmA+WvT3Y/fXJNOTX/4dCclHuXvzCps0fu6++3NzZ7B7JPNxzi7fywJHbA1j2tQcM/+wK7jnFtSWec2QrSHTRmnufrlNSz+5RSGJUU2voEQQohGrTyQyyOf7ODY6XJumdiL310ymPA2/uA8vEck78+dyLe7TvC3r/Yy67UNXDA4nkcvG0K/uLB6t9Na858fDvLM9/uZOiiOl24e26Yz6YqGKaV4fOZwLDbHwNpmo+K+85v/ZWtHYbdrlu/PZcHadJbtz0Vr6B0TwqxJvZk+JIHUlOhONe5LWKCJ8wcnuFvW5BRXsOZgvruFkue4ssFmI9EhZqJCAugWGkBUiNn5O4BuIWai3Y/PvBYSYGxRqzStNSWVVk6XWjhdVnXmx/O5+7GF06WOZZ49U4wGxYD4MEeLKme3smGJkV4d+8loUPSPD6d/fDgzR/dwv5eTzlnLXIml7ccKWLz9zLG9dVJvHvvJsE7V6kt0DJ3+v6FrHCKrTRPoTATN+NfKWut9v/skWafLGd0zqloLpECTkfjwQDJPlREWaKKk0uruwuZqlZSRX8ZnW7OYOboHtkaGJnrHOf6Ry+G80lrrfJh2FLPRwAMLt7L64fM5XVpFUYWlSbOKHMwpZvqzK/jgrkmM79PNvbygrIpffbCNET0i+eIXUxotp71VOlt1ZRc6piPVOJr2guP4XvPyGj66ZzIPvL+FT7ceZ9HPJzOmkQEsP9p0jPMHx9PND78xtNjsDPj91zw6YzBzz+3n63C6tO92nQBg5YE8SSAJIUQrFZRV8fiXe/h48zH6xobWul9pa0opLhmeyLTB8by5Op1//3CQi59bwaxJvbn/ggG1ZiOy2zWPfbGLBWszuGpMD56+ZmSn+nDvLwwGxZNXjcRq0/zzu/2YjQbuOs+/7ocKyqr4IO0ob6/LJPNUGbFhgdw3rT8zRyfRLy6s03bNqyk+PIgrxvTgijE90FpzOK+UTemnySutdCZpziRrsgrKOV1WRWG5hfo6WwQYDR6JpjMJp+gQM2GBZoorLNXKdCWECsqqqs2Q7UkpiAp2JKyiQwLoERXM8KQId9mxYQEM7h7BgISwDtFqynNmL89Wm4XlFvZkF1FptXPugNguU8dE++r8CSSPFkj2BmYuyzxVxsvLDgHw0d2T3MsDTQaSo4NJyzhNTFgAJZVWFm3O4tWVR1iy5yQAX27P5svt2Vw4NKHBAbj/ee0ofv3hNsAxa0hUsJnl+3PZmVXI8B6OD6aHckvcXeAA9p0oYs6baQCkP3VZtfGYCssttQaGXHUgD4DPt2W5b8iW7D7JHQscZbgSNC53zN9IUYWVD+6ahDe8vOwQT3+zlyNPznBfxOr6O7iy+9uOOVpk/bA3h9keXQDTMk5jt2s+3eqY9eHKl9Y02AIrM7+MX3+4jXMHxrFgzvi2ejteU3M2wBLnoOvPLzkgCSQhhBB+T2vNVztO8OfPd1JQZuHeaf34xfkD2u3DWKDJyF3n9ePqcck8+/1+5q9JZ9GWLB64YAA3T+yN2Wig0mrjoQ+28eX2bO48pw+PXDpEvr33IaNB8Y9rR2Gxa578ei9mo4E5U/r4OqxGbT9WwFtrM/h823EqrXbOSonm1xcP4pJh3bv8ODRKKfrFhTXYAhAcPRMKy52tgWokmU6VVVHg0Wpo/8kSTpdWUVBuwWbXGA2KaGdCKTo0gD6xoYzzSDI5XgtwJoscCaiIIHOnONcjg81M7Bvj6zBEJ9fpE0iLtmQBjtZCeQ10hVpzMM/9uHoLJAPJ0Y4B7JIig8nIL3P3Oa3px7257D1RXO8++sadmU52UEIYV45JZvn+XC7/9ypumtCLd9dnctHQ6n3/Sz26uwHYtKZvXCiHc0tJzyutNYubKwmx8kAeh3JL6BcXxlvrMtyvG2tcHJfsyQEcSZ2mXjiPF5Sz+3gR04c2Pk7B0984+j0XV1rdfbqr6mimVV5lq7Vs0eZj1Z7vOVHUaFyTn/qBt2+f4E6sHTtdBsALSw4wf206m/94YaMxL9yYydvrMvn8vrPbLXN/6+sbiAgy85+bxqCUcs/a5///yoQQQnR1Jwor+ONnO/l+90lG9IhkwZwJDE2K8EkssWGB/O3KEcya2Ju/Lt7NY1/s5q11Gfzm4sG8vS6DVQfzeOTSwX7X2qWzMhoUz143CqvNzl++3I3ZqJg1KcXXYdVSYbGxeHs2C9ZlsO1oAcFmI1ePS2bWxN4MSfRNXfdnRoOiW6ijWxtNHLbMbtdUWG0Em1vWxU0I0TSdOg2eV1JJRr4jgVBWZSO3uJLxKd0w1ZEoOV12Zuyd/JIzYxpNGRDrTtIkRDQ8I8hDH26t9jw8qHp+rm/smQTS9mOFTOoXwz+vdUxV/66za9t3u09W2ybfI+mltcZu1/Ryzsjgak20OfM0KQ8vZtfxQv78+S7A0e3rgmeWc6Kwotq3HcZ6Lqjp+bW70tXn2v+u5Y4FaVgb66/noaD0zPGtOcsdwKnSqlrLao59dNm/VtVax2bXfLTpGDa7ZlPGaQBueW09P/nPmXXXHMrjuSX7OVVaxfnPLGPRlmN1thTbk11EysOLeWN1OjuyCsktbp+xl+x2zcoDjj7h+046EpBFFY7j5c1/gNuOFrDreCHf7TpBTnGF1/bT1RVXWPhi23FfhyGEEO3Obte8uz6TC59dzsoDuTw6YzCLfj7ZZ8kjT0MSI3j79gm8cmsqdg13v72JtYfz+cc1IyV51MGYjQZeuGEM04ck8MfPdvH+hszGN2onR0+V8dTXe5n81A889OE2iiss/PknQ1n/+wv425UjJHnUjgwGRUiASZJHQnhZp04gnSis/qE4v7SKyf1juGhYwy1nHnJ2MwO4YkwPpg+J5183juGhiwY1uF2FxU7vGEdy55cXDGBQQjgAI5MjGdw9vFp3s7nOWduuGZfM+JT6+/4/9sVu9+N3N2RitWt6OKeQPZJXxvn/XMZVL60B4G2PlkYuE59cWq11j8GguPa/a3h+yf5qXcleWXm42nZ5JZX0f/Srai2zXLIKHIkrz6RbTXtPFLH1aIH7uedA41V1JJDynQmkcwacGefpcO6ZpNZtk1MYmVx9/BmtNe+uz+DXH27j3QZuJm56ZX21Mh9cuI21h/Kx2ux8vOmYOxG2xJm8c7UiO5hTUm+ZbckzUbZsXy5wphWcN/8FznxxNZf9axVz39rEL97dQlmV1auJjqyCcncXS1+4//0t/N3ZIg4c9eesJ5bwqkfdbyjG9zdkMu7x790DvoNjzLGN6aca3O8jn+zgF+9tYf/J+lsnCiFEZ3Mkr5QbX1nHo4t2MLxHJN8+cC5zz+3XoWYDUkpx4dAEvn3gXJ64cjgL5ozn2tSevg5L1CHAZODFm8cwdVAcjyzawUebjjW+kZfY7Zpl+3K4/c2NnPuPH5m34hBnpUTzzh0TWPqr8/jZ2X38biY1IYRoKq91YVNKXQK8ABiBV7XWT3lrX/XJLqzdqmJgQjhldXSXqs9ZKd1QSvHTUUl1vu45JhE4EkM3T+jt3DaaWa9t4L+3jCPJmfTpERXM9CHxXDU22b3N0KQINjTyIRTg94t2AhATFkiAycCK/bnVBuHOKaq7xcwqjyTQsdPlHDtdzsb007yy4swH5/c2HOWe8/rTKyaEU6VV/OWL3VjtmtdXH2Fy/7oH7155IJfB3SPq/CbxkuerD1Q+5800Lhwaz5NXjayzCxvA01eP4PqzeqG1ZvAfv6n293tw+kB+3JfDAwvPtPIqqrC6p9DMLa4kqI5+5Z5JKE83vbqeyf1iWHMon7ySSu46rx9GY/V0zaHcEib3j+XHfTkMT4okLrzhFmj1sdjsvLs+k7NSuhEWaOJ4YXm1/snHTp8Zl+qDtKO8sz6DG8f3cixoRQZp34liqqx2Hli4hRvH9+KOc/rWu25uSSWPf7mH9zZk0iM62D0jIcC3u04wqV9MnTdDP+w9yajkKGLCHMfmYE6xOwk2dVA8RoPiVGkl43p346f/XkV+aRWH/zajVf3M80oq2XGskGmD46std81o6BpPzFNppZXF27PpER3Mby8ZDEBRuZXc4kr+ungPt0zszbe7TvCXL3aTX1rFp/eeTUiAkYEJ4VidCaN0Z2vGgzklDOruSA5Pf3aF47UGxuNyte7znGFQCCE6M60197y9iayCcp6+egTXpfbs0K0CAkwG972b6LgCTUb+e8s47lyQxm8+2obZqJjZjvsvKKvio03HeHtdBun5ZcSGBXDv1P7cNKGX+z5fCCE6O68kkJRSRuBF4ELgGLBRKfW51np3w1u2rRPOLl5DEyPYne0YP2dgQhjTBsXTq1sI0SEBjOkVxZ0L0th1vPb4OnV9KPzw7knsyS7iT5/tontEEMOSIli6N8f9+uUjziSazhkQV6uM1Q+fX6vMhy8dTO+YEP7vi+qH5/XbUrn//a3u8XBcThZW0D0iiLWH86st94zDZUSPSHY4P1jXVFojkXYgp5iiCguX//tM96+aSQNX1yqAX33gaKn1xs/OYlRyFN1CA9iUcYr48KBa+8orqeS9DUd58qqRVFrqTuBdNLQ74PhGMCEiiMxTjg/sMaEBRIaY6eVs3eVy+5tOTYaLAAAgAElEQVQbSXN2W/vX0gPcN61/neXWZ80hx/Fbezifu87rVysB9/iXe0iJDeVnb2xkVHIkn91Xe/a61Qfz6BsXSmJk/TcOK/bn8ufPdzG4e7i7dZNrUPEThRVc/bKjBdnYXlFsznS02vr7N/ua9V5cth8rIMhsZPm+XJ74ao97+V8X76mWQLLVGMg8ITyII3mOFle//nAbuUWVXJvak1mTenPXW5sAx7gRAUaFwaCqJb0igky8dfsE0vNLuf/9Mwm+J7/e695P+lOXuVuZ3bEgjR1ZhXSPCOLJq0Zgs+taY3kBfLPzBGf3j6k1rfOdC9LYkllA2h+ms+ZQPpePSMRgUO56+8INo93TnOaVVLLvRDE2u8Zq12Tkl5FfUklMWCBHneNjAfzz2328uuqI+/kVL652x10z4fz1zmwGdQ93zxwIjiRhTnElGfmltWZLVM4sYF6NLpHf7MxmyoA4dmUVkhQVTM9u1eu3EEL4K6UU/7x2FHHhgSRE1L4nEKKlgsxG5s1K5WdvbuBXH2zD1G0gl53a79V97swqZMHadD7fdpwKi53U3tE8eOFALhnenUCT72fkEkKI9uStFkjjgYNa68MASqn3gZlA+yaQiiowGRQzRyexO7uIwd3D3dNm3jLxzDdNi395DgP/8DWje0ax4UjDLYHOSunGqOQo/vTZLuae25fk6GB34ubRGYOJDGl+k9Ugs5Gfnd2nVgLp/MEJTBsUz+c1uhXll1Yx5+wUHvtiN0mRQTxx1Qh+9sbGWuX+45qR9I8P40pnF7fG3D4/rday9UdO8f6GTP79w0GyCsrd3ec8ufZ9fWrPegcYd/n7N3sJCaj7n22Ux7G7dVJv/rp4D+cMiOWt2ycAMKZnFE9dNYLxfbpx/jPL3ckjl693ZrsfJ0QEMmNEIm+sTgdgxW+mseXo6WoJDpd0Zyuuk0XVW6xV2ezMem0DcGZ2OE/L9uVw2xsb6R0Twgs3jOGO+RuZNTGF+6cPqLaeK2nkOcD68cIKwgJNTHxyqXvZzNE93Akkl+IKK1uPFjAqOZKle3IY2zua8CATN85bR0igiV+c359XVx4mJTaUhy8ZzE//s7pWnHXJrzG+VF5JJQecXfZcrbZeX32EdzdkVFunLkUVVma+uJqY0OpTIXsmqQ7lnukO+IPzfMktrnQnff5w2RD6xTuSu8v25fCzNzeiNVwxOok//WQYWzJPc/7geJRS7q6RD3+8nSV7crBY7Vwxpoe7/Pvf38qwpAj6xYVxztM/Um6x8ROPFoTj/rqEV25N5cvtZ86r7/dUH3vsTKwnOXqqrNqyf/9wkN4xITy48ExX11mvredQbim5xZV0jwhiwe3jGejswqpxHIe31mVQWG5h5ugeHMgp5u63N3PZyEQWb3fU24SIQOza0V3z8pGJ/Lg3h/AgM1MHxXH7/DRuntCLa1N7crygnMO5pYQHmdiSeZqkqGAuGtadzZmnWbL7JGsO5bPwronVbmpLK62sPJCL2WhgZHJUna3ptNYs2ZNDau9ookMDyC4s52BOCecMaOLolU6VVhs3zFvHLRN6c/W45MY3wJGAW7L7JNMGx5NfWkV6Xiln19Pysa1tTD/Fo5/s4O07JjTpg+76w/kkRgbXSmg31RurHTN4vjVnQpNa4m04cor8kkouHZHYov2JrqcjtACHuluDCtEWggOMvDb7LGa/voH7rZezoCSL4Dc2EGQyEhxgJMhsJNhsJMhsINjsWBboXOZ4biDIZCQo4Mwy9zYBBgKMBqpsdr7akc2CtRlsyXQMin3lmB7cMrE3w5Kkbgshui7V0LTzLS5UqWuAS7TWdzifzwImaK3vq2v91NRUnZZWO3nRWlprCsosBAcYeWd9JrMn9W6w773drnljTTqxYQGkxITW2SqioX21tnn2j/tyiHN2BcotrmTa4Hje25DJI5/swGxUpP3+Qr7dfYIp/WNJigqmwmLDaFCYjQY+3nSs2thNH949ibOcYyt9s/MEMWEBrD2Uz7Pf7+e8gXEs35/rXnferHF8vfME3+460azufU31i/P7s+pgHltqJEcAkqOD3a1ZPFtraa1ZuPEo43pHM8D5QdzTT/+ziu11JHVcjjw5A4A7F2xyNDm+ZzKrD+Zx86vr61w/MthcrYvRFaOT+HRr9cRdWKDJPYud1pqiiuqz9bkGB/cc6wocM8zV7LYXFmhCa+1uBfb27RMIDjBy9ctrGNsriuMFFZzwSGh5lh8eaKK4snqrNHAM2l6ztVrN9+hit+s6y6hPza6afWNDq3WfdBmVHMm2Y4U8fOlgnvp6b63XGxMSYKy3DgaZDQSajLW6ggWYDASaDBRXWIkNCyCvpIqQACNGg6p2PMb0iqqzDjZHXHhgkwdXdx3vogoLNS+zNY9nU9Wspy5BZgMVljN1LDzQVC05UXObmnUUHDNVVnnUYdc2oQHGZo1Z4lm36tpPXYorLNRoFFftfPMm1/sMNBkanU7crrW7TjX1vdW3v/AgE4Ym/M8oLLfQPz6Mr+8/B7O3x46ZOtXxe9kyrxSvlNqktU71SuECcLcA349HC3DgxoZagHvrHkwIbyuusPCXnz9DRlAUlUOHU26xUW6xUWGxU1Flo8xiq9XiuimUApNBYbFp+sSGcsvE3lwzLrnF130hhPC1trwH81kCSSk1F5gL0KtXr3EZGbUHgBaOVhzz16Tz09FJxIY1PAaPa1Ds+r7V1lpTbnFMb/nO+kyUgvAgs3t8pwqLDbPRgAIWph3FZFBk5JcRZHZ8sOoXF8aWzNPccW5f9p0o5pPNWSgFV49NBjRvr8ukV7cQgsxGTpdV0TM6mH7xYUzuF0tppZWnv9mL3ZnUCw8yYzIork1NZvm+XAYkhHPJ8O5NPi7HTpfx494cUmJD+XbXCSxWTXCAEYvNzowRie7WC1prtHYckwqLjddWHeHcAXFsPVbAwPgwMk+Vsf9kMRabJshsZM6UFHcXPLtds2hLFj2ig0lLP0VeSfWZ4oorrBgUhAY6GvL1jQslI7+szpuVgQnhHMkrITYskLIqm/tDZEFZFRcP686lIxLdCcwrRicRExbIruOFvL0uE4vNTligifzSKrqFmFFKUVJppW9cKBVVNuza8WE0u7CC0korZpOBlJgQyqvsZBWUYbNDRLCpVhKj0monJjSAC4bE89nW4+SWVBJiNjI4MYKhiRGUVVnJPFWGyaC4aUJvvtx+nOzCCmZN7E1ooImsgnKW78vlijFJFJRZmL82nZmjerjHxFq4MZPVB/MJMBkIDTByqsxCgNFAXHgg953fn/c3ZHKyqILk6BA2pJ/CqBxTtgL0jw9j34lijAaF1ppTZZZqLZyKKixEBJkpKKsiKsSxPNBs4OdT+/PpliyOOJNbEcFmQgKMnC6t4mdn92HNoTzWHsrHZtdY7JpJfWM4kFPMqOQoRveM4r0NmZRbbNw6KYUP0o6SXVhBtxAz5RYbIQEmrhmXzLe7TnAkrxSTQZGa0o2SSiuBJgMZ+WUUlFVh09RqjVVaaaXCakdr7T6PXbEXllsIDzJRUGYhwGTAYrMTFxZI98ggth4tIDYskPiIQCosdorKLdjsmqIKC2ajgZiwAELMJk6XVVFcYSXAZKC4wlLntcLVhdBVh+qSX1rljt21n+iQgDrXbUheSWWj16v6tmnNflvK8303prDcQkiAscXJHNc1sFsT9xdgMjB7ckqdrT/bnCSQ/J5SahLwmNb6YufzRwC01k/Wt40kkIRfa+S6ZbHZqXAllqrsVFhtlFe5Ek0292vlVR7rWRxf/E3pH8vZ/WJbNW6jEEJ0BP6QQGrWDYzcvAghhBA+Jgkkv9fUFuDyJZ7oNLx83RJCiM6gLe/BvDUG0kZggFKqD5AF3ADc5KV9CSGEEKK15ANYl6G1ngfMA8eXeD4OR4iWk+uWEEK0K68kkLTWVqXUfcC3OAZxfF1rvcsb+xJCCCGEEIDjS7ueHs+TncuEEEIIIVrNK13Ymh2EUsWAa97ySKD+0ZHr15LtWrqvWCCvBds1d3/+cCw6+r5aul1Hf19SB2Vfvt6X1EHZV3O3GaS1rj0rgmgzSikTjkG0L8CRONoI3NTQl3hKqVyggJbVkca0tO5JuVKulCvldpQypVwpt73K7QVkeqlcpbVu3tTK9XEMMuzbHyDN4/G8FpbR7O1asa+0Fm7XrP35ybHo0PtqzxjbOT6pg7IvX+9L6qDsq1nbtLTOyE+z/wYzcCSRDgG/99bfWsqVcqVcKbejletPsUq5Um4d5eb6Q7neGgOpNb5ox+1auq+Wau7+/OFYdPR9tXQ7f3hf7bGvjn7MZV++21dLSR2UfQkv0lp/BXzVzM289XeTcqVcKVfKbc9y/SlWKVfKranAH8rtKF3Y0rQfzczib/GKzkfqoPA1qYOiuaTOCCGEEELUzVv3SW1drqGtCmqleb4OoJn8LV7R+UgdFL4mdVA0l9QZIYQQQoi6ees+qU3L7RAtkIQQQgghhBBCCCFEx9VRWiCJTkwpVdLI68uUUtKtQXiN1EHhS1L/REeilLpEKbVPKXVQKfWwc9n5SqnNSqmdSqn5ztncmlvu60qpHKXUTo9l3ZRS3yulDjh/R7dRudcqpXYppewtPXfqKfcfSqm9SqntSqlFSqmoNir3cWeZW5VS3ymlktqiXI/XHlJKaaVUbBvF+5hSKssZ71al1Iy2iFUp9Qvn8d2llPp7G8W60CPOdKXU1jYqd7RSap2z3DSl1Pg2KneUUmqtUmqHUuoLpVREC8rtqZT6USm123ks73cub9X51kC5rTrfGii3VedbA+W26nyrr1yP11t0vjUQb2vPt3rjbc0510C8rTrnGii3VedcA+W26pxTSgUppTYopbY5y/0/5/I+Sqn1yvG/dKFSKqA55fo1b4z03Vl+gBJfx9AZfho7jsAyINXXcXbEH6mD7XMcpQ62/NjJT+uPodQ/+WmvH8CIY3a2vkAAsA0YChwFBjrX+QtwewvKPhcYC+z0WPZ34GHn44eBp9uo3CHAoNacO/WUexFgcj5+ug3jjfB4/Evgv21RrnN5T+BbIAOIbaN4HwN+3Yp6VleZ04AlQKDzeXxbHQOP158B/tRG8X4HXOp8PANY1kblbgTOcz6eAzzegnITgbHOx+E4Zl0c2trzrYFyW3W+NVBuq863Bspt1flWX7nO5y0+3xqIt7XnW33ltuqca+g4eKzT7HOugXhbdc41UG6rzjlAAWHOx2ZgPTAR+AC4wbn8v8A9zSz3EmAfcNDjvL3P+Vw3t341Uu47zmU7gdcBc0vrm9ZaWiCJ9qGUmqqU+tLj+X+UUrf5MCTRxUgdFL4k9U90EOOBg1rrw1rrKuB94GqgSmu937nO985lzaK1XgGcqrF4JjDf+Xg+cEVblKu13qO13tfcsppQ7ndaa6vz6ToguY3KLfJ4Gorjw0Gry3V6DvhtS8pspNwWq6fMe4CntNaVznVy2qhcAJRSCrgOeK+NytWAq6VCJHC8jcodCKxwPm7puZattd7sfFwM7AF60Mrzrb5yW3u+NVBuq863Bspt1fnWwPGFVpxvjZTbYg2U26pzrrF4W3rONVBuq865Bspt1TmnHVwtyc3OHw2cD3zkXN6s800pZQReBC7FkeS6USk1FFgNTMeRoGy2Bsp9BxgMjACCgTtaUr57P86slE/FxsbqlJQUX4chhBBCCC/ZtGlTntY6ztdxdGVKqWuAS7TWdzifz4qJiVkg92BCCCFE5+W6B1NKPYijddPvW1pWs/u4e0NKSgppaWm+DkMIIYQQXqKUatE3asK75B6scRUWG9/tPslPRibi+NJdCCGE8B9KqQyllBmYBdzf2PoN6dJd2PJLKjmU2+DYpkIIIUTnNnWq40d0BVk4xvBwaXYXra7oH9/u45fvbWHVwTxfhyKEEMLf+e6+6yVghdZ6ZWsK6dIJpKn/XMYFzyz3dRhCCCGEEO1hIzDAOXtMAHCDrwPyB9mF5QAUlVsbWVMIIYTokBKBOOBXrS2oSyeQiivkRkAIIYQQXYNzwNr7cMwitAfHLDJCCCGE6NwigRu11vbWFtSlE0hCCCGEEP5GKdVTKfWjUmq3UmqXUup+5/JuSqnvlVIHnL+ja26rtf5Kaz1Qa91Pa/1E+0cvhBBCiHZmAtYqpbYqpf7U2oKEEEIIIYT/sAIPaa03K6XCgU1Kqe+B24ClWuunlFIPAw8Dv/NhnJ1CB5iwWAghhGiNnVrr1LYoSFogCSGEEEL4Ea11ttZ6s/NxMY7uaD2AmcB852rzgSt8E2HnJBOwCSGE6OokgSSEEEII4aeUUinAGGA9kKC1zna+dAJI8FFYQgghhOiEJIEkhBBCCOGHlFJhwMfAA1rrIs/XtNYaqLPzlVJqrlIqTSmVlpub2w6R+jfpwiaEEEI4SAJJCCGEEMLPKKXMOJJH72itP3EuPqmUSnS+ngjk1LWt1nqe1jpVa50aFxfXPgELIYQQwu9JAkkIIYQQwo8opRTwGrBHa/2sx0ufA7Odj2cDn7V3bJ2ZDIEkhBCiq5NZ2IQQQggh/MvZwCxgh1Jqq3PZo8BTwAdKqduBDOA6H8UnhBBCiE5IEkhCCCGEEH5Ea72K+hvEXNCesXRFKQ8v5tyBcSyYM97XoQg/N/Kxb0mKCuabB871dShCCNEkkkASQgghhBCiGVbsl8HHResVVVgpOlHs6zCEEKLJWpVAUkqlA8WADbBqrVOVUt2AhUAKkA5cp7U+3bowhRBCCCGEEEIIIYSvtMUg2tO01qO11qnO5w8DS7XWA4ClzudCCCGEEEL4HY32dQhCCCFEh+CNWdhmAvOdj+cDV3hhH0IIIYQQQrQb1cA0bOVVNooqLO0XjBBCCOEDrU0gaeA7pdQmpdRc57IErXW28/EJIKGV+xBCCCGEEKLDOv+ZZYx87DtfhyGEEEJ4VWsH0Z6itc5SSsUD3yul9nq+qLXWSqk62/06E05zAXr16tXKMIQQQgghhPCN7MIKX4cghBBCeF2rWiBprbOcv3OARcB44KRSKhHA+Tunnm3naa1TtdapcXFxrQmj2Y6dLqPCYmvXfQohhBBCCCGEEEL4qxYnkJRSoUqpcNdj4CJgJ/A5MNu52mzgs9YG2Zbsds2Up3/kvne3NGn9vJJK9p+U6TWFEEIIIYTwB0t2n6TPI4sp7gLjUuUUVZDy8GI2pp/ydShCiC6gNS2QEoBVSqltwAZgsdb6G+Ap4EKl1AFguvO5z13y/AreWpeBTTt61P2w92STtrvw2eVc9NwKb4YmhBBCCCGEaCPPL92P1nA4t9TXoXjd+iOOxNGba9J9G4gQokto8RhIWuvDwKg6lucDF7QmKG/Ye6KYP366k+tSk/l/9s47PKoq/8PvmUmHJHRCD70XESkWEBtWdO2ubW2oq+uqv9XF3bWtrn1ta0XsiIJgB0GpIbSQEHpIT0hCeptJps/c3x8zdzKTTHofzvs888zMrefces7nfAuAEAJcYpKiKM7/Pig3+P/IhUQikUgkEomkYRSfUT0lXRFBAynzJBKJRNJiWpuFrduhvvyFj2kSiUQikUgkklOX1fty6lipq+1Eh2wvNpu0oipe3XgcpYMb2+q4cHvu9Zu4E2xL9hnqVSKRSPyW1mZh6xY4PN74dh9v/6a8XBqyUpJIJBKJRCKRdH8eX3sIgKyXLnNPU9uJDkXxalNKGudPn8aRW27ktnnRDIwI6bD9qi329hSuln53GPC+ViQSicTfOSUskGweL3uH60XiqQU5mvBysckGg0QikUgkEskpy1++TuS3Y02LodmV2XSskOil68gqaf/4QDa7s/1cX1tbb7ISvXQdn8Rmtu2OXQ397tJ635Ve0tlFkEgkkiZxSghInlZHDofr2+ON0pTBCbPN0ax9/unTOJ747lCz1pFIJBKJRCKRdF0e+/ZgZxeh1fx48CQAB3Mr2n1fGteArS8PAIBCnRmAFXuy23S/NRZIbbrZejFa7PzeCnFx0zH/dIVLKdSTXCCzWUskVWab2z36SNgA0kN6d3KJWs4pISBZHTXij5qFzfNFtjw2o9FtWGwOYlKK2ZtR2qR9bksu5uu4nGaWVCKRSPwPk9XePiPMEolE0sHozbbOLkKrUa2BNB0QmkEN/1CfgKT48Axom/06v5viZdAWPPvzUe75Ip4jeZUtWl/rpz2yi96IYdGbMpu1RPLYtwe587N4skuruXza7Zw/4+7OLlKL8dPHlTdWD+uhoyfrPtjf3pza6DbMNju3fRLHDcv2tGnZJBKJxN+pNDqzWb6/Pb2TS9IxGCw2KgyWzi6GRCJpJpZmWpv7QlEU3t6cykcxjQ9OdhouTaU1AtKLvyaxOr7xgVJ1F/UdW3VgV6tpWwVJ3dp1H+ymSG/ymqe6zd32SZx7WqHOxPUf7qa0ytyi/WW63AF1xpZlb9ZqWt8lW3coH51JZo+WSLoiGcXOZ0S12d7JJWk9p4SA9L8tae7fJmvdF5ivabUxeyzzzE9H26ZgEolEcgrgzobTXYJRtJLz/7udGf/+vbOLIZFImonR0vqGvdFq5/XfU/jP+iSv6XqTFZPVuf0KgwWrvaZdWWm01hFY7A6FsmoLRoud6lZaPZmsdqrMNhRFobTKTIlLJGmN1c+H2zN4fE3joRpUkcpir0dAclkm5ZYbMVrsVBgsGCy2VtfZkxW7vd3jthx3uovFpBS7p30Sm0lcZhmrmiCK+cJ9LFt4TAM0wn1eWsMmP4jRJZH4I/6Ui+uUEJA2e6Rjrc+EtjE8YyB9tiurtUWSSCSSUwbhalF3dBrntuJQbgX5lcYmL59faWp8IYlE0uWottSIFluPtywmzSVv7fA5feozv3HVuzux2R3M+Pfv/MOVwQtg+rO/cedn+7yW/+9vycx87ncmP72ByU9vbFFZVC5+M4YpT29kxd4TnP78JvZmlgEt1jqahaYRCyR1usFiZ+JTG5jx79+Z8e/fW11nz8zJtd887ZFVubWvtyMnK5n1/CZ+SMxr1XYiQgJbVxCJRNKuKN0mtH/9nBICkt1ec6Ja2oHxbFQArUrjmlNmIHrpOqKXrmuxr7REIpF0F9Tnbnd9ZS5+ZyfnvLy1s4shkUjamG/jczhZUSMOGzwskPZkOmNe7kwrIT6rrMnbzC411DvveIGeLNf82tncYtO8s3BtSnLOb4skwOo+Nyd577M+qyCr3cGymHS3xVRtfLWlrXYHy3dkYLZ5r6NaIFnt3usoisKXe7JZ5sPVrzFXwkqjlU93ZjbYpveUiGovpu2CpgDH852Bpnen18RaTSvS89wvx9iRWuw8XruzKKuucY/+Ju4EhTrvAYvgQN9du6/2ZlOsb5mFk6/9dGdW7TvRrEEhiaQtUIVrR+s9pTudU0JAOukxGmxvoYBU26e5pdsB2JZcM6r13f7WjTSoWGyOel/0EolE0pmoz8uyagt//iqhk0tTF5PVXqfTs/idWM58cTPbXS4ONofC8h0ZXp1NiUTSfTFYbDy25hA3L9/rnubpwqaGLrh5+V7KDW0XVya71BkHY3Cv0AaXC28HS5LaVvj1ZRhedyifF9Yf581NvmOE+gr98M2+HJ5fl1Qn9lN9MZBSCqt48ocj/HqkoKnFd/PMT0d59udjbksqX3hqRLUDaXuGW2ory9iWaFKe+1bLpPEo3AWvx/BxbCa3fhzH8QI9T/54lP9bfQCAIp2Jpd8d5p4v4r3qZ7PXrc+JUgP//P4ID67c3+wyFuvNLP3uMHd9vq/xhbsBZdUW/r72MHd9Ft/ZRZGcYqh3dn3CfXfC7wUkQy3Loc1JLTNJzi337jS01BUO8HrLtNUgyOJ3Ypnw5Ia22ZhEIpG0IZ6Py/WHC+qMgncGFQaLeyR38tMbGf+vDXzpkUb6UG4lJytN3O4RZPX5dUn88aOmJ1JoqQuMROKv3LRsDy/9eryziwHUCESelghXvBPr/t2cRv4Xu7PqnWd3KEQvXef+r8a5iQgJAMDmsZ9/fn/YHdg53DW/Pt7Zkkr00nWc8Z9NTW6T1l7u8TWHSDxRXme5EJcVy7F8nc/tVPmIT2RwTatwiW1/+TqR/1t90G2BdMvHe5n1/CZ3u7y2aO+L+gZG1Wd3fQIY1LhOQ431a06ZganPbCS9uMo9z1brmIgmOvbVd8ybY13gaxtfx53wuawqwJVWW8gtNzD7hc2AU+DxFJB8XbdqNuqWxFiyudZtqfVSV0M1CCjoJhZVlUYrk57awM5aFoqS7ss17+/q7CK0Gr8XkL6O8w6GF5/ddDNkT3LKvU2Sa79wPOmM7DvHC/Qdvk+JRCJpCrVdfj/cXtfNoTnoTFZu+ySuVdZAF7wew8znnIGu1Ub8kz8cadSSM6se95SXNxxn3aF8r0b27oxSn8t2BEU6p/hV2YaWExJJc6kwWDjhcc/szijlg07IxpiUr8Nqd5BcoHc/e0yub7XDX7szn1qoJ8uVWas+FEXhcG4lT/1Yf3KV2iEQSqqcbcSewU6ByFME+WrvCWJSiinUmQgO8G6i1w558NpvKYCzY2/0eG4pisKRvEp32TytXHy1Xf/w3i6+25/Lvqwyd+Bq1d2svoxingGuj56sxGp3uLOoqe3lnw+eZO3+XFKLasSakiozh3Kd9WhKApvS6obb04qiYLLaSS300Qb2sjJynt9nfz6K3mTjhwMn3fOsLbQG8FyvymxzZ2GzeihIqYX6Bt8pnqfD4mE5VGm0et03tfm9lvujp9WRL/e/xqysdCZrvdd6W2Qm7EpU1Lqmj56sbJ1RgA9SGjnvDVH7mjmSV4nBYufR1Qd8CrfNxWixk1Yk+4ydQX1GIw6H4jNLfFfG7wUkY60Xd33B5VJ8vXw8qJ0NIt3jhVibVftalsFBIpFI/JHajbO4rDKebqDD1Rg/HzxJTEoxb2/27V7RGCmFevdIbG13i398d5hHVx1o9jbf35bOAyv3M/+VmlhJLTUw3ZFaTHkjHaeGOO2tuw8AACAASURBVFHqHJ3enlLMtwnyfSTpPK77YDfzX93aqQH08yuNXPLWDv6yMpFFb8a4M+mqAoZqvVHbYn1fVjnnvratwW1/tz/Py2rJF6Zamd1UkVk9Ir6saOa8sJmAWmndL/9fLBuO5Pvch2fZv43P5fL/xfLwqgNc8U4svxyqWac+i51HVx/kug92c88XTrce1ZWv9jFR8ezIXvZ2LP/bkuaO77HxaMMWpqpQoW9CuvmSeqxePK+mh785wIVvxNTpsAdqPS2QFN7ZksYmlxdC3x5B7nktFUg832t3fBpHoc5ZVqtre3qTlQvfiOHva+vPVOdpOeQ5qLL4nVjmv+odd0+1BPJ1K3lux5cgpl7r9d2F13+wu95rvSlCX3fCc5D/SF4ll70dy7tb0xpYo3mUV1u46I0Y/vH94cYXroXRYufCN2J4xKMNol5nhTozt328t75Vm8zDqxK54PW694uk/alPQHp/ezqXvR3LodyKji1QK/B7AalPj2Cv/0dP+jbH/XRnVoPb0Rm9X6Jf7skmJqWYFXuy2eMxymx3KHzukaUteuk6Nh51+ncrikJOmYEnfzjinl9b8VcUpVUNLV9BudsiLa1EIpG0FF8x4xKya9wminQm1ibkNnl7ga6O1Tf7clj0Rgx2R/Oemx9urxGNaqfa/i4xj+8ayYLjaVFVrDezal+Ny4GnJcCHMRn8cugkOWXOkeS0Ir175DgpX+eOh6coCg6HwskKI5/udMa7uLOZ8SYURaHCYOHL3Vk89VPNO8Zid2C2OVN4Ry9d1+BxNlrsFOlMXi41EklrUK1PitsgPXlLUdtvG1xtsa/jcvhyT7a7A1UjIDW/rfR/3x5scP7u9FJ3yniVE67nwb7MMt7dmlavgLHucF2x6GBuJU//eIRKo5UgbU0T/oGv9lNQaeKZn46SmOPshPzosrL5y9eJ7uWqGhFtdqWXMveFzTzuEj3qOya1B1Xf3pxar7VSbZJdA7Z6U+PWFGr7WWXL8UKil64jRo1NZ1fc53XVvhye/vEIT/14hAlP/srOtJq2+dqEPN7YlOL+79l5zq808fA3iW7LqKbiafWzL6vmfaZaeZW6LM32NGCJ6ilCeR4PX4HY64tHVVpt4UmPARnP6ymvwsi/fjjMY2uc5zOjuJp9WWUU6kz89ZtEdqWV8MxPR91eDL4SBLVGaGio7ioOh8LLG467LbjAKYL9++djJGSXcdOyPXzYRKvFSoOVZ3462mC/p9J1nZZVW1i73/k+PJhT03E/mFPRLEHJ7lB4cX2S+z2vc91jnsHQa/P+tnSfYoG67maPZ4bNw6Jt/4nmCQxbjxexupZRQ0xKide+JB1Hfe6xr25MBuBkRfdwqwRo2MG6FQghLgbeArTAckVRXmqvfTXEqvimjb5+HXeCqUMi+eOc4V7TNcJpYvrTwZNe09ck5LLGoyGe9dJlAHyfmOcVtBtg+Y4MFk2O4sGvE1l3yLtB4PmQsDsURv9jPQ8uHMPfFo1vUrnB2zT154MnmTIk0v3/y91ZPPnjUWL/vpChvcMa3Va12YZGCEKDtIDzwV5ptNLbY7RGxWS18/bmVB48bwxhQTWX0uakQkqqzNxwxvA660gkklMPX41SzzgN93wRz8HcShZOGEAfH8+a2gR4jCwnF+oZ/Y/1PLZoPA8sHFPvOnqTldc2JnP3OaNa7WZstjncz8g/f5Xg1XmozYMrE+kRpGXXE+dzwesxgPN9oab6PvbvRUx6qm666sQTFby68Th/PX8cH25P5+rTh2K02Pgh8ST/d9E4rzTUJVVm/vpNoleHSeWznVmsScglo9jZOH/m56NcMX0wQQF1x4+2HC/igZX72fjwfMZHhTfjiEi6El2l/eVpCZFTZqRXaOP3dntQ24UMnO6q3//5TMDZxjNa7O7YPW3JTT5ipqmCkt5s49WNyZwztl+Tt/dDYh75lSaCAjT07RlEvqu9uS+rnHu+iOdwI5l9PS2QnrhkAi/6iEflGRumvo64r2PqmVWuIdfZI3lOl6Gs0obdAwEvUQHgzlqBj5M9vAee/ql+q9basX883Zh2pBZ7ubQ1FVs9wY7U67602rnP4ABtvduoHdy7IXak+o6BU1uA9LzvHl9zsM574boPdvPaddP58cBJt8ioUmWx1fHUaI2AdOOyxmMGJhXoeH9bOvFZZXx7n/Oe3JZczCc7M/lkZybgdH2955xRXgHGffG/Lal8tiuLMQN6csvcET6X8bzPVeMBIZx9MIeicOW7OwFYMn8UgdrG7SyO5FXyYUwGB3IqWHXvPLd1Xn0ltdodvLzBed+pfUcV1SrP85xWmVt+/O/4zDkQdf0Zw9zT1KaD3mRjgHzNdzqeffhKowWT1U5IYP3PjK5Cu1ggCSG0wLvAJcAk4CYhxKT22FdDrEnI9VKVG+Mf3x/mie8O8ZZL5Xc4lGalT80orqKsuv5RttrikYp68aiq+PLYuilNG6KhlLFrXVne1NH+4wU6MkuqeeK7Qz7NXCc/vZHZL2xy/39naxqnPfc7xXozmSXVXi+ST3Zm8t62dK/R/G/jc7jr83j+vvYw8VllVBqsMlVmCyjSmbxStUok3RnVAulGj0aM5wj2QdfIb30j8SmFevdIbbHeTJyPzDv1ubOpljdzXtjM57uzOeeVrV7CfUvwfA6mNeDOrFJtsTP92d/c/y//3w73b1/ikcq7W9OZ++Jm/vt7Cle+s5MLXo/hna1pjHxiPdFL13Hrx3u54PXtzHp+k0/xCKBIb3aLR+BsNI7716/u539WSTVGjXMAQD0nPYK7fuNF4puu0v4C70ChJVVmrn5/p/t/9NJ13Ptl3SxImSXVRC9dx47U4nq3e8Hr27nj07h65wP8Z90xRj6xDkVR6rV0qfbomE18agOL3oxpcJvthafly631dHpVVMEor8JYxzqoMfEIaqxiAO5dMJqsly7jwkkD611eZ7K626gxKcVEL11HVkm1z05tkkfA7en//q3OfJV9WeXc/klcvRY1nvx6pIDopevQmay8urGu2NWcNr4nniLCC+u9t9tUUae+WKjqe6zI5dJ2oszAH97byRX/q+vq2JJ03ofzKnlxff2B6E1WB9FL1xG9dB155b7b33+rx3Ku0mAleuk6XtlQs31TAy5+d3wax4Wvb29SuT2trRa8upUlX8STlK/jsredx0XjMSjiq39S2QQLNzWumef6ap1WuwwKfAnFm5KKGP2P9Sz0cOPzvFcAPonNJHrpOvf7//ZP4ljk4Tq5N7OM6KXrSHe9b09WmtiZVsIT3x0ieuk67v58H9FL17GrAcskncezSk3CUdnCAa/G7o2mWABCjdWfamElaTmebrUqnu7A/1mXxJkvbelUl++m0l4WSLOBNEVRMgCEEN8AVwLH2ml/PtmV3nDE+vEDw71GL6Am6Lbd4aBXWNNHy/740Z56Hwr7ssq9MnDUZuQT63nlmmnuspisjjomhw1RpK8ZLfowJoOoyBB6uCyC1M7NX785wF+/8Y7rERURyqDIEADW7M91d8r0JhuL3ojhjrOief13p8nv8h0ZfBiTgUbAS1dPA+CVDU6Tu7c2p5JTZmDuqL5us2eAaz/Y7f49pFco/XoG8cc5wxEIdqWXkFtu5PpZNR1KcHYUY9NKuGn2cEJ9KLD/25pKTpmRRy4Yx48H8sgoqeaxRePp3zO4zrIt4bdjBVjtCpdNHdQm22sp6nF85ZppnVoOiaQtOOkSkc8dP4BvXM+2kioLj317kDOi+7iXu/x/sTxey/oytUjPRzuco5ADI4LdcSZqIwQ+n5uqC0RL3FPqY01CLpGhgTgUpUXpvY/k+Xal9oUqJPvKnlPfiHRTGPvPX5k0KMKZZWn2I7yS/is7Xe9MNbivpFvSJdpfAKP793SLI78cyq9z3W88WsjHsZle0/a7Brv++f0Rbj8z2ud204qqSCuqqrOuJ+oz471t6XWsWFRU95WW8tTlk0gvruKrvb6zZjXE+RMGuIXsn1xWIA+dP5bc8qZ10vZnVzSpQ10bow9rktevn87UZ7wFn79fPIGdaSXEppXwwfYMggI0fOI63q/9luxlAQnw9BWTePbnpl9isa6MUjfPGc45Y/tz34qEOssMCA+myBUD6e1NqSz3cb7js+u3/myIhtx39maWERJY/7WlUt/x35ZSjM5k83JhSnS5HtW+ZmvHaW0qDWUI9AywXV/Sh/r4aIdzQPi9ben0dbWrU1zubYU6c53yb012Cr0N3YsqH8dmoHW5n2eXGsguNXhdj5VGq3s7h324dy2PzagTlqQ2h13Pmz0ZpW4DAFVEe3zNIfQmG7sz6n9vembc/nRnJgMiQtz/n/vFeX2/tTmVfj2D2e5yo/xuv7fL+4rdNdlc//XDEffzR42/5ZmFsvZxyyypGZBa+t0hlswfXSdrbVOONcCvHi6wy2LS3cdebQutTcj1CiVQH2rSg9d/T/HycJE0H1/tUM84nDqTjdnRfeo8X7sioj1ULiHEtcDFiqLc7fp/KzBHUZQHPZZZAiwBGD58+OnZ2dk+t9UaCipNzH3Rmeby6plD6tzky2+bxQvrk8hoJMtGeEiAW6l97qopXjGMJBKJRNI01t5/Jjct29Os9NgN8cMDZ/HaxmR3Z6Q5PH/VFK49fSgTntxQZ94FEweyydVoG9E3jEunDuL9bencPm8En+/2/a66ftZQCnVmtqcU88q10zhnbD/mvbil2eX620XjiEkt8Wll1RH0Cgsk/p8XENAE0/3mIoRIUBRlVptvWOKmKe0v1/R2b4Ot3pfjNajUHRACzp/gvP97BGmprtXgv3hyFDqTlZMVRrY9thCAs17aQp5HRshFkwe6A0l7uompIREAPv3TGfzz+8PukAcBGsFPD55Nod7EHZ82Lf6ZViNanD3qtOG9+P7PZ7n/v7Up1StGUNZLlxGbWsKtn+z1GbTZkycumcC9C0Zz/Ye7yS0zMD4q3C0sqFwwcQBxmWUEBWjdYniARvDLQ2czISqCOz6NY/+JChwui7F754+iR3CAexCzIYb0CvU6/t2ZyNDAFgmDEomke7Bo8kCO5OnqfWY9dN4YHr2o6WFsmkNbtsE6TUDyZNasWUp8fF1T5rbAbLNjsyv0CA7AZHX6uPcPD8ZotdPTNc3mUAgO0FCkNyNwNiDUd3KQVkP/8GDKqy1otYKIkEAMFhsWm4Nqi52oiBDKqi1Y7A5XAGznelGRISiKc7SnymxzxwAJCdRitTsIDdQSFqylpMqCw6G4/Xq1QvgMONsYiqIQHhKIzmit4yOsFcJtzikECCHq7EctX1iQFpPN4dXQURQFIYT7u/a2wTtIbs/gABRFcdXbGa9Ece1DLZt6rHz5M3su52seONfz/N1WNFSujkS9L7uDCi2RNIWQAA19ewbjcChY7A6K9Wav54Hz2/e95zkfnM+xXmFBbksZg8XWoCVQkFZDoFag0QgUhzN2hTq6arU7cCgKGiEI0AhsDsX9rSi4YwXZ7A4CtBqK9WYvAUwAUREhzm0rCtUWu7tcOpMVk8X5jgkJ1FJtthEeEoBGI9AI4Y4vEhakxWS1oxHCHW/OandgdyjoTFYCNBoMFhtBARoCNRr3MdKbrAQFaBAITFY7ESGBhAZpMVhsRIYGYrUrVJttCAFhQQEEaoV7BKzCaMXhUBAClBtvQqM4YPVqIkMD280CSQpI7U9z21/Qvm2warONQK0Go9WORkCgVoPG1Saxe7SZPAnSahoUmQM0AofSeIgBz+0Eu+7jkEDnveZQFKx2pc509Tc4248CQVCAxn1/BmhEnWeU1e7AYnPQo4n3jWeMC6vdgcFiJ0irccdVU5cJDtC42wBqfEpwCkdGa8066vaqzDZCAjQEaDVYbA6MVjuhgVq0GoFWIzDb7JhtjnqzEZusdoTwjtlTbbZ5uWp5HtOQQA2KUnO81BgyWuF8fjoUBZvD+T84QON+tmo0wme8TZtDcR9rte7qOVFjNwUHaNznSlGcljg9grTuMtodClqNaDCGiM3ubL+HBmrd+9NqBBabg6AATbOsVQM0zrZ0oEfGPM9rVy2b1e5ACN+CX4BG0CM4ALPNeU6FEO7nNjif3eoxMdsc7nqrQdTVY+B53tXr2mxz0DM4AIeiYHf1dXQmG4FaQUiAFr3ZRmig1n09qdutff/Vd09qhNP1rD53PiEgPDiAaovdq+6e93CQVkOAx7up9j6DAzTuOjeFppRfPS8Wu8N97tR2gPrta3+e29G4+lN2h+I+FxqN04vE89yA8xjozbYGj7FKcICGAI3wEq97BgegEd4ubk0hLEiLxeaoc34ae8bWprnLS+onPDgAu6JguXARDiFw/LKOIK0GjcZ5v4YHB7Rb3687CEjzgGcURVnk+v8EgKIoL/pavj0bLxKJRCKRSDofKSC1P81tf4Fsg0kkEolE4u+0ZRusXYJoA/uAsUKIkUKIIOBG4Kd22pdEIpFIJBKJRLa/JBKJRCKRtCPtYoEEIIS4FHgTZxrZTxRF+U8Dy+qB5EY2GQk0nmKi9ev0A5obUKOjytbcdfypLtAx9fGnunTkOs2tjz/VpaX76ar18ae6tHQ/HfHc6Kp1aek6TanPeEVRZOLgdqY57S/X8u3VBmsJHbWfjt5XS+73luBv50meo+6xL3meuv5+OnJf/naOOnJf7bmftmuDOWO+dO4HiG/CMstasN2WrNNoWTqxbM1ax5/q0lH18ae6dOX6+FNd/K0+/lSXjiqbP9WlPevTkjrLT/t/2qsN1sKydMh+OmFfHXLt+9t5kueoffYF7AUO1PpM7SZ18qvz1BWuB3mOus6+2nM/bXleulOu3p87aJ2W0FFl64j6+FNdWrIff6pLR67TEfvoqnVp6X66an38qS4t3U9HPDdagr+dG0n3oStf491hXx2Fv50neY7aYV+KoszpiP10c/zxGve38+SPx65bnKN2c2FrViGEiFe6SGDNrlSW1uJPdQH/qo8/1QX8qz7+VBfwr/rIunRdmlIff6uzvyDPS/sjj3HXR56j7oE8T10feY66Jm15XtoriHZzWdbZBfCgK5WltfhTXcC/6uNPdQH/qo8/1QX8qz6yLl2XptTH3+rsL8jz0v7IY9z1keeoeyDPU9dHnqOuSZudly5hgSSRSCQSiUQikUgkEolEIum6dBULJIlEIpFIJBKJRCKRSCQSSRdFCkgSiUQikUgkEolEIpFIJJIG8XsBSQgxTAixVQhxTAhxVAjxV9f0PkKI34UQqa7v3q7pE4QQu4UQZiHE32pt62IhRLIQIk0IsdQP6vOJEKJICHGkO9elvu1007qECCHihBAHXdt5tqPr0pb18dieVgiRKIT4pTvXRQiRJYQ4LIQ4IISI7+i6tEN9egkh1gghjgshkoQQ87pjXYQQ413nRP3ohBAPd2Rd2rI+rnmPuLZxRAjxtRAipBvX5a+uehztjPMikbQ1/vZe8Uf86V3pz/hbO8Af8ae2jaRt6BIxkPr166dER0d3djEkEolEIpG0EwkJCaXAAeA+RVHSOrs8EieyDSaRSCQSiX+TkJBQoihK/7bYVkBbbKS1REdHEx8vB10kEolEIvFXhBBZwHbgauCVzi2NREW2wSQSiUQi8W+EENltta0uISBJJBKJRCJpAuee6/zetq0zS9FSNMClgFQr2gCXIKcH7IBNUZRZQog+wCogGsgCrlcUpbyzyiiRSCQSySlH926rNYrfx0CSSCQSiaQ2OWUGNh4t6OxinGqMxenCZu/sgvgRCxVFmaEoyizX/6XAZkVRxgKbXf8lEolEIpG0Mw+u3E/00nWdXYx2RwpIEolEIjmlSMrX8Yf3dnLvlwlsOJLf2cU5lUgGyoGUzi6IH3Ml8Lnr9+fAVZ1YFolEIpFIThl+OXRqtCmlgCSRSCSSU4YDORXcuGwPARoNE6LCWfrdYQp1ps4u1qlCEM74Rys7uyB+ggL8JoRIEEIscU0bqCiK2oItAAb6WlEIsUQIES+EiC8uLu6IskokEolEckpgEv4dJUgKSBKJRCI5JdibUcrNH+0hMjSQb++bx7s3z8RktfO3bw/icHR+RtJTgDHAA4qiVHR2QfyEsxVFmQlcAjwghJjvOVNxptn1eWErirJMUZRZiqLM6t+/TZKySCQSiUQiAcoDQzq7CO2KFJAkEolE4vdsTynm9k/jiIoMYfW98xjWJ4zR/Xvyr8smsSO1hM93Z3V2EU8FjimKsrmzC+EvKIqS5/ouAr4HZgOFQohBAK7vos4roUQikUgkpx5lAWGdXYR2RQpIEolEIvFrNhwp4O7P9zGqX09W3zuPqMiakaGb5wzn/AkDePHX4yQX6DuxlBJJ0xFC9BBChKu/gYuAI8BPwO2uxW4HfuycEkokEolEcmpSESAtkCQSiUQi6ZZ8n5jLAyv3M2VIJF8vmUvfnsFe84UQvHztNCJCAvjrN4mYbTJBmKRbMBCIFUIcBOKAdYqibABeAi4UQqQCF7j+SyQSiUQi6SDKA0I7uwjtihSQJBKJROKXfLU3m0dXH2R2dB9W3DWHyNBAn8v16xnMy9dM43iBnv/+JhOESbo+iqJkKIoy3fWZrCjKf1zTSxVFOV9RlLGKolygKEpZZ5dVIpFIJJJTgUCtAKA8UApIEolEIpF0Kz6KyeCf3x9h4fgBfHrHGfQIbjgjxvkTB3LL3OF8tCODXWklHVRKiUQikUgkEok/EBygBaQLm0QikUgk3QZFUXhzUwr/WZ/EZVMH8cEtpxMSqG3Suv+8dBIj+/Xg0dUHqTRY27mkEolEIpFIJBJ/weZwAFAmXdgkEolEIun6KIrCC+uTeHNTKteePpS3bzqNoICmv+ZCg7S8dcNplFSZ+ccPh3FmQZdIJBKJRCKRSOrH4VAwWZ0CUoUUkCQSiUQi6do4HAr/+uEIH+3I5PZ5I3jlmmloNaLZ25k6NJJHLhzHukP5fJ+Y1w4llUgkEolEIpH4E2abw/1bBtGWSCSSNsRss/P6b8lsOV7Y2UWR+Ak2u4O/fXuQr/ae4P5zR/PM4sloWiAeqdy3YDSzo/vw1I9HySkztGFJJRKJRCKRSCT+htFak8W3PPAUj4EkhBgmhNgqhDgmhDgqhPira/ozQog8IcQB1+dSj3WeEEKkCSGShRCL2rMCEomk+1CkM3Hjsj28vSWNe79MYOvxos4ukqSVOBwKVruj8QXbCbPNzoMrE/kuMY/HFo3n7xdPQIiWi0cAWo3gv9dPRwCPrj6A3SFd2SSSrkZnPnckEolEIvHEYLEBIAScCO6FP7ccm2KBZAP+T1GUScBc4AEhxCTXvDcURZnh+qwHcM27EZgMXAy8J4RoWgRTiUTitxzMqWDxOzs5nq/n1WunMW5gOPetSGBPRmlnF03SAkqqzLy7NY2zX97CtGd+49FVB9iZVoKjA8UWo8XOki8S2HC0gKcun8QDC8e02baH9Qnj31dNZl9WOR9sT2+z7UokktYTn1XG5Kc3UqQ3dXZRJBKJRCLB5LJAmjOyD+WBYeQER7rnHcqtoMJg6ayitTmNCkiKouQrirLf9VsPJAFDGljlSuAbRVHMiqJkAmnA7LYorEQi6Z58n5jLdR/uRqsRrL3/TK6bNYwv7pzN0N6h3P15PIdyKzq7iJImoCgKiSfKeWTVAc58cQuvbkwmul8PFk8fzO/HCrl5+V7OfnkLr248TkZxVbuWpcps40+fxhGTWszL10zlzrNHtvk+rpoxhMunDeKN31PkNSqRdCGySg1YbA7yK6SAJJFIJJLWk1FcxbKYlg8YGi1Oq9h5o/oBcKDnIAB0JiuL39nJI6sOtL6QXYRmxUASQkQDpwF7XZMeFEIcEkJ8IoTo7Zo2BMjxWC2XhgUniUTip9gdzqxYj6w6yGnDevHTg2cxaXAEAH17BvPV3XPpFRbIbZ/EkVyg7+TSSurDZLWzOj6Hxe/s5A/v7eL3Y4XcNHsYmx6dz8p75vLytdPY968LePum0xg7MJz3t6Vz3n+384f3drJiTzaVBmublqfCYOHm5XuJzy7nzRtmcMMZw9t0+ypCCP5z1VT6hwfz8DcH3ObJEomkczG67kWDxd7IkhKJb2x2B7cs38uu9JLOLopEIukC/JCYxwvrj1NlbllbT42BNH1YJCF2q1tA2pdZBkC2H8XUbLKAJIToCawFHlYURQe8D4wGZgD5wH+bs2MhxBIhRLwQIr64uLg5q0okkm5ApcHKHZ/tY1lMBrfNG8GKu+fQt2ew1zJRkSF8dfccgrQabvl4L9ml1Z1UWokvcsoMvLg+ibkvbubxNYcwWe08d+Vk9vzjfJ69cgpjBoS7lw0J1LJ4+mA+v3M2u584nycumUC12ca/fjjCGS9s4oGv9rPleCG2VsYtKdabuXHZHpJO6nj/5plcOaN9xyciwwL57/XTySyt5j/rktp1XxKJpGmoDXWTVQpIkpZRVm0hNq2EOFfnTiKRnNpUGJ2DnXpTywY91fdSeEggkwxFHOkxEIDd6c5QHaP69WyDUnYNApqykBAiEKd49JWiKN8BKIpS6DH/I+AX1988YJjH6kNd07xQFGUZsAxg1qxZ3TLOlNXuIFArE9lJGsbhUFqVEao7klak554vEsgtN/Di1VO5aXb9FiIj+vZgxd1zuOHD3dy8fC/f3jePQZH+nf6yK+NwKMSkFvPl7my2JBehEYKLJg3ktnnRzB3Vp0kBqgdGhHDvgtEsmT+KI3k61u7P5ccDeaw7nE+/nsFcNWMw15w+lImDIppVtpMVRm5Zvpf8ShMf/2kW54zt39JqNoszR/djyTmj+DAmg/MmDOD8iQM7ZL8SicQ3quWRtECStJRKV2exoo0tZCUSSfdEfRbojDYGRTaysA9Uy9jQQC2DzTqOqQKSK9arPw14NCogCWdv4WMgSVGU1z2mD1IUJd/19w/AEdfvn4CVQojXgcHAWCCuTUvdyZhtdp784Qg/HDjJNTOHcM85oxjVwL5gnQAAIABJREFU339URUnrsdodbEsu5tv4HLYcL2LmiN48uHAM54zt1+oMUV2dzUmF/PWbAwQHaFh5z1zOiO7T6DrjBobz+Z2z+eNHe7ll+V5W3zuvjrWSpH2pNFj5NiGHFXuyySo10K9nMH9ZOIab5gxvsaAnhGDq0EimDo3kH5dOZGtyEWsTcvl8dxbLYzOZNCiCa04fypUzBtOvkfOdXVrNHz/ai85o5Yu7ZjfpumpLHr1oHDGpJTy+5hAbHp5P/3B5fUoknYU60ivdSiUtpUZA8p/AthKJpOW0lQVSaJCWflYDJYFhWGwOjrtCdKjPHH+gKRZIZwG3AoeFEGr0p38ANwkhZgAKkAXcC6AoylEhxGrgGM4Mbg8oiuI3kltplZn7ViSwL6ucBeP6s3Z/Ht/sy+HiyVHcu2A0M4b16uwiSjqRlEI938bn8H3iSUqqzPTrGcy1pw9lW3Ixt30Sx7ShkTywcAwXThzod1ZJiqLw3rZ0XvstmcmDI/jw1lkM6dV04WHa0F58fPssbvskjts+iWPlPXOJDA1sxxJLAI6d1PHlniy+T8zDZHUwa0RvHrlwHJdMGURQQNtZWAYFaFg0OYpFk6Moq7bw04E81u7P47lfjvHi+iTOHd+fq2cO5fyJAwgO8E7cmVqo5+ble7HYHay8Zy5Th7ZgaKiVBAdoeevGGVzxv1j+vvYQH98+y+/FYImkq2J0WR4Z/WhEV9KxqNYGFX7UqZNIJC2n0iUm61oqILmCaIcGaulrM6ALCCGtqAq7KzvxKSUgKYoSC/hqJa9vYJ3/AP9pRbm6JMkFeu76fB/FejNv33Qai6cPpkhv4rOdWXy5J5tfjxQwd1Qf7lswmgXj+svOxSlCpdHKTwdPsiY+h4O5lQRoBOdPHMB1pw9jwfj+BGo1mG12vtufx/vb0rn3ywTGDezJn88dw+XTBhHgB26QRoudx9Yc5JdD+VwxfTCvXDON0CBt4yvWYs6ovnx46+nc80U8d362jy/vmk1YUJM8bSXNwGJzsOFoAV/syiI+u5yQQA1XzRjCrfNGMHlw+4szfXoE8aezRvKns0aSUqhn7f5cfkjMY1NSEZGhgVwxfRDXzBzKjGG9OHpSx22fxKHVCFYtmcf4qPDGd9BOjBsYzhOXTOCZn4/x1d4T3DJ3RIfuv0hv4p3o89kdMZyrtqZxy9wRUmSVnJIYpQubpJVIFzaJROJJuUG1QKpr2frG7ynMHNGbBePqD53gaYHUx2oEIC7T6b42c3gv0ov9J86r7Jk1kS3HC3no6wOEBWlZde88t6XRgPAQHr94AvefO5pv4nL4ODaTP326jwlR4dy3YLTfCARtjaIomKwOyg0WKgxWKgwWKoxWr//lBqvXPIPZxsRBEcwe2YfZI/swZUhkp8WgsjsUdqaV8G1CLhuPFmCxOZgQFc6Tl0/y6Y4THKDlptnDue70ofxyKJ93t6bx8KoDvLEphfsWjObqmUPqWF10F/IqjCz5Ip5j+Tr+fvEE7lswqlXi6bnjB/DWjafx4Mr93PtlAstvn9Vtj01Xo6DSxMq92ayMy6GkysyIvmH867KJXHf6MCLDOkeIcIoyE3l80QRi00pYm5DLt/G5rNhzgtH9e1CkNxMREshXd88hul+PTimjJ7efGc2W5GKeX3eMuaP6MmZA+7svVxqtfLg9nU93ZmEdMJ3JhkJe3ZjM+9vSuXnOcO48eyQDI0LavRwSSWdwotRA355B9AiuabIarFJAkjTMTwdP8r/NqWx4eD5aHxbfqoDUXlYBlUYrVWZbsyyxJZKWcOU7sdw4e3iD8UZf+vU4X+7O4ui/L+64gnUQxwt0jB8Y3mrDDdWdVefjmfDRjgwuLo9qUEBSYxyFBmrpa3VmXIvLcgbpnzm8N4k5FaQU6hnZrweBWg0Oh0JqUVWnDoy2FCkgNYKiKHwcm8l/1icxeXAEH902y2c8kPCQQO6ZP4rbz4zmxwN5fBiTwcOrDvDqxmTuOWck158xzG8tKUxWOxUGK5XGGuGn0lhLADJ4iEOueRZb/dmYQgI19A4LoldYEL1CAxk3sCdBWg2H8irZfLwIcN6gM0f0YnZ0X2aP7MNpw3sREti+QkNWSTVrEnJZuz+X/EoTkaGB3HTGMK6bNYzJgyMafXgFaDVcddoQFk8fzO9Jhby7NY0nvjvMW5tSuWf+KG6a3b2uk7jMMu5fkYDF5uDj22dx3oS2CS586dRBvHTNNB5fc4iHvk7k3T/O9HshtlBnIqukGofifO44FHAoCg5FQXH/xvXfc766vILDgXt5uzrNNX9PRikbjxbiUBQWjh/AbfNGMH9s/y7jSqnVCBaM68+Ccf3RmaysP5TP2v25BAVoWX5789wh2xMhBK9dO41Fb8bw8KpEvrv/rDZ19fPEaLHz6a5MPtiWjs5kY/H0wTz62bNEmys4tvInPtiezkc7Mvh0ZxZXzxzCkvkyHp/Ev1AUhcXvxnLb3BE8etF493ST6sLWDWIgWe0OPt+VxS1zR7R7G0VSw+HcClKLqqgy2XwOkLR3DKTXNiazM72ELf93brtsXyIBp0X5wdxKpgypbHC5D7anA87rvVdYUEcUrUM4nFvJFe/EsmrJXOaM6tvo8j8eyGP60F51BiTtDgWdy/JIV8sCyWp3YLDYKa1q+FmhM1rRagSBWkE/l4C0N6OMwZEhREWGoChw0RsxPHT+WB69cBzrDufz0DeJ7Hh8IUN7hzWn2p1O9+mpdgIWm4N//XCY1fG5XDo1iteum95o5z4oQMN1s4ZxzcyhbD5exAfb03nm52O8tTmV2+ZFc/uZ0fTp0fVuXLtDQWe0UmGsEYIq3b+9vyuNFvf/CmPDQlCgVhAZGkTvsEB6hwUxvG8Y08Mi6R0WRKRrWq/QQHqFBdG7RyC9QoPoFRbYYCOrWG8mPquMvZllxGWW8ebmFBTFua/pQ3u5LZROH9Gb8JDWW1VUm22sO5zPmvhc4rLK0Ag4Z2x//nnZRC6YOLBFDUKNRrBochQXTRrIjtQS3tmaxnO/HOPdrWncdfZIbp03gog2KHt7snLvCZ7+6QjDeoex7LZZbW6Jcf2sYVSbbTz78zEeX3OI166b3mXEjrbCbLOzOamI1fE5xKQU42jHfJS9wgK5++yR3DxnBMP7du0XVURIIDfOHs6NDYymdSYDIkJ48epp3LcigTc3pfD4xRPadPsWm4NV8Tm8vTmVYr2Z8yYM4G8XjWfS4Aj4sAKASYMjePum0/jbReP5aEcGq+NzWBWfwyVTorhvwWimDZXx+CTdn7Jq58BTXoXJa3p3ycJmtTv4ak82z69LwqEoLJk/urOLdMrgzqhksjYoIFUarT6z5dodik/LpaaSU24gv9Z1Wx9pRVW8uvE4b914mhQZJc1CFUAbs6QL0AhsDoWkfD3zRjcutHQXUoucAapPlBmYPbLhTMEmq52HVx3g1rkj+PeVU7zmeVodqTGQ1OeC6tJWWm2ud9s7Uov5ODaTKUMiEULQ11btWsfCOWP7eYUbSMrXAc7QOIoCeeVGKSD5C2XVFu5bkUBcZhkPnTeGhy8Y16zOq0YjuHDSQC6cNJD4rDI+2J7OW5tT+TAmnRvPGM5dZ49kWJ+OuVgURSG33MixfB1J+TrSiqrclkCqKOTL39OTsCAtvUIDiQgNpFdYICP79aBXqFMEigx1fnq5fjsth5yiUI8gbZvHguofHswlUwdxydRBgPOhmZBdIygti8ngvW3paARMHhzpFpTOiO7TZPFOURTiMsv4NiGX9YfzMVjsjOzXg8cWjeeamUOJimwbdxEhBPPH9Wf+uP7syyrjnS1pvLoxmQ+2p3P7vGjuPHtklxMcrXYHz/58lBV7TrBgXH/evum0dovDcsdZI6ky2fjv7yn0DAng2cWT/SK2WFK+jtXxOfyQmEe5wcqgyBAeWDiG2SP7oNUINML50Wqc14jzP2iEQLi+1WnC9a2uV9/88JDAdrOUORW5eEoUN8waxvvb0zl3/ABmj2x9VjiHQ+Gngyd5/fcUTpQZOCO6N+/dPLPBjHPD+4bx3FVTeOj8sXy2K5Mvdmez/nABZ43py/0LxnDWmL5+cc9ITk1Oujrgta1EVBc2YxcWkPIrjVz4egwhgc7nrq09RwhOcRKyy5k6JNLrHVfhIRAN87GO2mF0KKA327zaMav35fDab8lsf2xhnXiOKYV6BoQHN2rFUVplwWi1Y7E5Gn337k4vYePRQrJLDd3SnaU9OZhTwfiocCms1UO5WyhtuB83uFcoJ8oMJOXrvASkpHwdg3uFdtt4ijllzlhD6w7n89SPR4l5fKHPLLkZxVUU680oCmSVGtzTFUUhIbvcK/NzcoGeBa9uZUTfHnxx52y3OFfWgAXS+sP5hAVp+eLO2QBuFzaAqUMivY7vAFf5MkudIlNJlYVKg5WTlUYmDopo9jHoDKSA5IPUQj13fR5Pgc7EWzfO4MoZQ1q1vVnRfVge3YfUQj0fxmTw1d5svtyTzeXTBnHv/NHOUeU2wmS1k1pYRVK+jmOuT1K+zi0QCQHD+4TRt0cQA8JDGDsgvI4A1MstCgW553XljmdkaCDnTRjodp8yWGwknqhwCUqlrNiTzcexmQCMG9jTLSbNGdm3jhB0ssLI2oRc1uzPJbvUQI8gLVdMG8x1s4Zy+oje7doROyO6D5/fOZvDuZW8ty2Nd7el8XFsJjfNHs6S+aPaTLRqDaVVZu7/aj9xmWXcO38Uj188oVUjdE3hwfPGoDfbWBaTQc/ggDa39ugoKg1WfjqYx+r4XA7nVRKk1XDh5IFcP2sYZ4/p1+7HUdL2PHXFJPZklvLIqgP8+vA5LbYaVBSFLceLeHVjMscL9EwcFMGnfzqDc8c3PRlD//BgHls0gfsWjObruBMs35HJLR/vZeqQSO4/dzSLJkfJa0zS7circHYOymsJSKZ6srDFppZgtNq5cFLbuFO3hq/2nKDKbKPKNWjtTxl4uhJ5FUaueX8X150+lFevm+6eXql2rOs57p7no9Jg9ergJRfqKdKb2Z5SzMVTorzW++NHe1g8fQhPXTGpwXKVVddYhvjq0Poqi7xGvCmpMvOH93by7OLJ3DovurOL0yVRr7P6rnMVtR93vEDnnqYoCpe8tYOJgyL49a/ntF8h25HccqdQE5tags2hkFlS7fN+O++/292/s0trglnHppVw68dxPHdVjUXStuRi13IGFEVxH9uSaguKovhslyXl65k0OML9HAm317yzzhzdj0BtzTpqWyzbLSCZufr9naQXV5P54qXdYtBPCki12JpcxEMrEwkJ0rJqyVxOG967zbY9dmA4r103nf+7aByfxGaycu8Jfjxwkvnj+nPfglHMG9W8keKSKjPHTurcYlFSvo704mp3usCwIC0TB0Vw5YzBTBoUycRB4YyPCu9WMXZaQlhQAGeN6cdZY/oBTjehw7mV7M0sY19WGT8knmTFnhOAU0ybPbIPE6LC2Z5STGxaCYoCc0f14aHzxnLJ1KgOP15Th0by/i2nk1qo5/1t6Xy+O4sVe7K55vSh3L9gdKe5Hx09WcmSLxIoqTLz5g0zuOq01gmrTUUIwROXTEBvsvHetnR6hgTw53PHdMi+W4vDobArvZTV8TlscAVbnzgogmeumMSVM4bQu4tZl0maR4/gAN68YQbXfrCbp388yhs3zGj2NvZmlPLKxmQSssuJ7hvG2zedxuVTB7XYXTM8JJAl80dz+5nRfL/fGY/vz1/tZ2S/HiyZP6pbB+yXdD9eWJ/E0N6h3NaEzt+PB/KITS3xEgHyK1UByRmQ+M7P9vHs4skYrM5BMdWFzWZ3YLUrvL05lXKDpcMEJLtDwWyz12kn2B0KX8edQCNwuyYXVjbNnUnSPIp0zuP6XWKe17VTYaxJyf3pzkzSi6t4/qqpHvOtXssOp6ZtpQqWvx0t8BKQDBYbJVUWcsoNGCw2QgK0Pp/ViqJQ4lIOT3UBqcpsIyzQ93FqjIxiZ1zI2i6skhoqfKSerzbbvJIOAOhd85Py9e5p6vWWlK+jymzjrs/28fxVUxg7sHOt4HamlfBJbCbLbpvV6MBXjktAUi08i/SNXyu55Uasdgcmq93tZnok1xlDyvOZDU5XWPXYWmwOLn07lmqzjTdumMHpI5wagd2hkFyg58bZNbaOnqU+fURvTpTVWCTpTTYURSG7xDmtWG92Z2irttjpGdz1++ldv4QdhBos+4X1SUyIimD57bMY3E5BWwdFhvLPyybx4MKxrNibzac7M/njR3uZPjSSexfUHSm2OxQyS6o4lq/3EoyK9TW+mIMjQ5g4KIJFk6OYOCiCSYMiGN4nzO9ixrSE4AAts6L7MMvlBmKzOzheoHdbKG1OKmRNQi5DeoXyl/PGcu3MoV0iRszYgeG8fsMMHr5gHB/EpLMmPpfV8Tksnj6Y+88dzbgOfMCvO5TP3749SGRoIN/eN6/D46sIIXj+qikYLDZe2ZBMeHBAlx6NyikzsCYhlzUJueRVGL2CrU8ZEtnZxZO0IacN781D543ljU0pLJwwgMXTBzdpvSN5lby6MZntKcUMjAjmhT9M5bpZQ9sss2RwgJYbZw/nulnD+O1oAe9tS+eJ7w7zxu8p3Hn2SG6eM7xNYsRJJA3xfWIeE6LCmyQgbT1exC+H8nn5mmnutstJDwukpHwdcZllbDpWiNHijL2ourC9vTmVdYfzMVkdVJk7LrD21e/tJLfcSMKTF3pNL6u2UFpt4erThvBdYh4ABbqO6wTb7A5iUouZP7a/3yegKHG5ldgdCja7w11fdwwkozOWIsC/F09xX1uVRisDwoMp0pspN1jdx2zh+AHudTclFXq5oBXpnO3uE6UG5r6wmaevmMw1pw+tU6Zqix2zKz5oU0QhfxWQqs02zn55Cw8uHMPd54xq9vpZHhYaXYkinYmTlSZ3Ru7O4thJHYfznMKHzmhlR2oxvcOCuPLdnXx3/5lM9yifem15ChmexzW10Nkv2pNZ1q4C0tGTlUSEBDYYxiUmtZjNx4sorTIzoJEMs6oLm4p6j3pitXvH6rU7FFbsyebZn49xtsvYILnQKaz16+l8Jozu34P04mpyyg1e96Uav2hPRqlbQMourcZotdfrfhYapPWycNQZrZRVW9C73lWqpS04PT2kgNRNsNgcPP3TEb6Oy+HiyVG8fkPjwbLbgsiwQB5YOIa7zh7J2v25fOQaKY7uG8YfThtKfqWRpHwdxwv07hdRoFYwZkA488f2Z+KgcCYNjmBiVIS0ZGgGAVoNU4ZEMmVIJHedPRKHQ6FAZyIqIqRLCm7D+4bxwh+m8tB5Y/loRwYr957g+8Q8Fk0eyIMLxzJ1aPsJEg6HwhubUvjfljRmDu/FB7eezoDwznGl02oEr103nWqzjSd/PErPkAD+cFrdhltnYbLa2Xi0gNXxOexMK0UIOHtMP/5+yQQumtSyYOuS7sEDC0ezLaWIf31/mFkjejc4+JBZUs1/f0vml0P5RIYG8sQlE7j9zOh2uz60GsElUwdx8ZQodqWX8v62dF769Tjvbk3j1rkjuOOskY2OjkskLcFqd1BSZaakqmnXV2m1BZtDocxgoZ8rHoUaA6nSaCXbFbfieIHenX1NtUQ6nFdJenG1e/TYZLW3+J5ate8EAyJCWDh+QIPLbU4q5KBr1Npss3tZ9qkDfBdOGshNc4bz8Y5ML9eR9sRqd3Dt+7s4mFvJ69dP5+qZ9b8n1yTk0iNI644pqaI3Wfnvbyk8cuG4Lh8bxXMw9ehJHdOH9UJRFK8YSCo55QZG9O3hnj6ybw+K9GYqDBZ+P1bI/V/tZ8198yirthAcoEFnsrEno5T5rtTdRa59qZ3NY/k6rvFRplKPjnmlsfEsb/4qIG1PKabCYGVTUmGLBCTVxcfzHHcF3tiUwrpD+Rx8+qJOdTf681cJ7ng+JVUWbv04jkmDIpwWMYV6t4BkttkxWR30DA6g0mh1WygV1bp3AEpc03LKDKzYm83ji9ouVIWiKNz1WTyTB0fw8Z/OqHc59XwX6RsWkGx2Rx1hvsjHtaIKwp6oonJsWgngjG0GuL14LpwURfr2dHLLjeiMdQclTnqIPuqxmxjlLSDFJC4jcPU3gDORjYreZONQXk3WvO0pxe7fpdUW9zOqK3PKC0jlrmDZezPLeHDhGB69sHnBstuCkEAtN88ZwY1nDGfj0QI+2J7OG5tS6BUWyKRBEdwydwSTBkUwcVAEYwb07NLxiLojGo1oN2uztiQqMoQnL5/EAwvH8ElsJp/vzmLj0UKCtBrCgrX0CAqgR7CWsKAAegYHEBakdX6753lOC6Cna1l1vR7BrmVcpsZ6k5VHVh1kU1Ih188aynNXTel015dArYZ3/jiTOz/bx9++PURYUACLJkc1vmI7oSgKR/KcAbF/PJCHzmRjaO9QHrlgHNecPqTbZVWQtIwArYY3b5jBpW/t4P9WH+Sru+fUeY/kVxp5e3Mqq+NzCQ7Q8JfzxnDP/FEdlm1RCOF27T2cW8kH29N5f3s6y2Mzue70oSyZP6pbNFok3YciV8DSMh+Za9KKqlAUhdH9e1JusNC3Z7A7RXKRzuwWkNSRWUVxjraDcwRYjX2kurDllDuXU10PivXmFicqeXlDMmMG9GxUQHp3a5r7d0Glyev+UUf2+4UHc0Z0HzYeKWBbSlG98TNaS6XBSlCAhtAgLbvTS93Clip0+MJic/DsT0fdiUk8eXtzKp/tymJ0/x5d2toXvK0ofjp4kr9+k8iy22a5MwR7Ww/oGdG3B4qiUGm0MnpAT+KyyijUmdzX0tGTOioMFhaM609sWgkbjxYwK7o3DqWue8zJCiMlVWb69gjyOq+l1TWiUVNEIbWDW2loXGxqjM92ZpKYU8FbN55W7zJ5FUbu/jyeu84eybU+LKg8ufvzeC6eEtXociarHaPF7jWgveFIAQD7sytaJOpmlajiSNcSkJIL9OhMNioM1noH8AsqTQyMCG72/Z5ZUs3dn+/j9etnEKjVcP9XCXyzZC6DIr37KRabw8uaSOWYy0LGU3RT4+BOiAonPruclEI9YweGu633wOk2BlBcZaZQZ2J1fA4fbs9g8fTBTB7sPVCtKApLvkygb48gnr5icp1A8/VRoDNRoDNhttkbfBaq5XLeb/UPkv92rBC7QyE0UOt+J/hyYfNMwjAhKpzjBXWfiwaLnV5hge5jdeGkgXywPZ2cMgO10x+MHxhOvssl2Wp38O7WNAZGBDMuyjsb9XBzJbjOW0iglswXL+XeLxPYk1HKn1fsZ2BEMAMjQjiUWyMmlTYQqLsrcUoLSGlFzmDZ+ZWmDo3pUh9ajeDSqYO4ZEoUlUZnQL/uEEhL0rH06RHE3xaNZ8mCUXy/P4/8ShMGi40qsw2D2U61xUa12UZJldk5zWKn2mxzW7E1hTDXy8Bsc/Ds4sncNm9El7kWQwK1fHTbLG5evpe/rEzk4z/N4pyx/Tu0DGXVFn5IzGN1fA7HC/QEB2i4ZEoU188axtxRfbukJZukfRnRtwdPL57M42sOsTw2w52uu7zawnvb0vh8dzaKonDr3BE8sHBMp1r9TB0aybs3zySzpJplMel8G5/L13EnuGzaYO5bMKpOY1EiaQkFrgZ2aZV34NEDORVc9e5OwPmuMVjsxP3jfHeK5CK9iUk4R3JPVhgJCdRgsjo4nFcBQEZJTQBUo8XuyjTr3ZEq0ptaJCCVVVsoq3a6yzXUwTmcW8n+ExVcMHEgm5IKOVlRj4DkEsKiIkMwWR3ojDafKeVby/Uf7mbGsF68fO00NhwtICxIy4DwYNKLqupdZ1d6CXqzDb3ZRqHOxECPkf49GWVA98gcV1JlJiIkAJPN4U6Y8vpvKe75ntdGUr6Oi6dEUaAzYbE5mDQ4gt5hgWSVGtyBcpPydZQbrERFhnDehAGs3Z/LV3tPcNaYvpw/wTu2VlxmGbOe38TskX344s7ZboHEsxNY6cP6oTaeFki55QYyiqvdVk/NZcPRAvZnV/D69Uq9liNxmaUk5ev427cHmT40sl6XJZPVzqakQkKDtI0KSH9fe4gfD5wk8ckL6d0jCLtDYWtyEUN6hZJXYWR/djlnutyFGiI+q4ywoAAmDY6o48JmttnZcKSAxdMHd1qbVFEU0lz31aakQsYM6FknXu7W5CLu+HRfsxMxKYrCX77eT3pxNduSiymtNpNdauDrvSd49KLxgNPV7LdjhfTrGURDt2ehh2WOen1NGOQUkP7w3i7mj+vPuR7X2K70UgB+SMxj5d4T7uyRSfn6Om2CtKIqfj9WCDgTGT1x6cQm1e9gjvMZXm6wklNmrDdciGoF5csdTSUhu5wHV+5nypAIzojuw6c7swDf1mrlHvfgvNF9WTJ/FJMGR3DHp/vcQhA423G9wwLZllzM9KHOzGk55YY6A33D+4aR4xLvPtqRwfECPR/eenqjg+xCCCJCA90Z8766Zw4rdmdzKLeSHkFaqi12L+vFrswpKyBtSy7iLysTCQ7U8s2Sucxsw2DZrUUI0Wh6UIkkIiSQ28+MbvLyVrvDLSYZLDaqzc7f1Rb12ylAVbnmG612rpg2mDmj+ja+8Q6mR3AAn91xBjcu28OS/2fvvMOrqPL//5r0XkghJAFC6B0RKYqKgr3XXbuu3V1Xd/W7oq6uq/7sujasKCAiFhAsIL1DCklIIKT33nu5uW1+f8ydyb1pBFIJ5/U8eXIzd3Lm3LlzZj7nfT7lm1i+fWAuZ4/ueRn1zjBZKjskFdexJbGY7UmlGEwyM0O9efX6aVwzM3jQu/kL+p5bzg5lV7JSTe2sUb5EZFby5b4sGvVGbjgrlCeXjD9lr4i+YIy/O6/fOIN/LJnAVwezWROZx28JRfz82LmD6pkoOD1RJzBGs0xdsxF3Z3te+CWR7IpGnOztuPe8ML7YlwXA0YLaVg8kywSgSW+krL6Fc8J8OZxTzdGCWiRJ8UZSKa77d/RNAAAgAElEQVTV8diaOHQG2wUSdeIhyzL//S2JG84KYUyAO//9NYlnrpjYaSi2OjGs1xkpqtUR0ol38vbkUuwk+PvicRYByTYPhzqJUYViVZwprmvudQGpsKaZ1NJ6JEkJO9+eVMqiicrEcFdKGf/8IZ7/XDu13TNq6/FSLeQvIrNSW0StbTJoeT46y9u0OjIXZHlQeCeVW4W5qN/f7tQy7f200lYRTf1c6n5jA9wJ83cnp6JRq2aVWFRLnc6Aj5sTf7t4HBUNLURmVXEwo5KxAbYeBqqnUXR2Ff/bnqZNpG1D2GzDXwwmM//59Ti3zx2l5USssxKQ7l1xmIyyBuJfvOSU5gIZZY3oTWY+2JFGqK8bt54zst0+qmcPKIKutYC0LraA0jodf71onCYC53fg6dKWbccVQeGNP1J48+YZZJU3UK8z8tQlE3j9jxR+P1bcLQHp5s8iAEh48VItbLWiQY/ZLPPHsRKe/CGeUcPcbEQbg8nMx7sy8Pdw6vY1uTetnLjcav5xyYRu7a9S3tCiCQDPrD/KCG9XDjxzkSZoFdU08+8NiYDi1XMyAlJhTTOJhco1Wqcz4GCniDgf7srgSH4NYwM8KKppZptFvOkKa/FFvb4mWoVYHUgvZ4SXCw52iqihXv+qJ556T00pbh96q3qWTQvx4vejxTy5ZAIv/JLI4xeP69CTefOxYnIqG2288eILagj2ceHVTcksmhjAIiuPz/KG1hA2az7amU5kdiX3LAjjnW2pBHm58P1DC9hoyTMnSR2LTmpS/M/uPJvzxvlp+R8DPZ1tBKQwS8qQqkY9DvZ2hPq6kl/VTKgveDg7aPn1gr1diMyqpKC6iQ92pHP51KBuR0N4urRKL2P83DWR9/Z5o/hyf7aN9+Jg5owTkGRZZuWhHF75PYmJlmTZnRkIAsFQwtHeDm9XuyEjdPi4ObH6/nnc+nkE9644zNoH5/dKguqaJj3JxfWklNSRUlxPckkdqVZ5yIa5O3H3gjBumRPKpKCOE+YJzkwkSeL1G6dz2fvV3GIxgi+bOpynL5044FVNuiLQy4Vnr5jMY4vG8WtCEWcNcGJQwdCgxMowv/Cd3Vw/K4S10fkAnDvWj+eunMzfLh7HjJe2EZ1TpXm7pJfWU17fonkdnDVKEZBajGbmjPYlJrcaUHJK1DQZ+MMymbFGnXgUVDez8lAOqyJy+Pi22ayPK2BKsBf3LxzTYZ8zrDx2YnKquGtHOo8vHtcu315ORSPBPq5aMYu2AlJFQwsujna4W7x5J49Q9jucXdXuufH3tUcwyzIf3z4bUCbrAZ7OuDjak1HWQLi/ezuv1ne2pnIws4K1D84nwuI5kFXRSEF1M+X1LZw3zp/SWh2bj5Xw85FCFo7358bZoaw8mM2qiFzevnkG25OUCmMHMyqJzKpk8eRArvrwAIGeztp3YV05rllvorKxhZomAy9sVCbId8wbzZ+/iOTiyYE8cuHYDs9pdzleVEtji4mzR/u285xZtjuDPall/PDQgtYk2E0GrfT1/PBheDg7aN+ftce1mttk5DBX4vKqkWVZ88waF+hBmJ87EZmVVFkmmeoEfpibI4GeygR1f3o5d30VzeZjxe367eRgx3Uzg1l+IJs7549m5DA3bRLo5GCnTZqNJjPXLTuIm5M9h3OUa/i1G5SqcNYeSOpn2Jlc1mGC7q6obTJo4+bDXRmMDXDXBKR6nYGrPzrA05dOJLeykRHeLlQ36W3CeZr1Jl75PYnaZgMzQ31Qv4aC6iZKanXc+MlB3rllJueO82d/ejlL1x/j98cX4uvuhJuTEka0Pq6Af146gSMWb5OF4/25tiiYDXGFPHP5JM0G1RvNFNU0E+bvrvVdDUMC+MeP8TS0GLWQo5pmg+Z9+OmeTJJL6nj1+ulcOCGAl39LYnVkLnYSzBzp061CL/d8HQ3AYxeNPan0DNb3CKVCXDPx+TVMGO6JzmDiumUHadabcLSXWBdbwJ7Ucr5/aD7hbcTHjrAW9opqmm08APenV7A/vYLhXt3zXi6t15FR1sC4QA9N8JoQ2NoHsww/xOQz3MuZIG9XTUBqS3IHudt2JJdy1igfbps7in+tO8pXB7JYF1tAUlEdm584v93+H+/KILmkjtHD3Jga7EVmeQNxudWMDXBn5aEcVh7K4YeH5jMv3A+zWdb6Yh2OVttk4IOd6RjNsiXM1MB7t87Ew9lBE+jHB3pQWq+jWW+ioqE1jFkNYZsW4mVTPCTA0wVoDR8b7eeupfMA5f4QlVWFl6sjAZ7O3DZ3JEsmDyc+v4Z6nZEtiSW0GM383+UTT/yFWFC9mZwd7PBxc9TudZdPC+K7qDwRwjYYMZjMvPjLcdZG53HplOH870+z2pU5FAgEpw8Bns58+8A8bvn0EPd8Hc0PDy9gXOCJH9KgGHM5lY0kF9dryeqTi+tsViOGuTsxeYQnd84fzeQRXkwK8mTCcE+Rh0zQKb7uTiy7YzarI3K577ywdq7tgxlvV0fumj96oLshGCJYh1DUNBn4LjpP+1utVqhU43HlQHqF9t6X+7PZn17BE4vHA9gImvPCh2kCkp+7k01yVF83R/RGMzqjmdI6Hb/EF9rkUIrMUoSWiMxKGwEppaSO9NIGrpkZTGZ5A04Odkp+oN+SqGrUszY6v52AlFvZyBh/d1wc7fFzd6Ko1tZTp6JBSQSueiWMDfAgPMCdLcdLuGtBGLmVjSQU1HLJ5OH8mlAEwEe3yRhMMld+sJ/b54/i0ilB3PTpoXZhMLG51Szbk4EsK7mKVC8hvdHMnjTF82Z8oKdNRceIzEqunhHMu9vTqNcZNS+PK6aNoF5n5HhRHetjC8iraiKvqomzR/tiJ2HzPHx/ZxprIvOYFtIqgO1MKSM6p4qSOh0PXxCO0Szz5f4s9EYzD54f3s7GPlpQQ3l9C4sn24aC5Vc1cdWHBwD48Laz2lWz/DW+iNTSevZnVCChhLKvjy3QSl8HeLoQaPH2mh8+TAvBG+bupE1Gb5gVwoe7MkgvayCjvAEvFwcCPJwZ7efGBosHw9wxw4jOVv7XOrfNnNHDcLSXqGjQ27QJSj6Uhy4I56fYAqKyqwj1dSUyqxJfN0fcnBzYkVzK+eP9aTGatWS7AJEW4c9gMtNo8fqosuSy0hvNfLk/C193Ry5uEzbXFRnltiGLuZVNGExmHO3t2J1aTm5lEx/vysDFyZ7wAHcadM4kF9eRW9lITE41RrOZ2mYDvm6OPLomlkumKMeuaNDz5f4simp1rI8rJLmknkMZFRTWNHMws4ILJgRQ2ajn9nmjWBudx5rIXCob9Xg6OxDu78HdC8L4KbaArYklmqC1OjKX1zcns/OpC6lo0HPTp4dsEg3vSlGu5WtmBpNSkkpFQ4uWVFv1wLl3RTTPXTGZXSllnD/en+Tiej7Ykd5lgmZQqqip5FQ0MTGo+ws8qvjoYCdpAs8NnxxiarAXYf7u1DTp2fDYefx+tJjP9mZSVt/CzuQywgM8SCqq4/ejRUwL8ebKNnnHoLXq3PhAxdNIb5KZGzaMm+eE4uXiwCPfxlFa18IFEwLYZ5V42Ro7SXmWH8mrYcl7e9ny5PmaQOnn0XpN+7o5Ut1kIMDTmZG+rlp4mYokwZzRviQX19uE8xpMZpKK6/jLwjEsmTwcOwnNkzSpuI6qRmWMqNQ06UkuqUOWIaeyibdunsEfx4o1EUpl6/FS5oX7Ud2k1xJZW3sT7UwpxWiWtbBhJ3s77fq8cEIAb908g6KaZt7fkc6rm5LYcKSQg89cTFZFo7bIMKxNvqrANmLcGH9bD/GZoT78El9Eemk9Xq6OPH/VFKVflgWKnclleDg7MOYk8keqHkieLkqammcun8SCsX7MHuWr5ALsIGfgYOSMUU+qG/U8tiaOiKxKHls0lqcvnSjylAgEQ4AQH1e+fUDxRLpzeRQ/PbKgXZhQdaPyAEuxEovSSlu9ihzsJMYFejBvzDAmWRLWTw7yJMDz5BMgCgTnhA3jnLC+C6kUCLpCkqTLgQ8Ae2C5LMtvDEQ/2oY/qUmNtz55AeOthP5JQV5aPg2VlJJ6dlomkLOsJhnnhA0jyKuQkjpdu7C1uxaEkVfZSERWJSsO5th4M4Al7AqlRLRahQjguZ+PEZdXw66UMjYcKWRqsJeNl0hMThXbk0pZE5XLg+eHc944f3Iqm7hmpjIBDPZx7TCEzTrPmSRJXD41iM/3ZVHTpOftrUolxpevm6rtU1yro6KhhfoWI/vSKii0JAbfl1bBNTOCNZv1/R1p+Hs4MyPEm28jc/FwdiDY24WiWh1bjysTpXGBHoT4uhLi44qzox2HMiv5I7GYep2Rl6+byou/HAfgokmBHC2oYVVELisP5TA+0AODyczfLhrH+rgCEq0qBR3OrqKhxUhkVhVXTg9i87ES3t2WCiilwdXn6ltblG2ujvY83MYr6eXfkojPr+H3vy+08cRSE/iCElpjLSBVNLRoycA/3ZPB8aI6TGaZJr1J+9wGo1nzZLlwQqAmII0c5qaJPdedpQhIEZmVmmeGJEmEWU3+Hr4gXBOQrMPHXJ3sWTxpOFuOlxDqq3hrjA/0IL2sgUlBnowN8MDD2YH4/GrcnezZn17BC1dPYW10HhllDdy38jDero4Ee7vg7eaEo73E0YJaEvJreOm349px1El8eIA7KSX1/N9PR4n595IT2iGNLUY2xhfyvCV0SsVolsmtbGJcoId2bajn8o55ozCaZDbGF3Lh23sAJcFweIA7q+6byx3Lo/g5rlBra3WEMn7WxxWwPq71GBGZlYweppzDC8YHUFjdzM9HCvF0cWTGSG/s7CSmhXjh7erIluMlbEsq5bUbpnE4W/E6/CYil1SLF5QqCN8+bxTfReUR7O2ilUq/6ZNDODu2iqLnjfPD1dGe1/9IxizDfeeFMWqYG7/EF/GvdQlcOCGQq2aMwGyW2833tlrdbzLKGmwEJKPJzD9/TODG2SE2YVWgiCdrLP3ydXeyEQSPF9VxvKiOpy+dwLQQbzKtxLyIrEqmh3pz99fRGExmZBm+f2g+89ukiMitbMTF0Y5ZI33YnVpOi8HEjbNDuHXOSE08AyXBsyogqfbqzxYRdN+/LuKbiFxN1DmQXoGzZdHTOpfPA+eH8/bWVKobDSwcZ2szXzEtiOeunMye1DJe+OW4Tb6izPIGDCaZyUFeDHN3Yt4YPyIs4jxgKbyjiIRms0xkVhWyDLNH+RDo6cItZ4ciyzK71x/jt4Ri7CTFy/S76FxFzLfy8LIOYdt6vIThXs48c/lEdiSX2oSiOTnYceuckZqH4I8x+RhMMj/E5LPxSCEpJfVKkYE2SdxV0TnIy4WSOl278Dv12ZNSUs/541vDL4N9XLTv9ezRvielJ3hZPPBUIcnX3UlbIPDzcBIeSIOJjLIG7l91mOIa3QlLmgoEgtOP8AAPVt8/jz99HsGdX0XxxOLxpJc1kFJcR3Jxvc1Ext/DickjvLh7wWgmBSli0dhA9wGvMCcQCAQ9RZIke2AZcAlQAByWJOlXWZaT+rsvxbU6wvzctDLToAj+bVf7p4xoLyCBkovF38OJIC8X/rFkAtNCvFg0MZAJQZ6U1OlQ59TPXzmZ+hYj/7TkMrnhk4NUNNQyPcSbY4W1eLo44OvmRF5Vkxb2NvU/W9n11IU0tpiIy6vB3k5iw5FCzh3rxy1zQlkyeTgf7EhntJ8bL/xynAe/iUGSYF9aOZ/ccTa1zQZNeAj1dSUiq5LEwlotjNo6fELlsqlBfLInk83HSthtEcdUIQeU/DyqEJVcXEdycR2SpEzYd6WU8vldc/DzcGJ/egX/vGQCI4e5sjOljDpLnpl3t6dxMEPxfFFX2g8uvZhVh3L4z6/HeWdbKmF+btw5bzS+bk6U17fg4ezA5BFe6I1mciqbeOPG6fx57ijlfzMq2JFciiwrnlGJVpPlv5w3hsTCOi38SZLg96NFHMqsZIy/OwEezqyOzOWB88Oxt5No0hvJKm8kPr8Go1lm6fpjvHnTDHzcHCmra+GPxBICPJ05a6SPlsxXRfUcu2r6CDZZJoj2dhKjhrnxyR2zufqjA7g7OzDWIiBNGO7B9n9cwNrofErrdSTk1xDg6czYAA9CfV1ZdSiHkjod18xQRKrwAOX/zhvnZ+MZ5dsmV9X7f57FZ3szmTN6GLG51Ywf7sFja+KYGuyFnZ3EjFBvEvJrKaxuJsTHlXvPDeOV35Vhd9YoH3zdnPjTOSO5bGoQiYW1XP3RAf62No78KuU7V5PoAnx822wSC2v51/qjpJc1aKGSHbH5WDGPrYmz2TYu0EMLtcooa2CEtwt7Usq48awQtieVUt9iJNjHFU8XB36Iydf+L6WknnvPDWPkMDeumxXMR7taKw3qTeZ2ni++bo6sicrTJuZh/m5cOT2IZ9YfA5p57spJlutDYuZIH82r6JwwX+ItYpky2TcT7u+uhajdv3AMPx7OZ8FYf0Z4K5N1JeF762ecN8aPRRMD2JGstDlzpA9B3i6sicrjx5gC/jhWQnZFA5/tzeJ/f5rFCG8XpgYrouV3UXmM9nMjt7KJzPIGCqqbkCSJEB9XdiSX8WtCEYcyK/jvtdPwcnVgfrgfRwtqicisIKWkni/vnsPG+EJK63T867JJyMiU1bUQ5O2iJRtfMnk4t88bRUV9C4cyK5VcQy6ObPzrudz2ZSQv/pLI1icv0MTBjLIGkorrGD3MnVBfNy0UUb2PhPq6ad5p4f7uvH3zDFwc7blmZjAVDS2agBTq66YJIwCvbkrWXnu5OvLpHbOpbzGyeFIgb29NxdtV8QIFcLK3Q29SxNiRw9y0HKgRWRWM8lPuCynFypifPEI5l5dNHU5EViU3zQ5lT2oZBzMqmBbsTWxuFf/bkc70EG9cHe35/qEFmve+4rl0jB3JpYz2c+PCCQHE5lbbjP0QH1fNU6xZb2JvWjm3zhnJ+OGePH7xOC3PmzWLJwfi7+FERYMeNyd7vjqQreWj0xvN7YRYNfTtljmh1OuMTGuTLHzKiFaR29p7aWKQl1YAQg1P7i5emgdSewnGz925XUGIwUqfCUiDZQVsX1o5f/0uDmcHO9Y+NK9PE+0KBIKBY/IIL1b+ZS53Lo/inz8m4GgvMTbAgwVj/Zg8wlMTiway+pVAIBD0MXOBDFmWswAkSfoeuA7odwHpngVhGM1mnvg+Xts2toMQ48unBfHBznRAMdiTiuu0XEcezg5IksQTS8Zr+992zkj2pZXz1s0zaDGYuWiSrZfAmzfNwGAyYzTJXLfsIPU6I8tun83dX0fz8nXTqG028MpvSby6KZmU4jo8nR1Y8+A8mvQmG4+Af1+thCt4uzlR22zg4kmB3PZFJI98GwugCUhPLBlPwooa7l0Rzc5/LsLVyZ7SOl278NUZod6M8HbhuQ3HbLb/9aKxLNudSXJxHVkVjTaJwh9bpLxX3WTgnz/GY28n4eJox21zR2lhHgBXTA9ibXQeRbW6drlWrp8Vwke7MsivauaFq6dgZydxjZWHz2SrSZIaEgKtleNe/j2JiycFojeaCfFxRZJg9ihfXrthOnd+FcVtc0dSWtfC1wcUr6+XrplCkLcLj3wbx1tbU3B3ciAyq1KbHN40O5T1cQVc9v4+G9HkqukjOCfMl21JpaRbyozLssx3UXl4uzry7q0zyatqwt5O4sVrphDg4czIYW6s+stcZoX64OniwGd3zmbRxEBtnw92pLOJYl66RvH0eu2G6fz1uziCvFx47CLFO2p6iDfLbp/NxW2uIx9X23AXF0d7nlyiiJQLLd4Iy++ew3mWxNCzRvrwyZ5MAB5YOAZ7O0kTXNY/cq6Nl8LUYC/OHetnM2EeOcyNlJJ6XB3tGRvork0wIzIrNQGpSW/ki31Z1DQZuHP+KMYFevL5vixGDXPjqUsnMDPUh8rGFtZG5+Nkb0dScR2Z5Q2U1+to1Ju4Y/5olkwZzmNr4pgZ6sOsUT5IKOkA/rXuKHU6ozYGFoT72QhIYwPcef7KyRxIL+e9W2fhYC9R2aDnP78eZ7ml+t3oYYp4aCcd07xCVGaFemvi0zcRuZTU6bhqxgg2HVVEwYcvDOeZ9cfwcHYg3N+d1ffPIzzAneFeLqy87xye/fkYxbU6vFwcqNMZmTXSh+kh3gR7u1Ba38K0YG/GWERELxcHTGaZdyzV+B5fqyTaf2DhGOp0SpL4126YzrLdGRzJq2ZNVC51zUZeu3Ea30Xl4efuRL3OyF+/U4S58AB3sizhkldOD+KSKcOZFORJVaOemZ3kDHR3duC1G6azJbGYbUmlbEsq5c75owj1dePJxRN46qcEDmZUsnC8P6kl9Vz90X4MJplLpgxnhE9rkv9QX0VAsreTCPdXPNNG+7lp1x2g5ZW6e4ESgq43ta+67OnigIujPVdYhc799MgCRni7aJ9tbKAHycV1WkjW+EAP/D2ciMisxM/dmZI6HXlVTTjZ22nC62XTgnj9jxQWjvdDZzDxS3wRv8QX4eqo5MTam1bOo4vG2qR+8PNw5uJJgexILmOkrxsXTwrkve1pvHLdVF6wiOrzxgzj5yOFvLklhekh3ugMZi63JKp+6tKOcw45O9hzz4IwPt+XxYtXT+Ff6492uJ+KKrRNHuHVYUihi6M9543z43BONY8tGqdt93B2YEG4HztTlP6fDGqlRo8OUuj4uTtxtKCm3fbBSJ8ISINlBWxtdB7/3pjI+EAPlt8zRxuEAoFgaDJ7lC+7n15EVaOesQEeIleRQCA40wgB8q3+LgDmDURHrpqhGOTWAtK4DhLJWgsYPz2yABklJOf5Dcc4d2z7qk1XTB/RZYUqdbItyzIXTQzghtmhXDAhgLgXLsHXTck7cSS3mp+PFBLi48p3D85nemjnBRisw6neuGk6t38ZBSjeFqCE4H15zxyu/fggi9/biyQpZaPnh9suWEqSxKVThrMqIpcwPzfuOTeM/ekVPLlkAr8mFPH53izFy2N8AE16I3ctCOOcMF92p5Rz4+wQVkXk4Oxgx5oH5mkLIeH+7tS3GBkb4MFTl07kqZ8ScLK3fe55uznyxo3T+WhXOrfMae+Bb11ZzM+jdYFFXZ1fcTBHK5G9+v65+Hs6Y2cnsXC8P8kvX46dHURmVbErpYwJwz24fd5oHO0lFoT78fnerHbHe+X6qUiSkui6tFZHmL8bGWUN3DZ3FGH+bryzLY0bPjmEv4cTRrNMQXUzr1w/DRdHe354eD6yjE1upQutSpFfPs12Evi3i8dxz7mjtWvlggkBHHjmYlwc7TSvY0mStGsVYOV95/DBznSCvDuu1GfNEivBbcmU4ZqAdPk0ZaL75d1nYzS1D6GSJInXbpjOY2viqGrUWzzqlH0euVBJ6jxymBshPq68szWVFQcVgaZOZ6S6SY+TvR1ro/MI8nYht7KJ/147VQuDCfN3Z2qwN2ZZZvG7e/lsbyYms8z0EG9mj/JBkiSbsaBWLVsXW8jOlFLtup09ulUAPX+8P7fNHcXEIE8OP79Eu07MZpnzxvmxNjqf8voWXJ3scXWy589zRxHo6WwzRlWhZbiXs5ab7P6FY8ixVLi9fOoIPtmTqYnGC8a2irmLJgZqY+e6WSEcL6pl9mhfJEni/vPDSSmu04593axgZob6cMNZIVQ2trAntZxXNyXjYCex/EA2Lo52TAvx4vqzgtl6vITdqeXYSTA12Jt//JAAwKvXT+PyaUFUNLTwwY50/kgsYVqIFw52dpoYOXKYW7eqql4yJUgTvS6fqlxnV88cwWubk/nrd3FaLiJVNHZysLMp7jTLSqAaG+hBVnkjI7xtiz852ttx7KVLcXNSxsU1M4L5Nb6IB88P55uIHD6/aw4uju3tYTXUXg0vvnBCAE72kiYiSpLyemN8ERvji7T/mxrspeVYG+HtStRzi/F2daS60aB5CTYbTFw1fQT1LUYtn50195wbxo7kMiQJpoV4E/tv5boaOcyND3em89J1U3F2tOPTPZlawum5Y07sBPLXi8Zx5/zReLo48P6ONGqbDZpI3Zbpod7MDPVmRhf3/+V3n4O9ndRuPvHiNVMorddxxbT2wlNXmC1fdJBX+/vL44vH8ciinhUj6C8k2boeam81KkkLgJdkWb7M8vezALIsv97R/nPmzJFjYmJ6vR+HMipYHZnLO7fMFMmyBQKBQHD6s2iR8nvPnoHsxSkhSVKsLMtzBrofQxlJkm4GLpdl+QHL33cB82RZ/lub/R4CHgIYNWrU2bm5uX3Wpx8P5zM20J3DOdUsmRzIuMD2Lv/Hi2o5lFHJgxeE91k/rCmobmJNVB4PnR9ukyy5OyTk13Ago4JHLxxrIwz8El/IrpQyJBQhQxURrCmsaWZNpJJLyfq4G48UsjtV+d/b543u1kQJYEdSKTqjiatnBCPLMp/syeTCCQEnXZH028hcJgV5Mscqd1tDi5FP92QwPcSH7UmlBPu48M9LJnSYj8dslnl/RxpXzhih5TYqrGnmm0M5nDXKh7TSBmaP8iW7ouGEZdYzyhr4cl8WOqMy6Rvj787fLx5/WuQtjc2tJiKzgscWjet2f6sb9XyxP4ubZofya3whjy8er03Ofz9aZBPeaSdJ3DQ7lHGBHny0K52GFiMezg48f9VkTTywZl1sAfvTy5GAO+aP7jI3X3x+DfF51dx7XmuC+R8O5xEe4NErOf10BhPv70jnxtkhLN+fhYezI89dOYmEglqOFtRw33lj2JJYgr2dZOMJp1KnM/DJ7kz+vnhch5+1MxpbjLy/I41rZ4bw+9Ei/rJwjCaOHsyo4MeYfBZNDODqGcF8vjeT8AAPG2+UyoYWVh3K4f6F4Xi7nVoV49zKRr4/nM9Tl0zAwfLdbkks1pI7S8Cf544iypJfbJSfG8t2ZXDdWSE2Au+RvGqSiuu4Y17vFruQZZmPd2Vw09mhBLepTH60oIYVB3MI83MnwNOZqOxKrujk/lbTpOeTPYDn0bcAACAASURBVJlcNX0EW46X2Hzezo55xfSgDp8JKuq9cdHEgHbFDE7E3rRyyup0uDrZ4+Hs0C6nVZ/Sia1mNJn53440Hjw/vNNFkL6iN22wvhKQTmjA9KfxIhAIBALBkEAISIIuONkFPOi7RTyBQCAQCM5IBqGt1ps22IC55ciy/AXwBSjGy0D1QyAQCASC04ZBZIwIBiWHgfGSJI0BCoE/A7cPbJcEAoFAIDiDGOK2Wl8JSIXASKu/Qy3bBAKBQCAQCAR9gCzLRkmS/gZsRSli8rUsy8dP8G8CgUAgEAgE3aKvQtgcgDRgMYpwdBi4vTMjRpKkZqCvDBxvoFa0PSTa7uv2RduibdG2aPtMb3sUkNdHbU+VZdn1xLsJ+hNJkuqB1H48ZF/bCW3py2u6M/r7Mw7EMc+E8zoQ3+NQP69nwjkV479vEOe1Z0yUZbnzhFMngyzLffIDXIkiImUCz59g3/I+7McXou2h0fbp3HfRtmhbtC3aPk3a7svncZ+1LX569L3E9PPx+tRO6OB4/X7d9fdnFOd1aBzvTDivZ8I5FeN/aHzGoXZee/NZ32c5kGRZ3gxs7ubuNX3VD+A30faQabuv2xdti7ZF26LtM73tvnwe92XbgtOHvrYT2jIQ111/f8aBOOaZcF4H4nsc6uf1TDinYvz3DeK8DhL6JITtpDshSTGyqMwiEAgEAsGA0pfPY/GsH5wM9e9lqH++gUKc175BnNfeR5zT3kec077hdLHB7HqjkV7gi4HugEAgEAgEgj59Hotn/eBkqH8vQ/3zDRTivPYN4rz2PuKc9j7inPYNp4UNNig8kAQCgUAgEAgEAoFAIBAIBIOXweKB1CtIkvS1JEllkiQlWm27RZKk45IkmSVJOmW3rU7afluSpBRJko5KkrRBkiSfXmz7FUu78ZIkbZMkKbi32rZ67ylJkmRJkvx7sd8vSZJUaOl3vCRJV/ZmvyVJetxyzo9LkvRWL/b7B6s+50iSFN+Lbc+SJCnS0naMJElze7HtmZIkRUiSdEySpN8kSfI6xbZHSpK0W5KkJMu5fcKyfZgkSdslSUq3/PbtxbZ7PDa7aLvHY7OLtns8Njtr2+r9Ux6bXfS7t8Zmp33v6fjsou89Hp9dtN3j8dlF2z0en5IkuUiSFC1JUoKl7f9ato+RJClKkqQMy/lxOtm2BQKBQCAQCASCk2IAspl/DZQBiVbbhgHbgXTLb99TbPsCYHabticDE4E9wJwe9Lujti8FHCyv3wTe7MW2vaxe/x34rLfatmwfCWwFcgH/Xuz3S8DTvXCddNT2RcAOwNnyd2BvnhOr998FXuzFfm8DrrC8vhLY04ttHwYutLz+C/DKKbY9Aphtee2JUkFxCvAWsNSyfempXONdtN3jsdlF2z0em1203eOx2Vnblr97NDa76Hdvjc3O2u/x+OzqvFjtc0rjs4t+93h8dtF2j8cnIAEelteOQBQwH/gR+LNl+2fAo6f4fV6OUsI9w2qs/83yt3wq1+AJ2l5j2ZaIYg849vSaFD/iR/0BGk7w/h56YAueaT9AKPALin2eCXwAOHWx/5OA20D3+3T4OdG1Kn5O+nxeb3lmTRrovgy1H3Ff7fXzedrfVwfCA2klilFpzVJgpyzL44Gdlr9PGlmW9wFVbbYly7KceirtdaPtbbIsGy1/RqJcEL3Vdp3Vn+4oN8VeadvC/4B/nWq7J2i7x3TS9qPAG7Ist1j2KevFtgGQJEkCbgXW9mLbMqB6HngDRb3Y9gRgn+X1duCmU2y7WJblOMvreiAZCAGuA1ZZdluF8oDulbZ7Y2x20XaPx2YXbfd4bHZxvqGHY/MEbfeYLtrv8fg8Ud97Mj67aLvH47OLtns8PmWFBsufjpYfGbgYWGfZfkpjU5Ike2AZcAWK4HWbJElTgIPAEhQR85Toou01wCRgOuAKPHCqxxAIBH2H5X77M7DRYp9PADyA/9fFvz0JuPVD9wSCttwGHLD87jaWZ5VA0C8MlfvqgORAkiQpDPhdluVpAP7+/nJYWFi/90MgEAgEAkH/EBsb2yTLsrv6tyRJ/0DxcHp+ALt1xiNsMIFAIBAIhjaxsbEVsiwH9EZbDr3RSE8JCwsjJiZmoLshEAw4sixzrLCWGaGnlE5LIBAIBi2SJDVavXYE7gKe6Pw/BP2BsMEEAoFAIBjaSJJ0yl7lbRlSSbQFgtOdbyNzufbjg+xNKx/orggEgjOFRYuUn/7lE2CfLMv7+/vAAoGg79mdWkZxbfNAd0MgEAgGjoGxr/ocISAJBIOIlJJ6APKqmga4JwKBQNDr6AEkSfoPEAD8c2C7IxAI+or7Vhzmuo8PDnQ3BAKBQNDLDIoQNoFAIBAIBEOeGkmSHgAuAxbLsmwe6A6dzkiSlAPUAybAKMvyHEmShgE/AGFADnCrLMvVA9VHwZmJ2azkVy2rbxngnggEAoGgt+l3DyRJktYCEcBESZIKJEm6v7/7IBAMegYgub1AIBD0MTrgM2A4ECFJUrwkSS8OcJ9Ody6SZXmWLMtzLH/3SlVbgaAn6E1CGxYIBIKhSr97IMmy3K684pw5c5b3dz8EgsGIJA10DwQCgaDvkGVZeD73LdcBiyyvVwF7gGcGqjOCMxMhIAkEAsHQ5ZQ9kCRJGilJ0m5JkpIkSTouSdITlu3DJEnaLklSuuW3b+91VyAQCAQCgUAAyMA2SZJiJUl6yLJtuCzLxZbXJSjeXu2QJOkhSZJiJEmKKS8XRRsEvYveKAQkgUAgGKr0JITNCDwly/IUYD7wV0mSpiDcpwUCgUAgEAj6moWyLM8GrkCxwS6wflOWZRlFZGqHLMtfyLI8R5blOQEBAf3QVcGZhBCQBAKBYOhyygKSLMvFsizHWV7XA8lACIr79CrLbquA63vaycGC2SyzOjKXFqNpoLsiGOKIDEgCgUAg6ApZlgstv8uADcBcoFSSpBEAlt9lA9dDwZmKEJAEAoFg6NIrSbQlSQoDzgKiGMLu078mFPHCxkQ+3pUx0F0RCAQCgUBwhiJJkrskSZ7qa+BSIBH4FbjHsts9wC8D00PBmYzIgSQQCARDlx4ns5QkyQNYDzwpy3KdZJUFWJZlWZKkTt2ngS8A5syZc1o4XNTrDABUNeoHuCeCoYqEyKItEAgEghMyHNhgsbkcgO9kWd4iSdJh4EdLhdtc4NYB7KPgDEV4IAkEAsHQpUcCkiRJjiji0RpZln+2bC6VJGmELMvFwn1aIOgdKhtayKtq4qxRIie9QCAQnOnIspwFzOxgeyWwuP97JBC0IjyQBAKBYOjSkypsEvAVkCzL8ntWbw1592lRal3Q18htfPKu/+QgN3xyaGA6IxAIBAKBQNBNhAeSQCAQDF164oF0HnAXcEySpHjLtueANxii7tOnRZydYEiSX9U80F0QCAQCgUAgOCFCQBIIBIKhyykLSLIsH4BOE7YMGvfpep2B2mYDob5uvdamyFMj6CuEd5tAIBAIBILTGSEgCQQCwdClV6qwDWauX3aQhW/uHuhuCAQCgUAgEAgEQx6RA0kgEAiGLkNeQMosbxzoLggEJ43cNgnSCbYLBAKBQCAQDAaEB5JAIBAMXYa8gNSbiLm7YKAxmcVFKBAIBAKBYPAiPJAEAoFg6CIEpFNA5KkR9BUnurRMQsUUCAQCgUAwiBEeSAKBQDB0OWMEpN4I/RHhQ4L+ZOORQuLyqm22mYVNJhAIBAKBYBCjCkhiwVUgEAiGHmeMgCRCfwSnE2YZnvwhnhs/OdRmu7iOBQKBQCAQDF7UELa+1o/u+iqKsc9t7uOjCAQCgcCaM0ZAMgoBSXAakVfV1OF2EcImEAgEAoFgMNPqgaRISAXVTTz787FeD23bn14hFogFAoGgnzljBCRDLyb0Ex65gr5CNba+P5wHgKO9xB/HirX3zcJQEggEAoFAMAhJLq6jTmfQhCKzLCPLMg+simFtdB4pJXU2+4c/u4mXfj0+EF0VCASDnIyyBiobWvr1mEaTmdjcqn495unIGSMgGU29kAOpF/ohEHQHnUExvgwmmUfXxGnbxUqbQCAQCASCwYYsy1zxwX7uW3FYC2GTZcVuSSmpB1ptGxWzDCsP5fR3VwctLUYTr/6eRG2zYaC7IhAMOEve28tF7+zp12O+uz2Nmz6NILGwtl+Pe7pxxghIhl7MPiwN4qyAcXnVhD+7ibJ63UB3RdAHCP1IIBAIBALBYKNRbwIgNrfaJlTNOoVEva5VGGkxmnrt2EOlyE1iYS3LD2SzP718oLsiEAwK6nTGXm2voLqJsKWbOJzTsZfR4ewqy3GFiNsVZ4yA1BseSKcDX+3PxixDZJZwv+uIiMzK09qLZzAk0T6SV21jBAoEAoWcikbyO8lfJhAIBEMZa7ug3mrS16Q3dbi9oRcnhi0nyK309YFsMsoaeu14fUVji3Kuqhr1A9wTgeD0pbi2mc/2ZnYoLEdbBKJvI3PZkVTaTqxtaFHuS72dr22oIQSkk2AQzN0FPSAyq5Lbvozko13pA92VU2agxS+90cwNnxzioW9iB7QfAsFgZNE7ezj/rd0D3Q2BQCDod+qaWwWh3MpG7XV2Retra5FJnaj1Bs36zr2ZapsMvPx7Erd/Gdlrx+srmvTKOalsEAKS4MymJ7mLH/02jjf+SCGnsv2CnrODPQAtBjMPfBPDXV9F27yvCt4ijLRrzhgBqTdD2AY1gze6bsAprVPC+k6HVajO2GxJqP38hmP8El/Y78dXb+gxHSSYWxOVyxt/pPR3lwQCgUAgEAww1uJQTG619vqmTw9pr63DUep70QOp2dC5gKRWtS2rb+FQZkWvHbMvUD2QKhv7N3GwQDDY6GpMnwhV/Olo0d3eonzoOxGoVBG3t0PnhhpnjIDUn0m0cysbu+UpojOYKK5t7lmnBilGk1mEcvQBr25KBmBNVB5PfB/f78dXBSRDB+Pp+Q2JfLY3s7+7NKQpq9f16irtUKdJb9SEYoFAIBB0j23HS7j8/X0Ye7Dq3x1ByCaErc2zLau8gWs+OnBKtmNXk83cqlYPqNu/jDrptvuLQxkVPPVTAiA8kPqbyoYWFr29u12VQMHAobPyKjzVCtQd5VlT7xWd5WBTRdw64YHUJWeOgNRPHkg5FY1c+PYePtx54jCpB7+JYcHru/qhV/3Pa5tTOP+t3ZSJydyQoiPhSNB3zP1/O7nyg/0D3Y3Thtu+iGTeazsHuhsCgUBwWvH0TwmklNRT04NJU9uks0smD2+3z9cHsymvV7xr2gpOu1PLOVZYy39/O97lcY4X1XIgvcJmoVbXlYDUJoylJ4ub25NKySzvGy/2//6WpL2uFDmQ+pU/EkvIqWziq/3ZA90VgQWb3GmnuJDapDdR3ajnx8P57drtKMdRbZNBE5hEEu2uOXMEpH6Y+O5PL+ftbamAkm/nxPsrrrSnqqwOZtSkZN0xRn48nM+OpNI+6cdPMflsO17SJ233BT0p8JdRVs/bW1O6XY1kb1o5a6JyT+oYHcUkbzhSwJbE4pNqR9B98oQnX7dJKFDKrg6Vijz9wbLdGSS4Bw10NwSCLtmXVs69K6KHpL00mDhRYusmvdFm5b62qePE2QChvq68ct1Um216o5krLIsiDS229qF6304urte2mc0yNU22YspVHx7gzq+ibEQjndWkr20EQF4bAelIfg3NelOnopPBZO60UMiD38Sw+N29Hb7XGdbnqLtUNogQtr6iuo04V6czUFKrLHYHeDoPRJd6xCd7MvhkT8ZAd6PXsfYqzK1sPKV7f2OLkb9/f4R/rT9KbmUjsixr33VHifezrXK3Wed064i296UzjTNGQNIZWh8WBpO5Q+VRlmUt9rEj1Iu3s0n+XV9Fs+locZf7dERncZgDSWM/hs38a/1RHvgmplv7dvX9dMT/rTvKQ6uHVsLnzm6id38VzbLdmd1auTKZZe75OprnNyR2+7hNeqONgKQzmDCazPzjhwQe+Tau2+2AkvCyq0m+ySx3uaJ4pqE3dnzPEnSMtWGgThQaWox9moT+dBStZFnm7a2pXDf9roHuikDQJQ+simFPanmPPGQE7YnIrCTLyqPmRKvuU17cylUfHgCUiqwzX97GlkRlka6tgKQ3mQn2cW3XRkVDC016o41YZTLLmu1ibRN/sDOdC97a3WG4yZ7U1upJzXozOoOJGS9t4/9ZQv1VcqsaOXu0L0dfuhSA0lodV324n/mvd+yt+umeTC5/v73n76kk9d2XVs7Ml7dxKKN97qXM8gYiMjtebBZV2PqGjLIGznplO3cuj6K8vgVZlpnx0jY+3q0IMG5O9gPcw5NnbXQevxwpGuhu9DrWAtK1Hx9kVUTOSbfRpDeRWqII0g0tRj7bm8VHu5Tv2jpETc0vm2OV8N/6XlhU08yulFZHhw1HCpj18vZeD3ncnlTK8v1ZvdpmX3HGCEgv/57EpBe2oDOYuOCt3Zz9yvZ2+6yOzGXKi1s7zUtkOokJgt1JKEgnKj/a36w4mM3U/2ztlfCz3pxTxeVVM+XFrexOKeu9Rk9DXv49qcPtqtHVnUny378/clLHzKtsYsqLW1kTladtm/TCFu5befik2gHlpjz5xS18uLPzFZMHv4lh0gtbTrrtocrZr2zn3DdEaFZ3UScyLUYTk1/cwqQXtjDtP1v5xw99lzfsdAzvHIyLFwJBR6hpCIbixPpkF8Z6k9u+jOTid/ciWWxWddX97a0prI1ufd5vPFLIM+uOAq2FSNRy2FHZigjS1munxWArIE0Z4aW9LqhupqC61dZ+b3uq5hlS06TXFnRXHsqhTmckv6qJQ5kVPL621Xb563etC1fNBpOWONe636DYL6OGueHp7IC7kz1Ftc1kVTRS02TgeFFtu3MSl1dNYU1zu0WbU8mJoiYTj+ggKmHxu3u5rZPKcNVNhh7lo9IZTDz6bSzppfUn3vkMQhVLD2RU8PyGY+gMtue4sYtqfoORhhYj+VXNNvPWzu4nNU36Tj3r+pqvDmSz8uDJhQfq2nwXMTnKWNIZul6AtubHmHzKLCGzlQ16Vh3K0d4rsZrjPrYmjh9j8nnSYiNODfbSPAeNJjM3f3qIv6yM0Ra2f4opACC9tOfhrNaL5ZuPFbPiYE7nOw8izhgB6XiRohIuXX+U4lpdh/GUvycoCqTq7nooo4KDVqsG5pNQQ07GA6m4tpmVB7N7dQW7q7a2HS8hIb+m3fY9qWVEZ1fxyR4lEXJVD9zz1KP3pAyjSp3OwBf7MjVj5UAHKzkDybrYApsVvO4Qn19zyqF1K61ugNaoBmB3PHdUT7kT0WI08emeTJKKFSPrtwTbVQ41DNOaE13HVZbkkOvi8jvdZ9cQEAl3JJVyJK/6hPvpjWY+3ZOJzmDiqwPZmhFtfR7rW4xUNOg5WnDq141KbG7VkBdh1eSsbcMxfk1ov0qXXlrPxiOFmMwyn+3N5ONd6Tzx/RFNiJVlmVWHciir07EutoCMso4NcuvVsv5KfL7xSOEpr4CZzDIf7Dhxrj6BYDCgrosMNQHpm4gcpry4tUObrDeJyqpsl/unI4GiTmfAbJZZtjuTZ38+pk1GP9yZzg8xts9sdbLt7uQAKJ5F1owNdLcRkD6782zWP3ouAH9fe4TP97WutC/bnUmFxTYwmGTqdEbWxxVqolBWeSO3fxnVzgZRsRaQVLGxTmfgj2PFFNfpGDXMDUmSCPJ2Ib+qdbKt2pXWqAJZTbPttXYqZb2dHZRpVlcLxapng9ymVE/1KYS+qcTlVfNHYgnPbTh2ym0MRayLbMTmVlPdZp7Tn9EXvYHqXVOnM9LYYmTr8RKmvLi1XVqQqkY9s17ezrzXdvapJ3ZnvPJ7Ei/91vHid2c0tRGQAr2cqW02MOmFLXxhuXfsTi3rMkTU2kvx/lWHbUSjtuKhmrv4sqnDmTLCi6MFNRhNSshtkSXsTb2HqnncVHHqVDmSV82kF7ZoaV8qGlrwP03CKIe8gNRWyNkY37mbn7qv6ml0+/Io7ljeWrHhZOIvJbqvID22Jo6XfksivRfLy3d1g3hodSzXLTvYbvu9Kw5z6+cRmhHQGyEznWW5Pxle25TMa5tTtEmvvV0PEgX1MmazzNM/JXDDJ4dOvLMV1y872GFo3clcN21RT8vJlr7s6ntevj+bN7eksDpSyZXUnQeP8QT7nIwQO5BhQT19yD7wTUy3ros1Ubm8uSWFJ74/wiu/J7H0Z2WVtyOPlms/7vi6ORlu+jTilDzHTidU4aitAeLl4qC9NptlZFnmkv/t48kf4onKruSNP1J4Z1sav8QXaeWe86qa+M+vx/nbd0d4+qcElry3r8NjWhue72xNbfd+bxttOoOJJ3+I5+ZPI07pWNuOl2iLBQLB6cJQE5Be+lVJGJ1xAvtvT2oZb/yR0un7six3+rwsq9fxpy8i2z07Ogp3r2s2kF/dKjTtS1Pugx3ZXepih8FsRpZlDma0etk8tmgsD18wFm9XRzydlfuuq5M9I4cpglJKST2TR3ixcJy/9j/x+a0LLn9fe4QXNiYyNsAdgKgOhB5rdAYTNZaJpPrsfGtLCo+uiUOWYbSfGwDBPq4cLWgV69QJuEqz3kRhjSIw1VhNTNdG5/HxrvZe0yeyUdR5hWpndbT/X1bGdFi9ubJRscWzKxp56seEdrZaV995daPS9zMxZZh6Xjo6P8W1OhzsJN7/0ywqG/X8flSZE/7lvDGE+LgOqqq33bF/k4tbF5AKa5p515KHN6HAVpBOLFQWgZv0pn6/h3Y3V9Da6Dz+/EWEtiimzmVW3neOpR2DNl5XWhb17ltxmH/+2D3P8hN5iaseka/fOIOLJwVSpzNyOKfaZm6ebQlxU4Wo/KomDCazzXdlfd3VNht4OvxyjrnbFhQwm2We23BMq1z95f5snll3lLK6FgI8nLr1eQaaIS8gOdp3/hEfX3uEOa+2hrKpD8jOCrapizXW7mXbjpcQtnSTTWwkdO2B9NSPCSywir0urlEuxMisSsKWbmJfWjlhSzdpimRbZFkmbOkmPt7V+eqxmjS8TmcgbOkmfo4r6HTfZ38+ZnMe1HFwOKeasKWbSLJ4bx3KqCBs6aZ2CQmtSS6uI2zpJs0YOlF4nvWgC1u6ic87KAOvrhCoN5OuwgP/9HkEN33a8aS9OyEm9ZbztT628/Nlu7/ysDmVlSmA97alErZ0k/Z32xWoE5Ff1UTY0k0cyqjQzsvO5DLClm7qsNJI2NJNNscDxWACuOfraK760DbuX/186u/uqO2qkbMutoCwpZvau7WfhDDZmyE26ljYeKTwhPuujc5j3PObbQzN7qBe/8cK2rvFd4Yqdqhle1XDr6vPnlZaT9jSTd3ycOorMsoaCFu6idjcrg37zrhu2UHuWN6x+/7J0tBitLmu1Wvu/Ld22+znYPU8uODt3dy7olVIe7+NN85dX0UTtnSTJkJZl4IOW7qJP44VE7Z0E18fyOa1zcmc+0ZrRc3fjyrvqcka/zhWzPjnN2vjPbuikdjcasu9UjGIwp9VxuYNn7SK++o5bjtm1fesP/vM/25j1svb+Ckmn3HPbybWEjrxrtU95sOd6Yx9brMlPOT0ctUXCKBjAclsltmVUnpaJtjurmfVvSsO89neTIpqOk6xcNOnhzpcGAT4OU555tW2mciV1bU+z60nPClWosqRvGpkWbYJNwNFpFaFlqoGPVuPl2h/A5w3zl+zqVUvJHdnewI8WlfXN/99Ie/dOpOZI30AqGjQ42ERm/amKfbv3xePx9/DqVPPaxWdlQcSwPrYAhsB6OzRvgAEebnY2DHJbQSkzPIGzQb+Jb6QyoYWYnOreHdbKj9b2Q5Gk5l9aeWMeXZzh16pBdVNpJTUaSGBdToDcXnVjHl2M/H5Ne3EooLqZuraeMyqNsHS9UdZH1dAvJWXmizLjHl2s01Kg6zyBjLK6tmbVm4T3tcd1OfIyYYZqcTmVvVbUmGzWWZ3SlmHAkuL0cSYZzfzyZ5MnvopgRkvbbN5v6RWx3AvF66YHoS/hzOf71U8WRZPDsTTxYEGnZGC6ibtGa9iMJnZk1pGdaP+lG2ek8FkVr7f97bZLkaV17do3opvbknh3xtb85he+r99pFlCqkrbpCCxFkrL6nuWniQyq7LbieFlWWbWy63zy64iJL46kE1kVhXrYgrYkVSqzU3GBngwPcSb6iY9qVYe16qYY32/SsivYU1UrvbeyRLo6cwwdycumBCAp7MD37UJh82uaKRZb9LmRAXVzVz78UH+9Hmk9vy5d8VhLb/aCxsTWRc4nX+PWcLO5FIOZVTQ0GIkr6qJ76Ly2Hpc0Q72pZXzQ0w+qaX1+LkLD6RBgWMX3iq/JRRpLrPQKky0jR9NLaknJqfKJgfSlsRi6nQGvolQPDP+3SYZ8YGMCnanlmlubtasjyuguLZ1AKsTxbXRinvw+zvSALj762i2J5VS06QnIrNSezirQso729I6/WwGiwpWYHHV/XxvFvvTy9vdVJTj5tmcB5V1FhFld2oZm44WawnMonOqiMyqtBGSmvUmfkso0pIpqjS1mPglvrBTJb2tmPB2Byv3KuoD194OtiSW0NBiZE9qGaV1On5LKEJnMBGVXaVNnNqiumurFfJKanUcaBOCpU743t+Zxi/xhR0apPlVTZrbs7XBYv0Zfz9apN38rEksrLUJOfnQsqJV3ahnS2IJv3ThIdcRarnb25dHaedHFb+e/inBZt/Obtxq/oK9aeVaqGdbTia/y960crYnlWpiYHZFI78mFCHLMtHZVTYPskMZFRTXNhOVVcnW4yWkldbbiC/FNTp2JJV2+l0YTGbWRuex+VgxMTlVNgnwcioaiclpfdCr1+tHu9K19tTrpi3P/nwMWVZC/X48nE9xbXOHSTBVmvRGNh0t1kJerR86qyNzNSFqT2qZ9vBu1pv4NjKXnRbPOutPtye1rNOJAiiJ9oB2482a40W12qpTV9Q06Tutgrj1d5BvogAAIABJREFUeImNABibW62Fa+6zGPi/nuQ1q5KQX2OzYl1a1348gjKufksoosVoYoflftiWtve1+hZjh9eLnSSxJbGEioYWCqqbtUkK0OG9GlpdlkvrbN9/dI1ioP9vR5rmTq2ienH+97fjHMyoYH1cAWa5dbzvTy/nWYun2f+tO6pcj5buHsmrYaslTPHRb1s9Bqyr8iTk17SbINQ2G6hpMrAnrRxZhuc3HONoQY2WMLKqUc9729MwmWUqGvT80cW1IxAMJqzv0VWN7cfphiOF/GVljBZipTeaSS6u44WNiV1642WVN/CvdQnUNOnJqWjk2Z+P9mrxhqpGPf/3U4KNOJRcXMd/fklkS2Ix/9veasNVdPC5rFG9eHantg8/Nptl4vJqOFpQS0F1E0vXH7WxY9Xnj0ubBMHWE8k6q8WwfWnlODnYMSnIk7i8at7fkd7Os/nNLSmkWLwfdqaU8cT38cwM9eaV66cBMC7QQ9s32MdFOb6DPZIkse6RBUQ/vxhJkgj0cuGnhxdoHtQTgzy1/1v1l7lcOzOYxy8er32PTg6205b3/zQLdyd71sUW2FwbT/2UwF5L+Mr54/0Z7ad4MqmeSAALwv1IL623eVZYe4It253J2a/u4KZPI9rZyI98G8dLFvtLzc1izcI3d3P5+/s1G3F3Shk3WjySD6SXt3veKDmZbI9xx/Io7l0RrXlfVTXqeWdrKjE5VVq7Kw7m8JPlul/83l6WvLePH61CDWNzq22ec52RXa7YTi/9lnTSVZGb9EZu+jSCh77pn4I1Xx/M5r6Vhzt8hhVZFuQ/2JHOz3GF1LcYbc51UW0zQd4uODvYM3eMr+aF5+3qiLuzA416o2aDfm9V+v39HWncu+IwZ72ynZs+jeiV6Iq2WM8hVPtPtRlyKxt5bsMxrvnoANctO4jJLPNpFx7EBdXNbDhSoOUDS7ERkLoXdmX9GdX7Ymmdjj9/Ecm9K6MVj5k2YtTqiBweXh2j5RYrbGPHqnNf688ak1PFa5uTybVUQFt+IJsHvonR8oa5Odnj4+ZIWkk9L/yijLnaZgMZFlvUwV51/pB54JuYdsWB/n3VZO31O7fM7PIzTwlW8rS5Oztww+yQdiGzqyNtxanjRbUkF9cRnVPFEYsH5d60ckrrWsivatI83BI8grl/VQy3L4/ioW9ibL6Ptvh7nh4eSA4n3uXUkCTpcuADwB5YLsvyG311rK7oTriT2SxjZydpXkNtV2Yve18JWXj4gnBt2yPfxrFoYoD2d3mb2G9ZhvtWHGbOaF/WWWK+O0N9MLYtLSnLSjLhBeF+RGRV4uniwLGXLuuWt4vqgaSKU2ZZ5q6vogn2djnh/6qoq1Xx+TU2wo4sy/z5i0g8nR049t/LAKVSxmd7M5kW4mXTxttbU0ktrcfdyYElU2xd+KC9qOHs0F7TVO8z6nnKKm9k2e5MFk8K1CbfAA9ZfT9gG9/fYjRp+ZgqGpQEjTd9eojCmmayXrsSOztVPFT6k1/VzBPfx2M0ydx0dqhNu6pXQ84bV9lk6Y/KrmJ+uB/JxXX87bsj3HhWCO/9aZbN/1790YF2nw/g4dWxROec/KrGjuTWz68+FLxcHbX+ZJU3EB6gGHKdJYB8aHUsOW9c1eF76pg4mbjwxywT66mWG/Frm5OJzKrCyd6OR6wmxLKsCF/+Hs7tcieo3PV1lJavoElv4ra5o2ze/yYil1faJBVXP8uid/bY/K2uRmaWN/LE9/EczKjgx5gCHl00lmcun6T9v7Uw+nkbYSD79Su1XFPWPLP+GL8lFPHg+WMAbBLQv2BZITr60qXcu+Iws0b6sPGv5/He9lS+3N+62qeOhRajiXtXHMbXzbHDcwKtOXY6Gi8qaqWczr5blcfXHmF/egUx/16Cv9XqcG5lIw+vjuWKaUF8eufZAJp3n3WbHZ2PU+Hmzw6RX9VM5mtX2ty396aV8/jaI9xydig/xRZw/nh/Vt8/z+Z/21b/adAZO8xzV9HQwiPfxjJvzLB273Um2J0otLjtsa35I7GkQyNXZzBpK4VH8mo4kmfrgv3w6lh2PXWhzbEzyxvxs3w/D34T06kR2GKJ608pqefaj1s9EqzH3tL1R23unSpms4wk9d53KhgYBov9JcsykVlVzAnz7dIbHCCpqI5AL2ebe5BKjlVp5dzKJib8+w9ev2E6N50dSmJhLXEWT8zUknoyyhq48sP9mifsHfNHMSnIq12bAD/FFvBjTAG1zQbSSxvIqmjkqunBLBzv3+H+J8uGI4X8ZFnQedsycXltczL70ytYZVl8VCmsbiY2t4qzR7e/N925PEq7n0VlVXHHvNE272da5WBc+KZin8wc6aM9L9XJSkmtDlmWtfHd0YKVGtb6pzkjcXd24OuD2Ry2CCRPXzqBD3dloDeabUTzqkY9o/3c+Orec/D3cObOeaNs7iEjh7nh6eKg2Vlzwmw/o5ODnbK/LDM/fBixudWcP96fCycoNvaNs0P4jyXUb0aIt5aYOszPjevPCkGS4Inv43Gws83RVN9iZGaoNyvvm6ttG+PfKmxdOnU4EVmV5Fc3aQLTiUIJVXYkt4osXSVeVm0b63xGG+OL2i0A700tx2CSGRfowW1zR2l2jXUOlyN51Xy+L4tlezL47W8Lte3/t+4ot8wZqdnKbXNcvr45WTuXRTXNVDboMckyw72cadKbGBvgYVO+/IFvYk5oN1ijPstOxYY9FdQ8qHlVTVz2v32E+Lry3JWTeHxtPA0t7T24v9iXyfNXTQGUBc3zxirje4y/u7aPKiDVNhts8uTc9VUUXq6O2uKySmJhLXd9Fc21M4P5/nA+e55eRJilPbNZ5uJ393DVjBH/n73zDo+jOvfwO9t3VVZdli3ZcpV7wcYFsMHGYFNCrwkQCCUhlEACCZdLArkXCOHSE3ovpndig40b7r1bsmwVq/cubd+d+8fsjnbVLNmSLInzPo8e7c7OnDln6jnf+b7fx/2LxtIZVmWUcc/He/jw1tlMSraGGClK6xy8ui6HD4OS2ORXK8Lw+dU2xg6KUO/x2DAD04ZGsTKjnE3+DH/XnJrClpwqxiVFklFSz8GiOu5YsotnrprK4omDWtUls7SBR5emsyGrkj+cPRqH28crP2Xz6CUT0fnvYaXfohimn7h8Eltyqpk5PIaX12ZTXOdg+cEybjo9VT3Wdy8YxQursyipsxNu1LHwmZ+4a8Eobpk7giteaQ7Dj7bo1XvlK7/Hn9mgJdpiUHWIRsaHkV3RpBqKArIY+4vqqGhwMmt4TEjIa0pMs9H48lOGtJpcD2ZmUN9w4mBryG8PXTCOR5dm8IN/gm/2iBi25DTvZ19hXUiEzANf7sMnwxcHlnD5xF+pyzdlVzFreGy7dWjrHdgX6REDkiRJWuBF4BygENguSdK3six3TUHrBHltXXYrl9C2+Gp3EZdPT1YHLfd8skdVYg+m5WByS04VM/wv+/Y8NPYU1HL+8+t58orJ/O6Dna3cgIMJPLRapqkNdI4aHB7+9s0B1esJlDjxBoebt4NekAAPf3uQh789yN8vmgA0u0cX13XedTEgot1SIDrwYGtwerjspY3ctyhNjeM8UBTqwZLpzwBRVGvnghfW88Rlk/n7dwf5w8LRvLc5j8lDQm9Qo17Lp9sL+PMX+1rVJ2A4CxgCWg6Aggf+9322N8TQ9j/fpYdkEPvhQLO79YgHlzF3dByVja5Whow/fbaXbbnVrD9S0erYfb+/RPVCAMUj4+/fpfOb01MB+HJ3EV/uLuK166fz3b6SdsUfAXZ2YyhSsJtzZmkDg6wmFj23LkQ4siXBaSNTH1hKktUU4iV3PMKCAW+mwAM2eAALzfHG7RmPgJA6/9eX+1l+sJSSWgdlDQ5qbW61UxTMPR/vZpC1Wbjzu73F/N/yTC6cnBSy3qf+LAovr81mVHw4l09P5vdLdhJhbN9w8/2BUh5bmkFRrfIS/Pz2Ofzxk72k+2di8/zXYEthRkCdbd5TUMs1r21msDU0vXHAeLnXP/vVkYDmWxsUw9PuglpmP74Kj89HXLiR566Zyp8+3cs/Lpukrnve8+t55bpTeGtDbsiLacnWPF5bl6PWeWNWJa+ty+GpK6dw3vPNoYzfH1DCdJ+/ptkY+vSKTHX2651NR5k9IlY9vwkRRt79zUz++OlenrlKKSvSpGPCYCu/mDKYN9bncJP/HgHl2jtc1qCe6x8OlPLGhhz+56KJ3PHhLsYkRqhtBSV876a3t5FXbePz351GdZOTS1qEbvypgw4CoHZ8gmkvtLIjr8jj5fFl7WuZBFjw9E8h3696dTOjEsJ5+sopHc4gBg9sggkWi23LeLRw8k1kPbgMgB/umdvuoFvQt+kr/S9QBr83vbOdO+ePYlisBZNeS15VEzOHxzJzeAyldQ5e+SmbW+eN4PwX1jMyPoxVfzoLUN45L6w+wi9nDg3xWg0YZP702V6Kau08E+TFs7ewltQjlhCtmMzSBnw+eOWnbBaMTeCSaUNodHp45NuDqpd1IIwAFB2eYAPSa+uyGZ9k5YzRcZTVO3h5bTb3L0ojzKjD5fHxzx8Ocd3sYQyPC0OWZV5am82YxAjOGZ/IYX+9P9tZSEyYgTkjY9tMPAFK2Ot/9pWwcFwiD/9ivDrocXt9IYlDdgX1FT7dUYBZr22zX7nhSCWnjYzl7Y1HyaloIsygpcnl5W/fHOSXs4bi8cptJhUASLKauOec0ezMq+Et/6P18lOSuW3eSEbGh4f0ewI8feUU9f3S0gB9+1kjOW9iUqttgglMEC4Ym8jEwVbmBb3bI0zN7+SkKDPk1XDO+ESeukIxyl04eTBPrchkV9Bzfd6YeNYdriDJag6ZkAg2Gkz1h87tKajlo20FnDYyln+vyWJQpCnEiHAsivzH3+318c/vD3HepOa2tuUF3JaRKvDc/te100hLjOB//5POsFgLV81IUd9BgT6kLCshcsH8oUVm3dNGxnLzGcO5//N9lNY3Gw4XPbeu1aRH7j/OVz2QjofgsKKHvzmAy+vjyhkpnDI0Wl2+4Ugl245WkxxtxqTXctGUwR2Wuf1oNe9sOsqV05M5Ky1BXd7k9KhRBgFNsMyyhg4Tr7y+PpehsWH8YnISZfVO1cst2JhotShaXesOV6iTz8GeW0ODjBAAn24vxObyql5KC5/5iRX3zmNEfDgr0ks5WmXjxTXZrQxI720+ymCrOWRCPb1YmXS2u738dLicQ6X1IV5k57+wnhFB1y0ootT51TZSYy28fdOpzPmHEkK/8o9n8vH2gpDJ5YXP/ERRrZ3b5o3g4W8PqsbL51YeVg1IxbV23tl0lFnDY7h9yS5cHh/J0eaQ0P7/+U96iI4kwCc7ChhkNfH8qiPcdHoqxXUOrp2ZQkWDi7c3HlXDZC+YPJgXVmexO7+WmiY3dXY3jy7NaNXvevGXp1Brd6sT0aB4Lga8jC6eOpinr5zC4ufXq/dRaZ2DOrubx5ZmYNBp+MPC0fzy9Wb94jkjY4kJMxBt0SNJEnqtREq0hRz/WPa+c8cwyGrmvs/2cm7QeUkNOuZv33gqU1KieHRphiq2vXjCoBAD0t9biIQHPOxPaSzm44Mfcc2Ea9Xfnl3ZfgRRfzEgST0hUitJ0hzgEVmWF/m//xeALMv/aGv9GTNmyDt27Oj2eny6o4A/f97aENEWz18zlbc3Hg0ZfHeGYbEWdQDWERFGXZsz4t3Fk5dPxqjX8OaGXPZ1Un/l+Wum4vbKHVpj2yItMUI1DHWWlBgzBdV2zHpthyLPsWGGNoUdg4mPMLYZbnI89eoJIky6Dr0SepPzJw1iVEKE+sD7ORIwhh3rvDx15ZQu3wstr8XBVhPFdQ4SIoytBvkt9z9hcGRIyGCkSdcpg3dHBPZr1GlCXswzU2NazQ62XKe9enWG4BkwgLhwA5WNrnbvZ61GOqbQ88zhMSFGD4NW00oX6rdnjmDd4coQIckTYbDVxMXThnToGt4ep42MxaTX9ngGQb1W6lJI6fGw/5FzQwZt3YUkSTtlWZ7R7QULVLra/4Ke64Nd/+bWdg0mQ6LMrcIbAty7cAy78pXQm7mj47Ca9Sw/WMo9C8e0adAdEmXGqNeQEzQI3vfIuUz/3x9ZMDaBnXm16kTFg+ePpbjWoWrqhBt1rYRzRyeEc8vc4fzli+YMVia9Rs3ac/3sYZwxOo79hXX8e40SYjLYamJYbFib6dpbMmt4DBEmnTrIS442hxiBRsSF8efFaXh9oanqY8IMbWolGXUapg+L5v5FaSGJG4LX/+WsoaoHQ2yYgZgwA0ermlhz31lEWQxIKCG+Go1ioDDptRTX2lVtt8OPnodBp6HO5ua6N7eyv6iO+Agjj/xiApuyK3n0kokn5Ll49tNrya5o4sDfF6k6SMF8uDWfsnoHeq3EUysO8+zVU7h0WrN3+KP/SeeNDbnoNBL7HjmXNYcUHaAb5gzjfy6eqK5nc3kY/7flJEebWX7PPCY+spyWw6A/L07jyR9Cr7P7zh3DUysOt/keCtDWtQSwYGwCL/7yFJ5bdVjV3AG4c/4o9foBxeM76zHFA7fJ6cFi0FJv9zDlf1a0KvNYvPubmZw5Jp5Ptuer1/FdC0apIc3BPHrJRL7ZU6R6moESGmg2aHF6fDz5wyF8Ppm/nDcWo07L2xuVyaiLpg6mqtHVbqa3l351Ck+tyAy5LwO8/KtT+GJXESszyhgeF8Z956ah00rkV9l4bFmGut6wWAsPnt8cgrT+SAUfbMlvVV5b3HzGcO6YP4rfvr8jpG2BY7Mzr0b1qs79x/mc++y6E05mNGdELAeK69S+Xly4gWtOHcroxHDu+2yv+u4elRCOQasho7QeWQadRiIx0kRMmIH9nZAeCHDH/JHcv2gsqzLK+DG9jCcun4zPJ/NjRhmPLc0gP0gLdcdDC1nw1NqQfqbf8S+EEXFhvHbDdFJjw7jwXxs4VNrA9GHRquHuw1tnqQaatsZ0b994KhOHWDn1sZWA0qdcevdcfvXGlhDZgrYIeL4FdBsDk1l3fbSb7/YW880dpzMlJQqH24tWI7HucAU3v9v87nrh2mlcMCmJez/ZQ43NxdljE7jx9OHqpIJBp8Hl8aGRlMnttzbm8tKvTsGo02BzeQkLevZUNDjVNiy9+wwmDLaG6FFuemBBiPZlW1jNevaueVxp0+z7AVRPsF9MGdymY8G6++czNNbSanl30J19sJ4yIF0BLJZl+Rb/9+uBWbIs3xm0zm3AbQBDhw6dnpeX12ZZJ0J2RSNnt5jFFQgGEqePij3mA7kn6Q6jR1/EoNUQYdId05jZF2jLWCU4Pv54zhjumD+KkX5PnPZoy9gYCIW94IX1HCyu54/njOHZlYdbdc6C0Ug9kyXnwfPH8tq63FbefQvGJnTKwNWV8IWuIAxIPU9n+l/+5T3aB5Nlma/3FHGkrBGdVkNpnV31+myLy04Zwr7CuhDvjCnJVtUjc0pKFB/fOpu3NuYyJMqMzeWlweFmVEI4Z49LRJZllmzN56GvD3DRlMG8cO00LnlxI3sKarGa9Sy5ZRZ//+6gOpCcMyKWq09NYWpKFL/7YCeVjU4ePH8cf/y09STC7WeNZGdeTZsp39tqR3pxvWpQf/lXp4R47FwwOYm/XTiexEgTf/36AO9vyVPDc0GZaHB5fK2M+/cuHMPl04dwzWtbqLO7cXp8jB0Uwf6iOow6DZ//7jQmDrGy4mApI+LDeXxZBpuyKwn3e9Suue9MFj+3HqNOQ7XNRa3NzaOXTOS62aHhcC35clchs0bEMiQq1GP2u73FzEiNJqmFJ+3xUlxrZ39RHYsmtA6pCcbt9fHlrkKumJ4S4lm042g1V7yieGmu/OOZ1DvcnP6P1dy/OI0b5qSGlPHDgVKmpFhJspr5n+/SeWtjLqMTwimqtXPtzKH89cLxrD5UxoGiep758TCvXDedRRMS+WR7AQvHJ1Jca8fp8dHo9PDP7w+1qWdy/exhLNmah09WPge0oR74Yh8fby9g3f3zSbQaSXvoB66dOZRhsRZGxIVxbhvtX36wlKzyRv5veSY3zBmG2yvz0bZ8wo06/nbheBqcHr7aXciBonq1T3jofxdj0mupd7i57KVNIffVDXOGMS4pkiNljbwVJJp994JRNLm8vLkhVEjbrNeikdoP1RsSZWZKipVl+9vX1bthzjBGJYRzoKiuw+dAgCSridvmjWjl1QFw5fRkbjw9ldve2xlihA4YTMONOv564TiunJ6CRiOxLbeaq15VwqR0GoktD55NXLgRj9fH7H+sxifL7PrrOSERHvcvSiMlxsK0lCjmPrkmxGslyqKn1uZm2tAo7lowige+2B/SB0uMNPKXxWPbfJYEo9NI/GrWUN7dnMe9C8dQ0ehQjWPXzR5KXpWN9UcqeeaqKTz41X7OGBXPyowyFk1IRKfRsHR/CS//6pQQj7dgZFnmk+0FeHwyM4fHMCYxghUHS8mvtjF/bALf7S2m0eHh7U1HmZkaQ1GtHZvLy1e/P031gPzhQCm/+2AnH946C5fHR7TFwJSUKDZlVxJp0hMbbuDylzYho+gbaTUSmx9YQEKkictf3sTOvBqeuWoKl52STHZFI9/sKealNVnMSI1mcnIUr63L4Zs7Tqey0UlqXBgj/ZIbgX5UoC9SVu9gW241v2jDc231oTL25NcyOTmqTamU40WWZSY9soLYcANr/nQWGo3Exf/eoL6Tch4/n8IaO7sLalhxsIyl+0swaDUkRZn48d4z2ZRdyeAoM2Ou/gUAv7j8UfYX1fH6DTO49b0dvH/zTLSSxLMrD7P9aA2PXzqJsUkRIZ573c2AMCAF01OzX6CIBOo1GmpsLmLDjOh1ygunyenFJ8voNFJIqFO0xUCDw0OYUYtOo8Hj81Hv8BBh0uH2+og06alucmHSa7G5PHh9Mka9FqfbS2KkieomF1aLngaHB4teS43NpVo8w/2uf01OL5EmJdbWbNDi8cqYDVqanB4iTHpqbS6iLQZsAU0Ut1ctQ6fRICOr6xn9D/ZgwWaTXqvGhLo8PrV+gf96rQavT1bXMem1aDUSPllGq5GwOb1E+OsXbTFQ469PjX9/TreXKIuBOrsbvVbC5fGh12qINOupanSq65r0yuyF1azUNdCGwH+9VqMcU7OeRocHq1mvhv5EmvW4PD5kmjWqnG5vq3rERRips7nV37UaCYtBmQUKxOoGLMsaScKkV2aPAvUAxVhg92/r8crEhBvU89fg8CBJSoxtdJgBh8tLk8urttug0xBmUGL7qxqdatusZj1Of/0Dx9yo0+CTFY0bWUY9xsHnx6LXIklKOI1eq0GrkTBoNZTU2YmPMPrPm+KFYHd7iQszUu9w45NRrxufrFyTXq+spoE16DToNBrMBi06jUSD/3h7ZRmby0OTU7nGArMJPp+MUa/B7vKi02rUY29zezFoNRi0ynVoMShtiDDp8MkyDrcPm8tDhFFPVZOTJKuZsnoHFqMWh0u5BxocbiJNemxuL7Isq8dRr9UgSeBw+fDKsnqMjXpF+FOvlbC7vCGdxsALzSfLOD0+tBpJ1RLy+Wd13F4fURYDtTYXg6wmKhtchJt02N1ewgzKOQ7oYwWuSatZj1Gv3JN6rabV9Ru8f4NOg8crE27SUR90z+i1GnVdjSTR6PSQZDVRXGtXy4oJM2BzedXrxKjXopUkdFqJersbg06D26s8p0x6LS6vTxX8jLLoqWhQjnGDwx1yXQeeNw6XD40G9dkRuOe1LY5L4BoMvn7dXhmvLON0e4k066m3u9VnhySBhHI/OT0+tayAcGtwPcwGreptFCi73qHcnz5ZDjlPLevRsn6B/2aDFpNOqz4vDDoNRp2WMKMWCYmKBidWix6P10eYUUeNzUWkSU9ZvUMtI9yow+X1EWbQqddObJgBjUai1uaiyeXFotfS5PIo177Li1GvQStJilaCzY2kUbTFIox6rH7Nqia/aOfQGIs6U93k9GDSa6luchEfYaTB4UGvlZAkpd0GnYYmpwe3R3n+NDk9SCiitwat8vzy+pTUsI3+90S0Ra8ee71WgwxIKGLsYQYt9Q4PdTb/O8bnI9yoI8ygeMI2Oj3EhhlodHrQShI1l19NpMeJ8/MviA0zYNKHiu12F8KA1PN0tf8FPdsHC6ag2oZRp6HO7maQ1URRrZ3ECBNVTS5Gxoep13NRrZ0wg44kq4kj5Y34ZJnkaAtW87G94ursbow6DSa9ljq7m8IaG8lRFvV5cLisERmZ1NgwdbbZ55NpdHmINCl9GEmSKKmzkxobhscnK+9Kn0xWeSMJEUaK65oHrYMiTVQ0OkmJtlBca2dUQjgur2IA8nhlYsIMVDY60UjKcyWgSQjKAKWqyUWESUduZRNJkWYMOg2NTo8qTjvYasbt85EQoehX2lweJCScHi8RJj3FtXbCjDpiwkKFV70+mXq7G6NeeWZHmJQ+ldur1Kve4Q7RBhkI5FY2EW3RE2VRjkWN/9jqOtDfkmWZ7IomBllNynEyNms1geKFEBduaNe7yu7yqu/lOrubKIseCQmrRU9JnZ3qJhejEsIx6pRnqsPtVfvFAHU2N+EmXaf0WqsanaoOXlGtHaNOExLuUtHgJMqip8npUY9BYJ+B+8qs16p6T6AY7mpsLiKMetXrIbeyKUSEPTnagkZC9WaJDTPi9vpUDdCR8Yo3TXZFo1qfikYnbq+PwVYzMoRcnwXVNuodbqxmPRaDDgnUe0pCYlisRX2PZVc0hYg567UaRieEI0kSPp9Mtc2FLCt9gEiTjrwqG1FB10CAOpu/j+T1hRhD3V4fjQ4P0WEG3F4fNqeyL2uQBmXguRVhUvrMbo8PjUZCIynhlXaXF7fPh+xT5Atiww2EG5V7OjbcSGmdA4/PR3K0Rc2W4vQq44DESBN1NjeRZqU/klXeiNWsJznags8n+8szUt3kItKko9buJjZMuR4rG53q5xMYQp1sAAAgAElEQVShuslFtEWPy+vD61P69cFUNDiJj2g/rCrQ5250enB6mo9vvcNNWZ2DUf7zFaDJ6UFG8dirs7lDjnVwmR6f3KY3Ym8SOO6BZ4jN5cHtlfH5lDFhgMA1IAEWQ4v7+ayzAHD8uEptU/AxdXq8OFy+No9Dd9MfDEh9IoRNIBAIBAJB30AYkHqevhTCJhAIBAKBoG/QnX2wjtNiHD/bgdGSJA2XJMkAXAN820P7EggEAoFAIBCI/pdAIBAIBIIepEd8w2RZ9kiSdCewHCWN7FuyLB9sb/2dO3c2SpJ0PKlurEDn1cZOnN7eXxzQtgJl9zPQj6U4d2J/nWWgnjtx3rqPgX4se2p/aT1QpiCIrva//FpIlZIktSeC1J3XQneVNRTonJLusemuOnXncequ9nVHnQZqu7q7LNG2ziHut54vI0Bfald3lyXa1jla1qn7+mCyLJ/0P2DHcW73Wi/Xs7f3d1zHpZ+0baDvT5y7jsvYCuxp8Tepj7RvQJ67/nidiPM2sPbXm+dI/HXPOenOa6G7ygIq+mCduvM4dUv7uuldPSDb1QPnX7Std+s0IK/LgdquHjj/om3HUafu7IOdXHWqE+e7Ab6/3mSgH0tx7vrQ/mRZntWb++vD9Gbb+t110ocZ6MdyIJ87Qdfozmuhu8qq7aZyoPvq1J3Hqbva1x11Gqjt6u6yRNs6h7jfer6MAH2pXd1dlmhb5+ixvlyPiGh3uRKStEMWwpqtEMel/yLOXf9FnLv+iThvfR9xjvoe/fGc9Mc6d4WB2r6B2i4QbevPDNT2DdR2gWhbXyi7p0S0u8prJ7sCfRRxXPov4tz1X8S565+I89b3Eeeo79Efz0l/rHNXGKjtG6jtAtG2/sxAbd9AbReItp30svuEB5JAIBAIBAKBQCAQCAQCgaDv0lc8kAQCgUAgEAgEAoFAIBAIBH0UYUASCAQCgUAgEAgEAoFAIBB0yAkZkCRJekuSpHJJkg4ELYuRJOlHSZKO+P9Hn3g1BwaSJKVIkrRGkqR0SZIOSpL0B//yNo+ZJEljJUnaLEmSU5Kk+1qUdVSSpP2SJO2RJGnHyWjPz4luPndRkiR9LknSIUmSMiRJmnMy2vRzobvOnSRJaf77LfBXL0nSPSerXQOdbr7n7vWXcUCSpI8kSTKdjDYJBILOIUlSsiRJ3/jv82xJkp6XJMnQwfr3SJJk6c06ngiSJDWe7Dr0BJIkXSJJkixJ0tiTXZee4ljnTpKktZIk9SuBX3G/9U/E/Sbut5PFiXogvQMsbrHsAWCVLMujgVX+7wIFD/AnWZbHA7OBOyRJGk/7x6wauBt4qp3y5suyPHWgKtH3Mbrz3D0P/CDL8lhgCpDR05X/mdMt506W5Uz//TYVmA7YgK96qQ0/R7rlvEmSNMS/fIYsyxMBLXBN7zRBIBB0FUmSJOBL4Gv/fT4GCAce62Cze4A+1cH+mXItsMH/v9NIkqTtmeoIjoW43/o14n7rZwyU++2ERbQlSUoF/uPvmCNJUiZwlizLJZIkJQFrZVlO66iMuLg4OTU19YTqcSzcXhmdVkLq0b0IBAKBQCBoi507d1bKshx/suvRn5AkKQV4D0gEZOA1WZaflyQpBvgESAWOAlfJslzj75w+D5yPYuS+UZblXR3tozf6YAKBQCAQCE4e3dkH03VHIS1IlGW5xP+5FKXT0yGpqans2NFzUVh//nwvn+4o5Jzxibx+g3DWEQgEAoGgt5EkKe9k16EfEvDE2yVJUgSwU5KkH4EbUTzxnpAk6QEUT7y/AOcBo/1/s4CX/f/bpaf7YAKBQCAQCE4u3dkH61ERbVlxb2rTxUmSpNskSdohSdKOioqKnqwGn+8sBODH9LIe3Y9AIBAIBAJBdyHLcknAg0iW5QaUkOchwMXAu/7V3gUu8X++GHhPVtgCRPm9wQUCgUDQi9TaXCw/WHqyqzEwOess5U9wUugJA1JZoLPi/1/e1kqyLL8my/IMWZZnxMf3rEe74tEtEAgEAoFA0D/xSwZMA7bSvrf3EKAgaLNC/zKBQCAQ9CIfby/gt+/vpLLRebKrIhB0Kz1hQPoW+LX/86+Bb3pgH13C6zsxnSeBQCAQCAY8YkavzyJJUjjwBXCPLMv1wb915O3dQXm95gUuEAgEP0fK6h0A5FfbTnJNBILu5YQMSJIkfQRsBtIkSSqUJOlm4AngHEmSjgAL/d8FAoFAIBAIBF1EkiQ9ivFoiSzLX/oXt+ftXQSkBG2e7F8WQm96gQsE3UVmaQNNTs/JroZA0CkqG10AFAgDkmCAcUIGJFmWr5VlOUmWZb0sy8myLL8py3KVLMtny7I8WpblhbIsV3dXZQUCgUAgEAh+Lvizqr0JZMiy/EzQT+15e38L3CApzAbqgkLdBIJ+i8vj4+IXN/DOpqMnuyoCQaeobFBC1wpr7Ce5JgJB99ITWdgEAoFAIBAIBCfO6cD1wH5Jkvb4lz2I4t39qd/zOw+4yv/bMuB8IAuwATf1bnUFgp6hqsmJw+0T3hyCfkNA+6iwRlyzgoGFMCB1My6Pj7yqJkYnRqjf86ubGJUQcZJrJhAIBAKBoD8hy/IGoL1MIGe3sb4M3NGjlRIITgKVDUo4UHmDECQW9A8CBqSCauGBJBhY9ISI9s+ah789yDnPrqPcL5z28LcHWfhM83eBQCAQCAQCgUDQeQKD8fIG0Z8W9H3cXh81NjcABcIDSTDAEAakbmZrbhUA9Q7lobE1R/neIET/BAKBQCAQCASCLlMRMCDVCw8kQd+nyi+gbTXrKa61i4zgggGFMCD1GIrHuU+Wg74JBAKBQCAQCASCrhDwQKpsdIrBuKDPE7hep6ZE4fbKlAVFotTaXGzxOxgIBP2Rn50B6Z2NuTjc3hMqY19hLY3teRTJbX/VSMKEJBAIBAKBQCAQdJWABpJPVgS1BYK+TEWQAQkIEX9/+adsfvXGVuyuExuPCgQni5+dAemR79J58Mv9x729w+3lon9v5PYPdna4XsBeFPBAEgYkgUAgEAgEAoGg6wQ8OkCEsQn6PpV+sfdpQxUDUmFNs5D27vxavD6Zolohri3on/zsDEgAewtrj3vbgLV4f1Fdm7+3dKr1+ZT/wn4kEAgEAoFAIBB0ncpGJwatMmypEJnYBH2cSr8G0tSUKCSpWUjb65M54B9DFgpxbUE/5WdpQDqR2GmnR7EIBV5ix0IOaCAJA5JAIBAIBAKBQNBlKhudjE4MB0QmNkHfp7LRicWgJcpiIDHCREG14m2UVd6Ize+MEOyVJBD0J36WBqSjVcdv8d2UXQmAQadBlmWWHywNMUgdrWoKWT/wi9QJC1JNk0stXyAQCAQCgUAgECgeHeOSIgERwibo+1Q2OokLNwKQHG1WvY32FjRHwYgQNkF/5WdpQDoR/vjpXgD0Wg3f7i3mt+/v5J1NR9Xf/Q5Hata1gAZSwBOpI3799jZ++fpW3F5fd1ZZIBAIBAKBQCDol3i8PmpsLgZHmbGa9ZSLEDZBH6eiwUlcuAGAlBiL6m20t7CWCJPOb1QSBiRB/0QYkI4TSUJNyVha1/4DIOCc1An7ERkl9Z1eVyAQCAQCgUAgGOhUN7mQZYgPN5AQYRQaSII+T7AHUkq0mZI6O26vj72FtUxOtjI0xiI0kAT9FmFAOk4kmo1DbWVYC4SsdcUYFFhXbiXFLRAIBAKBQCAQ/PwIpESPCzeSEGkUGkiCHqXB4WbpvhJ8J6CZW9noIi7CH8IWY8Enw9HKJg6VNDAlOYohUWaKhAeSoJ/yszUgvbMxl8zShi5tExy3Wlzr4InvDwFKOsb/7CumzuZuYyvl4eM7hiWpzubG4wuEu4X+tr+wjn98n0Gdzc3OvGq13uX1Dm57bwdur4+dedV8tqOAfSeQYU4gEAgEA5PiWjtrMstPdjUEAoGgywQyWsVFGEmIMIkQNkGPUVxr58pXNnPHh7tYkV56XGUEQi6DNZAAVqSX4fHJTE6OIjnaQnmDE4fb2211Fwh6C93JrsDJ4pHv0gE4+sQFnd7m4hc3qp/tQTf8tqPVbDtazfy0eHVZswaS8v9Ynkh3f7xb/dxy3V/8ewMAmaUNrM2sUOs98/FVAPxr1RFeWJ2lrt+VNgkEAoFg4HPBC+upsbnF+0EgEPQ7KhuCPJAijJQ3OJFluVMJagSCznKwuI7fvLMdm9NLhEnH0v2lLJ6Y1OVy1JDLiEAImwWA7/YWAzA1JYompwdQDFYj4sO7qQUCQe/ws/VA6gnaEkNTRbSPsW1xkBJ/eyFsxe2o9Vf4Z2YEAoFAIGiLmjY9ZAUCgaDvU6mGsBmIjzDi8viot3tOcq0EA4ncyiauemUzWknis9vncOHkwazKKDsuD6FAyGW8X0Q7yWpCq5E4VNpAQoSRQVaT6pUkMrEJ+iPCgNSNtBWm5vN1LgtbsI5SeyG3Eu3NtAjNJIFAIBAIBALBwKOy0YlRpyHcqFO9OoQOkqA7+WZPETa3l09+O4exgyK5cHISNpeXtccR+q2GXPpD2HRaDUlWEwBTUqIAGOI3IIlMbIL+yIA2IK3NLOcvn+/rcJ3X1+WQW9nUarnD7eWN9Tl4/dacbbnVx9xfUYgXkf+//8OeglrWH6lod9tgL9yiGjtf7Cwko6Sep1dkBpXZtqHI4+0+A9Keglp+OqzUc2V6mZoZLhivT+aN9TkiblcgEAj6KU6P8o7zeH0nuyoCgeAkkF3RyJacqpNdjU5R2ajoyUiSREKEMhAXOkiC7mRVRjmnDI0mJUYJN5s1PIbYMAP/2VfS5bKCQy4DBMLYpiRbARgUqXgldSYTm88n4xbvakEfYkBrIO0rrOOTHQUdrvPYsgyeXH6II4+dH7L8X6uP8OKabKxmPVfOSOE372w/5v4c7uabW24RuvbHT/cC7esTBcdxX/3aZmrbCDc4XNaofs4qb/782c7CY9ats1zi13k6+sQF3PLeDvVzMF/tLuLRpRnU2Fzcv2hst+1bIBAIBL3Daz/l8PSPhzHqtVw/e9jJro5AIOhl7vtsL7mVTez+6zl9XkuostGpZrRKiBQeSILupaTOzv6iOv68OE1dptNqWDxxEF/uKsLu8mI2aDtdnhpyGRFkQIoxszkHJidHqeUnWU2dysT2t28PsCmripV/PBONpm/fq4KfBwPaA0mv7Vzz3G148ARiqwNi2Y3OrsVaB0o8Vva1AMHPg7aMRy05md4/NpdyLET8uUAgEPRPGvzvNFsX320CgaD/k1nawO78Wmptbo5WHdsD4mRT0eBU9WQSAiFs9cIDSdA9rMpQwtTOGZcYsvyCyUnY3d4uZzCtaHBi0msICzI6jYwPR6+VmOz3QAIYEmU+ZgjbkbIGPtyaT05lE3tFpm1BH2GAG5BOnpU2YDfqvAGpa3X1tieUJBAIBAJBOxxLj08gEAx8Pt6er37eU1BzEmvSOQIhbADhRh1mvbbXQthyKhq5+MWNZJU39Mr+BL3PqowyhsVaGJUQmg1t1vBY4sINLO1iGFtlo1MNuQxww5xU/nPXXKIsBnVZcrTlmAakJ5dnYjHo0GkkVqSXdakeAkFPMaANSAZd55v30tostuRU8bv3d/LE94d4f0seAF/vLmLNoa4LqF307w0senZdSFgbwEfb8jlQVMfMx1byh493k15czzMrMrtsELr9g53t/vbt3mLmPbmGl9Zmtanv1BY/Ha5g8iPL1e/Bbf5qdyG782s4WtnEmxty6cnxh93l5ZkVmbg8Pr7ZU8Su/L7fsREI2mLJ1jwOl4kOp6BvIeYeBIKfNw63l692F3HexEFYDFr25PdtrwavT6a6yamKZ0uSREKksdcMSM+tPMLeglr+/l26MMAPQJqcHjZmV3H22MRWoZxajcTiiYNYfahcjb7oDJWNLvV6DWA2aEkbFBGyLDnaTFmDA5enbX2jnXnV/Jhexm/njWD2iFiWHyztdB0Egp5kQGsg6TSdNyA9+UNmm8t35ddyUyf0j1pic3nJbGPw+F9f7lc/f7OnmG/2FHe5bIDiuvZjv+/+aDegtOnN9bns/Os5xyzv129tC/ke3OZ7P1H0m5KsJkrqHCExwt3Nyz9l88LqLKLDDPz9u3Sgfd0ogaAv899fHUCSIPcf4voV9B18soy23YyeAoFgILBsfwkrM8p4+soprQbFyw+WUmtz88tZQ6lucrGnoOsGpOJaO3sLaql3uKm3e5g9IpZJQaE53UmNzYVPDhUkTogwUl7f3A8+UtZAotVEpEnfrfvOqWjkP/uKSY21sP5IJasyylk4PrHNdZ0eL0Zd53VyBH2D9UcqcXl8LByf0Obv509K4oMt+fyUWcF5k5I6VWZlo1MV4+6IIdFmZFnRYBoWGxbymyzL/PP7TOLCjdw8dzhRFj1//eYgWeUNjEqIaKdEgaB3GNAeSCczhK2v0ODoPn2LRn9ZgaxvPaG5GNB2as8aLxD0J8RkpaCv0dmwaoFA0H95e2MuX+4qIruitRf6J9sLSI42c/rIOKYOjSK9pL5LupqyLHPj29u4fcku/vLFfh5blsGfv+g44/GJoAoShxiQTFT4PZCyyhtZ9Nw6Zj++ioe/OdBpz/vO8NLabAw6DR/dNpsR8WE8tiyjzf7p2sxyJj2yolv33ddYk1neqYzU/Y1VGWVEmnScmhrT5u8zU2OItui7FD4WCGE7FsnRZoA2w9jWZJaz7Wg1f1g4GotBxznjBwGw/KAIYxOcfAa0AakrIWyCYxNQ/j+ZAt4CQX9AuLkL+iri0hQIBjZ1Nje7/GFpqzJCB5t5VU1syq7i6hkpaDQS01KicHtl0kvqO13+lpxqDpc18t/nj2PjAwu4d+EYMkrqKe3AM/5EqGxwARAX3qwdEx/RHML2+roc9FoNiyYM4qNtBcx/ai3f7j0+7/5gCqptfLW7iGtnDiXJauavF4wnt7KJdzcdbbXuJ9sLcHl8/HBgYIYYOT1e7vl4D3d/tHtApZP3+mRWHypn/tiEdhMv6bQazh6XyKqMsk61XQm5dKmi7x2REq14KbXMxCbLMs/8eJihMRauOTUFgEFWE1NSolghwtgEfYABbWHpbBa2gYzL6+PUx1aS+sBSHv1POn/6dC+7g3SFCqptPPH9oU6VVWdXssM5/bMv723O48U1WaQ+sFR1Jd5bUMsrP2V3axse/uYAdlfXjFZrMsv5dHtBt9ajIxqdHh7+5kCXYqQFAxehMyPoDZbtL+G7Lg6UZBk+2JLHa+tyQpbf+eEuPkyY3J3VEwjaZGNWJf9efYR3Nx3lq92F1NpcJ7tKPcaegloufnEjZfW9l3J+fVYFXp9MuFHHyhYGpI+3F6CR4MoZyqB0akq0Us8u6CB9sDUPq1nP9XOGMSTKzKKJSkjXT4e7rhfaGdpKiZ4QaaTR6eFoZRNf7S7iqhkpPHv1VDY+sIBJQ6z88/tDOD0nNtn50tpstJLEb+eNBGD+2ATOHBPPC6uOUNXYrL9U73Czyq8b2vJ4DxTWZlZQZ3dTWu9g2f6uCUr3ZbYfraaqycXZ49oOSwywaMIg6h0etuRUtfm7w+1lV34NsqwYj3xy6PXaHoOsJjQSFNaEZkJcm1nBgaJ67pw/KmQsu2hCInsL6yip61h4WyDoaQa0hUWnESFsgOrm+8aGXL7YVcilL21Sf/v9kl1dNvgEu+/+33JFO+rBrxRtp4tf3Nhpg1RneXdzHku25nVpm5ve3t6jLtUtee2nbN7dnMd7m7tWT8HARGRJFPQGv1+yi7v8mnedxSfLPPT1gVbLVx8qJ8fUtgu/QNBd7Cmo5ddvbeOpFYd5+NuD3PvJXm58e/uA9Np0e3385fN97C2oZcnW/GNv0E2szawgyqLnxtNS2ZlXoxo7HG4vH2/LZ+G4RAZZTYAygB0Uaep0evDyegfLD5Ry5fRkTHpF7yctMYIkq4m1mRU90p72QtgAnlx+CI/Pxy1zhwOKZ9KfF6dRVGvnk+OcRJRlmR8OlPD5zgKuOjVZPVYAD10wjkaXhzc25KrLlh8oxeXxceaYeHbl14QYlwYK3+wpIjbMwMj4MF5fnzNg7tcPtuQRadKxcFzb+kcB5o6Ow6zXsqKN8LE6m5tfvbGVy17axBPfH1LHXJ0JYdNrNQyKNIWEsMmyzAurjzAkyswl04aErH+uP4ytrXoIBL3JgDYg6YNC2EYnhHP0iQuEIHMLjkdryNPG4Njt7Z6XSeCl1LK0vj4gd/vr19frKegdhM6MoK/S1rUpyzIOtxeTT3hQCnqOBoebuz/aTWKkiR0PLWTnQwt56IJx7CmoZf2RypNdvW7nrQ25ZJY1MNhq4pPt+Xh6IfTH55NZm1nB3NHxLJowCJ8Ma/yGna93F1Fjc3PT6cNDtpmaEtVpIe1Pthfg8cn8avYwdZkkSZyVFs+GI5UhIT4F1TYKqm1tFdMlKhqdGLQaIk3NeX8S/N4dy/aXct7EpBAB4jNGxTFzeAz/Wp3VZe/1fYW1XP3qFn73wS6Gx4Vx5/zRIb+PTozg/ElJvLfpqOo59+3eYlJizNx3bhqyrBjjBxJ1djcrM8r5xZTB3DJ3BAeK6tk6ALSQyuod/HCglKtPTcFi6DinlEmv5cwx8axIL8UX1M+vaHBy9Wub2V9Yx9ljE3h1XQ4PfKlMXnfGgASQHG2hsLbZgLQpu4rd+bX87qyRraRYRiWEMzI+jC93FVLvcHe2qQJBtzOgDUgGEcLWI3h9rTtBLYckA2V2QiA4HoQBSdBXaevKdHtlfDLCgCToVh759iAPfb2frPJGZFnmwa8OUFRr54VrpxEXbiQ23Mj1c4aRZDXxr9VH2u03yLJMk9NDSZ2dI2UN1DT1/ZC3whobz608wjnjE3n4ogmU1Tt7xbBwsLieykYn89PimTgkksRII6syypBlmbc3HmXsoAhmjwj1NJw6NIq8KhvVxziuHq+PD7flM3d0HMPjQjNGnZWWQIPTw848RSKhzu7mkhc3MvfJNVz1ymY+3V5AkzP0+SLLMrvza45pZKpscBEXbgjJJhecIv22eSNC1pckifsXpVHR4OS9zUc7LDuYdYcruOTFjWRXNPLYpRNZdvfcEO+jAHctGEWTy8vbG49S0eBkY1YlF00ZzMQhkQyKNA24MLYfDpTg8vi4ZNoQLp02hJgwA2+szzn2hn2cJVvz8coy1wUZQzti0cREyuqdqrdefpWNK1/ZRF6VjTdvnMEbv57BXQtGsa+wDgjV7OqI5GgzeVVN6v3xwqojJEYauXJ6cpvr3zp3BPuK6lj49E8s21/S6rlZXGvn/c1H+eFAx6GGP6aXsfrQwLpWBb1HxybXfk5wCFtPZAzrz6Q+sJT7F6WRWdbQ5W0/3VHYatm6wxWkPrBU/f7e5jwe/vYgAI9dOhGtJHHNzKEh25TU2fm/5Zk8fukk1RU60EFoebpaditdHh8PfrWfP5w9ulOpMjvDgaI6Pt9ZyMO/GN8q7W1P4/b6GPfXH7h13gj+snhsr+67t/hqdyFNTm+nX9b9GeGJJuhpWg6in1mRyewRsZw2Kq7Vui+vbQ5Tvva1LSG//eP7Q3y2U3mmG2VhQBJ0H16fzKc7CvlgSz6Tk63sK6zj/kVpTB8Wra5j1Gn57bwRPPJdOltzq5k9IjakjLJ6B9e/uZXDZY0hy5OsJsYnRXLL3BHMGRm6TYBGp4dVGWWkDYpg7KDI427HpuxKXlqTze/OHMkZo1vfXy1xeXw84u//PHLRBBIjjCRGGvlwWz7nThh03PUIsDm7is05Vdwxf2SrtPFrMxUj1bwx8UiSxNnjEvl6dxFrMyvILGvgySsmt+rfTE2JAhQNy/lj2w/lWXWonJI6B49cNKHVb6ePikOvlViTWc7sEbH8a9URqm0ufjtvBD9mlPHnL/bx+PcZ3Dp3BDfMGUZBtZ3HlqWzMasKvVbihjmp3LVgFFqNxLL9Jaw4WMa8MfHcMGeYktGqhZ5MwANpzohYpvjrH8ypqTGcOSael3/KZmiMhQanB7fXx4WTB2M161utX9Pk4r7P9jIqIZzPbz+NSFPrdQKMHRTJueMTeXtjLgadBp8MF08d4j/eCXy5q0jx6NRr2y2jN5BlmcNljfyYXkq4Ucf1c1LRBo2LZFmZONAeQ+7j693FpMZamJJsRZIkrps9jBdWHSGnopER8eE93YweweXx8eHWfOanJYR4r3XEgrREdBqJFellNDo93PmhEj7+wS2z1Gfan85NI8pi4LMdBQyOMneq3LRBEXy5u4hp//sj04dGszW3mr9dOL7d6+eamUMZlxTJg1/t5/dLdjEmMZyECBORZh0F1Xb2F9Wp6946dzj/dd44NQlSgA+35qvSI3+/aAK/Pi21U3XtDnIrm0iymtptn88n8/2BUk4bGUt0WOeMcILep8cMSJIkLQaeB7TAG7IsP9FT+2qPYNc/qZVJQhDQL+oJAsYjgP/+StHbaGlAevibg6xIL+Pc8YksnpjUpfI351Tx+c5CyuodvH/zrBOvMPDL17dQ7/Bwz8LRRFl696G1Pbcaj0/m5bXZA9aAdO8newF+FgakNpz0BIJu5cU1WSHfX1idxQurs9oM0/7nD826dAeLW2dbyipXBufCA2lg0Bf6XwD/e8lE/rBwNB9uzef9LXmcOSae3505stV618wcyr/XZPOv1UdCDEjVTS6ue2MrxbV27l+URrTFQLhJR0mtnYwSJYzmhre28sI10zhvUnMfIr/Kxrubj/Lp9gIa/LP6p42M5YY5wwCJ9JJ68qqauHjqYBaMbRbP9fpktuRUEWXRMzohAq9P5p8/HOKdTUfRaiS25FTx+GWTuMovQB0YoG/JqWJLThV7C2qpsbmx+zPVPnj+WIb4B5FXz0jhX2uyKKi2hUx6NTo9vLw2i3WHK3n80klMSra2ezy9PpnnVx3xe2vBrrwaXr1+OmHG5q78msxypiRb1fCZc8Yl8uHWfB74ch+xYQYumjK4VbmThljRSLC7DQPSmkPlLIhlj7EAACAASURBVN1fQnpxPUfKG0iymji7DSNTuFFJg772UAVXz0jhnU1HuWp6Cv91/jgeOG8sO/NqeGltNv+3PJNX1mbT6PJgNet56IJxZJU38vbGXD7dUYDb68Ph9hETZmDVoXKyyhspq3e0GozHhBm4c/4ozp/Uft/xvnPTuOjFDdy+ZJe67NPtBSy5dTbhQcdM8Y7bT43NxTs3zezQeBTgrgWjWZFexjM/HmbsoAjGJEYAsHB8Iku25rM5p4r5aR3r6vQEXp/MzrwaVhws5ceMMvKqmr27fjpcwXPXTMNq1rM5u4q/fnOAklo7Z6UlcO6ERFJiLBTV2CmssTPIauS8iUnU2Fxsya3iD2ePVg2P188exis/ZXP3x7u5+YzhLJ6QhNnQ88Yym8vDZzsKWTA24YQnjr8/UEJlo7NLhhOrRc/sEbEs2ZLHqz9lMzohgtdumN7KAHXzGcO5+Yzh7ZTSmlvnjmBKShQ/ppex/GApydFmrm0xXmrJlJQovrnjdD7YksfawxU0ODyU1TuINOv5y+KxLByXwAdb8nh9fS6FNXaevXqqarBZsjWP//7qAPPT4tFpNTz87UHq7W7uXDCqRyfPZVnmxTVZPP3jYaYkR/HOTae2Gms53Eq2vx8OljJpiJWPb5sd8nwT9B165KxIkqQFXgTOAQqB7ZIkfSvLcnpP7K89gpXrj3VPvHXjDH7zzo7j2s/wuDByK5sAMOu1aucB4KNbZ3Pt61va27TTzB0d16FGwI2npfJOG6lFBwq9Yf4L+Iy0pfEkEHQFrwhhE/QwwVdYd4UMG4UBqd/TV/pfAeLCjdx99mjuWjAqUL9W65j0ihfSY8syWJlexumj4nD7fNzw1lbyq228c9PMNr2M6mxufvPudu74cBdPXDaZlBgLb23MZWVGGVpJ4vxJSVw7cyh7Cmp5b/NRfveBYkjQSBBp1vPNnmKunpHCQxcqOkyPLc3gUKnila3XSoQbddTY3Nx4Wiq/nz+SP326lz9/vo/M0gZ8ssyKg2UU+bVLhkSZOXV4DImRJiKMOpJjzFw0pVkA9+qZQ/n3miw+2V7AfYvSaHJ6+HpPEc/+eJjKRhdWs56rX9vMv66dFpIRqtbmorDGTmGNjXc2HWVLTjWXn5LMKcOi+OvXB7juza28faMyEKtpcrGnoJY7FzTr9swZGYtZr6Ws3sldC0a1OesfZtQxJjGCNYfKuXJ6MikxFursbv7+3UG+3KWIJ08YYmXemHgunTYEXTvyEGelxfP4skP86bO9mPRa7luUpp7zGakxvHVjDHsLanlrYy6DIk38/qxRWC2KsebXp6Xy4posrGY9V0xPZkpyFE/8cEjNFjm5hWFNkiS1/PaYlGzlx3vn4fT4iDTp2V9Ux10f7ebmd7bz7m9mqsfii11FfH+glAfOG8v4wZ3zVJuUbOWstHjWZlZw0dRmo9ycEbFYDFpWppf1qgHJ7fXx8tps3tl0lOomFwathtNGxfLbeSNZOC6BFellPPLtQS59cSOTk618vaeYoTEWLpicxOpDFSxtI7PaY0szGJMYgSzDJVObr+X4CCOPXzqJ51Ye5t5P9vJX40FOGRZNSrSZ5GgL45IimJEaQ7hRh88ns7ugljWHypGRSY62kBxtZkpKVKcMdQFWppfx8LcHKaq18+KaLN6/eRZpgyI6vf2eglq+319CYqSJcUmRvL3xKMPjwpjbhsduR5w3aRAbsipZPGEQT181pVuMGxqNxOwRscweEctDF4wD2n5OtkSn1XDj6cO58fS2jVWPXDSBlBgLjy3LYNPjqxgWayE2zMCazAoWjE3g5etOQStJ/PmLfTz942FWHSonPsJIpEnP8DgLs0fEMjk5qpUOU0sC/Y+O6tzk9HD/53tZtr+UuaPj2JpTzdWvbuH9m2eSEKmEiVY2Orn1vR3sKajl2pkpfLqjkNuX7OLNX89Qx/Nen3xMj7nuprTOwf6iOuaNiWvl8dkTyLLc61Ewx0NPmfVmAlmyLOcASJL0MXAx0KsdmGMdf0lSUhoDmE7gogjeT8vQlWPdeJ3l5z4e7c3mO9xdT/36cz8/glBECJugN3F1kziv8EAaEPSJ/ldLjtUh/uWsoby6Lptb3lMm8kx6DR6vzOs3zGg3RM1q0fP+zTP57fs71ayr0RY9vz9rJNfPTlX1a+aMjOXWucPZnFNFhElPWmIEGg08t/IIr/6UzbL9JTQ4PaTEmHn26inoNBrSS+opqLZx7cyhnO4fZL5146k8+OV+3tyghC7NGx3HXQtGcfqouGN6RAyJMnNWWgIfbM1jQ1Yl+4vq8PpkZqbG8Oavx5FkNfGbd7dz63s7uG3eSKoanWzJraKgullc16zX8tSVU7jCr40SF27krg93c+6z65jgN3z4ZJifFq9uY9JrmTcmjtWHyjv0/r1yRgqPLk1n7pNrmDU8hvxqG+UNTu5eMIo7F4zuVF92floCjy87xO78Wh44b2yITlGAKSlRPH/NtFbLxyVF8u9fnhKy7MHzx5ESbebhbw8yJOr4PE5GJTQbGVJiLLi9Pu75ZA+3vreDmakxpJfUszazgpnDY7h17ogOSmrNfeemUdno5LJpzVo1Jr2WeaPjWZlRxh3zR5FkNSFJEl6fTG5lIwU1dsKNOiJNeqIteuLCja3CiwI43F6qgkKVdRqJCJMOs14bcj8dKWvgj5/uZX9RHQvHJXLptCGcmRYf4mV13exhjEmM4PdLdrJ0fwl3zB/JXQtGY9Jr8flk9hTWUtPkIjnawuAoE3sL6nh7Yy6rDpUzfVg0qS00r66Ynsxl04aw7Wg1X+0q4mBJHfsLFQ88UMLiJgyOpKTOQUWDUx30B/pGRp2GxRMHcdkpyUSadBTW2CmpsxMXbmT84EhGxodTUG1jS041K9JLWZtZQVpiBM9dPZV/fJ/BVa9u5u2bTmVaShRl9U4OlzW0mRSoxubio2357MqvRauRQvpmf7twfLvHvj2uOXUoYxIjmD40usvbdobuNBxIksQtc0cwKiGcFellFNbYyau2cdm0Ifzj8kmqMeSpK6aQGhvGhqxKCqpt1NvdfLHLASjP4dkjYjlnfCLnjEtUjT0ARbV23tt8lE+2FxBu1CnrjE9k7KBIIkw6dBqJg8X1rEgv45s9RRRU2/jv88dxy9zhbM6u4pb3dnD5K5uYOzqewho76cV1NDg8vPyrU1g8MYmpKVH85Yv93P/ZXqYNjWZFeilbc6qJCzcyLimCMUPn4UND/ef7cHi8TB8WzcJxiaq3osfro7rJhcmgJdygQ5Kg3u6hoMZGRaMTi15LpFmv/Jl0hBt1Ice/tM7By2uz+Gh7AS6Pj6ExFh44byznTRzU4XlyuL3U292Et3GvBurV4FBCaiPNeow6DVVNLlZnlLMivZQam5svbj+tuy6DHkPqCbFjSZKuABbLsnyL//v1wCxZlu9sa/0ZM2bIO3Ycn/dPRxwqrWfxc+sBJSvDB7cooU6THl5Og9PDoEgTpfXKTfLF7XO4/OXNx7WfSUOsasxphFGnukwDLL37DC54YcOJNAOAs8cmsKoDAcbfzhvBq+v6tqjdmMTQWOmApkFMmEEVmwssCzbuBb6PTmjevsHhoaTO0Wa5weW09Vt7BLZJjbV02fAXrM/QlX0GaHJ61ZnM49m+P3A856S/4vHK5Pi9En8O7RX0PsHPnFEJ4WoYWkfPw2PxauZXLKrJgrVru6WOLZEkaacsyzN6pHAB0PX+F/RcH6yrlNTZ2ZpTTWGNjZI6B+dOGMSZY+KPuZ3T4+Xfq7PUtNdd0Z7ZmVfNU8sPc1ZaPDeennrMGeZA2FpytLnL3gebsiq59b0djEuKZPaIWE4fFcfsETHqAKPJ6eGuj3az+lA5VrOeWcNjmD4smmGxYSRHm0mNCwsxCgBszanirY25fi8lO/ERRpbfMy9klr6g2kZ+tU01hLVHca2dr3YX8cWuQkw6LY9fNknVR+oMsiwz98k1aDUSK+6d122z9TkVjSRZzd0WJvXRtnz+60tF/yU11sKk5CgePH8sSdbOadYci693F3HPJ3sAiLLoSbKaya1sxOFubeAwaDUMiTYTH2EkcMrsbh9FNXYqG51tlq/TSOqgN9Ks51BpA+FGHY9fOvGYchBVjU5sLm+nQ8AKa2yY9VpiO5lRrMHhZm9BHVtzq9iWW01chJFzxydyVloCYQYtZQ1OjlY28cOBUr7dW0ydve1MYhpJMYaCond10+nDuWXucPRaDQXVNq57cytl9Q7Meq1qtGqPYbEWbjwtlSumJ2N3e8koaaCoxs7l04f0ikdJf6SmycXW3Gq25FSx+lA5+X6h+4QII5FmPRaDloPF9ciyzDnjE/F4ZdZnVYYY8Qw6DS6PD40E04dF84ezx4RoyO0pqOV37+/E5fWRHG0mJdrCLXOHM21os0be8yuP8OzKwwCMjA/jzDEJ1NhcZJTUk1Vci172EhkdgUaS1DHh6IRwbC4vpfUO1WAoSYrRsq17MIBGUrwxNUHPY1CMpWeMjuNfq7LILGsgLTGC6LDW3nN2t4/iWjsVDc33rU4jYTE0G5HcXh+2Fpkh9VoJj09GlpWJhnPGJ/LQBePa9fQ8EbqzD3bSDEiSJN0G3AYwdOjQ6Xl5ed1eD1mWeXJ5JodLG7h/cZoqorgxq5LN2VXccNowZj62ijNGxfH6DTP4cFs+//ufdB44byxPfH+oVXnXzkxh0YRB7M6v5ZRh0dTaXGRXNHH1qSmsOVTOB1vyWHLLLB5b9v/s3XWYXNX5B/DvmZl137gLRAgUEghWoEhwaJEaUIHSltLSX4FSWtpCoQEKRYt7IFhwiBH3ZGPr7q6zNu4z5/fHlR1dHd19P8+zz47cufdcmZl733nPeypgsjqxaFoq/nzZYtz3eRGON/ZhSmoC8puHN1TqjIxEdGgtUCkYLlk6FS/ctAIn/WsrEuMUSE1Qocdgw/M/PQ33flqEx64/Bdctn4nzntyNC5dMxeG6Hri4UD9gdlYSWvvNfpcxf1IyGnt9R79YOj1NTuO+fNk0bC8fqNKfGDf4G1AyNS0BavFNlJUcB6eL+5y8mO1O7K3qxpUnT5ezuBwujh3lXbjiZGG50uF5xcnT5De1ZEupkArpfUIFAMWtWnTrrVh10vBTiNV6K/Ka+nHVKSMvcul0cWwX2+3dzuHaUtoJxoArg1BkMxodb+yHxe7EBcMoQjoebCntxMkz0zE3SEXeCXFnd3LsrOhCWqIK5584GVtKO7F0eprP6EjAwGfLYF/3N66YhX++9XdMcpgpgBTDhhtACsc5GBk5l4ujQ2fBjPTEUWU4RLr7Q3WXHokqJeZOiu7vPbXOguQEld/zx7HinCO/WYOydi3K23Xo0Fpw4tRULJuRjnmTkmG2O6EzO9BntKJNY0FrvwndequcaZ+gUmBWZhJmZyUJGUrSxadLyFzQme3QWezQmR3QWeyYmpaA+6/wn/EVzawOJw5UC6U5ZmcnYUZ6EtR6C8o7dKju0mNWZjLOWZiNBZNTfI5ptd6C/2yuQIJKiWUz07FkehpS4n33pUrJsHhaWti7PY0nUtB8Z0WXkKEkHnvLZqbjl+fOw+ws4b1utDpwsLYHHRozdBYH9BY7Fk1Nw6qTpgYMQA71ecU5x54qNeZNSsEJXgXb+UUXCeVNxPOVWrUBO8q7cLShF1nJ8ZiVmYRp6QmwOlzQme0w2ZyYlp6I2VlJmJqeALPNJa6LXXhfWYT/ktQEFX565hw52CoMCtGCjUXtfkudSO/bWZlJyEyJh9HqkJcrUSoYMpLihAwtpQIGcbnJcUpcctJULJuRHtLP71gIIJ0L4BHO+RXi/b8DAOf8CX/TR8uvX4QQQsiEddFFwn8KIMWskZ5/AXQORgghJMaE+HxlPArmOVioaiAdB7CIMbYAQBuAmwDcEqJlEUIIIWSs6ERsPKDzL0IIIeMbna9EVEgCSJxzB2PsjwC2QRhGdg3nvGyIlxFCCCGEkFGi8y9CCCGEhFJIurCNuBGM6QFUDXPyyQACj2fvKwOANoTTj+Y10bYOo1nnWF+HULd/NK+JtnWg98LQ6DgK/vSjeU20rQN9pvq3hHM+/LGXSVgwxroBeBdBGs0xPBT3eY70eB/OPIMl2POMhjYOZ3tHQztjeZ7u2zha2zje5jmWz5Hx+D4P9TwDbe9oa2c45heqeQbru9HdXADNAOZxzocemWI4OOcR/wOQG4ppxenfDOX0o1xGVK3DKNc5ptch1O0fD+tA74XIt388rAMdRxNjHYbT/pGuI/1F7m80x/BI5hmsYyHU7YzG+Y1mnsN8f0a8nbE8T/dtHK1tHG/zHMvnyHh8n4d6noG2d7S1M1bbONg2HuM8u4M9z+CPERd9NoZ4+tG+JpTzD8c6j1Ssr0M4jotoWwd6LwQfHUehe00o5x9t+2A0y4jGdSDRKxT7f6LOMxbaSPOM7vnRPKN/nrHQxok8z1hoY6gMbwj4EYiWLmy5fJhVwUcybbSidYi8WG8/QOsQDWK9/QCtQ7SI9XUYTvtjfR1J8NCxEF60vUOPtnH40TYPL9reoReKbRyKeUZLBtKbIZo2WtE6RF6stx+gdYgGsd5+gNYhWsT6Ogyn/bG+jiR46FgIL9reoUfbOPxom4cXbe/QC8U2Dvo8oyIDiRBCCCGEEEIIIYREr2jJQCKEEEIIIYQQQgghUSriASTG2BzG2B7GWDljrIwxdrf4eDZjbAdjrEb8nyU+zhhjLzLGahljxYyx093m9V/GWKn499MoXoeljLHDjDErY+wvXvO6kjFWJa7fAzG6DmsYY2rGWGmstT/QfGJsHRIZY8cYY0XifP4da+vgNj8lY6yAMbYpFteBMdbIGCthjBUyxnJjsP2ZjLEvGGOVjLEKxti5sbQOjLEl4raX/nSMsXtiaR3E5+4V51HKGFvHGEuMsfbfLba9LFzbn0QOY4wzxj50u69ijHWH83N8omKMGSLdholiqG3NGNvLGKN6MWPAGLte/DxZGum2TASMsX+K39PF4jnT2ZFu03jEGJvNGFsvnkfVMcZeYIzFDzL9PYyx5HC2cSgRDyABcAC4j3O+DMA5AO5ijC0D8ACAXZzzRQB2ifcB4CoAi8S/OwC8BgCMsWsAnA5gOYCzAfyFMZYepevQB+BPAJ5xnwljTAngFQjruAzAzeJ8wiEo6yB6D8CVIW+xp2C1P9B8wiFY62AFcAnn/DQI74crGWPnhGMFENzjCADuBlAR2ib7CPY6XMw5Xx7GwoPBbP8LALZyzpcCOA3h2xdBWQfOeZW47ZcDOAOACcDXsbQOjLFZ4uMrOeenAFACuCmG2n8KgN8COAvCMXQtY+zEMLSfRI4RwCmMsSTx/mUA2iLYHkJIbLoZwEHxPwkh8QfCawGczjk/FcClAFoi26rxhzHGAHwF4BvxPGoxgFQAjw/ysnsARFUAKSpqIE2ePJnPnz8/0s0ghBBCSIjk5eX1AHgRgJVz/lSk20MEdA5GCCGEjG95eXk9nPMpwZiXKhgzGav58+cjNzcsvTsIIYQQEgGMsRYAVwOgL/woQudg0c3mcOGl3TW488ITkJIQFafthBBCYgxjrClY84qGLmyEkAj6Kr8Vnx2nLFVCJrSLLhL+QmsRgEIAzlAviJDx4ou8Vry0uxYv7KqJdFMIIYSQ6MhAIoREzp8/KwIA/OTMORFuCSFknKsC0A+gNdINISRW2BxCvNVqp7grIYSMW9KPeHv3RrIVwxLxDCSxmFRU+eBwI4paNJFuBiGEEDKexAO4EcDHkW4IIYQQQggZuWjIQDov0g3w9tD6MgBA45PXRLglhBBCyLhxIoDvc87pFxpCCCGEkBgU8QwkzvnBSLeBEEIIISFXzjnfFelGEEIIIYSQ0Yl4AIkQQgghhBBCCCGERDcKIBFCCCGEEEIIIYSQQVEAyQvnPNJNIIQQQgghhBBCCIkqFEDy4nRRAIkQQgghhBBCCCHEHQWQvDgogEQmKMq+I4QQEiztGjM6tOZIN4MQQgghQTTqABJjbA5jbA9jrJwxVsYYu1t8/BHGWBtjrFD8uzp4zQ09ykAi0Sq/uT+kQR67k459QgiJBYyxNYwxNWOs1O2xbMbYDsZYjfg/K5Jt/L91BfjL50WRbAIhhBBCgmwsGUgOAPdxzpcBOAfAXYyxZeJzz3POl4t/3465lWFEGUgkGu2r7saNr+ZgbU5jyJZhc7pCNm9CCCFB9R6AK70eewDALs75IgC7xPsRo2SMfpQLItqShBBCosGoA0ic8w7Oeb54Ww+gAsCsYDUsUmLtZEdrtqPXYI10M0iINfUaAQB13caQLcPmoAASIYTEAs75fgB9Xg9fB2CteHstgOvD2igvCgXgoq8VQgghZFwJSg0kxth8ACsAHBUf+iNjrFhMsfabQs0Yu4MxlssYy+3u7g5GM4JCY7JFugkjcsajO3DGYzsj3QwSYlL3MqWChWwZFEAihJCYNo1z3iHe7gQwLdCE4TgHUyoYnFRbL2hC9+1PCCGEDN+YA0iMsVQAXwK4h3OuA/AagBMALAfQAeBZf6/jnL/JOV/JOV85ZcqUsTYjaC55dl+kmzAi1OVuYnCKP+NSAIkQQshQuFAwL+AJQjjOwRTUhY0QQggZd8YUQGKMxUEIHn3EOf8KADjnXZxzJ+fcBeAtAGeNvZmETGxSeSKVMoQBJKfT477d6YKD6iINyeniFHwjhESDLsbYDAAQ/6sj2RilgsFFGUiEEELIuDKWUdgYgHcAVHDOn3N7fIbbZDcAKPV+bbi56BcwEuOkDCRVCDOQLHaXxyhvi/65BZc+F1sZeZFw85tHsPjBLZFuBiGEbABwq3j7VgDrI9gWKqIdZLQlCSGERIOxZCCdB+AXAC5hjBWKf1cDeIoxVsIYKwZwMYB7g9HQ0Spt02LhP77FodqeSDaDkDGRuioqWegCSNe+dBAv7a71eKyx1xSy5Y0Xxxq969gSQkhoMcbWATgMYAljrJUx9msATwK4jDFWA+BS8X7EKBQUQCKEEELGG9VoX8g5Pwj/Nf2+HX1zgu9og3Bxt6O8C+edODnCrSFj8W1JB/7wUT6O/H0VpmckRro5YSWdhCsVQal7H9CHR5rwp1WLQroMQgghY8M5vznAU6vC2pBBKBl1YQsmKqJNCCEkGoT2ajQKSCVjOJ3ExLx1x5oBAFVd+gi3ZIDF7sT8Bzbj46PNIV2OlIEUyhpIABCvGvcfCYQQQsJASRlIhBBCyLgz7q8WpVGrxjqU7PdfOoh/fl0SjCaRUXKGoRvXSPUabQCAF3fVhHQ5AxlIFEAihBAS/RQKBoofBQ9tSkIIIdFg3F8tKqQA0hjPYkratPjoaDPK2rVY/M8t6NCah/3aV/bU4sev53g8dvULB/Dm/roxtWmikfZhiHtxjUi4MtscTnHd3eJHHxxuxCXP7h3zvN2DRvHKKNq4hBBCYpaSjf3cixBCCCHRZdxfLTKx17grSKNsf3ikGTanC7srhz867tPbqnC8sV++zzlHeYcO//m2MjiNmiCkWgrRlIFkFYdvD3WTpHV3uh3HD60vQ323EQ7n2A5u9yAYZSBFh999kItX9tQOPSEhhEQpKqJNCCGEjD/j/mrRLl5cj7YLm8XuxC/eOSrfZ3JNpdG3yWIPUjRrgpHqAEXT6ajF7gzZvLVmO6596QBq1Xo4xAio008kVGdxjGk57if4UgbSaDKr/rSuAN+WdIypLbEsmBdK28q68PS2qqDNjxBCwo2KaAdX9Px0RgghZCIb9wEk6QLf5eL45FgzXt49slo1lZ16HKjp8Xl8uKdET28byDKSLsq1ZvuI2jAcsVwkfH91Nx74snjI6VziBbp9jBk33to0Zty65hj0lpHvl1AGA/dUqlHapsOlz+2HxiS0zeEWpJDqIY31eHKPe8SJASTHCIMhFrsTG4ra8YeP8sfUllgW7OOSEEJiGRXRJoQQQsafCRBAEi7qHC6OB74qwTPbq+XnXtlTi62lAxkT3kGYV/bU4vpXDnk8xgYmRofWjHs+KQiYhWJzuPDKnoE6R3axjo3GbPOY7mh9L574tsJP252455MCdGotg68kYrvOwC/XHMMnx1uG7IolZZFJ9YCC5fkd1dhX3Y0tpZ0jfq3VEboMJJvb9thULByn7vs5UexuNpoA0tcFrVib0ygH5a45dQYAICFOmKfNMbJgSEufacRtGG9GG0A63tiHxzeXB7k1hBASWUIR7dg9N4kW0tc+bUlCCCHRYNwHkKQL/A1F7T7PPb2tCnd+OJAxYfcKTPjrQiJ3YQOwemM5vilsx64K//WQqr2Gm7c6nHh8czmONfQBABLFi/WfvnkEb+yvB+ccz2yrQmGLBgCwrawT3xS247EAF5fuwYStZb7Bj5JWLZ7YUjFodlJObQ9e3RuaWivflnRg3bHhD28/VFcs6frcFuRMD9UYCq1bQ5iB5C8g4Z4ZlBinBABoTDaf6YZy76dFeHhDmRyUWzotDSvnZcmBo5EGkJrFAFJ6omrEbRkvRhvY/PHrh/HWgYYx17IihJBoomSUgRQMFIQjhBASTcZ9AMlfF6M9VWps9ZNt4hhGpW2pKLfDyeU6SAoGfHKs2SObCQDaNZ4jtf3x4wK8daAB/1pfBgBIjve82NZbHXh5Ty1ufFXIehqYv/+e7+4Bhj9+XCDftjqceGRDGb7/8kG8sa9eLvTszy1vH8VTW0NTa+UPH+Xj71+VDDrNF3mt8u2hMmmkbJlAF+r9Rhse2VAGk21kNYGkrmCjuYAfTQ2kjUXtPseKO63Zjkc2lEHvJ6Dm8hNAGksXtoGR7RgS4hTIqevF1tKOEQfpeo02jzZNRPYxVuqX9ncsd0clhBAJdWELDvpKIIQQEk3GfwDJTxejX717HHd+mOfzuHcGkj9SLMdsd8q/CuktDjzwVYlHNhMAGL0CGfuquz3uZyTFedzvEruqDaQrc49lAsCHR5pQ0qoV2+v/v6eA3wAAIABJREFUgnVPpRrv5TTK9z8+OnQWkM3hwtH6Xnx4pMnnOaPVgSe3VIakYPRfPi+Sb2tMNpS0avGBnzYAA13YAq33uzmNeC+nER8dGX7WEzCQgTSc/e9tsOBcIP+3rsDnWHH30q4avJfTiE/8ZG+5ZyAliF3Y/AWahkse2U7BkKASgj93fpg/4gwks83p076Jxj2w6XJxPLejGmrd0N1P45TC8acTa3AFO8NOYrE78d+tlfK+IoSQUFIwhmj5Snh2exX2Vg1/9NxoQhlIhBBCosn4DyANI+ghZZ4MVcMkTjnwa5rZ5pT7o1d26v1Ob7AOvuzMZM8AUqd4sSllxHifM7hcHA9+U4rvv3xQbK//kwopECBZvWno+ioakw23v3ccD35TinaNGbmNffKIWq/trcPr++rw6fGWIefjT1m7Fl/lt/o87p1poTXb8f2XD+Khb0r9ZmE4hyiiLXWfqus2DKtdm4s7kN/cD5VYOHo0NWzGElSzOpx4cVeNfEG/vrANz22vkoNSjb2+dYXcf81ViYEHo3VkAST3boXS/JSMyQEpoW2Db4u1OY1o6jXK983idpgo3bA+OOy5/oBnAKm0XYsXd9Xg3s8Kh5yXNPKdzizsx5EG74br/cONeG1vHd45WB+S+RNCiDulInrqM760uxa3vXs80s0YFWkT0ihshBBCosG4DyCZrE7Mm5Q86DRSoWvvrlFzs5OxaulUvHDTcvzinHmwOzk+ErN5zHan31HVatVCMIlzjlf3DF5byDtg0SFmIKkUDNvLOlHapgMwcNLQ71brps9ow9sHfC8E2zVmrDnU4PP4UBf2z2yvQkqCEIDJberHj14/LI+o5b7cNQcb5EyJ4brmxYP482dFPo+/sd+z/e7b0eAnKDIQQPI9Ia3s1MkBrsZeI/ZVdyOn1nf0PHd3fZyPG1/NkbfvSAMxwNgCSB8cbsJzO6rlbLG7PynEi7tr5ePAH4fLhQ+PNKHHYJW7Nnq3+7PjLfgyrxVH6nt9Xu90cY9uhdKJqULhGUByD2J4XwDoLHY8vKEMN795RH7MJAbB7E6OfdXdyG/uH2zVY4LWZMd7hxp8gpl6ix0PrS/Dz94+6vG4e+aQtG8O1fYOuS3ixe0uva9Gk9U2HNI+ClWAihBC3CkUTM4cJqMnZSDRliSEEBINxn0ASWu2Y0pqwqDTPL9TGJlNCuisvu5kLJuRjidu/A7eue1MXLd8ls9rvilokzOE1PqBC/5Ln9sPAChu1Q4aCAAAu4N7BDk+zxUCICoFwx0f5MmBILXeio1F7ejSWQEINZce+qYUr+6t85nn/V8U4UCNb+CkxzB4oeXPcluh1gvz9+52I2WX5Df3Y/Wmcvx7g/+Mpm1lnWjsMfp9DvDMOOrUWvDklkqP590DSH1iTR2j1YEPjjTB4XTJBdH91aq6bc1x1KiFzKMj9X24dc0x3PL20WF133tH3M6BinjnN/fjlT21fkdc83exf7iuF6Vt2iGX29ov1MiSujBJDNbAAbrGHhMe/KYUv/8wTw5YuGe6ac12/PXLYtz3eRFucgvwSPRewT+pppKCAckJAzW53IMe0vuiqdeIneVd6BGPk3bx+K7u0mO7WMTdbHfi1jXHcOOrOYOtekz425fFeGRjOYpaPfdlv1HYhtL7ReJ+XLoHk258NcdvRt2Xea3oMVjljEGdePyHKsAj/4odoKYaIYQEk5Ixj7p9kRLrdeWiYRsSQgghkgkRQPLuKgYA09IT8MPTZ8v3t5Z24oVdNQCAtEQVvr37Apx34mT5ee8sj16jTb6A9A7Y9BttHr+6rb39LL9tszlduMUti+F4o3DRbvLKasmp68X/rSuQC06nJ8X51FcCgM9yW+QsA29rDzdiszgU/PayTnRozX6nA+AR+NpS0oFtYsFxKagjjfpV3KqR6zE5XRy/+yAP17x4IOB83S+q/bVfaxoIbkhFmT/PbcFD35TinYMNcq2f8nYdjjf2gXOOj4424aVdNXL3P2//+LoEZe2+wRz3EzJpVwWqJfS7D/Lw9LYq5DX5ZpJIx4B7jYKb3zqCa1866Hde7noMwmuT4pUewSnjIF0fpQLhJW1a1HcbxekH2t1vHDxQqDF5BpCkfaJUMGS61eTa4lbkWwogXfbcfvzm/VyfYOTlz+8P2I0zVm0p6ZBHUXR6BSx7jcJ+szlceG5Htfz4e4ca5QuVbV6jItZ7BVZ7DFbc93kRVj62U65xprPYsadSLY9oNxItfSYcqOkefCIuBQuFBWpNdmwpCVzMnRBCxkIZJRlIocrqDBeKHxFCCIkm4zqAVNiiQXmHDulJvgEks82JtEQVHr3+FADAnR/myQEalcJ3s+j9dG9q7PWfbfNlfit2VXTJ9927BrlrCJCtE+h869PjQjbN9PREnwLcAPDXL4pR0Kzx+9rX9tbhro/zYXU4cccHeTjvyd3+FwJ4BFx+/1E+jGJQSsrQkTIYfvDyIXz/5YPYU6VGZafQ3c5oc8Jkc8gZKe6kWj9WhxNfuo2+Vr76CiTHK6Ex2+WL6aZeI/ZUqbGtTNiO+2u65eDYJ8db8OPXD6Op14R/fl2KZ90u4v2RspBcLo7NxR1wuTgMfgJYFR065DX1ydNuKm6H1eFEtxgk8g6+AJADaKYAQZ+iFg2axVpGWpPdo5B6iZil1NRrwqaigQv5vkGCQPni/nUfXVDq7mdzuPwWIDfZHNha2gHOuc+IbdI2VTDmEWiVglMA8I7YbVEKNrkHH6Ug2HjSoTXj9x/ly0Gfb0s6PYJ07vvnRTHoDAjH5fbyLhQ09+ONfZ7dMz/LbZGPFcDzWJICtv0mO3713nGPzLGtpZ1+M9+83fBqDn7xzrFBf6n2vpC7+9MC/P6jfJ/RIsMhr6kvIsuNBTvKu6jQORkXFIyB88hnAHkHkPZVd8s/EEiO1veiuNX/+ZO3qk499lcPEbAPIiqiTQghJJqohp4kduXUCZlBzK304KUnTcXOCjV0FgeS4pWYlBLv8zqzn7o2BjF48uGvz8aMzESsenZfwIyVWrUBn7gVnI73E0BKiVfKgZnhkqZPiFMiLXF0u66mS+jm5eID9Zq8Hanv8/t4t1zkGx4XOL/yKkz550+LsNVPAMlocyIzGXhmWxXeOjBQpyk5XoWMpDhozXYkxSlhsjlx76eeNZPaNb4ZRk1+MjUY8wzAnT43E1/lt+G0OZno0Fjw/M5q3LBiFqZnJPq8trxDhx++dhjr7zoPtWoD7vu8CNlux8eW0k5c/Z0ZKG3TIjslHjMyElHRIQTODDYHeg1WHPSqu3TdK4cAAM/++DT8d2ulR7enJjGw9KZXLaiuYYzc5c5gdeBYQx9ym/rwzkHP+lecc9zy1lEUtmjw6s9Ol+tcSaTAiFLBcMnSafjPt0K3QvcstP/trPHYDrXqgSLlh4aoM+VOZ7GjvF2HcxZOAiC8P0+dnYnUhOj6GPIOFL5zsAEakx3P/uQ0NPUa8Zaf2mOS333gO7ojALyxrx5v7KtHzeNXYW9VN4pafC9UmvwUTb/zwzzceeEJeOCqpYO2WQrkdektmJGR5Hcas024iDLZhX0uBQl1FjtmwvM1rf0maEx2nDIrY9DljtYPXzuM5HglyldfGZL5x6qSVi1++34ufnb2XDx+w3fkx3Nqe3DyrAy/Pxy4K2vXIis5HjMz/R8DhISTNCCI08XlQR8iwep1TnfrmmMAgMYnr5Ef+6kYuHd/LJAr/rd/2NMGgxSAozgSIYSQaDCuM5BOmpEOQOjeIUmOH7hYTY5TelwYPyZmIy2amuozLynLIzVRhdlZSRisjEhOnWfxYmmUJcm2e76HxdPT/L52TrZw4n/1d6YHnH9jjxFl7brADRjEt25dVr7Kb/N5ftYgFx5SzZtatQGH6wMHDvwFjwDAbHOgW2/F9vKB7Kwtd18AAHIAKVAwwV+21obCdo/76+86D/vvvxgAkJqgQuOT1+CG02fDbHfir18Uy7Wuvi5ow2t+6kdJrnvlEO77XAhguWebbCxqR323Ade+dBDffXI3cup6obc6MCMjEZwDN715BHd/4n/Urfs+L/KpmROIY4T56pWdOvzkjcN4amuVz3N/XFeAQjFY8VV+W8AMJCVjOHFqKr6481z5uYWTU+Tb7tvffZS7dw81BmzXQbeunU4Xx0VP78VNbx6BWm/B9rJO3PLWUfzrm9JhrmX4+MsA+zK/FS4Xx4VP7/UIsP7uwoVYc9vKQec3OXXgM+aWt47gt+/n4mU/BfbdR8dzt62sExUdOuyq6EJFh85v8Gkgc8+EguZ+udYV50KdNZeLy48da+jDroouuWtin5/6aOf/d8+wumGOhrRc6dir6NAN2fVyPHG6OI76KXAPDAQC3YOJ1V163PL2Ufx7YxkAIcAsBf/zmvo8MtSuefEgvvfUnlA1nZARkQNIUZaBFGuk7Rfp7UgIIYQAIQwgMcauZIxVMcZqGWMPhGo5gzlV/PX8ilMGgjHu2R1xKoVHwOTms+ai9vGrsGJuls+8vn/aDADCyGwJKqXPL0GP3yAEn86cn+VRw6ToX5djappnEe/EOIXf7lAA8PrPz0Dt41dhWrpvhoxEa7YH7KoGAN89YRIanrhaDqa4cy+8XdyqRUq80uP5y5ZNk2/feeEJfudf123E7e/l+jx+waLJUAwSWCtt0+HMx3d6XBxJmVQZSXHQmuwj6rrxZX6rx/15k5IxRdzWt353HgDgrPnZQ87n/dvPwsVLpgxrmdKIfQDkUbhOnikcZzVumTnA0CO0zclO8lufayR+cNpMubi6P1LdKwDYW6XGpiIh6PbgNScBGKippBB3nPtxd8vZc+XbzW77rFZtwGSxMH2hn2CG5OfvHMX2sk5wzvHhkSY5MFPapsUdYqbOWGon6S121HQFr/ZSv9GGxh5jwC6Er+0b2PeJccJHp8nqHLRmFQDcfeli5D90GRJUCrnO2Ug09Bhx1QsH8Ou1ubjqhQO47pVDaO03QWuyY2d5F7aVdcqfR3sq1bjh1Rxc9/IhIVDR0Idb3j6K1ZvK5VptBc0a/HptrpxldqzRM+Ow2y3QOVg2nMvFB93/gbiP6sg5x1UvHPBb8H28sdidKG/X4bW9tfjpm0dwrKEPbRoz6rsNcncaKcArZWsUtmjk92yd+Pmy6tl9uPS5/WjoMeKHrx3GY5sqAAx0LR1pAJqMP9Fw/gUM1FvzM+5FWLkHWYfTJXi4vEfSDRXpLR3proAkvFwujhtePYStpVSrkJDx7kh9L8444w8oTAmcQBJNQhJAYowpAbwC4CoAywDczBhbFoplDWZSagIqH70St583X37s0pMGAiSt/SbMyU7GpJR4LJ6WCqWCQaX0v0l+e8FCVD56pUfGkrtbzpqLykevxO8v8gy6pCaqMDU9EfkPXSY/lqBSelxEAULgpnz1FTh5ZgZUSgV0Zv/d4wIFaNb99hz59vHGPjDGkDFEcOJgbY9PoOrcEybJty9cPLygimTV0qk4f5Hna9y3xz2f+mbnpCUKbZyaLnQH81drCgAO/u1iHPvHqoF2Lpzk8fz7t5+FzOR4JMYpUfnolbjvsiUAgCXT03D8n5d6TDsnOwlP/+hU+f6k1PhB6w658w5aAcDK+b4BR2CgC2UgS6alewQS77l00cA85/mfp7tFU1Nx4+meIwQum5GO806c5Hd6h4vL2V+zs5IBCMcKMHBcTXELdq6cn42K1Vfi8mXTPGo3VXcZPLJqJN9bPAW/+95Cj/bf8UEe9tf0eBSV/sKt/lVyvBJNvUYUNPfDMcKT8d+szcVlzwsX0gXN/R5BLrXegtZ+k0e21FCue+UQLnpmb8AMuqe3DWR4PXiN8HF21oJsLHDL1PJn2Yw0ZKfE4/Wfn+Hz3MIpg782kOe2V+PhDaX4zfu5Ht3m3hC7Q9b3GPHgN6VyF8v3choDFpr/384atPSZ5K6JTW613c7+zy5wzlHergPnHAXN/XLtojWHGnD9K4dwtL4Xap3Fpx5WVacejT1G7KvulgOVgGeGV5s4r6ouPTq0ZvQbbajs1MHpJwhS0aHzuYDqMVhxtL436i+sOOe48dUcXP3iAXwk1mRr05hw3pO7ccmz+3D58/thsTvlgF1uYz9e31eH6185hBd3C9lq9d1GmG1OORu2sEUIRuY394NzjnOfGKhrl1PbA6eLQ2uyo7V/+EXZj6fNwtbSzhG/F0n0iJbzL0Do7g5EPnPGvWagv3Or0R7vOnPgEVODSaqBFOlAHAkvtd6KgmYN/vBRfqSbQggJseY+E3rjUpDlGFkZk0gJVfGRswDUcs7rAYAx9gmA6wD4H/89hBLjhAybK06ehm1lXfj1+Qtw2pxM/OSNw3IXt4N/u2TI+TDG5HkBQpaPe1c16fkzvTJepBTu7JR4xCkZ7E6OxDgFLl82DZ/lChfSb/9yJS5aMsUjeLVomm83OgBQKRU+w3wXPXw5MpLisHByCup7jLhk6VQAQlZP8SOX49RHtgdcr/oeI1QKJv9qPW9SMi5eMgV7qrpxhlsQ484LT8D1K2biV+8e96iPAwCTUxPQY7Bi8fQ01HV7djW7//IlOGtBtk+dJInUZe0Hp83ERvGX9htWzMLXBQPd6+KUTA54AMAZ87IwNzsZh+t78bOz5+KvVyz1CJa57ydACIr88PTZ+DK/FUf+vgqZyXFIjFMiv1mDdceaMSMjCX1iQO/sBdk42uCZkfHmL86QM2bcfXrHOZidnexRE8ide5ZWWoLKJzj2q/Pmo1NnRmmbDpv/dD6WzUjH/3YKRZlf+/kZiFcqcNpq//su98FLkZaoQoJKiX33X4QLn94LAHjqR6diyfQ0fHKsGQ+tL5Onf//2s/BLse7D4mmpmJImBICkjCrpOE2MUyI9UQWdxYGl09OQGKfESTPSPbodAkLmkDQdAOy670LMykzCsYY+vLG/Hn+4+AT89Yti9BhseOdgg8d75duSgQBNblO/3PYbT5+Fn66c43d9/ZH208XP7JUf+/g3Z0OpYLj5rSPyr7ZrbluJlPihP+qkzEH3rC1/7vjeQvz8nHm49tQZyEwWtmPRvy73u68K/3WZPM2ZC3yz4W777nz8y20/DddXBb7dT7356xIXr/L9/ACAC8RuT2/9ciVKvArJvry7Fs/uqMbPzp6Lj442Y0ZGIv730+XYKo7OuKO8C28fbEByvBLv3nYmAKBTZ/HoznnDilm46Uxh35Z3DHS/df9ccA+A3HzWHFy/fCA4Wtmpx8MbyvC7CxfikiVT5ccf21yBkjYtHrp2GU6ZmT7kNomUvdXd8nrLmV8Nntlo3xS0yRlqBqsDT26plJ9bMDkFDT1GPLmlQn7soyPC/tWa7T7dkW95+yj+tGoR1he2oanXhE/uOAdDVaCpnrYcDy24DPgwD+vvOg+nzckc1bqSiIua8y8pA2lfVTeSE5RDTB06dW7f0e4DnOypUgPwHARDemw4dlZ0Yeog2eLB0tQjfDe1a80jah+JbVKdQhcf2XFJCIk9R+p6oeAuzLSNrkRNuLFQ/HLLGPsRgCs5578R7/8CwNmc8z/6m37lypU8N9e3S1Qw2RwuGKwOOYNIrbNgcmqC3HVnpCx2J8w2J1Y8ugOLp6Vi+70Xys/Nf2AzJqfGY/u9F3pkLP35s0J8ld+GykevhFLBoDMLI1v5K3rrcLrQZ7LJNZt+9FoOKjv1uPH0WfLFwvknTsaLN6+Ql2GwOtBvtGFKWoJHEGX+A5sRr1TgxKmpKO/Q4fDfL8G1Lx5Er9GGsxdk453bzsRfPhMKX5evvgLxSgX6TDZMTUtEr8EKs92JmRlJUCgYjFYHbA4XLnl2L/pNdhz5+ypkJMWhuc8kbIfyLjkj4oJFk/HBr89GXbcBq57d57OO8yclY6/Yzc7hdGHF6h3QWx04+o9V6NJZ8IOXD2HV0ql44eYVcqCp32hDcoISHx9txr83lmPDH8/DqbOHvtCxOVzQW+yYlDqQYeN0cfSJ2+sfX5fg46PNKP33FShu1eCWt47K0+27/yJkJsfjtnePoaBZg/33X4zEOIV84ljappXrxaQlqvwWV//zZYs9hnzff//FmDspGRqTDf0mu5zFcu1LB1DapkPDE1eDMYb5D2z2uz7S85JfvHMUB2p6UP+fq6FQMHDOodZbkZ4YB6vDCYeLY+VjOxGvVKDgX5chOV6JQ7W9+Pk7wnquuW0lLlkqZOepdRbYXVzu3rmnSo1fvXscd3xvIa5fPgtXv3gA5504Ca///Ax0662IVyk8AnxdOgumpSfCYHXgoqf3oMetxs733QKFj3x/GR7ZGPZrmmF55ZbTsXxuJs57cjfOWpCNl29egbP+swsA8PItK3DtqTN9XvObtbnYWeEZaPMusnrek7vRpjHj2D9Wwe7imJGeiIpOHW5dcww9Bhte+9np+P1H+ZienohOnQXnnzjZozD77ectQE5dj9+uf4umpqJGbcBVp0zHiVNT8ZKYubJgcgpevmUF0hLiMCsrCVe9sB/VYjH9331voZy1RKKL9IMAIAze8NjmclR26hGnZEhUKQNma45VgkqBykev9Ph8CRbGWB7nfPCiYWRMhnv+xRi7A8AdADB37twzmpp8R/Acqy/yWvGXz4uGnpAQQgiZ4E4w92JX0Rpg796QzD+Y52ARCyCF4+QlHNQ6C1ITVR7FuXsMVsQpFT4j5tgcLvQYrKMaIcdgdcBkcyA9MQ79JhvUOivmT0oZspsaIHQZkTJMbA4XpqQlQGOyoUNrweysJKQlxsHmcEGtt3gEAgZjtDpgtDr8/vrW0GNEYpwCWWKXMumxPqMNKQnCKGuJKiUWTE5BklsNpg6tGTqzA0vEAuNtGjOmpCb4HcXO4XShXWPB3EnDa+9QbA4Xug1WOWhS2alDWmIcnE4uL8Nkc0Bndvgdwa1WbYDGZMOymeno0FrQZ7RBpWBwcWBqWgJmZyWhsdeEKWkJMFj8zwMQApN9Rpt8jGhNdnBwGG1OxCsV6NJZkJKg8uk2ZbI5oLc4Bq2dVdWpR0ZSnMeya9UGaM12rJiTOWgwtb7bgIVThKw4td6C5HjVsEZP69Ca0dBtFIvPJyNepUBVpw5ZyfFYOCUVhS0auDhHvFIx4u4AjDFkJMXBbHcgQaWEzemCRayhpVIqwJiQWWUZZl0thYIhMzkOcUoFThDXtUtnQUaSkLFW321An9GGFXOz5PeTO6vDiR6DDT16KziAGRmJPvvDaHXAYPXdTzqLHXaHC5NSE9DYY8SMzESodVbMzkpCQ48R8SoFLHYnTpiSCr3VgeZeExSMYVZWEix2J1r7TTh5ZgbK2nVYNC0VaQkqVHTooTXbMW9SssdnjsXuRGOvERa7C8vnZKKu24B+ow0Kt201TSwM32+ywe5wITFeCYvNiZmZSeg1WmEVu4SkJKhgtDrk7En3riDSe3vxtDQUtWoAt6+axHglkuKU6DfakBSvhMXugkrJ4HJxxKsUfmuhJcUrfR5XKRWYkZHoMVBCtEpPioOCMVgcTqgUDAaLQ/5sUyoYzDYnGGNYOCUFKgVDUrwSWrMdRqsTJ05NhVpvQW2XAVPTE5GWqEKd2iBvfwCYlZUEm8MFrdmOGZlJaOoxQqFgUCmY36wzH3/+M1KcNsz57P2AXbXHigJIoTfSH/CA0P2I53JxlHfowlYraDBxSgUcLg7OOeKUCjhdXO4aBgAqhQIc3G/3WW8KxqBUsLCuV4JKGdT6TSQ2xCkVUfH+IYSE3uxf/wxT7KYJHUA6F8AjnPMrxPt/BwDO+RP+pg9HBhIhhBBCIocCSKE30vMvgM7BCCGEkPEumOdgoRqF7TiARYyxBYyxeAA3AdgQomURQgghhBA6/yKEEEJICIUkAwkAGGNXA/gfACWANZzzxweZVg+gKsDTGQC0I1x8NL9mMoDBh+ca+3Kief3pNXSs0WvG32voWAv9uoz2ddHUtiWc87RRzJuMwEjOv8TpBzsHC7bRfFYEw2iPa1r26EVqXwMTd5tPxP09Ubd3JJcN0P6OxWUH7xyMcx7xPwC5gzz35ijmF82vCbiuwVpOlK8/vYaONXrN+HsNHWshXsZ4aNtojhP6C/1fOPdLpI6B0R7XtOzY29dRsN4Tddn03p4gy6b9HZvLDuY+C1UXtmDaOM5eMxojXU40rz+9ho41es34e81oTORjbbTbeLy1jZBwieTxOVGXHUkTdZtPxP09Ubf3RNzXwMTd5lG1v0PWhW1EjWAsl0+QwpoTaV1JZNGxRsKFjjUyHHScRKdw7hc6BiYO2tcTC+3viYX2d+wJ5j6LlgykNyPdgDCaSOtKIouONRIudKyR4aDjJDqFc7/QMTBx0L6eWGh/Tyy0v2NP0PZZVGQgEUIIIYQQQgghhJDoFS0ZSIQAABhjhiGe38sYo5RJMmZ0rJFwoWONEEIIIYSMBxRAIoQQQgiJQoyxNYwxNWOs1O2xbMbYDsZYjfg/S3ycMcZeZIzVMsaKGWOnR67lhBBCCBmPKIAUIkP94kwCY4xdxBjb5Hb/ZcbYbRFsUlSjY2306FgbGTrWRo+ONTJK7wG40uuxBwDs4pwvArBLvA8AVwFYJP7dAeC1UDeOMTaHMbaHMVbOGCtjjN0tPh4oyLWUMXaYMWZljP3Fa16NjLESxlghYyw31G0nIxPkfZ3JGPuCMVbJGKtgjJ0biXUigQVrfzPGlojvaelPxxi7J1LrRfwL8vv7XnEepYyxdYyxxEisEwkdCiARQgghhEQhzvl+AH1eD18HYK14ey2A690ef58LjgDIZIzNCHETHQDu45wvA3AOgLsYY8sQOMjVB+BPAJ4JML+LOefLaXSfqBTMff0CgK2c86UATgNQEerGkxELyv7mnFeJ7+nlAM4AYALwdZjWgQxfUPY3Y2yW+PhKzvkpAJQAbgrPKpBwiYoi2pMnT+bz58+PdDMIIYQQEiJ5eXk9nPMpkW5HrGGMzQewSTwZB2NMwznPFG8zAP1/p/1aAAAgAElEQVSc80wxw+1JzvlB8bldAP7GOR80m4fOwQghhJDxLZjnYKpgzGSs5s+fj9xcylYmhBBCxivGWFOk2zDecM45Y2zEvwQyxu6A0M0Nc+fOpXMwQgghZBwL5jkYdWEjhJAJ6MMjTThc1xvpZpBocdFFwh+JBV1S1zTxv1p8vA3AHLfpZouP+eCcv8k5X8k5XzllCiWFERKrXC6OV/fWQmexR7ophIwvdF4UEAWQCCFkAnrwm1Lc/NaRSDeDEDJyGwDcKt6+FcB6t8d/KY7Gdg4ALee8IxINJISER7Vaj6e2VmFPpXroiQkhJAiiogsbIYQQQgjxxBhbB+AiAJMZY60AHgbwJIDPGGO/BtAE4Cfi5N8CuBpALYRCtb8Ke4MJIWFltDoBABa7M8ItIYRMFBRAIoQQQgiJQpzzmwM8tcrPtBzAXaFtESEkmkiBI5ONAkiEkPCgLmyEEEIIIYQQEmPMYuDI7JWB5HJxvH2gHkarIxLNIoSMYxRAIoQQQgghhJAYIwWOLF4ZSOUdOjy2uQJbSjsj0SxCyDhGASRCCCGEEEIIiTFSAMk7A0lvETKPWvpMYW8TIWR8owASIYQQQgghhMQYS4AAktR1raWfAkiEkOCiABIhhBBCCCGExBi5BpLN5fG40SYEkFr7zGFvEyFkfKMAEiGEEEIIIYTEGLkGklcGkkHMQGqlDCRCSJCpxvJixlgjAD0AJwAH53wlYywbwKcA5gNoBPATznn/2JpJCCGEEEIIIUQSqAaS1IWtQ2eBzeFCvIpyBgghwRGMT5OLOefLOecrxfsPANjFOV8EYJd4nxBCCCGEEEJIkFjkLmzeGUjCfc6Bdg11YyOEBE8owtHXAVgr3l4L4PoQLIMQQgghhBBCJiyTbfAMJABo7Y+9AFKH1ozrXzkEtd4S6aYQQryMNYDEAWxnjOUxxu4QH5vGOe8Qb3cCmDbGZRBCCCGEEEIIcROoBpLR6oCCCbdjcSS2klYtCls0qOzQR7ophBAvY6qBBOB8znkbY2wqgB2MsUr3JznnnDHG/b1QDDjdAQBz584dYzMIIYQQQgghZOKwBKiBZLA6MDsrGe0aM1r6Yi+ApLc4PP4TQqLHmDKQOOdt4n81gK8BnAWgizE2AwDE/+oAr32Tc76Sc75yypQpY2kGIYQQQgghhEwoUuDIZPPNQEpPUmFmZhJaYrALm85iBwAYrPYIt4QQ4m3UASTGWApjLE26DeByAKUANgC4VZzsVgDrx9pIQgghhBBCCCEDpOLZFp8AkhMp8SrMyU5Cawx2YdOZKQOJkGg1lgykaQAOMsaKABwDsJlzvhXAkwAuY4zVALhUvE8IISRKcO63ZzEhhBBCYojZ7hL/+3ZhS01QYXZmMlr6YjcDiQJIJFa09pvgcLoi3YywGHUAiXNezzk/Tfw7mXP+uPh4L+d8Fed8Eef8Us55X/CaSwghZKxcFD8ihBBCYp5UA8nh4rC7XbwabQ6kJAgZSD0Gq5ypFCt05qEDSB1aM37+9lH0G23hahYhfmlMNlzy7D58VdAW6aaExVhHYSOEEBJjXJSBRAiZgPKa+nH6ozug1tHQ4JFmdThpiPYgcA8MuWchGa1SACkZANCmGVs3toe+KcU9nxSMaR4jMZCBFLgG0sGaHhys7UFpu9bv8/d8UoDVG8t9Hr/r43z84+uS4DSUEACt/WbYHC409Bgj3ZSwoAASIYRMMBRAIoRMRDm1Pegz2lDc6v+Ck4TPu4cacfnz++GilNgxMdudiFcKl3PudZCELmxKzM5KAoAxd2PbW60O6/tGqoFksAbOQKoXL9b7Tf6DTAUtGhS3anweL2rR4Kv8VhgHmTchI9GhFYLhXdqJERSnABIhhEwwFD8ihExE1WoDAKBG/E8ip6nXCI3JDo2ZRtkaC7PNiayUOOG21J3N6YLF7hIykLKEDKSWMRTSNlgdaOkzo88Uvq5ieuvQXdgausUAUoAubH0Gm9829xttsNhd2F3pd6BwQkasUysEaLsmSFYlBZAIIWSCoQwkQsh406Yx47fv5w6asVDTpQcA1FIAKeJ6DcKFfY/BGuGWxC6H0wWb04Ws5HgAQI/Bhjvez0Vlp3CcpyaoMCUtAQkqBVr6Rh9AqhbfN1qzPWxFguVR2Lzez2qdBb9+7zh6DVa5u1CfnwCS1eGE3urwCS5Z7E4YxUytzcUdoWg6mYDkDCTdxPg8owASIYRMMNRjgBAy3uTU9mBHeRfK23V+n3c4XagXMxZq1fpwNi3ovshrDbiesUK66O/WT4wLLneFLRpsLGof83wsDiGYk50iBJAKmvuxvbwLW0qFwEhKggqMMczOSkJr/+i7sFWJASnOhSBSOASqgZRT14tdlWpsL+9CQ6/Uhc1flpHwOo3ZDqfbSY80bUZSHPZUqQcNOBMyXJ066sJGCCFkHKMMJELIeNMtZrIEymhp7DXB5nQhMzkOdd1G8Bj9HLQ5XHjgy2KsOdQQ6aaMiRRAGm0GktHqwF0f5yOvKfYGe35zfx3+8XVJwGPwYE0PrI6hR02TCmhniQEkKctICvikJKgAALOzksfUha2yYyBY6S9YE2yc84CjsDWL6/h1QRtsYgDNXw0k6fjyDnpJj9+wYhasDheO1vf6bUNpmxbNvWMrPE4mjk4xcKS3OiZEbS0KIBFCyATD3TLQqYCppzf21cX8L/uETERqsetAoIwWqfvaFcumw2B1yL8Yx5q6bgMcLo4O7diKIvuztbQTV71wwGM4+OH45FjziEcf6h1DBhLnHA9+U4rNxR3YUtI54tdHWpfOCr3FgR6DbzAmt7EPP3/n6LDWyyLWPJokBpCk4EpFh9SFTQkAmJOdNKwi2r0Gq9+gVmWnHgom3A5UsLo3iF0RjTYnXBxQKhgMAQJIxxqEwKFSwfzWQHLv1uYe9JIyky5ZOhVxSoZjjb4ByEO1Pbjx1Rz8e2PZ2FeGTAidWguU4pukK0a/W0aCAkiEjGMaky1mf2UloeOegeSk40PGOccTWypx9YsHIt0UQsYdl4sjp7YnZN9JUgZSoIBEdZcBjAFXnDINAFDTFZt1kKTsknZNcC5SDFYH8pv7AQD7qtWo6NChYwTz7tZb8cBXJVib0zjs19idLjkrxF8QZSgbitrxdUEbFCw2C6JLF5j13b5t3yTW5RlOzSKpaLZUA0kKrrRphGBRSryQgTQnKxlas13uFubPnko1Vj6+E0cbPAMqnHNUdelxyqwMAP7rDeU29mHl4zvl42ispOyj6emJMNudHgHNZq/tsmxGut829RoHPgfcA0xSUe2ZmYk4dXamHIiS1HcbcMf7ubA5Xajzs38I8cY5R4fWgsXT0gBMjDpIFEAiZJxq6TNh+eodePdQY6SbEnaaMI4UEos8AkiUgSSjbUFI6Bys7cEtbx/1uWAbDpPNgbf21w9awLfbLQOprF2Li57eg3bNQNZFtVqPOVnJ+M6sTAChKaTNOQ95jRipQHKbxhyUYNzanEb86LUc9BqsqBaDaiPp7iR1IRvJxbb7Bf1ourB9cLgJJ05NxdXfmRG1BdG1Jrvf/cM5l7Pl6ro9s7acLo7NJUIAqWMYWQxSFzapBlKLV50jqQvbnGxhJLbWAFlIZpsTD60vBecDBbMlXTorNCY7zl04CYD/Ec/WHWsB50BZkLJ3pW5rMzMTAcAjC6mlz4TviMGslHglFk9LC1ADyS1o5J6NJN7OSo7HWQuyUdKqlbcjAHx6vAVWhws/PmM2WvrNcjc5QgLRmR0w251YPkc4LtUTYCQ2CiARMk41iX23d1Z0hXxZ0RSwKW3TYvnqHVhf2BbppkQt9ziJg4ImsljcFpzzgEMYExJNpGyLUq+LTLXegj+tK4A2QNcYQMjKePzbCr/dTSRyBpLBiuMNfWjsNeHz3Fb5+douAxZPS8Xk1HhkJMXhq4JW7Cgf/PuxudeEez8tlLsKDWVbWRfOenwn1CHswlDVKWw/m8MldwMLxGxzorBFM+g0lZ16uDhQ3KpFtRicGsmIXccbhayT+u7hd2HrHUMAqUNrRm5TP647bSaWTEtDm8YMky26ao70GKw48z87sb7Qt1C21myHTQyEemcgHW/skzPoOocoxnu8sU8uAC0FkLyDHaliAGmuGEDyDg5JXttbi9Z+MxQMaPMKQr0r1tq6/OTpAAYyeCRGq0Mu2t00wm6MgBDQ+dO6Ao/zSClTamZmEgDI62mxO9Gps+CSpVORnRKPBVNSMCk13iNA1NxrQrvG7NOF7b1DDfgqvxW9RhsYE4ponzU/Gw4XR0GLcAxzzrGpuAMXLJqMc0+YBKeLj6l21GjVdxtw32dFw6qDRSKvQye8Z06bLfw4MdR7dzygAFIAFrsz6r6QolFhiwZrDgankOM3BW3YXRn6YAcJrp3lXVi+ekfAQoThJtWv2V/dE+GWRC8OtwwkZ+wFTULFFqbhiYPp5d21WPHojgnxixeJbVJ2hBQAkeyv7sGGonb5ItSfsjYtAAxaZ0e68O4xWNEsZlp8md8KzjmcLo6GXiNOmJIKxhh+ff4CtPWb8dv3c1HSqpXnYfHqLrOpROgqld80vK45eU19sDpcKHKbZ7BVdeqRligEBobqavZeTiNufPWQR5DmS68R3KTaUNvLO+Uh04dz0ay32OFyceSK26ZNY/bI5BiMdHGfEq8ccQ2kb8XaQNecOgMnTk0FANSpRx64CKXqTj1sDhc2+Blpzb17i3fW1tbSTiTGKXDuwknysOD+HG/sw49fP4wv84QAqRRA8iZlIJ00Ix0zMhKxvrANDT1GXPzMXrm7Geccn+e14tKTpmJudrLc/Q0AKjp0ePtgA366cg7OmJeFxDiFzw8WW0s7YbI5kaBSoGkEgUfJoTrh/Z9TN3AOKXVhmyUGkKSAkpB1B8yfnIw/X7YYt5+3AFnJ8bA6XPKx98d1+fjbl8XoNdqQFCfUgOo32fHm/nqsPdyEfqMNGUlxUCkVOH1eFhgbqKdU2KJBm8aMa0+diQWTUwAADUMERvOa+nDJs3uDGjTeWNSBL/Nbg5bRRUJLeq8umpaKlHgldWGbyFY9uw/L/rUt0s2Iete/cgirN5UHZV73fFqI29/LDcq8JiLvLCApSMBYaJd7tEH40h/qV86wCfH6jgfcIwMp/EGTaM2YscdgqvqLu2sADJxwExKtWvs9R4iSNPQIF9F7q7oDvlbKWgp0MWeyOeQshW69Va6T0txnwvHGfrRrhK4o0kXhn1YtwrZ7vwcAyKkb+LHhpjePYPXGgXOasjaduPzhBYSkLmAVHaG58NOa7GjXWvC9xVMAwONi35+iFg1cfOCHFYPVgfu/KMLNbx1BVaceThdHvRiU21Q0EMAbash3q8OJC5/ei3s/K0RZm1bervU9w+tOJmUgLZ6eNuIMpM3F7Vg2Ix0Lp6TKAaTabv+ZNZEiDS9/sLbHZ0Qmqf7RtPQEedtLils1OG12JhZOSUHnIEXSN4qBqcJW4bwrMzlOfu6EKSnybSkDSalguGHFLOyv6cGD35SgoceIF3YK3x2lbTp0aC248pQZmJWV5HFMPb2tChlJcXjgqqUAgOzkeJ8i2huL2zE3Oxnnnzh5VKOWSe9p9+CwTwaS2IVNel/PyUrGz8+ZhxtPn40scd37TDa4XBxVnXpUdOjQZ7RhZmYiElQKtPWb0a61oF5tQJ/RJgfcMpLisHR6Oo6LmY2bizsQr1Tg0mXTBgJIQ2RVvba3HvXdRmwsDhwAD8ThdKHAT90o6fOmujO6jmvin5RxND0jCdPSE9E1AX7QowBSAEN9KRNPVKh5wPrCNnyR1zr0hEF0sKYHy1fvwP7qgRPwcO0SJkaoXFz40h+sRkWw5Df3D1mw0z3LhngKVw2k3MY+fHC40eOx/OZ+rHh0B7aWhmfknB6DFU98WzGs43IsXdgsdidWbyz3qH+iMdngcLqgD1C41OXiaOkzYfXG8mF3kfFmFzPIrDEY/CLjm8Hq8OgKJY0CVd1l8PjckS7QDtX2+B39y+nicgAk0MWclMUyNS0BPQYrmnqNOO/ESUiOV+Lrgjb5ddJFoTBtIhZOScERMXvWYneiuFUjX0wCAxdypW3DCwhJ2TxSe4fKZOecy5kT7rcB4fPhl2uOeXyGVonzX7V0KgCgXWPGtyUdqFX7v9CU2i8FtIpbhYCS2e7ErWuOoa7bAJvDhcQ4hZx9tHR62pBd2PKbNOgz2rC+sB0OF8ePV84G4FvTR1oP78ykPjFotGRaGnoNtmGPBtqlsyC/WYOrvyN0p5o3KQVKBfNbB+nz3BZc+9IBbCpu9zlH5Zzjo6NNIRnJDhgoIWBzuHCgxjMwqhaP1XMXTkJLn0nupsQ5R02XAYunpWFGRiL6TXaP7wWXi+Oz3BaodRY5C0s6rlMTVIhXCZd0K+ZmAQAUDEiMG7jM++EZs+F0cRyq7cWc7CTsq+5GebsO28s7oWDCqGQzM5LkLmz9Rhv2V3fjJyvnIEsMuGSlxHv8AGR3unCsoQ8XLZmCeZNS0NxnGvH1gLQO7l0gdWbhWJyVJQSQ9BZhaHTpuJS65EltktrbpjHD6nChx2BDXbcBk1ISkJ0SL3dR01sdqOrSIzt5IGPr7AXZyG/SwO50YWtZJ85fNBkZSXHITI5Hdkq8T5DPXZvGLPec2FTsm20GCJ8rgc4/Ps9rxQ2v5vh0ZZQyLqtHUejf+3MkGNR6Cz7PbQnqPEPJYneGZITh6i693/3cobWAMeH7Z2p6ArqoC9v4ZrQ6sHpjOTq0gQsR6i12fHy02eMXqommU2vBE1sGvwCb6BcvVodT/pXp7k8K8ZfPi7BziNoK7hp7jHhuR/WoA3HSCW+uW5p9uEbXkjKcnC4XTn1kOx5aXwqdxR6SwIRdvBi/8dUcPLzB//CqsZKAxLkQPOCcw+50yb+ee0/zws6aIYuTvn2gHkUjyAALVw2kH71+GA+t99xPB8SuhUcbekcdNBmJhzeU4Y399dhc0jHk0NRjKZa5oagdaw414Pkd1QCAo/W9WL56B1Y8ugPfeWS739f8b1cNLnhqD9YcasAGP7UyRoIKfZJo85PXD+MfX5fI91v6TUhLVMFsd3qMpFTfbURSnBJ6qwN5frqKNfQYYLY7EadkaOgxoktnwf2fF0EndqEqaO6XA0jLZqbD7uSo6zZg6fR0fPeESTjW0DsQQHLLzgCAsxdMQm5jP5wujlq1AS4uFNe2OYRRwqRAwHAykPQWITsIAMo7dFhf2IbTH90Btc6C+m4D/v5ViU9Nk80lHTjjsR3oMVixqbgDJz+8FX/7ohhqvQU7Krqwv7obn4s/SBmtDry5vw4A8N0TJiNBpUB5hw7/t64Aj2+u8GmPxmSTM4nKxQBSQbPwPfHfH34HnTqL/EPMlWJ9m8mp8Th1doZPMWZvOXU9UCoYTp+bCaWC4UenzwZj/kcVW3OoARc8tdvj875PrENz4tRUOFzDLzy+T8xSW3WSMJJevEqB+ZOS/Y6ot7G4A6VtOvzx4wJ5G0rqe4z459eluOP9vJDUmWnoMWLB5BRkJMXh1b11+OPH+fIxKGUgnXvCJLj4QLCpU2eB3urA4mmpmJ4hBE7ca6kcquvBX78oxjUvHUSPwYqUeKX8Q2FSnFLurrVkWhqS4pRISVDJP/ABwAlTUrFibiYyk+Ow7rfnICVeicc2l+Pbkg6snJ+N7JR4zMpKglpvhdXhxLayTjhcHNeeOkOeR3ZKvEcNpNI2LUw2J85eMAnzJiXDbHeOuEuiFKBpcMte8+7Ctr+mG6c8sg1rcxqRoFJgSlqCR5sA4ZhyD/ZUdxmQnRKPrOR4VHQMBFhr1QY56AQAZ87PhtnuxPrCdrT2m3GJGJwFhIBzwyBZdeuONgMAbjl7LgqaNXKWpbsfvZ6D33+U7/f8XgpeF7t1ee01WOXPkZoAgeHBbCwe+EwJlvcONeL+L4rR1Bu+rqK1asOgowYGYrY5ce4Tu/DRseagtsfqcOLOD/Jw9yeFPj8K1ncbMDMjCXFKBaanJ6IzhDXwosWEDSC19JnwzsEGrDnUgHOf2I23D/iv4/PU1ir84+sS3PKWMHKI08XR0GPEo5vKh/2lwzkftDhktPvX+lK8sa/eY2jPfqPn8PDuJwYNYjBktN1UPhtllPuDw43yh3GwfHKsGTm1QwcPf/haDk5+2LPL454q9bCXc/va43hxV82gfd5HSrqgZEOEVGwOFx7bVD7sQtjFrRr5JBYAFOIJikY8xtcda5EDScH2m7W5Hhfjz2yr8vmVgYW6z94wOJyuIb/41h1rwQVP7cEPXj6EC/67B6c87NtltttgxfM7q/Grd48HnA/nHI9trsB1rxwadvvct9loA317KtX4Kn/kmXbSSc27hxpx7hO7RrXskZDeB3d/Uoj/+7hg0GmHCjANRnofSCe+BWJATxpNxt/3xbtu9ePiVGM7bv0F8e2DZD8REmpnzMtCflM/HE4XtCY79BYHLloiXJxJdZBcLo7GXiN+cNpMqBTMbzc2Kfvn/9k77/goqvX/f87W9LJJSK/03kIHEQXF3guWi937s5erX7x29Cp2BBVFUBSVoqIgNbQQIKRCGiG9976b7GY3W+b3x+xMtqaQDSmc9+uVV3Znpzwzc+bMOc/5PM9ZPMYPZU0qbE8qx++pFfjrbCW2J5fjtm/iccCoaJwQ6MHulwFCvZ0xPcwbhfVKpJW3wE0qgp+b1Gzfc6NkaNXokF2l4FU6OgODooY2XkU0M9wbxQ1KVDSr8EtCKe+0umn9KbO2HacWmBbqhbImFb47UQS11oDE4ibsTKnAtqQyxObWo0nZge1JZWAYBsdz6qHq0CO5uAnHc+ogFgrw17lK3PNdAtYbw1MzK+VoVnbggc2JOJZTh7dunIAATycEezljb0YV9AYGJ/MbrNqZXP4UDycRfy7nyloQ5eeK6ycHwk0q4h0rt81gFURj/N0R6u2C+lZNlw7+UwUNmBriiR8fno0dT8zFCA8nhHg78wqkypZ2Pv9PbG49Gto6kFjchPImFfakV6FR2QFvFwlGeLCzbFl2dts79LhzQzxizpsrVWPz6hDg4YRxAe78slEj3FBg4bhiGAYZFS24a2YIgjydeMcTB+dIy6yU46MDuXbPszco1Frc8tUpJJc0odSYb+u6SQHIqJBjb0Y1n6+oTqGGu5MIE4PYGZs45xdXfkYbFUgAzDqisbn1EAsJ5CotnMVC3DkzhP/NWdLpQBrhIUWozJkPXzNl/Yrp+P3JeQjxdsGry8chqbgJhfVKXDOBdchxDpsauRr7MqsR4eOCiUEe/PbeLuYKpIQitl8wJ0qGcB9WFdSbPEgMw/BOR8sQNiexAN5GpdD+zBowDKtwC5O5mLXzuHWaVR0otFCiebuyKiLLdo6pAmlWJKvY4gZ/rhzrx//GOpBsO030RkXYkrEj8MSiKKOd5mFsdQo1sioVOJxdi0PnrVXXKcYE9FmVnQ4k7rkN9nK2m/S8K2Jz6qDq0Fv1hxrbNNiZUg6GYcAwTK8G8LjnxV6qCo3OsYofhVqL69edxA3rTiKnpnfhwGnlLWhWaRGb0/M+WE/4NrYIRQ1K6A0MEovMJ3M4V9aCaWFsAu2Rfm6obGkf0v3+nnBZOZBUHTqotXpkVcqx6OPj+NxYWQDgp820ZGtCKf/57u/OYPrqGCz5NBabTxV3O3sHx7cnijB1dQw/6mCKtgcdzYGGqxI+PpgDgB09mf4eO7LO0a7Vo0XVgQ6dAbd/cxrrjuZj+nuH+UZLh86Aank79AYGnx/Os6qQTSueV//I4D8fz6nDX+dsd1IZhsG6o/nIrWkFwzB4c/d53LsxAV8eyb9oJY9SozPr6K3alYn7NiWizWK5Jbbk7apeSEhVGnbd3nTmTVVP3FamXVCu49yq0Vmpxzp0nYqX/ZnV2HSqGB8f6lkj6rZv4vHB/hz+egiMB7WcmeO3RMd6/wHgRJ55I/Cr4wX2cy7YuZR/n6vE0X6eme6Nv7Mw5Z2YLl+onOQ+s1LONxINBgbrj+bzYRAaLXvf2rt40Vv+1qLqdO7K2ztDCrcnleG00Rlq+nhw5YBhGHxxOM/mCLItHt6SjJd2plvdE1uczK/Hz2dKAJgrZSxzKfQHQpOG5kEbDThTGtouPjcTFz6gtnguOCxDLo9eqOVDRgCgr5GfthRIz/52zq76yZICJxm+DJ5Hw5EpDiM6whvKDj1yalr5pMxXjfMDIZ1T0dco1FBrDZgc4om5UT44kFVtVQazKuWQigRYOt4fOgOD7cnsu+XPsxV8vcI5syeYdHbDfFwwPZRt1B86X4NIX1erAYa5xqnJE4oazXIz5da08p26e6JDwTDAyh+S8MbfWUgoasQfqRXIrJSbDRRx9fat04IAdKp+Ukub+c7cvoxqfHIoF6t2ZeJsWTNSSzvVwymlzbhyrB+2PTEH1fJ2ZFUqcPPUIDAM8PnhPJwra8F7t07CIwsjAbD5YdRaA6QiAXQGBoeyzes3zv6bpwWhqEEJtVaPtPJmTAv1glQkxOKxfujQGeDnLsWcSBmkIgHGB3p0TvluJ5G2Qq1FenkLFo5iQ32iI2QAgChfN74D/1lMLp7bdg6ljUo+x8vxnDq8tzcbz207h4wKOXxcJfB1Yzvy3Ax6hfVtUGv1+D21HCmlzfyAIqdGOJnfgMVj/Mzu48QgTxQ3KM0mEihvakeLSotpYV6IjpAhpbTJrFydK2uGu1SEe6JD8fOZEjMFVFalHB06AzQ6Pd74O5O/r90Rl1eP9Ao5diaXo7RRhUhfF7x7y0Qkv74U00K9+DJQ16qBv4cTxvi7w1UixJki9r3MHWeMvzsCOAeS3NSBVIe5UT7Y+uhsrL13GiYap7IHACexEM4S1oHk5yZFpK8r71gxJcTbBaP9WefbyvkROPryYry0bAzunhUKoNOBlFkpR3xhI26YEmjhrBGjSdmBf9Kr8MOpYiQWN2LUCDf4ukkR7sOq+0pM2lASevYAACAASURBVPctqg5eUWeLZpUWCrUOwV7OaFZpeedUq1oHDycxnyy+oU2DkX6uWDTaFwtG+ZrtQ2YSwlZY3wYPJxG/nY+rhFcb+XtIeSebzK3z2oxwd0KED5s8fNQIN4R4d4bHRfq6olahsakQTylpQl2rBrdMD0aEryumhnphe1K5WTs+wTjw7usmxTt7ss1CWqvl7Xy6FFOFY6bxub1lWhBqFRqcLWvG639ZqxftwUUiWDo5NsYV4dU/MpBZKccfqRWIfv9Ij1RKegODdGOuLc6RZIpGp8fij2Ox/lhBj+zrCQmFjejQGdDU1oF7vkvo1aRWXJ2aWtZstw2u0enxwf4LVvn47NHYpsHXsQW4dqI/nMQCnDaJSqpTqFHZ0s6/a2ZHysAw6HLGUFtkVcr7NIh5qek3BxIhZDkhJJcQUkAIWdVfx+mOVrUW8nYtjmTXYsJbh7DsixMosSHBM/Sw0axQdxbi7pIMcvkv9mWyozCcukSt7ez4v/J7Oqa8E9Njx0GdQo0PepjPw5LGNg3e/ec8WtVaKNRatGl0Zp2O+IIG/JpYarUdN4qRXiHH639lospY4bWYdP7WHMjBtNWHsfCjY2adQu5a37EhHvM+PIYXdqRh3dF8PPEzmyxbodZCqzdYdYK5ivLhLcl4cUc6yhpV+PhgDtYdzUd8YQOalR1oUWnx+eE8rPwhyey+fHEkD9/EFqI3cJ3uiW8fws3rrZUck94+hLFvHOQTF9rD1Bmo1OgQm1vHxw3/nlKON/7OxK6zFTAYzFVp3PtZ2YNKUqPTo1Wtxa1fm6ieLBwGq/7MwLPbWLVFenkLnt12Du/+c54fcXh4SxKveOFmnrIcjbhQrcDXxztfCFmVcqw7ms+X1Vo5++LhlBe2FGfv7c3GizvS+DwD+l5I1S3ZYOeeVhlnoWlRdaBOocY7xtC2VhsvfIBN1v7oT31P1r7ldDFO5NXjPRvqLS4HVmVLOz4/nGczvMzSwQCwL/7PDufh5q9OQ96u5a+VkBA0Kzv4ex+XV49tRnmu6fWsVagxbfVh3LsxATuTyzH13RiMev0ADAYGq3Zl4v5NiXhpRxoqWjo7Btd9eRLNyg7UKjT48mg+Vv6YZLOxVC1vx4f7L1jVVSt/SOr2Wj24OQlv7T4PhmGs6lqlRgeDgcEH+y/g+7gi/rwuFstyKLR1oW1QUNeKu787Y7Zse1IZTuWz9Y1aq+frTVtwdalaa1v598H+HL5hA8BqdLCrJNh6A8MnAbaHqQKJq884h1lPGiUPjr8LX4QuvOjnkzJ4GCztr5nh7Mh+amkz74wYPcId4TIX3rnBDSZF+bri1unBKG1UmYViNyk7EJtXj3GBHhjtzyZMrpar4e8hRUaFHDk1rZAIBWhWaSEUEIz171SmhMlcMDnEE4SwAzqm+Y84/D3YPEhHLtQit7YV4wLcIRYS5NS0IqtKjkBPJyw2KhI4dU1Mdi2vlIo1cSDl1bbBWSzEMmM4GCHA6BFuiMuvR2alHGIhweHsWvxpdHZtSypHiTF86dD5GpQ1qTArQoaZ4TJs+tcs3DY9GP+7bRJcJUJsTSiFl4sYd8zoVJ0EebFOhjtnhiBM5oK9Fkl8s6oUCPZyxoKRvtAbGBzLqUNDWwefI4dTnYwe4QYnsRA7n5yHZ5aMQqiMdSLYC2NLKGyEgYFVR36knxuKGtogb9fi8Hl2kGb9sQIojTN07c+sxlGjKiCzUg6Zq4RXhNW3apBf24prvojDA5sS8f3JIgBAfGEjCuvbcO3aOFz92Qmjis3P7LjLJwWAYYADmZ0OtIxK9p07JdgLsyK8UavQmLXZOcXA3bNCoTMw/H3MrWnFjetP4b292fg1oQy/JJSZtT1+ii/B07+etdkx5crEvsxqaHQGhPu4QioSsg66KBnSK1rQ3qFHrYItvxKRAPNH+eJ4Tj0Yhk3+7OvG5uwJMCqzuH5DeZMKhfVKLB7jhzlRPrh2YgCfLFssJBALBXAyOkf83KV4+6aJWLdims37Z0q4jyueu3o0PJzYRNRczqFvTxRCb2Bw09Qgs/W9XSVQqHV4a3cWVu/Nxom8esyNYh2IwV7OEBCYhafuSC7HjpRyXt1jCRcexoWNccnHFWotPJzFkIoEEAvZd+m8kT7Y+ugcvHPzRLN9eDqLQQjQpNKiqF6JkSPcMNqYXJ0NYWPPbaSfG6KM10xm4VybHcmew5VjzMvWZKOT7s4N8fysdRx7M6rhJBbw+cgeXxSJogYlDmfXQKs3GJUqjXCTirDu3mmoUajNQtU59dHUEE+cr1TwZep8lRxhMhe+/nzql7P4NbEMh7Nr0azswI7kMruOkTqFmr/+lm0MTvRwOLsWv6dUoE2j45WbXZFX2wpVhx4Cwjpej+fW4e5vz/DOr6MX6lCjUOP31HKHDUCdLmiAs1iIr++fAXm7Fsdzuh+o5Eg2XtcWldZu+ocP9+dgY1wRPj9sf+C8oU2De8ffg+NekdidVoUOnQEvLRuLWREyfjAW6FSbc/Xq1FAvSESCXkXEnK+S48b1p7D2iO3nZDBirW90AIQQIYCvASwDUAEgmRCyh2EYx0zX1QssR1/Lm9ptxtjrLmIq6zUHcuDpLIa3iwSLRvtCQAgYMPjuRBEWjvbFXd+ewYwwL16dUiNXo8JNhf/3y1lkVsoR8+IV+NtYmVyoVmCSsaLSGxgo2rXwdpWgVa2FVCTkR7ff/Scb+zKrsWCUL3xcJYjLr8dTV47ChthCzBvpg2lGDyhHh86ATw7lIMDTGe8ZZ0v761wl7/yJDvfG5odmoaxRhfs2JQIArhjtBxeJEEIB4eXUHL8mlmG3jVwd3LI6i9jnNg2r+uI86pwDhqvgprwTg6Xj/XHtRH+z7apa1GaNvXs2njEL7yIE2PP0Qv4YlokQPzmUi6khXihuVOKBOWH4/mQRwmSuWD6Jbdg1Kzvg5SJGo5JVTc1fcwwPzY8A0Jmk0pZD5Nlt57AlvgRrbp/Mj+KYMsWkvMVk1yLGWGHfFR2KV4zKql8SylDZ3I7PDufhhimB8HAS8QoUpabTidOq1kIsFKChTYMR7k58GVj2eRzUWr3ZteZK75b4Eswf6YPtyeZhgKby/ruiQ3G6gK3YGIbhu7kEBDq9AZ8cysXSCf6461u2Mz0t1AsLRvni9m/izaY5r5K3w8u1c+YPW578zcYQnQBPJzx71Sh8fDAXW+JLcOzlxShrUqG8uR0Pzg232k6p0UEoIHyDSK3V4yOjAs6Sb2ILMDtShmmrD5st76lC0B6cY5NrWJnSpOzAOyYz9Ww+VYzc95dDJBBA3q6FpzNbtu7dmIDKlnasO5qPs28ug8xVgsY2DXzcpDY79ZwDo12rx9R3YzA1hK0TaoyqP4CdbYV7fq8eN4J36ALA//3JlrHE4iazkFPTF9muc5VwczKv+qe/dxhf3ss2Nsub2jHp7UMoWXMD2jv0+ORQLv41Lxwv7EhDWnkLlk7wxyg/t15cyU6KGpRWuSgmvn0Ix15ejI1xRfyy26YHQyQgUHbo4SIRQqXRw9PF+j5YklXJvoTnRMqw4YGZEAqImbpUImSfIaVGh1qFGjuSy/HKtWMhEgpwIs88VHVjXCE+2G+7zJWsucFqGTdC1pUs/I4NZ/DxnVOQXaWwyhPRZKyLPjqYg2snBiDCxwVOEiE8nMT4YP8FbD5VjHlRPtj2xFwAbAObG00F2MaOVm9AQ5sG8z48hueuGsX/Jm/XwtdNitTSJqSVy+EkFiDSxxXzTTqAchHbYWlWaeFlY+SaMjQYTO2vYC9nBHg4IaW0GVOM7ZtQmQuWjvfHj/ElqGhW8TlLIv3YEfy3dmfhz9QKzIqQobxJhRXfJ6CuVYP1K6Yj0rez3nn35kl4+rezcBEL8dCCCKw/VgBfNwlGuDvx64R4u8BJLMSYEe7IrW216UACgDtmhOCTQ7lwFgtxgzHfS3p5C4rqlZgU7MkmRnWXwk0qQrC3M/5MrUCrRgc3qQhx+Q0wGBgIBAT5da0YNcINQZ5O8HGVYHygB2aEe2PdUTYU7fHFI/HtiUI+9w/nSJoX5YMzxjqa6zQuHO2LhaPZ53NulA+O5tTh7uhQ/p0IAIHGPDnLJvjDw1mMjXFFKG1UItzHFQYDG8I1McgD441hfZwd3Ej5lWNHQCwkGGNsy0w1Lg/RGxVIdkKRfk0sg5eLmO8wcVwz0R8/nC7G//slFa0aHaQiAX+OK+dHYGNcEQhhHXtlTSr4uEn4XDZF9Ursz6yGWEiQWtYMhmGVXztSyvHyznQAbGi4WEiwYLS542qMvzvG+LthX0Y1VhrbcRkVckiEAowNcOcHEVJKmxAqc4GqQ4ecGgWeWTIK00O94OsmRUx2LW6ZFoxfjFEHvySW8oOnB7JqsPpWHWrk7Xh/Xza0egbXTPTHLdOCeRsMBgYn8urhJhXxgwym5W1ulA++O1GEs2XNqFVoOh0WY/1wOLsWhfVtyKtrwxijk9RVKmLbhsa2baxR6bvEJD9PlPF54MqEszFhtq+b1CzHT2/glE9ZlQpMDPLAuAAPs995tY9Ki0nBHsiqVGBeFHs/JCIBgr2d+ZxODMPw939nSgUeWxSFkRZtBy5x9lXjR2BrQimK65UY6euG4gYVPJzYHE7uTqzqaZZR6WaJUEDg6SzmFUhXjPGDWEhwtqwFMlcJPygS4euKNrUO56sUVtdnTqQPdqZUmF1fAFg02hdf3TcdH+7PwZNbU3H05cXwcBJDb2BwIKsaV40bAVdjObluUiDCZLl4f98FrNqViZlh3ihpVCI6whvzRvpgXIA7fj5TintmhYIQgtTSZjYUMToUb/6dhfJmFfzcpUgqbsbsSG/+ueT6B3+mViA2tx5/pFbARSLC8kkBKG5Q8usBneqjayb4Iya7lm9vFtS1oahBCQEBdp2tRJWxXO3LqLLZBjeFUx0tnxSAmPO1eH9vNgrrlXhwUyJ2/nseH5pZ0dyO9Aq5VT/UFLVWj4rmdn72RA5Vhw4XqlsxKdgDUpEQpwsbMTtShkWj/eDrJsXejCq+bu4KvYHB2bJmvk5NKW226qv9mVqBLfEl8HGV4FhOHZqVHVblwWBg8NLOdCR4hqFS6gHXlHJMDvbE2AB3LBzliw8P5KBOocYIDyeklbdALCR8qKeTWIgZYV78DNU9gat3fjhVgpXzIvjQ3sFMvziQAMwGUMAwTBEAEEK2A7gFwCVtwOxMtp1L58fTJVbLihpYeeyPp0qQVm7tYLLHa7s6E0S6S0W86uFL44v6rInc79+/pJpte80XcfznG9efws1Tg/DUkpHYGFeEXWcrsWJ2GLYllWFqqBfunBmC7+OKeMfLLwmlfAe5TqHBFpPwiIlBHli/YjrEQgFic+vwvUV+J1PlUEppM6a+a+5kW/Tx8S7P2d4IvC1e/SPDpvpCozPwyoUjF2qtrvmST2PxyZ1T+O+WuYEYBrjpq1O8PS/tSLc6xgObWYfYgcxqxBeyD/Kq68ZhTqQMt30Tj8Vj/HAir54fsTS9hq/+kY6dKbZD51JLm7HsiziM9XfHFWN88fgVUVbruEqEUJqEsFnmevnMOBqzz2LEsLKlHRODPOAkFpo5P2dHyrB5ZTQK65VmozsAm0DbVBXyxFbzcmbK6r3ZvGQfYJM3ch1eBgwOna/Fd3FF+M6kM3//pkTIXCVmziOALc8tKi0/UlbVRf6mDbGF2JNWxY9YXPXZCf63m6cEQWcwQEAI7zSd+m4MovzcMCdShjlRPnjd5DmzJKGoyW6ceFVLO5zEQnwWk4u7okMRahxdA9hZJUa4O6GkQYmEokZ8sP8Cdj+zEAEeTtDo9Hh22zmczG9AwmtXw8NZhI8O5EAkFCCtvMWmE3p3WhVOFzRgd1oVf01MZ3Oc8d5h3DkzBH+kVuCpK0fipzPWaj9L0iusE7eaPr+zPzAvV/amweacwxylNqbafX57mtn3W746xR//h9OddcjxnDreuciRU6PAKD83dOgN0OoYeLqIbaplrja576ZcZbF83JsH+c+PLozE5lPFOPV/S9DY1oH9mdV4dfk4CAUErWotGto6EOjphJ/iS/CFcfQmsbgJM947bOZgAQCBgK0vpq+O4Wcvmxnujbkjfaxm8bHnPALYfXCdi8SiRtyzMYH/Ta1lR5iL7SSbNA3RNeWr4wX4yqj422ySG+m7B2fy388UNeL7uCIwYPDB/hwsm9DpeH9tVyYOZtXg9hlsp2adiZx87gdHcVd0CLYlmb8ThQKCTSujsWTsCKiEbAPq44M52PDATLvnThn0DIr2l/HYiI7wRkpJE7xd2HAUT2cxHlkYiS3xJdh0shgCQuAsFsLf3QkCAcHySQHYl1GN55eOxjO/nYW8XYudT87DtFAvMAwDT2cxGIbB0vEj8PSSUfB1kyA6XIb1xwrg5y6Fh7MIEqEA3q5ivmM9PcwLubWtvPrAkntmhWLtkTy0a/UYF+AOrd7AD4p9fvdUEEKweeUseLmIEV/YgJP5rLP5qSUj8fHBXGRUyqEzzkZ1+4xgEEKw5eHZ8HGT8PWKUEDw1JKR2J1WiegIGaLDvfH2nvOQigRYOT8CZ4oaIRUJ+Lw4plw1fgTi8utx/5wws+VLx/ujsL4N80b6YHygB7aeKcUbf2fh50dmY9OpIpQ2qvDMklEIk7nA102CvNpWLBzly+cP8nQWY/sT8/jcNRx+blJ4uYix6VQx5kT5YIy/O3JqFMipboWXixgn8urx3+vH8YNaHHOjfHDFGD/E5dXDy0WMu6NDsTGuCEGeTlgxOwwb44pw5Rg/zBvpgw/250DmKmFD4MK9se5YPhgGeGnZGITJXBBf2IA3b5qAv85VIq28BddO9Me7N09Ctbzd5qDODZODsPZoHvJrWxEqc0F6eQvGB3lAImKdSO5SEVJKmnHb9BBkVshhYIBpYV4QCAiWTRiBf9Kr0azswF/nKnHtRH+klbegVqHBmzdOwHt7s/FHSjn2Z9bARSLCCHcpPj+ch+snB0IsFECt1aOgrg31rRq8unwsPj7IqhoiTBxI0eHeEBB2MKe+VYMRHqzjjMsJdjynHgW1rbgrOpTfJtDTGdVyNeoUamyMK0SkryuiTPbJ5fcRGR1kzhIhxELWmXKxSEVCjHCXoq5Vg9tN1G78MY2DC75uUvzx7/lILmnCgpGdDr2x/h44cqEWB7NqEOTlhLzaNry8bAw2nCjEf3dl4vuV0Wb3r7hBCZGAYF6UD4QCgt9Ty7F6bzYUai1ev348AMDdSYQmZQfvXLWFzIV91upaNYjyc4WTyBiqZuJAivJ15fsvMlfza3TztCB4u4oxf6SP2XJCCG6cEoRwmStu+foUPjuUi3dvmYRtSWVoaOvAjVM6FVpCAcH/u3IkXtuViXEB7rza7s6ZrMPogbnheOPvLJwuaIRAwKoOp4V68Q7drEoFMivlaGjT4KH5kQj2coaLRAgvZzGunxzIt8MIYUNEd6dV4ciFWrx3y0Q8OC8CANsfcBIL8MjCSMRk1yKpuAnXTQ7k+4sPzY/k93PjlEDsy6zm28IanR5igQACC9V2WnkzZK4S3Dw1GPsza1BYr8RD8yOwPbkMt31zGlUtatw3Jwy/p5RjX0aVXQeSWqvHvzYnIbm0CV/eOx03TQmERmcAwwD/2pyEFKNDbcXsMBTUteGe6FAIBQTXTw7AjuRyKDU63llnuk+pSMCHWebVtqJVrcOdM0OQV9uKPWlV+DO1Aksn+GPlvAisPZqH704UYXakDK9fPx63fH0ae9Kr8MDccHx+OBcJRU14aH4EjhgnMLilIRu7fScANa1456YJADqVlz+fKcXL14zBubJmTAj0MHPuz4n0wfpj+fyAMsD2HWsValwzwR8CQtDSroWAsGXs73NVWDTaF2cKG7H+WAHeu3WSzWs4mCD9ke+AEHIngOUMwzxm/P4ggDkMwzxja/3o6GgmJaXvISWWbD5VzKtu+oqzWNhlHhJKJ5xjpreEypxBQKwcJEORZRP8MSXYk3cU9QYBYRuGMX1U0NiDEPMcOBwyVwl8XCXItzEd7qXC30OKWoXjZo6YFeHNy1ltEezlbObksYdYSHiHw3DARSLsVY6unuDrJuFzCM0M9+Zf5P3BotG+aFZ19Hhq7f5g+cQAqHV6u047S+yVNXcnEa6ZEMCP1A4E3Egyx19PzbdSFzgCQkgqwzDRDt8xhae37S+g/9pgABvq+84/2fBzl8LPTYr9zy8CALy8Mx37Mqvg5czmKDlgXH62rBl3fXvGGO4KfPvADCyf1Dny/Oy2c/BxlZiFsTAMg3kfHsOkYE9sWhmNBWuOIcjLCb//ez4AdmKOV//IwN5nF/JKb0ue23YOe9KrsPXR2cislOPjg7m4bXowvrjHPAyovlWD2R8cwSg/N+x4ch5mvn8YEwI9UNakgq+bFL//ex58TRJ1cwMiU0K88PfTC9Ck7ICLRIhGZQcWrDmG2REyfP+vaExdHYM5kTLseHKelW16A4P6Vg2vDunuWl8xxg/xBQ1YOt4fGx6YAUII6ls1kAgFPVJyAmwekSe3nkWTUoMx/qyCi2s3BHg4IfaVK806TBycCvTeWaG4Z1YobvsmHjdNDcL6FdOx6WQRFo/xg4tUhAVrjuGlZWPw3NWj0d6hx+t/ZyK9vAV7nllo1kl8cHMiTuY3YOujs7FotJ/V8TgK69v4AQqRgIABcP+cMKy+he2I/euHJGRVyjEnUobyZhWyKhW8KvhYTi0e2ZKCcQHuyKlpxa6n5kNICHJqFLg7OhRLPo3lQw0/uXMKfNwkeGRLCoK9nOHlIkZ2tQIuYnbQMPn1pVj5QxIK6tuQs3q5WWf85q9OoapFjYY2Dd66cQKfy2rZ5ydQ3qyCWmvAB7dNxn1GR+HKH5KQUdECdycxGto0+O3xuVad87u+jUddqwYnXlmCx35KxvkqBc68dnWP7rE9bvvmNDIr5Ej479VmZRlgQ4vu35SIxxZG4o0bJ1htWyNX48mtKUivkMNdKoJGb0Dy60txOLsWq/7MQLC3M5/oHmCVYlKxAMdevhJLPo1FcYMSU0I8seb2KXw+sxvWnUSTsgPxq66yO0nKizvS+GiJ7x6ciXAfFzy4OQl7nlmA5JJmPLftHDavjIZGZ8BTv57tsi6wxzt7zmNLfAmfWHtelA+2PDILUlHnc8AwDCpb2hHs5YxnfjuHfZnV/Pu0TaPD3A+O8k6sAA8nfHHPNMwI98Kktw8h0tcVRfVK3D4jGB/fORUAm/oiTOYCHzcpln5+Am5SEd66aQI/EDXG3w35dW24epw/xEKC5JJmjPRzxdZH52D66hiIhAJEh3vjfJUCvu4SfH3fDCz+JBbjAtyxbsV0XPNFHGaEeUEkFLB5wZzEmG4MweJIKGrE9DBvrLl9MmZ/cBTBXs6IfeVKZFbK8e+tqahr1eDwi1dgzYEcpBrVP7Yoa1Ihu1qBkX5uKGlQQuYq4SMsalvV+M81Y3G+So79xlDU/c8twoQgDyQVN+Hu785gTqSMV8ABbMqGdGMutSkhXhALCarlaqSVtyDulSV4f182YrJrIREJ0KEz8O3eFbPD8M7NEyAVCXHdlyfRpGRzknF52RqVHZAIBXjiiii8/OGTuGfCvTjnHYbE/y6FzFUCg4HBs9vYezs7Uob08hbjPjvfSfGFDbjv+0TMi/KBlzFvGBcVEOLtjDaNjh8M9nASQaHWYe+zC7E9uQzHc+px9OXFNuvXvuLINlh/KZC6hRDyBIAnACAsLKybtS+ORxZEIFzmAqlYgM9i8rB4jB9krhIczanDx3dM4fPvtKi02JlSzo84jR7hBgEhuCs6BNdPZhsu1fJ2/HymFF/cPQ0CAcEXh/N4lREA/O+2SfgtsYzPnr9glA9evmYskoqbsCetCrfPCMbh7FpMCvbE5lPFfEHe9vhcaHR6fBNbiBAvZywe64e/z1WirEmFhrYO3nMeKnOGq0QEASGoaFaZ5fwB2AJZ0dyO2REyNKs6rJwAK2aHoVahxjGjR/y6SQFoVnWgTaPDDZODMD6QHZGKy2tAjaId100KREu7Fr8mlKK4QYmXrxmDSUGe0OgN2J5UhrH+7hg5wg1fHM7DtRMDkFjchPYOPe6YGYwH5obj6V/P4rrJgVhzIAcTgzxw1bgRcHdivfvv78vGhEAPTAr2RG5NK35PrYCTWIBvH5iJEG8XHMmuxWM/mzdm744OQUNbB15YOhp+7lLM+/AYAPZl/k9GNXzdJJCrtNDoDDhV0ACZqwSvXDsWEqEAh87X4KpxI7D+WIFZBy7AwwkuUiEvoeUwdbAEeznjukkBOJ5bh0BPZ1w70d9qWvLJwZ58iB4AjAtwx/NXj8b4QA9kVMpxOLsWN00NQkZFi03lx0g/Vz63AgB+WlcnsQBaPWOmLvJ1k/JJ72ZHyowjWk2YGOSBO2eG4KODOXAWC3HjlCBsTSjFWGPDb/QIN75MRPm6oqpFjXatHt4uYj5nlY+rBAJCEOXrivo2NmmgqaNpfKAHxge445GFkXhhRxoK6tpw+4xg7DpbiShfVxQ1KPHRHZPh6SzGpzF5EAsFcHcS4b7ZYaiSt+OrYwUI9HTizzXcx8U4y0Qbf04uEhGATgdSiLcz/NylvIQ22MsZIzzY7xODPHDdpAD8klDGS3y5BuDoEW5wdxJB0d75nET4uKCkUYUwmQvCfVz4WXnmRsmQUSE3c6iMC3CHWqtHSaOKnbnHXQqdwYDypq6dTYtG+0IqEqK8ScWHQloyJ1KGgro2NCo7cMeMEAR7OWFvZjUWj/HDj6dL8NEdk3HkQh0KjZJjP3cp6ls1GOvvDoGA8DMFAWw98+DccHg4i/HOnvMob2pHlJ8rHl4QiS3xxdDqGN6OkX6u0BsYTA/zxoVqBcRCAbR6A26aGoRahRo/GxVR0eHevAw6VOaM8qZ2RPq6QmcwQK9neKXZ1FAvFNW1QeYmwewImXHkjHUgKYyjLm5SEZzFdQRF1QAAIABJREFUQtw6PRhny5pRWN+GEe5OcJEIodTosGCUL9YfK4C/hxSHXrgClS3tuGNDPNykIjx5xUj8b/8F3nkf4OEEebsW7Vo96hQaPgQwys+Vf4YlQgFEQmJ2L2+ZFoTdaVWI9HWFq1TYpdNJ5ipBk7IDwV7OfGJamasE4T4uVqG7tmZmCfFm6+myJhXatXq8dt04nCpowEg/N7x0zRjsTC7H+ybTbU8L9cKvj82BRCTAIwsj8OiWFNQo1Pw9mRHmjcTiRuTVtCLQi51Vx3QWFH8PKYK8nNGkZN8VSo2ux47OGWFemBUpw/GcOmh1DK5pykezyBmus6ZjSoh9CTpleHAp2mAAsHSCP/46V4l2rR63Tu8crX/mqlHIq22FRqfHHTM6Q4FmhHnj0AuL8OXRAozyczNzHgHsLFKWEELww0Oz4GJMInx3dCj8PTo7vrdOC4bMRWI2m5QlTy8ZBYVai+lh3gjwcEJScRP+a1RAmOLnLsWjCyIxJsAdMlcJHpgTjsTiRkwK8sQnd02x6nC7O4nx0PxITDGGI3MdoGAvZ6ycF44Z4d7wdBHjofkRdhUWQgHp1nkEAA/Oi0BGpZydKGa0Lz66cwrf4Tad9rwnzAyXYd9zC/FrQimSSprwxBVRmBvlg5/iS7Bidpjdzs2kYE/88ugcjAt0h8xFgpunBuGuaFbJ8tiiTrX2b4/PwXhjeJSzRIjP757GhtRbOAgemh8BH1eJmcrFFiP93PDdgzNRI1ejWq7GubJm3GySv+feWaH4Uq7mc6LcMSOEvxfzR/pi0Whf1CrUuH16MKaHeoEQwof0vbhsDPZlVOOpJaN4Jdzae6bhQFY1FO06/L/FI/l3m5+7FE9cEYWsSrmVkuPBueH4/mQRAjylZkrwx6+Iwp60Kswb6YNbpnXafMPkQFTL2yEVCbHmjsk2lR13R4fyuZ2WTwrstVPEFrfPCMGiUb5WZRlgIxwWj/HjQwUtCfB0wo4n5+G3xDLE5ddjeqg3PJ3FuHNmCEK8nfHhgRyzvDSuUiEfCnj/nDBUtrTj/5aPMytft04LhkBAupxh9+M7p2BmuDcOZ9didoQM3q4SJL++FAAwKwJYMtYP0eEyuEqF+P5f0V3WBfZYdd04BHg64XRBA5ZPCsBLy8ZALDRX4RFC+CTcn9w1BTdNDeLvm5tUhB8fnoXsKgXcpCJcPzmQT3x+3+wwnClqxLyRPlh1XWe9Y6pIe2BuGCYFeeKumSFIL2/BqBFuWDE7DKv+zOAT9vu4SrBidhgkIgF+fHg2tieXIbtKAU9nMR5fFIVwH1esmB2G+SNZZeHt04ORVSWHi0SEh+ZHoLGtA9nVCrNclSPcnXDXzBCM8HDC3dEhWDxmBMRCAWaEeWPfc4uQX9uK0f5s36Byb7vdvEMCQvDxHVNw7aQAvLQjHU5iAUK8XXC2tBkvXzMGd0WHgmEYbE0oRVp5C6+UjA73xrIJ/ihtVKLZJN+ou5MYjy2KRGVzO/Jr28AYk3lcPzkAoTJn3D83HCIhwZs3TsDe9GqcKmjA00tG8eGjAPDcVaOw9kg+OnQGrLl9Mm6fEYK4vHqMC3Rn7+OHwLr8vSj57ie+vhAICNavmI4JQR7Yk1aFKD833DTV/D01I8ybr1MalRoICMF/rhmDUSPc8POZUgR6OmNikAf0BgYppU2QuUowKdgTr8jG4fXrJ/SL88jR9JcCaR6AdxiGudb4/TUAYBjmQ1vr9+foF4VCoVAolG648kr2f2xsvx2CKpD6n962vwDaBqNQKBQKxYpL0C66lAwFBVIygNGEkEgAlQDuBXBfPx2LQqFQKBRKXxgmDSQKbX9RKBQKhdJnaLvILv3iQGIYRkcIeQbAIQBCAD8wDHO+m80oFAqFQqFQKBcJbX9RKBQKhULpT/olhK3XRhDSCiDXAbvyBGA9bZFjuRTHuNTH8gXQ0O1afeNSnctwO86luDfA8Ltu9P7Q4wD0/gy244xlGMa9+9UolxJCSD0A02khe3r/+7qerefT0cfur332tG4ZaDst17VnN7XTcfv0BaB18D57s97F7LMn5Xkw2GmJpd20fPTfPrsrI4PFTluY2j6Y7TSlP94xExmGce5+tR7AMMyA/wFIcdB+Nl4CW/v9GJf6WI66/oPkXIbbcfr93gzT60bvDz0OvT+D7DiX6n7Qv0tz//u6nq3y4Ohj9+M+e1SWB4GdGy2+27Sb2um4fQJIGQp2mq7Xk/I8GOy0da1p+bg0595dGRksdnZXTgaznfZsduA+63u6bnd/5unjhz7/DJNjDMSx+ptLdS7D7TiXiuF23ej9oce5lAy36zbc7g+ld/T0/jt6vaG0T0cfuzfr0n3SfdJ9Dr5j033SfTpyn44+NgC0dL9KzxgsIWwpDJ2ZZcCg13/wQu/N4Iben8ENvT+DC3o/KKYM5fIwVG0fKnYPFTttMRRtH4o2A0PT7qFoMzB07QaGpu39YbMj9zlYFEgbB9qAyxx6/Qcv9N4Mbuj9GdzQ+zO4oPeDYspQLg9D1fahYvdQsdMWQ9H2oWgzMDTtHoo2A0PXbmBo2t4fNjtsn4NCgUShUCgUCoVCoVAoFAqFQhm8DBYFEoVCoVAoFAqFQqFQKBQKZZBCHUjDEEJIKCHkOCEkmxBynhDyvHG5jBBymBCSb/zvbVw+jhByhhCiIYT8x2JfJYSQTEJIGiEkZSDOZzjh4HvjRQj5gxCSQwi5QAiZNxDnNJxw1P0hhIw1PjPcn4IQ8sJAnddwwcHPz4vGfWQRQrYRQpwG4pwolOEKIURvrP/OE0LSCSEvE0KGVLuTENI20Db0BpNrzv1FdLHulYSQvZfOOrNjM4SQX0y+iwgh9QNlT28hhNxqPIdxA21LVwz168wx1J5Dju7sJoTEEkIGTW6eoVKuLSGEvG58z2QY6705A21TTyCEhBBCdhvbroWEkC8JIZIu1n+BEOJyKW20x5B6kVN6jA7AywzDTAAwF8DThJAJAFYBOMowzGgAR43fAaAJwHMAPrWzvyUMw0wbagnIBimOvDdfAjjIMMw4AFMBXOhv4y8DHHJ/GIbJNT4z0wDMBKAC8NclOofhjEPuDyEk2Lg8mmGYSQCEAO69NKdAoVw2tBvrwYkAlgG4DsDbA2zTcIe75txfyUAbZAclgEmEEGfj92UAKnuzA0KIyOFW9ZwVAE4Z//cYQoiwf8yxS5+vM+Wy4qLK9UBiHDy/EcAMhmGmAFgKoHxgreoeQggBsAvA38a26xgAbgD+18VmLwAYFA6kQZEDydfXl4mIiBhoMygUCoVCofQTqampDQzD+A20HRRzaBuMQqFQKJThjSPbYAPpveeJiIhASgqNjqJQKBQKZbhCCCkdaBso1tA2GIVCoVAofae8SYWzZc24ZVrwQJtihSPbYDSEjUKhUCiXLV8fL0BKSdNAm3HpufJK9o9CoVAoFAqF0mce/SkZz29PQ5tGN9Cm9CvUgUShUHoNwzD49kQhahXqgTaFQukTnxzKxZ3fnhloMygUCoVCoVAoQ5gOnQEAUNKg7H7lITyQRx1IFAql1+TXtWHNgRw889vZgTaFQqFQKBQKhUKhUAaUUBmb47q4Jw6kIQx1IFEolF6j1bMe9jaNvk/7qWtVI628xREmUSgUCoVCoVAoFMqA4O7EppemIWwUCoVigaMmb7z2izjc+vVpx+yMQqFQKBQKhUKhUAaQ81Vy5NQoYDAM/Gz3/QF1IFEolIuG9HH7ZpXWIXZQKBQKhUKhUCgUykDzS0IZlq89iQ0nCgfalH6BOpAuAp3eAMZREgwKZQjCFX/SVw8ShUKhUCgUCoVCoQxxiMXQekbF8EzTQR1IvaRDZ8Co1w/go4O5A20KhTLgUAcShUKhUCgUCoVCoZhj6VAaLly0A4kQEkoIOU4IySaEnCeEPG9c/g4hpJIQkmb8u95x5g48XPLgLfHFA2wJhTJwMKAKPAqFQqFQKBQKhUKxxXAdaBf1YVsdgJcZhjlLCHEHkEoIOWz87QuGYT7tu3mDF52edqAplx8anR5XfhKLu2aGABi+nnUKhUKhUCgUCoVC6TEW3aLh6kC6aAUSwzDVDMOcNX5uBXABQLCjDBusGIzJX3TDNKs6hdIVNXI1quVqrDtWAGD4VoyUywOay44yVCGE/EAIqSOEZJkskxFCDhNC8o3/vQfSRgqFQqFQLissmpXEpKM09d0YPPRj0iU2qH9wSA4kQkgEgOkAEo2LniGEZBgbOMOqAUP9RpTLGb3FA+Ao/xHtyFMGAlqfU4YwWwAst1i2CsBRhmFGAzhq/E6hUCgUCuUSoDMYzL6b9pPk7VrE5tZfWoP6iT47kAghbgD+BPACwzAKABsAjAQwDUA1gM/sbPcEISSFEJJSXz90Libt6FIuZywdSI6CPlaUgYDW55ShCsMwcQCaLBbfAuAn4+efANx6SY2iUCgUCuUyxmqgfZiGavTJgUQIEYN1Hv3KMMwuAGAYppZhGD3DMAYA3wOYbWtbhmE2MgwTzTBMtJ+fX1/MuKT0VweaQhkKJJc0my9wUMWopx15ygBAq3PKMMOfYZhq4+caAP72Vhyqg3gUCoVCoQxWLFPcDE/3Ud9mYSMANgO4wDDM5ybLA01Wuw1AluW2Qxna4aBczvz3r0yz746qGA3UgUQZAGi5owxXGFZeZ7eAD9VBPAqFQqFQBivWCqQBMqSf6YsCaQGABwFcRQhJM/5dD+BjQkgmISQDwBIALzrC0MECDXmgUDpxVMVoETJMoVAolN5Tyw3iGf/XDbA9FAqFQqFcNljO0i4gBJkVcjz+cwq/LKOixea2a4/k4cHNiTZ/G2yILnZDhmFOwbYAYf/FmzP4oQokCsXx9FUJ0qEzoF2rh6ez2EEWUS4HqAKJMszYA2AlgDXG/7sH1hwKhUKhUC4fLFNyEADP7ziHonolv+z//szEgecXWW1b2dyOwrq2/jbRIThkFrbLCdrhoFA6cZQys685kB77OQVT341xkDWUywU6IEAZqhBCtgE4A2AsIaSCEPIoWMfRMkJIPoClxu8UCoUyaNHpDVCotQNtBoXiEKxyJRNAozUPs/D3kNrcVmdgIBQOjZi3i1YgXa7QJNoUSieOml2A6WMIW1weTQJL6T00JJkyVGEYZoWdn66+pIZQKBRKH3j1zwzsOluJ4g+vH7YzVlEuH6yTaBNodBYOJHcnu9uKBEND2zM0rBxE0P4GhdIJTaJN6Y4Xd6Rh+dq4gTbDJnQ8gEKhUCiUgWPX2UoAdICeMjzQWyR1FRBAo9ObLXOV2tbv6A0GiARDw4lKFUi9hHZ0KZROHDVY1NcQNn4/BgbCIVL5Xi78da5yoE2wC1UgUSgUCoUy8OgMDETCgbaCQukblkm0CYGVAklt4VAy3Xao9GGoAqmXUAcSheJ4HPVcafV0OrehyMn8ery1O+uitk0pacKrf6RflDOov6rz1NIm/Of3i7OJQqFQKJTLDdp+owwHbCnpOiwcSJY5kThYJyp1IA1LqMJycLDrbAWO59AZinvC3+cqcfRCbb/smzgoiM3goHZDB22AXBL+Sa/CofM1Dtvfg5uT8POZ0ova9v5NidiZUmE1wtMT+mtA4IFNSfgjtQKqDtujTBQKhUKhUDqxVG5QKEMRSweSrW6JXQUSzYE0fDHtcMTm1iGlpMns92ZlBzadLKIjz/3MSzvT8fCW5IE2Y0jwwo40PPpTSp/3Y8urLhY5yIHkKAVSL5wIWr0BG2ILrWKTKd3z7LZzeHJrKlQdOnx7opAvG9lVCuzPrL7o/fY2B0JiUSPvOFJr9diWVIbyJlWPt+/vWpq+BSgUCoVC6R7L5MMUylDEMiWHZU4kwL4CaSjlQKIOpF5i2tF96Mdk3PntGbPfX/kjA+/vu4C08hZ+GcMw+OtchZWEjUIZStiSF7tLxQ7Zt6OSJ2p7MYL1a0IpPjqYg00nix1y7MuRz2LysOZADvZmVAEArl93Ek/9evai92fPmVdU34ZkC2c9ANyzMYH/HJffgNd2ZWLF9wlW69nDUY5LuUqLg1mdiiwuN5i+m/JY1qjCmcJGh9jQE07k1aNGrr5kx6NQKBQKpSfoHCVFp1AGEEslnS3HqL22Ls2BNIzprn5rVGrY9UzKy6HztXhxRzrWHc3vR8solK6JL2jo0/ZqrXWF5yJ1TMZDRwn2ehNDrzSGFyk1Oscc/DKkVa0FYLtsWBJf0NCto9DeqMxVn53AXRbOekue23YOAFDV0t6tLRym5a5Z2dHj7Sx5fsc5/PuXVFQ0s+on7vXfXYP4ik+O98rh1RM0Oj2Siq2dbQCw8ock3Pr1aZu/Fda3obIX145CoVAoFEdBQ9iAypZ2NPWhLUIZeEzbuWP83WyWa5oD6TKkuxHryma2AW4qQeM6WVVy2ji/GBrbNGhs0wy0GUOe+zYlIr7w4p1IzSqt1TKBg6Zhc9QsbL3JgWQvzLSkQUnVgv3AfZsSsSW+pMt1LiaPkSW9EbOZFoE7NsSb/dbeoe9xOFxpI7ueZbkZCEn+6n+ycfd3Z1BQ12a2nCvvNQrbCqSrPzuBBWuO9bt9FAqFQqFYQpNoAwvWHMPcD44OtBmUPmA6cCgSCGy2A2kOpMuQ7vq5da2so8NUgiYWspeZetcvjpnvH8HM948MtBnDglo7nceeYGtUxFEhQAaGQYfOAKVGB7lKe9E5xHrTAOEOYeoDU6i1uPLTWLy2KxMMw0Buw2l2schVWhj6yaGg0emh6hh8SqqcGoXZ9wYLR3CLii1TXHXZk3xUaq3jztW0/BY1KM1+e/znFCz6+Hiv9kOMhYn772gHkk5v4Ack7JFT0wqg89py9DRMtI0q8igUCoVyiaE5kFjoZDBDG43OgBWzw5Dz3nKIhITmQKKwXIxSgpOj0fheykDTF3+PvN2GA8lBL3yDgcF93ydg4tuHMHV1DH44XdKr7TmHrVbXc3u4NU1nkuMq9eO5ddiRXI6pq2NQUNfaK1tsUSNXY+rqGHx/sqjP+7LFTetPYcJbh/pl3z3BXrlqsXDA+bhK+M/xhQ2YtvowTuTVQ2R0snMKJIZh7DoRr/7sRJfn2htRXFcO0FPGkM++qNF0Dm4I/uf3dEx+J6bLdbi2h6XDqKeN80lvD1w5olAoFMrlCR1kpwwHNDoDPJxFcBILISAEx3Prrdaxq0CiOZCGLz1VXJg23jk52v7Mmh7lCqFQHMWJPPOKqy/5fmx1pB01YKRnGKSUNvPfY3o5RbzQ6DXoXQgb+9/U4cA5LXR6A45cqAMAFDf0fFYve+TVsk6ouHzrF4kjyKtt636lfsDU+WYKdx059SXH+/su8OqhC9XsNTmeUwex8YX5wvY0RKzahxd3pGHcmwdt7re7PD0SYc9faz2pznvyzHD74c6buyqLP4l1qOrs7zQ2WXlXaiJO/WS5iuk2Eav2IdUtiP/eX8o4CoVCoVB6Ah1kpwx1GGM0hVTE5of1drE90RDNgXQZ0tPQGm60d/6HR/GlSfJsRTfhB5ROpr4bg41xhV2u05uEuZcDZY0qRL62D1mVcgDA3+cqzX5X26m0ekKHjdEhR+UuslQO9TY0jgsZvpgYetOqeq3xWdUZGBy5UAsA6IU/wi5ccn2Zq7TvO+uG8iYVIlbtw7my5u5XtuCqz2Kx5kDORR33lq9O8Z/f3J2Fqz6Lxbv/nLdajwuFlLmK+e9eLqwyKbuaDXn7O60KGp3Bqr7tySx7EpEAaq0eEav2IWLVPuxOq7S7blfFjJMR9yaki1f5mBSq/pCjd6WK4g5tee0sR3dPeEXyn1V0YINCoVAoA0hvZtGlUAYjXHtPKmI7DvfNCbdaRyoS2FUg6WkOpOHBF4fz8MbfmWbLejpQy4UuVMnVuFCtMFne/Q7aO/RYvjYOKTamrb5c0OkNkLdr8cH+rjuztqb2vpxJKmkCwwAbYlnHm2Xnty+dWa2NTuuFKgVu/fp0j3MFxZyvwfK1caizyMXUoTevTHvynK3+JxsfHWTLB6dAyqqUY/naOKSWdl8uGFgf5LfEMgDm4T7CXlTmDMPgjg3xVgoqzkHmJOp7lfvW7ixsMgmFM/2cV9vKq5x2plT0et9F9Up8e6Jrp60pptcwvULOf/4loQxF9UpkmCzj0BsYfHwwh3+296RX2d1/Q1sHbvumc9aw0z1IAi8VCVHf2plr6Z091k4sW/abYjAwfBl4f192t8fk9nPNF3FWIY89cWpy6qBvTxTild/T8dhPyYhYtQ9/prL38NNDufhw/wV+fVMH0rakMjz2Uwr/XWBHgWQ5ursuZD7WhF4BwHoWvYvNQUahUCgUysVgL+Q7paQJEav2IdNGe2I4Qd+7Qx+ubcY5kFxtzFTtKhV1oUCiOZCGHIX1bXhpZ5pZEtcvj+bjl4Qys/XsSf2P59Rh7ZE8/ru9EINfEkqxNaEUb+3OstvJvVCjQE5NK97b233HZbjy5m77nT5ThkqsqKNZeyQPx3PrrJZ7OIkAAK1Gx5FlsuH9mdX49FDuRR3TsgM6OdgTRQ1KpJW3YOrqGNz93ZluO8vfxBYip6YVubXmnWzL2bdsKZB+TynH5lPF/PcfThfzjjKBsRycyKtHTk0r9qTZd0pw8IewkTTHtINe2dyOF3ek9Sj8VK01ILW0GU//dtbm+Thi0rqfz5Ti/X2dzgTTz18eyefPa1tSGd7andXjRsmlmnnuzd3n8U1soZmTx15Y2qt/pONcWQv//dgF6zJviURIzJRFtmYP5LCspp/+7SzqWtVmipxD52t5RZ8lB7OqsSG2EKaPxrcnisxUbT25rtyzteZADn5PreDDJ1/+PR0A8NXxAnwX1+ko1Jg4XF/blcmr5QCTfGAWz6utHEjfBs9BenmLlY00iSeFQqFQLiX2+k2Hs9n328mC/kkBMFigScSHPlxfRsI5kCQiq3VcJEKodXqbbXOaA2mIYDAw+PRQLqpa2vHF4TzsOlvJV1T2ZgPKtNOReHhLMtYe6QxV++hgjs3K8JvYQrz5dxZ+PlOKF3ak2dzX0Cg6/cu2pDKbyzMr5LjCZGakdUfzUdaowlu7sxCXN7xfLqasPZKPh39MBgB8fbwA7+/NBsMwaDd2fBmGwVfH8pFebl5ez1cp8NXxgosa6bAMYZNYqGmSipuQXt4CSw5n12JvhnnulormdvzPRNmx+WSx2TYVze349FCumcP2lT8y8J7xPC3hO83Gji/pgaeG28u6o/lILGrE18cLbK739fEC/HWusstQqJjzNdiXUc13xC2ffa5DvjOlok9hl5b10o5k8+dEJCRmmpqfz5RCobYdgsUwDD6PyeWnqjedteun+JJe2dUbx1hvnlPL5INlTZ35qNJslDWADau0dHZq9QZe+WQ6E6Glo3JfRjU+j8mDxsJZ+NCPSfznulY1Pth/AR/uv4B//3KWV8FxWBZP03dGRkULfjxtXtaBrpWptpK4dxnCZrwX7+w5jz9TK/DXuQpsOlmElBLbIY23fH0aB7LMFXOWDl0KhUKhUPoTrYFBTo0CP8WXoK616xmDE4oarZTsjuB0QYPVbLH9SU6Ngs+ROVTfu3m1rVYz7p7Iq7eaCbY/UGv1vc6Z2p9orBRI1g4kV4kIDGM7ZHMo5UCyPrPLiOxqtjOdUtqEsf7uAIDPYvJww+RAq9wx5U0qJBU3mY32c9hSgqRXyPHBfut1TXGXWifXyq1p7WzMO0KuMATpauaih35MQqPJdPJ5tW24+etTaFFpsT+zBilvLO3xcU7lN8BJLEB0hIxfxjAMtiaU4qYpQfA2mTFqMPOJUVHk5iRCoKcTAHb2q09j8uxuk1PTivGBHr06DhfC9vCCCITLXBCTXWu1zvcni3CqoAGPLYqCm7HifPxnNrzmximdSXtf22UeGno0x/wZqm/V4KvjBbhhSqCVnZmVcitHLp9Euxcv4MSiRv7zPRsT7K4nc5WgsqUdm08V455ZYWa/7UmvwsQgDzyxNZXd53+vBsAqW5JLmjDLWLZM7frvX5nY8vDsHtmo1urxS0IpHpofAZFQYDWr2f/9aX4dR/m5WTnYNFo94Gxd1xTWt2HdsQKcyKvH7mcWorC+cxr7t/ecxwNzw3s8EnKplNd5Jsq1W78+bXOdDp3BqiF2Mr8e7k5ifBNbiPNVCiwe44cx/u5WjR4A2J5cDj9381xVDW0dSC1txsxwb7z7Tzb2ZVSb/d5qktvuz7PmoYMP/ZiMkjU3AABu/oq1+eEFkWbraPUGm44lAFj6eZzVsrd3n8fbN01EmI8Lv+znMyW4YXIgTuazYX6ljSpewdQdlmrXS6VGo1AoFAoFYNv+y9eeBABsjCvC6VVX2VyPYRjcuzEBwV7Odte5GLR6A+7flIhxAe44+MIVDttvV3DnW7LmBquBq6HCNV+wbRSunaNQa7HyhyTMjZJh+xPz+vXYq/dm47fEMvzzzEJMDvHs12P1hM4QNjZ0zc2GA0kqZp1Lap0elr3MoZQD6bJ2IHFywfYOPa9YKG5QoqK5HW2azgf5WE4tHv851a68klOCWGIabmMLW2Xk2rWdnYWyRiVSSpp4B8eZwkaE+bgg2Mu5y/0OddRddF5sSTy5TnVPRw3qWtXIqW7Fv35gVQVcpQewCp23dp9HXF49Nq2c1Ruz+xW1Vo+jF+pww5RAM1WOaRjk2iP5uGFyIAD7SjmOhKJGhMlcEJtbjxumBJr9diq/AVF+rkguacINkwP5KdY5Vcd/rhkLV6kIsTaUJIfO1+LQ+VrUt2rwv9smX9zJmrAnvQqRvq5wEnfGEd/3faJVbifO0cGdd2ppM4oblIj0dQXAvtDOFDbi2okBOF3QgKxKORKLe5Y/i9u3rZnOntt2zuy7aVzzXd+e4cuWqUOjq855zPka+LhJMTPcG3UKNZ757RySSprgLBHi/jnhZjOC2VJiJZU0Yel4f7Nlqg57yfrY/0rj7wX15udXo1AjpaQJ100KtFKbDRTV8u5HHJtVWiv9sVp1AAAgAElEQVTnvVgo4FU+J/LqrWYntGT9MWs12h0b4rHt8bk2Hdz2VF4cOr0B+zI7nU56g7lM+b9/ZWJ/Zs9H0Y7m1CG1rBnv3jyRX8bWW93niOoJ1IFEoVAolEuJqSKjq9lWuTZNdzOy9hauL5FTY636vRQMl9DxFuWlu45FxnbrYJmgiosSkHSRA4lDrdXDchhfpzfQEDZCyHJCSC4hpIAQsqq/jnOx6PQGXoHQ0NaBQpPOk6pDbxYq8siWlC6nTe4L6eUtaNPo0KEz4JCFDK9ZpcWd357hv6/4PgHXfmE9Gj3caLfT4WUYpsfTTefUKHAgs9rmfbt3YwLvPAJYp2G1nH0RceufzG8wy9Ey0Ly/LxtP/3YWqaXNKG/uDOO5Y8MZs/VMO6ldcfRCHW5YdxJP/3YWR03yp6g6dHhgcyLmrzmG57en4cuj+fjMGObEvdy5qdm7mi7918QyfHkkHwezOu3Zn1ndrWPLkg2xhXj593TsNzkvW7NidYawsTZmVsqx5NNYXgb9n53peHJrKsoaVbh/UyI+7MVMY6ahUmqtHolFjdDpDTbDXP/JsJ17ydSBVNXSjuSSJr6TXiNXo6i+DQzD4ImtqbhjQzwyKlrw1K9nkWRMEs81bEydQbG51k6Qk/kNVmFZNQo19mdWo7xJhTOFjbzjiQv3K6hrQ2VLO35NKDXb7o2/MvH89jR8ZSe0DwCIMeC2sN7auTaQcCocjo8P5lrVrxfDiu8TcLQHeZgseeznFDy/vTNk2To3We9ta1Fp/z975x0fR3E98O/cqfcu25JluUju3dg02xgMGEwJNQR+EAIEQugkIZQQIEAInQQICST06lCNDW7ghrGxJVu2JatYtmWr915OV+b3xxWfrDvpVE53kub7+dzn9nZn376dnd2bffPemw4yAYceVb1BGZAGN97S/7rnkwzu+9Q1LzhX+WZ/KVf+azu3vp9Ou8FEWX0bv3prp212R4VC4R6eXZtjm9jBHTz0xf4ut1v7/7V2oVE3vZNG6p++7VFqgBVphTy/rnMu0N6EXBmMJm7/cDe7ezHrrT03vL2LQxXN3Re0UNmo4/q3dnZ6TzlY3shN76Q5fI96f8dRXvn+YKf1VnYV1HDnR3tcfs9yhvX61LXoe/wetSm3gj9+uq/HxzwxR+n2Q9Xc80lGj9J1NOsM3Pj2Lo5UHb8O6Udruf3D3bS2G/nNe+m8tukQyfevZvk/tvLzf2/nWLX5fayisY3r39rJ85bID2sIW5CDHEhWlr20lZcTTubKKVdx0zu7SD9aS0ObocezUHsKt3ggCSG0wKvA2UARsEsIsVJKOaBZoY9Vt1BU28KcMZEdPBjA7B1kfYksrmvtYMlubNOTVeK8I37HmRP48KdjHUKpekOLzsjFr25j5ugIfj5vNA86eXgW17XaYn17MqX0YMVZsuKVe0u6jRFeta+E86aNtLmF/uHcidy2ZEKHMocrOz6klzy3CYC9fz7HlkNIZzBx9oub+fauhYQG+Dp0QxxIjloeUg1tei577cc+y/sh//gL9o3vpLHillNo1Rv5pZ1hDY57Yrz8fT6nTYgGwNcSn+vbjVfKixs6htD99oPdTkp2zep9pZ1ChuzJr2iyzTx1Imc+t5mVt5/GNsv5bj7YtzxZ//3hCM+uzWXZ1BHct2xip+3PnpCg/GB5I3WtenYfPd65KKhu4Yp/beeimaO486wUlr6wGYD19xx3mbaGOllJK6hBZzB2MCD96m3Hno/VTR2fS1edEJ73p+WTuXxuYgejz2l/+76THGv+oa8yirlibiL1rXoCfLVEBh0Ph7M+A9/Y2rW35UBx7tR41mZ1Dq10FPbYW3qT6PJEY19ru5GSuv7P31BUe/x/bNKI0F6PAA6VkdDhiLf0v8DcXzla7fpLkSvY/4/cWtbAF3uK2Zhbyf/SCrll8fh+PZZCoTAjpeTVjeZJSy6bm+iWY5z4TqUzGPH30dr+j6z9n9rm494m1gkkXtmYz19d9Hq/z2KguPfs1A75MruacMMZBdUtrNpXyq6CGn560PUUGtAxV+b3ORUdoiiklF3m8nx3ewGbcit5b3sB955zvC/68FeZ7Dhcw86CGhanxnbY509fZgJw+5kpDmXe8PYuGtsM/OHciYyOCnJY5kTsDTRWz2p7A997O45y79mpLskCc8g/wAPnTyIiyPU0Iideu2v/+xMGk+S+ZRMZGe5a1M7mvEq+y6lACGwRKLe8l05Vk47FqbGsySpjjWUg0mojeGZtDq9cPYe3txV06OdZQ9i0GsGdZ6VQWNPCF5bUONYqq2lu5/nRC80/sitsk6d0ZX/wJtz1VjwfyJdSHgYQQnwMXAwMaAfmiz3FvLghj+tPTeaaBR1zl3T1MvH13pIuX1j9tJo+G48AjloSwu4trHOYfNjKiS93B8s94145UNgnyrVnx+Gabl9s7v9sv+3GBXM41jlT4rvY4zhnPLexw4OurkXPKU99T2p8CK9ePcclGe7C6oFS6KRu+sqV/97ebZlt+WaPPeufWlf3yEBiNcA4okln4Mznj29/2PIH6grr71nE2Sd4/FkNRPZ/JF1x4v72rNxb0mEK+3Necl52Y24lT32Tw8QRod0esyuPITDP2vb8ujybsbQ7jla3sNAucb099rN/dUWwn9YWKnciV8xN5H92o5q3LBrH0inxXGHxvvz1wrHccVYKMx5d1+Uxch5fxkc7jzk0IHkbWaUN5JT2/jm+YGxUtyGYq+44nQkPfQvAuNjgToZzZ9x7dirJ0cG91k3hcbyi/wUwLiaYzXmV7C2sc0tKx+2HqqmwjHAX1bayr8h5P0qhUPSe+tbjL+gDdZ9tzKlgVEQgxZaBkWM1Lewrcvy+VNWo67Fe2w9VExJw/DXYfn9XZaVbBgfrW/U9Pn7TCaHv9l6UewrrupzO3RrOX1rf1uG4VuNaxrG6DoN99qQV1DhMS9Bo0WdTXiUzXcwnZO/p9NNhc33az1pbVt+75/J32RWkxId0W86qc3ZpQ4fjWAf6NuZUMi3BtXyv2aVmw011c7tNVoOl3TvK+QrmAdt9RXWUnZDQ3T5CwfpemRARaJ7EiK4HIbtLIO8tiN7MxtStUCEuB5ZJKW+y/L4WWCClvN1R+Xnz5sm0tLR+16O4rpUL/rG1V1blrvjnNXN67E3x8c0nd/IEUPSeuFB/W8dRAS//YjZ3WPLxTBkZxoFS91mwrXl9pj+ylkYHHnFvXX8S0SF+nbxowgJ8HOaKOWVcNNsPV/Pq1XN4cvUBSrrIcxPgq6FN33/eEWvvXsS5L20hPNC3QwcJYOeDZzH/r9/127Hczanjo/nxkNnIFx/mT3mDZ+4PR8fOfOxcDEYTs/6yHoAf/riE0ABz52bVvhIe+uK4Ye/+8yaxfPpIm9HqzxdM4YbTx1JW38bJT3W8HjEhflQ1tTMyPIDtD5zFVxnFncK6XOHsKfG2GTj/esl0HvxiP7+Yn0RkkDnx9lu/OslprrsTeebyGbYRTneQEhfC13eczqSH1zgt89VtpzFzdATJ968GzMY1a/n7z5vE3yzet0tr8tkQ1dFD83+/OcWW/L2/EUKkSynnuUW4Auh5/wvc1wf7LL3I5UTuCoVCoVAMBRz1o9ZklvGb99O59uQxvHdCygh7Lpgxklfc5LTQn30wjxmQhBA3AzcDJCUlzT161Hll9oVj1S3sK3Zs/TRJqG1uJzTAh6omHcnRwTYPl6pGHTGh/lQ06EiOCWJEWCDVzTqC/X2YPTqCwppWth0yh8X4aTUIYY5JTYgMJDTAl7L6VgL9fKhoaGN6QjgLxkVTVt/Gqn0l+PtoSIgMpE1vorJRh5+PBh+NIMBXi69Wg7+PhrzyRrQaYYuf1BmM+PloCPbzGTRT/PWFxjYDp42PoVVv5EhVMw1teoL8tGiFIC7Mnykjw9lfXE/60VoSIwMZFRFAiL8vBdXN6I0m27WNDunsAmk0SRpa9cSG+hPo50NpXSuteiOhAb4E+GowmiQt7Ub8fTS0tBsJ9tfa8v54kuom8/m0G8ztJi7MH1+thkBfLYtTY20zRZ0/fQTf7C9jQlwIBdXNxIT4Ex7oQ1igLxUNOmJD/dlzrI6wAB90RnMOiWB/H2JC/PDTaiitb0MjBBoBI8IDCPTTkhARyKbcSkZHBTFrdARgrt+vMopZMC6a/cX1BPhqiQ/1Z8E4c6hbaX0r67LKiQ31JzbUn8kjwyiubUWrMY8WTxoRRn5FE6eMjyazuJ6ZoyOobNSRX9FEfJg/kUF+VDe3k360hpZ2I4tTY2nSGThW04KUEBnkR0ObnvKGNmJD/RkfG8LhymZ8tYLRUUGU1bdR36qnrqUdf18t7QYTPlrBhNgQokP80Bslk0eGkVvWSGJkIDXN7WQW13PqhBiqmnSMjw0hs7ieuFB/mnQGyhrayC1rJDbUn7oWczhXu8FEXKg/88dFsXpfKc06A7Gh/oQF+lJU04LRJIkM9kMjBFNGhREZ5MeXe4qJDwuwjTKEBvjSbjARFuiDSZpnlDtW00JSVJAtFloC1sGo8EBffLXmdtrYpqe2RU9iZCAnJUexLb+KVr2RKSPDMJgkYQG+bMqtINBPS2l9G6MiAmnRGdBqBCH+PlRbnn+xIf6EBPgQHxbAroIaAn211LbomZ8cRX2rnj2FteiNEo3Atl9UkB/B/j4U17UwKiKQAB8tWo1gRmI4Ow7XMHVUGCEBPjTrDIyxeLRUNLTRbjSRGHncPVpKSUZhHVHBfvx0pIYLZowkyM+HPcdqqWpqZ2FKjC0EubJRR31rO+0GidEkCQnwobFNT2SQH6OjgpBSsvVgFaMiAtAIYbl/fdiYU8HkkWHklTeSGh9Kfaseo0kiBAT6aVk4IYYN2eVMT4xgVHgAewrrmG1p53sK65iTFElBVTP5FU34+2qIDwtAYA4FPWV8NIcqmmnS6RkXG8K8MZFsOVjFrMQIMkvq0RmMlNXrGB8bTH2rHr1R2kagfDQawgN9aWjTEx7oS1ObAaOURAb5kRwdxIHSBkIDfGlpNxDk54NGQGyoP4mRQRTWtLCvqB6DyURJXRtjooMoqm0hJS6UJZPiAHOCyehgf8KDfMksrudQZRMXzRxFRmEdmX94jEsqszB98w0rM0qIs9yns5Mi3fYMUwYk9+OqAWkg+mB6o4nth6pt+db6A40QIMzf1oT2PlpNl7O3KhSKvmO99/qaI+dEhDD/FxqlxEcjiA4297nsZzf189F0yM3no9VgNJnw0Wjw1Wo65RXs8jw0AiQOc81Y5fbk1bgvzx+NpWNnfZ5pNQKJa3Xs7LjO1luP1ZXs3pyLI7n+lv5gT64LmNuCRoge5R0+sW1Y6c25ONrHus7aNqxpTSoadR3K+mg1SCmJCvZjRmKEQ/k5ZQ2kxoXy05EaYkL8KLzlLjTShHj2WQxGE2GBvkwbFU6gn/Pk231hMBiQTgEelVKea/n9AICU8ilH5d01+qVQKBQKhcIBZ5xh/t60acAOqQxI7qen/S9QfTCFQqFQKAacAe6H9WcfzF05kHYBKUKIsUAxcBVwtZuOpVAoFAqFoicMoOFIMaCo/pdCoVAoFN7OIO6HucWAJKU0CCFuB9YCWuBNKWWWO46lUCgUCoVCoVD9L4VCoVAoFO7FLSFsPVZCiEYgt9uCZsKB/pmPeWBlxwBV3ZbqOe7SWdVzR1Q9d2Sw1bM7Zat6HhjZqp4HRrY7dZ4mpQxwk2xFL3GhD9bTNuHu8j3dx9v0783zZjCfryrfv+V72n5U21Hlrai2M7zLT5RSdj+dsytIKT3+AdJ6UPZ1N+rhTtkun6M36KzqWdXzUKrnQXwNVT2reh5K9dzsLtnq06fr0mX772mbcHf5nu7jbfr35nkzyM9Xle/f8j1qP6rtqPJ25VXbGcbl+7Ov6/mppXrO14NUtrtwl86qnjui6nlgGIz1oep5YGSreh4Y2YOxnhXupadtwt3le7qPN+rfUwbz+ary/Vu+p6i2o8r3FtV2hm75PuEtIWxpcojPzDIcztEbUPU8MKh6HhhUPQ8Mqp4HBiFEs5Qy2NN6KDqi2v/Aoupb0RdU+1H0FtV2hjf9ef29xQPpdU8rMAAMh3P0BlQ9DwyqngcGVc8Dg6rngeFzTyugcIhq/wOLqm9FX1DtR9FbVNsZ3vTb9fcKDySFQqFQKBQKxeBDCNEkpQzpYvsm4PdSyrSB00oxGFBtR9FbVNtR9BbVdvqOt3ggKRQKhUKhUCgUCoVCoVAovBRlQOolQojRQoiNQogDQogsIcRdlvVRQoj1QoiDlu9Iy/pJQojtQgidEOL3DuRphRB7hBCrBvpcvJn+rGchRIEQYr8QIkMIoazKdvRzPUcIIT4VQuQIIbKFEKd44py8kf6qZyHEREs7tn4ahBB3e+q8vI1+bs/3WGRkCiE+EkKoaegt9HM932Wp4yzVlgcfQogz7PsvQohXhBDXe1AljyOEaPK0DoMB1XYco9pP96i24xjVdrpHtZ2+oQxIvccA/E5KOQU4GbhNCDEFuB/4TkqZAnxn+Q1QA9wJPOdE3l1AtntVHpT0dz0vkVLOUknkOtGf9fx3YI2UchIwE9Wu7emXepZS5lra8SxgLtACfDFA5zAY6Jd6FkIkWNbPk1JOA7TAVQNzCoOC/qrnacCvgfmYnxkXCCEmDMwpKBQKhUKhUChcxStyIMXExMjk5GRPq6FQKBQKhcJNpKenV0kpY4UQjwJNUsrnAIQQVwDLpJQ3Wn4/DOiklM94Ttvhg+qDKRQKhUIxtLH2wfpDlk9/COkrycnJpKWpiCKFQqFQeIYFf93AwpRYnrtipqdVGbIIIY462ZQJPCmEiAZagfMB1SkYIFQfTKFQKBSKoU0XfbAeo0LYFAqFQjHsKW/Q8Wl6kafVGDjOOMP88QKklNnA08A6YA2QARg9qpRCoVAMUaqadJ5WYXjjRf+/CkVvUAYkhUKh6Cdu+3A3G3MqPK2GQjHokFL+V0o5V0q5CKgF8jytk0KhUAw1fsyv4qQnN/DGlsOeVkWhUAxSlAFJoVAo+gEpJav3lfKrt3d5WhWFYtAhhIizfCcBlwIfelYjhUKhGFpIKXl2XS5SwrNrc8kubfC0SgqFYhCiDEgKhULhhMpGHX/fcBCTqfvJBlwoolAMd3yEEEXAvcCfhBBFQogwy7bPhBAHgK+B26SUdR7TUqFQKIYgm3Ir2XOsjt+fk0pYoC/3fJJBm15FCysUip6hDEgKhULhhPs/28eLG/JIP1bbbVmDyTQAGikUgxqDlDJRShkmpYywLDcASCkXSimnSClnSim/87SiCoVCMZSQUvLC+jwSIwO5edF4nr18BjlljbywXkULKxSKnqEMSAqFQuGENoN5ZM6VEbr9RfXuVkehUCgUCoWix6w7UM7+4nruPCsFPx8NSybFcc2CJN7Yepjth6o9rZ5CoRhEKAOSQqFQOMFHY35EGozdx6dd/q/t7lZHoVAoFAqFokeYTJIX1+cxNiaYS2cn2NY/tHwyydHB/P5/e2lo03tQQ4VCMZhQBiSFQqFwgq9WAKA3qvA0hUKhUCgUg49vMkvJKWvkrrNS8NEef/UL8vPhhStnUtbQxqNfZXlQQ4VCMZhQBiSFQqFwgs0DSWXIVigUiiFBQ5ue7YeqaVQeF4phgNEkeWnDQVLiQrhw5qhO22cnRXL7kgl8vqeY1ftKPaChQqEYbPh4WgGFQqHwVnyUB5JCoVAMeowmyY+Hqvg0vYg1mWXoDCZ8tYKTkqM4c1IcZ0yMY3xsMEIIT6uqUPQrK/cWk1/RxKtXz0Grcdy+bz9zAptyK3joy/3MS44kPixggLVUKBSDCWVAUigUCif4WVy99S7kQFIoFAqFd3GkqpnP0ov4fHcRJfVthAX4cOW80ZyeEsPuY7VszKngidXZPLE6m6SoIJZMjOWMSXGcMi6aAF+tp9VXKPqEwWji7xsOMmlEKOdNG+G0nK9Ww4s/n8X5/9jK7/+3l3dvmK+MqQqFwinKgKRQKBROsHogtRuUB9JQRkplIFQohgqNbXpW7yvl0/Qi0o7WohGwKDWWB5dPZunkeJth6NypI3jgvMkU1bawMbeSTTkVfJJWyDvbjxLgq+HU8TEsmRTHkomxJEYGefisFIqe8/nuYgqqW3j92rlonHgfWRkXG8JDy6fw8JeZvLfjKNedkjwwSioUikGHMiApFAqFE6zJJh/8Yj+5ZQ08dvE0D2ukcAcqxZVCMbgxmSTbD1fzaXoR32aW0qY3MT42mPvPm8QlsxO6DMlJjAzi2pPHcO3JY2jTG9lxuJpNuZV8n1PB9zkVAKTEhdhC3eYlR+KrVSlEFd5Nu8HE3787yIzEcM6eEu/SPv+3IInvsst5cnU2p46PYUJciJu1VCgUgxFlQFIoFAon+NqN2L2z/agyIA1RTMoDSaEYlBRUNfPZ7iI+SzeHqIUG+HDZnEQun5vIrNERPQ7DCfDVcsZEs6HokQuncLiqmY05FWzMreDNbUf495bDhPr7sDA1hiUT41g8MZa4UJUvRuF9rEgrpLiulScumebyfSCE4JnLZnDuS1u455MMPv/tqcpYqlAoOtEnA5IQ4k3gAqBCSjnNsi4K+ARIBgqAK6WUtX1TU6FQKAae7ly+rfyYX+VmTXrGZ+lFhAT4cO5U5zkPFMcxKhckhZcihBgNvAvEAxJ4XUr5dyHEo8CvgUpL0QellN9Y9nkAuBEwAndKKdcOuOJupEln4Jt9pfwvvZBdBeYQtYUpsTxw/mTOnhLfb7mLhBCMjw1hfGwINy0cR2Obnm351TaD0jf7ywCYkRjOopRYFqbEMDspEj8f9cKt8CxteiOvfJ/PnKQIzkiN7dG+cWEBPHXpdH7z/m5e/u4g954z0U1aKhSKwUpfPZDeBl7B3Lmxcj/wnZTyb0KI+y2//9jH4ygUCsWAY3LRsHD1f35ysyY943f/2wtAwd+We1iTwYHyQFJ4MQbgd1LK3UKIUCBdCLHesu1FKeVz9oWFEFOAq4CpwChggxAiVUppHFCt+xmTSbLDFqJWRqveyLjYYO5bNpFLZycyItz9XkChAb4smzaCZdNGIKXkQGmDxZhUyWubD/HKxnyC/bScMj6ahSmxnJ4Sw7gYNbObYuD5aOcxyhraeP7Kmb1qf8umjeSyOYm8sjGfxRPjmDsm0g1aKhSKwUqfDEhSyi1CiOQTVl8MnGFZfgfYhDIgKRSKQcY3+0sprmvttL6svo2MwlqWTRtJXnkjVY26TmVWpBVyxdzEPr84HCxvpKJRx2kTYkg/WoOfVsv0xPA+yVR0RnkgKbwVKWUpUGpZbhRCZAMJXexyMfCxlFIHHBFC5APzge1uV9ZNmEySuz/JYOXeEkL9ffjZ7ASumJfI7F6EqPUXQgimjgpn6qhwbj8zhfpWPdsPVfNDfiVbD1axIducOykhIpCFKTEsTInltAnRRAT5eURfxfChtd3IqxsPsWBsFKeOj+61nEcumsKOw9XcuyKDb+5cSLC/ynqiUCjMuONpEG/p8ACUYXa77oQQ4mbgZoCkpCQ3qKFQKBS9o7XdyG8/2O1w289f387R6hbynzyPc17c4rDMfZ/uIzk6mPljo/qkx9kW+QV/W85lr223LSv6F5OaZE8xCLAM2M0GfgJOA24XQlwHpGH2UqrFbFzaYbdbEV0bnLyep9fksHJvCXeeOYHfLpnQbyFq/Ul44HHvJICj1c1sPVjF1oOVrN5fyse7ChECZiRGsCglhtMnqHA3hXt4b0cBVU06/nnNnD4ZWMMCfHnhyplc9cYOnlidzVOXTu9HLRUKxWDGreZkKaUUQjgc2pVSvg68DjBv3jw1/KtQKNxGTlkDY6KCCfRz7cWj0oFXkZXCmhYA2o1dWx1a9YM6YmRYYVQhbAovRwgRAnwG3C2lbBBCvAY8jjkv0uPA88ANPZA3KAbx3t1ewL+3HOb/Tk7inrNTB0042JjoYMZEB/N/J4/BYDSxt6ierQfN3kn/3HSIl7/vGO62MCWGsb0Md5NSojOYaG030qo30tJupE1vXo4O9uu1XMXgo0ln4F+bD7MwJabPA1gAC8ZFc/Oicfx782HOmhTHUhdnc1MMLioa29iaZzZ4B/v7cPfSVGJD/T2tlsKLcYcBqVwIMVJKWSqEGAlUuOEYCoVC4RKt7UaWvbSVpZPj+c8v57m0T2VTm9NtWo3AZJTo9F0bkFzMv63wAlQOJIU3I4TwxWw8+kBK+TmAlLLcbvsbwCrLz2JgtN3uiZZ1HRgMg3jrD5Tz6Moslk6O49ELpw5aI4iPVsPcMZHMHRPJ3UtTuw13iw31txmDWvXG48vOvvVGunqEjY0JZunkOM6aHM+8MZH4qFm1hizv/FhATXM7956d2m8y7z07lS15Vdz/+T7WJC0iJmR4GRZa2g1UNOjQGUykxocM2ueQPTqDkfSCWjYfrGRLXhXZpQ0ARAf70dhmYOXeEv5w7kSuWTAGrerMKhzgDgPSSuCXwN8s31+54RgKhULhEu0Gs6Fn55Fql/epbGx3uk0jBGAe8e0KvZ2HkslkLu+KB1RPy7YbTbaQjmadQeUpoHO9uFJeofBGhPlt5b9AtpTyBbv1I+3SBVwCZFqWVwIfCiFewJxEOwXYOYAq9wsZhXXc8dFupieE849fzB5SRg9n4W4/HKxi9f5SmnQGAn215o9fx++oYD8CI+zW+2oJ8tMS4Ge3bLdvQVUzG7IreOfHo7yx9Qjhgb6cOSmOpZPjWZQaQ2iAr4drQ9FfNLTpeX3LYc6cFMfspP5Leu3vo+Wln8/iwpd/4IHP9/P6tXMHvRFFSkmTzkB5g46KxjYqG3VUWJat6yoadVQ26GjUGWz7jYsJ5uoFSVw2J5HI4MGTz0xKyZGqZrbkVbLlYBXbD1XTqjfiqxXMHRPJfcsmsigllikjwyiobubPX2Xx56+yWJFWyBM/m86s0RGePgWFl9GnNw0hxMJVQUwAACAASURBVEeYE2bHCCGKgEcwG45WCCFuBI4CV/ZVSYVCoegtvQlPqmpyHMJmMJosBiTzCE5X3PB2mi1f0VPfZvPG1iPkPrEMf5+ujRrWsnlPnNetno+szOK9HUc5/Nfz2VNYy2WvbeftX53U7X5Dnb+sOsDbPxaQ/+R5Lr14qhA2hRdzGnAtsF8IkWFZ9yDwCyHELMwhbAXALQBSyiwhxArgAOYZ3G4bbDOwHatu4ca3dxEb6s9/fnkSQX5D2yhuH+4mLc+i/npBX5gSy7WnJNOkM7A1r5L12eVszKngiz3F+GoFJ4+LZunkeM6aHEdiZFC/HFPhGf679Qj1rfp+9T6yMnFEKPctm8gTq7NZkVbIz0/q/7DX0vpWVmaUUFjbglYItBoNWg0dv4VwsA60WvM2H41AozleRm8wUdFoMQjZGYYqGnQO0wwE+GqIDwsgLtSfySPCWJTiT1yYP/GhAeiNJj5NL+KJ1dk8szaX86eN4OoFYzgpOdIrDWoNbXp+zK9my8FKtuRVUlRrnhQmOTqIK+YlsigllpPHRxNywqDjuNgQ3rtxPqv3l/L4qgNc8s9t/GJ+EvedO1FNAqCw0ddZ2H7hZNNZfZGrUCgU/YWhm1xFjmhzkr9IZzDZ3Hm780Cy59P0IgCadcZuDUif7zZHm1Q3O8/DZOW9HUcB0JtMZBabXZDXHyjvapdhwYc/HQNAb5R0U92AmoVN4b1IKX8AHL2dfNPFPk8CT7pNKTdS29zO9W/txCglb/9q/rDLw+GuF9EQfx/Omz6S86aPxGA0sftYHRuyy9mQXc4jK7N4ZGUWk0eGcfZkc56baaPC0ajQlUFDXUs7b/5whHOnxjMtwT0ztd5w2li+y67gsa8PcPK4aMZEB/dZZmObnm8zy/hyTzHbD1cjJUQF+2E0SUwmiVFKDJZlQx/+p0P8fYgLNRuDZiZG2JbjQgM6fIf6+3R5D141P4ncskY+/Okon+8p5suMEibEhXD1/CQunZPgUQOL0STZX1zPlrxKth6sZPexOowmSbCfllMnxHDL4vEsToklKbp7Q7EQggtmjOKMiXG8tD6Pt34sYE1mGfefN4nL5ySqZ4Ob2FtYR0ZhHb88NdnTqnTL0B7WUSgUveKOj/bQrDPw5vWD35ulu2TXYDY4PLH6AJmPnotGI5wah3QGky23UbsLBqRfvbWTt341H1+LF4wribXDAn2pbm5n0TMbuy1rRW+UhAWaH+eNbYZuSg8f9CYTgbgSCjgAyigUii5p0xu56d00iupa+eCmBYyPDfG0SkMSH62G+WOjmD82igfPn8yhyia+yy5nw4EKXtmYzz++zyc+zJ+zJsezdHIcp46P8bqZ78ob2ticZ/asyCis46KZo/jdOROHbb6W17ccpqndwD1u8D6yotEInrtyJste2sK9K/ay4pZTelXfeqOJHw5W8fmeYtYfKKNNb2JMdBB3nZXCJbMTujRMWQ1JJothyXjiRx43NhlNEh+NIC7Mv1+9GCeOCOWxi6dx/3mT+XpfCR/+dIy/rDrA02tyWD59JFcvSGLuGPd7JRmMJvLKm9hbVMe2/Cq25VdR26IHYHpCOL9ZPI5FKbHMGRNp64P2lBB/H/50wRQum5vIw19mct+n+1ixq5DHfzaNySPD+vN0hj1fZRRz36f7iAvz54p5iV7veevd2ikUCo/w9d4ST6vQbxiM3Y9aPboyi3ajyZw3R6NF59QDyWjngdS9MWhjbiXAcQNSe/fGndAA82NZb6e37CbESm8w4ac1d/Ab2vTdHmO4oHfRS0wl0VYoPIvJJLl3RQa7j9Xyyi/mcFJy32eQUrjG+NgQxseGcPOi8dQ0t7Mxp4Lvcsr5ak8xH/50jEBfLQtTYlgyKY4ZieGkxIXi5zOwOana9EZ2FdSYc7jkVZFb3ghAbKg/E2JD+OemQ2SWNPCPq2YNuzCb6iYdb/9YwPLpI5k0wr0v9QkRgTx+8TTu/iSDf20+xG1LJri0n5Rm75jPdxfz9d4SqpvbiQjy5Yq5o7lkTgKzR0e4ZHDRaAR+XmIkDPTTcuW80Vw5bzQHShr4cOdRvtxTwud7ipkYH8rVC5L42ewEwgP7nmfMZJIcrmpmf3Edewvr2VdUx4HSBtosk7nEhPizZFIci1NjOX1CDNH9nOh88sgwVtxyCp/tLuKpb3O44OUfuP7UZO45O7VTCJyiZ5hMkmfX5fLapkPMHxvFa9fM8XrjESgDkkKhGOIYXHAvkZgNCDqDOfGyMw+kNv3xHEj/+C7fZR18teZ9mnXOjU7Pr8tlXnIUYQ6Smtp7UX208xg7j9QQE3K8k6w3mmg3mmVbR6AACmtaeH5dLk9fPqPb0LmhiN4F4yGoHEgKhaf56zfZfLO/jD8tn8zyGSM9rc6wJSrYj8vmJnLZ3ER0BiM7Dtew4YA51G2dJTzaT6th0shQpo4KZ3pCONMSwpg4IrRf/2OklByqbGJzXhVb8ir56Ug1bXoTfloNJ42N5NI5k1iUGsukEaEIIfh45zH+/FUWF72yjdevm+t2Q4o38e8th2nTG7l7qfu8j+y5eNYo1meX8+L6PBanxnYZMldU28KXe4r5Yk8xhyqb8dNqWDoljp/NSuCMiXEDboh0F1NGhfHEz6bzwHmT+XpvCR/uPMYjK7N46ttsLpwxiqsXJDHLRSOZlJKi2lb2FZkNRfuK6sksrrcl8w701TItIYyr549h5mjzPTg2JtjtHk8ajeCKeaM5e0o8z6zN5c1tR1i1r4SHL5jC8ukjvTIPlLfT2Kbnnk8y2JBdwS/mJ/HYRVMHzT2hDEgKhWJI46oRwVzWbKhxZkBqaNXbYr8351W6LNfqgdTchQfSy9+bDVJLJ8d12tbaftzw9MDn+zttbzea0FlGohpajxuQfve/vew8UsMV80Zz2oQYl/UdKuhdzH+lZmFTKDzHW9uO8J8fjnD9qcncePpYT6ujsODvo2VxaiyLU2P5y8VTOVLVTGZJA1nF9ewvrmf1vhI+2mnON+ejEaTGhzItIYzpCeFMTQhnysiwHoW+1bfo2XaoyuJlVElJfRsA42KDueqkJBanxrJgXJTD0fmr5ieROiKU37yXziWv/sizV8zgghmj+qcivJiKxjbe3V7Az2YlMCFuYEI+hRA8+bNppBXUcPcnGay64/QO17m+Vc+3+0v5fE8xO4/UADA/OYqbFo7j/Okj+8Ujx1sJ9vfhqvlJXDU/icziej746RhfZRTzv/QiJo8MM3slzRpFqN0+FQ1t7C2qZ39Rnfm7uJ6aZvNMwL5aweSRYVw8exQzEiOYkRjOhNgQj85KGRHkx18vmc4VcxP505eZ3P7hHj6eUMhfLp7KOBV27DLHqlu46d1dHKps5rGLpnLdKWMGlRFOGZAUCsWgo7yhjbVZZVx3SnK3ZV0xIggEIGk3mEg/WsPbPxY4LFfZqEPbwwe80SRtBqSWLjyQ7LU5kV0FtV3uoTdKm9GryW7K2apGcyLuIL/h5X1k9ShzJf8VKA8khcJTrMks4y+rDnDOlHgevmDKoOpADyeEEIyLDWFcbAgXzTQbZqyeEvuLzR4SmSUNbMiuYEWaedIIrUYwITaEqRaj0jSLUSnYEvJiNEn2FtXZDEYZhXWYJIT6+3DahBhuPzOWhSkxjI5ybXa4OUmRrLrjdG79YDe3f7iHzOIG/nDu0M6L9M+Nh9AbJXeelTKgx40I8uO5K2Zy7X938vSaHB44bzKb8yr5Yk8RG7IraDeYGBcbzO/PSeXiWQkuX8OhxLSEcJ66dDoPLZ/MVxnmcNCHv8zkqW+yWTb+fBq1fuz/63eUNZgNpRoBqfGhLJ0cx/TECGYmhve7Z19/MjspkpW3n84HPx3l2bW5LHtpK7csHsdtSyZ4Xc40b+PHQ1X89oPdSAnv3jB/UA7wKgOSQqEYdNzyXjoZhXUsmRjXbcekJx5I7QYTD3+Z1WHdZXMS+Wy3uUNc2aTDWV90ycRYW84je5raDPj6dO2BZG/kcpTv6NfvpnWpt95osuVkarYzIFU2mQ1IwzXHj6seSGoWNoVi4Ek/WstdH+9h1ugI/n7V7CH9oj8UEUIwOiqI0VFBnD/dHHYopaS0vo39xfVkWYxKWw9W2WYXFQLGxQSTGBlERmEd9a16hIAZiRHcvmQCi1JjmTU6otceFnFhAXz065N59Oss/rX5EAdKh25epNL6Vj786RiXz0kkOabvM6L1lIUpsVx/ajJvbSvgiz3F1LXoiQ724+r5SVwyO4EZieHKIIw5EfU1C8Zw9fwk9hbV89FPx1jd0kKcvpkF46KYYTEWTRkVNihy39ij1QiuOyWZZdNG8NQ3Obz8fT5fZhTz6IVTOWtyvKfV80re23GUx1ZmkRwTzH+um+eRe7c/GFwtVTGoaNYZyCyuZ8G4aE+rohhiWKe4d+XF3+CiEQHMHivlltEggIK/LQfgr5dOY+Kf1rA2qwxnh7xo1ihuXjSeX7yxo8P6hjY9fpYcSDsO13DxrATA7Hpe0aBjWkJ4h9nZXPWa6aC3wWSbFa7FLtzNOiObNbytK7bkVXLq+Ghbx/3HQ1XMSYr0+pGkTbkVnD4hxuELh97gmmFomNrXFAqPcaSqmZve2cWI8AD+c908AoeZl+RQRQjBqIhARkUEcu7UEbb1FQ1tZJbUs7+ogcySeo5WN3POlHgWWZL+Rgb3n4HHz0fDXy+ZzvSEcP78VeaQzYv0yvf5SCR3nOVaImt38MdlkzhS1UxogA+XzklgYUpsr2f8GuoIIZg1OoJZoyN4+pU7zSv/vsmjOvUXcaEBvPjzWVw5bzR//iqTG99J4+wp8fz5ginD0vvMEXqjiUdXZvHBT8c4c1IcL101y2HO08GCMiAp3Ma9KzJYm1XOzofOIi40wNPqKIYgBhcMSK54INlCngwmh/mPrC7Em3IrGRfreLQgNiSAsQ5GEupb9bZRpW8zS3nq0ukAnP3CFupb9RT8bTltdgYkV4w9J2L2QHK+X1fbAH7Mr+K6N3dy51kp3Ht2Kocqm7j6jZ+4cl4iz1w+s8f6DBTb8qu4/q1d3L00xWECUZdD2JQHkkIxYFQ36bj+rZ0IIXj7V/P7fcYghfcRFxbAmWEBnDlp4LwSfjE/idT4UG59P51L//kjz14+c8gkaC+saWFFWiE/P2k0iZGee0EP9NPyzg3zPXZ8hXdxyvhoVt+5kDe3HeHvGw6y8JmNJEQEMmlEKBNHhDJpZBiTR4QyNibYo3mcBpqa5nZ++0E6Ow7XcMvicdx37qRB73GrDEgKt5FZ3AB0TACsUPQn9oYXZ+idzMLWpDMgpSTUbgSg3WhyKvP+8ybxt29z0OlNzBodQUZhXYftsaH+jAgPYPfDZzPn8fW29QcrGrF6cde16Kltbicy2I96S7Lr8oa2DkajKkvYWU+obmrvxoDUdT1VWRI25leYp0a26pZb1thjXdxJZaOOqGA/2x+vNdFkTqljPR2FsFU36QgN8O0w04V9DiQpZa/d7uta2qlpbleJJBUKJ7S2G7nxnTTK6tv48NcnOzS6KxT9xdwxkXx9x+nc+n46t324m8yS8fz+nMGfF+nl7w8ihOD2JQOb+0ih6A4/Hw2/WTyei2aO4quMEnLKGsgpbWRzXqVt0NfPR0NKXAgTR4QyeUQYk0aGMmlEGLGhQ28wIbeskZve3UV5g44Xfz6TS2YnelqlfkEZkBRupzvvB4X3YjJJ26xj3ogrBiSDxQPpRKPAjEfXIoEjTy23JdGua2l36tWUGBkImPMOTBoR2mn7iDCzl13ECTOM3PPJ3g6/s0sbONUuYd6Cv37Hv6+da/t9uKq523M6kZveTeOXp4xxur27e9DHco2tnjjeGNJV19LOSU9u4NcLx/LQ8ikAtpeAEw1k1ut5ogFJSsncJzZwzpR4Xr9unm29/SxsRpPER9u7Nn/5v7aTX9HEzgfPIi5MeV0qFPYYTZK7Pt7D3qI6XrtmLnPHRHpaJcUwID4sgI9uPplHVx7gtU2HyCpp4OWrZhMeNDjDRwqqmvlsdzHXnTKGEeHqf0bhnYyKCOTWM8bbfusMRg5VNJNT1kBuWSPZZY38YJcfDSA62M9mTJo0IpTJI8OYEBfSL6kUTCaJ3mRCb5QYjZKwQB+35+haf6Ccuz/eQ7C/D5/cfDKzk4bOf54yICncTovyQBq0tBtNBGi8NzdFq0sGJLMR4cTk1I7sRMW1rU7lxFrCLEwS/H01BPtpaW43cunsBG5cONbWGXVmcJsQF0J+RRMZRXUdDEgAB8sde9D4+WhoN5hs313R1X3mqhHXakDSuVCvA43V2+jbzDKbAck645yzULUTDUjWelh3oLzDevsQNqOUvfpjNJok+RVNAFQ06pQBSaGwQ0rJ46sOsO5AOY9cOIVl00Z0v5NC0U/4+2h56lJzXqRHVmZy0as/8Pq185joYDDI2/n7dwfx1YoOL+cKhbfj76NlyqgwpozqmIusuklHblkjOWWNZm+lskbe33HU1l/TCBgbE8yEuBA0QqA3mo1A5m8T7UaJwbJsv/7E5RNTFYwKD2DxxFgWp8Zy6oSYfs1HJKXkn5sO8dy6XKYnhPP6tfOGnLFXGZAUbqdF53jmqYHmgc/3sf5AOWl/OtvTqnCosomznt/M/35zCiclR3lanQ7YJ52+/q2d1DbrWXvPog5lCmtaWPjMRt6/cQGnp3hu+sm2LvIFtbQbmPLntbbfEki+fzV/OHcity05nnQy+f7VtuWiui4MSHautT4aDaEBvjS3G0mKDmLqqPBudR0ZHkBDq55n1uTyzJrcDtuqLcaREzlzYhxrssq6NR4B/C+9iEBfrUOjWncGJKvxyZov6ur//NRhe7vBROqfvuWxi6byy1OTu9XFHVh1LKptJfn+1YyJDuJodQsA2/Krmf7IWvY/dm6HfdotSbQvfPkHRkUE8PjF0zrJnfnYOuLsrq3eKLHMMk1RbQunP72Rdy05Hq57cyc//HFJp5wTX2UUc9fHGbbfDZYQwL5iNEnGP/gND50/mV8vGtdrOa98f5Dn1uVx5Knz1aw4Co/w3x+O8PaPBdx4+lh+ddpYT6ujGKZcvSCJiSNC+M37u7nkn9t47oqZthnkBgP5FY18mVHMzQvHqdyiiiFBdIg/p07w7zCwajRJCqqbzYal0gayyxo5VNmMAHy1Gnx9NPhqBL5aDYF+Gvy0Ah+NZb1W4KfV4KM1b/fTavA94bdEsudYHav2lvLRzkK0GsHcpEibQWnKyLBeR1+06Y3c9+k+Vu4t4aKZo3jm8hlePxlNb3CbAUkIsQz4O6AF/iOl/Ju7jqXwbpq9xAPpo52FQN9ynPQXW/PM071/safY6wxI9kmndxyucVhmV4F5/SdphR41IHXlgVRS19bht3VGsmfX5nLTQscvMNZ9/nbpdOadcF0SI4Pw02poN5rw1WpIjAykrKHN4Ywjty0Zz6sbD3VY56vV8NJVs7j6jZ86lS+scWy4CvLv2Z9OSICPYwNSNx5FLe3mujGaOo/SAFRa8jI9vy7XYwakhraORhmr8chKo86AzmC0JTyH4x5I+4vr2V9czx/OndRhH5NJUt+qt+V8AjhS2cz0RLNBMP1oLQAf7zpGQ6u5jrJKGjoZkP69+XCXuvYWq9fV02ty+mRAem5dnkUvA+GBgzNsQzF4+WZ/KU9+k81500bw0PmTPa2OYpgzd0wUq+44nd+8n85vP9jNb88Yz+8GSV6kFzccJMhXyy2LlfeRYuii1QjGx4YwPjbErQZevdHEnmN1bM6rYHNeJc+uzeXZtbnEhPizKDWGxamxLEyJJcrFWSLL6tu4+b00S39zIr89Y7zH3zfdhVsMSEIILfAqcDZQBOwSQqyUUh5wx/Gc8c6PBbz9YwHf3bu4kyWxoU3PbR/s5tGLpjJeJTwF4EBJA0+vyeFf/ze305S6f/n6AJNGhnLlvNFdynjnxwJW7SthV0GtbZ315TSrpJ57P9lrfqkTcNmcRH48VMXLv5jDa5vymRAXws9PSupWz8dXHWDiiOO6ZJXU8+zaXF67xqz3f7Ye5onV2SydHMfoKLN3yOVzjycta243EuLvQ7POwK0f7OZPyycT6Kvl/s/38fIv5nR6UPzju4NsPVjJ2JjgbmekOlDSwDNrc2y6dIcA8sobeWJ1Nq9dM4dg/+5vySadgVvfT+fPF0whJb6z+7WUkts/2sNVJ41mYUpst/JOxJG3y4m5kLxl0qr0ghq+2F3Ea/83t5OFv8aJVw/AziOODWNf7y0B4MzJcZ1G9/x8NKTEh5BV0oCvVpA6IpS0o7X4OsiXc9qEmE4GJB+N4NTxjo1tG7LLHa4P6uHU1s5yFz2xOpt/bznMhnsWEx7ky0c7j3GkqpmJ8aHsL64n3hJupTeaeHpNjm2/vUX1fL67yOEzsrFNzy/f3Mni1DjuWto5kecza3LYVVBjexa8ef08FoyN5pdv7qRJZyDIT4uPRsMV8xK5opvnCmAz4HTF46sOMC4mxBbSpjeaOhjEfvN+um05t6yxg+eRlYte/YGzJsXxz2vmYrJU6Df7y2w5sG55L92WRP2PyybxVUYxOSckG3ekq9Ekue2D3Vx/WjInj4vusO37nHJWZpQQFujLyPBAXlyfR7vRxIKxjo3LR6ubeeiLTF69ek6HPB6f7y5iX1E9j140lRfW57Etv6rDDDnzn9zA4z+b5vA5viazjMdXHcDfR8O/r53r8NmiGBx40wBeWkENd3+SwZykSF78+SyvzqmnGD7EhwXw8c0n8+jKLP5pyYv0Dy/Pi5Rd2sDqfaXcvmSCyy+0CoXCOb5aDfPHRjF/bBR/OHcSlY06th6sZFNuJRtzKvh8dzFCwIzECBanxnLGxFhmJkY4NDZnFNZx87tpNOsMvH7tPM6eMnAzTnoCd3kgzQfypZSHAYQQHwMXAwNqQPLVajhS1UxRbStJ0R1HjL/PrmDrwSqeWZPDv6+d50TC8OKhL/ez51gdOwtqWJx63PDQbjDx5rYjAN0akB5ZmdVpXbPO7P2w4UAFeRWNLJ8+km35VTy71hzG88WeYt7YapbfnQFJbzTx3x866vLgF5nsLawj/Wgtp6fE8MTqbPPxsits+9kbkCobdYT4+7Atv4oteZX8xSQZHRXItvxqvtxTzA2nd/ROeWG9efR+V0EtD54/mYgg53/c1jrcVVDDolTnxht7r6y/fH2AH/Kr2JZfxTlTu88L8cPBSrYerOKJ1dkOp08trGll9b5SvtlfypGnlncr70R0xs7eKvWteiLtOix1Lc6NMwPJO9uPArD7WG0n40xlo/PZzP5jaW/OiAl2PBNEckwwWSUNxIcFsHzGSNoNJpZO7vwncfLYaO48cwI+Wg155Y2s2lfabb6mID9tpzxGgd24vWqE68a8ykYda7JK+flJSTzw+f4O226xeLeUN7Tx+paO3jT3rtjLf67r/IzcfazO9jnRgGQymeO/7bnh7TQ+/PUC0o7Wdli/s6DGNQOSC1497+841uG33mii1q6tWnMUAXyXU+7w2klpfnYcKG2gtvn4MYvs8mNZZ+CzN7Z1p+vhyibWZJWx/XA1ex85p8O2G95OcyjnJyeGzhfW5/FDfpXtelq5d4U5YfsD50/iH98dNOt67PhsgTqDif9sPezwOW5vXFOhEYMXbxnAA3Oo9k3vppEQEcgb180bkm78isGLOS/SDKYlhPPoyiyvz4v04vo8QgN8+PXC3nujKhQK58SG+nPpnEQunZOI0STZX1zP5txKNudV8Mr3B/nHdwcJD/RlYYrZO2lxaixxYQF8saeIP362n/gwf9678TSvfYb0J+4yICUAhXa/i4AFbjqWU6yJuv7w6V5iThhpLrDMdJR+tJbbPtw90Kp5JVnFDQC8sC6XFWnHL1+r3Uttb+rq/R1H2Xaoir2FdYyNDuaVq+dw98d7+DKjxLbdVfltDnTJKq4H4Nl1uXy085jD/ezlPvxlJuFBvhTWmENgMgrrKKg2t4cVaYWkHzv+gms64e38jo/2ENZFCIi1Dp9fn8cnaYVOy2WXmsttzqukvsX8svnKxny+snjAdMUxS+jOnmOO226VxXAiZe+uV5uDkMN7V2QQZOcdlWfxuEgvqPHI/XNieNoza3JJiOx47a3X1xFbD1Z2Kd/ZKLm/JVwtPiyA1PhQnrvCsUeaRiO495yJAKzcW8KqfaW2hM/O2PbHM3lhfR7v2d0PNc1dG00Cfc2JvK2hdfakxIVw0M5gAvDOj0fZcrCqk5yvLPdiQbXjOnt5Yz5gDoGyXu9jdmVv+2C32Z3OgrOcTU9/69jg4kobKnAyO501mbkj3t9xjG8zyxxu+3hnIT/Y1UWovw+PXjSV3/3PbIT5y9dZ3V4zRwhhfo7sKazrsL6ywXxf1rfqe3zPGEyywz5plhBSZ9fzlveOG4OeWduxzgtrWs2yUi40r3CgizePwiu6xSsG8EwWjzutELz9q5OUx4TCa7lmwRgmxody6wfmvEiXzE6wzUzaVyRgkhIpzctmp1bz7xPXS8w/TFLarTN7lRtNknUHyrlnaap6PisUA4BWI5g1OoJZoyO4a2kKtc3t/JBfxea8SjbnVbJqXykA42KCOVzVzMnjonjtmrkdBtuHMh5Loi2EuBm4GSApqfuwpd4weWQop46Ppryhjaomx94I4YG+5Fhe5oc7o6MCOVTZTJPO4LBOooL9uq0r+5e5OUkR7D5Wh85gJKe0AX8fDZfPNY98XzhzFFklDRysaML6Px0R5Pq1iLQrOyY6yKx3m56cMj3Bflo0QpAUHURWSQPRFr1jQ/2pbNRRWt9Kaf1xb4L4MPsEuqYudSipa6Wki0TLtjps05NT6vzl39o18ffREBfmT2OlgWYn9e6M2FD/LssnRQX1um2HBfjQ0Hb85fmYE2NMoJ/WI/fPmOggDlc2My42mMOVzTR2U98AM0dHEBviT0p8COuyygjw1SIlHChteaXU5wAAIABJREFUIDk6iILqFuaNieTKk5x7w9y9NJXKJh3LexCTPXt0BNMTwrn25DEAvHDlTO5dsZc/LpvEj4eqOH1CDIcqm4gM9uM3Z4znYEUjD18whb9+k82tZ4wjv7KJvYV1/Gn5ZL7YU8yFM0fxWXoRByua+ODXJ/P8ulzuOiuFN7Ye5tcLx1Fc18qeY3XMHRPJv7ccQisEe4vMRlbrvRge6Et9q56YED+qmtoJ9tcyIzGcdoOJo9UtHbylYkL8aLJ41IyNCe5wvaeMDEMCOWXdt4HEyECadAaWTx9JsL+WFWlFgGvPFXtuOn0sh6ua2ZRbwcQRYTx7+QyeXJ1NXnkjjToDWiFs+re0G2ipMTAtIYzWdiOHKpvN7srJUXybWUp5g9kQGR/mz8WzEjg9JYbpCeHsL67vkBcJYNKIUHy1GvZbDNZg7jiEBfrS2KbnUGUz79wwn8/Si8gqqXd6TsnRne/LhIhAii3PFetzqqt9Qvx9KEdnu55WrNezsKbFdm2adQaSooI4VtPCjMRw2vSWfYIsHpKW/UeGB1Ba38Y9S1NdvRQK78SlATx398E0GsGzl8/EKCVjooP7Xb5C0Z/MSzbnRbp3RQar95f2q2yNEAjMgwsgEMLcB9SI48vWPClCmD/H9zF/I2D+2ChuOD25X3VTKBSuERnsx4UzR3HhzFFIKckubWRzXiXb8qs4e0o8vz93osOcqEMVceLU1v0iVIhTgEellOdafj8AIKV8ylH5efPmybQ0xy78CoVCoVAo+pkzzjB/b9o0YIcUQqRLKVXMuBsRQlwOLJNS3mT5fS2wQEp5u7N9VB9MoVAoBhAP/P8qFP3ZB3OXB9IuIEUIMRYoBq4CrnbTsRQKhUKhUPQE1XEdqhQD9m6UiZZ1CoVCofAG1P+vYpDjFl8rKaUBuB1YC2QDK6SUnbMrKxQKhUKhUCj6C9sAnhDCD/MA3koP66RQKBQKhWKI4JYQth4rIUQjkGv5GQ7Ud1HcET3dx93lB+oYMUDnDKr9dwxvPe/her2HY5vyxnoaCJ16s483HqOn7amnx/DGcx4qx3CHThOllEN/ehIPI4Q4H3gJ0AJvSimf7KZ8JXDUblVvrr0zhoOs/panZHlW3nCQ1d/ylCzPylOyPCuvP2UlAY5nhOq7rDFSSudThPcEKaXHP0Ca3fLrvdi/R/u4u/wAHiPNncfw4vMertd72LUpb6yngdDJW/XqRfketaeeHsMbz3moHMMdOvWmPajPwH96c+2Hsyxv1m04yPJm3bxVljfrNhxkebNuw0GWN+sGVHqjrBM/3pgu/OsB2Mfd5QfqGD1lqJz3cL3ew7FNeWM9DYROvdnHW4/RU3pyDG8956FwjIFq5wrvoz+v43CQ1d/ylCzPyhsOsvpbnpLlWXlKlmfl9aesOi+V1QFvCWFLk2pmlh6j6k3R36g2pehPVHtS2KPag0KhUCgUCoVj+rOf5M4+l7d4IL3uaQUGKareFP2NalOK/kS1J4U9qj0oFAqFQqFQOKY/+0lu63N5hQeSQqFQKBQKhUKhUCgUCoXCe/GoB5IQoqmb7ZuEEMrdXeEyqk0p+hvVphT9iWpPCm9CCLFMCJErhMgXQtxvWSeEEE8KIfKEENlCiDv7IGurECLD8ikRQnzZR93OEkLstsj7QQgxoQ+yzrTIyhRCvCOE8HFBzptCiAohRKbduighxHohxEHLd2QPztGRvCuEEFlCCFNPngVOZD0rhMgRQuwTQnwhhIjog6zHLXIyhBDrhBCjeivLbtvvhBBSCBHTB70eFUIU27Wz812R1ZVuQog7LPWWJYR4pg+6fWKnV4EQIqMPsmYJIXZYZKUJIeb3QdZMIcR2IcR+IcTXQogwF2WNFkJsFEIcsNTNXZb1Pb4HupDV2/bvTF6P74EuZPX4HnAmy267y/dAF3r1+B7oSq9etn9nuvX4HuhCVo/vgS5k9fgeEEIECCF2CiH2WmQ9Zlk/VgjxkzD/v3wihPDrTtagx13ZuV3MDt7UzfZNwDxP6qg+g+uj2pT69PdHtSn16c+Pak/q4y0fQAscAsYBfsBeYArwK+BdQGMpF9dbWSeU+Qy4ro+65QGTLWV+C7zdB1mFQKqlzF+AG12QtQiYA2TarXsGuN+yfD/wdA+ugSN5k4GJPX0WOJF1DuBjWX7aVd2cyAqzW74T+FdvZVnWjwbWAkeBmD7o9Sjw+17eA47kLQE2AP6utv+uztNu+/PAn/ug1zrgPMvy+cCmPsjaBSy2LN8APO6irJHAHMtyqOV+nNKbe6ALWb1t/87k9fge6EJWj+8BZ7J6cw90oVeP74EuZPW2/Ts9z57eA13o1uN7oAtZPb4HAAGEWJZ9gZ+Ak4EVwFWW9f8Cbu3JtRiMH4/nQBJCnCGEWGX3+xUhxPUeVMnrEN2MWCs6otpU96g21TNUm+oa1Z56hmpPCi9hPpAvpTwspWwHPgYuBm4F/iKlNAFIKSv6IAsAy+jumYCrHkjO5EnAOlIcDpT0UtZlQLuUMs9SZr1lXZdIKbcANSesvhh4x7L8DvAzF3RyKk9KmS2lzHVVRjey1kkpDZafO4DEPshqsPsZjPla9EqWhReB+1yV042sXuFE3q3A36SUOksZV9p/l7oJIQRwJfBRH2T1pu07k5UKbLEsu9T2LbJKpZS7LcuNQDaQQC/uAWey+tD+ncnr8T3Qhawe3wNd1Bn08B7oRlaP6EJWb9t/l7r15B7oQlaP74EuZPX4HpBmrP1dX8tHYv5v+9Sy3uX/AOHYM/Z2y2+XPTO7kfeBZV2mMHsj+vZEptNjWaxlHsHy0nFBdHT0xuTkZI/poVAoFAqFwr2kp6dXSSljPa2HwowQ4nJgWXR09I2qD6ZQKBQKxdAlPT1dB9wjpXytr7K6jfceCJKTk0lLS/O0GgqFQqFQKNyEEOKop3VQdEb1wRQKhUKhGHiqm3RkljSwONX9Y2tCiApc9ELtDo+HsAGG7ot4N+UNbaQV9JtHrUKhUCgUA8sZZ5g/iuFEMeYcHAqFQqFQKAaY//vvTn755k7aDaaBOFw0/D975x3eVnm3//uRbMm2vLcTO7Fjx87eg5AwkhASwoaWH9BCgVJKS8solLe0rLdASYEWKPSFsjcUwgoJ2Xs7cRLPeO89ZMmy9nh+f5xhyZZH4m1/P9flS/bR0TnPmT7Prft7P9g2EAsaCQLSqP9G8u0Dpbj7I/r2jiAIgiCIUcMJAFOHuxEEQRAEMR4paRQilVxDEynUzjk/OBALGjYBiQnDpVo551XD1YaBwmhzoN0y6o1UBEEQBEGME8Rg2d8NdzsIgiAIYlzChJchiqQeMM1lOB1IMyEMqzrqsdpdcLg4HM4hsZ8RBEEQBEH0G875j8PdBoIgCIIYj4j6EVzr1o2qGIFhEZAYY/dCGMbv8eFY/0BjcTjFVxKQCIIgCIIgCIIgCILoHSdjvc/Uf2Ywxp4ciAUNi4DEOX+Tcz6Dc75jONY/0FjtgnBktjmHuSUEQRAEQRAEQRAEQYxkJN3INTSSTB7n/K8DsaCREKI96rGKziOLfXgEJK3RBpdraIonCYIgCIIgCIIgCILoP0PkQBowSEAaAKxiCZv0OpQ0GaxY8MxO/GtP0ZCvmyAIgiAIgiAIgiCI88NFAtL4o8OBNPQZSJVaEwBgT37jkK+bIAiCIAiCIAiCIIhzg4kx2i6QgDTukDKQhqOETW+2AQCC/XyHfN0EQRAEQRAEQRAEQZwbkvHIyUaXJDO6WjvEbMupw+6zDb3OJ5WuDYcDqbHNCgAI8vMZ8nUTRGccThde2VUIvdk+3E0hCIIgCIIgCIIYkUi+I3IgjRGaDFbc+8kp/PLDk73OO5wh2vVtFgCARk0CEjH85Ncb8MquIuwvbBruphAEQRAEQRAEQYxoKANpjPDOoVIAgNqn910kCUjmTgKS3enCrz8+iZwa/cA3UKRBdCDZnUPvfiKIzhgsDgCA0eoY5pYQBEEQBEEQBEEMLhkVrT2OiN75/Tq9GdWtJjBROKJR2MYIhfUGAEB0sLrXea12qYTNU0BqNFixPbcBB4uaB76BIg2iA8loHXr3E0F0RhKOSEAiCIIgCIIgCGIsc7SkBTe+cQT/OVDq9f0DhU248Y0jeO9wmTxt2fN7sOLve8dfCRtjLIExtpcxlscYy2WMPSBOf5oxVsMYOyP+rB+45g4dJpsgyPRFmJFL2ByeLiCT2IluNdkGuHUd1OsFAclsP/8Oe5uF8mqIgcFokwQkEjQJgiCGA8ZYOWMsW3wG670OnyAIgiCI86LRIPTF8+ravL5f3WoGABQ1tHe7DNc4CtF2AHiYcz4DwAUA7mOMzRDfe5lzPk/8+bHfrRwGpHK09l6cFA6nCw7Rkmbt5ECSPqs1Dp6AJJ2059thP1LSjIXP7JSdTATRH+QSNhs5kAiCIIaRleIz2KLhbghBEARBjFWUCrEMzXUecTLSKGzjxYHEOa/jnJ8SfzcAOAtg4kA1bLiRHEg2h6vHfCGb23udS9gkUUc3SA4kq8OJ5nZh2Wbb+QlI5c0m2J0cNTrzQDaNGKdQCRtBEARBEARBEOMBH4Ugp9id3jOQpHgjbzFHcgnbeMxAYowlApgP4Lg46XeMsSzG2HuMsbBuPnMPY+wkY+xkU9PIG7HJXZAx9eDusdrdBSRPoUlyYQyWA6mmtUP0OV/Hh0EsX5OcIwTRH0hAIgiCGHY4gB2MsQzG2D3D3RiCIAiCGKv4KiUHUvch2r0xbjKQJBhjgQC+BvAg57wNwBsAkgHMA1AH4B/ePsc5f4tzvohzvigqKqq/zRhwTDYHVOIIbD2JM1ZHTw4kKQNpYDOGtufW48/fZuPb0zUAgLSYIOhNdvx7b3GXNvSGlH/UZqYcJKL/GMRzvr0H0XVHbj1OVbYOVZMIgiDGGys45wsAXAEhXuDizjOM9C/xCIIgCGI0oBBL2LqrWOLc89WdjlHYxk8GEhhjvhDEo085598AAOe8gXPu5Jy7ALwNYEn/mzn0mGxORAUKI7BJQpDD6cIzm/M8yr3cBRtztwLSwDqQXt5ZiM+OV+K1PcUAgNTYIBisDry4veCcR3xrMwttpCBtYiCQznmTKLoW1Bvw0vYCcLe75jNb8vDWfu8jFRAEQRD9g3NeI742AvgWXp7DRvqXeARBEAQxGnCKpWuObkrY+sK4KWFjgmT2LoCznPN/uk2Pc5vtegA559+8wcPhdOH+z08jr7ZrYrrTxWF1uBAZJAhIUhh2WbMR7x4qw+6zDfK8ng6kziVsgqCkN9vh6CFH6VyRco8AQKVUICkiQP67pd16TssazhK2N/eX4JNjFUO+XqJnntuShx259ef1WSn3SxKSNmfV4vW9xbJQCQDadluv4fSjkTaLHb/66CQF0hMEMWwwxjSMsSDpdwCXY4Q+hxEEQRDEaEcaTKu7EraeMpAkxlMJ23IAtwFYJQ4Ve4Yxth7AC+LwsVkAVgJ4aCAaOtDU6S3YlFmLg0VdrduSk0hyIEmB2pJw02rscOtYHR2uI4vDuwOJc0FEGghcLg6t0YpIsW3xYf4I9POR3285x7ylNlE4GuoSNs45NmzNx+Pf0XPtSOPtg2W45+OM8/psu1zC5um+k14tdieMNqdc6jaWyKnWY2deA06Ua4e7KQRBjF9iABxijGUCSAewhXO+bZjbRBAEQRBjDpeL4/W9RQCA9HKt1yiZnr6Ul0Ql53hxIHHOD3HOGed8jjhU7DzO+Y+c89s457PF6ddwzusGssEDhSTodBZ2vjxRhcv+sR8AEBWkAtDRGW4xCu4e95I0dweStdNJ4+6yOJ8cJJOX7CWd2Q4XB1ZPiwYAxIcHwF/VISA1n6MDSRKOhrqEradR3841x4noHaPVgeUb9uBwcc8ljv3d9+1yCZuwHOm87ywkjcWQ7WZRvB0osZggCOJc4ZyXcs7nij8zOefPDXebCIIgCGIscrS0BTk1HdVMb+wr6TLP3gLBrOI1A0l8HU8OpFGNTuzY6jp19k5X6VAvlqB0zkBqER1IOncBqYdR2NxHbzvXHKRTla2Y8/QOnK1rg93pQpXWJLZBEIguSA5HkNoHUyI10KiU8ufcy9v6glS61t8SNr3ZDv05iGRZ1Xqv08uajZj11Hbk1np/f6TS0m4d0WVZ1a1m1OjMOFOl63G+/jrRjJ0cSNK1Il1v0jU02gQku9OFOn33oifQcW3q+ngdVLaYBrS0lSAIgiAIgiCIocHRqWzNm/mjL7jGU4j2aEBvsqOg3tBlus5sk993xz1DKErMQDLKJWySA6lrCVug2qeLe6Pd7STSnmNp2a68BjhcHEdLWvDclrNY8/J+tBptskAUE+SHL+9dhvtXT0WAmwPpXDOQBmoUtvl/3YG5f93R5/kzqzuEDM458mrb0G51oLixHQ4XR3mzqV/t6S8lTe3ntC8XPrsLa18+MIgt6h/StjQZet4md0H1fMQNdwcS51wu92w12dDQZpGP+0gW27zx6bEKrHppf49OPen+0BcH0jsHS3Hxi3vlkRT7S5PBirJm44AsiyAIgiAIgiCInlF2Kj1jPZSieXurYxQ2ciCNKK549QDWvtK1Y+9ewmZ3urA5qxacc48SsMhODiRJvHHvZEslbCH+vl5HYYvQCGVwunN0IB0paQEAbMupx6fHK2Cxu7A1p15uX0SgGtPjghGuUSHAzYHUco4OpI4Stv516LvJDeuW/LoOUa/RYMX6fx3Eg1+cloWO4R4V7hfvpeOfOwvP6TM9leUNN1J5VVMvopi7+NFosGJbTt05lbVJwpAURC8tT2ey4/HvcvCXb4XMK6PV4TEy20inoMEAs92JnG6cc0DHtefNiVfYYJBddWabE89uOQsAKB0g0ef5rWdxz0cnB2RZBEEQBEEQBEH0jKKfSop7CVuNKqjf7RkqxrSAxDlHrV4oR7PYnThY1ISTYsBtRwmbDdty6vG7z04jq1rvEUIdrlGBMcAkl7BJJSruGUhC5zrE31fOfZEwWZ2IDxdGSNMa+y6ItFnsyBKdGunlWjDGMCHED5sya+Q2RAaq5Pn9fN0EJKN3gWBvQSNOVbZ6THM4XbK7aqBCtLtLoO+Mu1CXXiYcE/f9bzhHAanNYsc7B0vhOlclywtOF0etzoyGtr45kNztilbHyMxvahadR029bJN7+dWBwibc+8kp/JBZCwBobLPgs+OVPX7eaHUgUC044tqtDrl0U2eyoaSpXZ7PxdFFcB3JVGkFcTCzBwGpQ2DuKuL+9Yc8WTyrdSuF62u5W2/U6syo14+P0d90Jhs+PFLeJwHSYnfi7QOlsFOpIEEQBEEQBDFM9PTYujd0CpYvuPe8R8Eeasa0gFSp7SiD0hpteOK7HLywrQAAPJwRUse2Vmf2cPBo1D7QqHzQLmYZSeJGpdaEv/6QB5PNIWcgzZsUirJmo0d4VrvVgUiNCmofhdcMpG059fjYyzD26aVauDiwIiUSAHDbBZNxw4J4pJdpUd5igoIBoQEdApKpU6mcNxHn8W9z8PyPZz2muZcRectA+iK9EoeKhNBlu9OFZzfnyZ3UwgYDfvfZqS4unUaDBZxzvLKrEMWN7V2WKdHSbpPdWcfLBLdVbIifLCy5D/veFx77JhvPbjmLjE4i2fmgNdrg4oDeixDgDfeysNKm7h0lGRVafHS03GPaOwdLZbFwoPnudA325jcC6BAWe3MguYujR0uF41KrE47516dq8Odvs1Hd6r280Opwwu7kiA4WnHsP/feMLKpqTTZUt3o6tEZTGZt0L+npWEn72Jso1NBmkctY63QdQk9vJYV9paXdBoPV0S8B8419JcipGbrsMb3Zjr/+kIf8+ja8tL2gz+Lvt6dr8NSm3B7vLxKv7CrCcz+exY/ZI3IsB4IgCIIgCGKUYnf2z7ggVa7laYTBsY6XjY6RnMe0gHS4uEX+vUprQoXWJHcEpTITvdkuZ4dUaE0enVp/lRIBKqVbiLbQ2eMceO9wGY6VtsglbA9dloqlSeH4KqMK/9hRgHcPlcFkc0Cj9kG4RtUlA0lvtuPRjZl46vucLh2hIyUtUPso8Of103FJahR+c2kylqdEwsWBH7PrEK5RQanoqJVcmhSBS9OicPuyyXDxroHdFrsTtXozcmraPHJtJJEmNMAXbRY79hY04snvc8A5B+ccz205i7cPlgIQOs7vHCrDvZ8Iw7t/eaIKm7Pq8K/dRR4lO7U6C1pNdryyqwg/efOI1+PCOUeL0Yrk6EAAwPFS4WIJ8feVBbxzLWGTRhcbiHBmqVPf19G03EWAwgahNK/NYsd9n55CY1uHWPDR0Qo8/2O+/LfV4cRzP57Ff09U9bvN3nh1dxH+c0AQNKX92ptg4b7N0nFpMAjb0Ci+dpdPZRSF1pggPwDAwaKOEd8K69thc7i8zj/SkRxpQPfh74BbCZuX86bFaJPFOWlZSZEaNBk6zo+sah0e+ya7VyGlyWDFfZ+d8rjums8xwLszze1W/H1bPu784MR5fb6v/O8PuThSIpwXO3Lr8d7hMqx75SBe31uMqm6Eyc5I93D3Lwi6I7tGEPx6qkknCIIgCIIgiHPF7ui7w116FPXmoPd3Cc/v5xvCPdSMaQHJX6VAkJ9QTnOsVAvOhc6w1eGUy0wMFgeKGgQBJ6+2zePzASolAtU+sqjU0m6Dr7KjI1KlNcvf+PurlJg1MQR1Ogte21OMZzbnobzFBI3aB2EBqi4ZSB8fLUebxQFfpQL/t7fY470jJc1YnBiOGROC8eFdSxAZqMaCyaHwVTI0GqyI0Kg7bacSH9y5BIsTwwF4locBQEWLCVwsGSp2KyOSRJqJof4w2Zz48zfZ+OhoBXbmNaBOb4HB6pDFNUl4OFOlg8vFPUKwc9xGTKvVmWWxrLvObJvZAbuTI0UUkIpEAa3N4pBdHJIj6sfsOtz94Qn5YvvrD3l4+0Cpx/LsTleXUb76Q9M5dsbdRZl8MbB9R24DtmTXYcPWDsGoTmeB2e6Uz6eaVrNwTrYNTulRY5sFdaJjTCqvarc6erw56c12KJgQIC+NRtggLkPazrJm784PaTviQvy6vJdV09W5095D7tb3Z2rwhy/PdPv+UFKnN8Ph4kiMCECNztztaIMt3YRoO5wutJoEh5DTxVGjM4MxYNbEEI9z58fsenyeXulRRuuNw8XN2JJVh8OiECMsv3/n//m44FwujlveOoYVf9+D46Utvc5vsTvx/uFy3Pr2cQCeQfoAut1us82JW98+howKQdCUygmr+iAgSSLTQJXojiUe+SoTHx8tH+5mEARBEARBjErOJyLBvVJI+tXfKY1iPTq+XB/TAtL18+Px4/0XAYD8rTfnQsfdXRzIqxOEo85Dxwf4+mBimD+qWgVnksHqQFKkRn6/UmuSXRRqHwXiQvy65Lq4XBxhGt8uDqRTlTpMiw3C5TNjkV6uhcPpAuccWqMN+fUGLEuO8Jhf7aNESrQQrvWzCyZ53d5JYt5SeadgXvcOf3qZFnOe3o4fMmvlTlV8mL/QVlGk+b99JfLIddWtJlgdTtS4ld3MfGo7TpS3Yl5CKAAg263spU5v9nBAebuwmkWRKCUq0GO63mTrcCCJbfvPgVLsOtuIB744g1+8l45PjlXgvyc9HTvuwp+3DCiXi3cp6ztb14ZZT233WgYjdep1ZrtXlXhLVh3WvXJA3jZJcAoN8EWpKNApxSvL3SUhhWxLy5fe62vW0rlgtDpgtDlRp7PA5eIe+6XZ0LWj7nRxNLRZ0NxuQ4i/L+bGh8rvSUKS1O4nvs/FDf93uMsypA79TYsTcP/qqfL0AJUSFnvX86CnErY9+Y349nTNOQV4DxaSYHHZ9BgAwNn6ti4j1JltThhtTihYV+Gx1WQH58K9x2Cxo05vRlSgGhNC/dDUbpXPsTq95/nRfXuE/VxQbwDn3KMs0VupbF/IrBKu4ZhgdS9zdtBqsuFoaQuqW83Y1oea7c7b1dnN1d12p5drcaSkBfsLm2FzuOQSyqrWrqH1dqdLdnA5nC7UiPNIAv47B0txyYt7BzzAfW9BI2Y+uU2+z7tcfETkLh0pbsbUv/wouwcB4FcfncR9n53CxoxqPPF9rjzdNsqGkCUIgiAIghhs9uQ34Pb30uVnx19+cAKJf9qCPfkNsPXwrGexO3Htvzv6S1+cqMKXJ6vgcOuTSv3THeEpAAamkmYoGPNPjBGBUs5OR01hVavZa5lJSaf8Gn+VEqkxQShsMGBnntBBujQtumM5WhMyq3VIjtLAV6nAxFB/+T2pA61UMoQFqNBqsssdRAAoazYiOSoQ02KDUN1qxuUvH8BLOwpwVhSz3DvwEq/dMh/v37kYty9L9LqtU2MCwRhQUC+IGBa7E1qjTR7pKUClxPuHBefTi9sL5IDxC5OFrCVJyCioN8hOGhcXtrNOZ4aPguFPV0yTRbKr5sQB8BSQduQ2yCU6QEdJlzuSSDQlqkOMC1L7QGe2y06ZNosdlS0mZFYJLoVNmbXYX9gEm9OFkqZ2lDUb5ZKoCjeRxpsDY8nfdnUpzdmUWYt2qwPvHy7rMr/UkbU5XF6Fj0PFzcivN8giW5PBCqWCYeGkMNmxJbVDEo0kgcZ9+VIHuP4cHEhNBmufcm4kF5rN6UKLURDmwgJ8hWW0d13fn77OwtK/7cbn6ZWigBQivyedF+5CxalKnUeZYUu7VT7PUmOC8Ic1qdCIowMmRnQc5y/uuQDPXjcLQM83ySaDFZwL7rnhRnLtXTZDEJBufusYbnn7mMc80v6ODwuA2e70OEbu4p3OZEetzoIJof6IDvKD3cnle5F03fSWUyWVehU2GPDJsQose36P27q6nv/1ekuPgonWaMN3Z2oACMH/fcW9nT2V9nmb32J3yvc6+f1uBKQjxR0lb6mPb5XvTVVaEyx2p+z8AoBLX9yH3356CoBw3KT/0ZJD69ktZ1HRYkJ2jb7HElXO+TnlUz3yZSaMto5temRyzIyGAAAgAElEQVRjJmY9tX3YRhpsaBOO+cfHKmB3cjkLjXOOnXkN2JLlmQlVpTUhdenD2Bg5cziaSxAEQRAEMSK564OTOFDYBKPNCYvdid3iM9U9H2V0iedwJ7/eIPdjJR7dmCXnJwNAQrho4hC/xCMBaYQQoPKBvzhKWVSQ8O16ldYEvdmOyMCOb9tD/H27fFblo0BaTBAsdhf+vbcEscF+WDszVn6/rNmI9DItloth13FuAtLamTH46t5leHRtGsI1KpQ1G7Hs+T3YkVsPu9OFSq0JSZEapMYIrqJScVmSKJEW23Uov5ToQKx0E7C8beuk8ABZtPnjxiwseGYnsqv1iA5SY82MGFngiAxUoUprAmPAFbM6tikh3B9muxPpZR0lKaVNRtTqzZgUEYB7L0nGLUsSAAiODH9fpUfw7smKVjy6MUv++/U9xfI38VaHEwX1BrnDFx3UUer0k0Xx0Jnscme7ud2GJzflgDHAR+GZX8I5sPKlfXhqkzCqlZQzFOTn06Xz7XJxNLfbcKCwyaMz1yp2tI+UtHTp5Ll3HL11MiVHl1SC09hmRYRGhZToQJS3mOB0cbkjX6e3YF9BI5oMVllxlpZfLQpfze3WLo6W7rj85f1Y/OyuLiWRnXHfhlqdGc3tVsyaGCK2X1ivxe5Efr3Q4T3jdoNzuDjmJHQImC1GK+xOV5cR3A4WNqNGZ4bN4cKalw9gw9Z8aFRKWaj66SLhPJkxIRiAcG5dMCVCdtf15EDqqVzuZLkWewsa+7zP+sv2nHokRgRgaVK4PO1Eeascvl/caJCvuZnitrqfN+6ipt5sR63OjAmhfvL9SNpWKay8dweSIDQV1Buwv7DZ473WTgJScaMBF27Yjb0Fjd0u7xfvpctCXZPBiqIGQ68iZZXWhEKx9Hf2xBDk1up7PR7u27UjrwF2J8cUN0dntwJSiXAvkoQjiYIGA67/vyO4+IW9SC/TotFgQY1OcEOVNLUjv65jfsmZpfIR/uVd8/phrH/1oNf12Z0u/P7z07jg+d3IdhPG6vUWryPdmW1O+XqXXr85VQOrwyWL6yVN7T0KVjqTTXYv9peSpnYs/dtuvH+4HGHiQAXS9d05yB4QBETpXvZIyvo+j6RJEARBEAQxXmg12jye5Rwu3mOItnvsjTsWt2fszt8zdh7RfaQy5gUkAAgUc5CunB0HlVKBKq0JOpMdk8I7BJ9r5k4A0PVgS0JOcWM7rp4bh4WTw7D9wYvxi2WTUdTYDpPNiQvFDvGE0A5BJCE8AIsTwxEaoPIYMW3D1ny8fbAUThdHUqQG09yEogLR1RKuUSEysOMz50JqTBCOlrbgYFGTPPz61px6TI8LxtVzJsjzNRqsqGo1ITbYD9HBfpgcIZS/SSO/HS1tkUvUSpuNqNFZZIfVs9fNxrYHL0JipAYJ4f5y5/OzXy2FSqmQg8X/sCYVW3Pq8d1pwd3w4rYCrH3lAF7eJYzcFhmogq+SYUqkRl62dCGVNRuxr6AJf712FmaKwseUKA1mTQyWt+HLk9UoazaiXm+Bn68CSZGaLg4kd0Hp3UNlslNE6oyWNRtR0tSOOr1Zzlhx/4z7kOxWhxM7cuvlkdayxLKfpnYrooLUSIrUwOZwiaP5dSzjjvdP4GBRU0ebxHISqYSN895dJ4Bw42o12dFmceC9Q12dUx7b7dYZf37rWZhsTqyeFo24ED9sFUekemVXEa5+7RBajTZUtJiwMi0KgNDJnBcfigCVEgsnh4Fzoa2GToLPfZ+dwk1vHsXJcq1cupMQHiAHFj9x1QzsfOhiPH3NTHxw52J8fNdSAECgWrgeJQHJ6eLYllPnUfIj7Y/STuWY1a0m/OTNo7jz/RPYntvQ6z5zx+F0YVtOfY8h1UeKm2XXGCAEhx8pacbVcyd0CWJ+aXsB8uvbcPVrh/H4d4KYKYl03gKupd+rdWbEhwUgKrBDQHK6uOxEcy83kjha0iIvRzpvyluMHkIvIOQjuQsR+wqa4OLA6UrvGUdOF0d+fRvmxIfg3kuSYbA6sOblA7jilYPdlg9yznHzW8fw2NeCULx6ejQsdpcsKHVHo9s5uemMcG/62QWTZYG4qd0quDrdxEy9yY6cWj06Z2BHB6lR0WJCWXM7wjQq/HFjpnw9AsDHRytQ0GCAr5IhLSYIOpNdEEbcDn2NztxFiLU7Xbjv01PYnFUHHwXDSzsK5Pce+OI07vISMv6teH8DhLwwdwHmh8xamGwOXPPaIfx9W36Xz0pc9s/9WPWP/ect3pyubEVFixFHiptxQnTbfp5eKYvrkgjnzSlW2GDwcPodL+s9z4ogCIIgCGI8oTPZu0RF9BRX0J07yewmEnX+PDmQRhBSZ3pFSiRmTAjG+0fKYbY75XK052+YLX8zfdWcCbh6bofQMjWmI6fnlyumABBEpYlhHeLTBVMEASlSo4avkiHE3xfBfh2OpvCAjt9Lm414YZvQKUmKEoSTALHUp83iwIGiJqTGBJ73qEEp0YHQGm247d10eVpylAbPXT8LF6dGYWKoPwLVPqjRmVHS2I6EMEE4miOWzEnlbBa7C4sTw5AUqcE7B0tR2tQuhyMrFQzTYkVXifh5AJgZF4IrZgtupgCVEr9flYLJEQF491AZ3jtUhs/TKwFA7miGaVQ4/eTl+PGBizwcYBPE9QSolPjZkkm4NDUK02KDsPn3K/Dlr5chNSYQF02NhEqpwMs7C9FgsCI22A+RgWq0GK0obmzH92JJjnvQ7rNbzuK13UVwuTiKGgxYniIctzNVejzxXS5uezcdNocLDXoLJNOTe57N1xk1uOfjDLkjfLqqFZxzlDUbERfij0TRTVHWbERLuw3T44Lx1m0LAcBjGPFNmbXYsDUfpyt1smDpzdnQmbKWDjGlqJchzN0FqWOlWqyZEYNbl07GVXPicKCoCU0GK74/UwO7k2Nbbj1sThfWzYpFoNoHNy2KR0iAL478aRV+c0kyAMgusw03zMaZJ9fIy67RmfHbz07Jf0vnMiCcJ1NjghCo9sGladHy/tGIApJ0k3xzfwnu/eQUvj1dg0aDBR8fq5D3e1mnslJ3IaRzZllvfHOqBvd+koH9bmKeO3anC7e+cxzLN+yRRZit2fVw8Q6B+Y4LE6FRKbEyLQpbc+px1/snYLY7USeeM0tEl9IxsRNf3GjAR0cr5HWkl2thc7gwc0KwfD2drTfgxe0FsnjQ2YmjN9nx83eP4/kf82F3ulCnN2NGXDBcXLhnSCgVDDvyGvDYN9nytKOicFBQ37WUFBDcaXYnx8+WTkKyW0lpabMRX5+q9vqZ+jbB6WMU/wGuniaU9uXU6tFqtOHjYxWyMLUtpw4Hi5qwYWs+duZ1CH77Cxuh9lHgjgsTkf6XyzAtNghNBiv+uDETd390UnYFHi1tAecdwrbEz5ZORpCfDz64cwnuXpGEihYTtmTXQcGARZPDcKSkGYX1BiRHBSIqSI3ixna8tKMANqfL4xw91in8+/P0SuzIa8CTV83Aby9Nwf7CJjSLOVW5tW3Iq2tDkVtZrsXuxGt7irBgUij8fBVoaLN45J7tzm/EzrwGGG1O7C9owsdHy7uE5gvioPBA4n5Ob8qsRYV4zQsB5GVeRb0mgxW3vn0cd394Ej979zie2ZwHQHA/Stl1FS0mFDe2ew1LL2wwoKzZCCUXHmLcnVsE0R++OlmFJ77LkZ2uBEEQBDFaEUZaL/SY9q/dRR5/v3WgFK/uKsJzW/Lw529zvC5ni1ufsPOXrz1VZ4wkxoWAJLFkSjhev3U+pkYH4o4LE/G7lSko+dt63LJkEtbNisXEUH88sjYNr90yH+UbrgQglIWtTIvC/atSEOs2utTixHBMDPXHp3cvlR1GCgVDXIi/HGYtIZURLEkKR8bjl8nTp0RqoFAwXDErDstEEapOb5HFmfPh0tQouZ4SAHY+dDF2PnQJ4sMCoPJR4OCjK/Hc9bPAOZBZrUe8OO8Vs2IxLyFUHskNANJig/H27YugVDAYLA5McCvRk0h1c1AF+fnIglKIvy8YY7hqThzy6w346+Y8GG1OPHHVDHl+X6UCgWof+PkqPVxay0QRKyU6EAoFw0NrUrH1gYsQoPJBgMoH2x64GB/dtQR3Lk/ED1m1OFDYhOhgP0RoVGhpt+H5H8/igS/OIKdGL+fFSPukoMGA+z47BaPNiStmxUGjUuJgURP2FzbCZHPijxszkV6uxdIk4Xi4WxWlUa8A4VgWNrTjwf+eQVmzERdMCZfLcUqb2tFstCEyUIXLpscgUO2DvQWCaKFRKXGqUoe3DpRAa7Jh/WwhR6ovQdqSmDIlSiOXIrpzolyLl3cWwuZwoclghXvl3wZRJP3JQqGs7Lp/H5ZHaJMcYokRGmQ9dTle+MlcAEBogEp2pp0oFwSR2BA/j2M1NyHUQ2Rr7ENuTIBYUvr81nzsyW/A+4fLAQCF9Qb8e08xnviu44b7VUY1vnETMrKqdVD5KDAlUuM1X6snvs8UtlPK1PF470yNRx7W0z8InfBNmbWYFhuEqWKp6dPXzET202vxzi8WY93MWDlHDADiQvyxaHIYFk4Ow+t7iqA32fGbT04ho6JVnuegWHI2Nz4Uk8IDEKT2wTOb8/Dm/hJ5HklA+jG7Dtty6nCsrAVOF8eO3HqUNxvh4sDtyyZ32QZJgMqqFsrJjFaHnP0m7avMKh1e31Mku7Akh1dSZKBcUgcI9ybJJdSZTDenj7+vEjMmBMPPV4HCeiGT6YnvcrApswa3v5uOez85hd98cgpv7i/BgcImRAaqsHByGOxOjqkxgVAqGMI1KkQFqZFTo8fxMi2aDFZ5vx4taYa/r1J2T960KB6lf1uPBy6bitNPrMEFUyJwoSgufXu6BqkxQVg9PQaFDe04VNyM1JgghAb4olJrwhv7hH38/h2Lkf/MOgSolNiT31HapzPZ8NqeYixJCsedyxOxKDFM2Hf1BtTozPI/9R8ya+Fycby8sxAfH61And6C36+aithgP9S3WWSxbs2MGJQ2GfHZcUE4r9GZ8cT3uXh0YxZe3J4vlxtuzOg4vyWnUI3OjPs/P41/7izES9sL8H97i/G/P+Thxe0djiiJN/aVwGx3oqixHZxDFvbarQ6crWvD2pkxYAz4+lQ1NmV6HlNfJcOR4haUNRuxyFCNcLvpnK8rguiOjRnV+PhYBda94r1clCAIgiBGOqGiEUQaqdwdb9mjL+8qxNsHy7pkfUp4e5aTGAmDB/UFn8FaMGNsHYBXASgBvMM53zBY6+qNF26cg5xaPYL9BGfQFnFkNncWJ4bj8J9Wef38+3cu6TJt/qQwr/PfsGCiXKIjIYVlJUVoEBGoxuu3zsfW7Hq5I/6Pm+ZCZ7Jh3l93AgBWTus+56g3lk6JwMFHV2FzVi02Z9YhJdrTzaRQMEyJ7HBVSWLX+tlxWD87Di4Xh6+Swe7kSIsJQkp0IL789TL8z9dZXVwAALB+VpzcMVMomCzUSGVsNy+ehMwqPRZODkNOjR63LEmAkqGLABLq5tKaHid01ieEdAhWnbcBAH510RT850Ap9GY7YoP9EBGoRp3eInfA/7GjAPMnCZ3AnQ9dgse+yZbLTQLVPrh4ahR+mFiL7906yt+fqcXFqVH432tmYuVL+3DvJxn46tfLsGBSmOzmAICnrp6BT45V4PN0YUS4ZckRiApSIyZYjSMlLWg2WJEsCoQzJwTjeJkWiREBKBdLRV78yVzcuDBedALVol5vRkObBc9uOYvHr5yOmOAOsfK/JyphsDigM9mhVDBcPDUKn6dXwuXi8r44VdmKn79zHFaHC4UNBgT7+SIiUI21M2OQFhOECLFcKi02CG/dvggbfszHgkmhqNdbZJEhKUojL09iSlSg0NE+K3S0JZHh2etmobixHY+sTcNfvs3G8uRI7DzbgDsvTOxyjnTGfR13fXBSdmGdrtLJjgsAuDQtCtnVevzpm2xcmByJ2BA/ZFbrMSMuGPFh/nJuS0aFFhszqnHx1Cjk1rbhkbVpAICXdxYiMkiNM5U6LJzccfwOFwuvO/MakF7WgocvT8Ofv8mWO97XzZuA787U4ptT1cioaMUfxeV1bv+KqZEeo48lhPuDMYY/r5+OW946hp+/e7xLQHpeXRtC/H0xOUIo9ZsdHyKLBoAgvDYZhMypv3ybDaVCgXWzBIePwerAhq1CGdTMCSH47O6leGN/Ca6eOwEZ5a3y6IRmuxO3vnMcDW0WmO1OLE+JwOHiFtz81lFkVethsjmRGKnBVXMmoEx0WiVFajxK566dNxGv7C7Ejtx6bM9twHPXz4KfKPy5u1iigtSC0yw6CAUNBjjEWvCXdxbJYmK71YGVaVHYW9AEf5USFyZHIKOiVc5/k5ZzsKhD2Hvg89NYMyMG+wqbsCQpHEmiOyotNlje/z7iUIdTozvuZ+tnx8nOQqvDhbTYoC7uvilRgfDzVeKauRPwxYkqlDebcPXcOHyWXgW9yY7HrpgGxpjcvvx6g1yvHq5RYVNmLZKjA/Hq7iIomJCrtCw5AjHBfticVYfNYkD1jQvisTOvAcfLtLg0LQr7RBF5f2ET9hc2Ibe2DTFBfth1tgHrZ8eiuLEdh4ub4aNgsqj6Q2YtXByyGPzliSqkRAdic1YtpkYH4bH10/BVRhUWTg7zECqjgtTyfXBuQijazA78Z38JXBx45rpZeOK7HPgoGG5dMgmfn6gC5xw/MbeCcaCgocOBS4xORsrzl/v/dYIgCIIYjXTO4pV49eZ5eOCLM12mP3J5Kl7q5FTqK6efvPy8PjfUDIqAxBhTAvg3gDUAqgGcYIxt4pznDcb6euOmxQm4CQlDsq4HL0vtMm3d7FgcLW3Bo+uEjuhVcybgqjmeD+mhASrccaHwrfclqVH9boe3dUikxgYixN8XerPdY+Q4oMNFVdVqksv3Jkdo8MU9y7wuyz2TCBAycIAOC15CeAA+uXupxzx3LE/qspxQtxI2KZAszi1TyhthGhVmTwzBmSodYoLVcm6Uw8Vx5ew4bMmuQ4XWhOggNfx8lXKH0EfBkP6X1QhQ+WB6nCDuSJ1sQBCHJKGEc+Dx73Lw9xvnQGu04dcXT4HWaENqTBD+tG66LCBNjw0GYwxXzp6AT45VwOZ0ySMASmHtv181FQ9/lQkAuHymIApEaFSy6HS2zoAfMmsRqFbi+RvmABDycJ7alAsXF0olE8L8kRoTBKvDhbq2jlyq9w6VIUClxJ3Lk/Dm/hJEBqoRFaTGs9fN7rLfVqZFy2Hs939+GpsyaxGgUsqZPO4oFQyzJoQgvVwLtY9CHlHt5xd0OGBevXk+AOE66yu/vTQZ0UFqZFXrce38idib34gPjpR7zPOHNakIC1Bh5Uv78MzmPLz007nIqdHjpwvjERWkxuasOhgsdvzl2xzk1xuw6UwtjDYnChoMiNCo8MWJKnlZX5+qRrhGhctnxOCLE1WobDHhL99mo9FgRbvVKYtHCgb87zWzcKSkBY98lQlfJcP18yd63YZ5CZ4jJUruu4WTw7Dhxtn4w5fCsZ4WG4Rr503Ea3uKYLI5MSc+RBZE5yaE4khJC+bEh2BqdBAMFjt25DVgztM75NEOPzlWieUpEahoMWF3fiMmRwRg1kThfJPcNzctSsCSpHBkVevw4dEKpJdpMTc+BI9fOQMOpwuHi1twrFSL9bNjUSCWzGVUtOL9w+VQKRWIDFTJZWMTQ/1xwwKhvfd+kgEXF0b1igxUYcONc3CgqAkKJozQKF0nqTFB2HW2AWa7E9PjguVvXVamRWHh5DDMSwjD3oImVGnNuDA5Eq/tKUaam4CkUQn/ilZPi8bu/EacrGjFyYpWMAY8dsV0zJ4YghsXxGOdW+C/BGMMG26YjVaTHfdeMgUuDlw/fyKaDFasnRkjO6niw/yxMi1avk88c90sBKh8sK+wEU98nws/XwXevWORLDpHBqoQrlGhsMEgC+K/uSQZz4kOR0DYB4smh8HPVymLvkFqH/x0UYJH6PpDl6UiPswfl6ZGY3tuPerbLLKgBAilw/FhAXj/cJmHkCZFIrk4kBoTiDq9BY99k40gPx8cLm5BdLAaBosDv1+VgqOlLajXW/D9mVpckhqFrdl1MNqcmBjqj/tWpoCDY0ZcCK6fPxFPfJeDyEA1rpk3ER+KJZZJllaoXQ58VW/wEKeJ0cVIev4KCzi/LEeCIAiCGAlwzj0qLdxR+yi9TlcquhZ4Bal9umTJev/s6Hj2GiwH0hIAxZzzUgBgjH0B4FoAwyIgDTfBfr54+f/N63W+p68ZmiGU1T5K7Hn4Ery5vwSrvLidJoT6QalgsuOgJxhj+OiuJXKomNSJ7mlYQ29IGUhzE0LlwFx3h0J3zJoYjDNVOmjUPlg7MxZn6wyIDVHjvpUpOF6mRWmTEYsmCx3CtFhBEJs/KRQBYof17ouSEOLvi3svScaJci1qdWYkRwV6jMyWX2/Abz89BY1KiXsvSZZLEkMCFHjrtoUw2ZxyZ+vquXF4TyyFklw/j6xNQ3J0IK6bPxFxIX6o0ZkRJGZkKRSC6CR9JtjPB1+erMa6WXE4UNiEj49VyPvyQGETVqZFIUkslVu+YQ/8fBVQMgajzYmfLZ2Eh9ZMxQ+ZtUIJzOqUXvffXSuSoGDAgslh3eZuzYkXBKTLpsfI+UX95dF10zz+lkLHJ0cEyIG+UUFqxIX446E1qXhxewHy6tpgsjmxdlYs2sXsn4XP7IJNDKCTRCB3e+lPFwqiQ3q5Fj9ZEA+lguHLk1W45e1jaDRYEezng8/TK2XXXWKkBiEBvvjdqhQ8+X0ublsyyWvpJiC4uVQ+CsyeGIKMilaP0tUr58Th6U25aLM48MRVM7A8JVIOUb7cbSTHufFC6PadyxNx/fx4PCyKTuZOFtZ7Lk5GY5sFf9yYhavndA30BoAbF8bj+vkdgsDG31wIX6UC7VYH7l6RhLtWJGFCqD+Ol7bg9vfSZZeLn68CjDFEBanxx7VpuHJ2HBLCA3DT4gR8drwSIf6+OCSW/WVW61HWbMSDl03FK7uKZNExLTZQzkz649pUvLanGKcrdfjHTfMQrlHJltxgPx8sTgzD71el4Np5HcLczy6YhLAAX9y3KgVpj28DADy8JhVpsUHy/vrHTXO9HgcAuHnJJPl3JYPH/VbalzctSsD9q6fK032VCjx59Qz8jyMN/95TjEvSorBwcofowxhDSlSgLETGBvvhpkUJeO7HswCAB1ZPxau7i+TyY7WYo3fr0kl4bP10AILDkzHhGporCo6XzYhBc7sV7x4qwyfHKmCwOLAsOQJz40Px1oFSAMC18ybgoqlReOSrTEwM9UeNzozbliViwaRQbM6qw02LErDypX14YVsBwjUqLE+JxKVp0WL+Wy2SIjVYPzsOX2VUIyxAhRVTI7FiaoeDNFDtg6ggNRZMCsVvLk1Gk8GK9acKcCA0EUabEzU6s/xlADHqGDHPX1K2JACPwQkIgiAIYjRgsjrkUbS70veBTwL9+iYgjRYGS0CaCKDK7e9qAEu7mZcYBiIC1fjLlTO8vvenK6Z7JMT3xsVujikpGDitD+KPO9HBfnjhxjlYPT0aGrUPNColblrUu6NlSVIEPjlWiUC1DxLCAzw6ma/fOh978xtlkUzKllruVooXHxaAh9akdtkOxhj+dct8zIgLxkvbC7Attx73r0qRxSMJdzEAEFwpUrlOhDhvUqQGfxDXcaGXMsBr5gkCUoi/L7797YW495MM/OI9IQT9ytlxWDsrFg9/eQZ2J8evLp7iEXb8i2WJ2JhRDaPNiWvmToDaR4k3fr4AtTqLV7dGZ+YlhOIV0UHU7TyThI6ve7j8QHPlnDiYbE5cO28Crv+/IyhubEeERhAn7luZAsaAF7YV4MLkCFyYHAmL3YkHL5sKs82JcI0K2TV6bM2px39+vhB6sx1Pfp+D6XHBePGnwvmwenqMvK4bFsRjY0Y17rgwEdfMm4DtOfW4YEoEHvzvGUyPE86RW5ZMgt3J8ZMF8d222VepwOu3zMeUKA3OVOlxcWrHsVX7KHHFrDh8lVElj8wm8f/czutV02Lw1NUz5Cys+1YmY0lSGJIiA2FzuMDBxdHwwuF0cZjE49wdCgXDO7cvQkywH3zFEq9AtQ8ed8seWzolAv/99TKUNxsR4u8rC8WMMdy3skN0fHRtGlKiArF6ejSOlrTgvcNlKGpsxws3zsGNC+Px1oFSORdO2m/JURqsSIkS8rSq9QgXrwE/XyXevn0REiMC4KNU4OHLPcsCp8UGy9fn179ZBqPV6XE99gdJrJ0dH+L1fbWPEn/o1B6JpEgN0su1uG6eMLhCSICvvH9nTghGZJAaV4nHThrt0/2esOHG2VApFV0Ev8hANf5n3TTcvmwy9hU0yflpSZEauDjHK6IA5nJxLEuOwO6zDbhh/kRo1D6YOUHYjpkTgpFb24Y/r58uH+vkKA3+fuNsrJ4egwCVEjMnBHvc7yQmhvojNsQPjDH8jyTm/rsNiw01+PUlU+TlEaOSEfP8Jd3DAeELD4IgCIIYjcSF+MnZsRLu2aFJkR35tO5ZxBKzJ4Z0+fxohrk7LQZsoYz9BMA6zvnd4t+3AVjKOf+d2zz3ALgHACZNmrSwoqLC67KI0ceJci2SIjVy6dZgwjnHzrwGrJwW3adOz96CRixODO+SU9UTdqcLe/IbcWlaVLd2RXekwONL0qJkp1NvHChswtz4UIQE+EJnsmFzVh2igtS4fEYMGGNyMG+aGFq+K68BCyaHIVyjQpvFjlMVrbgkNeq8R+/rCYfThV1nG3D5jNghKWvRGm3Ir2+TRwSUOFzcjKkxgYgO6lra2NhmQUmTEcuSBTfI6cpWhAaoZLeWOwaLHcdLtVg9Pdpjf52p0iFCoxow50VLuxX59Qa5A59bq4faR4GU6HMTV0cKVVoTGg1WLBQdfRkVWiSEBSA62A9OF8fWnDpcNj2mT87FocTqcOJgYYH/zrcAACAASURBVHOX490XGtssyK1rk0s+e8JgsSOjolUe3fN8KKg3gIP3aSCFGp0Z9XqLfDzOhbzaNmjUSkyOcLs+Lr1UeN2375yX11cYYxmc80WDtgKiT89f4vRBfwYzWOzYlFkLzgEViZIEQRDEKETlo8CSpHAcKWmBRqVETIgfbA4XLpgSgfJmI5QKhkC1D/bkN8LXR4Gr58ShRmdGm9mBBoMFRqsDl02PwY68BujNdljtTiRGaDA1JhD7CpqwcHIYsh56AmmmZizc/NmgbcdAPoMNloC0DMDTnPO14t+PAQDn/Hlv8y9atIifPHlywNtBEARBEEQfIAFpTHCuz18APYMRBEEQxLAyyp7BBquE7QSAqYyxJAA1AG4GcOsgrYsgCIIgiP4wiA8txJBCz18EQRAEMZoYZc9ggyIgcc4djLHfAdgOYRjZ9zjnuYOxLoIgCIIgCIKevwiCIAiCGFwGpYTtnBvBmAFAQafJIQD0Q9iMoV7fJACVQ7g+YOi3cajXOR726XAcw6Her0O1jbQvR//6xsM1P9TrHMx9msY5H50hYGOYbp7BzpXhuC4AIBJA8xCub6xf/8O93qE+ngAd08GGjunYWidAx3S0rnPAnsFGioB0snNNHmPsLc75PUPYhqFeXxPnfGCGGer7Ood0G4d6neNhnw7TMRzS/TpU20j7ckysb8xf80O9zsHcp97+1xPDz0Acl+G4LsT1Duk5Ndav/+Fe73DcI8bjMWWMHQfQeaSb2zjn2YOwTjqmY2id4nrpmI7CdQ7kcRusDKSB4Icxvj7dEK8PGPptHOp1jod9OhzHcKj361BtI+3L0b++8XDND/U6h2OfEqOf4bguhoOxfv2PhPUONePumHLOlw7T+oeK8XJMx8s1Coyf/TsqjumIdSCNdcbjNg82tE8HB9qvAwfty4GF9ufAM5j7lI7XyGQ0H5fR3HaiK3Q8xx50TMcedExHJwN53BQDsZAB4K3hbsAwMB63ebChfTo40H4dOGhfDiy0PweewdyndLxGJqP5uIzmthNdoeM59qBjOvagYzo6GbDjNiIcSARBEARBEARBEARBEMTIZaQ4kAiCIAiCIAiCIAiCIIgRCglIQwRjrL2X9/cxxqietBcYY/GMse8ZY0WMsRLG2KuMMVUP8z/IGAsYyjaORno7P4m+wxi7jjHGGWPThrstYw26jw4MdB8lRiqMsQTG2F7GWB5jLJcx9oA4PZwxtlM8Z3cyxsLE6dMYY0cZY1bG2COdllXOGMtmjJ1hjJ0cju0Z7wzw8QxljG1kjOUzxs4yxpYNxzaNdwbqmDLG0sRrU/ppY4w9OFzbNZ4Z4Ov0IXEZOYyxzxljfsOxTcTgQgISMWpgjDEA3wD4jnM+FUAqgEAAz/XwsQcBUMeHGEpuAXBIfO0zjDHl4DSHIDqg+ygxwnEAeJhzPgPABQDuY4zNAPAnALvFc3a3+DcAaAHcD+Clbpa3knM+jwJfh42BPJ6vAtjGOZ8GYC6As4PdeMIrA3JMOecF4rU5D8BCACYA3w7RNhCeDMgxZYxNFKcv4pzPAqAEcPPQbAIxlIyIDKTIyEiemJg43M0gCIIgCGKQyMjIaOacRw13OwhP6BmMIAiCIMY2A/kM5jMQC+kviYmJOHmS3MUEQRAEMVZhjFUMdxuIrtAzGEEQBEGMbQbyGYxK2AhiFHOyXIu9BY3D3QyCIEYrl14q/BAEQRBEL2RX6/HVyarhbgZBjCzG2bPUiHAgEQRxfryxrwR1egtWpkUPd1MIgiAIgiCIMczffjyLE+VaXD13Avx8KbqRIMYj5EAiiFGMzemCzeka7mYQBEEQBEEQY5gmgxXHy1rgcHGcrWsb7uYQBDFMkIBEEKMYu9MFOwlIBEEQBEEQxCCyLbceLnHspaxq/fA25jxxuTie3ZxHAhhB9AMqYSOIUYzdyWF39E1A2lvQCJVSgeUpkYPcKoIgCIIgCGIssSWrFslRGujNdmRW64a7OedFYaMB7xwqg0LBMD0ueLibQxCjEhKQCGIUY3e6YHPyPs376q4iaNRKEpAIgiAIgiCIPtNosCC9TIvfrZqKnBr9qHUgpZdpAQBFDYZhbglBjF5IQCKIUYzN0fcSNqvDBR8FG+QWEQRBEARBEGOJ7TlC+dqVs+OgYIKrvd3qQKB6dHUlJQGpuKl9mFtCEKOXfmUgMcbKGWPZjLEzjLGT4rRwxthOxliR+Bo2ME0lCKIz55KBZHM4Ye1juRtBEAQxsqFnMIIghoot2XVIiQ5Eakwg5saHgnMge5S5kDjnsoBU3WqG2eYcsGXb6PmaGEcMRIj2Ss75PM75IvHvPwHYzTmfCmC3+DdBEIOA3cn7LCDZnRxWx8D9syQIgiCGHXoGIwhiUGk0WHC8TIv1s+PAGMOc+BAAQNYoy0Gq1JrQaLBieUoEOAdKBsiFlFfbhllPbcepytYBWR5BjHQGYxS2awF8KP7+IYDrBmEdBEFAciBxcN57DpLN4SIHEkEQxNiGnsEImTq9ecA6yeOBIyXNWP/qQRitjuFuynlT1GDAvoJG1OjMfXo27Avbc+rBxfI1AIgIVGNiqP+g5SBxzpFbq8cL2/Kx5p/78e+9xQOy3OOi++hnSycDAIobu14bJ8q15/xl666zDbA5Xfg6o7r/jSSIUUB/BSQOYAdjLIMxdo84LYZzXif+Xg8gpp/rGLGcrWuD3mwf7mYQg8DTm3Jxz0cnh7sZMt+cqsbvPjvVZbrkPrL3IUjb5nTBaicBiSAIYowwrp/BiN758zfZuOP99AETEsY6nx6vRF5dG/JG6RDvJ8u1uPJfh3DH+yewfMMezH56B375wQmYbP0TxDZndZSvScxNCBmUkdhKm9qx+p/7ceW/DuE/B0rR0GbBxgESZk6UaREW4IvV06OhVLAuAlJZsxE/ffMo/nui6pyWe6SkGQCwPbceThdda8TYp78C0grO+QIAVwC4jzF2sfubXPiP5fVKYozdwxg7yRg72dTU1M9mDA8/ffMo3jtUNtzNIAaBD46UY0dew3A3Q+ZEuRa7zzZ2mS7VXPeljM3ucFEJG0EQxNhhXD+DjTfOtWPKOcfpKh2qtGZUak2D1Kqxg8XuxL584Tkrv370jdBV3mzErz46iYlh/vjkl0vx7HWzcOXsOOzOb8QPmbXnvdwmgxXp5R3laxJz4kNR3WpGS7u1T8vZmdfQp3a8sK0ATW1W/O362Uj/82rcv3oqypqNqNdbznsbJNLLtViUGA61jxKJEQEoavQ8zullLQCAM5V9F8bMNidOVegwJVKD5nYbjovLIIixTL8EJM55jfjaCOBbAEsANDDG4gBAfO3a6xU+8xbnfBHnfFFUVFR/mjEs2J0utFsdaDXZhrspxDjAYnfBbHd2+RZRch71RUCyOqmEjSAIYqwwnp/BeqNKa8LeAq+bPir5z/4SrPj7HlS39l0IqtSaoDMJLvnDxdSp7Y0jJc0wiqHK+aPMgaQz2XDXBycAAO/fsRgrpkbi5xdMxoYbZyM1JhCfpZ+bo8adnXkN4BxYNzPWY7qcg1TTexmbxe7Eoxsz8dSm3B6F0LzaNmzLrcedK5Jw69JJiAhU44IpEQDQb2Gmoc2CihYTliaFAwBSogNR1MmBdLJcyDDK7sM2yZ+p0MLmdOHRdWnw91ViS1Zd7x8iiFHOeQtIjDENYyxI+h3A5QByAGwC8Atxtl8A+L6/jRyJmMR/MkYrOTqIwcdid4qvngKQJBzZehGQOBfCtklAItxxuTg+T6+k0UMIYpQx3p/BeuPZLXm456OT8v/OnsioaB2ye6DV4UTOOXROJXbmNaBOb8FdH5xAm6Vv0QmZYj6Nr5LhsFhiQ3TP9pwGBKp9MDchFAWjyIFksTvx648zUN1qxlu3L0JipEZ+jzGGW5ZMQmaVDrm13s87h9OFb05V45rXD2GTF4fQ9tx6JIT7Y3pckMf02RNDwBiQVdX7+bwpsxatJju0RluPwdv/2l2EILUPfrk8SZ42PS4YQX4+OFbaPwFJGn1tcaIgIE2NDkJFi8nj2s+oEASkkqb2PudgHS5ugY+C4aKpUVg1PRrbc+vh6OPgNgQxWumPAykGwCHGWCaAdABbOOfbAGwAsIYxVgTgMvHvMYf0UNLfumKC6AvezjfOORwuyYHUs7Xd4eLgXLDA0z82QuJMtQ6PfZNNnQuCGH2M62ewnmi3OrCvoAl2J0dubc9OktxaPW584wge+SpzSHKCPj1WiWteP4RanbnPn7HYncis1uGCKeEobTLivk9P9cl1nFWlg9pHgXWz4nC0pAUuymbpFqeLY9fZBqycFo05E0NQ0GAYFblRpytbcdVrh3C8TIsXfzpHFkfcuWF+PNQ+Cnx2vNJjutPF8c2paqx5+QD+8GUmcmvb8NruIo/tNljsOFLSjLUzYj3K1wAgyM8XyVGBvY7ExjnHh0fKMTkiAAoG7CvwXjLr7j4KCfCVpysVDEuTwnGsVNvlMzqTDVpj3ypB0su0CFApMXNCMADBgeR0cZS3GAEAze1WlDYbsSQxHC6OPudgHSlpxvxJodCofXDl7Dg0t9tksYogxirnLSBxzks553PFn5mc8+fE6S2c89Wc86mc88s452PyKjJLDiQbOZDGMiPlAUJyHpnczjd30cjey7en7t+w9OZWIsYPBosgSJrISUkQo4rx/gzWE7vPNshu2zNVPXduj5YIroZNmbV4eWfhoLcto7IVLi7kGvaVM1U62J0cv7poCv52/WwcLGrGk9/n9Pp8klWtx4wJwbgkNQpao21U5voMFRkVrWgx2rB2ZgzSYoNgsDhQOwCZO4OFxe7E81vP4sY3jsBodeDDu5bg2nkTvc4bEuCLK+fE4fsztbKrhnOOP27MxB++zISfrxL/uW0hnrtuFooa23GyomMo+r2iELt2VqzXZc+JD0Fmtb7Hc/FkRStya9vw64uTMTchFPsKvQtIr+4uRJCfD365IqnLexdMieiSg2SxO3H5ywew4JmdWPTsTtzy1jG8tL2gWzfhiXItFk4Og49S6PqmRAuB4FKQtuQ+umN5IgAguw8jzOlNdmTX6HFhciQAYGVatFDGlk1lbMTYpr8h2uMWs+QIGcVDfRK907lkbLiwiOHXZru7gOTy+rs33N+nkdgICbPoaOtLmQdBEMRo4MfsOkQHqREb7NergHSiXIuEcH/8v0UJ+Nee4kEfhltya0hZK30hvUwLxoBFk8Nx0+IE3LcyGZ+nV2FbTn23n3G6OHJq9ZgbH4rlKUKGzBFymnbL9tx6qJQKXJoWjWmxQqnWSMtBcro4jpW24Mnvc3DRC3vxn/2luGlRArY/dDEuSe05x+zWJZPQbnXIIdav7SnGN6dqcP+qFGz5/QqsnRmLa+ZNQJDax8OptD23HpGBKiyYFOZ1uXPjQ9HcbkVdD2LbB4fLEeLvi+vmT8ClqdHIqtZ1Cd7OrdVje24D7lqehBB/3y7L8JaD9ENmLRoNVvxyRRJWT4uBxeHE63uL8dtPM7qISDqTIKAucXNoJUcFgjGgqKFDQFIpFVg1LRrRQeo+lZoeLW0B58DyFEFA8lcpsWp6NLblUBkbMbYhAek8kQUkciCNacwjpGMtCVlmm3cBqTdXkfs/06HMQWqz2PF5euWIcXIRnkgZbhYanY8giDFAu9WBvQVNWD87DvMnheJMVfdCDeccJ8pbsSQxAs9ePwsXJkfgT99kya6kgUZrtKFKK5Suubs8eiO9TIu0mCC5rOfhNUJY74keRKjixnaYbE7MiQ9BXIg/pkRqcGSQtmu0wznH9tx6LE+JQKDaB6mSgDSCHFulTe246O97cPNbx/DlySosmhyGT+9eig03zkGwX1fBpTMLJ4chNSYQn6dX4vszNfjnzkLcMH8iHlqTCoVCKE0LUPnguvkTsSW7DjqTTR6Vbs2MGCgVzOtypSDtw8XexclanRnbcutx8+KE/8/eeYdHUe5f/LObTe89pCcQEmqooQhSVMCCYBd7b9efeu3Xa73YOyL2LiKiIL2H3hIS0kjvvbfdbLLZNr8/dnfYTSNBmrjneXzUzezMuzsz7873vOecL052MmZG+yIIsC/fUoW0ZGc+rg4y7ulBfQSGHCQ3sxwkQRD44VAJQ/1dePHKYbxz/Wj+fOQiFi8cyc7sum4kkul9EyNOEEiOdjYEezpSUG8gkJJKmhgV7I6DrQ2jgtz7FQ5+qLABR1sbxoR4iK9dOWoQjUqrjc2KCxtWAukUYSrkrRlIFzbOl/Pb2QNhqbZQIPVN0HRaEEhnjyzYmlHDf9ZkiA/NVpxfaDdeVx0XMBE+5a14lsbnn+thWGGFFWcB8dm1qLV6rhw9iDEhHpQ39d5mvLC+jSalmkkRXtjaSPn8tvGEeDnx3Or0M7LoYVIfTYrwIrdGjqIfYdganZ5jZc1i5ygAqVRi7CDVO8GRZjzW6GBDYTt1iDcJRY39yk4633AmFLLmQeRZ1XIqmjuYa+wy5uZgS5CHY7cg7eOVrSzemNVjllRicRP3/HCUu75P5K7vE7nvxySOlfVM8ClUmgGHtn+4I4/WDg1LF40l+cXL+Py28aLqpT8Qw7QrWnlqVRpxEV68dd2obrlGi+JCUWv1rD5WKXalmzOiZ/saGIK0hw1y443N2T3mei0/UoogCNw2OUzc3tvZziIHKbm0ie1Ztdw/PbJH9REYcpDiIrzFHCSTLe6uqREWn+H2yWEWJNJPh0u48cvDPPzLMdwdbS2IHjAEaefXKlBpdGRUtjIhzKC0GhXs3q8g7YMFDcRFeGEnO1FOm2xsS+LzOVzY2GfXuYHgw+25A7K+WmHFmYSVQDpFWDOQ/hk4X6w9pnF0aE78mFlkIA3EwnYWFUgK449vm9XqeV7CZMG9ULvzCYJAdauKD85CtklPqFOo+t0xyQorrPjr2JRejb+bPeNDPcVisTcbW4KpK5ORnHF3tOWRmUMoa2rnWFnf1rdTQXpFKxIJ3H1ROHoBUvpxjMwqOe1qnYVyAiDKz0W03vR8rBZc7WVEGjtyXTTYB6Vad9LA4/MNu3JqGf3a9tPaGn13Th2jX93OvI/3sTQ+n+VHypBK4NLh/uI2MQGu3Qikz/cU8u2BYgrru3/vPx0u4XBhI81KNc1KNanlzdzzw1GKumy7Ia2KcYt3MPzlrVz64V4e+SWZNcf6tk3m1SrYlFHNXReFMz82EGd72Sl97mvHBuNgKyXUy4mvbh+Pvcym2zbDA90YE+LBr4llbDtei6u9jKmDvXvdp8xGyrJbxqLR6vm/X1MsnjUb2jr5NbGMy4b7E+LlBBjIzxlDfdmXV49OLyAIAm9uzsHX1Z77pvesPjJhcqSXmINkbovrCnMS6eV1mTQr1Tw2O4r1j16Eg63lZx7i50JRg5KUMkPO2HgTgRTkjnCSIO2aVhWF9cpu34+jnQ2PXxpFWkULi74+wqQ343ll3XHqFT0T2f1BnULFJ7sKWLqr4JT3YYUVpxNWAukUcT5nIJ0vpMdfxbrUSrac4yC688WiqNL2EKJtVvSfNET7HGUgme4Pc+LLBK1Of1bVUOcDzjelj+l6ulDmjK4418TY3d8f5e0tOed0DFZY8U9BW6eWPXn1XD5yEFKphFHB7thIJb0SSInFTfi62hPu7SS+NneEP/YyKetSK0/7+NLKWxjs68K0KF+kkv7Z2I4aSa64Lt21ovxdqZGraO3omaBOr2hlVLC7aE+aHOmNRGJoOf53QWZVK4+uSEGt1fPtgaLTtt9NGdW42stwsZfxwY48fk0sY0KYFz4u9uI20QGuFNa3iUqhDrWOXTl1QPfzJggCSSXNXDrcn3WPTmPdo9NY8/BF2Egk3PPDUbFL2Ia0Kh5fmUJssAcPzogkwseZtPJWnlyVxud7Cnsd75L4fJxsbbhvWuRf+tzuTrasf3Qafzw8FQ8nu163uyUulIK6Nv5MqWRWjF+PRJM5In1dePPaUSSXNvP+9lzAQOTO+Wgfyk4dD84YbLH9jGhfmts1pFe0sC2zluTSZp68bChOdn0TY6YcpD9TKtmaWcNNRltcT7h9chi/PzSF7f++mB1PzuDflw0lzNu523ZD/FxQa/WsTTHc7+YEEhjuo95gyhTrSQn20IzBHHvpMj69ZSxxEZ78mljOnI/2sj6t6pTUjclGu+rhwgbropQV5wWsBNIpQiSQNLrzqjVqrVzF6Fe3XxDe26/3F/H9oZKzflxzuel5QyD1YGE71Qwkte7sfSaluuesMJ1e4OJ3d3Pd54fO2ljONVLKmhn28lb25Nad66GIMM1jFyqBdK6Vb1UtHdSex518rLDiQoK5fQ0MmS5D/V17JJAEQSCxuIm4cC8LC4yrgy2XDvNnU3r1gOxeb2/J4e0tOb0G5wqCQFpFK6OD3XGxlzFskBtJ/bCjJBQ3Ee7thJ+bg8XrQ/1NHaS629g6tTqyq+WifQ3A09mO4YPces2qOd9Q06rinh+O4u5oy4MXR3KsrIWcmr8eaq3XC+zNq2dGtC9/PDyVI/+5hNcXjuTVq0dYbBcd4IpWL4hqo925dXRodEgk3QPQK1s6qJGrRPsTQKi3E1/dMYGqVhUP/JTEH8kVPL4yhQnhXvx4TxzPzI3h6zsmsPeZmcyPDeSdrTk9kki5NQo2G9VHns69kz79xVB/V7xOsp+rYgfhai9DrdOLtr6TYcGYIG6ZFMqXe4tY9NUR/rXiGCGejmx8bFq3AO6LjQTqzuxa3t2awxA/F24YH3zSY5hykD7amYcgCNxutMX1honhXgz1d+1zmyhjJ7YN6VVE+jrjbSQR/dwc+gzS1usFNqVX4+Fky/BBbj1u42Qn46rRgXx263g2Pz6NUG9nHvs1hYeWJ9PQi622N5hIS41OYHfO+fMMacU/F1YC6RRhUhIIwvkVQFvZ0oFapye3hx9auUrDob/JwwMYAn5P5j8+EzAnW86HEG1BEMQC37zQ7y0DadnuAh77NcViH+eqC5spQ6orgfRHcjlVrSqOV55fXU7OJL47WAL0rzVsV6SVt1DdevpzpJSiQuzcX+dnAm2qc0cgCYKAQqUVbZxWWGHFmYW5fc2EMSEepJa3dFvoq2juoLpVRVwXaxjA1WMCaVSqu5Eta1MqxS5W5sitUfDF3kK+2FvIXd8fpbW9u0KgulVFQ1snsUZSZ0KYJ6nlLX12atLrBZJKm3ocY5SfoTDO68HGll2tQKMTiDUGHJtw0RAfUspazjslbFcoO7Xc88NR2lRavrtrIg/NGIydTMqvZt3BThVZ1XLqFZ3MjPYDIMDdgdsmhzE80JIEGGYkBUw2tk3p1fi42DE72o/kUkviz9T+fXyYJVEyPsyTD26IJam0mad/T2NCuBff3zXRwoIms5Hy0Y2xIon02R5Li9Inu/JxtpP9ZfXRQOBkJ+O68cE429kwI7rv7m7mePmq4Qwb5EZyaTPPzotm9cNTeyRwPJ3tiA3x4Ot9xRQ1KHl+Xgwym5OXo6YcJLVWz6XDTtji/goGGwmkdrXOggAEgwopowcCSa8XeGndceJz6rjnoghR5dcXhvi5svqhKTx/eQy7c+t5alXagMaZVNLExHBPfF3t2ZbZe/dFK6w4W7ASSKcI84LrfFGpALQbuyr15LVddbSc275N6Fdw4/mAtk7tOVEQmNuqzocHLY1OwPTsa6lA6jkDKbm0uVvQXuc56sJmOn9dv8fCeiUA9rJ/xhSk1wscMHYd0ZyCYvGh5cl8En/6ve8dooXtwsxAOpcKJJVGj1Yv9EpiCYLQLWOjPxAEgUdXHLO25LbCCjMou9jXTBgb4oFCpaWoQWmxvek3cmJ4d3JmZrQvbg4y1qWeIItSy1t4clUqT/2eRmWXsOAv9xXiaGvDy1cNJ6G4kWs+O9gt+yZdDLU2kDrjw71oV+vIru59Dsiva6OlXdPjGIM9HXG0tekxB0k8VpfA4IuG+KDW6dmaeW6jAU6G1zdlk1urYNmt4xg2yA1PZzuuGBnAmpTKv/xMtjfP8Dt8srb3ET7O2NpIyKlR0K7WsiunjrkjApgU6UVJY7vFM3ZSSTMu9jJiArqTJfNjA1m8YARXxwZ2I49MMCeR3t2ay9yP9rFkZz7bM2sM6qOpp0d9NBA8f3kM25+cgcsA8pYcbG1Y9eBk9j07i0dmDumTFJo51A+1Tk9chBeXDPPr9zFMeUN3TQ3v93v6gpuDLQFGdd+EMMv7zBSkbf4cYSKPfkko4+GZg/m/2UP6fSyZjZSHZgzmkZmD2ZtXT1lje7dttmXWkFdrOSd0qHVkVsmZGO7FZcP92ZNbf8Gqxq34++CfUb2dAZj/iJlIm/MBSqPio64HAqm5XY1eoFfP/PkGZaf2nCgILBRIp4FAKm9q58W1GX2uNPYFc4Vbu1pHW6eW/6xJp05+whpjTiApVBoUXb43c7LpbOYOme6NriSricTs1P4zcpDKmtppNq5KD1S6DNCoVNPSrj7dwxLniwv1YaTrfXB2j204372RWMuPlDL3430D7qrS1qllY3o1B/KtBJIVVpiwP78Btba75WZMqIFESetiY0ssbsLNQUZ0D0W/vcyGK0YNYltmDR1qHSqNjmd+TxMzcj7cfiKUv6qlg/WpVdwcF8I90yJYcf9kWjo0XPPZIQuiKa2iFZlUIipbTGqHpNLe7/9E49wwKaJ7iHFfndjSylvxcbEj0N3S9nbRYG9ig91ZvDH7lH6HzgZq5Sr+SC5nUVyIqBICuGVSGAqVlg3p3RVgA8HunDpGBrnh62rf53a2NlIG+7qQUyNnd049HRodV44exHgjyWCuQkoqbWZsqEevhMntU8L5ZNHYPsOvTSTS4gUjcHe05eP4PB74ORlnOxn39tLa/kzCwdaGIA/HAb/P1cGWgC7XXU+4cvQgAt0dePHKYd06wfWFWyaF8sPdE5nSR7D3QDHEqEKaEN5dgSQIkFVlUMprdXpeNCOPnp0bPaCxm3DTxBCkElh51FJR+WdwSgAAIABJREFUV9Kg5JFfjvHKukyL11PLW9DqBSaEezJ3RADtap3199+Kcw4rgXSKMC+4lOdJq3c4YRnqSYFkImPkHefPeHuDTi/QrtadkwLQXKHTfhoK68dWprD8SFmfK419wfxa61Br+fFQCb8mlvPNgWLxdXPSS6EyKLfMJfvqc6RAUooWNsvzKDc7r+eyyD9byDbr5DHQThydWh1qrf6MqGnarQqkMwbTNd7bGHYb2xgP9How3S/WIE0rrDiB+OxaXB1k3YrAwb4uuNjLuuUgJZY0MSHcC5te7CcLxgTRrtaxM7uWJfH55Ne18d4Nsdw9NZw1KRViUfndgWIEEIv8ieFerH54Kh0anQXRlF7RQswgV7ELVKCHI0Eejn0GaScWN+HvZk+IV8+FfJSfSze1gulYo4M9uhW3Mhsp798QS5tKy0trj/cY5tvWqWVdaiUPL0/mi729BzufKXx3sBidXuCB6ZbByxPDPRni58KviaduY2tt13CsrJlZ0f1TvAwb5CZmEPm42DEpwpuRQW7YyaRiDpJcpSG3Rt7NvnYqkNlIuX1KOKsemsKR/1zC/xaMYOmisWddfXQ2MMTPhUP/ucQip6s/cLC1YWa03ykRN71hfJgnYd5ORPhYhmybgrQzKlvJr1Vw3eeHWPEXySOAQe6OzI7xY1VShcXi79JdBej0AkeKG6kxy040kZXjQj2ZEumNq4OsVxtbY1sn72zN4ekelJIng0qjsz5XWNFvWAmkU4Slhe38KYDbjIqPnhRIpr+dTxa29WlVzPt4X7d8AhPxoD4HnbrMj6c6LQokwyR+sqDrXsdjVty3q3ViFo65/ctcYWQqMNvMrksLAukMkQWrkysY8sJmi/uhvZcQbcU/jEDKqpZjI5UwMdxzwCu/JuL3THxPF3oXtrbOczfXiQqkXs6biTgaSFCvYb9n7nqwwoq/I/R6gd25dcyM9sO2iwrERiphdLC7BYFUr+ikqF7ZY7aQCZMivAhwc2Dprny+3FvITRNCmDHUl0dmDsHNwZa3t+bQ2q7h18Qy5o8eRLDniTyWCB9n7r7oBNGk1wukV7R2K5bHh3mSVNLUI5FjCPluZGKXkG9zRPm7UivvtFCVKzu1FNS3iVa5nt7zxGVRbDlew8b0E1a2xOImHvgpiXGLd/D4ylT25dXz9pYcVg6AsNHpBb7cWyha6Hr6TH1BrtKw4kgZV4waRKi3Zb6NRCJhUVwoKWUtFgsyA8H+gnr0gsGi2B9EB7hS3apiZ3Yt80YGYCOVYC+zITbYXST+Uspa0Avd7U9/Ff5uDtwxJZxZMf23d1lxanjskii2PXFxt/vMFKT90+ESrvzkAGVN7XyyaOxfIo9MuGVSKA1tnezIqgUM6qO1qZVcOswfQcAiay2ptJmh/i54ONlhJ5MyO8aPndm1Fq6GxrZO3tqSzbR3dvPl3kI2plcx96N9rEgo61fXt+rWDuZ+vI8bvzh8Sl3irPjnwUognSLMC2LleWRhM7VN71GBZCym5OdR4ZFS1kxOjaIb620enn06bGyHChq49Zsj/SL7LBRIp4FAMhEGp8rsWyqQdNTJDfszH6d5ESrvoXC1CNE+Q4TcU7+nodULlDWd8HWbzmNvFjYA+d/EUvlXkF0tJ9LHmWBPpwErTkwKljOrQDp/5rDTiXMZom2aZ3sjwU3XwUAtxaZ7x/y+eWtzNst2n/6MLCus+DsgtaKFhjY1l/aSpTImxIPsark4z5m6n/VFIEmlEq4eE0hebRv+bg7896phgKEV+v/NHsK+vHoe/y0FpVrHAxcP7vb+R2YOwd3RQDSVNCpRqLTdQq0nhHtSK++korm7UmBzRg218k4uHebf6xh76sS2P78BQeg528mEB6ZHEhviwcvrjrM9s4Zbvj7CjV8e5lhZM7fEhfL7Q1NIeXkOFw/15cW1x/tll9HpBZ75I423tuTw1Ko0i262AM1KNZPfiuf6zw9xIL+hxyL114QyFJ1aHprR/fsEuG5cEHYyKV/vLzppJECHWsfq5AqLGII9ufW4O9oyJqR/aiGTvbFTq+eKUYPE18eHeZFZ1YpKoyO5pAmp5IRV0oq/H2ykElEZ2BWxIR6UNrZzyTA/djw5g6tjA0+L+mnGUD8C3R1ERd3SXQXY2kh489qRjA52Z11aJWAgx5NLm0XrJMDcEQE0t2s4WtKMIAisSChjxnt7+HpfEXNH+LP93zPY8e8ZjA5254U/M7j920SLyIuuqGrp4OavjlDW1E5OjYIjRX//Lt5WnHlYCaRTxPmqQDK1TW9o6+yu6jESXedTwd7QZsh1aVRa5rtYEEinoXD+7mAJBwsa+eXIyVfTOk9jFzbzh6RT/d7N7UUdGh1VRgWSuZLFRBDp9YL4fZkrFE63hS2zqpVX1h0XrzHz/dfKT4zLpCTr6Gph69CIGQT/BMlsfl0bQwNc8XGxo17ROaAVHlFRdkYUSMYMpAs0h+pcdkAzJ0m7njudXhDv35YeOjb1vV+The3EPr/cV8R723IvWCLQCiv6Qnx2LTZSCTOH9k4gafUCb2zK5vGVKby+KRsHWykjA3tW6Zhww/hgPJxseee60bg52Iqv3z4ljGBPR/bk1jNjqG+3Dl4A7o62PDrLQDR9ZmzP3pMCCU508TJBrdXz7rYcYgJcmR8b2Ov4TB2uzDuxbcqoxsvZjkl9kGMyGynvXz8aZaeOB35OJq+2jZeuGs7+Z2fz6tUjmBjuhZ1MyrJbxjLEz4WHlyf3aJUzwUQerTlWyYyhvuTXtbE5wzKoe9nuAuoVBrLstm8TuP6Lw+zPrxd/Czu1Or49UMy0IT6MDOr5vHg42XHThBDWHKtkzkf7+DOlokciSRAE/vtnBk/9nsZ9Px2lQ61DrxfYk1vP9CifXm2LXWEKxTbZ10yYEOaJRieQVt5CUmkzwwa5DShs2oq/D16+aji/3DeJz24dJ2agnQ7YSCXcNDGU/fkN7M2rZ21qJbdNCsPP1YGrYwM5XimnoK6NvDoFCpXWokPcjKG+2Mmk/JJQyu3fJvLCnxmMDnZn+79n8PHNhns2xMuJX+6bxOsLR5Jc2szNXx3pkUSqaulg0ddHaGpTs+K+ybg6yP6STdSKfw6sBFI/0FOxp1LrcHUw/GCcT1YCkwJJqxdo7hK6ayqm5CoNvySUcryH9pRnG43GIqqpC4HUZqbqOh3fr5OdYXVhRT8mRssQ7RPHTippYlP6wLqXmHuQT5lAMivuy5vbKawzdJMxV7KY7HFtai2my9W8gO3UnV4CaX1aFT8eLuXHwyUcyG8gpezEA3CtmXe79xBtrRjQaJ7JpdMLrDpazqGCCycgUBAE6uSdDHJzwNfVns4B5hkpTpKl81dwwWcgmc0dFc3tfL2v6JTk2XKVho935g1IvWc+b3U9d5lVrWiN5OtACSR5DwokE3Zm1w5oX1ZYcT5DpdHxw8FinvsjvU+rZ3x2HRPCPHF3su3x7+PCPLGTSfn5SClJJc1E+bvw6vwR2J2kC2iUvyupRiWOOexlNjw3LwaJBB6e2bNaBk4QTX8kV+BgKyXKGNZrQkyAG55Otny1r8hi0WxFQimlje08d3lMn2RHkIdlJzaVRkd8di1zRwSctC16lL8rS28Zy/8WjGD/s7O4d1oEjnaWKgxXB1u+vWsiDnY23P39UVp7mKvMyaMnLxvK93dNJMrPhU/i80UVUnlTOz8dLuWG8SHsfXYmixeOpKqlg9u/TRSJpLUpldQpOnlwRt/t6l+7egRf3DYeO5mUf/+WxpyP9lk8fwD8nlzBmpRKZkb7cqiwkft+OsqxsmYa2jotgrlPhgA3B4I8HFk4JsjiPJiIv4TiJlLLW7q1f7fiwkGIlxMXDfE5rZlLJtw4MRipBB5enoytjYQHjNe+QeUE61Mrxawt82w3Z3sZF0f5sDG9mpSyZl5fOJJf7pskhoGbIJFIuG1yGD/dG0etXMXNXx2h1kgiCYLArpxabvrqME1tan66N44pg725blwwW4/XdKvJTjfkKg0vrs342z3rt7SryatViP80nqfNCM4GrATSSfDi2gwWLjvYrejo0OgI9TJ4tOvP0gXU2qFh6/Geg9NMUJoV6l3HZXpAOVTYyH//PM5Tq9JO/yAHiEaTAqntzCqQTLlBlS0dJy0ge1MgXf/FYf614tiAClDzlcVTtQ6aVAX2MinHK+UiWWReoGq0QrfXzNUXmtOsQCquN5BYr23I4rZvEyxWJ3fn1onkpBiiremBQPJ0NP73iYfSpbvyeXZ1Oi/8mfGXx3i+QKnW0aHR4etqj7+xXexAVnjMu3l1VRX+VZgI59PRbfB8hPnccd+PSbyxOZuiBiUb0qqIfW17t1Xy3rAutYqPd+ZzsKCBjIrWfmVwmF/XXUnwZbsLcHWQ4eogo6VjYA9q8i4ZSOak1pGixgHtyworzkeoNDq+P1jMxe/u5tUNWfyWVM7unLoet61oNtgu+rJ6+bjYc/C52Rx/bS4Hn5/ND3fHcXNc6F8a4/zYQI7+91ImR/beDcpeZsMzc6MBGBno3o3UsZFK+PCmMeTUyHns1xR0egGFSsMnuwqYOtibmSdpNd+1E9ue3Dra1TquNLNb9YW5IwK4Y0p4N+LIHEEejnx9xwSqWzv4YEdut78vic8XyaPHLolCKpXw+KVRFiqk97fnIpXCvy8bir3Mhtsnh7HnmZm8vnAk1UYi6cW1xxkR6Ma0IT4n/czzRgaw+bHpfHHbeDR6PTd9dYR1qQbLT26NgpfXHWfqYG++vXMiH9wQy6HCRu7+/ihgUG/0FxKJhC1PTOe5y2MsXvd0tmOInwsrE8toV+uY0Idd0AoreoMhTNufdrVOVB+BIXtp6mBv1qZWkVTShI+LvVhvmvDwzMFcPz6YrU9czG2Tw/okuCaGe/HjPQYSaZHxXlmw7CD3/JCEIMBP98YxNtRAUC2KC0Wt07M6ueKMfe6SBiXXLDvI8iNlvLkl+4wdp78oblDy/rbck4aOd2p1XLFkP3M+2if+M/XtXaecyfZ3xz+eQCpvaufyJftFgsEcgiCw/EgZaRWt7M2rt/hbu1qHl7Mdrg4yC8XFXx1LnaL3fb2y7jgPLU8mvw8psTnxUie3JJBMq/Gm0DYn+94fGs4WGnpVIA08A6mhrZNLPtjDvI/3UdygtPhbVYvhe+1PNytzBVKTUkNKWbNF4T7no31sPd6/wjM+uw5vZ0Pw3UCzTkwwqUNeu3oEz18ew/pHL2JMiKUUXiOSSj0XrerTnIHU9fvNr2vD1V6Gl7MdW47XcNXSA+j0gjh2c4JCo9PTodERbFQgPb8mgzXHDD9WpqDT08yTnFOYlGI+LvbMHRHAxUN9eXNzDs39XOExv15PZ8dHQRBEYu9sB9W/vjGLb/YXnfHjmM8dOTWGebNe0cmr6zNp7dCwsZeW0MpOrcVDQYKRmEkta2H+pwe4fMn+kx67qwJpR1YtN315mPKmdrZn1XLnlHBCvZx6XNXve7+mLDvDv80VTCUN7T2+xworzgUGGhAPhmeBKz7Zz2sbsojwcWb5vZPwdbXnj14KmvhsA7E0u5f8IxN8Xe1Pu82oP5aW+aMDmTcigAVjg3r8+6xoP15bMJL4nDoWb8ziy71FNCnV/Ofy/rU3j/I/0YltU0YNXs52TI48vYTGmBAP7pgSzvIjlsr145WtLNtdwLVjg3jskijx9StGDhJVSGnlLaxLreK+aZEW7d3tZTbcNjmM3UYiaYifK88MIJzYRCSt+9c0xoR48PjKVN7eksMjvyTjYm/LxzePwUYq4dpxwXx4Yyxtai2jgtxF63x/4eZg2y2YHQw2tirjs3/Xzn9WWNFfPDwzktHB7jzYJfdrwZggypra2XK8honhnt3ui/FhXrx/QywhXYil3jDBjER6fGUqze1q3r1uNLufnimSR2DI/Rof5smvif0L3x4oDhU2sGDZQZqUam4YH8zxSnmvoftnGnq9wLcHirl8yT4+3V3A3I/29fm516VUUdWq4rl5MSy7ZRxLF43F2V7Gy+t67mh5oeMfTyB9ta+I7Go5f6YYVi9e25DJTV8eJrW8hcL6E77y1ccqqWhu5/GVKSg7tdTJVbg72hLg5kBNH+Fkyk5tr4SFXKXh0RXHKGs0PPRPf3c3cW/E97qvauOPVUFdm8XrWp1eJGLa1VqcjatJXcN6lV3GMRBLVV8BbKcKnV6gyWiza1IaxlorVyEIwikpkPbn11NYrySnRsH//XqMJqWa45WGoMNauYoAo/rDpHbqLYvGVExH+jqzM7uWaz47xHcHi8W/59e18e/fuqu36hQqC6JJpxfYk1vHrBg/PBxt+/V9mxOI727NYV9evahAGh/myUMzBjMi0B13R0upvqYHVVJbDxlIHk62tCgtx/HB9lx+PlzCv1YcE+WtfUGnFyhttCxUc6oVDPF3wdEsiNA8THtXTh3Xf36ItSmV4rhMahyAt7bkoNLoqDYSfXUK1QUzIZvuTV9XexxsbXjIKFNO76eFtC8r1F+BSqMX7Y79tbDp9MJpkexuSK/qtQ3t6URPGUglDUoxcy2xuImcGrk4vylUGv7v1xT+syaDBZ8epK1TiyAIJBQbQiX3D0Bu3fVefOSXZBKKm1i6Kx9BgJsmhhjuxwGHaJ8Iptfo9CL5bi+TUtyg7LYIUa/onodnhRVnA0/8lsp9Pyb12y6v0uh44KckKps7+P7uifz24BSmRflwzdggduXU9Tj37MyuJcLHmcG+Lj3s8dxDKpXwxe3juX1yWK/b3D45jPumRfDDoRI+31vI1bGBjOqli1pXRPkZOrHVyVX9tq+dCv592VC8nO14yZh9qNbqefr3NLyd7Xhl/giLbc1VSPf+mISXs12v1jQTkbTl8ekDspeZ4OVsx/J7J3HzxBC+2FtIUYOST24eI6o5AK4ZG8xvD0zh/RtiB7z/3mCysQV5ODLI3fG07deKfxbGh3mx/tFp3YjNeSMDsJNJ6dTqxWvtr2JCuBerHprCkpvHsOupmdw4MaRHcvSWuFCKGpSnPUx7d04dd3ybiJ+rPev+NY2X5g/HwVZ6TjKXCuvbuOmrwyzemMXUwT6sfngKo4Lc+c+aDO74LpGqLmokvV7gy32FDB/kxkMzIrly9CDmxwby3LxojpY0ixzCPwn/eALJRGDo9QKJxU18f7CEhOImNqRViTdPiJcjZU3tfLwzn3WpVXy0I4+qVhVTB/sQ4O5AjbyToyVNrDpa3m3/j69M4eHlyT0ee11KJRvTq/nuYLFFsdxb4exmJA3MV8YFQWDhZweZ8PpO9HoBZaeOMG9nwNLCJgiCRVt3MBBS/SnSixuUxL0Zzxubsk667UDQ3K4WC9hGpZqCOgVT397F8oQyCwLJVAT2VAS1q7UieZJQ1ISbg4x3rhvF8Uo5M9/bzVVLD/DEylS0ekEMZmxUdpJY3MTEN3Zy/09J3UIYTWSLKUAR4ECXwjGsS4vZnBo5cW/E8/ORUvG1yuYO5CotE8M9cXe0PakCaXdOHXFvxLMvr54OtY7P9xbyW1K5SCCZd4kwJ5AkEsxsbeYKpBP/rdHpkUpgVJA7GWYP8zq9wNJdBby0LpNN6dX9svRUtXRYKJoAEkuaiPJzsZCAznp/j8U2SaXNLNtdIBbAbmafoV7RycrEMnHSVmn05zQA+XQhs6qV97YaZP+m1epRQe5IJJBW3r9Vl1NR4/UHplXrEC/Hfocvv7k5m/Gv7+xGRg8Eaq2eOkWnqAo8Xeg6lyUUNYpqS3OYVG4TwjxpaFMz7+P9zP14H3q9wI6sWjakVbE+rQq1Ts/xylYqmjuoV3TiZGdDStmJc6bR6als6eDTXfk9zk3m4fBtnVqcjeqHVUkVxIV7EeLlhIejHS3tA7OwdQ3nNinZxoV6UtnSQdwb8WLBXtnSwcQ3dvLNgSLxO+ppzv/DZwQH/2ZZBFac3xAEgeGD3Dha0sRVSw9w349H+1xp1usFnvkjnaTSZj68cQyzzMiE68YFo9ULrEu1VAy2dWpJKGrikgug1fl/rhjGnOH+2NpIRNtbf2DqxPb1/iLa1TquGt0/+9pA4e5oy/OXDyOlrIU/kiv4dFc+OTUK3rp2VI/ZUyYVUkNbJ4/NHoKrQ8/5VKcDdjIpb107inevH82HN8YytQcbXFyEl9hV7XTAZFs7XcW9FVaYw83BVpzXTqdFckSgOwvGBPVIHJlw5ehBuDnI+pUZ21+0q7W8uPY4g31dWPPIVEK9nXBzsGX+6EDWpVZZPNecKvR64aR1VkmDkqdWGbLTcmsUfHBDLN/eOYHxYV78ct8kFhtDx2/9JsHi2Ts+p47CeiUPzoi0UIPdMD6EMSEevLk5m1ab0xey/nfAP5ZASi5t5lBhg2gHK2/q4Kt9hfi42DHU34WsKjkrEsqI9HHmosE+VDZ3iNkx3xwwqFFmx/jh7+ZAbauK97bm8uLa4xaFmF4vcKSoicTiph6l3KuPGRjLHw6VEPXfLeLrOTUKfjta1q0NqqnQyKo+YWHbllnD8UoDoVTR3EG7Wouvqz3OdjYWFrZ2tQ7zumFypBftap1FgHFvMBEOX+8vpqK5neTSZnJq/rrn07yL2JaMGp79Ix2dXuDTXfk0KS2LpB8PlRD90hbkKg2CILAutZI/kisY/vI2Zr63B73eoBKIi/Di6tggnO1sxKyQrUalw2jjil69Qi0SJTuz69iQXoVcpSH8+U2sTCwTz3O0/4nOKuVNloqbrgX3Z7sNXVbMVRUmBU6olzNujrYn7TZm+p6fW53Oz0dKEATIqpKLY3U2k9+bE0hOtjasS62iVq7qVa2i1uqxtZEyJsSD3FqFaCnryrJX98OOmWu0At0wPphAM0l6lJ8rkT7Ovb5PJpWQX9dGVrXhc5pC6AHiwr14f3seik4twwcZvveuqrd9efUU1Vuq7/qDwvq2frUhPhUYbK6lfL2vSFSuLVx2kI925AHwSXw+icaW0aYVJlcHW4b4uvRJIGl0elYdLUej01tcN72Rast2FxD+/KYBWUYSig22rJlD/dDqhT7fq9cL/J5UzrfGua+rhXEgMKgMoUau6jbH9RcanZ41xypEtc0Lf2Yw7Z3d1ClUjH51GwfyG/h6v2GsXe0cJhLo1smhTIrwYqi/C83tGmoVKnZ1yVlJM1Oi3j7FUkFQ06piZWIZ72/Po8DsulR2avntaBnHK1vxM55zRacWe7PA3rkjAwBDS/DWDg3JpU0isWWOBWbXkgnm97hcpREXQcwLmSzjIkOi8Rxvyqjhwx15zP5gL3M+2sdbZrkDGomUp4dcwa3fJJx1K6MVFy4kEgn/mjWEA8/N4uk5Qzla0szVnx5k7kf7WLIz36L1PMBHO/PYkFbFs/OiubILCRId4MroYHd+72Jj25tbj1qn55I+8o/+LrCRSvjitvEcfG52v20pcKIT289HSk/afe2v4tqxQUwI8+T1TVks21PIteOCev3upVIJr109gvmxgdwyqXf11emCRCLhxgkhXDM2+IwfCyDc24mbJ4aw6C9maVlhRW94cMZgro4NZEQPXR7PJBxsbbh2XDBbj1fzvw1ZLN5o+OfHQyX9cin0hGW7C6hs6WDxwpEWZPItk0JpV+tYn9ZznMDJsDevnidXpXL1pwcY+eo2Yl/bzrLdBd22k6s0PP17Gpd8uJdNGVXcPTWc+Kdmct34YJEQkkol3D45jO/vmkhpo5IX1mSIC25f7C0kyMOxW76cVCrh9YUjaVSq+Sj4olP6DH9XXPB9JxvaOlGotESYFbZanZ6bvzqMRneieMmpVZBdLee2SWF0aLSsPFqOIMB714+mVq6ioa2TTDPlxvgwTwLcHUQLm8nGllLWwuRILw4XNuLjai8W8dsza/kkPp8PboxlZJA7tXIVqeUtXDrMj53ZdWJHHoD5Sw+g1Qv4utozO+bEj7PpGBmVLej0AjZSCVvMQrXz6xQo1TqCPG3wdbW3UCB1tb5cPNSXI0VNVLV24O5kS0mDktTyFqYO9qawXkmNvIPVyZX8eE+chWXuUEEjz65OB2DnkxfT2KYmLsKL1zZk0anV8eY1o5BIJDQp1dS0qoj0debWbxJ4dPYQZkX7USdXodLoCfV2sgjONn2Hvq721Mo7WZNSgVRieChoblfzzlbDCnpmpRydXuDxlanieytbOtiZXUtxg5LbJ4fhaGfDrZPDyKho5d3rR3P5kv0IgsC0KB8+3JFHQ1sn8Tm1zIr2pdpI/pk+49JdBdw/PQKAmEEnVqsKjaHRn906jrUplezJrWd1cgU/Hynl53vj2GLMRMqrVSAIAhKJhNImw3tCvZ1wd7TtZinsCtPEXN2q4s3NOYChUC9uUPL0HIN83ARzAkmp1qFU6/jPmgxmma3EKlRacmsUPL4yhRq5CjuZlNhgD3R6gcyqViaEe1FkJALunx7BxvTqHvO11qVW8suRMiJ9nVGotLSrtbg72vL6NSMpblAy72NDHszkSG+uih3E+tQq3tqS020//5o1hCXx+axNMfxQuDrImB7lg5ujLdePDxZDLmNDPMiqllMn72SIn+EcdKh13P9TEtOjfPnmzgmAgUR4eHky48O8uH96BEmlzUyK8OKpVWkM8nDgmbmG4MtLPtgLQNrLc7j12yM8MzdmQEGafSE+u44X1x4HwM/NnplD/Ugtb0EvCDwyazD7zYgr8/M3KdKLP5IrqFd04utqz58pFby5OYcxIR58fccEtmXW8OzqdOxtpb3aEs3x3jaDyim3RtFrC2RzvLs1h8/2FDLI3YEQL4P8XqXRUdncYQx3tmVndi2+rvZMDPfiQEEDz/yRLr6/uEEpHkej05NdLRdbVFe2dHDvD0f5ZNFYsbgxh4mk1OkFauQq0stb8HCyY8rgnsNo6xWdPPhzEndODWfBmCDe2pzNLwlltHVquWZsEB/dNIYVCYaVsq/2FiFXadmTW0dBnYIrRgVwz0URXP/FYXF/ucZrfGSgO7+cVde8AAAgAElEQVQ9GMyhggZu+SaB/No29ubV42ArRaXRG1RiFS1ip6YHpkfS2q5hpVFpWtHcIZI+WVVy8bP+mljG65sMBM1rV4/glfWZNCvVFvOdaWXRw9GWlnYN131uGF/O4nmi0rBe0UlaeQuCIPCvWUNIq2hhYriXhRVW3nFCgWSei1ZknK8SjdY7rU7PioRSGoxjqFN04mhrQ3x2HY95RIjve2VdJq8tGIG97Nzn41lxYcDVwZZHZ0dx59RwVidXsDmjho/j8/hoZx4yqQTTYq5GJ3DThBAentFzV7Prxwfz8rpMMqtaGRHoTnVrB//bmEmQh+MFk0EjlUrwHmCrcFMntg6NjmvHnRn7mglSqYT/LRjJVUv34+tqzytXjehz+6lDfHpUA10IkEgkvH3d6HM9DCsuYIwJ8eCTRWPPybHvmBLGpoxqViUZnncEQUCp1vHqhkwmhHlycZQvtQoV+bVtFNS1WSx0ujva8e71o8T6tai+ja/3FXPt2CDiuhDcY0I8iAlwZUVCGbfEhfY7A621Q8PijVn8kVyBt7Mdwwa5cdPEEMqb2nlvWy7Bno4sGGPInZOrNNz5XSIZFa3cPTWcB2ZEWlhcu2JSpDdPzYnmvW25TIr0ItrfleTSZl6dP7zH+XVkkDu3TQrjp8N6gjvlOCV0V25JJTAz2s8iBw4Mz8GHChsY4ufyt7PCnjECSSKRzAOWADbAN4IgvH2mjtUb5CoNk96MR6cXyHh1jsh6HihoQKMTmBjuyaggD7KqW0W72uwYP4oa2hAECPVyYuHYIDFotahBia2NBI1O4B3jD4d/l4th0ddHuHZcEGuOVRJnJjv814pjAHy4I48lN48RlSqPXRLFK/NHMP3d3eK2JjIps1Iu3oCCIFAr7yTUy4mypnY2ZVRzxcgA9uTWc9lwf3Zk1ZJf14ayU4uznQw/Vwc2pFUR4unIM3Oju2XWmFapqls7iPJz4c7vEyltbMfP1Z46M6LjcGEjBXUKQrwcaVCo+dBsNfzSD/cB8PUdE/jhUAlgaGv6wQ2xPLz8GDVyFT/eE0dyaTMrE8sYG+JB3JuGjKdDz8/mpbXHkUkl4uddFBfCvdMiuONbw1ic7Wxwspex5tgJb+m+/Hr2mQWa29lIUev0vLI+ExuphKtiDezwC1cME7fJeHUOgEgYJhY3Ud7UwYMXD2ZEoBsPLU9mmVFBJLORiAVuTBe5s51MymXD/WlUqtmeVctTvxtykFYmlqPRCcwY6svevHp2ZNUyZ0QAZU3t2NlICXBzwM1B1i27yhy1chV5tQr83ewZ7OvCoULLbkqPzBxi8f9dM5DAoLQxVyH8cKiEjenVFkqvsaEeyKQSvjtYzPgwT0pMBNLFkdTKOznWpR1up1YnknUmJQ3AbZNDsZfZEOhxYsIbEeiGVCrhmrFBIoH0/OUxfLA9F41O4MrRg1ifViUqwtwcbPn53kmAZXD5mBB3fk3E8josaqBTq+doSRN6vYBKq+OltZnszK5jZ3YdMqmENzZnc9fUcNakVCKTSrh5YqgFabMkPp/jlXLe2pxNh1rLkaImXr26+wNwk1KNvUwqKr5WJJRR2qjk+ctjLH7ctDo9H+3MI8jDEYVKw+aMalEWnF0tZ19eA+1m4eHmbYDvnRbJioQyXvgzgw61TrRI7siqpbKlQ+ymtSm92iIjJ72iBRcHGf7G9sKm8ZqQVtHSjUASBIEX1x5nepQP80YOQq3V89kew/U+PzZQJCwUKi0zjbbDF68cJpIgyS9eyupjliv/xQ1KVBodT61Ko61Ty968epbcPIYFY4LYnF5NTo2Cnw+XsnjhyG7fr3nDgk93FYj+943/N81i7G2dWt7flsvq5AoUnVqyqtPxdLLjmwPFhHo5YS+Tsj2zxiKE2qQOTShuoqypnavHBFlYP2OD3UmrMCwEmObuCF/D4sLG9CoUKi2LF45E2aklq0rOntw6HGQ2uDkYAuLfvm40D80YzMz391DR3C6qyJJLm/F2sePXxDJRSbh44UhumxTKV/uK2J5VI85zUgmEGxc0/N0cLBYPlh8p5b7pkeK5BsO19MXeQj7ckcfaf12EQqUVf4fkKo2o1pw+1IcXrojhq33FFNQpqGrpYG+uYa7MrDIokkw2yoa2Tj7emQ/A/dHXAgZ1wcqj5chsJLy+cFS382bF3wfnw/NXV7g62HLXRRHcdVEEtXIV2zNrLBSv3i723DGl925C80cH8vrGbP5IriDc25l7f0hC2anj94fi+rRjXOgwdWLLqGztd/e1v4LhgW58c+cEgjycerSuWWGFFX9/RPq6cPS/l1q8VmDsrLg5o5oPduTh6iBjqL8rlw33t3jW3pNbz70/JvHC5cO4b3oEr6zPxF4m5fkrYroeBolEwq2TQnlpXSYZla2MCnJnV04dvyaWERfhxb3TIi2enQVBYFdOHS/8mUFDm5p/zRrMY5dEiYtenVodt3+byDO/pxPo4Uh0gKtIHi27dRxzRwT06/M/PGMwCcVNvLYhi2h/VzydbLlxYkiv2z89J5pde9N5PXwW9NJF2tVBxktXDecGo+qpuEHJM7+nkVTajJ2NlJvjQnh45uC/DZF0RggkiURiAywDLgMqgKMSiWS9IAinN0TnJFiyM1+0SLy9JQeJxLBie7SkCS9nO365bzJ2Mikfbs/lSFETjrY2xEV4idaaR2cNwdZGSrDnCTnxBzeOYXaMn9jNY7CxEBgX6oFWL5Be0SoSHoklTXg6GTo41Ck6CXR3YFdOHZPfjEdpLCyHD3KzuDm2PjGd7w+UsPpYBWnGAsLUOUyt1XPHlDBWJZXz3z8z+OVIKa0dGq4bF0xaeQv5tUYCydgNC+CzPYXsz28Qi5q7LwonyMORcG9nbKQS3t2ay/cHSyhtbMfVQWZRtAOsSionv7aNmAA36p07SS1vwd/NnuX3TmLprgLWp1Xx2oZMwJClUlSv5JrPDonv/3ingXDan99g8frUt3cB8PO9cXRq9BQ3KLn/YkPhdP34YD7ZVYCfmwOxwe6sTa3CzUGGRCLh8z2F2MukeDnb0aRUc1XsINYcq6S6VcWsaN8eWWXTA6mdTIK7o60olZwd40eghyMr7p8sqlRKG9v5cp9B7RTo4cgjMweTXNpMQnETUyK9DdeDh+XNbdr+uXkxVDS38+DyZH65dxLlTe0EezpiIzUct6VdLaqTTNDrBeoUhu5xSrWOa8cF8eY1o4h5aau4jaeTLVKp5UO1qfi1k0l54fIYfk+uIKtazsb0asKNiqe0ilYa2jpFlZtUYnhIf3puNG9vyWFFYhnFDUpc7GX4utgT5efC+rQqvtlfhLO9jEVxoXxuJBpMeO/60SSXNvPAdMMqsZuRlB02yE0co3lnmodmGL6/HVm1RPo4MzvGj28PFGNrI7FQBdqZ2XtijUqKJ35LxcnOhozKVjFbqbVDw4+HS/jxUAklje34uNjT0NbJ98aQ8x8OleDlbEebSsvnewuZbrb6+d3BYuxkUnJqFDy5Ko12tY7rxwezI6uWK0YNorhBacjASa/Cw9GW2TF+TIr04sW1GegFOFbWzNVjgihtUPLwzMF8Ep9PZpWcT28Zy66cOtYcq2RbpiFzR6MTeHtLNq72sh5tZxE+zjx2SRQf78zHz9WehWMCWRQXyk1fHeHKT/aLnbW2d8nweX97HmzPw9nOhnunRxLi6UiHmZ3yv38ex8nOhoK6Nm6aEIqbo4xDhY38klBGfLYh0P1osYEk/OzWccwZ7s/GdIN67kcjCQyI5BHArd8kiF32TJ+lpEHJ9qxaNpllZj39exryDg3xOYYxr0+r4vnLY1BpdHg62SGVSjhe2coLa078uP6aWIadjRQkhuO8dvUICuvbWDAmkNc2ZHGgoIGLBvtw5ehBvLYhkzu+S8ROJuW3ByZT0tjOjV8e5r3tBrLS08mWZuP3ZprvovxccDJrUT021FMkkFyNc7i/qwOOtjasSjKQZHOH++Pn5kB6RQvr06pYk1JJbLC7eN8O8jDce3ty60Wb7M9HSi3yz64YFSCG5k6K9BJ/E36+N46JZgsLc0b488p6w/zp62rPu9tyGR7oxpRIb3bnGux0Gp0gEverkyto7dAQ6uVEYb2Swvo2ihvacLGXYS+z4YGLB5NW0cq24zXc8MVhWjo0XDlqEJsyqrGXSdnzzEykEvhgex4Twz3ZllnLnymVxCjr+fCmK/F2sePr/cVcMzaI8WHW1tR/R5wvz199wd/NgdunhA/oPZ7Odlw63I91qVWUNraTW6vg2zsnMGzQ2bV3nI8YFexOnUJ1Ru1r5jBXxlthhRX/DAzxc+GxS6J47JIo5CoNrvayHgn/R2cP4enf03hjczY7smtJLG7ilfnDe1X9LBgbxJubc3h7Sw4KlZaMylY8nGzZmV3H5owa3r9hNIN9XThc1MjHO/NJLG4i2t+Vr++YICrfTbCX2fDlbeO59vNDPPBTEiFeTmRVyQdEHoGBmP/oxliu+GQ/GZWtPH5JFE52vVMm7k62xKd+S6vMAVav7vb3xjY1r27I5Nk/0tmUXs2kSC+W7MzHXiZl8cKRYmzOysRybo4L4b9XDjvvleBnSoEUBxQIglAEIJFIVgILgLP6APPEpVFMjvRmW2YNvySU4WArZZC7I8Gejrx01XCxaJ0zIoCU8haeuHSoweYT4sHWJ6YTbbQkBJkRBnOG+1usaE8Z7M2Of1/MED8XGpVqDhY08PjKVC4e6otGq+fpudF4O9tR3tzO2FBPvthjCEZWqnVE+7t2k8PFBLjxzvWj0ej1xGfX8daWbH47Wo7GqNAI9HDk2zsn8sr6TFEVMXeEP78klLI7tw65SmsoII2ZHLY2EovQ5Eti/JkWZSiql90yliXxBVQ0d3D5yACeuHQocz/eh41Ugk4vEOzpKJItc0cE4OlkS2p5C/9bMJIof1c+WTQWL2c7UX20+uGpbMmo4ZX1maKSKaWsBTsbqdgxaOUDk/n5SCmb0qu5YlQA06O6W4kemTWEiRFehHk5k1LezNrUKi4e6itmAS1eOBJBEHhudQYjA91JKGqisqWD/145/KTXhLeLHa0dGoYNchPVM4N9Xdj/7Cwyq1p5aPkxcVtbGynPzovhpbXHSShuYmyoYaIKNQZoz4z2paZVRU6NAj9Xe4YNcmX9o9O4+tMDPPzLMVo7NMyMNny+2BAPfjxcypOr0gj2PHE97cyuswhFd7WX4WBrwxOXRiGTSkgubebxS4d2+xyXjwxgxf2T8HN1YIifCyOC3Lnhi8NkV8t58rKhLIoLpaGtk3e35vDUnGg+ummMSEo8MD2SQ4WNvLY+CzdHGYN9nZFIJMwe5sdnewpF8mBHVi17cuu4dmwQtQoV2dUKrh0XzA0TLFn4/c/Oslh9kEol3DU1XLTULLl5DI1tamQ2UmZFGwik68eHWGQ6Aax8YDLfHigmyu+E8uuBn08E0E+P8mF/fgOvbcgi2NORFfdPItLHhclvxVPVqiLIw5FIX2deuGIYKxLK+PlIKb8dLSfIw1EkoF64PIYfD5eKGT5XLT0AnAggtRjP0XJWHi0n0seZSZHe7Miq5SWjXW1FYhntah13TQ3nqtGBBHk4sjunTiQwwGB7vHliCM/Ni0Gj754v9MSlQ7ly1CAC3B1wdbBFEASREDOdY7lKg7+rA4Eejny6uwCpBD66aQyPr0zlk3iDgsRGKmFcqAeOdjYcLGgUOwSaVHUALvYyauQqHl5+jHpFJ/YyKTOjfZHZSLlkmB9OdjZ8ua8IX1d7JoR5suV4DVfHBrI+rYqcGoMV7J3rRlPVouJ/GzNJKG4iq1qORAKCAK/OH86+/AZeWmcgQ6ZEenO4qJERr2wDDET5JcP8WGWc+8zx+KVRuDnIeGNzNk/8ZlC7Ld1l8LC/de0oMWMiq0rOz0dKeW5eDH5uDvi62hMb4sHyIwYF08/3TmJJfD6OtjbivBXl74KLcUFgepQPN0wIFucrc997mLcTOTUKInyc8TN2Bxwd7MG8EQFszayx+CG3l9kwPsxTJGVCvZzIr2vjpauGc7iwkZ3ZtYSYLTpMjvAWCaTRQR4Wvx+D3B1FFeam/5vGjV8e5tZvEojwdqaoQYm/m8HSCwbVoYmkemZuNNuzannZ+H2bZ49F+7uyKb2aGrmKPx6aQoC7Aw1tnSxeOFJc+HjpKsNcOS3Kl4UrPiaqoxG4i2fmxhAb4sG40AvDEvQPxXnx/HUmcP34YDZn1LArp47FC0eeUteuCxEvXDGMJy6JOqP2NSussMIKE9z6CMV3spPx6aJxfOyXzyfx+cQEuPbZhdLNwZarYwP5LamcUC8n3r1+NNeMDWLr8RpeXnecKz45QEyAK+kVrfi72fPq/OEsmhTaK8Hi6WzH93dN5JrPDp4SeWSCt4s9n982ni/2FHLX1PCTbu8g6HDQKMGtO1Hm7+bAyvsn89PhEt7ZmsvevHpmx/jx1rWjxI7Uj8wczGd7CsitURgWVs9zSM5Eq2yJRHI9ME8QhPuM/387MEkQhEfNtnkAeAAgNDR0fGlpaY/7Oh0wSd6G+rsOKJzQBJ1e4PIl+1gUF8rdF0X0ua0gCOzOrSMuwlt8WO8Jx8qa8XG2F8mI8qZ2Wjs0ooVjc0a1sXuYnlHBHpQ2KtHpBDb83zTR/mCO7Go5T6xMJbdWwVKjZ/Z/G7PY/+wsDhc20tyuZvHGLLY+cbFF+/Su2JtXT6dGx+ubsln14BQe+zUFRzsbPrzR0P40q1puQfo0K9U880caOr3A93fHodXpic+pY3qUD4s3ZvHb0XKemhNNtL8rkwcbvhO9XmBPXh3jQj3xcLLrbSiAQXGycNlBXpk/nNLGdlYeLWf9oxdRp+jkpi8P891dE5FJJSg7df1qe/vcH+n8llTOS1cN595pludSrxfYnlVLankLhwobWP/oNMDQtemWr4+w7YmLxesnPruWi4b48O2BYt7fnsvtk8P43wKDXaessZ0nV6WSVNrMfy6P4cEZgxEEQ4eZNV2sQP5uDvi42BPs6UhyaTPLbh1noVDoLwRB4IPteaxPq2LlA5MtrGU9oaVdzfOrM8itVfDBjbFiwVje1M7xyla+P1TCsdJmFowJYvHCETQo1LR2aPrdWrivcW7PqmVmtG+f7HpqeQt5NQo+3V3A6GB3ypva+fm+SRwxXstXjg4U76+ViWUs3VXAslvHiaRVVUsH843k0Dd3TmBFQhkKlZbPbh3H9qwa3tqSw/BBbmzPqmXeiACSS5u5ZVKo2PlnVLA72zJreHNzNp/dOo4Rge5odHq2Z9ZSWN/Gb0fL+e+Vw7iii2Xg/35NwcVexrBBrny5t4gvbx/fr0wiE/JqFXRq9NTKVUyL8rEgG/bk1jE2xBN3J1te25BJaWM7M4b68sXeQj66aQzBno7kVCv4YEceQ/xcSCxu5MYJIfi62hMX4cXe3HqWxOfjZGfD4gUjudxs7D8cLOanw6W8cc0oAtwduO2bBJbeMpb47FqOljTz871x4vn6fE8h723LQSKR8PScaCJ8nLlsuD8qjY5bv0nAx8We928Yzc+HS1l9rILrxgWzIrGMWrkKbxd7ov1dcXWQ0dimxsfVjveuj8XZXkZrh4bbvkkgzNuJpJJm7pkWzv3TT3S8UGl0JBQ3cXGUj/jagfwG7vnhKCFejmz/9wxspBI0Oj0vrMkgq1rOmkemYi+zYU9uHZMivHG0s+HBn5PwcbHnjWtO2LTe3JzNV/uKeGz2EJ6cc6IDUpNSzbWfHeSRWUO40Yw4LWlQcvcPR3l01hCmDvGmrLGdSZHeFNQpuPmrI/xy32Sx409Nq4prPzvIy/NHMG9k94eYyhZDl7cxIR4oO7W8vSWH7Vk13DElnFnRflQ0t9PcrmbqYB+eW52OjVTCd3dN5GhJE0+tSuPGCSHMjPZlrPEebmlXsymjmpgAt/51CJo503iB7Tn5tn8REokkWRCECWf8QP9g9Of5qysmTJggJCUlna0hnjK0Oj03fXWEqYMNGRVWWGGFFVacvzha0kSQh2O/apKkkmZmRPtaWJLrFZ28uiGT7Go5d04J56aJIRbPxX2hqL6N/2fvvMPbqs4//rnykveOt+PsRSZZhBX2HmUVaBmFlA6gpS2ltP2VtpRCoRTKpoywCTuQEBKy93ASO07ieO9teUnWXvf3h6RryZYdO7FjJzmf58kT6+qOozvOPed7vu979BZ7D5fSkNHPtlRNm5FSjZ7FExP9Org8OY6HgsFsgw2bgOTNydJ4EQgEAoHglEIISKcU/W1/nchBPIFAIBAITmlOYFvqWBnMNthQhbDVAd5xLunuZQKBQCAQCEYKI7ixIzgm+tX+kmX5DeANcA3inZiiCQQCgUBwCnKataWGKshuLzBBkqQxkiQFA7cCK4boWAKBQCAQCAQC0f4SCAQCgUAwhAxJCBuAJElXAv/FNY3sUlmW/9nHup1A0ZAUxEUmUD2E+weIBrRHXevkOc6JOGdwap23U+mciftsZO3fg6jLBsapcn+dyOMM5TmbJMty5NFXExwPA2l/udfXAEMVwzZS694EoGWIj9FfxP570v36nIy/4VTa/9GOMZDn6Vj2PxgM9zkaKfvv61qdDOUf7mMM9f4H41nqbZ+jZVnuOXvVsSDL8rD/A/YN8f41J+A3vHGCztWJOs6Qn7NT7bydSudM3Gcja/8n8nyJZ3Jk/pZT4ZwN9bte/Bt5/0Zq3TuQe3Gk/oZTef/dr8/J+BtOpf0f7RiDUbef6udopOy/r2t1MpR/uI9xAvY/6O2kodjnyJ8nbnDoOAHHWHkCjnEij3MizhmcWuftVDpn4j4bWfv3IOqygXGq3F8n8jgn6pwJTg9Ohbr3ZP8NJ/v+T8QxxP6H/xgn+/5PxDHE/of/GCeqvTeiGbIQtgEVQpL2yUM4M8tQ7/9URJyzgSPO2cAR52xgiPM1MMT5GjhDec7E9RCMFMS9OLIR1+fkQlyvkwdxrUY2Q3F9hmKfI8WB9MZJvv9TEXHOBo44ZwNHnLOBIc7XwBDna+AM5TkT10MwUhD34shGXJ+TC3G9Th7EtRrZDMX1GfR9jggHkkAgEAgEAoFAIBAIBAKBYOQyUhxIAoFAIBAIBAKBQCAQCASCEYoQkAQCgUAgEAgEAoFAIBAIBH1ySglIkiRdL0mSLEnS5OEuy8mEJEn6o3y/WZIkkXANkCQpXZKkbyRJKpEkqUySpBckSQruY/2HJEkKO5FlHIkc7R4TdCHqsWNH1GX9Q9RjgtMF8e45ORB198hGtEtOHiRJ+rMkSfmSJB2UJOmAJEkLhrtMAl9OhTbYiMiBlJCQIGdlZQ13MQQCgUAgEAwR+/fvb5FlOXG4yyHwRbTBBAKBQCA4tRnMNljgYOzkeMnKymLfvn3DXQyBQCAQCARDhCRJVcNdBkFPRBtMIBAIBIJTm8Fsg51SIWwCgUAgEJxULF7s+icQCAQCgUAwCMiyzH/XF1PfYRruogiOxknYDhQCUj/5JLuaD3eLwVOBQCAQCAQCgUAgEIxMipv0/Hd9Cfd/nDPcRRGcgoyIELaTgXd2VNKoM3PrvAwCA4TuJhAIBAKBQCAQCASCkYXD6cpxbLI6hrkkglMRoYT0A1mWqW4zojXZ2FfVPtzFEQgEAoFAIBAIBAKBQCA4oQgBqR9o9BZMNpeCu6GgaZhLIxAIBAKBQCAQCAQCQU8kyfX/CJhsXXAKIgSkflDTZgQgPDiAdUeakMXTKBAIBAKBQCAQCAQCgeA0QghI/aCq1SUg3TIvg8pWI2UawzCXSCAQCAQCgUAgEAgEAoHgxHFaCkhPflfAl/tr+71+VasRSYK7F2UBsF6EsQkEAoFAIBAIBAKBYIThFNEygiHktBSQlu2p5usDdf1ev6bNSGp0KKPjwxmbGM5+kUhbIBAIBAKBQCAQCAQjDM8sbDJCSBIMPqedgNRpttFpsVPZ2v8wtKo2IxlxoQCMS4ygskWEsAkEAoFAIBAIBAKBYGRhdwrhSDB0HFVAkiRpqSRJzZIkHfZaFidJ0jpJkkrc/8e6l0uSJL0oSVKpJEkHJUmaM5SFPxYatGYA6tpNWO3Ofm1T3WZkdFw4AGMSwqlqM+IUD6ZAIBAIBAKBQCAQCEYQigNJdFcFQ0B/HEjvApd3W/YosEGW5QnABvdngCuACe5/9wGvDU4xB4/6DhMAThlq2o1HXd9otaPptJAZHwZAVnw4VruTeq1pSMspEAgEAoFAIBgcZFnmj18dFGkIBALBKY9DGB0EQ8hRBSRZlrcCbd0WXwe85/77PeB6r+Xvyy52AzGSJKUMVmEHg0a3AwnoVyhaTZtLKMqMcwlIYxLC3dseXXwSCAQCgUAgGGwkScqQJGmTJElHJEnKlyTp1+7lfh3iAjBaHSzLruH2N3cPd1EEAoFgSBECkmAoOdYcSEmyLDe4/24Ektx/pwE1XuvVupeNGOq9BaTWo4tAVe5cSaPjfQWkihb9EJROIBAIBAKB4KjYgd/JsjwVWAjcL0nSVHp3iJ/2eGYlsvQzfYFAIBCcrIgcSIKh5LiTaMuyLMPAU7xLknSfJEn7JEnap9FojrcY/aahw8SoyBAi1YH9ciBVt7lEJo8DKSkqhNCgACqEA0kgEAgEAsEwIMtygyzLOe6/O4ECXAN2vTnET3vEiLxAIDhdcDhdQrmo9QRDwbEKSE2e0DT3/83u5XVAhtd66e5lPZBl+Q1ZlufKsjw3MTHxGIsxcBq0ZlJiQhmTEN6vmdiqWo1EqQOJCQsGQJIksvq5rUAgEAgEAsFQIklSFjAb2EPvDvHTHjEiLxAIThfsDlHfCYaOYxWQVgB3uf++C/jGa/md7tnYFgJar4bMiKBBayI1Wk1WfP9EoPx6LZOSI32WjUkIo6If7iWBQCAQCASCoUKSpAjgS+AhWZZ13t/15RAfLhf4cCIcSKc3C5/cwFvbyoe7GALBCaFrFjZR7wkGn6MKSJIkLZPdIxgAACAASURBVAN2AZMkSaqVJOle4F/AJZIklQAXuz8DfAeUA6XAm8Avh6TUx4gsyzRozSRHq8mKD6Ou3YS1j1h4q93J4XodszJifJZnxYdT02bE7hBx9AKBQCAQCE48kiQF4RKPPpJl+Sv34t4c4j4Mlwt8OBEOpNObRp2ZJ1YVDHcxBIITgkMIR4IhJPBoK8iyfFsvX13kZ10ZuP94CzVU6Ex2jFYHqdGhxEcE45Shpt3IuMQIv+sXNuqw2p3MyvCdxGRMQjh2p0xtu4ksd1JtgUAgEAgEghOBJEkS8DZQIMvyc15feRzi/8LXIX7a4xAhHactTiEeCk4zhONSMJQcdxLtk4kGnQmAlBg1o+Ndwk9fibQP1HQAMCvT14HUNRObCGMTCAQCgUBwwjkbuAO4UJKkA+5/V9K7Q/y0x+4UrvHTFZu49oLTDE8OJCEj+WKw2Clt7hzuYpz0HNWBdCrR0GEGICU6tF8i0IHqDhIiQkiNVvssz/La9oJ+HDe/XgvAtNToYyi1QCAQCAQCQReyLG8HpF6+7uEQF4gR+dMZ2zC7zzwpLwIDTqtxe8EwIuo7/yx5bx+7ylupeOpKXEZewbFwWtVk9Vq3AylaTWxYELFhQZRp9L2uf6C2g1kZMT1usPjwYEKDAqjrMPnd7nCdlufXFSufH/smn8e+yR+EXyAQCIYam8NJm8E63MUQCAQCwSAiciCdvtj6yHd6Ijj76Y1c+/KOYS2D4PRCqe9EtefDrvJWACzDXCec7JxWAlJDhxmVBKMiQ5AkiUnJkRQ2+rexaY02yjUGZncLXwOQJInkaDWNOrPfbb/KqeOFDSVoTTYAqtuM1LYbB++HDCINWhNPrykUSrVA4Ob1zWWc+cQ67lqaTZ47jFUgEAgEJzeinXP6YhvmSW+adBaONOgwWR3DWg7B6YNDhG32iXgWj4/TS0DSmkmKUisW0snJURQ1dvpNrpdX685/lNFTQAJIjlLTqPUvIDW4nU617UYsdgeaTgvNnZY+Z3wbDIqbOgc8Rel3hxp5bXMZpc29O7EEgtOJoqZOIoIDOVyn5aFPDwx3cQQCgUAwCAgH0umLdYTMmtxhEu5mwYlBCOZ9Y7IJAel4OK0EpPoOEyle+YwmJ0ditDqo6eYOstgdvLuzkgCVxPR0/3mLkqN7F5Dq3aFtNW0mJe+SLENTL46lweLjPdU8sapAcT71B09Z63sJxxOc+jicMkve28fOspbhLsqIoEFr5oy0aO5alEVFiwGj1T7cRRIIBALBceI9Im8fIYKC4MQw1AO4/cViGxnlEJz6CMG8b4zCgXRcnFYCUkWLQUmADTApORLAJ4zNbHPwsw/2s7GwmceunkqUOsjvvpKi1DR3mv26l+rdwlJtu9EnT9JQizQ1bS4hzDOz3NZiDVuLNX1u4ylTb/mcBKc+DVoT6wuaWHekabiLMiJo1JpJiVYzMSkCYNjdeWL6YYFAIDh+7F6JlEeKI8UfRqtdac8JBofhTqLtYSTfd4JTC48DaWTc+SMPs3AgHRenjYCkt9hp1JkZlxihLJuYFIkkQWFDl4D06qZSNhdpeOqG6dy1KKvX/SVHhWBzyLQZfe2onpA1gNp2k6+ApB1akabKIyC1ugSkf64q4A9fHkSWe68+hANJUNPmuvblmt5nJDxdcDhlmnRmkqPVTExyCcxFveRJ88Zqd1Lc1Pt6f/3mMGsONw64PFa7k4ue28Irm0oHvK1AIBAIuvAO6RgpjhR/LHlvH+c+s6nPtptgYAx3DiQPwoEkOFEIB5J/PPNiiRC24+O0EZDK3bOtjUvsciCFhwSSGRdGUZMOgFa9hbe3V3DV9BRum5/Z5/6S3aFw3cPYvD/XtpuoazcpN2t9x9CFsDmdMtVuAamixYDV7qRMo6dBa+ZgrbbX7ercZRIC0umLJ4SzokUISC16C3anTEpMKKPjwwkOVFHSDwfSsuxqrnxhG81+wlR1Zhvv7arioz1VAy7P6sMNVLQY2F4iwgsFAsHpSZlGT9ajq9hQcHwuWftJIiDtLHPNEiRCLAaPkeL8sTrENRWcGDyCufMUFqJfWF9C1qOrBiQQe+ZVF0m0j4/TSEBydY69HUjgyoPkcSC9trkMk83Bby6ZeNT9JUW5BKTueY08IlFESCC17UbqO0wkRaqJDQsaUpHGO0l3RYuB8ha90lj6Pt+/88Fsc9Cid7mlRAjb6UutW3j0JH0/nWlwC8ApUWoCVBLjEyP6dBZ5yK1ux+6UOeBn1raCepdAnVPVPuC8G+/urAQgv14rRqMFAsEpR227kQv/s1mZfMQf+yvbAdekH958sb+WJe/t6/exvB1IQz2Fc6PWzEX/2XxcoWhtBpFwebCwDaNg6HPfCQeSYAA0d5q5+LktVLcOvB7x9AHtxxG+uXR7BX9efuiYtx9MmnRmLuxWp3rc+QNxE0luV8dIFOifWl3A9a/sGO5i9IvTRkAq0+gJUElkxof5LJ+UHEVlq4Hc6nbe313FDXPSGT8qope9dKE4kHoISK5G0NysWCWELTVGTWpM6JAKSFXusLXgQBWVLQYl7CYlWu0jIMmyzIq8eoxWu9JZDg5QDak7yhtNp4XffZZH+whrGOnMNjrN/U8+fipR2+66L50yQ553QWuyobeM3KTUje5OjOf5npgUQXE/QtgOu0Uif24/z3cGq8Mn35qHdoOVbw/W9xCIDtR0kFvdwZSUKHRmu3KdBAKB4FThoz3VlGsMfJVT1+s6Nnfy6+BAyWf5w5/nsX4AriQfB9IgO1KcTpl/f1+oDCp+sb+GMo2BZdnVA96XOsjVNBcCEhyu07J0e8Vx72ewciBtK9HwdW7v96r/Y3fda0MtXJ4qrD7UwMZC32fb7nDyr9WFtLoHvj0M1j0yEllxoJ7SZr0ymDgQPPkzj2dg+PFvj/DRnoHXYf7YWdbCF/trj3n7L3NqKdcY+HB3l5vfU48fSz6jkZgDqVlnodVgOfqKI4DTSkDKiA0lJDDAZ/mU5EicMtz8+i5iQoP65T4CSIwIQSVBk9a/gDQvKw69xU5Bg4602DBSokMVwWYw8TiIPOFrC8bEUeEWkAJVEveeM4YyjUFJBHykQcevluXy6d4apawzM6Jp1JmP6o6QZZlvD9azv6rtmGcw+XB3FV/m1PLNgYG9gIeaO97O5qFPTs8p22vajUSEBAJDnwdpyXt7+cWH+4f0GMeD4kByC0gTkiKp15r7FBdNVocSIptX29OBlF+vJSzYVe/srWzr8f1LG0t54ONc9le1K8vsDicvbywlPDiA/7tqirIfgUAgOJXwdHJUktTrOh73SKDKf5O1r4kG2gxWNhc1A76zsPXlBNlV1jrgWXP3VbXzyqYy/vDlQVeZ3YJFYEDvzey6DhPZFT3fCaFBrvdF9xybw8X6I00Yhmng5+qXtvP4t0eOe0rywcqBdMfb2Tz06cDaitbTVEDaW9lGbfuxDUr+4qMc7nnX1124pVjD61vK+NvKIz7LPffIqejS9oSfqXqvHnvFIxyZB8H1Nhhiy+1v7uHhz/OOeXtPPb+noq2HIWMgzj4lhM3mILuibURF4JisDqX+H+mc0gLSd4ca+PkH+5FlmXKNoUf4GsAZadGoJJiWGsXKB88hLSa0X/sODFCREBFCo86Mzmzj7yvz0Zps1GvNJEQEK7mW2o02UmPUpMWoB/0m3VfZxrx/rmd/VRvVbUYCVBLnjE9AZ7azu7yVsYnhXDUjBegKYzvkdkjkVnco5ZmbFYfDKdPc2bfqmV+v44GPc7nxtV0sfGrjgC2VTqesqM/f54+cGb8O12nJq+kgu7LtpH0BybLMf9YWUdioG/C2NW0mFo2LB4Y2D5LRaienuoNtJS3H3KgYCoqbOnnquwJMVgcNWjPBgSriwoMBmOROpF3c1HsepIJGHU4ZRkWGkFfT0eMeOlKvY/6YONJiQnsISHaHkxV5LjH1HfcIk9Zo4yfv7mV9QRP3XzieM0fHEqCSyK8f+LUVCASC4aKwUae0OSpbDD51o6bTgt5iV4SB7jqLwWJXnAZ2ZR3/vSiznxH20uZOGrVmbn9zN3e/sxezzXFUB1Kn2Uabwcptb+7mupcHFkbgESgaOlwDDp7PQX30/C59bgu3/G8X4Oo4NHe6RKuwYNeATnenttXu7JF3szsOpzyo79fKFgNL3t/HI25hbLhoP04x7VgdZ2abw29uw4HgHT43XGkCWvQWH/e32eYYsEg6UG5+fRfn/3tzv9d3OmVq2oy9utQ9z6/J6v/7oQxJau40Y+zluEOJp8pSHYOC5DkfeosdXT8jLBq1Zix2B616i8/A6YnMk1vTZvQ7KOB5hA/UdLDoXxt9vutN4NK563QP7Qarch91mm3c8r9dXPrclkEq+fFjsgkBaUSgN9tZk9/Inoo2ylsMjPMTmpYRF8aah87j05+dpeQ16i/J0WoadRZWHWzgnR2VrMirp77DREp0KOmxXaFy6TGhpMSE0mm2D2qY1LqCJmQZVh9qpKrVSGqMmgnuqcdzqjuYmBRJSnQo01KjlCS8h90uhgM1HdR3uBJ8z8mMBVwVxPu7Krn33b1+X5g51S6HxN+vnUarwcLybjbenWUtfLq3y+q4LLuaT/dWK26lHWUt1HWYmJgUQXZl25Dasw/Vannyu4J+5a/5bF8NAJ1mO1XHEGc8Eiht1vPSxlJeWF8yoO0sdgdNnWampkaREBE8pALSoVqt0ln45kD9kB1nIGwoaOKGV3fyv63lbCxspkFrJiVarcRIe2ZiK2nq9OnseOMRdn44LwOd2U6l1z1ktjkoadYzLTWKeVmx7K1s9+lEbStpoUVvZUpKFGsON1LS1Mntb+1md3krT984nV8uHo86KIBxieE+AlK7wcq/VheOSAuuQCAQAPzpq0M8tbqAggYdi5/dzBtby5Xv5v1zPWf/ayMO2b8D6YoXtnHmE+uBLtdGUID/TlT3ZKhak42Ln9vK1S9tV8KGNZ2Wo87Cds7Tm5jzj3VAz/QER8PTKSlq6mTxvzcrn/05kDzvAIO73Ba7g7uWZjP/nxsACOklhO33X+Sx8KkNfbppnvm+kHOe3jRo4oBHnOtPKPdQ0qLvX1iHwyn7dcgfqwPpzrezmf/khmPatuvYw5+8fe4T67nqxW3K55++v48Fx/m7+sNAnGOvbCrl3Gc2ccZfv/f7vefp722XneahE3jm/3MDN762a8j23xvOXurH/uAtqM15fN3Rj+WUWfjUBh78OJczn1jPVS9uV74biggabzx1YmGjjnOf2cTSHT1DEh3dBme9763eciCd90xXnQ4w2+tvT+oWwwjKhWSyOQgNFgLSsHP1zBQi1YE8s6YQq93J2IRwv+tNTIpEfQyKX1KUmiatmS1FGsBl86135zzK8BKQ0mJDSXU7mwb6ENZ1mHp1LnlEoY1FzVS3GcmMC2NMQpdINjnZ1fldMCaenOp2rHYnh+tcndDqNiOH63SMigwhy50Xqq7DxJvbytlQ2My1L+/gcJ1vyExOVTujIkO486zRzMmMZU235NxPrynisW/yMdsc6C12/vL1Yf7w5SEu++9Wvsqp5aPd1USHBvHUDdNxOOUB5S7w0FcjYN2RJpa8t5cLn93MNS9v542t5by+uazP/ZltDr7OrVPO1cG6kzNMaHe5a9aWDQXNaI39FynrO8zIMqTHhjEmIXxIQ9hyql3hXZOSIvkqp3bY3V5lGj0/fX8fWQlhhAcHsLu8lUatiWQvITk9NpTQoABe2ljKnMfXseS9vT3uwSP1WqJDg7jiDJfb76BXGFtxUycOp8y01GjmZsWh6bQo4aYAX+XWERsWxCu3z0aWZa5/ZQdFjZ28cedcfjivaybIaanRPiFsX+bU8vqWMtYdGTlOPsHIpLbdeEzORIHgeEmLDaOuw6SI391zaWhNNqXTJ3l1kKY9tsannvSMnvfWcezeefC4dLxFhxa9xSeZrL+OvNbU+7vzuld2cOsbvXcgvUO8Wg1W5T3h3e8z2xxkPbqKMX/8jqxHVynLJ/3fGrLd7lSnUyZI1SUgTf7Lap78rgCAVQcbAJjw59XsLPU/M+fGAle4Xqv+2AboZFkm69FVvLihxF1m1+/wCGK/+fQAc93C3mDyf18fYspf1vT6fUunlXaDlaxHVykpECpbDGQ9uoqdZS1K2a98YRsLn9rYw+nj73r4Y+GTG/jL14eVz57r0l2U6itssjsjJQdSVauR3Op2sh5dxTZ3/2GoBK1jEezW9tGeMVjs3PeBK/1Bb23HT/ZWk/Xoql7Fxtp2I1mPrmJrscZn+b9WF/o8j93xCBUFDYPzHrXYXfXAu35Eku70dn3++NWhXoU2D96OKbtTptw9m6Wnv9Adg3t9z3XwroN/9NYe/rnKN3Tw+ld2KA5K6Ko7Xt7Y90C2v99042s7+en7+5RJrfZXue7TVzeXKut0f+Z0XvV1b2F6HX30h4r6KYpb7U7G/nHVCcmzZRYOpJFBWHAgN8xOUzqu/hxIx0NylJr6DhM7SlsIUEnsKmultt1EakwoUaGBRLrzyqTGhJIW4+qU9iYG2R1Ocqp93QntBivXvbyDG17d0cPS2aq3kF+vIy0mlHKNgSMNOjLjwkmPDVVs3h73xPwxcVjsrv0XNOiYkR4NwNYSDaludxTAliINNW0m7l6UBdAjVjW3poPZmTFIksRl05IoaNApSZdb9BYO1nZgsTvZXd7KztIW7E6ZBy4Yj0qS+O1neazJb+QHs9OYkxlLWkwoa3uZHa43sivamPbX73lxQ0mPF4jeYuc3nx4gv17H+FER/O2aqVxxRjIbi5r7zNf0fX4jOrOdR6+YTHCgikN+ctgcL8cbu98fdpe3oQ5SYXU4+fZQ/909nuuXERvK2IQIyofQgZRb3U5WfBh3n51FmcbAoT7EujaDlcdXHuHXn+QOmdC05nAjThneunMec7Pi2F3eSn2HWRF7wWUbPnN0LDqzjYumjGJTkYZHvjjo8yLLr9cxLTWKiUkRqINU5NVofb4DV4js/DFxAErDTWe2sTa/katnpDI2MYKLpyRhsDp49uaZXDBplE9Zp6VG0aSzKA2jLe4G0CZ3bg+BoDtGq50nvj3Chc9u4YZXd/Zwvzqc8rCLuIJTm9QYNXXtJv7knsXH0zbxrj89Ye1ak40l7+0lr6bDZ0T4rW3lSkehN8flX7/J50dv7VZEA38dyBa91edd/OO39/R7sOWzfTXk1XSwu9wlJry9vYLXt3QNTsmyzC8/yvHZxiNWrc1v5FfLcilu6uScp33DLvzx95X5FLmd0006C2abU3FueYsfX/WSyNmzTm8hW1qTjbuWZvc6YYbOLeg9t64YcDn5oUsQWJ5b12830ED4cHc1JpujR50UHOjqprQaLFzpdtB8vKeaLcUaFj+7GYBPsl0u8sN1OoqaOmnRW3oIaJ5Oa1/6kd5ip1Fn5oPdVSzdXsFrXgOQum7uFk9n+5VNpby1rRyt0cbd7/g/rwPNgbQyr55/fHvkqOv1F+82cHf392BFRXy2t4Znvy9SPh9LzixDHyFiGwq72jq9Nak9oqcn5yvA5/tquPbl7VS2GNjjfn7f31Xls53nWTbbHGwt1nDPu3u5a2m2IkR7h092F8YO1Wr5+Qf7qeswcefSbCUMtS88A7WvdhvgPlyn5e53svnJO9mKWOUR2LvXfcuyq336hU06M3ctzebed/ey5L29PL+uuEdI344yl3DUPQft6kMNPPbN4aM6uN7c5iugHKjpILuijate3Mb2khY63eV5dm2xUuYl7+3tMYB16xu7+GhPFU+5hfE2g5Wc6g7WHWlS7keP8OMdVdHdgdThIyD1fDd49zHf3FreQ4DyN7C26mADf1uR77NsW4kGpwwvbyrtsf5gY7QKB9KI4fYFo5W//eVAOh6So9V0Wux0WuzcsXA0VocTk81BanQokiSRFuvqiKbFhJIS7XYg9TLb2f+2lnPDqzu5+529SqX1+LdH6DBaadJZeGF9MWabg7e3V1DarFcqgkcunwS4Xo6j48MIClCR4T7u5OQoAKXj+vGeaix2J7fOy0QlubZJjQklIiSQ6NAgvnWPbv1i8Th+sXgchY2dSghYi95CVatRCXe7bFoy0JVbaUuRBs+zvaVYw5ZiDeHBAfzqogms/c15fLRkAXedNZr7zhuLJElcMjWJrSUtfLC7qt+zcr2xtQy7w8lz64p5cFmuz0vxy/216C12Xvvxmbxx51zuPnsM18xMpcNo80lO7I3TKfPWtgoy4kI5b0IiU1OiFFGjssWgvChkWeZQrXZAI04edpe3Mu2va3xcKYONLMvsLm/lyjNSmDAqguV9zGbTnRp3roSMuDDGJIbTorf0O1Z6oGXMqe5gTmYsV05PIThQ1eNl5GFvZRvnuy2s3xyoZ2+lb3LpR77I48vjmMnBw/qCJmakR5McreascfGUNOtp0JqUGdg8vH33XPb++WJe+/GZ/P6ySSzPrePql7azLLsarclGYUMnZ6RFExigYlpqtE8i7fx6LZEhgWTEhjE+MYIZ6dE8v66YNoOVZ9YUYrE7ufHMdACevnEGX/5iEdfPTutR1mmp0e796TBa7UpDaEuR5pjuy6GirsPE+iNNbCxs6hFWIjixPLOmiLd3VHDexASMVodSv4NLvDz36Y28sGFgIa8CwUBIjwnF7pSVznu70YrV7uRxP53jFzeUsL6gucd3T6wqUER3k83BgZoOPt5Trcw8C67O5Y7SVkqa9Dy3tshvJ75Fb/HJgQRw1Uvb+gxz13RaeG5tEY980ZX/50BNB//49gj/Wl3IK5tKkWXZZ1YgD558dznVHazIq+fjPdW09MMV9J5X5/bLHN/33ED03rX5jYpjqWt7mVvf2M2WYg1PrS7wu113ccjTPus+Ffgza1wh1P9ZW0SbwcrB2g4+21vTa3nqO0z88atD7Clv5bm1RegtdvZXtfNVt9+oM7mOt7VYw6qDDYS4BaRGrVlx8CdHq7lrabayjdFq561t5T6udm/nwY7SFqW94ZRdouSLG0p6vDu974XHvz3C02sKlc/tRqtPh9Ngcb3f/v19EU+sKuD9XZVsLtLwth+XgrfocDTHT2WLgQeX5fL29op+CfxrDjeyw48bTWu08dy6YmwOp4/41X02r75EA1mWeXNrOe/trGT9kSYcTpkX1pf0mAUN4JEvD/p0sAc62+6O0ha/Dvicatc9csQrhN/7rHjnBPNcTu/r+t/1JRys1ZJT3a44apy9nNf/+/owdy7NZmNhM1uKNXywuxLwfSa2e51rrdHGNS9vZ01+I499fZitxRoWPbWRu5Zm89neGpZlV/eI5IAu50tCRAh1HSZe31KGLMvc/3EOm4s0bCrScO+7e3ng4xzlfnp3Z6XffoRHOHl9SxlbijVsKGxmfUEzL2wo6SEg5bvLsiy7BrvDidZo4z9ri/jFRzm8v6vqqHlwvek+iPrjt/f0mCDnQE0H6wua+dNXh3yW51R38Oflh/mfWxj3bjN78uN6+iYxYUE8t7YIs83Ro03pLez5E5A8jjWAf35X4CM4ubbv+rx0ewXv7Kjg/o9zeHdnJbIsY3M4eX5dMTtKXf3ttJhQGrQmnltbxJPfFfDQJ7n9HoR4fUsZb20rp1ln9lv3eDBZHccUETUcBA7VjiVJuhx4AQgA3pJl+V9Dday+mJQcybysWMo0BiUx7mDhCXUJUEn8+qIJLM+tQ2uyKQ6GdLd9O1IdRGhQAAEqyafR48HmcPL+rkpGx4exp6KV8/69iRlp0eyraufXF02gSWdm6Y5KNhQ0U95iYGlMKFNSoogODeLqGam8sL6E8hYDmXGuULQxCeE06Syku4WkuPBgJiZF8N0hV2Ni/pg4JiZFUtjYqSQNT40JVdxJSVFqrpyewt9X5rPiQD0PXzaJA24X15zRLgFpdHw4k5Mj+T6/kSXnjmVjUTOJkSFMTo5kS7EGq93JWeMSlNGjs8cncPb4BOU333vOGPZWtvGXrw/zysZSVv/6XGK9rs/6I02Ut+gZHR/OeRMSae40s6GwmQcvGI86OIBn1hQxNiGc3146CadT5r2dlczKiGFWRoyyj/MmJhIcoGJDYTPzsuIoaNQxJTlKSUb3TV4dh+q0PP/DmahUEjPSo/kqp44j9TqueXk7185M5fkfzuLdnZX8feUR5o+J4z83zyQjris88Wi8sqkUs83Ja5vLeO3HZ/Z7u9LmTrLiw/ucwcVDSbOeVoOVhePiGZ8UwTNriijX6BnrFkxlWVbCA7QmGwaLXblHa9pMBAVIJEWpGeMO8Sxu7GRuVlyvx/M0aqQBxGTXtpto0VuYnRlDdGgQ9y8ez/Pri7lgUiI3zEn32feT3xUQqQ7kwyUL+NFbe/h0b40igr64oYTP9tWyPLeOiUmRTHe76co0ev76TT6dFjup0WqevmkGUeqgHr/fQ3OnmQM1HfzmYtesiwvHupKIO+WuGdg8eM/c+MvF40iMDGHp9gr++NUh/r4yH6vDybRUl1g7d3QsS3dUUNLUSWZ8GDtLW5mS2nXP/fummVz90jZufn0nZRoDPztvrHLPxoYHc2YvddS0tCgCVRLf5zfidMpYHU5uOjOdL/bXklfbwWy3sHss6C122vRWMuP7f1/7o7LFwLUvb1caq2eNjeejJQuOKfmj4PhoN1j5dG8NN8xO59mbZ3Dp81v5bF8Nt813hUW+uqmMeq2Zt7dXsOTcscosjIJTg5HT/opS/p6TGUNOdQd/Wn6oz6mc/SVLrm13ObezK9r4yj1A8sO5GT3We3ZtEZuLND3qcHCFY6R2W17bbuKqF7fxyX1n+W2bPfVdQQ+nz/WvdCXX/vf3RaTGqPnLN/ndN1VyL3k4lmm4vdnnZwbP9UeaaNSZmZcVxyR3GL4Hj7vhqhlXAa5Oa3OnWXE2bChoZn9VG2XNBq6dlap0Wlq6dSI9ThK9xe4zrfqrm8uQgdc2l/HJ3ho0HeIk4wAAIABJREFU7u1+MCeNoAAVGwubWDQuQdnvyrx6lmVXsyzbFca4rbSFXHe78vpZXYMmr20p48cLM7nTLRB5BKQiL3EnqFu7qKrVyPoCXzduh9d99KO39vh898Qql3hmd8rcd97Yfs1C+9a2CqXs4AqH8g7x2ex2BUeHBvls16Qzs7usK2TIO7TO4ZRZnlvHrIxoxo9yXb+fe3XCK1uNNHSYWORuOzfrzFS1GQkPDiQiJJDM+DBl/ew/XcSoKDX7q9pIjQnlv+tK+HRfDWekRjG+j+gL7wFDk9XBirw6xo+KoLrNSGKEmn9+1yU0frRkAc+vL+abA3W8d898MuLCyK/XEh7c9f7YV+ma1KdM0+UC+nRvNdfNSkNrslHbbuLM0bFkV7QxflQEceHByLLsEzbozQ2v7gTg2pmpyrKtxRqlXffn5Yd6bOMJRZVlWXEElTbrFefRxsJm1uY3cum0ZJ8wr+710pF6Hc06s0/I27PfF5EWE8qEURGKIw5QxBe7U1YG0T18/9B5BAZIjE0IZ92RJuVe1ugtXPb8VvQWOyGBKuUZAqjXmqnvJgBf+/IOvn/oPPSWrmumNdlQBwX4FZe7D55/4iXwfr6/lrX5jWwq6irnB7t6CuHdWXekiQsmJfqdIdIjtIDrXHqeq5zqjl4Fk1a9hbe9BpM9Ap2nzm/SWXhxYykR6sAeouR7XnXq3so2LnUbG0qb9dgcTiYnR/rUw9kVXeVLigqhSdd1vrsPXKzIq8cpyz6DbB0mK29sLeedHV3HTYpS88crp/T4XXk1HRyq0zImIZxWd85ScEUgbCnWcPb4BMKCA1AHBTAmIZyS0HgOhydR12E6aULYhqTVKElSAPAKcAlQC+yVJGmFLMuD58kcAM/ePNPnRhksPE6FOZkxxIYHc+HkUSzPrSPVHa52x1mjOcs9u1VggIrMuDD+t7Wc7/MbmZYazZiEcO44azR7K9to0ll4+665jE2M4MPdVWwr0TA/K477LxiPwWJn3ZEmDFY7f7tmKk+tLmR9QRNXnJFMgEpi8aRRlLdUKALSnYuyOGdCok/Hbf6YOIqb9IQHBzA2IZzZmTEUNnYqDaq0GDUFDTounpIEQGJkCIvGJbAir57fXTqRnOp2AlUS09OilX1eNi2ZFzeWsK1Ew9ZiDZdPS2ZKSpTyIP7s/HG9nruMuDC+ffAcdpS2ctc72TzzfRFP3TAdgM1FzSx5v2v6zsnJkUxMiiRAkvjRwtEkRakp1xh4aVMpc0bH0mG0Ud5i4L8/nOVzjIiQQBaOi2fdkSbaDVY+31/LOeMTeOamGcSGBfPMmiJmpEdz3UxX42V6WjTv76ri15/kKi/2xZMS+c/aYiYnR3KkXseVL2zjo58uYEZ6DEcjv17LtpIWUqPVrMlvdMXr95KHy5tP91bzhy8PsWhcPK/+aA4xYX0Ln5545rPGxhMUoOKVjaXc8+5e3rxzLkt3VLK+oImld80jKyGMG17dQV2HiX/fNJNrZqZS224kNcYV9uiZceyW/+3izNGxPH3jDEWE8nC4TsvDn+ehDgrg2ZtnKI2e3tCZbTRpzUool0foeODC8ewoa+H/vj7MlJQopqS4Oho7y1rJre7gH9efwcyMGK6ZmcLXufX87dqpHK7T8dKmUq6akUJOVTsPLsvh21+dizpQxW8/PUBFi4FZmbGsPdJE0PLDPH3jDB5cloOm08L79y7wadhtKmxGllHu9zNSo4gIcb2gkvtIpi9JErfMzeDmM9PZX9XOh7ur2F/dzoIxruf8p+eN5bN9NTz8xUFmZ8RQ3mLgz1d1vVwmJUfyqwsn8J91xZw/MZFHLp/c5/nzEKUO4vYFmXy0p5radhPqIBW/v2wSX+XUsqlIc1QByeZwklvdQVGjjiunpxAfEQK4koMveX8fDR1m3v3JPKWh2hutegvfHW7kxjlpykxB4Opc/PT9fahUEh//dAEHa7X8a3UhH2dXc/v8TMpbDIxJCFdCWIxWO29vq6Cy1cgfrpjEqMiBTWDQF2abgy9zajl7XMJRnzdZlllf0IzOZOOcCQkDnkgBXB2CFQfqCQ0O4OxxCT5C+HDx4e4qTDaH4vi8ZW4G//yugJKmTtRBASzdXsHszBhyqzv4JLuaJeeOHe4iCwaJkdT+mju6q16ake4SkPoSjzwTDfhjbKJvjr5P9/V0u3hmfPPONZkWE0qkOpANBU3c6pVXzoPNIXPjazv9HjPbj2jTnd98euzTUgNcOjWpz9wvHm563Tf/0v6qdp9zuf635xEUoPIJ3wFXeIjV7uSy/271WW6xO5WkwFqTjQsmJ2K0OpQwPXC9NzxhRXqLvce06rvcwoh3xzenqh2d2fU+mD8mjhdudbXLuufr84hHgE9Olte3lPGJ12QsnpCvlXldoVfbSnxz2JQ095wltcNkw+GU+8z/9uKGEnaUtvDfH84iJFDV50xT3uIRwM3/2+XTafd01runAbj4uS0+Lp/6DhPVrUbiI4LZXKTh4c/zmJYaxWs/OpNIdaDPure+sYsmnYXsP11EuztEzvvePvDYJcrf5z6zifW/PZ/b39zDuRMSFPdJVauRwF6Sz0NXnpuw4AC+z2/i315haN3x3FvlLQbOfWYTxU9c4ZNoGXrepwB/+PIQ1W1GXtnkEjVX//pcbvnfLmZmxPDaj+ZwqE571PQJG7rlTP18fy23zM3wG/bmcZo0d1qUBOYeQTU0KMD1bvxgPxt/dz5PflfYY3sPm4o0zH9yA56u1MVTRrG+oJlLn9/Kuz+Z55OSpK+UDJ5n77UfzeEXXqGu3s/N31f2r3q+5929PsetaTMSHRpEg3Zgs6T98auewlt3x6M/fvr+Pp78wXQmJvUd0fPw53lcMjVJ+fzRHv/i1NUvbe9XbuB2o61HziLvcMw3t1Vw9YxURseHcbF7VrW0mFCun5XK+ZMS+c2nefz8w65zf+85Y3jyu0Iun5bcI58vwK8/OdAjX1pNm8lHPAKX+/WXi8ejNdmIDg3CYnfQordy3Sv+Z/H0CIuHajv4m/uab3vkAi6ZeY+yzskiIElDkQNBkqSzgL/JsnyZ+/MfAWRZfsrf+nPnzpX37dvn76sRTblGz4X/2cLvLpnIgxdNYGdpC3/46iCrfnWu4n7wpr7DxNr8RraXtlKm0VPdZiQ+PJjo0CCsDiebfre419H6Fr2F0KAAwkMC+Tq3joc+PcAzN87glnkZVLQYeG1zKU9cP11x/HRnRV49v1qWy7ysWD7/+SJFpHjjjjO5dFoyj31zmPd3VfHdr85lqttN8dneGh758iBf3382T68uxGC1s+KBc5R9tuot3PrGbso0epyyq3KckBSpPLxbf39Bv1wNj688wjs7K/jqF4tIiw3lyhe2ER8ewgf3zienup1HvjiIzmzn2pmpvHjbbMA1KnbNy9uVBmVylJqtj1zQ4/d/sKtSGR28akYKmwqbMVodqCSX2+TT+xaywO0+KWrsVCr63182iWXZrs56cKCKtQ+dR4BK4rY3d2O0OvjkvoUEB6g4UNPB9tIWIkICuWVuBnsr21i6o4JpqVGYba58UCseOJsrX9jO9bNTuWRqMjVtRtJjQwkOVFHTZiRSHcTZ4xNIjAxhf1Ubt76xm3GJEZRrDCRHq/nVRRO4ekYK6qAA2g1WdpS1KLPFRYUG8W1ePbXtJrb/4QIkSWJ/VTt3v5NNp9mOJEFMaBAqSWJySiS7y9uYnBxJfr2O62elsr+6ndFx4Xy4ZAHgUs03FDbz0e4qJEni/XvmE6kOJL9ey+YiDV/sryUuPBibw4nR6iAzLoz6DhNzRsdy2/xMUqLVWO1OattN7K1s45sD9ZhsDgJUEsEBKg797VLFVVXfYeLal7fTabbz+8smce3MVB5clktlq4Etv78AdVAAOdXt3PDqTi6flszWEg3JUWpWPngOh+u03Pam6zzNHxPHR3uqefn22Vw9I5WXN5bw7NpiRseHUd1mJFAlMSsjhv/dMRdNp+s5+vvKfAobO5VzBvCTd7LZVKTh2wfP4QwvoXSgeJ41gLsXZfG3a6f5fG9zOFl1sIGLpowi0k890RuteguLn91Mp9nO4kmJvPuT+dz02k6MVgfL7ltIdGiQIog8785f8cN5GVS1Gvlif43iDEqLCeU/t8wkr6aDlzaWog4KIDo0kCadhed/OIv4iGDa9FZq3OLiWePiiVIHUdCg46fv76O23cTUlCjevGsuaTGhZFe08fi3+RQ0dPLBPfNZND4BWZa54+1scqrbSYgIobrNyKSkSO49dwxlzXqW59bR3GkhKEAiPCSQ62el0aA1UdVqpLbdxOTkSH60MJOs+HDsTpm6dhPtRiuzM2OZmhJFo9aMyeYgPTaUcPcol8Fi53Cdlse+ceUQCQ0K4NErJnPFGcnER4TQpDNzpF7HthINbUYbC8fGsaVI49N5WzwpkUevmMzk5ChkWUbTaUGjt5ASHarkuWvQmsiIDSNAJVGm0fPuzkpltAxcjtSgAIkfzs3ggQsnYHU40XRakGWZ0OAAZVtluuJf/pIEm5GU75YTGKDCaneyv6qdIw06kqJCSIlWo5Ik9BbXLJE51e3sLG1FHaRi0fgEmnVmcqo7OG9CAr+7dBKBARLXvLSdaanRvHfPfMD1/lj45AZmZ8agtzioaNGz6eHFPPTJAWrajGx55AICVRKaTguVrUZmZcT0+i45HiRJ2i/L8txB37FAYaDtLxjaNpinXn31R3N65Anqzu8vm+S3AzsrI4ZOs42ybg6R8aMieggm3TnH/W5dnlvHmaNjew1p740FY+L4+fnj+Mm7e4+6rqc8c0fHss/rOJLUM/ys4qkrccqu+uKZNYU++VAO/u1SotRBzPnHuuOerfbx66bxmB+HVH9Y+5vzWF/QxDNrehcVRhqBKgm7U+afPzgDs805oFxCl05NYntpi0/oT1hwwICnh//6/rOZlRGD1mhj5uNr/a4zOTmS9NiwHpPJTBgV0UMQu+us0T6hjUcjUCURExbUr5DJ4+HK6cl8d2hguUwHk52PXsiflh9ic5FGGRABV2qPXy4ez+aiZu5+p+u5TY1W88jlk3no0wN97veiyaPYXtrik6/qqRumkxUfzm1v7u51u0h1IJOTI3sVwY+VM9KilAmQ/NFfEXogLP/lIn7gdn+FBwf45KX7xeJxpMWE8n9u19jk5Ei+ffAcxv959aCWYTB44ILx3Hf+WOY9sd7nen60ZAELxsQRGKDiFx/uZ/Vh133c/bf2xbUzU1mRN/gzSj944Xh+d+mkQd8vDG4bbKgEpJuAy2VZXuL+fAewQJblB/ytf7IKSLIs8/m+Wi6fnuxXMDoahY2uDllNm4m/XD2Ve88Z0+9tyzR6suK7RvSPRpPOzIInNygd2la9hb+uyOeJ688gJiyY7Io2VubV8/h103zCneY9sR4ZGZtD5q6zRvP3687w2W+r3sIdb2dT0WIg+88XERESyDlPbyI4UMWmhxf3q2ydZhsX/WcLbQYrkuRqUK144BwlCXi5Rs9z64p56OKJPlbcmjYjqw83kBSl5qyx8Yzy4x5o0pm54dWd3HnWaH52/jiqWg0sz63D7pCZlBzJNV62WLvDyfS/rSUpKoS1vzmfrcUalry/j19fNIHfXOIKdapoMXDTaztp9WrUxYQFYbQ4lESJMzNiKGnqxGh1cM/ZY3jsmqn84YuDfkdMvQkNCsDqcJIeG8qK+8+hVNPJI18cpExjIChAIlClwmx3+LWq3jI3nWdumql8Plyn5cUNJfz0vLHEhwdz0+u7aDNY+fu107h1fgb/Wl3Il/tr0ZntfkWO0mY9P3prt49zLyIkkCunJ/OnK6dgdTh5enUROrONxMgQNhU29xhFUAepuG5mGnNGx7C7vI2xCeE8eNEEn3WaO8388ctDPgkSvZ8FWZa55PmtlDbrOXeCyz3mySe2tVjD77/Io0ln4fJpybz24zlIkoTDKXPH23vYU9HGc7fMJEAl8eCy3B7nrfv9vHR7BU9+V8DeP198XC4SWZZ5+PODVLcZ+ODeBYMaz/zG1jKe/K6Qx66eyj3njOH1LWWKNTYkUIUkuWajGJsQTmhwAPn1OoICJC6blszVM1KIDg3moU9zleu6aFw8z948E5UkceNrO/0m+VdJrjA+i91BYmQIPztvnCtBo81BUICE2eYkOUrNX6+ZyhXTU5TtatuNXP/KTsYmhnPR5FF8nF1NVauRoACJhWPjeejiCUSHBvP7L/LIr9eRERvK6PhwUqLV7ChtobLVf5LX7qjdU157ZuEYFRnCn66cwle5dYr13LsDpw5SEaUOornTQnCAiocvm8jZ4xNYf6SZt7eXozPbCQ0KwOEOFTwaU1Oi+MMVk4lUB7K7vBWjxUF9h4lv8uoHlEDfI7LaHM4euVq8iQ0LYtH4BMxWB7vKW0mMDOGM1GjWFzT5NJA+/ukCFo3rcpQ9/HkeK/LqyYwL42fnjeXmuRlsLGzinnf3ERKoQpa7kr2u/c15Sv07mAgBaegZaPsLhrYNZrE7qGkzMSYhnKmPrcFid/LN/WdjtDp6dMZevn02D3zsEt/fvHMuKdFqotRBxIQH8eSqAp8QDHA1tF/a6D+xaXRoEFqTjfsvGMe954xl7hPreiTf/ecPzuDPyw+THKWm0Wva+7EJ4QQGSBQ36fnHddO446wsCht13PbGbiVvxmXTkrhkajIPf57H2MRw3rjjTGLDgilt1jMtLZq8mg4ldOrAY5egt9i57/39HGnQsf635/u0Zd7aVq6EVZ01Np5l9y0EXHVoXo2W+z/2L7z9/rJJnD8xkQM1HUpn7nhIjVZT3w83wMSkCIqb+hbu/LHspwv77ICPHxXB2ITw4+oMT0mJ6nW2rKAASXGk9MasjBie/MF0XttSxsq8eh69YjIXTBrFy5tKfVxQ3vzxislMSo70ESv84e+8qYNUPWaQmpURo4T9dycxMsTHudIdf2KlN49fN43tJS2DLjj0xmNXT6W6zci7Oyv9imPduXtRFhOTIpXE+/1hUlIky+9fxNTH/M9KNiYhnIoWA1fNSOHl22azp8I1UNtXGRq1ZsWZ8uQPpnPrvAxUKonsijafmce8mZgUwdf3n42m08L5/97sd50odSA6s51zJySQGh3ao1/w64sm0NxpZpk7MXxsWBCXTk0+av8BXGk7nrphOivz6pV2YXc+uHc+d7ztCg/98N4FpMeGUttuIr9ey1PubZb/chGTk6OY8phrVsRtj1xATbsRq93Jfe/v79EuOndCAh/cu4CLn9uiCPoeIbc701KjeOzqqZS3GPy6oLy5ekaKT+5Gb7zfFd3xDl1b/stFzM6MpaixkyadmS9zavnmQL0i8oIr3PW3n+WxsbCZOxaO5gOvnHaegY/gQBWf3rcQk83B7IxYGrQmvsypVVx1/SU8OIAz0qLZU9G7u/UPl0/mF4t7j+A5Hk4JAUmSpPuA+wAyMzPPrKrqv7p+KtFmsLLiQB23zs8c8sRZX+XUMn9MHOmx/c91sjKvnkN1WlSSxO3zM/06isw2B5pOi5IbaGdZCwGSpDh7+kN+vVaxI14waZQS+jcY+MuB0xtrDjeQERemJC2uaDGQFR/ms31pcyerDzWSHK1mcnIU01KjaDdaWXWogcy4MM6fmIhGb+Gb3HpunptOTFgwzZ1mPt9Xy+zMGCaMiqSuw4TN4SQzLoxmnYXtpS20G60ul9O8rvMsyzK7ylrZWtKCU5aJUgeyaHwCU90hXx1GG7XtRiYmR/YpYpY0dXKgpoObzkxXfovd4aSwsZPR8WF+nTA1bUa+zq0jMTKECUkRzEiP6ZF7wIPd4XJNGG0OAlUSaTGhpMWG+uQP6g1XEvA2Spo76TTbufecMT7PQl5NB5WtBq6dmdrjOmqNNj7fX8ONc9J9RB+T1UGjzqzkddpU1MyReh0ZcWGYrQ4atGZumpuu5ADz/IbKVsNRw/L6y0Duu/5itTv5YHcVt8xNJ1IdpMwaUtlqUEYbxydG8IM5aQSqXB2guPBgEiNDlH0068x8e7CBs8cn+OTNaDdYOeBOZhgTGkR6bBjlGj27ylsxWh2EBKr4sTuEtEyj54v9tTicMinRam6dl3nUmSOsdif59VomJkUqriEP3c+V0ymTW+MKhVBJEqnRaiLVQeypaKWsWU9abChhwYFUtxmVfAfRoUFkxYdzzoQExY21q6yVkmY9mk4LKTFqxiVGMDszhuAAFWUaA+EhAYogCa6GxMfZ1XQYba7jxqhJiAihvsOE0epg4dh4xiSEU9tuxOGUyYwPIzEixO91Lm3u5NuDDSRGhpAcpUalktCb7VS3ubYdHR9GVGgQ8h8eRRMUTs2SB7A6nASoJGZnxDArM4aWTivNnWZkICwogMz4MJIi1X6dqvUdJr7cX0t0WBDT06L9hjX6O89vb69Ao7covzczLoy5WXFDkhdJCEhDT38FpOFog7XqXe+669w5bzYUNFHcpGdySiSp0aGMSwzn3Z2VhAUHctv8DJ971WR18Pb2ciTJlUuktt3E3WdnsTy3DqPFTmx4MDVtRrISwilt1nPtzFT2VbVz/aw0ggNV7ClvZWdZKxlxYUxKisQhy8xMj+aL/bVcfkYyO8tamZgUybojjYrwuq2khbsXZSl1m6bTwr7KNvQWO9fMTCUkUMXn+2u5cnqK3+dlX2Ub6qAAxdGq6bSQU92uTELioUVv4bN9NTgcMnefndXjffx1bh3NnWYy48I5XKdFRiYuPIS7zhqtOHpX5tVTrjEwJSWS4qZOJEkiKz6c4qZOTG6xP8B9PmdnxpJfr0WSJMYkhFPfYSIxMoT5Y+IoazYQHxHMvso25Z0yNjEck9VBTFgQpc16bl8wmn2VbeRUdzB3dKyS02VMQjiH6rQESBJzRsegkiQloXlmfDjnT0zk69w6okIDOVCjJUglMSEpkoIGHQEqiVvnu/Jafb6vFrtDZmpqFOmxociya4IGncnG9PRoVubVkxARwlnj4mnptDA+KYJle2qQkTl7fAK17UYqW1zHnex+x3Wa7SwYG8eqQw1MGBXJoTrXxCiBARKyDGa7A3VgAOdOSGBuVhwWu4Nvcuu5YU4agQEq2gxWPtlbjSy7BMYi93mNDQvm7kVZqIMCyK1uZ92RJp92UlKUGpvDic3h5ILJo1iZV4/BYic0OJAglcRVM1JYk99Ip9mOLLsEpatnpNJutLK9xOWCCQlUMTEpEovdwVUzUnhvZyWdZjsBKgmbw8noOFc7p6LVwMVTRlHarKdFbyU9NpTDdVpiw4O58owUDtZpuWZGClqTjfUFzZhtDvQWO5dOTeJQnZYmnZmM2DDKWwxKXp7Lz0gmu6KNVr0Vo9U1uDI9PYbDdVokyTXw6WlfWO1Ozh7vSn1hcziJDg3irrOyXKLxgTpuOjOdZXtraNKalcFiq91JYICKG2ankV3Rxg/mpBEgSXy4p4p2g43R8WG0GqxMT4smKSqEmjYTkuR6Nj35sS6dlsS01Gj2VbaxtaTFZ6a9rIQw0mPD2FHawtUzUpT23fLcWso1BmwOmYiQAKakRHGw1tXX+cHsNGLDg3hvZyXjEiN8BsbAlXtsb1UbC8fGExoUgN5s53C9lvlZcUoagJ2lLZRq9ASoJKJDgyhrNqCS4MoZKXyf38glU5JIjw3jvV2V6Ew2JiVHYrI6uOnMdJyyK5wsLjyYqSlRxEcEs/pQI9PTo2nQmpFlmYy4MLaXtNCitxCgct3DS84dQ6Q6CLvDyZc5tcSGBTMlJYpd5a2cPT6Bw3VaLpuWzJZijWvmZa8UFRa7g3d3VJIQEaJM7LIyrx5JgqtndA207y5vVUJXx42KoL7DxEWTRzEhKZJ2g5WP9lQxNTWKQJWK3OoOpqREcsQt6EpI3HnWaGLDg3E4Zd7ZUYEkSYyKDGHO6FhWHHDlHZqYFElMWBBJkWqW59ZhsTsIdg9yTUmJornTzB0LR5Nd0caRBh2Jka774oozkll1qIHrZ6dR3NhJvdbE7fMzfd4jnpQw3SerMVkdrMxzPe8f7HYlFM+IDeO2+RnsKm8lPjykR545g8XOW+78TXqLTQmPnJsVx7ysOLaXtmC2OQgPDkRrshESqOKSaUl0GGysPFjP1TNSWHGgHrPdQeAH72OTAgi/5y5uPjPdryFiMDgZBKTTIoRNIBAIBILjYvFi1/+bNw9nKU4IQkAaekZaCJtAIBAIBII+OEHtwMFsgw3V1Ct7gQmSJI0B6oBbgduH6FgCgUAgEJycnAbCkeCEItpfAoFAIBCcLJyE7cAhEZBkWbZLkvQA8D2uaWSXyrJ8bFn8BAKBQCAQCAT/z955h8dRXW38vVukVZdsWZZc5d4wNmBMB2N6CS2BQL5QAvngSyABQgoBQgiBQOgtQGjBVGOCwR13417kItmybMuyrWL1Lm3fmfv9MWVntqrsSivp/J5Hj7Szc+eeuXM1c+e955wbFhp/EQRBEAQRTaISwtZpIxirA9CZAPw0AMHXTOxcmUwA9T1QT6TLBCsX6ny6WlcsllHOMxZti1Rd4a5lpOrp7TKBzrOvXKOO0Bf6aiTKdKS/xuo16kwZ3/OMJdsiUaYz953O1jWJcx757NxEt2CMtQHozFJbsdx/ga714c7W1R/uZZEo05N1xXIZgPpdrJfpybr6w/O6O/v3ZJmerCuWy3SkXOTGYJzzPvcD4L1IlQGQ1xP1RLpMsHKhzifWz6kzZZTzjEXbIlVXuGsZ69eoo2UCnWdfuUYd3Dfm+2okynSkv8bqNepMGd/zjCXbIlSmw/ed7rYd/cTGT2evSyz3366cT1fq6g/3MjqniLcD9bsYLhPr9sXa87qvtEGs2xdL7RDJMVjgJZVinyVUpkfrojJ0jfprmZ6si8rQNeoLZbpKT9ZF9C7Uf+le1ht1xXKZrkL9jvpqd8p0lZ7od3Rde7ZMd8p1mpgIYetNGGN5vB+tCtPfzicYA+E8B8It2gb2AAAgAElEQVQ5Av3/PPv7+SnQefYPonl+/b3t+ir97br0t/Mh+gbU74iehvoc0Rki2V/6qgdSJHmvtw2IMP3tfIIxEM5zIJwj0P/Ps7+fnwKdZ/8gmufX39uur9Lfrkt/Ox+ib0D9juhpqM8RnSFi/WXAeyARBEEQBEH0NRhjJwC0ARAAeDjnsxhjgwB8BSAXwAkAt3DOm3rLRoIgCIIg+hfkgUQQBEEQBNE3uZhzPlPjlv4ogLWc8wkA1sqfCcIPxlh7mO83MMYoPIaIGNTniN6A+l3k6fcCEmNMYIzt0/zkhth3DmNsac9Z13kYY5wx9pnms4kxVhfrdncVxtgN8jlP7m1bIsVAu4ZA+Jt3f6E/P6T64/9iIBhjjzPGChljBfIz46zetinSMMZGMMYWMcaKGWMljLHXGWNxIfZ/iDGW2JM2El3megDz5L/nAbihF22JGgPlmULEHtT3iJ6G+hwRa/R7AQmAXZ6dU35O9LZB3cQK4BTGWIL8+TIAJztzAMaYKeJWRY/bAGyWf3cYxpgxOuZEhG5fQ4LoBbr0v9iXYIydA+BaAKdzzk8FcCmA8t61KrIwxhiAhQC+k71UJgJIBvBsiGIPASABKfbgAFYxxnYzxu6Vtw3lnFfJf1cDGNo7phF9Ad+JU8bYW4yxu3rRJKKfQ32O6A2o30WWmMiBlJmZyXNzc3vbDIIgCIIgosTu3bvrOedDetuO/gJjbDjn/CRjLAvAagC/AbCYc56u2aeJc54RoOy9AO4FgKSkpDMmT+7XjoUEQRAEMaCJ5BgsJjxRcnNzkZeX19tmxDSlDVbsON6IW2aN7G1TCIIgCKLTMMZKe9uG/gTn/KT8u5Yx9i2A2QBqGGM5nPMqxlgOgNogZd+DvCLLrFmzOI3BCIIgCKL/Eskx2EAIYesX/PTf2/HH/xbA5RF72xSCIAiiPzJnjvRDxDyMsSTGWIryN4DLARwAsBjAnfJudwJY1DsWEn2Vb/dW4LPtpPUSBEH0GH1s/BUTHkhEeJrtLgBAm8ONwcnxvWwNQRAEQRC9yFAA30oprWAC8AXn/HvG2C4ACxhj9wAoBXBLbxnYZJXGLRlJQfOzEzHIw1/lAwB+fvboXraEIAiCiEW6LCAxxkYC+ATSIIYDeI9z/jpjbBCArwDkAjgB4BbOeVP3TR3YJJiNcLhFtDo8JCB1gRa7G8nxJhgNrLdNIQiCIIhuwTk/BmBGgO0NAC7peYv8+eUnebCYDfj8l2f3tikEQRAEQUSI7oSweQA8wjmfCuBsAPczxqYCeBTAWnl1l7XyZ6KbJJilRcVa7e5etqTv4RZEzPjbKvxl0YHeNoUgCIIgBgRGxiCIvb9QC0EQBEEQkaPLAhLnvIpzvkf+uw1AEYDhAK4HME/ebR6AG7prJAFY4mQByUECUmdR8kYt3FPRy5YQBEEQxMDAYABESttIEARBEP2KiCTRZozlAjgNwA4AQznnVfJX1ZBC3AKVuZcxlscYy6urq4uEGf0arweSp5ct6Xt4aAaUIAiCIHoUo4FB4PT87UuINF4iCIIgwtBtAYkxlgzgGwAPcc5btd9xzjmk/Eh+cM7f45zP4pzPGjJkSHfN6Hc021y479M8NNukJJQWM3kgdRW3QFOgBEEQBNGTGCiErc9hddEkJUEQBBGabglIjDEzJPHoc875QnlzDWMsR/4+B0Bt90wcmHy89QRWFtbgP1tOAPB6ILVQDqRO4xGkASxNhBIEQRBEz2A0MIj04O1TtDlIQCIIgiBC02UBiUlrx34IoIhz/ormq8UA7pT/vhPAoq6bFztc9OJ6XPDCuh6rzygtzavO3imrh1ES7c5DHkgEQRAE0bNQEu2+h5IzkiAIgiCC0R0PpPMA3A5gLmNsn/xzNYDnAVzGGCsGcKn8uc9T2mBDeaO9x+ozyIKRkj/AI2eipBC2zkMCEkEQBEH0LAYDCUh9jb6WM1IQOd7ZUAKrkzynCIIgegpTVwtyzjcDYEG+vqSrxyUkTAa9B5IyK0RJtDuPMiDqW8MigiAIgui7GBmFsPU1PH1s2bwVB6rwz+8PoarFjqevP6W3zSEIghgQdFlA6mscqm7FqsIaGBhw8eQsTBuW1tsmhUQJWVPy97jk3+SB1HnIJZsgCIIgehajgfU5j5aBjjLm7CvYXQIAoJ1yNxEEQfQYA0ZA+uW8PFQ0SSFon24vxY7HLu1li0JjVD2QJPHDLYsg5KbbeWgASxAEQRA9i8HAaFn4PgaNlwii/+JwC2i0ujAsPaG3TSH6ON1aha0vYTZ6T9Uir2gWyyiha8rDXMnjE+veNO9vPIaJj6/obTN0eCgHEkEQBEH0KCYDU/M4En0DoY+FsBEE0XEe+GIvzn1+HTjdl4luMmAEpKyUePXvnDRL2P2La9qiaU5YnLJQpOZAkkUQp4+AdKSX7fTl2eVFcAliTIk2rhiyhSAIgiAGAgbGQHpE38Ldx0LYCILoOGuKagCAFjcgus2AEZAyk70CUlZKaAFpzcEaXPbqRizOr4y2WUFRhCLlYa6EsDncgrrPkvxKXP7qRqw+WNPzBoYhlkQbNaaf7pcEQRBEP4AxNpIxtp4xdpAxVsgYe1De/hRj7KTP6ri9gtFALyp9DbpeBNH/oVBVorsMGAFJ67kTblWQiiYbAGDn8YYu1VXWYMOCvPIulVVweiShyO72YMGuclS2OOTt3vPYU9YEAChtsHarrmjgdMeQgERToARBEET/wgPgEc75VABnA7ifMTZV/u5VzvlM+Wd5bxlojLEQtpdXHcYt727rbTNiGneEJ/845xQuQxAxBglIRHcZMEm0bS5v8mlHGHEjPTEOANBkk1Y80z78PIIIkzG07vbjd7eirs2JG08brsu91BmUXEcN7S788ZsCdbtWQFJWn0iIi72cTr6hdr2Jy0M3SoIgCKL/wDmvAlAl/93GGCsCMLx3rdIjhbDFzvP3zXVHe9uEmEfrgcQ5B2OsW8eb8PgKTBuWikUPnN9d0wiCiBAChaoS3WTAeCDZXAIumJCJ00alq949wVA8lJptLgD6mPCOhGbVtTmlOp2h6+Gc45Z3t+H7A9W67c8sPYj/bDkBAChvtOm+c2pC2GyygGQ2dO0yLiuowk1vb+lSWQAQRY4b396CVYXVft+Fa+OeRPFA4hTDRhAEQfQzGGO5AE4DsEPe9ABjrIAx9hFjLCNImXsZY3mMsby6urqo2BVrHkhEeLTj3Uhofx6RI7+ipfsHCkK4iAKCIPxxU2QG0U0GjIBkdwlIjDPCYjLqwqs8gogWu1u3r+Kh1GSVtmtFI+0qaB5BVEWmQFg1Xk+BaHV4sPNEI379+W7d9g82H1f/VkLXFLSePYpXlS1MPcG4/4s92FPW3OWV3Vrsbuwta8ZDX+3z+y6SHkgeQUSrwx1+xyBE2iWbIAiCIGIBxlgygG8APMQ5bwXwDoBxAGZC8lB6OVA5zvl7nPNZnPNZQ4YMiYptBsYop04fQ3u9OnLtCiqasaygKpomhYSSfhNE56H7MtFdBoyAZHN7kBhnQrzZAIfGO+aJ7w5gxt9W6f6ZlETVijikFVi0wsgba4sx8+nVaGh3BqzT6gwt7CjljIaOuQgbDQwekasrnCkeSDZ397x9wtkZjAarZH9igBC6SOZA+v3X+Tj1qVVdLk8DDIIgCKK/wRgzQxKPPuecLwQAznkN51zgnIsA3gcwu7fsMxpiK4SNCI82Z2RHvHuue2sL7v9iTzRNCkl3Jgg/3nK8VxfLIYjegnIgEd1l4AhITgEJsgeSdiWz+bukZNdaLyS7IiDJ23QCkkYY2VIiJdn+YkdZwDrbwwgz9e2SQNVRASk5XkpZpXhEKcdXciEprC2qQW2b3nMpFOE8pQBg3aEaNTRPoa5Nsj8xzj+VViRD2L7bJz3gu+op5SEBiSAIguhHMCk5zYcAijjnr2i252h2uxHAgZ62TSFcCBvnvFdmwgeSqMU579T5asdLfcFLoTsC0lNLDuK3X+6NoDUE0TfwUGQG0U0GjoDkEpAUZ4TFbAgYXqUNRVPyDNlcAhxuQSdcuASvMJIkCzrrD9cGrTMUigeSqYM5jBQBSRGxGmQByqrJtWR3CbhnXh7u+HBn2OMpupU1TK4mp0fA3R/n4fYPd+i2h/RAikISbXsXPa0ohI0gCILoZ5wH4HYAcxlj++SfqwG8wBjbzxgrAHAxgId7y0ApiXbw759aXIhxjy3v8VW6OpLLsq9R0WQLOHH39oYSjH1seYc9zbUeSGU+OThjEfIwJ4jOQx5IRHcZEAKSKHLY3QIS4kyI9/FAUlBWXAP0QkWj1aUTjbQruFW32AF4PYl80XogNVlduP/zPWiyevet72QIW4pFEpC2lNTjqcWFanm721tPlWzToeo2fLq9FJ9uOxH0eEq94Tyl2h3S98fqrbrt9bJHUqBV4KKRRDvQdesIioBEuRYJgiCI/gDnfDPnnHHOT+Wcz5R/lnPOb+ecT5e3Xyev1tYrGA16QcKXedtKAQB1QdIAdJYDJ1v8Fh4JRCRD7GMBtyDiytc24bPt/t7wn22X2rjZ3rE8ktoXy6te3xTzE3DKBC8N7wii4/QF70IithkQApKSIyhR9kByBBg8aD2QtN/Xtzt13jTamasqOcF1fZDBjza59ec7SrFsfxXe33RMc2ypzo6ukqoISA98sRcfbz2h2qX1dKps9oau/eW7A/jLosKgbuLK8qzhknArApPRx9AGWQyLN/l3o2gM0HxD9ToKKe0EQRAE0bMYGYPIEdTDaOSgBABAcU17ROq79s3NuOCF9WH3cwqxs0psJGhzeNDu9KCq2e73nUEet3U0jM035L+jE3ddEZqqWuz4QDMm7gpKveHGeZuL6/HDkeisNkgQfY1YF4aJ2KffC0huQcQpf10JQBGQjAG9Y7QeSNoHZn27M2AOpHanB20OD9ISzLC5BFWE0ZZt14SGxckii93n2ID08FcGWNqB1oSsZJ2NSgibL4qA9ObaYvzcJ8wMAH47fx8mPbHCT0TyhrAFF5CeX3EIF724Qbe/r/2K4Ka1PVAIm0cQkfvoMry6+kjQ+kIRLiQwGO4ohNMRBEEQBBEcgzxoCPZuPyQ5HgBwMoDwEU26kk/xUHUr/rxwf0zmT2qTV6kNtVptKIHlo83HsUROJu27X0dTB/iO+USR47Fv94cs85N3tuGZZUV++TU7g/IiHG6c9/MPd+DOj8KndiCIgQB5IBHdpd8LSIeq2tS/E+NMiDdJHkicc52QpPVAsrsFmI3SwKe+3eWTA0n6Wwlfmz48DYA3H1GbwyvG2DTCjDIL5OvdBEj/yK2yiLTukDefksA5Vj98IU4ZngogcKgY4PUg+nDL8YDfL8mvhEfkqPQZpCk2hcqB9O4PJd79fRQkJYm24hmk9c4KFSb4fogZpxP11qAu6F3OgSTfKDuyoghBEARBEN1H8VoO9rJiMsoTa12cHApFk9WFqU9+j53HG/2+8xU7fvfVPnwqh3oF45fz8vDlzjKUN0njE62Q1NlE1ZFGGXe22oNPBoZKK/D00oP4jZxM2je5rjJp+psv9+LPC4MLQr5jvuMN1qALzCgowqFS9nB1G2Y/u0Y3Vv3hSB1OfWpl0FQLSg6k/u5Rcbi6DROfWIGKptjPSxWK3v5fGegogSQUmUF0l34vIO0tb1L/TjAbEW+WRBinR1RFHwBo8glhG5GRCED2QBK0HkjSg04JX5smiztKDL92Bkjr2aOs8qZ9CDZq8iG12NyYv6sc98zLU7e5BREThqZgWo4kUrEgsW6KZ86oQYkBv1c47pPDSBncdWQVNsA/V1OjnERbKe9wadopwGyQIpiZjcG73ZyXNgR1Qe9uDiSRD6zVVwiCIAiit/B6IAV+7hrVMPrIC0h5pU2wuQTdJJiCdlJQFDmW7q/CrgBCUyA4B8obbRj72HJ8t/ckAODNdUcx9rHlXR6jdBdVQPLxQNp6tF4VaTqaVsD3xVI5pyX5lfhyZ1nA7wD/MV9ta8e9ipTJwYV7KlDb5sSXO8vg9AjYebwR/1hWhFaHB0dr9WGOrQ43alsd6vg8monR7S7BbwI2Eogi9xuXB+OLHaVweUSsKqyJuB09ya8+24Oxjy3vbTMGPLQ6NdFd+r2AtKfUKyA12lywaAQkbe6iZpsbRVWteHNtMZweARmJZiTGGdEQxANJEZB8PZBaNYkKrZpBkSJQ1bQ6NNvcav6gJpsL+8qadbYr9cYFyDGkkGA2qrN3gXIR3XvhWKx48AIAQEFFM/666IA6yGAdXIVNwTcHUqs8aLG7BCzJr8TXu8vV7wLNdiltFOp8QtHlHEiagYU71JIwBEEQBEFEBJMhtAeSMqQIl4exKyh1Kp7WLZqxmVbsUNIUhBN/vDP3Io7WSWLGN3sqAADztp4AEDqEzJe1RTURE5yUEDatBzwALNpXqf7dkZVx7S4By/frc64HyhkKSO371S7NmM/nXJYUVPoWCVkvAAzPkHJiHa1txydbS3HLv7fhcE1bwDLXvLEJs/+xVm3Dzo4POzOZePfHu3Du8+s6dXxfVh+s8bPxnR9KcPFLG1Ac5By1CLII29FFdzrLvvLmHvFu+r6wOup1EMFRek+oxQ0IoiP0ewGppM6KKTmpuGRyFq46JVsVWZxuAWsO1oAxIM5oQLPNjevf2oKXVx9Bo1USmjKT44PmQKqWBaRThkkCkiJGaWcTtB5ISviWUg6QwuYUAepYfTsarPoZG8U1N5AwpDAkJV6dvVMEmh/NGKZ+PzTVgsnZKUiKM+KlVUcwb1spPpdX6lAmBUPlQNI+q3xD2BSxzOYS8Jsv9+KZZUXqd4Fmu5Q2igvhgRQKW5c9kHjAvwmCIAiCiA7Ky64QxAPJFWAhkK7iKwiI6gu39PmBL/b41QsAFbJnSbgQeSa/etldojqG8Q2b6uj4Yn9FC+6Zl4e/Lz0IAKhstuOjzceDJhsPRzAPJO2YsiMr4365swyFla26bY4g5d5cV4y/Li707ucz5lt9MLCnzNaj9VivSdUAeK+/8tvpEVFUpbdjQV657nN5o3zdfMpyzvHBpmO6sba2XZV+0hmPpW3HGgD4e8GvLarBtpKGsOWP1rbjfz/Jw6MLC3Tbd52QvN464oWkdO8o6Ue44V9bcP4/wyeg7y0+2Xaix3Ol9WcoB1LkUO45tRoHkYFAvxeQqlocmDEiDR/edSYyk+NVDySbS8DnO8pwyeShmD4iDY1Wlya/kUMWkOL8Qti8Hkh2ZCbHITvNAsDrrrunrAnJ8SbkDk5UPZAemr8XywqkWZ2yRhtO//tqLNp3Es02N2blDkJyvAkPf5WPNUX6h6oyyFHqGJwU53d+koAkDR7q2p2469xc/OHySer3KfEmMMYwZkiSuu1kszTLoAwMgsWWA/rZDn8PJGmwEmjgFSqELc5kgCByTH9qZdAY+UDx7I6uJtHWeiBRQm2CIAiCiDq+K4A1WV24/4s9qG93orTBijzZQ7yzHkg2lwcPzt+rEwl8BQHlBUkZwxw42aJ+pxVTKpr0eXgCsbSgEmVybka7W8Cz8mSZ3SXgD1/nqyvSdtQLRhk7lcieTA99tQ9PLz3Y4XAmX9Qk2nZfAcmbJiFYCJv2RTKQWOTbLsr+a4r0ApGvQNVi9/fGen7FIfzsgx34xce79PXKdSh5Q50ewc/z6IsdZQHHi8p1UfpQSV07nllWhN8t2KexzXvuSsqFroS8+bbvPfPycNv721HZbMeD8/fC5vLgwMkWPPatPtm6Ev7mK5wlyO8j2hQawVBEsGCpLPoavrm2QtFodeHJRYW4q4NJ0LeW1OO5FUXhd+yDvLzqMDYVd381QQphixwldVY8s6xIzSM3UOjXApLTI6C+3YmctAR1m8UsnfL+ky1osLpw9fRsZKXEo7bNOxBpsLqQYDZiaKoFNa1O3cNHmwMpO80Ci9mI0YMTcbBKGpzsLWvGzJHpSLGYYXV6UFLXju9kN+IkOQl2o9WFF1cehkfkyEyOC7q6mvKAu+vcXDx303TccU6u3z5DkiUPJKdHQJvDg8FJcchM8QpNyRbp2HMnD1W35Ze3wC2I6myZKkC1OVHf7sSh6lbUtjlQ1+ZUB4CAPo+B0yPA4RaRYglsu+9gorimDfWyhxTnHPXtTrQ5PPjLogPqPtoBnjY/lUJXk2hrb5QUwkYQBEEQ0cfoE8L23b6TWFZQhTfXFuPxb73P/nan0Cnvm+/2VmLRvkqc/dxafLRZWjzE15NaGS+oIpbm8IrQI4gcJ1UBSRobfLzlOM58dg3G/HkZPtl2AgDwwBfeF4NGqxMHZe+Y/IoWfL27Qv0ukAh187tb8doa/cqzyrBKGY4ok4UdWY1MFP2TECuTgNoVfRfuqcBeTVoErWAyf2cZLnvlBz+blbYcm+mdcHS4RZ3Y02p3QxA56tv0Y7Qb396Kvy0pxCl/XYnSBqvfSnceQdTlo9KKhjaXAFFeTAYAthxt8POEAqCu6qYVH5TcSDaXgMLKFlz6yka1LRS0f7c7PXB5RJz17Fq/4wdC62HUHEAUA6QcWIv2VeK/uyvw039vwxc7ytBgdeGDTcfw8w92qCKX0orKpKaSzkHpg6FQ+kpXvdRCH9t7zM4IOwCwYFc5LnhhXaftcnRiMld5n9CmHQnFz97fgX//cCwqbdVVatscmPKX75Ff3hx+5xC8ue4obv8wtJDGOQ+60qRyqUMl0V6SX4mz/rGm031hoKKEA2rzGg8E+rWApHgF5cgePAAQb5JEHMUl9fRRGchOs6g3eHU/swHZaRZUNduDrMLmUIWp00dlYE9ZM9yCiEPVbTh1RBpSE0xoaHdi4R7v4GJidgqyUqRlaxNlMSk9MQ7XnJoT0P5rp0vbTUYDbps9Si2jZXhGAmwuAQflh21mSjwS47yijiJO3X72aHVbUVUrmjQdXcmBdP/nezDrmTW48rVNmP3sWlz1+kZoJzu0s2vKA1nbtlq0otvSgkpc9upG1QW51eFRc0hp97n2zc3qZ+VBoX0AdH0VNo0HEqnuBEEQBBF1DD4hbIoQUd5k140tluRX6kSacBRUeF/Cnl56EE1WF854Zo1uH0VQ8gpI3mf/gZMtWFpQiXGPLcfWknoA3vHFx1tPoK7NCc6BJxcVwpeSuuBeQoEEpF0nmvDammIAUvJth1tQx5SKTYNk7/LKFn8hwekRUNbgHZ+e/891mPvyBt0+ynjMI3JV3HrUZ8U07aTeowv3o7i2HQ63oAsfrG93ISfNgnsuGKNuszo9uPzVH9TPTTYXxj22HNUBwjX+s+UE2p0eXPTiBr/vZvxtle6zdjxpdwv4/df5+FjOJQUAqRYTxmo85xWabS6cqjmWMtZssrnUkEDA690D6L2hWu0eVDbbdePJqgDtrvDP7w9p6g4sIKUmSOPsJxcVqpEH5U02vLamGJuP1uMDeeXhpDgTtpU0YMLjK5Bf3qx6NDV2wANJ6SvBxsHVLQ7VE62zaBfSaXV0zhvwj98UoLzR3qEcW1o6k7NKDU/sVA3B83f1NB5BxBc7ymB3C/goyGrZHaGjYWdPLirExCdW+AlA3x/w5p8SQkymP/HdAdS0OgecINJVFCeFgfZ22a8FJEWkyNaIHIoH0qrCGgxKisPowYkYlpbgJywkmI3ISbPA6hJ03jCvrD4Cm0t6ACniyWmj0lHX5sSe0iYIIseoQYmYNiwNRVVt2FbSoD7Ijtdbsfp3F+GM0Rk4UiPNmqQnmPGnKydj5+OXYOfjl6j1fHTXLPzzJ6fqbAqUC+m22SPBGNTlVTOT43XfKx5IQ1LisfOxS/Duz8+AR+TYecK74ojV5YHDLehWrAOkwYT2Bmxze2cJlQdftsa7674Lx2LVwxdiaGq8zl16f4XkWaTcjFrtblT5xDIr+3jrlgQk7UPpo83HUd7Y+SR/uhxIFMJGEARBEFHHqIawSZ+/zpMm1NYdqvULnV/mk7w5EGUNNuwpa8L8Xfp8OPt8ZvXbHG78+wfppd1kYPAIos4L5Y11R/Hm2qMAgE3FsoAkv6SG8wL61/qjQb/zfbn//oD3nNyCiAteWI/fLdjn9YCSx1PpiWYAwNvrS/D9gSp5ta1qcM7x9JKDuPDF9WiRxYvKFgdONOjHQdqX/mve2IwvdpT5TTgGCmFrtrlxxCdUbFBSnG4c+eSiAzrRLJBw1BGsPoKB9rPd5cFCeUU7hUnZKRimGV8qzHx6dcCcWW6BY/sx77h254lGlDdK/eWEJjSwvt2JJfn6BN/nPBc8QbY2bK2krh0/HJHCh7RiodngPzafv7MM7U4P0hPN6vWyuwV8vqMUAPDG2mL1PeDbPSd1x9tUXIevdpXBI4j4/kA1qlrs2Cp7QtldgcewZz+3Fje/uy3oeWg5WNmKY3XeVe20/4u+YXodpc3hgSByLN9fFTAFhS+dSSBvcyr5rTppk7Nr5xJpXlh5WBWRuxOA2NFQ30+3S32syUfw1Ca2DzWZbjZKVq4/XBt0H8KLMlkRSx5vPUE/F5AkkULrJTN2SDJGDkqAyDluPG04GGM6gUnBYjaqHkaljdLDJzM5Hg63iBX7q9Hq8GBYuvT9ueMyAQDvy7MM2WkWnD4qHS5BxJ6yZtw8awSmD0/D8zedirQEMyYOTVHryUgyI85kQFaKBVkpXjuGpSf4LXcfb/b3QBo3JBk/P2s0atucGJGRgCk5KbrvUzUhZlmpFpyZmwFAchFWqG93orCyJax3jiByVdBRBizZqd6BxrThaZg4NAUWszFkwkaPyHEsTKy/ItppZylq25y4s4Mx0Lr6NA8zWnmAIAiCIKKPMoTZeKQON7+7VZfXZm+ZfyjHon0n1cTCCqLI8da6YlS12HHhi+tx09tb/co9rMl3AwBLC6pUoUPgPKA4dbROvyy80yN5cvsKHb6ESvitnXArqWvH/33mTdyteH0v31+t1qE4FCjvHcW1UpmJT6zAvZ/uxtaSBmyU85342qvF1+HO+zMAACAASURBVPPksW/3w2LSjxefW3EIzT6eLp9tL8X/fLBDty071YLLpw7F4gfOA+DvkfIrzTl1B20+oC93lvt9nxhnUj17usoFL0j95Uitt99Vtzjw8uojfvs63AK2ltRjbVENdhxrwLd7JbFTm5j8zwv3486PduLAyRa8sbZY3d5s9/fUOFwt1TljRLq6rd3p9b5fe6hWTQptdQmY/JfvMW/rCbTY3bj9w5340zf78bsF+fi/z3bjnOfWqfva3NL1+Gx7qZozSxFjDlWHX80NAK5+YxPmvuz1Kmt3aD2Quia6tDs9eG3NEfz68z1YVejNj7W1pD5gQvVQEQXzd5apK9PZXB7VC6yzL+jtPn23vt2Jd38o6fAKfN/urUB+eTNONtvxzoaSLiee3njEm7PI0I0cVuFWzC6uaVNXhASkSXu3IOKpxYV4aeVhCJp3vFDnorx7/umb/QNOFOkKygJPA62lund3jnGUG3VOuncWY3h6Ajb9ca5uv0BhWBazQd2+cI80M7Lq4Qtx+t9XY52syo6R48THZyXjvPGD1STYw9ITkJZgVo91xugMPH39KernYZr60hP9E2MD8Hv4A4E9kBhj+PsNp+DvN5zi9x0AJMebdZ8HJ8dj9OBEbJPdtrNS4nGi3oY9pfrB3NZH5wZctvTJRQeQmRyPs8YOBqD3QMqQZ9HiTQYcq7fipre34F//c7rOfTgpzgirS8CLKw8DkG5iLo/ol3Dxka/zMSs3AyYfEa20Sx5ImhBEz0D7FycIgiCInkd5WfrjNwVh9pR4cL4kBF1zag6evHYqhqZacLimDS+tOuLndaTFN7RIm5LA7hICei77vkDZXQI2H/VPTlsSQrjxRftSfMTnZV6b0NouexIoL7LBVsL9nw92qCu+/fP7Q1hw3zm6719edRjThqXqvKsUfPPFtNjdeHHlYfxdMxZ9K4A31azcQWCMYVJ2CuKMBr9k04GSY//vBWPw/ib/0JzcwYl+3lIKT2vCzQ5W+ec7cgsiMpMTA5btLIv2VmJ4egJONttVDyJf6tqc+Nn7ejFtaX6VmrtTt72gSpfP6bPt/sm982Wveq03lyDykKse/3VxIaYNS1U/a/OCKjhcAuwuAU98dwBDUuKx6/FL1STdneXzHaXgHJiqqbPVrrdv/s4y2FwC7j5/jG9xHe0OjyoUac9RadMTz1+jPw+3gOoWB55dXoTnbpqupttwuAU8unA/Ui0mFDx1BeZtLcXmo9L7SmdH777/F49+sx9rimpw9tjBmDkyPWCZT7eXwsgYbjp9OB7+Kh+A9A63u7QJOWkW3HDa8E5aoUdJgu4RRDz27X7cde4YjByUgEcX7sfjV09RHRMCYQ3igdTmcOPPC/djaYFeKG+wOnGwqkUNDc1O9b57vrL6iHouKwurset4I+ZOycLSgird4knFte06pwfCH8VDbqApSFHzQGKMXckYO8wYO8oYezRa9YRibGYSfnLGiKBJqhVyAvzDjhqUqPNMevjSiRiUFIfBSXHqzMkYTaLB62d4byrZaRYMTbXgj1dOwp3njMbcyVm6Y2uPmxFEQEoIkO/IbDR0egnP5ABJrk8flaE+1KcOS0W7U7rxK26LAHQ3sZ+dNQrXynmaFuRV4L2Nx9TZgenD0/zOJd5kREFFC/aUNeODTcdxTOP+PH2Ed3+F7cca1ESIAHCNnPvpg03HA8ZJW50e2FweeARRl8spGLoQtggnhVPc3RutLnVw0NkVZbpLdYtD56JNEARBDFxiYfwFACaj/4Bl/r1n6z5rJ9sUlhVU4R/Li+BwC+rYoKIDiYYVDpxsQWZyHGaOTMeqgzV4adURDE6Kw30XjQ24f3K8CXa3gEPVbX6hX5doPDXCoV0ptrhWLzwpoUuAN7TE5vKg1eH2ywmpRRFwdh5vxHPLvStLtTnceHPdUfzfZ3sCiiJiAM+BgoqWsEuhK2O6eJMRM0b6j9cC8fg1U3HplCy/7bPHDPLb9sQ1U3Sf/3jlJL99ACmxeO5g7xh7Qlay7vvM5DhcMW2obzEAwCd3z9atWny4pg2/v2IiEuOMWJxfiXiTwc/etzf4i2lrDwUO4dHm4AqHMrGqEE7s2VPmTSVRFyBp9LxtpepKynVtTizYVa7zJnK4BbQ53HC4BSzYVY6ff7ADy/dX4fq3NsPhFnShY49/ewBPfHdAN35sc7hhdXrw0Py9mPj4Cjy6cL9O7AtGm9Otim0NVheeXnIQj3/rzcPlcAu6aIDr3tqCx77djyX5lVh9sFrdR2mfVocHTo+g78fyn08tLsQT3+1X3wNEkcPhFvDjd7aqnmMAcMPbW/D+xmPwCFIieKU9g703vLLqMP7y3QE89u1+PPJ1vrp9t7xa5ENf7cOfFxYg99FlyH10GUrq2tEkj/1dHhFOjxAwb5D2FDyiCLcg4sIX1mNBXgV+t2Af1hbVqve8oqpWXPDCOt0Kk4r9WmFu1jNr8K/1R8E5x+c7yvzEIwCobHboUrBoc22VNdqQ++gy3PLvbbjv0934YPNx/PbLvfhiR5nuXltco7+P3f7hDry3URJPBZGj0epS278lSI4wIHDIotJu3naSPivnG2j/QIm9f/LOVjXPWLRZf7gWc15cr3s3Vd75jtVb8fqa4mBFIYrBk5t7BBFu1reCwqLigcQYMwL4F4DLAFQA2MUYW8w5D38XiiCXT8vG5dOyw+6nJLY+Z+xgXXLtobJaOyUnFQ9eOgGAJBrllTaBMUlkUjh9tFfNTpEFq1/PGR+wPm25QIMnILAHEgD8/opJeOH7w2HP6fzxmdh8tB6JAcLeThuVjm/lePNTh6dhw+E67DzRiMunDsWqgzW4bKr0UP7DFZPw4srDuG7GMNS1OVVlWuQcb66THrZaAUmJ49cOwD7crJ+VmjkyQxenDgB3+ISl/fVHU5EYZ8R/d1fgCp/rJ3KOy175AYnxJsweMwhf7CjDvicvC+rJBejD1mo7sMpJR/n+QBX+77M9eOWWGfjdgnz87wVjsKygCskWE1Y9fFHE6gnHOxuOYv6ucux8/NKg/YkgCILo/8TK+AsAzszVCwgzRqThbNl7WWH2mEEBQ1wW7ZNWWusKm4rrMSUnVTcpdv6ETPz5qilqbiQtt80eifc3HVe9zbuKkk+oqKoVSwv0tmu9VF6RQ6hK6qw49Sl9culQ/Huj1/ZAXi9aRA5cOmUo1hRJbXv3eWPw0ZbjuOCF9X77fnbPWfj5h5KnyIgM7+Th9TOHY9cJ6eV5858uxvn/9C+rkBRgonZW7iAsyPO+0D9/03Tdy+nEock4ZZhepDIamPRiKYgYKY+VH796CqwuD15bU4x5d89GcU0b7jo3F2sP1WJlYQ0mZCVj7JAkrJRzm144cQieueEU/HVxoTrmu/bUYfh0Wyn2lDXjkilZeOWWmbjmjU1qfqdAYXTB2KpZmU3h6eunBUy6nu4jIIVLUv2upn8G8iwD9Nfe17vvitc2otTH60vx4Plw83HV+1/L7xZ4xZL6difOeW6tn53ljTYcr7di+vA0uAURRgPTeWetKqxRvd5q2xz4z5YTuvKT//K9X73rZIHO6Raxr7wZN/xri+6dYtIT3+Pq6d53ALcoYm9Zk+pR89n2MowenIjM5HhV5NHmU+UceHZ5EZ5dXoTxWcmqUFbRbIfN5UF+eQumj0jD/ooWlDfZ8MY6r4i4LIAgA+j7iSIu+3ra/eeuM3Hx5CycbLb7OTAEuq/VyOG2B6ta8ct5eTjZbMcrqw/jqeumIb+8Bb+dvxdmA8OzN05Xy9S3O/HiysM4Xm/FfzUrQWr5vUYEAxBQvNh53Ps+FsjbbvPROlwyJQu1rU4kW0zYVFyPTcX1+NGMYXhp5RF8s6cCk4amqOHJr/50BkZmJOKM0RnYU9aE3MFJWFtUiz9+U4DNf7oYIzK877+//XIvdp1oxIY/zEFdmxML95zE62uLkRRnxLnjM/H+HbN0ttzx0Q6cqLdh2W/Px5GadgxJiUdinBF5pU3IK22C2WjAnefmwi2IKG2wYnyWv+eU0yMg70QTRmQkYPTgJIgiR3FtOwxMer/3jXrRcrS2DY9+U4CaVieKqluRHG/CxKEpusmCV9ccwY2nDceowf7ek48uLMCCvAqse+QimI0GjByUiCM1bRienoBr39yMuOl34M3iJXBXtmDasI6J971JtELYZgM4yjk/BgCMsfkArgfQ4wOYjmA2GrD64QsxPCMBU59cCUDKLWQwMKx86EKd4JMrC0jD0hJg0YgzYzO9syMsTIzrmbmD8MndszEoKU7nKqjFEhe4E//qonE4b1wmrv/XlpB1vHfHGahsdqiroGg5fVSG+vcNpw1Xb5rnjBuMP1wxCcPlAcSv54zD+eMzceqINPVGf830HLgFESvkbP5awULxQLrqlGzsOK4XiRTuOGc0rjolG1ly7qQjNe3YcLhW97BJTTDjngvG4OvdFXhxlf5hx7mURBLwLt/62Lf7MTUnFcEobbDhjNEZKG2w4Y21xThc7e8u3RWUwaby8FVduFuA51YUqUJiNOEc+Hp3Ba45NYfEI4IgCCJmxl8jMhIx/96z8e2ek/gqrxxP/mia7vt1j1yEl1f556Px5dxxg/1e2i+ZnIW1h2oxNDUeNa3eiaELJmRiU3E9OOf40Yxh2HWiCb+eMw4PzA08oXfG6Aw8cPEEjM9Kxp++2a/aZTQw3Wpi188cpr74jRqU6LdyLwB8sPk4jEYWUKTqKN/86hz8+B19MmTt5KaCdnUwQC/w5KRZUNXiwF7Zm2XUoERMzta/TGmPOVwjGuWkez3kbz1zJFIsJpw+KgMjMhLx3f3n4QZ57PnVvWfjp+9tR678ojREE6o1IiMBH/9iNsYNSYLDLajCypCUeJ3QdPnUbFwwIRPz7p6N4ekWXPrKRtxz/hi8t/EY5kzKwqVTsjDv7tm4YHwmBM4xO3cQzh2fiYsmDgHg9Upqsbtx30XjsLKwRrXjquk5sJiN+MXHu5AUZ4TZaMB54zOxp6wZ548fAovZiJdunoEbA+TU0gpvChdPGoL1hwOHvwHAT84YgdfWFOs8UEZkJEBxmFBC6ACoL9zXzxyGdodH5+nUaHVhSk4qiuSwvqunZ2P5fmm8PSzNgsoWh261Ol98xSMtgcQjBYvZAJdHxPxd5TrxyGI2wOEWVeHxlOGpOHDSfwyttUmbA6kj/GvDUZQ3Sm2z3ydsT7tymMMt+l2v0gab7px9Qy4VtFEOywuqsPpgjS43UXfwDdP8YPMxlNS145llRRienhAy31Or3Y3l8jlqozUW5FXoxFcA+NXnu/3KBxOPxmcl6865syj97sud5ThY1Yb88mYMSfH+j2sTz2tz2ylhf1edko0VB6p1dryy6ogaLukRvbnprnp9k+4aWl0CVh+s8fMqUnL3/uz9HWrY61BNHt6/Li6EWxDxw5E6bCquxyOXTfSL5tl1ohErC2uQnmjGAxePx97yZlUsnDs5C+eO009wKDjcAl7SPKsenL8X5Y12/GbueLy3UW/n1W9swkOy04kW5XoqHoO/mTtedcYAACQOwe/HXYWTH+7E1j/PVVeNj1Wi9YY7HIBWzq8AcJZ2B8bYvQDuBYBRo0ZFyYyOM0GO8bxi2lA029yq8DLJ56F71phB+O/uCpzj08kMBoYLJmTqlg4NhsHAcKH8APTlj1dKHkZxQVRQxhhmjEzH7DGDQoazJcaZMN7H5VdhUnYKRg5KwJ3n5GL04CSMyEhATasDF0zI1Cm2Sl2AlHw8Mzke9100Fh6BY8WBaozNTILFbMAfrpiEt9cfVT2Pbp41Em+tP4qxmck4WNUKm8uDKTmpOFTdhuxUiy48LictAbNGZ+CrXeUYkZGA4tp2xJsMmJydqnpEJZiNGJISD5tLcs21mI0wMOkmMyQ5Hsv3V6sP2GDMmTQEV52SjWeWFfk9oLrD2MwkHKu3YtSgRFS12JFiMYNz3q0BZGeJNxlw74WBXfMJgiCIAUXY8RfQc2Ows8cOxtljB+PBSyeoz/5bzxyJhXtPYuyQZNw8awSW7a/CkJR4WMwGnDl6kG5Frm9+dQ6m5qTh/H+uw5ScVNWb4s2fnYYmmxupFhNEEfjb0kJsPFKHZ244BXNe2oA/XDEJcydn4eJJWaonCwDk//VyCCLHVa9vRHK8CZ//8ixYzEb89MxReH1NMc4cMwhjh0hjJ8WT+9IpWXj55hkwMoZ1h2ux6uELYXNJ4TWPLMiXwstumo5Hvs7XPfv/dOVkNNlc6gvGldOy8Y+bpuOiF9fjttmj8MPhOpw+Oh3LCqpw0aQsPH3dNGQkxWHGyHTUtjqw/vdzUNvqhN0t4IrXNvq17dzJWXjimilItpiQlWLBuCFJyElLwKs/nYkzn12Du87NxR3n5CLOZIDAOV5dcwRVLQ7MGp2BL+89G88uO4j3Nx1HTpoFt589Gp9uL9W9tJiMBlw/05ueYebIdOx/6nKIXJo8zH/ycsTJuTl/f8Uk3HDacGSnWZAcb1InWH82exTe2VACk5HhgglDYDYyzMrNgIExZCbHgzGmCkLb/jwX2akW3HP+GL/vDGA4d3ym7vyVyd27zx+j/n2/RiicKI/fX7p5BgDggbnjcfnUbPUl9pThgWf5H7p0AtqdbogceOd/TgcgpYNod3jw0qrDqheK0cBw+9mj8d/dFUiMM2HTHy+GR+B4cvEBfH+gGisfulDNY/TeHWegttWJX3y8Cw9dOgFnjM5ARlIcRM5R0+KE1eXBVa9vwk9njcQT107B7xbkY/2hWvz5qinq+PaRyychr7QxpLdUTpoFdreAZpsb8SYDhmck6ISJQNxz/hj8Zu54PL/ikF+usZUPXYi7P96FkjorctIsAcUjLYrYO3pwIj7+xWwcqWnDfZ/6Cx+AFDqaEGdUxaNAhMpbrRXaAKlP5g5ORHFtOyYMTUG+z+qMJgPDzbNG4sudgb33zhs/GFuONuBXc8bhnQ0lOpF17uQszMrNUCNAhqVZ8Mk9Z2HH8QY8/u0B3XG2HG1QxY6TzXYYGPDyzTPw1a5y3QrY04enYf/JFlS2OPDY1ZNx1pjBeHLRATV/li8Ot4gEsxEf/+JMbD/WiFfXeAWNH/4wB8fqrPjFx7vwjxun47qZw3Ci3oqb3t6KX5yfq7sv3TZ7FFYcqFJzx/349BH4y7VTMPPp1fj1nHG45/wxSIwzod25GxuP1Knt6LtCZYrFhNzBSQHfqRQnA62ItXDvSb/VFoHgouczy4oCbtfmTNNOHviWCZQsH5CE7Eary+/46w7Vqs4S4VD6rE4Akml3eoLarp180JZVthck5+CJOeNiXjwCABaNDOuMsZ8AuJJz/kv58+0AzuKcPxBo/1mzZvG8vLyI2xEtPLL7ZjhPo76CKHJwIKg3VCAEkYMBAT2cIgXnHB6Rw8CYaptSLyCFQxuYpGSHwyRfr0jmQGKQBlhuQYTJwCBy7xKdQg+uXKBtH4IgiC4zZ470e8OGqByeMbabcz4r/J5EV+ns+AuIzTGYKHIw5u/RrSSeDjT24JyDMab+7mkcbgEuQXrJMzKms1EZayv2+dIRe10eKTeIsmuc0RB0DCaK3O87UVO2J9vHLYjqeKmnCdQOWjjn4FxKUJxiMav7a6+X7/5Oj6iLQOiMDaHs8d3PLYp+L5JK/cq1d7gFdYEdzqFeX84lb5x4k0Hd3ub0ICXepJZnDLpz4ZyjzelBvMmgq9cjiHB6RCTFm2B1emBgDBwcJoMBIufqhDdjUr3tLg8SzEZ1NS9tv3N6JJuUcTuDtIqVxWQEh3Qt4k0GMMbgEUTY3AKS4kwwyLZq62LMe/4il9JVmA0GuOXfyvn7tk27nEsoOd6ktonyW7newe4hNpcHZqNBt0q2KIdcKm3dLufEiTNK52lkDAlxRt1+yn2gTW5PJdRN6XfKcZTrFW8yoN0p1a3te773Sd/+pT2PQOektF+gcxVEDo8oqu3uFkT1vDkHDAbAbDDA5haQHG9S/5dEzmFzC0g0G+H0iGBMivTx9cRS2ks5rlsQESdvE0Tu9x5lZAwGxiBwjgSzER5RhMsjqm1idwlwyylLLCYjHEFWA1faVPFWU1LGBNtfa6/TI6rHVn7HGQ3q/xMA3bF97U+KN8HuEsCY9P+pHCMl3gTn3MvgYQzJ61aHtKM7RHIMFi0PpJMARmo+j5C39Qt64yEYTboiAvWEYMEY0+UwCFav7z6hMEfh2inH1JphQPTbhyAIIqJESTgiepR+Mf4KNi4JNV5RXoJ6a3LPYjYGFRa0NnXVvrgAK/EGI1A7RXPCLxTRGHd1lHDnzBgDY0CKxazbP9g1Yox1SjzytSGUPb77xRv86/GtX/u31mTGAItcXtmeKp9j8PJM3UeLyWhQ33sC5brS2we/Y2jPS6lPO25PDdI/TEaD7rtA7a5sMzLAKJ+v0m4WQ+C2SdHYp9jqa3Ow658Y53/+BgPTtXWgNvTdT6kjWL3a4yjnmBLguL79yfdzuPtOqL5sNDAYDUZVTAy2ryJ+Kf9LBjD1umnfl4PdB5Tjdvb/SmsbIC0+lQDv51D3y0D36o7cX5X6lH0DlQn1HFDsVPbTHsOyfk3Y+mOJaN3VdwGYwBgbwxiLA3ArgMVRqosgCIIgCIKg8RdBEARBEFEkKiFsAMAYuxrAawCMAD7inD8bYt82AOGXFus4owCEXqKie6QBiFwincgfz5dotUc07Y7msaPZP6hN/KE28ScadlNb9OyxqU38Cdcmkzjn/kujEBGlM+Mvef+OjsG60nc6WyZW68gEUB/FOmL1vGOxjq6UidU6OtuvOltPrJ53LNbRlTKxWgf1q9ipoytlolVH5MZgUsxi7/4AyIvw8eqibO97sXy8nmqPaNod5WNHrX9Qm1Cb9Jbd1BbUJjFw7JBtEulnPf1E7Lp16Lp0pe90tkwM19GpvtuPzjvm6ohVu3qiX3W2nhg+75irI1bton7Vt+uIJbsiOQbrX8l8vDSH36VbLInx4/kSrfaIpt3RPHY0+we1iT/UJv5Ew25qi549NrWJP9F+9hK9S1f6TmfLxGodnaW/nHcs1tGVMrFaR1foTD2xet6xWEdXysRqHV2B+lXslOkpu7pM1ELYOmUEY3k8giuzRPp4fR1qDz3UHv5Qm/hDbeKF2sIfahN/wrUJtVlsQtclPNRGRDSgfkVEA+pXRCAi2S9ixQPpvRg/Xl+H2kMPtYc/1Cb+UJt4obbwh9rEn3BtQm0Wm9B1CQ+1ERENqF8R0YD6FRGIiPWLmPBAIgiCIAiCIAiCIAiCIGKXWPFAIgiCIAiCIAiij8AYaw/z/QbGGIXSEJ2C+hURDahfRQ4SkAiCIAiCIAiCIAiCIIiQ9GkBKZySOJBgjN3AGOOMscm9bUssQWqzF8bYCMbYIsZYMWOshDH2OmMsLsT+DzHGEnvSxt6A7iNe6D4SGLqPeKH7CNFfoWdB12CMzWGMLdV8fosxdlcvmhRzUN/qPNSvwkP9qvNQv4oMYXMgMcY+AnAtgFrO+SnytqcA/C+AOnm3xzjny+Xv/gzgHgACgN9yzleGMyIzM5Pn5uZ28RQIgiAIgoh1du/eXc85H9LbdhB6aAxGEARBEP2bSI7BTB3Y52MAbwH4xGf7q5zzl7QbGGNTAdwKYBqAYQDWMMYmcs6FUBXk5uYiLy+vw0YTBEEQBNG3YIyV9rYNhD80BiMIgiCI/k0kx2BhQ9g45xsBNHbweNcDmM85d3LOjwM4CmB2N+wjCIIgCGDOHOmHIAiCIAiCIGKRATBe7YgHUjAeYIzdASAPwCOc8yYAwwFs1+xTIW8jCIIgBjCiyHGiwYommxstdheabW602N2a3y6kJZjx6FVTkBBn7G1zCYIgCILox5TUteP/Pt2NL+89G5nJ8b1tDkH0GboqIL0D4O8AuPz7ZQB3d+YAjLF7AdwLAKNGjeqiGQRBEERf4K31R/HK6iMBv0u1mJCWaEZFkx31Vhfeuu00MMZ62EKCIAiCIAYKB062oLi2HcfqrCQgEX7UtzthYAyDkoKuEzJg6ZKAxDmvUf5mjL0PQMlmfhLASM2uI+RtgY7xHoD3AGDWrFmhM3kTBEEQfRbOOb7ZU4HTRqXjwUsmID0xDukJZqQlmJGaYIbRIIlF7/5QgudXHMKU7BQ8MHdCL1tNEARBEER/pdXuBgC0O929bAkRizw4fy8S40x4/44Bschup+iSgMQYy+GcV8kfbwRwQP57MYAvGGOvQEqiPQHAzm5bSRAEQfRZCipaUNpgw/0Xj8ecSVlB97vvwrE4VNWKl1YdwcShKbh8WnYPWkkQBEEQxECh1eEBALQ7Q671RAxQjtVZkZFI3keBCCsgMca+BDAHQCZjrALAXwHMYYzNhBTCdgLAfQDAOS9kjC0AcBCAB8D94VZgIwiCIPo3S/IrYTYyXBFGEGKM4fkfn4rj9VY8/NU+LPz1eZiUndJDVhIEQRAEMVBQPZBkIYkgFESRo7bNCUqmEJiOrMJ2G+c8h3Nu5pyP4Jx/yDm/nXM+nXN+Kuf8Oo03Ejjnz3LOx3HOJ3HOV0TXfIIgCCKWEUWOpQVVuGhiFtISzGH3t5iN+Pfts5AUb8IvP9mFJqurB6wkCIIgCGIg0eqQBCSrkwQkQk+91QlB5GiyUXhjIMIKSARBEATRVXadaER1qwPXzRzW4TLZaRb8+/YzUNPqxK8/3wO3IEbRQoIgCIIgBhqtdkk4aiMBKeJUtdjh6cNjt5oWJwDA7hbgcFMwlS8kIBEEQRBRY0lBJRLMRlw6JXjuo0CcNioDz904HduONeCZpQejZB1B9F0YYycYY/sZY/sYY3nytkGMsdWMsWL5d0Zv20kQBBGLKB5IFMIWWWwuD+a+9AO+3l3R26Z0mepWh/p3M3kh+UECEkEQBBEV3IKI5furcenUoUiM6/yaDT8+YwTuvXAs5m0rxRdZp0bBQoLo81zMOZ/JOVeWiXkUwFrO+QQAafNWGAAAIABJREFUa+XPBEEQhA9KDiQKYYss9W0u2N0CShtsvW1Kl9EKSI2USsEPEpAIgiCIqLC1pAGNVhd+dGpOl4/xpysn46KJQ/Bk7qXYkTIigtYRRL/kegDz5L/nAbihF20hCIKIWVqUJNokIEWUJpskuDRanb1sSdepadF6IJGA5AsJSARBEERUWLyvEikWEy6aNKTLxzAaGN647TSMcrbgVxOvp5kggvDCAaxijO1mjN0rbxuqWdikGsDQ3jGNIAgitmmVQ9dIQIosioDU0N53x2s1Gg8kSqTtDwlIBEEQRMRxuAWsKqzGldOyEW8ydutYaQlmvFm8BI3mRCzc03dj6gkiwpzPOT8dwFUA7meMXaj9knPOIYlMfjDG7mWM5THG8urq6nrAVIIgiNiBc66GsJGAFFlUAakPT/hVtzqQk2YB4D0fwktYAYkx9hFjrJYxdkCzLWCSRibxBmPsKGOsgDF2ejSNJwiCIGKTDYfr0Ob04EczOr76Wiim2WpxettJfLmzDNJ7MUEMbDjnJ+XftQC+BTAbQA1jLAcA5N+1Qcq+xzmfxTmfNWRI1z0ECYIg+iJ2twCPKI0lKIl2ZGmySsJcX/YYr2l1YHJ2CgAKYQtERzyQPgZwpc+2YEkarwIwQf65F8A7kTGTIAiC6EssKajE4KQ4nDtucMSOeWttAUrqrNhd2hSxYxJEX4QxlsQYS1H+BnA5gAMAFgO4U97tTgCLesdCgiCI2KXV7hWNyAOpYxTXtGH94YBzEjqa1RxIfVd4qW5xYOSgRCTFGSmELQBhBSTO+UYAjT6bgyVpvB7AJ1xiO4B0ZSaMIAiCGBhYnR6sLarB1dNzYDJGLlL62obDSI434cud5RE7JkH0UYYC2MwYywewE8Ayzvn3AJ4HcBljrBjApfJngiAIQkOrQxIFMpPjSEDqIP9afxT3f74HbkEMuZ8iuLQ7PXB6hJ4wLaLYXQJaHR4MTbUgPTGOQtgC0NWRfbAkjcMBaEf2FfI2Pyj+niAIon+ypqgGDreI62ZGJnxNIVF047qZw7Bsf6U6+COIgQjn/BjnfIb8M41z/qy8vYFzfgnnfALn/FLOue8EIEEQxIBHyX80LD0B7U5P1EPj/7akEEsLKqNaR7SpbnXA5hJQWNkacj+t4NJodcHm8qC80RZt8yJGtZxAOzvVgowkM5r6sCdVtOj21HCoJI1hylH8PUEQRD9kSX4lctIsOGNURsSPfeuZI+Fwi1i0r28PxAiCIAiCiA4uj4gnvtuPY3XtAb9XJqFy0iwQRA6nJ7RXTXfgnGP+znJ8f6A6anX0BLVtTgDAzuMNIffTCkgN7S68vb4EV7+xCZ4wnkuxgrICW3aaBRmJcRTCFoCuCkjBkjSeBDBSs98IeRtBEAQxAGi2ufDDkTr8aMYwGAws4sefPjwNU3NS8dWusogfmyAIgiCIvk9eaSM+214WdLJJyYE0LD0BANAWxUTaVpcAu1tAnSzA9FXqWhUBKbRja5PVjVSLCYC0Etuh6ja0OTw40RD7Xkicc1VAUkLYKIm2P10VkIIlaVwM4A55NbazAbRoQt0IgiCIfs7Kwmq4BY4fnRrZ8DUFxhhunT0SB0624sDJlqjUQRAEQRBE32XrUclLpqgqcLiV4oE0XBaQrFHMg6QIR3XtfVdAsrk8aHN6YGCSgCSKwYOPmm0ujM9KBgA0Wp040WAFAByubusRW7vKgZMtmPyX7/GP5UUAgKGp8RiUaCYPpACEFZAYY18C2AZgEmOsgjF2D4InaVwO4BiAowDeB/DrqFhNEARBxCSL8yuROzgRpwxPjVod188cjniTAfPJC4kgCIIYAAgixwNf7MErq4/0til9gi0l9QCAouogApJdCWGTBKRoJtKul4Wj+j7sgVQrex+dM24wWh0eHK4JLgY12dyqgFTf5kKZ7HkUqkwssPN4I5weESkWM6YNS0WKxYz0xDi0OtwQZMGszeHGnjJaCbgjq7DdxjnP4ZybOecjOOcfBkvSKK++dj/nfBznfDrnPC/6p0AQBEHEArVtDmwracB1M4aBsciHrymkJZhxzfQcLNpbCZuLVk8hiL5Gi91NYQEE0QleWnUYSwuqsKqwb+fR6QnaHG4UVLQgxWJCeaM94KIbLXY3LGYDMpLMcpnoeyC1OjxwuEOvSlbaYMV9n+bF3MpwSv6ja2Xv8mBhbA63FK43alAiTAaGwsoWuOTcR4eDiHmxQnFtGzISzVj98IVY9tsLAAAZiWZwLvUXzjkenL8Pt7y7LeauT08TufWVCYIgiAHN8oIqiBz40YzohK9puXX2KLQ5PVhWQFHSBNHXeGRBPn7z5d7eNoMg+gTrDtXgnQ0lSI434Xi9NWT4EAHsONYIQeT42exRAIBDVf6eL612D9ISzEiOl3L19EQIG+D1RgrGqsIarCysCZuouqepbZPyAp02Kh3D0xOw5Wh9wP2UBNoZSXHISIrDbtlbZ3BSXMyHsBXXtGNCVopuAjQjKQ6AtJrc8v3VWHeoFh6RR0wMCycoxiokIBEE0S/hnMPpEdBid6O21YHqFgearC7YXQINvqLEkoIqTM5OwYShKVGv68zcDIwdkoSvdpVHvS6CICLLgZMtKKkNvDoSQQwEOOf4eMtxNHZgifD/bDmBkYMS8PvLJ8LpEVElJ/klArOlpB4WswH/c9ZoAIHzILU63Ei1eAWknghhk/4Ofb0PySJLfnls5XhUQtiyUiyYOzkLm4rrA4ofTVbJ2ysjMQ6Dk+JQ3mgHAFw2dShKG20x6zXOOUdxbTsmDE3WbU9PlASk8kYbnlpSiFGDEgEABwOIkp2lptWBmU+vwvpDteF3jjFMvW1Ab7L9WAP+sbwInAMWswEWsxHxJqP6t8VsgNlogMsjwuEW4fAIcLoF6W+3AIdHgMsjgnfjXZQx6Z9x9OBE+ScJuYOTMGpQIhLijOp+nHPUt7tQ2mBFaYMNpQ1WnGiwobTRBqdbUO21mI2w6M7BKL9IyzbL5+HQnAcAxJuNsJiUNjDojmdgDE6P5rzdgu54gsgRbzbAYjJKv+V6leOZjEzd36lpO+V4HoEjzmTQ1RuvOY84k/caKHY4Nefg9AjdugYAkBhvQlqCGekJZqQnSr/TEuOk3wlmeESOVrsbzXYXmm1uNNvdaLF5P7uiuPwnABgY61YbR9s+ADAbDbp+Z9HYG28ywhRiRS4OwC2Iku0+/dPhEeF0C2r8cTA8Ilf7p9LPQ/WLOJNBbT+L2YiJQ1Pw2q0z1cFEf+NEvRWHqtvQYnfJ4SP+/Vj6XzZq2kV/T0lNMCMr1YJs+WdoWjwyk+JhMDBUNNmwu7QJf7hiUo+cD2MMt545Ev9YfgjFNW09IloRBNF92p0eVLc6YDQwCCKHMQqrNRJErFNY2YqnlhyER+T45QVjg+7XYndjW0kD7rlgDCZlS7kFj9W1q8mfCX+2lTTgzNxBGDkoAYOS4nQC0j0f70JuZpIkICWYkSyvFtbWQx5I4VZiO1wj2Zpf0Rz2uA9/tQ8JcUb848bp3TOwA9S2OWE2MmQkmnHFtGx8ur0UG4/U4fJp2br9lNDkjMQ4DJK9d+JNBlw0cQjm7yrH0dp2nDoiPer2dpa6Nida7G5MyNILSBmJUojj00sPoqHdie/uPw+3f7gTBys754G0srAaTy85iNdvnYlZuYMASDqEwy1ib1kTLp6cFZkT6SH655tSB2ixufHg/L0wMoZJ2SlwuEW0Oz2o/3/2zjs+6vr+48/P3SWXvRcZkMXeQ0BARZkqziKo1WrV2l+trXXU1tpha61WW63WWvceYFEEFRmyNwRIgED23ju5jEtufH5/3CCBkEAGGXyej8c97u4739/9/bw+71HfYheJbA1Xk9lqa2i6aJ0NeEejysfdBVetBk03/LgsVklJXTPfHium5rQs76E+eoYGeFDfbCGvsoGGllNKr0ZAhL87wwI8CfHWO4WDqoaWto1vkwUhhE2U0bVtEHq76Qj21iMAo118qGkyndp+eyPcYpVtBAHHbw9XHQGeGrSaU+KFwWim3NB8Ssyw70P96eu3L8PP3QWdVmCy2Br/jS1mqhocYt0p8cO1lbilb2VLkJcOvU7brWMgpa3EZm2TibzKBlujusl0VvFBpxH4ediEJT8PV0J93HBz6V1nPotVdmsfu+o09GJKGqS0CUCO867OaGp1DtoEIGsnKp+utQClOyUk+rq74OatR6fteAO0Gk0b4aP1vtC7aNEIWglU1jbneaPJwrpjxTy8MpE37pjaK+Xn+4pms4VXt2Tw2rbMNiJce+exViOc95LqxlP3EodwazCaOF3H02kEId56dFrbNXD9BQhfc3DzlEhe2JDKyoP5/H7JmAu2XoVC0XUcnkcWq6SivplQH7c+tmhgk1ZqIMLPHc9B2vlxPhwvrGVkmDcu2v4fYOEQCLIqGjqcbluqLWRm4ZgwIv1tolF2RQOXDQ/udRsvNLvSK3hzZxbv3DWty8ewxWwlo6yeeaNDEEIweog3J+wC0sniOjanlOHpqmWInztR/u4XLIQtwNOVqoaWDgUki1WSXmq7Pybl1yClPGs+yfpmM98cLUIIwW8Wj8LX3aVXbHdQZjAS4u2GEIIZsQH4uOnYeKL0DAHJUbHM39PFKSBFB3oyaohN/EwpMfRLASnd/lwacVpnpL/dAym7ooF7ZscwIdKP0UO8z1rdD6DMxZNmjY4o+38pJS9tSqOwpok73znA23dNY3Z8EEfybPeAzE7uAf2Ri/Zp88e1x6msb+Grn89mXIRvX5sD2ESt3CqbZ1FepeO7kSG+bsyICSA60INhQTYPpQg/d1x1/f8BOVCxWiUGo9npmaG1N7b9PFzxdNX2aoJgRd8wOcqPv3xzgn99n8YjCy+MF01vc7Sghl//7yippQZunhLBPbNj8Pe0edZ5dOE8NlusVNS3UGIPCSwz2L5L6oyU1hm5cmQwUXb33gtBkJeeBWNC+eJwAb9ePBK9Ttv5TAqFok/JLD8VulZcaxx0AlJpnZEQb/0FeU+oM5pY8souHrgyjl/NH9Hr6+vPpJUaWPLvXTx383hutee+6c8k5dsFpPKOQzk3JJcQ7K1ncpQfQoCnq5as8oHX4DwXNiSXsCOtnEO51cyMDezSMnIrGzBbJcNDbELA6DAfPtqXi9lidYa8N7RYyCirZ2y4D+72Dsb6HkiiXWc04e6iPUP8qqhvZlSYN3syKzsUkHIrG2g2W5k81I8jeTXkVzUxNLD9d6rdGRWYLBKQbEguYdm0qHan6ynK6poJ9tYDtoiDeaND+f5kKd8cLWJDcil/vWEcvh4up3Ig2UPYAIYFejA0wAM3F02f50GSUlJa10yYb9vnTrq9Qlz8aSFsjhxI4b5uPLrQdo8dPcSHFQfyz+pB++Dw6yh38WSLXQDcmV5BSomB3ywexeojBTy0IpF9T1zFoVxbfqjsAXg9d0tAEkLkAAbAApillNOEEAHASiAayAGWSSn7Vb27dceKWZNYxMPzR/Qb8QjA18OFCR5+/VKZvdjQaAS+Hi74ergwrGvPMMUA48ezo0kpqeOVLRmMCPN2VpoYiDSbLbz8fTpv7MgiyMuVd++exlWjQru9XJ1WQ5ivm+3B27vvKufM8kuGsu5YCZtOlA7oY6ZQXCy0FpBKapsgavC882RXNDDvn9t4fulElk6NdA535N3rae/WfZmVtFispHWjPPZgCSNcf9xWnSypoJZbp5///LWNJl76Po2JUb5cNSq02x4d7+/OZmyEL5fYw1VOx5HjJvs074PW54rRZGFbajk3To5wnjsxwZ7tei2tP16MEIJFp3mE9DVSSv69JYPF48LO8O44nfQy23m8NbWsywKSw5PEUUZ+fKQvzWYrr23L5MvDBVw7YQgHs6soMzTj4+aCEAIvvY76ZvM5X6cZZQY+Tyjggblxzhw5O9LKuf+jBH5yWSyPntYJWW5oJj7EGz8Plw6TaDvElWXTojiSV0NSQc1ZBaRtqeV46XX4e7rwdVLROQlI2RUNrDtWzANz485b4C4zGIkO9HT+XzgmlNVHCnnwU1sxhEh/d36zeJQzhM3Pw4UAT5vgFBPkiVYjGBnmw57Myg49q3qbtUlF/GplIt/8Yg5jw09pAGll9fi6uxDspW8zvaerlh/PjubqcUOcXp5jhvjQZLKQU9lAXHBbwamwpokDPrZjkV3RQGywF2/tzCLYW889c6KJCfLg/z4+zJaUMk4U16HVCLIrGvp0n3SFnnBhuVJKOUlKOc3+/7fAZinlcGCz/X+/odzQzJOrjzEh0pcHrozra3MUCkU/QQjB0zeOY+owfx77XxLHC/tXAsNzJTG/hiWv7OK1bZn8YEoEGx++okfEo/7KZfFBRPi5s+KASqatUAwEMssanKENxbWDKxnwwZwqrBJe357ZpljDda/u4i/fnOjx9e3JtFVq6qpHSnFtE+P+tIEtKaU9aVanNLaYeW93do9WINpgL2/fUWhJR6w6XMD7e3J4eGUS17y8s1u5I/MqG3nq6xM8910KYKvg9On+PKQ9lL+h2Ux6mQEvvY7SuuY24VN3vLOfX686CtjC1xpbLCwcc+oZHhPkRXZFW68lKSVPrT3BS5vSumxzb7EjvYIXN6Xx7q7sTqfNsIs/21PLu7y+tFIDQpwSkK4ZP4QlE4bw4qY06oxmfjh9qLOzycfdJgg4BKR7PzjIw58ndrj8N3dkcs3Lu3hzRxYf7s0FbFXy7vsgAaPJyr6sttXTpJSU19u8d4K99B16IKXabb92whD0Oo3TS+10pJRsTy1jdnwgN0yMYHdGhbNKWkd8uj+XFzakUlDd1Om0p1NmaCbE55S4MndkCFeODOaJq0dx3cRw3tudTVmdkaoGEx6utpzCgV4ODySb8HTnzGGcLK5zir19wUd7c5ESvjpS2GZ4Rmk9I0K9zhBxhBD86bqxTI85JQSPtofjtXev+TqpyPl7W2o5KSV17Eyv4O5Z0eh1WuaODMFbr+O59SlYrJIrRgTTZLJQMsAS4/dGDNQNwAf23x8AN/bCOrqElJInvjxGQ4uFF5dNHBAx0gqF4sKh12l5/Y6p+Hu4cv+HCZ0mO+xPGE0Wnv3uJDe/tpv6ZjPv//gSnl86sdfj4vsajUawbFoUuzIqyK9q7GtzFApFJ2SU1zNlqD+uWg0ldUaklGxJKe20UMJAwNHgyyirZ3uarRGcX9VIclEdKw/mYzCaOpr9vHGU0u5qafe9mZU0mSy8tzunx+2qbWx/W6WUPL7qKH/++gRrEgvbnaY9jhXUnrWRXFBt28deeh0pJXVdOpc2JpcwItSLv944jsKapnNKYnw2Pk+wdWgcyq0mv6qRf25M5Xerj5FsT7x7vLAWq4Srx9m8hRxeSCaLlYScalYfKSCvspF3d+UQ4efOnPgg57JjgzwpqG5qI76llBgoqTOSVdHQL66jqoYWDmRXAfD2zizAVhmts3kq6lsY4utGSomB4trzFznA5oFkC5eyhbS7aDW8fOtk7pw5jFlxgcyMDeSGSTYByfF+5OWmo7C6ie1p5Xx3vOSsFdnyqxr527oULh8RxLRh/qw8mE99s5nHVx0jPsSLmyZHkFxU1+ZarG0yYbJIgr31BHnpKe/EA2lYgAc+bi6MDfc56zmYXlZPUa2RuSNDuGFSOFYJ/0so6HTfnLRXDjtxniJrs9lCTaOJEO9TYV/urlre+/F0fnpFHI8tHIHZYvM0q2lsceYNCrJ780QH2byobpocQXyIF//YmOo8T9ckFnL9q7swWXq/2E96qYGE3GpcdRq+Tip2HicpJWllBuJDzq0Yy/BQL3QawcHsKr47VszhvGrnstYkFjHJUERsUyXb0sp5e2c27i5afjjDFlbr5qJl0bgwp+h/85QIYOCFsXVXQZHARiHEISHE/fZhoVLKYvvvEqDdrm8hxP1CiAQhREJ5edeV5vNh1aECvj9ZyuOLRp7zSaJQKC4ugr31vPWjaVQ1tvCzjw9dkAp23eVwXjXXvrKTN7ZnccvUKDY8fDlzRw6sig7d4ZZpkWgEzvwGCoWif2KyWMmtbGB4qBdhvm6U1BrZn13FPe8ntOm5tVolD604ckYvcX/naEEt02MCCPNx4y1Hw9ku8jSZLHydVNzR7OdFWZ2R9LJ6ogM9ulza3ZGDY2d69wT4b48W8/NPD2O2WDmcV80P397P6zsy2532nV3ZfHO0GJ1GsCH53Dyfyg3N/OD1PSx/Yx+1TWcKUxvty7l7VjRGk5Wcyo4bY18nFfGLz444G31VDS0czKli0dgwlkwYghCnjtv5YrZY+d+hfMaG27wUPtybw6pDtsb94Tzb/nYIAzdNtjUeHSFpORUNtFisWCU8/kUSB3Kq+PHsaGeRCoDYYE+khLxWx2ub3WOnxWyloLprx/GJL4/xfx8dYk1iodNTqqs8vuooy97Yy++/OsbO9ApigjzJr2pqc46VGYyUtTpnHTlo7pkdA5y7F1JKSVvBJr3UcEYlLa3G5mH+6U9motEIJkT68sLSCdxo3/9eeh0H7N6DLWYrO9LaX/da+z3qqevHctesaAprmvjZx4eoqG/mLzeMZVZcII0tFrJbnX+OkLVgbz3B3vqOQ9hKDYwMs7VPZ8QGcii3ut3zcPNJW9n3uSODGR7qzVWjQvjP1gwKa5r4dH8eP37vwBliq5TSKRydbwUxR2dqqI++3fHDAj25fcZQPtqXy9bUMvw9XZz2PX3DWGbE2MIRtRrBowtGkFnewNok27199ZFCjhbUnuG5dfr6Szu4vxmMJh5emdhGkJZS8uqWdB77X5Lz/Fh5MB8XreCJq0dRUmfkQI5N5EzIraam0cT4c0xro9dpiQ/x4oO9ufzsk8Pc/NoeLn1uM49+nsTJ4jpuqDzJ3Jps9mVVsiaxkFumRTpDHeFUsZnYIE+mDvMHBl4i7e4KSHOklFOAq4GfCyEubz1S2u5A7d6FpJRvSimnSSmnBQf3fiWBwpom/vL1CabHBDhvTgqFQtEe4yJ8eWHpRBJyq/njmuPdfpnqLYwmC39bd5Kl/92D0WTlw3um8/elE/BxG9xeR6cT7ufOFSOC+d+hfMwXoBdLoVB0jfyqRkwWSVywTUAqrjU6K9HsTD/VUFp33Jar8j9bM/rt/dfBV0cKeWtHFkaThZPFdUwd5s/ds6PZk1lJclEtuzMrCfbWMzLUm5UH83psvY7wtR/OGAZ0rQf7cF4No8K8uy3Af7wvl2+PFvPu7mxeWJ8KtC/ApJTU8dx3KSwaG8qdlw5jV0YF9c1mZxXe1kgpnV5MH+3NwWSxkl/VyKOfJ57hbbXxhM176OrxNo+ejsLYpJS89H0aXycVOb3Evj9ZilXCorFh+Hm4Mi7clz0ZbRu01Q0t57QvtqWWU1rXzC/nDWfqMH/e2plNs9mKp6uWw7kOAamWSH93pgzzR4hTibRT7Dlwxob7sC+rCm+9juWXtM1tExNkCwdqHba4LbXMWQ04s5Ok3O1RZzTx2YE8tqSU8dCKRFZ3Q7jNKq9nc0opoT56Pt6Xh7uLlheWTgBaiaktFn7w3z3c92GCcz5H7qJrJwxhiK8bW1PLOl3XiaI6Fv9rJ+/utoXHmSxWsisaGN5JriUhBLdMi3J61HjqdVisEl93W+UwRzjk6axNLGLqMH8i/T1YODYUfw8XdqZXcNWoEKZFBzjz6h4vrEVKSXVDC2V28SXIy5Vg7/ZD2KrtIY45FQ2MDLMJjw9eGU9csBe/+OwIhTWnvLEsVsmnB3KZNsyfIb62qnx/vn4sUsKtb+7ld6uPsTW1nOVv7GPFgTweXpnI/qxKygzNVNnP4XMJ8/znxlT+/HUy+7MqnaHGrT2QTufJa0ezaGwo1Y0mpweSm4uWOy+NbpNjbfG4MIYGeLAmsYgWs9XpqbaxHTHZYpW8syubK17Yym1v7mv3WVDT2MId7xxg9ZFCZ0ih1Sr589cn+MfGNFYdKmDFwXyqGlr44nABC8aEsvySKNxdtKxNKkJKyQvrUwn21jsF3XPh4QUj+NncOD7/6aW8tHwik6L8+PZYEa46DddWpnJlTRYtZitmqzxDd5gVF8gQXzdmxQcS6u2Gu4v24vJAklIW2r/LgNXAdKBUCDEEwP7d+R2gl7FaJY+vSsIqJf+8ZeKgKtGtUCh6h+smhvPglfGsOJjvfCi1R32zmcN51aw/XnJWl/2OsFgl21LL+NOa46w+UkBTy7nlhDiUW8U1L+/kzR1Z3DZ9KOt/dRmXjxh8ZX3PldtnDKO0rpnrXt3NumPFXQrn6C5NLRaazT2X00OhGGxk2l+S44I9CfOxeSAdtXtj7MmsQEqJ2WLlxY1p6DSC9LJ6Z6O6r5FS8v7u7Da9940tZv60Npnn1qfw/clSzFbJxEg/bps+FE9XLW/tyGJvZgWz4wJZfkkUSQW17fb+W62SN7Zncii36pzt2ZFejq+7C0smDgEgq+LswkF7Da/6ZjOpJXUsGht2hgC/6lDBOdtiNFk4lFeNi1bw/PpU9mZVMjTAg2OFtc5nopQSq9WWRsLH3YXnbp7A4rFhtJitrD9ews2v7eHH7x10LrPFbOXBz44w9a+b+F9CPh/ty2X+6FCevHY0358s47tWOVSq7eFSi8aGER9iCy3pyMPiYE41WeUNCIHTS2xjcikRfu5Or6FZ8YEcya92ilpfHCpg8tObOJjT+T75YG8Owd56rhoV4gyVmjsymMuGB3M4rwaLVXIwu4qJUX64uWgJ93V3hrCllRrQagTP3DQegNtnDMX7tA6hmCBPhDjlxWQwmjiUW83NU2xJ2zPLzr8heqzAlvPxzR9NJcRb7/Roao/kolr+9X2aM4RubVIRu1qJv+/sysZFo2Htg3N48Mp4fr9kNFOH+RPirWe3XfT81+Y08quaOFpQ6/SYSi+15YQa4uvGZcOD2JdV1SbEqD3WH7d59L23OwezxUpupU2gPt0DqTO83Wy5kC6qNb5CAAAgAElEQVQfEcz80SFsSSk7w/s8paSO1FKD03tEr9OydGokQuCszjU8xAu9TsPxwlre253DjGc3OwWSEHsIW2OLpU3OKyklt7xhE36iAjxYNNYWuOOp1/H6nVNpMVv51YpT3nIbkkvIr2rivstOiRJRAR48smAE+VVNXD8xnJX3z6SivpnffnmM1UcKeX17ptP7KMzHjZMlHQtI+7Iq+feWDN7fk8PyN/dxx9v7AZxV2NpDr9Pyn9uncN+cGOc+ag9bovdQ9mRUsjuzgsYWC34eLmw6Udrmva3ZbOGBTw7x9DcnCPVxI6uigaSCM3OT/uWbE5wsqmN6TABHC2poarHwVWIh7+/J4b45MVwaG8iz351k+Rt7aWyxcP/lcXi46lg0NpRVhwr49aqjHMip4pdXxePueu6VfBeNDeM3i0cxPSaAmyZH8sad0zjyh4Vs//VcQkwNTK8rwEuvY9GYMKKDPNvMq9Nq+PaXl/H7a8eg0QiigzzPyGvW3+lyFTYhhCegkVIa7L8XAn8B1gJ3Ac/Zv9f0hKHd4aN9uezOqOTZm8df0BLTCoViYPPIghGklBj4yzcnGBbowRBfd9tLRImBtFIDKSWGNskIXbSCK0bYXhrnjw7t8GGUW9nAqkMFrDpUQHGtEZ1G8MHeXP6oT+a6SeEsnxbFhEjfMxL6NbVY+MfGVN7dnU24rzuf3DeD2a3yI1yszB8dwkvLJ/LvzRk88Mlhhod48eBV8SyZEN7jFYbMFluIREqJgdQS23mQVmogr6oRKSHA05UQb72tYp2PG6H2T5ivngg/Wznb83lRUSgGOk0tFl7blsFX9hCD2GAvhvi6sf64EZPFiqtOQ3GtkeyKBhJyqsmqaODZm8fz+6+OszapyJm09EJTZjCyK72CJRPC+WBPDs+sO8nQAA82/Opy3F21rDpUQG2TCSHgqbXJAEyK8sPX3YVll0Q5cwvNig9i4ZhQnt+Qwvt7snl+6UTyKhspqG5kVnwQ+7OrePa7FISAH0yJZFiAB/EhXlw9fki7du3OqOCrI4UsvySKMB+3Dku7JxfVsvyNfbz5o6nMijv1rEjKr8EqYcowf8ZF+PKTDxNYn1zCxEg/Hl+VxIyYQD67f2an+yghp5oWs5W/3TSeZ749QYi7C3+7aTx3vLOfvVmVZJbX8+8t6Ywe4sORvBpeXDYRf09XpkUHEODpyu9WH6PFbEWrETQ0m9HrNPzs40NsTikjOtDDmVD6vjkxTIsO4KVNaWxPK+PaCbZ94/AeWjgmzBla0pGHxYoDeXjrddwzJ4aXN6fz9/Up7Egr5/YZQ53P29lxQbyxPYsD2VUEeen53epjgK3S1tmqqoEtp9TO9AqevGY0LloN100I58vDhTw0bzgJOdWsTy7hi8MFlBmaWWI/trHBnk4BKaXEQEyQJ5Oi/Pjq57MZFXamJ423mwvzRoWy4kAev7xqOLszKjBbJTdMDGdjckmXPJAcYtSkKD9mxQWyK6OiTVWorallHC+opaTOyIqDtvLlFqtk4ZgwfrXiCDqthi9/NosAT1e+OFzATZMjCPVx47FFp6qROZb73bFi3t6ZzWXDg9iZXsHG5FLumRNDelk98SG2JMbTYwL5PKGAtDID7i5alryyi3/fPvmM0PyNJ0rxdXehsKaJdcdLcLE/64efZ5oSL3t1rbkjgvHzcOHzhAL2ZVW26ZRbm1iEViO4ptU1+fCCEVw/McJZzUun1TBqiA+J+TV8c7SYFrOV/26zhXIGe7k5BZiK+mZnRa/DedVklNXz9A1juWPmsDbvfHHBXvxxyRge/+IoKxPyuW36UN7amcWwQA8WjGlbbe/eOTFMjfZnYqQfWo3g+0euoKyumdVHCvl4X67zHnrD5HDe2J5FndHUrre6lJJ/bEgl1EfPt7+8jH1ZlWxILqWwupHYYM8zpm+NTqvh90vGdLq/F44N462d2fzdfs/75VXD+cs3JzhaWMvESF+Si+r4+/oUdqZX8MclY/jB1Egu+ev3rEksZFKrqp1SSnalV3D1+DBunBTBj98/yJH8ar49WkyEnztPXjua7IoGFr+8k6KaJj64Z7pz/t8vGUOTycKqQwVE+ruz/JKhndrdGe6uWtxdbV5hemnhywdmEXoWry1HIQmw3QMGWuGeLgtI2HIbrbaf6DrgUynleiHEQeBzIcS9QC6wrPtmdp2s8nqe/e4kc0cGc+sl/aTutEKhGBBoNIKXlk/kB//dw92tekd1GkFssO0l79ZLohgZ5oOvuwsbk0v4+mgR358sxcNVy4IxodwwKZw58cG46jQ0tVj47ngxnyfksy+rCo2w9Xj9YckYrhoVwpG8Gv6XkM+Xhwv4dH8eI0O9uWVaJDdNjiDQS8+B7CoeX5VETmUjd84cxm+uHuV88bnYEUJw0+RIrp8YwbfHinl1SzoPrUjkX9+n88DcOG6cHNHlwglmi5U9mZV8e7SYo4W1ZJbV02LvqdcIW4/wuHBfbpocgVYISuqMlNYZKakzklxUR0V9M6d3oIb5uDEs0MP+8SQ60JNhgR5E+rvj6+4yoMq5KhQdYStgcpQ1SUXMigvkkQUj8HV3IczXjRaLleJaI3fMHMrH+/L47ngJ7+3Odt5b1x8v4eukIh5fNLLNNXG0oIb00nqaTBZ2pJWTXdHAA1fGceOkiPO+dmoaW0gpMTAjJuCMef/89Qm+PVrMq1szyK1sZGKkL0kFtbyyJZ3HFo7knV02W4cF2kIyQn1swjHYcrl8sCcHq4TZ8UH4ebiydGoknx8s4BdXDefOd/dTVNPErt9cxdqkIjxctSybFsXH+3IxWyUaAXt+O8+5PMe+TC6q4xefHSEu2Isnrx2DEIKYViKE0WThiS+PYbZK/rV8Ei9sSKW+2cxrWzPbCEiHcqsRwiYaeOt1RAd68NbObKYM9cMq4VBeNUaTxZmM+GzszqxApxHcMCmcCZG+uLlobSK5i5avjxaxLaWMKH8PSmuNzB8d6gwT0WoE80eH8HlCgVNMOJxXTVOLhc0pZfxhyRhumx7FQysSMVmsTLcfn0vjAtmdcaoU+MYTpYT7ujEuwtZAHj3Eh72ZbcPPahtN3PbWPsJ83didUcHSqZHcMyeGt3Zm8d9tmcyJD+LnV8Y7p78kOgBXrYbn16dSUmck0NMVd1ct+7NPeSBZrZI7393P4nFDuHPmMFsozIYUwnzcuPNSW1ihv6crX/18tm16+0Pg2XUnCfR0Zd5om6dJbJAnXxy25R1KLTEwPtImRrRuKJ/OTy6L4fuTpXywN4fPD+YT4q1nyjB/YoO9nJXMwOZldrSghktjAzu8LpLya4gO9MDPw5VZ8UF8lVhEaqmBUWE+NLaYeeDjwzSZLGgE3DI1ivoWM69vz+Tbo8UEeenRagT3fnCQphYLUsJPLo89Yx2O5f7sk8NE+Lnz79sms+yNvWw8UeIUkObaBZsZ9opXB7KrMBjNGJrNPLsuhcuHBzujSHLtnTi/v3Y0n+7P47WtGcSFeLWpwHauOLy8Lh8RjLebDj8PF17dksGc+CA0GoHFKvnqSCGz44PaeOF4uOqcx8vBuHAfPtlvC1WdNszflrRZq8HHXeect9zQ7KxMtjaxCL1Ow42T27933TItki+PFPDsupPsSCvnSF4Nf75+7BkdYxqNYMpQf+d/R8dVk8nCu7uz+XhfLpH+7syMCeSN7VmkFBvaVBYD2zm9JqmQhNxqnrlpHEFeepZMCHdWresppgz1J9DTlZQSA+MjfLl5SgTPrDvJH9ccp7K+hcKaJnQawfM/mMAye9v9ylHBfHO0mN9ePYqD2dXMjA2goLqJMkMz02MCmBptCwfdmlLGzowK7phhE+Nig7345L4Z+Lm7tAltDPLS88ad09iVXkGwtx5XXc8X1hrRSSilg9ggT747ZhMce8OO3qDLLQ8pZRYwsZ3hlcC87hjVU1iskkf/l4Rep+XvP5igXsgVCsV54+3mwgf3TGf1kUIi/NwZEepNbLAnet2ZL9XTYwJ44prRHMiuYm1SEeuO2fJ4+Hm4cEl0APsyKzE0mxka4MFjC0fwg6mRzhh2gEvjArk0LpCnbhjLN0k2oemv357k7+tTmBzlz8HcKiL93fn0JzPaNAQUp9BqBNdPDGfJ+CFsSC7h31sy+PWqo7yyJZ3/uyKOuSNDCPd16/R5IKXkcF41axOL+PZYMRX1LXjrdUyN9ufy4UGMDPNmZJg3ccFenTawTBYr5YZmSuqMFFQ3kVvRQE5lI3lVDWxNLafc0LZ6ipuL5pTXko8boT56uweTG37urnRkusUqMZosGM1WjCYLzSYLRpPVPsyCh6uOm6dEtDnvFIre5IM9OXyVWMQjC0bwy3nDncPDfE4JIzdMimDLyTJetJchf//H4xDCdi0/+r8kvj9ZxgJ7KfNyQzPL39hHkz2EJszHDT8PFx5eaZvu1dsmI4SguLaJMJ+Or3WjycJd7x4gqaCWeaNCmBEbwI60Cn44YyjjInz57lgxV40K4WRxHbFBnnx83wz+8vUJ3tyRxfcnSsmtbOQ3i0c5c3pMiDzV6I8K8ODGSRGklBiI8LNdb/fOieWT/Xnc+uY+CmuabGFUO7JYd6yYhWNCeer6sfxhyRhyKxu46p/bWXUonwevsu2zzPJ67v8wgczyBrzdbOEtjg6EmCAvEu0hVz/96JAzn1RTi4VtqeXEh3ixK6OCE0V1jLGHaR3Oq2Z4iJezEtW9c2L4w5pkThTZ8vMUVDeRkFPNnOFtnzXPfHuC4loji8aGsXBsKHsyKpgU5YenXufMAQO25+G3R4vRCPjvHVPbbdT//Mp4Rob5sGxaJJP+sokD2VUU1xrxdtPxo0uH4aLV8NaPprWZZ3Z8EBuSS8mraiTYW8+OtHJum37Ke2jMEB9WHykko1VVpTd2ZHKypI7aJhNmq+T2GUPxdXfhlVsnYzRbuHb8kDbniburljnDg9iVUcHlw4N4bNFIViUU8OG+XKeotiujgt0ZlRwtqOX6CeHsyazgcF4Nf7tpfLvPhLHhvrhqNVQ3mvjp5bHOhmJMkCf1zWbSy+rJq2pk6dTIs56vrffthEhfnvsuBa1G8Ol9M3DRaogL9nKGdQE8+nkiG5JLmRMfxE+viEWv0zIxyveM95ek/FpmxAY49y/A7oxKRoX58P3JMppMFj69bwYzYgPRagSV9c3syaggq6KB1344hXA/d259cy8TI/34283jiQs+81gvmTCE4hojE6J8mRUXiF6nZeGYMF7blkFmeT3lhmZngzvS350hvm7sz66ioLoJD1ctqaUGvj5axA2TbAKkI2fOorFheLvp+M0Xx0gpMTAqzPu8PXxvnzGUseE+ToHnd1eP5vEvjvJ5Qj63Th/KjvRyimqNPHlt5941jkTMccGevHPXJVz2/Ba89DqEEATZy9o/8nkSwwI9+MsN4/j2WDHzRoecEaroQAhbSOOSV3ZxMKeau2dFn5EXqyOmDrOJNZUNLcyIDWxTgr61gLQ/q5KHViRSUmckPsSLZdN6z+lCqxEsGBPKioP5zIoPxM/DlStHBrMj3Xa9PTR/OPNHh7bx0rl+YgQbkku56h/bKaxp4qnrxuDharv/zYgJwMfNhTFDfPhoXy4tZisLx56q4dWR1+Dp97e+YGSYN1YJB3OqBkxEwaDuun5zRxZH8mp4+dZJhPqcPfGXQqFQdMQQX3cemBvf+YTYHowOIejP149lZ3o5a5OK2J9VxYKxoSybFsX06IAOc7H5uLlw+4yh3D5jKKklBv6XkM/3J0u569Jofr1opNP1WXF2NBrB1eOHsHhcGJtPlvHvLek8ufo4AN56HSPsAtCoMG9GhNq+fd1dSCkxsDapiLWJRRTWNKHXaZg3OoTrJ0Ywd2Rwp2JRe7hoNYT7uRPu596mh9BBQ7OZ3MpGcisbKKxpsnsvNVNaaySpoIaSWiPNPVANUKsRWKXkpU1pXD8pnJ9cFttnoUGK3kMIsRh4GdACb0spn+srW9JKDTyz7iTzRoXw4JVt76EOzxqtRjAu3JdZ8UGsOlTATy6LcQoRV48P480dWTz46WFev2MqV9qrDbVYrKz6v0sJ83Uj3NcdCby4KZX/bM1k6dRIvPU6lr2xl/sui+V314w+q31PrU0mqaCW26YP5asjhWxOKcPbTUdCbhWz44LQCMEzN40j0FOPVUrcXLQ8ee1ohLBV7poeE8CisWFoNYJfLxp5xvX996UT2pRVjwnyZP7oUDadKOXmKRE0tVh4Z3c2UuJsGGs1tl7zWXGBrEzIdz57frPqKJUNLTxz0zgWjQ1zlsgGWw/2N0eL+NE7BzicV80LSyeQkFPNyoR8Qn30fHLfDK78xzbe3pXFi8smsTWljD0ZlSy75JRYsXRqFP/clEZNo4mXlk/itjf3sTuzgqgAdz7Yk8uvFgwnrcTAWzuzcXPR8M3RYuLsnk8Okas1s+MD2Z5Wzg+mRJ7VI2RYoCf3zrHlchkX7sOezEqyyuuZNyrkrB6jjs6T3RmVBHi60nxaY3HxuDD+uz2T297az8f3zsDf04X3dudw/cRw/rV8EnVGs1M0mz+m3ULRALx+x1TnMQebaPP2rmxnpb0VB/Pw0uuobzbzp7XH2ZxSxthwH26Z1r4A5OaiZWyELYxvWSsB4PIRwbhoBQ+tSARwVuHqCCEEP708jp9/epjfXTOaGbG2KlfxIV5UN5qoamghIaeKDcmlzB8dyr6sSu585wAAl8YG8tG9052V3RzeshPt4meEnzvRgR7syajg3jkxrE0sJMzHjZmxgc73lkAvPa/ePoXE/BquHheGEIJDv1+Ah6v2rIKth6uOh+a3PU8WjQ3j1a0ZLP7XDgDn88gWxhbAlpQyDEYzjy0cwbfHSvjHxlSmDPXHx82FL48UMmaID1EBHizzj+Ky4cGYLZIgb9cz1t0ZccFebUSvW6ZF8sXhAv627iSz44NYeSCfQE9Xp4jdEVPsVbV+enkcvh4uPL90orPy2vAQb5ZNi6TKnrdrySs7aWixcP3EjpM3xwV7sf/JeXi66s47JN/m6RfKyoR8xgzxIdRHT4Cna5s8YU0tFh5blYSrTsNLyycyf3Rolz22z5Vrxg9hxcF85o6whSW+9sOpWKzyrOLfvNEh+Hm4YLJYGRrgwWcH8hkX4UuAp6vz2E2PCSC5qI4AT1emDTvzXau/Mn90KEFerry9M0sJSP2By0cEYTDGdZjMS6FQKHoLV52GeaNDna7qXWFkmDe/XzLmnOLKFWcihGD+mFDmjQ4hqaCW44W1zvxV3x4t5tP9p6oi+bq7UNtkQqsRzIkP4tGFI1gwJvSsPYM9hadex5hwH6dnwOlIKaltMlFSZ6SuydzuNA40wtZQcXPRoNdpnb/dXLS4aDXkVzXy3u4cVhzM48vDhVw2PIj7L49lTnyQ8tIdBAghtMB/gAVAAXBQCLFWSnniQtviSJrspdfx/NIJZ4jmDi+4EaE2j4FbL4mylWNeMMI5jYerjhX3z+RH7x7gvg8TuGPGUD47kM+yaZFMO61X+aF5I1ibVMQ/NqRispdCf3tnFtdPDGdchC8Wq+SLQwUE++i5cmQIKw7kseJgPg9eGc9ji0by2MIRNJksuOo0XPfvXWxOKeOmyWd66/l5uPL80jMc8NuEQDlw0Wo4XXN+bOFIXHUanrxmNDmVjXx3vAR/D5czesKXX2IL39qVUWHzBsqt5vmlE9r1DHCUdk/Mr+GV2yazZEI4100Mx2S1cs24IYT6uLFsWhTv78khrdSWu21kmDePLDiVo8bdVcsTV48itaSeS6IDmDzUj13pFRzMriIht5r86kbqmkwEe+vZ+thc9mVW8qe1yVglXN5OL/6SCeHsyaxsczw7YnpMAG/ttFXTWjQ27KzTxQV7EuqjZ0NyCVUNLfh7uDC91bkQFeDByvtn8sO393PNKzsJ87GFSj48fwRCCKd41Bmnh5I4vBgOZFcSG+zJphOl/OjSaMoNzXxl9zR+/Y6pHTa8f3TpMKYO9W8jVsQGe/GzK+J4ZUsGQLt5j9rj2glDmDT0Kqd3G9j2DcDO9HKe+y6FUWHe/PeOKdQ2mUgrNXCsoJZnv0vh+Q2p/HbxKFsy7nxb/qOJUae8x2bHB7EmsYiciga2p5Vz96zoM67f2fFBbRq7XenYGhfhw02TI9DZcwvNjg90jpseE8CaxCLAJgpOiw7g3vcPsvClHXjqtVQ3mpzV3YQQhPv1nFetEIJnbx7PTa/t4ZbX91JR38w9c2LOKbxoRKg3Wx69wlktb/G4U+eyq07jvHecLK7jznf2o9UI5o7svABKd6rrLh4XxsqEfMZH2PJqjg33YUtqGTkVDUQHeTqTmq+4fyYzYwM7X2APcPmIYLY+Nte5nzrbt24uWtY/dDlebjrWJBby5Orj5FU1cvmIU+8uM2ICeG93DvNGhTgF0oGAm4uWO2dG89L3aW08J/szoj+UR502bZpMSEjofEKFQqFQXJzMnWv73ratxxYppaTM0GxLgl1iIKuinjHhvlwzLoxAr7NXGxkM1Daa+ORALu/vzqHM0MyoMG/uvzyWJRPCey0GXwhxSEo5rfMpFV1FCHEp8JSUcpH9/xMAUspnzzZPb72DfbI/lydXH+eFpRO4pR3Rw2yxMvqP61k6NZJnb57Q4bIMRhN//eYkKxPycdVp2PbY3HYbjF8eLuCRz5MAeHHZRP62LoUgL1d+MCWSdceLOZJXg0bAT6+I452d2cyMC+S9uy85o1f/cF41T61N5p+3TOy0JHh3efDTw4wM9eYX89p6ZxhNFmY+u5kaeyWzmbEBfPaTme0KvflVjdz93gGeuHr0Wb1qmlosvL8nhw3JJQR76/nnsokdNkpf2pTGy5vTAbhiRLCz5P2frx/LXbOiAZv35NGCWi6N636jc2NyCfd/dAi9TsORPy5whqe0xyMrE/nySCGuWg2v3j6Zhe0ITkU1TXy6P4/vT5Yyb3QIv140qts2LnppB/6eLkyI9OPNHVlsevhyXHUafvHZER5fNKrL4TBGk4VrXt5JSZ2R408t6nK16PyqRi57fisA7i5aPrt/5hm5lH7/1TE+3pfnnCbER09BdRPJf17k9Lban1XJD9/ejxBgski+fnDOGbl+epuMMgPzX9xBbLAnWx6dC9iO6VNrk6lqaOGp68e2CZnsDU4U2USeyoYWvn/kivPOrdQZZXVGaptMvX6PkVKyJ7OSS+1eZMlFtdzx9n5ctBrGhvuwPa2cpVMj2xXG+yMGo4npz2ymyWThD0vGOL0YHbnOnr5xHFP70gOpC++rlfXNzHpuCzdPiej0edhVevIdTAlICoVCoej/9IKApLCVyl2bWMRbO7NIK60nzMeNd+++5KzeUN1BCUi9jxBiKbBYSnmf/f+dwAwp5YNnm6c33sGklNz4n924u2rPKnoAbEkpZVSYzzl7DyTkVNFksnDZ8PZ77C1WyfI39hIT5MkLt0xk/fESfvnZEVosVgI9Xfnt1aNYm1TEzvQKIv3d+frBOfh7nn/Iy4ViT0YFB3Oq0WkFy6ZFdVhGu6c5kF3Fsjf2OoWrJ748RmJ+DWsenN1uDsDuUt3QwuSnNzF/dAhv33VJh9NuTS3j0c+TeGn5JK4Y0bn3Rk/xh6+O89G+XADmjgzm/R9P77FlZ5bXk1fZyJWjQjqf+CxYrZIFL20nKsCDp28Y127l6RazlRUH86huMFFqMPL9iVJGhnnz0b0z2kx3sriOJ1cfwyph9QOzLriHqpSShS/t4OYpkfxsbtwFXXdr8iobSS01nFP42kAirdTATz5MwGKVXD0ujF/OG97r3tY9yeOrkvg8oYBvfjGn14XE86aL76u/W32MLSfL2PH4lb3SkacEJIVCoVBcXCgBqVeRUrI9rZzPDuTxr+WTzzsJ6bmgBKTe51wFJCHE/cD9AEOHDp2am5vb47YYTRbqmkyEXOAclFarbOPBYTRZMFmsuLto0Wk1NJstvLUji0Vjw3q9538gY7FK/r0lnaVTI4n0twkRp+/bnubjfblMHurnLIveEa3LzF8ossrr+d+hAi6LD2J6TMCACpM5G53tx77Yz4oLg0MDGIjHt7Cmia+OFPKzK+J69Z7UJbr4vlrV0IKbi6ZD78vuoAQkhUKhUFxcKAFpwKMEpN6nP4WwKRQKhUJx0dFP31d78h1sUCfRVigUCsUgoZ89iBWKfspBYLgQIgYoBG4Fbu9bkxQKhUKhuEi4CN5XlYCkUCgUCoVCMQiQUpqFEA8CGwAt8K6UMrmPzVIoFAqFQjFI6BchbEKIcuBsAfi+QG0Hs/f1+P5gw2Af3x9sGOzje2IZQ4G8Dsb39Tb29fj+YMNgH98fbBjo4zu7jruzjGFSyguX8VZxTrTzDhYEVJzHIs7luuzO9D21jo62q69sOt/pOzs2fWFTT03v2Lb+ZFN313Gu19JAOf8cnG27BvKxu1DnX1fm6e7053IeDsRjd/p29Qebujt9bz5/R0opeybxn5SyX3+AN/vz+P5gw2Af3x9sGOzje2gd5f15G/t6fH+wYbCP7w82DILxHV7HPbUM9em/HyDhPKfv9LrszvQ9tY6OtquvbOrJbegrm3pqese29SeburuOc72WBsr5d/qx6k82dXeeC3X+9cV+OpfzcCAeu9O3qz/Y1APT99rz93yX3dFnIJQP+Lqfj+8PNgz28f3BhsE+vieWUdPLyx/o4/uDDYN9fH+wYaCP7+w67qllKAYP53Jddmf6C7EOZVP/mP5CrEPZ1DvTX4h1KJt6Z/oLsQ5lU+/Q28tvl34RwqZQKAY+QogEqSosKRQDmp64jtW9YGAzWI/fYNiuwbANZ2Mwbttg3CYYnNs1GLfJwWDdtsG4Xb25TT257IHggaRQKAYGb/a1AQqFotv0xHWs7gUDm8F6/AbDdg2GbTgbg3HbBuM2weDcrsG4TQ4G67YNxu3qzW3qsWUrDySFQqFQKBQKhUKhUDnHQLEAACAASURBVCgUCkWHXHQeSEKIxUKIVCFEhhDit/ZhQgjxjBAiTQhxUgjxy762s6sIId4VQpQJIY63Gva0EOKoECJRCLFRCBHelzZ2ByFElBBiqxDihBAiWQjxkH14gBBikxAi3f7t39e2dpUOtnGl/RgmCiFyhBCJfW1rVznLdfiOECLJfq6uEkJ49bWdXeUs1+GgOUfhrNs4mM7Rdq/DVuMfFUJIIURQX9moUCgUCoVCoVBcSC4qAUkIoQX+A1wNjAFuE0KMAe4GooBRUsrRwIo+M7L7vA8sPm3YC1LKCVLKScA3wB8vuFU9hxl4VEo5BpgJ/Nx+DH8LbJZSDgc22/8PVNrdRinlcinlJPtx/AL4sk+t7CIdXIcPSyknSiknYCsB/mAfmtld3ufM63AwnaPQzjYOlnPUztnuNQghooCFdF7uXqHolwgh6vvahp5GCGFpJWAnCiGiO5h2rhDimwtn3blhF6U/bvVfJ4Qo74+2dgUhxI32bRzV17Z0l8F+rGBw3iccdLZtQohtQogBkV9nMF1XpyOEeNLeiedwhJjR1zZ1FyFEpBBijb1DOVMI8bIQwrWD6X8lhPC4kDZ2xkUlIAHTgQwpZZaUsgWbUHQD8DPgL1JKK4CUsqwPbewWUsodQNVpw+pa/fUEBmzcopSyWEp52P7bAJwEIrAdxw/sk30A3Ng3FnafDrYRsHnMAcuAz/rGwm7T7nXoOE/t2+fOwD5Pz7gOGUTnKJx1G4FBcY52dh2+BDzOAD5HFYpBSJNDwLZ/cvraoC7QAIwTQrjb/y8ACs9nAUIIXY9b1XPcBuyyf58z9o6n/ka3j5VC0UN06brq7wghLgWWAFPsncvzgfy+tap72N+PvwS+sncojwC8gGc6mO1XQL8SkPpFDqSgoCAZHR3d12YoFAqFQqHoJQ4dOlQhpQzuazsUzt73MGBNYGDgVeodTKFQKBSKwUtPvoP1i16K6OhoEhIS+toMhUKhUCgUvYQQIrevbVC0wQjcFB0dXavewRQKhUKhGLz05DvYxRbCplAoFIqLlGazhWazpXcWPneu7aNQDBwE8Le+NkKhuBDUN5v5eF8u/SHyQqFQXMQMgvdFJSApFAqF4qLgoc8SeeizAVsYTqFog73S4TF7YtEE+7Dzqfb4Q0CFFCouCjafLOX3Xx0np7Kxr00ZlDS2mLnxP7tJLqrta1MUCkUvowQkhUKhUFwUJObXcCS/uq/NUCh6kivtCaMd1YLOp9qjLzBgi4YoFOdDs8kKgNHUS16oFzkJOdUk5tfw3HcpfW2KQqHoZZSApFAoFIpBT0OzmZI6I6V1zdQ3m/vaHIWit+i02qO9Slcz8AkwIMpUKxTdpcViE5BM9m9Fz2KxhwZqNaKPLVEoFL2NEpAUCoVCMejJqWxw/s4ub+hgSoViwCCBjUKIQ0KI++3DQqWUxfbfJUBoO/ONBTKllBVSyksvhKEKRV9jVgJSr2Kx2AUkoQQkhWKw0y+qsCkUCoVC0ZvkVJzKe5FVUc/4SN8+tEah6BHmSCkLhRAhwCYhRJvYESmlFEK0yRgshPg/4JfYhKcEgKFDh14wgxWKvsJkFzhazCqJdm+gPJAUiosHJSApFAqFYtCTXVEPgBCQqTyQFIMAKWWh/btMCLEamA6UCiGGSCmLhRBDOC3HkZTydeD11sOmTZumWtSKQY/JqjyQepMWs22/KgFJoRj8qBA2hUKhUAx6sisaCfXRE+XvQVZ5fV+bo1B0CyGEpxDC2/EbWAgcB9YCd9knuwtY0zcWKhT9C5Pd80gJSL1DU4stOblGCUgKxaBHCUgKhUKhGPRkV9QTE+RJbLAn2RXKA0kx4AkFdgkhkoADwLdSyvXAc8ACIUQ6MB94TggRJYTYKoQ4IYRIFkI8BCCECBBCbOqzLVAoLiBmuweSw1NG0bM0tNiKU+iUgKRQDHpUCJtCoVAoBj3ZFQ0sHheGm4uWA9lVSCkRKtmnYoAipcwCJrYzvBKY13qYEEIPPCqlPGz3WjpkF47uBjZjE5oUikGNowpbi/JA6hUa7R5IKom2QjH46dQDSQjxrhCiTAhxvNWwACHEJiFEuv3b3z5cCCFeEUJkCCGOCiGm9KbxCoVCoVB0Rk1jC9WNJrsHkheNLRZK6ox9bZZCcUGQUhZLKQ/bfxuAk0AEcAPwQV/aplBcKE6FsKmUX72BI4RN7V2FYvBzLiFs7wOLTxv2W2CzlHI4tt6r39qHXw0Mt3/uB/7bM2YqFAqFQtE1HCFrMUFexAV5ApClEmkrLkKEENHAZGA/ECqlLO5TgxTdIqPMQHqpoa/NGBCYVRLtXsURwqZCBBWKwU+nApKUcgdQddrg1r1WHwA3thr+obSxD/CzVwFRKBQKhaJPOCUgeRAb7AWgEmkrLjqEEF7AF8CvpJR1fW2PovvMf3EHC17a0ddmDAgcwpESkHoHhwdSs9nSx5YoFIrepqtJtFv3WpVgS+YINpfo/FbTFdiHnYEQ4n4hRIIQIqG8vLyLZigUCoVC0TE5FQ1oBEQFeBDqo8fDVUum8kBSXEQIIVywiUefSCm/tA8uVZ18iosFR+jauXjIZJQZqGls6W2TBhUNTgFJCXQKxWCn21XYpJSSLoS8SinflFJOk1JOCw4O7q4ZCoVCoVC0S1ZFAxH+7uh1WoQQxAR5kqUqsSkuEoQtW/w7wEkp5YutRq0F7uobqxSKC8spD6TOmyzzX9zBda/u6m2TBhVN9hC2ZpMSkBSKwU5XBSRnr5X9u8w+vBCIajVdpH2YQqFQKBR9Qk5lAzFBXs7/scFeKoRNcTExG7gTuEoIkWj/XAM8ByzoW9MUiguD+Tw8kADyq5p605xBR6MKYVMoLhq6KiC17rW6C1jTaviP7NXYZgK1KkGjQqFQKPoKKSXZ5Q3E2pNnA8QGeVJY04TRpF50FYMfKeUuKaWQUk6QUk6yf9ZJKSullPP62j6F4kLQco45kCxWVUesK6gQNoXi4qFTAUkI8RmwFxgphCgQQtyLvddKCJEOzLf/B1gHZAEZwFvAA71itUKhUCgU50C5oZmGFgvRgR7OYbHBnkgJuZWNvbLO2kYT97x/kH1Zlb2yfIVCoWiNEj0651yTaKuOha7hDGFTApJCMejRdTaBlPK2s4w6o9fKng/p5901SqFQKBSKnsBZgS34VAhbXKtKbCPDvHt8nU9/e4ItKWVU1jfz1c9nY0tBo1AoFD2H7ZXbRmOLGW83lz60pv/jDGHrREBqUgJSl2hotnsgqf2nUAx6up1EW6FQKBSK/opTQAo8FcIWYw9n641E2ttSy1h1qIBRYd4kFdSyP7uqx9ehUCgUrT09HI13xdk51xA2Rzn6i42n1iazJ6Oiy/M7hDflgaRQDH6UgKRQKAYFq48UkFFm6GszFP2M7MoGXLSCCH935zBPvY5QHz2ZPZxI26B15YkvjxEf4sXKn15KoKcrb2zP7NF1KBQKBbQNtWqwhw8pzo7ZISCZOw73uxhD2MwWK+/vyeH2t/d3eRn1xjND2MwWK9tSy842i0KhGKAoAUmhUAx4ssrreXhlEi9sSO1rUzCaLNQ3q5f5/kJ2eQPDAj3RatqGkcUGeZFV3rMeSM8OvYLSOiMvLJ2Ar7sLd82KZmtqOSkldT26HoVCMfDZl1XJWzuyujx/61CrRuWB1CmmDkLY/rM1gwN2b9GLMYStzti9dxajyeLcr62rsG1OKePu9w6SWqI69xSKwYQSkBQKxYDno325AGxPK6exj3tif/PFUZa8srNTN3nFhSG7ooHoVuFrDmKDPckqr2+TR6Q77PEZyqehk7jvslgmD/UH4M6Zw3B30fJmNxqJCoVicPLl4QJe2Zze5fkbW4VadafTwmA0Ef+7daxJLOzyMgYCjmfy6QKS0WThhQ2pLHtjL3BmCFtZnZGimqYLY2QfUddkcv5++psTXP781vOb32ibP8hLj8kinUndyw3Nbb4VCsXgQAlICoViQNPYYmbVoQJigjwxmqxsTy3vM1vqjCa+O15CTmUjaxOL+swOhQ2LVZJb1UhscHsCkhd1RjOVDS3dXk99s5nHYxcR01TFIwtGOIf7e7qy/JIo1iYWXbAGSE5FA5tPlp7z9LmVDVhVBSeF4oJjMJqpbzF3+fprLXR0p+MkrbQes1XyxJfHuryMgYCzCttpOXoyytqGMhtPC8H67ZfHeGjFEQDSSw18sCendw3tA2pbCUjv7Momr+r8KpQa7B5Mwd56AFrs+7Cm0fZ8rW7s/nNWoVD0H5SApFAoBjRfHSnCYDTz3M3jCfB0ZX1ySZ/Zsv54CS1mK4Gerry2LUM1zHuBPRkVVNafW29mUU0TLWarM2l2axyiUnYPJNJ++usTFOl9eCFzPW4u2jbj7p0TgwTe253d7fV0RovZyj0fHOS+DxPOKWRgV3oFV7ywjS+PDG7PA4WiP2IwmpES6rsg/hzJq2bJv3c5/zd0I/FzbqXtHtjYYnHmCRqMOELYTvcOdghIHq62e3cbYc5kIbuigdxKm6By65v7+NPa5EGXaNvhQdSa1qFonc5vF6AcApJj3ppG2/CapjOX31Pkn6fYBfDh3hwe+Tyx541RKC4SlICkUCgGLFJKPtybw+ghPkyPCWDB6FC2nCw7rxefnmRNYiHDAj3443VjyCxvYOOJjsWshmYzr2xOb/flTXEmxwpquf3t/fxxTfI5TZ9jbxi1G8LmqMTWzUTam06UsjIhn58WHWBa/ZlCTFSAB0smDOHT/XmUGYzdWpeDs4XdvbMrm6zyBly0Gv6xseN8YM1mC39ccxyAtUnKW06huNAY7Pd9Qxfyz7y1s21YbGM3QthyWonoKf0wV82ejAoS82u6vRxnEm1L2/tnur34hrebDmibRPs/WzMoqG6kor4Zs8XqFEKKagdXSFtd05nnz/lU9nPkUArycgVOJdJ27K/aXvJAWn+8hMue38r2tPPzPN+SUsaG433X2ahQDHSUgKS4IBwrqOV3q49dlNUtFL3HwZxqUkoM/OjSYQghWDwuDEOzmT2ZlRfcltI6I3syK7lhUgRLJoQTHejBa9syO8yx8/LmdF7clMaHg9AlvqeRUvLMuhMArDtefE7Cj8O7qL0Qtkh/D1x1mm41TCrrm3niy6OMCvPmVwV7zjrdA3PjsUjJD/67p9uV3745WsTkpzex8mBem+FFNU28sjmdhWNC+eVV8Ww6Ucqh3OqzLuedXdlkVTQweagfezIqnKEGCoXiwmCwiz6GLnQgeLjq2vw/Ww6kFrO10/eu7MpTHhxVPRDS29Pc/vZ+bvzP7m4vp6VVEu3frDrKBru3cnqp7Z5c02hCStkmifYb27MwWSRWCeX1zeh1tmbTYMuJVNuOh1C54f/ZO+/wKKr1j39md9N77yEJJSH0XhQpAlJEUFGwV6zX9vPq1WvvXq9i9yIoIIjYAEHpINJCIIRQ0kjvvdft8/tjd4csKQRIaM7nefJAsrNzzpxp53zP+36PRvIyOhOWa1iKQNKdnsLWPZNkcTkm4/OU4lMLVcTnVvPo9/Ft1r2yQcP8xQeIy66iUWs4p3tPRkZGFpBkLgANGj2P/RDPDwfz+DW+4GJXR+YKYsWBHFzsVcweHAjA2F5eONup2HLiws8s/X6sCFGE2YMDUSoEHhnfk+MFtezLqGhz+7TSepbuy0apEFh1MO+KTh3oCv5MLSM2q4onr+2NrVLBot2ZHW6vNxjZdKIYF3sVvuZObUuUCoGbhgTxy+GCcxJ1RFHk3+tOUNes55P5g7ET2x+kRfq78ONDY2jWGrjpqxhptZ+z5cdDeTyxOgGd3uTL8fPhfOmzdzamICLyyvXR3HdVON7OdvxnS2qbAmZRTTOf78xgarQfr8/qh94osj25875JMjIy548l8qiuWc/qQ3n8cji/06b+znbWAlJTOylVty2Jpf9rWzvcV05FIwFu9kDbQsKVgt5oesc2qPX8dDifLeYIFEt6mkZvpEGjbzc9raRWLQlIxTVdE016qdBWFPR1n+xh6b7OpV5bIph8XUzXUZPO9LuUwnaWAlJGWQPHC848uWPxWlK1WGV1d1o5mxNL2kx133iimNisKinls7TuyjqPMjIXCllAaocmrZ5v9mZRUnvlPlz2Z1Rw99JDHc5SdwVv/5FMQXUzwR4OLNmb1ekZDZnLn9omHXvTy61+umrGp6xOzZbEEm4ZFiLNxtqplEyK8mV7SukFF2TWHy1iQJAbPX2cAbhxaBD+rvZ8uSuj1baiKPLq+kSc7FS8e2N/imvV7DgL4+O/G3qDkfc2pxLh7cQTk3px28hQ1h4ppLCDWeD3NqcSm1XFyzP7IghCm9s8OzUSexsl72xMafVZRYOGr3dnttkJNaVO5rI1qZRnp/Yhyt/1jMcwOMSdtY9ehZezLXd+c5A18QVn5ZH1zd4sXlh7gmt6+7D/hUlc3cubf605zpr4AvalV7DxRDGPT+hFiKcjTnYqnry2F4eyq9oM7X97Y7IkNg0MdiPI3YHNcji/zBVEQl41r61PPOdVFpOKTFHT3eljZ3kXxuVU8eLaEzz363FyKjv2c1l5IIdVB3M5/ZHWnvATn1uN3iiSXFTX5udg8kAaGOwGdK9XzbnQ8vyd7zvdYp5t8czJr2pCFEXyq5twd7QBoLJBaxWB1JLSOjU2StOwqaN3z+VIy+tH2UKMyeqkR6DlWu5pjvYtrTO9Ny3m2Wcb4Tp54W5u+OLMUWeWc9VyFbmqRlPZbV3LTqdF7pXUyqvDycicC7KA1A4Lt6Xx9sYUpny8mx8P5XXZUs+XAnmVTTy88jB3fHOQPWnlLNzesVfG+bAzpZQf4/J5+Jqe/HtGX3Irm6Sw4a5AFEV+isvjydUJfL07k4NZlRd9GfcrmaKaZl5Yc5zEwtozbiuKIo+uiueubw9Z/cz934FOpTKujM1l4od/UdyO18DqQ/nojSJ3jelh9ffp/f2patQSl3PuwmhMRoWVL8SZyCxv4ERhrRQJBSYxa8E1EcRmVRGfax1x8vtx0yzYc9dFMndYCEHuDqw4kHvO9b3QiKJ4QX2bfj5cQEZZA89Pi8JGqWDBNREALNmT1eb2a+IL+HZfNveODWPeiNB29+vjYscTk3rxZ2qZldBSp9Zxz9JDvLc5lSkf72HDsSLpHVBWp+aR7+N5bUMSV/fy5sFxEZ0+jlAvR9Y+OpYhoe48+8sxxn2wiw+2pJJR1r7viMEo8tG2k7y9MYWZAwJYcvdw3B1tWXL3cMZEePHPX4/x9E9HCfNylNoFYP6IUEI8Hfhgy0mrQfCetHI2nSjhHxNNYpMgCEzv78/e9HLZi0vmimFLYgnfHciVvFnOlgeWH+aHg3mUdFOEgs5gRG1O82n5riluQ5g4ll9DbbMOg1HklfVJvLQu0co3KcrfhXUJhW2KSLbmiJn1x9o2ym/Q6KlT64kOMAlIdZeYgFTfIjWv+DwndHXm56Bln/nVTVQ1amnSGhgc4g6YJg407fRPSmrV0jOyuLYZo1Ekpp0I48uNumYdznYq5g0P4Yvbhkh/r20+JfyEvbCRN35v23+wTq1DqRDo5WuaQLOk+Fmuye4SJi0RROUNp+ppScOsbiMd8/R7pLvubxmZKx1ZQGqDkyX1LIvJYcYAf/oFuvLC2hPc8c1B8s4wM3SpI4oin+9MZ/LC3exNr+C56yJ56tre7M+oJK20640TKxs0/GvNCaL8XXhmSm+u6+dPDy9Hvt7dsS9MZ8mtbOT2JQf515oT7Muo4L3NqcxbHMuA17fx4trjV5TodymwJbGE6Z/u5ce4fJ79+VirlUxOZ296BTGZlTwxqRe/PjKGXx8Zw39uHsDJ0noWbk/r8Lvrjxbyym+JZFc08umO9Faf1zRpWRaTzYRIn1YrbI2P9MFOpehQqMyvarLKmW/JbwmF3P7NQW78aj+pJe3P2lrXtwhBgFmDAq3+ftvIEDydbFmwIp7FezJp1hpo0Oh5+49kBgS5cdvIUJQKgTtGhxKTWdmhkHCpIIoi//zlOCPf2dEt0YsGo2hlgt6g0bNwexojwjy4rp8fAEHuDswZEsSPcXlUnBYhdDS/hhfXnWBMhBcvzex7xvLuvSqMHl6OvPVHsnlQZ2DBd6ZVzN6a3Y8QT0eeXJ3AghWHWXkgh8kLd7PrZDkvTI9i+X0jrGZrO4O7oy0rHxjFp/MH09vPma/3ZDF54R5u+mo/u9PKrZ5bGWX13LIohs//zODW4cF8dtsQaUBob6Pk23tGMCrck4oGDa/d0M9qBThblYJnp0SSXFzHG78n8fqGJO5ZeognVie0EptmDAxAZxDZIaexyVwhlJufC6c/HzqL2vwM6i5PoIYWAlB+9am+ZelpRvtL92Uz+8v9fLj1pJVfW0uh57VZ/ahq1LYyBTYaRSniO7Os7QkRi2AV5u2IvY2i3Uim2mYdr29IovE8zLrPhkaNnv/7+SiPrzoi/e3eZYfOeSECURRb9VlK6zRklpvaZUiIB2C6XtqKQLJRCuRUNkmiX0F1M7tOlnH7Nwc7NaF2scivauK9TSlnjPyvU+vxcbHjP3MHSiIQnBJcLMLZsv05rb57MKuSL3dl4mKvwt/VHoVgEpBEUZRS1+Jzq9u1sEgqquWTHWlt9tnPVG9LJFjL+7yyoX3fperTIqEsAtSBzEpWHmh9bDIyMm2jOvMmfy9EUeSV9Ym42Kt4Z84A3BxsWB2Xx3ubUhn/4S76+LowJNSdIaHujO/ji785b/xy4NOd6XyyI52ZAwN4ZWY0/m72VDVqWbQ7k2X7c3jvpgFdVpYoiry0LpG6Zh0rHxiJnco0sFkwLoKXf0vkYHYVoyO8pO2rG7UolQKu9jZn3LfeYGR5TA4fbjuJjULBezcNYP6IEKoatRwrqGHj8RJWH8pnTE9vbjhtQC9z9jRrDby9MZlVB/MYEOTGnCFBvPVHMisO5PLA1eFtfsdoFPlgayrBHg78Y1Iv6fwPD/PkeEEtS/ZmMSnK1+oasLDrZBnP/nyMUeGe9PJ1ZvWhPB4cF2HVqflkRzp1zTr+NS2q1fcdbVWM7+PDlsQSXr0+GoV5gF/bpOOPE0X8llAoRSc9PD6C56ZGojKHpe9KLeOfvxxjRJgH+VXN3LHkIKsfGk0fP5d220cURdYfLWRsTy/8XK2fB462KlY+MJL3N6fy7qZUFu/JJtLfmfIGDYvvHi6JD/OGh/DJ9nRWHsjljdn92y2rO8ivamJ5TA6/xhfQP8iVD28ZRICbQ7vbf7svmzVHCnCyVbJgxWF+e+wqQr0c29xWrTOwZE8WS/ZmMSTUg1euj7Y6j6IociSvhq1JJWSVN5JT2UheZRM6o5FANwfCvZ3QG41UNGhYcvcwq1S0R8b3ZM2RApbtz+a566JQ6wwcyKzkhbXH8XWx48s7hkrpBh1hp1Ly8sxoFqw4zHcxORzMruJQThWfzBvM7MFB3D6qB8v2Z/PhtpPsSCljRJgH/7l5IBE+zmfcd3vYqhTMHhzE7MFBlNdrWH+0kGX7c7hn6SGG9fDgqWt7c7yghs92ZuBopzTXJbBVKp6DrZLl940kvbSBAeYUlJbcMCiQJXuz+O5ALk62SsK8nRjX25tHJ/SU7kmAwcHuBLjZs+lECTcNDT7n45KRaYuU4joi/VxQKARyKxvxdrbDya57u58V5kFkRb1GSituj5yKRu789iCrF4wmxNP0LDOYDZdPFNYS5O6Ah5Ntq+99vTuT+NxqFt89/Iz1SS6q4/fjRexKLWPL09dYRRDlV52KOjo9peaHQyaz/JOl9exskeacXnbKt21EmAc2SoHMCmsvN0vUEkBBddsToEXmqJ5AdwfcHGzaTTXak1bO8pgcRkd4Mq1/wBmP92zQGYzc8MV+Hp3QU+qzxWRWsvaIddRUZnkjI9/ZyahwT356eMxZlWEwirQ1pxibZVpwY0SYSUAqrlXTrDPgYqfiql7ePDOlD+HeTkz9eDcJeaZ+g6u9itisSnqY33tFNc30D2r9/L0U+ON4MV/vyeKW4cH08m27H/N9bC6/HyvC03yNt7w3LQJSe55Pap2BeYtjAZPPkUqpwM/VnqIaNQ0aPfoWAtA/fznG3GGt3y+PfB9PflUzNw8NJtjDgaQW6ZY1TVq8nFt7GIKp/2CpV2WDhtlf7GNSlJ8k+raMnrJwuoBksSlZGZvD3vQK7hoT1mZZMjLnQ2Z5A0HuDlaTfJc7soB0GhuOFXEou4p3bxwgdRjuGNWDSVG+/BSXz9H8GjYnlvBjXD4ejjZse2a8tOrAufLRtpNsTy7ltVn9GNOz9YC6K/guJodPdqQzd1gw/507UBqIeDrZMmdwEOsSCvjXtEjcHVt3ks6W5CLTjPfB7CpemB5F34BT/iBzhwXz8fY0vt6dKYkH648W8vK6REK9HNnwj6vbndE3GEU2HCvk0x3p5FQ2cW2UL2/f2F8a7Ho52zEpyo/xfXzJKG/gtfWJjO3phXc7L5/uoFGj7/aOcVto9UaUCuGsoyE6ol6t49f4Apbuzya/qpmHr4ng2amR2CgF9qaX8/H2NGYNDMDXtbWIuimxmMTCOhbeOshqoArw0sy+7M+o4Nmfj7Hl6XG4tBAN43OrePT7eCL9XfjmnuFo9UZ+Syhk4faTfHXHMADSS+tZGZvLbSNDra6tlkzr78+25FJuXhRDk8ZAdZOWykYtBqNITx8nnrsuksKaZr7enUVSYR2f3zaEzPIGHl0VT1SAC0vvHUFFg5Z5Xx/g9iWx/PjQ6HY7X7vTysmtbOLxCb3a/LxfoBsrHxhFXE4VH29PY39GJbeNDJFC5sF07V4/MIA1Rwp5blpUK4PUthBFkZ0pZWSUN1DdpKWmUYfOaOQfE3udUdwQRZHYrCqW7c9mR0opCkFgQqQvMZkVTP90Lx/cPJCp/fxbfW9PWjnvbkphen9//nldJDf/L4Z7lx9i7aNjrZ4doiiyObGEdzamUFjTzLje3hzJq2baJ3u4PDbbOgAAIABJREFUe0wYj0/syd70Cpbtz+ZYQS22KgVhXo5EeDtxbV9f7FRKcisbyaloJLuikXnDQxgS6mFVl16+zkzv78+KmFySi+qIyaxEozfi7mjD8vtGSp3hzjC5ry9X9/LmbbMX0hs39GP24CDA5Afx4LgIpkT7kVxUx3X9/CVRsivwcbHjwXER3D0mjF/i8/nizwzuXnoIgJkDA3jjhn4dPsPsbZRtikcACoXAzw+PoVGrx8fZrl0vKIXCtILhqoN51Kt1VvekjMz5cLKknumf7uWpa3vz9OTejP/vXwzr4cGaR8d2a7kW77LKTkQQHSuooaC6meMFtZKAZBn4vrj2BK9tSCLt7emtvvfXyXIO51ahNxilSQgLpXVq1iUU8tC4CA5mV3HbkljpM6PROgXYEkVhb6OwMvU1GEUp8j2rvIH8qibsVAo0eqO0wiSASqkgxNOR3AprkcgSleHtbCv5/Zz+DLCkGgW6O+DuYNtuBJIlSiqxsK7LBaTM8gZSiuvYdLxYEpA6iuo5mF2FWmc4q8GYvp1IlphMUwrawBB3HGyU5Fc106w14upgw6K7hknb9fJ1kXwKX53Vj9fWJ7L6kGkRg7L6S9dHx3Le8qua2+3DrD1iigwa3sP0jnW2P9X/sEQQtVx1ztL2OoORB7873Gp/ge4OrDlSQJCHqW8e4ukgiaRtXYNmb3Pic6vJKG/gvmVx0mdVjSYB6VB2FVWNWqb1P9UvqW7SSdFiR/JM0XnHCmrxMr/724xAatTh6WTLa7OiWbQ7izyzH1ZJrZp6tZ4mrb7VCocyMudDg0bPtR/t5oZBgXzWIj30cke+S1pQr9bx9sYUBgW7MW9EiNVnAW4OPD25D2B6ACbk1zB/cSyvbUiUBrbnwpr4Aj7/MwMnWyW3LYnl9lGhvDg96owdeINRJK20nqP5NZTVabhzdGi7Kv36o4W8/nsSk/v68f5NA1o9vO+9KoyfDufzY1w+j4zvec7HUtmg4aPtafx4KA83BxveubE/t4+09h+xt1Fy79gwPtqeRnxuNT8czGPNkQJCPR1JKqpjXUJhqxkKURTZeKKYhdvTyCpvpG+AK4vvGsaUaL82B0RKhcB/5w7k+s/28dqGJL68fWiH9W7rhXa2qHUG3tuUworYXN6e0587RvXocHtRFEkprud4QQ3Z5oFyYU0zU6P9eWxCz1ad0fbIr2pixYEcfozLx9FWydtzBjAl2u+cjkEURSobteRUNLLxRDG/HC6gQaNnaKg77904kKt7e0vbvj6rH1M/3sO7m1L4ZL71A1FnMPLRtjQi/VykQXhLHG1VLJw3mLn/i+HN35N5c3Z/DmRVsCu1nN8SCglwc+C7+0dK98CD4yL4dGc6x/JrGBjsxlsbU3C0VfJ/U/q0eyxTov24qpcXOoNIDy87Boe44+tqx9Rof/oHuUrne1CwG6/8lsSsL/ZR16wj0M2B5feZynaxt2H1Q6OZvziW+YsP8sDV4YR7OxLm7WRa6S2xhLVHCkkursPTyZbr+rcWXFoyIsyTHxaMJq20njCv1svK3zWmB2sTCll3pOCMs2AF1U38e10ie8y+PbZKBe6ONjRo9MTlVLHusavaFB3UOgMbjhWxbH8OKcV1eDja8OiEntw1Ogx/N3uyyht48scEHloZz12je/DguHBCzT45ORWN/OOHI/Txc+HDWwbhZKdi8V3DufObgzy8Mp7v7h9JRlkDf50sY2tSKScKa4nyd+GHBaMY29ObigYNH21LY1lMNkv3m1Z2ifB24q3Z/bhpaPA5Ca+PTzQtV59V0chtI0OZFOXLyHDPs57lEQSBV66PZu6iGBaMi+CesWGttunh5USPNs5bV2GrUnDHqB7MHRbM78eK8Xa2ZUKk73nv18lO1am2nTEggGX7c/gztazN+1ZG5lworDEN0H6My+Nus19dW6mvWr2RerWu3X4MmKJh69Q6Hlt1hJdn9m0lKrekokUKmyiKlDdopBWiWtfRNLhtOUhumTqj1RvJr2pi18kykovqeP/mgQDkVDaiM4gU1ahbRWG++XsyG08UMyjYvVW69IzP9jLgtIgVJ1slAe4OVgu3FNU0ozUYCfd2kgSjV66P5q0/kgGY1s+f9282RY6HezmRU2mdpmZJ4xsc4sGOlFJqmnR4ONlyLL+G139PYkyEF1/9ZVrN0s/FDjcHG4pq1BTXNvPo90d4anJvJpqfQRYBIKno3NK1SuvUeDvbtTnJlVhoap/DudWsPJDDpzszqGjQ4ONiR7lZnPnlkTEs3Zctmf2P/+8unr8uipvN/cWyOjUeTrbYKBXUqXUoBMFqIkZ7WvpaqKcjRTXNHMyuItTTEWc7FSGeDhRUN2GjVOBga/0O6e3nLAlIET5ORAW4StdxTkUjtc063By6R3hv1hrQ6o24OZ7af4NGj0IwrX7m7miD1mBsM4JfMgyvbqKsTs3dSw8xMcqXzLIGKXKutE7DpChfFs4bDFgbTVsExaIWXpSZ5Q30C3QjJrOSfRkVvDYrmsLqZhzNbWY5x5/tNNkP/PbYVXy7L5uv/sqktlnHn6llrDlSwPcPjEIQBOl7h3Or8HSyvv8rG7X0Bm79+gAAOe/PBGDxnkzWHy0CINjDgYLqZnPdlVKUUW5lYytBqKpRS4S3E7MHB3Egs5JNJ4oxGkXJ9Lu0TkO4tzw0luk6LNGffxwvkgWkK5FmrYH/bj1JRYOGb1qklrSFIAgMDfXg6cm9+WDLSTadKGbGgLOfkWnp1bH47mF8uiOdpfuz2ZVaxsPXRNDL14Uwb0cC3RyoaNRwNK+GhPwaEvKqOVFQKy1DCbDqYC4fzxvMVb1ODfINRpHfjxWZU3I8+eL2IW0KE30DXBkd4cnKA7k8eHV4p8ULML2c/jpZxq6T5cRkVqAziNwzNoynr+1j9bJryV1jevDVX5nc+vUBRFHkyWt788SkXsz9XwwfbTvJzAEBVi/vn+LyeWHtCSL9XFh051CmRp85AqCPnwtPXtuLD7elMWtgsTRjJooiqSX1HMmrJiGvhqP5NeRVNjGutzdzhgQxJdpPGnwajSJFtc2U1KqpbtJR3aSltklHkIcDV/f2ll7W6aX1PLE6gdSSesK8HHl1fRJB7g5tDv6Ka5v5LaGIdQkFpJWaws1tlQpCvRxxsVexcHsae9PL+WT+EILc208jSiutZ+G2NLYllyAIAtP6+ZNZ3sCCFYeZNSiQ12dFd9gRt9Ck1bPiQC6bThSTXd4omUuqFALXDwzgvqvCGdQiUsZCmLcTj4yP4LM/M5g/MtQqFe2XwwVkVzR2eB8NDfXgsQm9+GJXBuuPFaHVG3GwUTKutzevXB9tJX48OC6clbG5/HfrSe6/Oow9aeW8PLNvh8fnYm/DqgdHn/H4540IJdLflUdWxuNoq2LFAyOtyu7p48zqBaN4aEU8/9mS2ur7g4LdeH1WNLMGBXa689heOtzgEHcGBLnxzb5sK+NXR1slYV5OhHk7EeTuwI9xeby/2VSXN2f3Y+6wYBxslAiCwNH8GuYvPsCCFYdZvWC0dC0bjCLfxeTw5a4MKhu1RPq58P5NA5gzJMhKbInwcWbNo2P5cOtJluzNZmVsLp5OtgwOcSe7ohGFQmDJ3cMlQWJkuCf/vWUgT/14lKFvbZeWkh4U7Mbbc/ozf0SI9DzxdrbjvZsGcMeoUNYlFHJ1b2/G9/Y5r2iefoFunHj9ui4JC470d+HIK1M6lfbWndiplG2G+Xc3w0I98HWxY/OJEllAkukyiswpJqV1GnKrTkXI5FQ0klhUy/UDTREnT65OYEtSCd/eM5xAd4dW0aWZ5Q1c+9Fu6fdtyaWtBKTjBTU0agyMCveUfFBWxeaxPbmUvekVrHtsbJuikyUNxjJIVusMrQSHP44Xsyu1jKP5Nbw9pz86gyiZOmdXNrYSkCyLeezPqJBEEAupJfWkllj73bk72uLvam/lgWQRhKZE+7HYvGDAnaND+XDrSZp1BjycbKXIzzBvJ3amlvH7sSLsVAr6+LlIaXxDQt3ZkVJKfnUTxwpqeOT7eNQ6Iwl5pzyVVEoFrg42HMqpYsx7fwLw8rpEdj47HnsbpTQISupgNbe2OJpfQ3FNM4+uOsLkvn5M7efHrcOtJ2gtolRFg4Yle7Ml8S/AzV5quz6+LrxxQz8ANieWUFqn4Y3fk5gY5YuLvYqR7+5kTIQXqx8azch3duDpaEvMi9dKZfxxrBgAZzsVDRo9z07tw6YTxWxNKuVmc9pusIcj+dXNBLjZ43DaO6V3i9TrKH8XwrycJAHpm33ZHM2v4dfTourUOgO/xhdYvQdL69TEZlWe1TN23uIDHC+oJef9mZTWqVl5IJcvdmUQ5O5AYU2zJKB8d/9I8qqauGVYsPROtAgrP8Xlsze9wuraK6/X4GirpLCmmdtGhkiCW8t+W71aT3ppvdWCFUfza9Dojby7MQU7lYL5I0Kt+uy9fZ05lG1aOGR8Hx+8nO0kwTSpqI7/+/kYYBIlQzwdJOE2Ia8G/9Mi2isbrCMILULdu5tO9ccmRPrwfWwediqF1bho9aF8NHojC28dTEJeNdVNWqqbtFKU4fAwT36MyyetrF6K/CupVbfy1byYiKLIb0cLGR3h1aG1wN+FwzlVCAIM6+F5savSaSzi+5W2APnfVkDKr2pi1cE8juZXk1PRJDnx3zYytM0Bc1s8NC6CzSdKeHV9ImMivNrMkW+Psjo1D688LHl1uNjb8PL10cwcGMALa07w+u/J0rY2SgGdOR9fpRCIDnRl7rBghoR6MDjEnUatnidXJ3Dntwd5+JqePHxNBGsTCvkuJoe8qibToPSe4R0Osu67KpyHV8azPbmU6QMCyK9q4vM/0zleUMubs/szMtz6Zs2rbOKfvxzjUI7pJRHq6ci84SHcOboHvTvwiwFTR2nBNRGsP1rIf24eKIkP/57Rl3mLY1m6P5vHJ5rSgRILa3l1QxLjenuz/L6RZ5Wi9fD4nmxOLOHl35LQGkT2p1ew62SZFG7s6WTLkBB3Rkd4siO5jJ2pZbjYqRjSw4PimmZyq5rQ6ts2ilYpBIb18KBfoBs/HMrFyVbFsntHMDLck1sWHeDxVUf45ZGxRAeaOsH5VU28vzmVTYnFiCIM6+HBW3P6M6GPD4HuDtJxrUso4OV1iUz/ZA/v3zywTWHyj+NFPPfLcWxVCh4e35O7Rvcg0N0Brd7Iot2ZfP5nOvvSy5nW3x93R1s8HG1wd7Ql2MPkKePnYo9Gb+T72FwW7c6kslHL8B4e3Dg0iDAvJ8K9negf5HbG1MxHJ/RibYLJ7Ppf06JwdzRF7Xy6M41hPTy4tm/H0RNPXtubsno1TnYqJkX5MiKs7cgRF3sbHp/Yi7f+SCapqJYIHyfu7sI89cEh7ux8djwGUWxzBq+Xrwt//nMC9WoduZVNZFU0UtmgYVxvHys/n/NFEAQeHh/BE6sT+O/WtldGFAQQRRjX25v3bhpAsIf1oGVwiDufzBvCo6vieeano3x5+1CyKhp4/tfjHMmrMfnfjO/JmJ5e7Ubd2amUvDQzmnkjQjiYXSUJrSW1ar69Z7jU+bIwe3AQtc064nKqGd/Hh/F9fDq8dvoHuXWpX0RX5pRfbPHoYqJQmFZj+zEu/6Kl4spcebRcRbOlh8/DK+M5WVqPv6s9w8M82WJe9OABc0rMyDBPltwzXBLmv9mbbbXflilOORWNvLohibzKRjR6I5ufGielLJ0sreekeZGQNUcKWB6TQ1Z5I69cHy31a4paRCA1aw3c/L+YVscRl1NFWlk9WoOR9UeL+HDbqWd0TkUjw3t4YG+jxCiK2CgVUj/ji10ZHbaPk62SRq0Bd0cb/Fzt2ZdRzj9/OcaAIDcs3Z05g4PYeLyYN27oh51KSaS/C0fza3BtkWoUZhawnlidAEAfP2dp4mxIqKlPm1vZxBd/moQHUTy1RPstZsHazsb6+VdY08ySPVk8cW1vKZKlrF5DWb26VTRXbZMOjcFg9fdfDufz4toT0rnYkVLKjpRSRod7WQluiYW1eDjaUN2kI6+qianRfmSUN/DA1eE89eNRAFzsVbgpbHj/5oFSFFKdWs/Qt7YzynweD2RVMmXhbtQ6I0W1am5fEsvQUA+Si+v4M7UMgKcn92ZilC89fZzxd7UnqaiOW0eYjj/Ew4G47Cq0egOhp73nLO/6CB8nHG1VhHtbf36soAaN3oDeIErPzk0ninn5t0T8Xe2ZbI4MX7Ini2/2ZbMtqZTxfXy4dUQIqw7mkl/VzJPX9sLBRolRNF2Llr7h8YJac9ur+WxnOqsO5knnB06JRA9+F4fOILLhaCFR/q68cUM/CqstkWN1rcS/+NxqAsw+rh3122/+X4w0qdXL15m1RwpJLExGozcyIsyjVbTWv2f0ZcG4CAQBKZU8wDwh2nIBlRu/2s/jE3vRqDWgECCjrKFVOmBVo8YqGjCpqJa+/tbi8r+mRXHX6DCO5dfw/JrjVp/tS69gT1q5lBYOMCjYdD9YUvY2HS+WrtHSOpN3086UUo7m1/DarH7ttktXoNYZsFEq2h3bpBTX88xPJsEt4ZUpZzXOtOxfpRBaBQaIokizznBZpeuJosjcRdaRaC05U/qhKIpo9Eapz7g3vZxVsXm8MbtfK//SriS/xcSJwSh2qdXIxeTyuXK6gLZ8PwYGuzG2lxfhXk5E+DgztV/n039USgUfzB3IrM/38cbvSXwyfwgGo8jxghr2Z1RgMIKHkw1uDqYfleLUDbxw+0nqmvWsfWyslVfHkFAPtjw9jpI6NdkVjeRUNJFb1YiPsx1DQt3pF+jW5oDp9yeu5q0/klm0O5Ov92QiiqaH47+mRXFdP78zRhVN7utHsIcDi/ZksSe9gl8O56NQCHg52TJ/8QGemGSKElIpFaw/WshL6xIRBPj3jCgm9/Uj3NvprNLAnpncu1UK0qgIL6ZE+/G/vzKZNyIEG4WCR1fF4+VkyyfzBp/1TWdjPj+zv9jPk6sTcLFTcU0fH8ZH+jAq3FNKzQF44waR2KxK1iUUklRUR5i3ExOjfAnzciLIwwEPRxs8HG1xtbchvayeP1NNUVdL92czrrc3H906SOo4Lb13BHO+3M/9y+P4YcEo1iUU8vWeLJSCwGMTenLr8JB2U2FuHBLMkBAPnvoxgcdWHWFEmAf3XRXOVHPn479bT/L1niyG9fDgf3cMtfIfslUpePLa3kzr78+bvyezPbmMmiZtq9x/exsFNkoF9Wo943p78/TkPgzr0X4qQHs42Cp544Z+PLQyngdXWOfBfzZ/yBmvB1uVgg/mDupUWXeMCmXpvmwKa5pZeOtgaSWqrqIzg2UXe5suFz9O5/qBgVzXzx9jC7fPerVe8gLKrWyit58zNwxqbahsYVp/f16a0Ze3N6Zw19KDxGVX42in5ON5g5gzOKjT92kvXxd6+bpI6ZgdpXrePSasS0U9mYvD9AEB7DpZTl5VU7v+YjKXPoIgTAM+BZTAN6Iovn+x6lLUwnx3R3KZ9H+LqLNwexrf3jOi1fcO5VQRk1HBtP7+bE0qYU9auSSgg8lr0fJMevOPZCmdF5AG3BaW3zeCr3dn8X1sHiqFgAg8/+sxvr13BHvSyjlsjiSJy6nmoZWHST4t5WxKtB/bW6xQ+Owvx6w+33CsiLf+SGZAsBsZZQ0sv8+Uzhvl74KPix170yuYOSAAG6XAb+a0my9uH8KR3BoKa5rYmlSKh6MtQ0LdWXOkgF/jTT8R3k442CjpG+DC/hcmSeVF+pkEpJYpWjMHBnKytJ4fD+WjUgqklTaQVpqOnUrB0FAPkzdcTA4nS+v594woMsoayKpo5OnJvSV7hpQWAkO4txNR/i58sSuDXr7OFNY0MyTUnYS8GlbE5DJ3WDBh3k7kVzWRUd7Ao+aopl8fGcPwME8+3p7GpzvTrfxvLKw4kEOIpyPDwzw4mFVFXE41j0/syYoDudSr9Qzt4SGlV722IYmaJp0Uqdoy0veu0T1YGZvLQXO0y+AQd6uV6mIyK4nJrLQq29lOJZmqj4rwYt+/TrVriKcj9Ro99eX6VjYE0QGuLBgXLr3nwk6LUtEZRJbuy+E/W1JZ8+hYhvXwkBbrOJxbLQlIceZrbeOJYjaeKOaGwYG8tC4RgEW7M7l3bBhxOVUkFdURHeDK0ntP3Rsj39kJwI1DghgZ7smLa0+0qgOYruO4HFOZp0fStSQ+t0qKuO5ooRCLeOTuaMOtw4Ol6B9PJ1v+PaP1SqdtpU0Hutuby6xmUIg7x/JrqGzU8qY5HXNSlC87UspaRetVNmqtfMFuX3KQ0RHWE9ou9jZE+ttQ2djai6qsXsO9yw7h6WQrmWs72pnGUD28HBkQ5MbXLaKr1hwp4Omfjkq/jwjzZGS4p9ROO5JLKa1Xc8OgwDatRvZnVEjR4mfCYBS59qPd3Dw0iP+bGtnmNoktUka3p5S2it4Dk/fqvowKpvT1Iza7khAPR0I8HRFFkRu+2MfYnt68foO1EPb1nize35wqiVI1TVoS8mqYGHV2afOm55CyXX+t9mjU6NmbXs6UaP9WYztRFNmSWMLEKF/sbZSIosjaI4VWKboltWric6uZ3t+UkbLrZBkPr4hn2zPXtLo3Ldk4a44UkFhYy9ZnrsHXxZ73NqWSXFxHdkUjfzx5tdUE4vbkUkZHeLZ5jg9lVxHgZi9Nph7Jq8bdwYa00gYmRPpYjdEzyhpYf6xI+j23svG8FmC5lOg2AelS6sAU1jTzW0Ih6xIKyShraOX7cT70DXDl8Ym9+HRnOg0aPUfyajq97OtXdwxts5MuCAIBbg4EuDkwtpOWRI62Kt67aSDj+/hyKLuKOUMCGRjcuUgqMIWs3jMmjHc2pZBSVMcdo0J5dEIvnO1VvLo+kU93prM/o4JQT0fWJhQyvIcHn8wf3CoCorO0NxB9YXoUUz/ewyc70iip1VBco+anh8d0Kh2rLfoFuvHDgtEYjCLDwzzajTBQKgSu6uVtlQLYHsPDPBke5snz06Jo1OhxtFVaHY+/mz1L7x3BLYtiuHbhbkQRZg8O5IXpUZ0KQQ3zduKXR8ayMjaX5THZPLbqCEHuDvi52nEkr4a7Rvfgleuj2xVR+vi58P2DowDTg7hRa6CqQUteVZPkt1TTpGPeiJBWkWVny7V9/TjwwiSKa9XUNOuoadLiZKtiVBurq50P9jZKPpk/mPjc6rN+wV1unH6N2jkr8Xa2Y3hY58/VA1eHk1vZxMrY3E4ZMXeG8/UJk7n0GRXuye7nJsjn+jJGEAQl8CUwBSgA4gRB2CCKYnLH3+x6Kho0ZJQ1MLyHh1UkUEtiMiuZ+fleq79te+YaZn2+j7icatwdbXnke9NS7g9dEyGlclU2avlyVwYKhcBhcyS0hZbRBgCjI7wor9dwsrSez+YPQW80cu+yOKZ9skcadIPJH2VvegVzhwUza1Ag95j3c7qABHD9wAB2pJTS08dZSmWypIRZIpjuvyqcW0eEkJBXTR8/F+xUCklAmtbPn+sHBvLN3iy2JpWi0RuYNSiQt/5IRiEIGIwiWRWNTIj0aXU/WqJ3aloYXns62fL2nAE8NqGXyXy7qoniWjVhXo7Y2yiZMziI5TE5AEyM9DUvblFAv8BTEyJ3ju7Bm38ks/7xqwhwt0elUHD/8jgeXWVq/3nDQ0jIq+GLXRl8sSuDyX1Ng/6WrIzNpU6t49Od6dw0NIjXru/HoDe3AfDN3cN5cMVhvtlnHU1m2ncoiYV17E4rp4/fqQHWjv8b36pPPTDYDWc7FS9f35c+fs68sj4JgDWPjuW1DYmsPVIopVPb2yhQ606JKPntrEYHWPlSTYj0sfpMpVTw0sxo6fe2/LQsae5f784k0N2B1eYV9OJzqyirV/P6hiSOtRC4AEk8srA8Jgc7lYKnJ/c2CUrLrK9lgLvH9Gi10MY/JvZqFe1muX6v6uVFXE41eoPRKo1ma1IpNU1axvX2liLY2mPF/SPp4eWIp5OtJCB1tALr6Xi38DZ64OpwnjRHylmYNShQupZ+eWQMtkoFdy89xE9x+VLElYXYrCopcq8lIe2MR4yiaVJTROSubw9J51kQBF6dFc0t5qgWgL3pFVbffWzVEW4eGsw7N/antE4tTZauPJDLsvtG4OdiL4mbB7MqueObg4BJ5Htzdj9c7G3ILG/g233ZvDA9Cld7G4xGEYVC4Gh+NYU1zfxxopj/mxrJ97G5FNc2k13RiEqh4M3Z/UguqsPRVomjrYrnfz1OXmUTEyJ9+HJXBl7Odjx3XSRzF8WQX9XM8B4eHM6tJsTTgV3PTiCjvIG00gaqm3S8NisaUQQRk0/pV+Zr5efD+RTWmBYQOJpfw9anr0FE5MtdmTw2oWe7E0kavQGDUWTOl/sBSH1rWqvghtWH8kgtruPFGX2tPtMbjLy07gS/HS1i5oAAfF3tGBrqwSyzgf6uk2U8uuoIL0yP4qFxEexJL28l2t+3PI6U4jreu2kAt40MZePxYrQGI/ctj2N6f3+KapqZNyKU0RGePPljAhuPF0vffX1DEo9P7EVycR0jwzw5lFPFV7syeWpybwAS8qpZsOIwD10TwYvTo2jSGnCyU2E0inx/MJdX1yfRN8CVzU+No0mr555vD6E1GNHojQwJdWdEmCf9Al1xtlPxjx8SJKN3QYBnfjrKV3cOo9bRh0WBI3mosJb+QaaJh892pnPfVWFE+rtcFpFhgtjWupbnu1NTByaNFh0Y4Lb2OjDDhw8XDx9u7eR/vvyZWsrXu7Ok2YkRYR7MHRbM7MFBXZr2oNUbufl/MRRUNzG+jw8To3wZ19sHF3sVteZBdW2zzurB7e1sd0nl2YIp1PHnw/lM7utH4Gnq+W8Jhbz8WyJNWr1VNFJ38PJvJ/g+1vTCeG1WNPdd1fZS8Zc6+9IrWB6TwyPjI85q8N8Sg1FkR0opy/Znk5BXw1uz+3PriNYzEDIyp2M0DyJOn42YpE/XAAAgAElEQVSR6SYmTDD9+9dfF7MWlzSCIMSLonjmNc9lzhlBEMYAr4uieJ359xcBRFF8r73vdEcfzGgUuXlRDAl5NUzu60uDRk9sVhXh3k6U12to0Oi5Z0wPvjuQC8DVvbzZl2EavGW9O4MbvtwnmStb+GHBKA5kVuLhaMs7m1KsUltOZ1KUL5OifGnWGlhwTQRgHUV5//I4/kwtY+6wYH6NL5C+98XtQ5g5IABBENiSWEJOZSNzhwUz/O0dVvvPeX8mRqMpcvl286ARTOk0/9mSiiBAzAuTWk0ahb2wUfo+mGbw53y5H08nW468MoVv92Vjp1JwIKtSSls73dR/d1o59yw9xBOTevFsO5ELp5Nb2chL6xIJ9nDgvZsGUFqn4f3NKbx94wArMeL0SNNmrYF3N6XQ08eJe8aGEf7ipjb37+Zgw6xBAVLfrYeXI9ueuQY7lZKv/sog2MORGwYFSsf//LRIEgtr6enjjFIh8PTkPny5K4P/bj3J3ucntkqVbg9RFKU65bw/E1EUEUV4e2MKk6J8GdvTixUHctAZTP6Xz0zp3eHE57qEApKL6vj3jL4dCuk6g5GX1yWyI6WUykYtDjZKaaDYEjuVAlE0rbZZWGMdiWXxMHKxV1HfwvfwkfE9eWF6lNQeLcl6dwYKhYDRKPLqhkTK6jRsSy5lz3MT+XpPJn0DXEnIqyHIw4FD2ZXcPqoHNwwKxDLW+8+WkyzanclNQ4NYe6QQpUJg81PjWkUgrT6Ux/GCGlYfymdsTy9+WHDKU/LPVJOn2Nmmd72/OZUQTwfuGNWDX+MLKK1Tk1fZxIyBAQwJdWfg6yahMfu9GQiCwEfbTnIwq0qyyrhxSBBR/i4kFdXx2MSe7Ewpo6ePk5SqaTSKvLj2BLeOCKG8XkNGWT3l9RrG9vLmOvOqsm2lED2xOoHfW0SJWFY6bI+35vTnP5tTcbIzpRuOjvBCozOwzSwyDwx243hBLTcNCWJ8pA/LY3JIyKthzuBAogNd+XxnBreOCKGsXiOV+9KMvryzybQKrK1SgdZgZObAADJKG3CxVxHi6ci6hEKpDj4udtQ0abFRKiSxtCVR/i5WPmvRAa6U1KlxtlNJK8+1RYSPE2V1puezs52K56dFtvL3tKTCtoxumzUokMktbCsOZVdJwt+QUHfuGROGIECjxsDC7Sclf7aWPHxNBNGBrqw+lEdslumc+7vaIwimSPwXZ0SRXtrA97G5UmaFu6MNL0yL4sNtrfdpozStLrw9uZT/m9KHh66JYOn+bD7YchJHWyUKQWDP8xN5dX0ifxwv5o5RoYwM9+T3Y0WSmDmshwfxudX0C3RtlQL69pz+5FY2ssScXu3tbEe9WiddOwrBFGSSVFRHsIcDr83qx5OrE6yeE462Sh6f2Iuvd2dKkX7+rvbE/vtauoOu7IN1l4B0Vh2Y7hKQVh7IYen+HG4cEsScwUGdVsrPBaP5Yu7K5Z0vNYpqmqlt1nV7akNFg4YpC3dzdW8fPps/WJ4NN9PWUsEyMjKXCLKAdEZkAan7EQRhLjBNFMUHzb/fBYwSRfEfp233EPAQQGho6LDc3Nwur8ufqaXcv/wwz10XiVpn4PM/M5ga7cc1fXx4+bdE/vrnBKZ/upfxfXxYdNcwJn34F41aPQf/PZlFuzN5f3MqtioFtwwLZmS4p1Xq7nubUvj5cD4ONkrG9PTmxRlRJBbW4mJvg4ejzRnTBGqatBzNr2F8Hx+2JZfS29eZzPLGdlcxLatXk1pcj4u9Chd7Gyv/u21JJfTydeZkST3T+vvz18lyIv1dWk3EAQx4bSs+rnb8+ewEwCRE9H5pMw9cHc4r15+KcNl8opinfjrKzv8b30pMEUWRrUklTIj07dLJ0M5w37JD7E2v4Ks7hhLg5kBpnRpnexU+5lXcfksoxCiKTOsX0Gaf+/EfjrDxeLEkhLSkXq3jQGYlU/t1vKLp6SQW1mKjVBDpf3ZpNF1BRYOGlOI6SmrVPPfrcV6a0RdBMA3Y69Q6+vi58PDKeGqadXxx2xCqm7T08nWhXq2jvF7DP1Yn8PVdw3hkZTyDQ9yZPzKEmQMCsVUp0OgN3PXNIZKKall01zAC3R2k9DsLdWodB7OqOr367pbEEp756agpyu+Lfdw0JJhXZ0W3uW1pnZqr3v+TL24fIok03UnYCxuZEOnD8vtGWv39/34+ytojhaS9Pb3L7QvAZMx9ILMCHxc77FRKQr0cicmo4N1NqVQ1amnWGZje35+YzEqGm9MrU4rruH95HAajSFm9BoVgWjH4lmHB9PZz4cW1J6QINDBdD5bUWH9Xe8l3t4+f6bljMIp4O9vy/HVRjAj35PvYXL41R+o9Mr4nC8aFczS/BkEwCTg3DAokrbSBR76PZ1KULz28HPlkRzoHXpzEt3uz+WZfNo62SkI9HcmuMHnD+bnaYTDCmJ5e/H6siLfn9Gfh9jTcHGzIrmgk0s+Fk6X1RPm78O5NA3hpXWKrFSQtjOvtTUmtGoMoMntQEB/vSGu1zX1XhTEyzJNnfj5qFQUY7u3Eg+PCmTM4iPmLY3G0VRLk4cDaI6cEsv5BriQW1uHtbEtFg5aHx0fw4nRTuuR3MTm8tiGJ566L5Ke4fEkQs4hmH8wdSKSfC//ZkkpMZiUDgtxY99hYafz0w8E8XlmfyEsz+nL/1eEYjCJvb0xm2f4cqXzLvmyUAreNDOWHg3l4OdvSqDGw4oGR3LY4VhKKQj0dqWzQ8M/rIhnT04sjuTW8szGZMT29+ey2wSQX1eHhZEtPH2fSSuv562QZiq++YkR9IS9Ne5zEwjp6+Trz37kDScirwVal4M7RHa/kfa5cDgJSpzowFrpLQNIbjCgVgixAXIY0aPQ4nZYaJiMjI3PJIgtIZ0QWkLqfs+1/Qff1wcAkCjjZqhCBvKomAtzssbdRUqfW4WpvQ4NGj4ONEqVCQKs3IiJip1JiNIrSDHdbJrOiKKLWGREEU8TA5dJX0OgNCAhWA+EmrR47lbLVMdardW16cFxMdAYjeoPYyjj5Qn3/UqZZa2jzuLR6IwZj28ds+Y5aZ0CpENq0WVDrDF0mFFpsDZztVNSpdTjbqjqc+LZEolwImrUGVMrWbSCKIg0a/QW/F9Q6A4JgilpytFWhMxgxiqI5/fPU57XNOhSCYGUTIIoiuZVNGEXTefd3tSe3sgkR6OHpSFFtM1q9kUB3B+rUOhrUenxc7KRjFEVTBLlRNAkU7XnANmsN0rOkUauXFoKpbdbhYqdCazDSqNGjN4p4OtmiMxhxtFVZXXcqhUCjxvR7QXUTIZ6O2CgV6A3GNqOVlAqBUE9HRBE0eiMOtkpK69Q0ak5F0dnbKCUBvbZJZ+VPFeThILWhVm9EIZj2WVhjahNBMO1fozegEASKa9Wt2sBimK3RGyisbsZGqSDQ3YFmnUG6Xi1R+AHu9lJ5FtpaKKSophm1OTooxNORsnoNTrZK3B1tqVOb2tOSzlbZoKHWnELs62qPURRxsVNJ76G27E2sMPcX9Tv/JL+6mSB3h24RR0/nihCQLsTsl4yMjIyMjMylgSwgdT+XSgqbjIyMjIyMzKVDV/bBukvuKgRaGrUEm/8mIYriYlEUh4uiONzHx9qsTkZGRkZGRkZG5qyJA3oLghAuCIItMB/YcJHrJCMjIyMjI3OF0F0RSCpMJtrXYhKO4oDbRVFMamf7cqBlCJIbUNvWtp3AG6g441ZdU9bZcqHKulKO6fRzKbff5VHWmco523v0fMrqSi6V9rtUyzrTeZXb7/Ioqyvvz9OJFEXxwhuV/M0QBGEG8AmmVXCXiqL4zhm2rwdOdrTNOdDd12sokHfGrc6P7j4GuY0ujTKuhHa6EOfhcm6nK6F95Hutc8jt1D5d1wczrVjQ9T/ADEwiUibw0ll+d/F5lHv4QpV1DnW7IGVdKcd0+rmU2+/yKOtM5ZztPXopHNOl1H6XallnOq9y+10eZXXl/Xkh9y3/XFrnpbuvV6D8ArRLdx+D3EaXQBlXQjtdoPNw2bbTldA+8r12aRzD5dxOXfmu7zZnNFEUNwFtr/d5Zn7vyrr8Dcu6Eo/pQpZ1JR7ThSzrSjymC1nWlXhMF7KsK/GYLnRZMjLnS3dfrzXdvH/o/mOQ2+jSKONKaKcLcR4u53a6EtpHvtc6h9xOF4BuSWG7mAiCcFiUTTqvCORzeWERBMEdU6rpV920/6eBxcCezpxXQRDuBYaLHaweJAjCBEArimJMV9VT5tyQ79crg+48j/I1cmlyOZ6Xy7HOFxq5jTqH3E6dQ26njpHb58zIbdQ5uqudunK/3b9m3IVn8cWugEyXIZ/LC4s78Fg37v9pwJGuPa8TgLFduD+Zc0e+X68MuvM8ytfIpcnleF4uxzpfaOQ26hxyO3UOuZ06Rm6fMyO3Uefornbqsv1ecRFIMjIy54YgCD8CszGZqSYA60RR3CAIwjqgWhTF+wVBuB/oKYriS4Ig3Ak8CdgCB4HHRFE0CIIwFXgDsMPkgXYfcD/woXnfFaIoTmynDvcBL2IK3zwGaERR/IcgCLOAl81lVQJ3AA5ALGAAyoEngFRgESYDOoCnRVHc32WNJCMjIyMjIyMjIyMj8zdFFpBkZGQAEAQhDPhDFMX+giDMB4aJovicIAiHAKMoiqMFQVgG/IhpdYAPgJtEUdQJgvAVJjFnE7AWmC6KYqMgCP8C7ERRfFMQhBxMKWltrvAkCEIAJiFqGKbVDXYBCWYByQOoEUVRFAThQaCvKIrPCoLwOtAgiuKH5n38AHwliuI+QRBCga2iKPbthuaSkZGRkZGRkZGRkZH5W9FtJtoyMjKXNXuBpwVBiAaSAQ+zwDMGU9TRPZiEnjhBEMAUDVQGjAaigf3mv9sCBzpZ5ijgL1EUywEEQfgJ6GP+LBj4yVwHWyC7nX1MBqLNZQO4CoLgLIpiQyfrICMjIyMjIyMjIyMjI9MGl60HkiAI8oDwCuJM51MQhL8EQZCN1y4QoigWYvJEmgbswSQo3Yop2qceEIDvRFEcbP6JFEXxdfPfk4FBwHxRFKNFUXygC6r0OfCFKIoDgIcB+3a2UwCjW9QrSBaPugZBEF4SBCFJEITjgiAcFQRh1MWuk8y5IQhCsCAI6wVBSBcEIVMQhE8FQbDtYPunBUFwvJB1lJEBEARhjiAIoiAIURe7Lpc6cj+qfeRnXueRx1cdIz+TOo/8TGqfy/2ZdEmksHl7e4thYWEXuxoyMjIyMjIy3UR8fHyFKIo+F7seMtbIfTAZGRkZGZkrm67sg10SKWxhYWEcPnz4YldDRuayRas3Uq/W4eVsd7GrIiMjI9MmgiDkXuw6yLRG7oPJyMjIyMhc2XRlH+yyTWGTkZE5xcrYXKZ+vOdiV0NGRkZGRkZGplv4dEc6kz7862JXQ0ZG5iy49esD/OvX4xe7GjJdiCwgychcAZTVq6ls1KI3GC92VWRkZGRkZGRkupyPd6SRVdHIpWC/ISMj0zkOZVfx0+H8i12NS4MJE0w/lzmygCQjcwWg05s6Uxq9LCDJyPytuUI6JzIdIwhCiCAIuwRBSDab2z9l/runIAjbzcac2wVB8LjYdZWR6WrUOrmvIyMjI3OxOC8BSRCEpYIglAmCkNjib3LnReZvTX5VE9M+2UN5vabD7faklRP96hbq1brzLlNnjjySBSQZGRmZvwV64FlRFKOB0cDjgiBEAy8AO0VR7A3sNP8uI3PJEJdTRWxW5Xnto7pJ20W1kZGRkZE5W843Amk5pmW+WyJ3XmT+1qSV1pNaUk9WeccroX6yI40mrYGTJfXnXeYpAclw3vuSkZGRkbm0EUWxWBTFI+b/1wMpQBAwG/jOvNl3wJyLU0MZmba5ZdEB5i+OPafvKgTTv7KAJCMjI3PxOC8BSRTFPUDVaX+WOy8yf2u05igg7Rn8iFRKRae261SZFgFJDuuWkZGR+VshCEIYMAQ4CPiJolhs/qgE8LtI1ZK5xNAbjNz8vxj2pVdc7KqcM052psWja5rOP3JbRkZGRubc6A4PJLnzIvO3xiLmaM+QTmajNE2l6Q3nbwapM+/jfMWo5KI6lu3PPu/6yMjIyMh0P4IgOANrgKdFUaxr+Zlochpu8wUjCMJDgiAcFgThcHl5+QWoqczFprxBQ3xuNc/+cvRiV+WccTELSHIEkozM5YfeYKRRo7+odWjS6jEYZRP+86VbTbTlzovM3xFJzDmjgGS6/fTG848a0ndRBNKMz/byxu/J8gonMjIyMpc4giDYYBKPVomiuNb851JBEALMnwcAZW19VxTFxaIoDhdFcbiPj8+FqbCMzHniJAlIcgSSjMzlxmOrjtDvta0XrXxRFIl+dSv/WnP8otXhSqE7BCS58yLzt6bTKWwK0+3XFauJdLUHkmzGLSMjI3PpIgiCAHwLpIiiuLDFRxuAe8z/vwdYf6HrJnNpcqZJrcsBKYWtUY5AkpG53NiWXHpRy7dM8P8aX3BR63El0B0Cktx56YDSOjVppR2bJpfUqkk/wzbnyoHMSjl0r5tpa0W07IpG8quarLazpLA1ac9f9NGaH4pdJfw0d0GdAPIqm1odt4yMjIzMeXMVcBcwSRCEo+afGcD7wBRBENKByebfZWSk/sHlHGAsSCbacgSSjMzlQFsZDbou8H49F9TyQkNdxnkJSIIgrAYOAJGCIBQIgvAAcuelQyYv3M3Uj/d0uM3o93Yy5QzbnAtZ5Q3ctiSWXaltBoXJdBFSBFILMWfih38x7oP/Z+86w+Oozu7Z3rTqsiVZkmXZcu8Vg21sg+khfBAghASSQAhfQhpfCknoJCGEEgghCcUJvTeDDTbGvXe5y7a61bUraXuf+X7M3Lt3ZmdXK3lty2TP8/BgSbuzszN37n3fc8973nWS15ESNl/w1OuBQ+HUKpA8KTgnAPjdRwdx78eHUnKsNNJII400BPA8v5nneRXP85N5np8q/vcZz/N2nucv4nm+kuf5i3melzc6SeO/FKTEfbDxR0+sOoZttfakXksSz960B1IagxjuQBg/f3sf7O7A2T6V04rPD7bhpU11CV+jJFrwh84OkeNP0eZ4qlBv8+CeDw5QG5JzCafahe0mnueLeJ7X8TxfwvP80nTwkhguv5CYn42Hxyl+ttOf3rk5nZCbaMfzE9KKCiRPCia0UJLG3X2BtMhNhSoKAHp9QTh86fGWRhpppJFGGmcTg233ncRGf19Xg5te3J7Ue0jTka6veGKexrmNAyd78XFVK/Y09pztUzmt+GBvM17Z1pDwNSGFRkGpsO4YCM7W58bDz9+pwtu7TuJgi+Nsn0q/cVpNtNOIj7NR1qOkjEkVeJ5PGy+LoGSO+H97nFp9jajF9gbCp3z9lMrmBgLiy5QqAskf4pIiS9PjJ4000kgjjTROHaPv/Rz/+/qemN9TBdIgWWoDYa7flgokrmrt9Z2OU0ojjZSAlFj6zpLS5kzB5Q/D7U9csRBSaBSUqmqJ/mKw3Q9xzx7cYJmU+4E0gXSGYdZrAACN9jNPIJEH9nQYJN+37BDueC02YPlvhJyoi3evw2Lg5AlGcP+yw/jBqwO/ftQD6RTZdaKK8qaozaY/FElqvN34/HY88cWxlHxmGmmkkUYaafy3Ihjm8Pmh9pjfR5O25JOVY+2u01YuFggnt8HEgiiQ2hz+lG861Xa50eVKK5sGCw4092L5gdazRjacCnrEZyZVfqKDFe5AGG5xEzwewoNKgTS47odGLPs4F62J0wTSGUZhphEA0BhHgcQO7lQvjoRcOB2Tcb3NgwabJ+XHPRchLydr6la+LmQnzRuMoKbTjQb7wK9fOEVd2LTq1JXVAUKAGEhiwq63e9BgS5ttp5FGGmmkkcbpwEBMtC99eiO+/tyWlJ0DG9cGwpEBEEjRuMnZh/Khv7joyQ1YIPOqTOPs4eaXduCuN/fhk6rWs30q/QYhXQeb4iXVcAfCCEX4hBvFSv4+Z4vIIfeDmPGfbZBKlHOxQ2aaQDrDMBuIAkmZLLAxdd19tYHvL8gDfqoqFcVjh7h063cRVIEk3j9CjAyxGiSvI8bX3qDA4J/KTkWqStiIsbc3RSba/lAE/iTOyR+MnJO7TGmkkUYaaZxZfLyvBeuPpZuBKIFjtrL3NPbgrZ1N9OeBrrGpVMyHmfMLhLh+J9jBCI9MoxaA0LE41fiqJ/znCjiOp56xg81HyOkP4dHPjyZ8nkgJ20DsIJZVtWDzCduAz+9MgtwjVwIyN6Qgrzlb8T4hrgYJf0SJLE+Kqj7OJNIE0hlGX2VNrHw21RK/01nC5h/ATtJXFaScjNxr4ncln0IJweQJRAQC6RSuHzGpO9V7S+SUqfJACiTpgeQLRQaduV0aaZyreH3IFLywsfZsn0YaaaQcPM/j5+9U4bv/2XW2T2VQgjXKfm1bAx5fFS0N7+/mYX/9iZIB275bKGHr3zmFOQ5leWYAQKsj7YP0VQXbCXhv0+AikP6+tgbPb6jDh3tb4r6GlLANJC/62dtV+PbSHQM+vzMJ4n/kTkCAKCmQToeQIRmQ+6EeJBIkknOdi8R1mkA6wyCkQryacps7+vtkSn/6g4BMGZNKJGuW/N8AuRqIdAuR30/yOl8oDJf/1BRIwRQrkFLBhkc4HsGIMC4SlWOGIhzCHJ8eP2mkkSJ8kj8Oy85B2X8aaSRCdbsTI377Gf25/J4VZ6UhyWAGu/lj9wQlamKyxiZLC7FlFWPu/Twlfi6h8KmVsIXCHMpyBQKprTexAqnD6cfFT21Iaoykm3icXSyrasGkB1bRMUfKE4dlm3Ci052QoDjTIMSqK0FH615ion2Kz0wwzGHC/Svx8b74ZFUqEeF4THpwFd7Z1ST5/d3vVOH2V3ZLfhcIR2juseiJ9dhRZ1c8ZkiphO2sKZCEcxkk/FHKN+3PJNIE0hlGgJYtKQ8WtoQt1YqMIC1hS/1ATbZU6b8BchNtspDIiTsSSAkKpBB8fRAtiRBKkQeS2IQtJYEi+f4cL5Wty0GY98HWYjiNNM5VuDX6c3JHK400EmHT8diyjnXpUjYAQKfLD4+sFL7LFYA/xNGytqgHUnJxBhtPBMIc2lKg+AlEpMfsi0BqsnslZXkhjsewbBP0GjUauz2wuwNw+JQT+ZpON2o63Tje4erzvNj4zBMIo9PpR5Pde1pUWGlI0e7w45HlR+AKhOkYc4hx87iiTPA8YHcPHnNzg1YIlBPlaESB5B2gxxdBh9MPTzCCx1ZW9/MsBwZvUNjQvu/jw5Lff7ivBV8e7QAAOHwh2N2BmLK1FzfVKR4zFMdEu67LPaBz7HT6B0woRkvYogxSXZdbcU5stHskc48Smnu8igRZslCJTFa6hC2NPtEXgSQpYetnQh0Mc3hla4OiXFD47MQlbDzP440djQPqQhEIcwiGuT4ftv8GUBNt8f8kuAmEOamBZITstIToQjRQBVGIkoOnRuKRbpupMNFmA8NEQaJf/KyzJWklONHhwtrqjrN6DmmkkQq4NQb6XKWRxlcFpEsoi7RwRMDsP67B//xji6T0hyjaqf8lIZCSPKY8HklFeMcmk/5QJCHRXdPpxoLH1+Ef62uY93Mw6jQYnmdGfZcHd76+B/d+fEjx/STOTmZ33x+Mfter/74Zs/+0BgseX4eHPz2c4F1ppAJX/G0THaudYv7hFNU9JTkmAIk9ds40jDrByzbRhi3ZOO7vOiwnQ8nPGQZtv44zUJDnMczFj8fPf3QNZvzhS1q+RkAqGORQ6sK2ucaGxU9uGFDMPftPa/C1Zzf3+30AUyomLiXLqlqw+MkN+PKodCOiptOFCx9fj38lsAJw+kOY99g63L9s4HOEKEA6J7v1pQmkMwyi/vHEMSkmk47w2v4l1Dvq7Xjgk8PYUd8d57MTkxSHW534/UeH8O8t9f36XCBKEJyO8rhzDVEFknBNSLkiz0uDJ0L6dDmjhN1AJ5FUeSBFCc5TX6xZAjTRTs1gUSC9sLEO93xw8KyeQxpppAJpBVIaXxW4/CG8srUBPM/TZGpqaTb9e7r0KIrjHW4JWdLtEWILsp6ThDeUZJwg3/hJTQlb8h5IRI2yTSyNiXA8eB7QqtUYkW9Bnc2DRrs3blMaMgcmMxey8UdtV/R4HyTwufmqIhThsHRz/RnpDBWKcOj2RK072kRjdKf4rA/LPj0EUqfTH1OmlSxI0p+MAinR2ON5Hq9ta6BqK+F9UgKJWGBkGJUJpOYer8Qo/1RBiNREZDHZYJargLQyAonjeLy6rUFRuVgvPmMvbFRWLfWFepsHL2+pT3r+D4Y5vLSpjpJe5B7+dfVxALEKt+Ye4Zy31iiX5QFR1RAhwfyhCF7cWNevslyicOyvUm0wIE0gnWH0pUCS1Kv3M6EmD0anS7kuPCArrZJjk+j6PxD3f0JOpX1soiRaMMwhwvFwBcIw62N3LIhSycVMwgNJ+nieR4hLfG+TBSG9PIFUKJA45t/xj0cJpLOsQHL6Q+ekjDSNNORIE0hpfFXw4CdH8MAnh7Gt1g6nL4wMgxYj8i3072n6SAovs3aTJJDMBX1tIsohf10qNpbYTUZ5FzZ5/ELKTEiOSGImnVaFEQUWNNo96PYEYXcre4r6xPNNqpFHnJh8MHnvnCm8veskHll+JG5JUiohX6faesUSNpFAKhYJpFTfhx+8uhu/+eDggCouyDnHixcjXJTsTqR+29PYg/uWHcZ9y6IKOrk/rk08v3gKpHmPrcNvPzyY0I+pP+hP3CAn9eTP2bL9Lbh/2WE8t64GchBibHtdNw61OJL+TLZc7MFPj+BYEuWpAPDvLfX4w4qj+M/WBvo7juPRIDa0kn9vUlrGJSCogrQkWPh51eF2/PGzo/jjiqNJnRMQnZO95+A8kyaQziAiHI8wx0OnUSEY5hTrJtnSIfIwnuz29kkMnOz20gnL5lJeTKMlbMoTxKYTXQCAQ62OftUbE7Nk4Zyj58lxPPY0dqO63Zn0sdFoXN4AACAASURBVAY76m2ePhlvtoTN5Q+B54EhVgMAaUCmpNYaSNJHduWE45+iYR9j7J0MulwBKjWWQ+6fEA8kcDvb5KM7EIY3FElZGabNHf/anAtIZqynMfgQUGkQVGsl3idppHGugmyIBSIcnP4Qskw66kGi+HqnH197djNae6W73r95/8AZM6I902BjSSWSh6yxZB0Oc3xcqwMWchX8L9/fj+UHBHN+fyiCa/+xBdc8twXeYBj1Ng++/dIOmuh/sr8Vv3inKuaYQYkCSWqiHY/EiSGQ1GpU5FsQiggxdZc7oLhW+fpTwpYCBfT/vbsf66rPfU8uQoz0eJRziVRCXuJFFUgiOVGcbQQAuAOpjaUIcdDXpuEHe5px78dSZToZTz1xmiE5fSE6ZhPF9ISA6fXFVyCR0j6rggKphZnjUkWwKc0fbCzPfk6XLE9cfaQDD34SLed6c4egjDKJG+gsOp3CfTbpNHiZIXXi4TfvH8B7u0/GkFbJbvoSopCo3YJhTnLd5aWDtOFAghCK3FvyEjLfvLGjMalzAqLzTtpEO42EIAtnjlkPQHnAsCykP8TBGwxjyV834IO9zXGP6wmEcfFTG/C6OGhtccifYDj+7hPP89jd2IOppdngeWBvU2+S30oaELDBwJZaG6775zZc9vSmuF3nziWc7PZi8ZPrsbEPhRZrok0mpSGZRsnfAGUZ+UAk4mxZ3KmWsJHzS1aB9P2Xd+HRz5TZ9v4qkE713E8Vbn8YPJ+6UrrbXt6Fhz89kpJjnWnUdbmx6In12JJAvpvG4IRbo6f/PtvPVBppnCqIxF+tUsHhC8Fq1FIPEiA2wH9zZxMOtjgkQTzP83hn90n8XIHQ+CqAjSWV4sqoypfZoFSYG+QqBvmG1MluH9aKBElzjw97m3pRdbIXR9uc2HyiC5trbNSw+qdv7cNH+1rA87xkI4Ulu2zuoOScvKEwvMEwfQ1RVvNiika8VHQaFUbkZ9D3BcOcJJmOfm9xQyyJuCrRa5LZmItwPD7Y24yN4kbsYII7EI67GaREPGjF+p7IGdhAko9XUu7klCuQUlzCFmI8SBPh/97bj9e3N0muHxmzhOyJcLyEeGGJiUSxL1mf9Yy3m5yUIvmcUtv5LTXRXCRV10eJ8GJJm9rOqPG1UnfDl7c20I2rk93CvVSak5z+MPQaNWaPyMWxdlfMNZTjnd0n8av3D8QQPT2e5IhFuWCD4yEprXP6pJ9NrmciBRL5XuQl5F5xfPK5HFUgpQmkNBKBLEJRAin2YfEGI8gx6wAIE0+3Jwh/iKOsvBJ6fSEEwhxqO4Wa0niSTGqkqFAq5A6EEQxzmFySBSCWjU0EdoJkExb2PLrPwE7G6UanKwCeB9r76ERCCJ1gmKOeVvEUSCadlJkfiApHIgk/hYQxHOGo5D1ZqXqbw09rheWQjosEJtrEP+ssm7CTUsJUTeQNdm/MLvi5gkYxMDhXz/+/GW6Ngf47XcaWxrkOQiD5ghE4fSFkyhRI8sSArIFGbXRtlSujv2qQkDBKBFIwdpNGHmtsr7Nj0oNfSCwMlOIJktizO//X/XMb7hONZG2y+HNbnR1TH/oCJ0Riid1Ee2T5EaxhzGu9wQjG378Kt4ntwv2yBI3ca61GLSljBIRSnmPt0nIWUsKWlAdSghL6ui5ljyUWhIhJNdFxquhw+jHxgVVYujnW23TloXZMfGAVDjRLN4wJWXEmnhX5vWkXPUEdvhCsBi2yTEI+5DxdBJIv/nHZucXO5DDkeSIb469ta8DCx9dTkomQQGa9JmE8SQhb1nya3WzneZ5WgyiNz31NPdFjpUiBpER8OJl8sKYPAgkA2p1ERRaKeb9GrYJenL8zTTrkZxhgcwfwyPIjGH//KkVlJEveOeUEUpLiBKUqnhYmd5ETieR5TsShRucn4UU2ppQ22fOKKpAG17yRDNIE0hkEWYyzRYJIUYEUDCPXoqevJwREokWJ/I1MxHJZofzzlZJ58jnDKNvfDwJJYpasLHX8KtSRk+/Ql5kfq/QiRNxQUYHEXvtgmEPl0AzJeweS8IUkngIDTxiDEhl8csdxB0JxyUZpF7ZEJWypIcBOFeQ58qbA/ykQjsDhC0lM8c8lkCSg13fuE7//bXAxCqT+ziccx6fLFtM4o6jtcscksCwIgeQJhOH0h2NK2ORrC1l3jDoNeJ7H8gOtsHuiMVHNAFtHs+A4Hp/ubz2lFu8nu73YWtt/v0klsEmfUpmel6p845eVb60V1KY7G7qZ1yglk8I6Ga8RjM0dlMwhW2vs4HjgoOhzIm/pXXUyeu/J2rvxuKDiIbEleUeIiyqQ8jP0sMp8YVhFBsCYaIvXx+ELYc1R5a5PiTbv2HOMB0og0cSTx4oDbf32pWx3+LFNvBedTn/Md4oHnufx2cG2mHtGNp+XVQmlh4FwBCsOtIHneWw4LpB3+5ulHjSkA1e4n+P7ZLcXuxuUm/jEg3yNIgSB0x8li3UaFdyBMFYeaseJDhf2NMb/jHXHOpOqeCDjMNFm+dG2qP1GO7OJHy1hE95bb/Og0xWgvyefX5RlhC8YwfY6O9odftR1uSVjicSHhFDxBMJ4YWOU6AtFeKaTYuz43NvYS5+BZE3GPzvYBpc/hB11dry0qS6mTFEpZmCv0aOfRysOjra7oNOo8OXdF2J6WbSxQb3Ng1CEo9eDfb8KoPN3pkmLfKsedneQKkaVckV2riLEzM8uqgQg3O8GW98Er1JOQza/tWpVDDFFziORCk9+rdjqn6QJpFC6hC2NJECUP4QgUkpUPcEI/bs/FKEPXqL6X/nf4iuQ4pcKkc8ZltN/w7p4pUrshDbYdmUGArJb0Ne1YT2QiJSVKpCYaxWK8BhVICOQBlTClthXKVmwgU4ydcWhiNBBJT6BFD3ezS/twPt7lMswfRKi6exNouS+xguME+FomxMLH19HlXbE1NPuCeDKv23CF4fbU3eipwFPf3kcv3xvP/2ZkNCpIsC21thwyV83nHWfK4J11Z248m+bFH3oznWwJWzsfHK0zYkLH1+n6G/n9Iew+Mn1eGxVNUb9/vOYnfw00jhduOjJDbj671vi/p0ksd5gWFAgGXUwMMpdeRBP1p0Qx2FvUy/uenMfVhxoo39nk8KB4q1dTfjJW/vwzq6TAz7GL9/bjx+9sfeUzwWQJh87FRJ4fxIKJLL+s+Scklqd7NTHK3O3uQOSTcz9IjlYLyZ58jmXVRywGxbeYFiyuQREy/51GjVUKsFIm8VeRpEBxHZh+95/duK2V3YrEgyJ1qZ9suMqgcSHJO794kgHfvzmXvxrQ22f72Xx4qY6/OBVQYF1y7934uaXdiS1bm6rs+NHb+zFE6uOKf6dkJ3/2dKAH7+5F8sPtFF1hbw4yi3eW6X264nw97U1uPP1Pf16jzzmpV6u7iByLDqoVCpkGLTYWmvHna/vwZK/bsR1/9ymeKxuTxDf+88u/OStfUl/fqIStkMt0bmCrQIh46nHExRLNMOSY5GyquJsE/yhCL75wnZc/sxGLH5yA655LjrXyUmGj6taYkiIQ60CuScfAzzP40SnC3MqcgEkl2O1OXz40Rt78e2XduDn71ThDyuO4t3d0jlMUYHEHJtV2Rxtc2JophGjhmTgjgUj6e/rbB5J/sfmCGqVipYgZxp1KMgwIBjhEhJ6XkkcI8QmV0wqglatwmcH27HwifV9fnclaxdS9lpRYIn5XHIvEz17tIRN4TMcScbO/nQJWxrJIBgRBki2WMKmlKh6A2Fa4iYlkOJPDnLm2RanIwUJBpR2RMjnFGQYYNCq+yWHjFdXz55zquSVZxNkgu5roma7sEU9kJRL2IpEg0CCASmQwowH0il0MiPjQqVKbjeDkEzxSAb5jsnOemU/Hd8pdB5MFYT664HvBBxscaDB7kW9TdjdJgtJhzOAw63OpHcRzxZ21ndLSheIEX9/SlkTYUutDcc73AlLcc8k9jX14HCr8ytRWisHW8LGzs0HWxxotHtxojNWgVHf5UFdlwebjtsQ4fi4LYPTSON04rODbfjbmhOS3xEPCneAlLBpZQok6XzNlhI19wglFo1MqUVrr/IctK66M+az44HsXPen2QiLg80O7KjvRq83lBJSva+4Qd6FDZBet3d2NeH17YICgPVaUVqPHQolbCxs7gBt0Q1ElUd1IoEk38BkG8ewKo+qk73RcxRDHKKMIe3CK2RlbGurO3HDv7bhu//ZiW5PkK7lJCkm3p7dniBqOl347YcH8dTq41h3rDPuNZxckoW9Tb3ocgVw9ztVeGFjLT5U8CQlcSGJdUl5T3/XmB5PEO5AGIFwBLWiWo4tFXr0s6MSlU91uxP3fXyIJqwvbqrHi0xrdOKrSggkQtjtbeqhz5bcX8crU1MlwmcH23DD89uwrKoF3d4gbO4gvd7BMIffvH8Ah1ulCqe3djbhXZF8lRMWggE1jwabh/pcZRi1MdYRpLwuwvH47YcHUN0eXc9JA5CHPj2sqB5jjZ7lyhMWJJ4Don45/1xfSztWh8Vua+SZIP8nxFBxlilKKjFxcrTUTdqpbU9jDzKNWjz89QkAgHmPrUWvN4QMg1ahI2IEHA+U5JgBJGcyTs5vf7ODxmLy8kx5V8SHPz2CtTLV3ivfn03/XpQl5DCXTSxE/aNXwKTTYOPxLtwhkqBAtBskIOQXRp20hI2FUkkhO9fsF+9nlkkHrSbWFwoQ5vKHPj0sUUIqdWpcurkeKhVQmmOOKZF0y0hBJZBrxTElbGROkpuhxwPJkwaycX22kY4SzyD8VIEklLApMb3eUAR5GbElbIkSevkk3+0JIMLx0KilDxchNpQUSORzssw6WI3afimG4u1qub9iCiS5RDkeJCba4kIyxCo10Y5wPCIcD73m1D2QiNEkcGpd2Mh9LMgwwC7urKgUjPsIXMwEy3E81LLxJiez4hGb7IJ1KgTYqYAdnwOpRSbBG1mg5SrAxji14oMFDl8Idk+A3nOqQEoRgdQodjxJFSF1qmADPlJe+lWBO04JGxmjSjtx5HdN4jjNFn0n0kjjTIIocq6cXISRojqXrAkufwiugFIJm3TNI6SOOxCmhATrdRHPw/B7L+8CAPxULI1IBLKO6xN0g0uEpZujCb7dE6TWAQNFvLhhiNUgKa0JhCPQa9QIRjiJ+exvPoh2mWLXP0UFEiGQ4pawBdDKXGMSWxJSiSiQlowfitVHpIkpS+69t7sZo4YIY4CYaBOVAjEdvmFWKcryLHD6QijJMWHdsU54AhHsPNaNnfV2el18oYik3LDHG8LDnx6WlG796X8mKX6fScOy8N6eZjyz5jg+3NcCiOKWa6eXSF7nosSlNGZX6p6VCE7m/dlmPbpcAdTZPKgcakUgHMHzG+sQivCYWS4oT9Yc7cRr2xsxriiTHuOPnx3FDxZUCOcjnhch3zRqYczWdLrp2ic3Cib3Npn1ellVC3bWd6PB5kGJWMHQ7vRjRL4FH1e14J3dJ+ELRfC3m6bR9/z2Q2G83TCrNIa4I6RMc48X10wbBgDIMOhQ65RufPR4g8jLMKClx4e3dp7EF4c78PdvTQcglK+6AmH8Z0sDXt7agPpHr6Tv63IFJF2/4n1HnudRb/OgckgGGuweYfOlw4XHVlZLXmdzB6Jld77opqpaJWwcy0s2AYFUzMswUCUcIUj2NfViTkUeLHphzIQiPC4eNxRatQp1Nun3J+OrUCRwktn0VXpNvaz8yycjdP+9JdY7a9KwLPrvoqzo3KVSqVCWa455rlmoVIBB9KfLUiKQFAgbdlP3iKggzTRpFa0x/KEI7v34EFp6fbh8YhFmj8gFx/E0tpGD54W8t1qmuibPTSIlEblWPC8Qmie7vbhwdAHqbJ6kSth4nqffodMZ6DPnGmxIK5BOI0IRDg9+chitvT7Udrnx0KcC600URu5AGH9ZWS0pF/AGIsgy6aFSCQ8CkfQmIi3k5AzHK+96kGBAiWQgk2i2SY8MgzbpErZDLQ78mamJDcgUSBlife5XwQPJJdthige2hM3hC8Gk09Agglx72o5WK50s5KTiyW4vHll+JKHXAjmWSac5JQ8hQjAOyTQgwvF93jPWZE5pYZLvXsbrDsjK1B/45DDq4nhUvLylHpsSdDh5f08zPj/YFvfvieBidm+S6UD39s4mySJJntPeOEl6kz0+gcRxPB797OhpKxtac7QDb+1sSviaXm8IoQiPp1Yfx4bjXdQDKdHuXH9AFm+5QeSTXxzDkdaoTHxPYw9ue3kX/rlekP0/t64GO+qUlWvLD7QOuC03IcaSKdFbW91B29GeC3BpGRNtZj4hY5Tc2xUH2vDRPmEn3cYk3Vq1CmaFtrtppJFqsGQFx/HUGJl93khpENkxl5ewyckTOpb9Yfoe0gxAr1GjlVG5/OztfZj04CrJ+5PZxCEE0kAckBzeEJYfaKM71XLT6Xh4ZWsDyu9ZgfJ7VuCpL6RlSvFUs6W5gjohSqRwKM8XftcWh0hjE2qleMITjCAc4RIokIIxu/1qFVBnc0s6rN175TiUiedH4sSTomKsJMeET/e30o0YEv9QE22RBDl/ZD7uXjIaD149AbfPr8Abt5+H12+fA0BQPLEKJKKEAoR1SKuRpj/xFEjF2SYEw1yfymQSh9d2eVB+z4qE3bMSgd3cIA11iMcLWa/YdZSs0cS4WA5y3hwvdIYlBEh1u4uWsMk3zUgJmzyZL79nBR5YdggAMO6+lfjVe/up0qLTFaAKrzbxeXtPLI8ivq9KUNpIP9jiAMdHFWZWozamcsLG2AQI/w/iphe3AxDKMHtFgpR8xwabB5MeXBVTsqVEWPxxxRGc/+e1qO3yYGRBBoqzTVi6uR5L/rqRvobcmy5XMMYsuscbRI5ZD7NemTwk81IPQyC1OXyot3kwvSxH0vb+qRunwKhTU6LhUIsD5feswGZR1V6UgEC6+90qzHhkNf1ZniuOL8qkykAC9jk40akck+Za9LCI50g+n6BQ9rO8UZBaFY0vMo1aKpggcPpCeHlLPcrvWQF/KILnN9Ti0qej172p2wudRhVz3PJ7VuBEhwuTH/wCLb0+qFTAm6Kv0q3/2Sn5XqNl3rNZJp0k1r37nSrqGeYKhMFxPFYeakP5PSvQ4YwtZeR5Hne8tgeBMIcxhVYA0mf0SKsT5feswJ7GHjT3eDF55k+w31JI59ehmQa4A+G4/sWDFWkC6TSiptONl7c2YM3RDnx+sA27GoQ6alLCdrLHi3+sr8VHYhIUinAIRjhY9BoYtGqJCXNCE22FhVwpWU/kgUSSiyyTDhn9UCB9sr8V2+uiclq5BxKZTL4KBFKyXTbYLmx2TxA5Zh1l3Mm1J2SNXqPGi7fMxPcvGAEg2naWYOWhdizdXB+XPQeiJWy5Fv0pJfxBRoEE9L37xN5TpdfKA/F43lzsxL7heBc+P6TsF/T0mhN4ZWuj4t8A4F8bavE8I93uD9jv4gv1PVafW1+DV7c10J/lEma52upkjzcuCXiwxYHnN9bhPjEwSzVe2daI59bVJHwNGTfPrq3Brf/eSeePVHkgKSmQnP4wnl1bg08PtNLffbq/FWuqO/GvDbWwuQN4fNUx3PLvnYrHfGlTPV4Y4P2W369EeGVr39dvMCGuAomo48R7+9LmOjy/Qbh+7LOZbdadU7tgaZy7YEtaPcEwiIi1uj1KKpPSAuJdVJJjkiiQfKEIeJ7Hjjo7eD5qOuv0hylJQrwuxhRaJWVSy6pa4fJLW5x3OgN9GgEThcZA1tuaLhfCHI+rphQDgMTgm+N47KzvBs/zONTikKxL7Fz3t7XCfHS0TSjbkZMfD35tPACgVFSEkCS9yxXAxGJBPbClxoaP9jXH+PM5JQSSMmmy7lgXJRnkkHsgAcA3ZpTAH+LwwZ5mWiqt06hpEj5ULPEnpVoXjxuKMMfTBJbERTvrhfuiS6D8yjBoMcRqQH2Xh37v4x0u3PPBAfqaHm8ohiRXIg71WjXyRE9SeYK+tcYmGTfyvx8WN0YS+UnWdrnR6ZISP0TF4vSFqP8XUYkQwqHHG0RLrw8NNg8lL+QdU0mpGqtAYsu5ulwBOHyEwIig6mQvPAGh7JN0zDva5kSjXfhsEr+8sq0RPM/DF4rgvT3N6PUGMW9UvuSzyXNN1n2WUGQ7uwXCEcnYJV6hf119HAAooSw3SxeOKYwxJWW7UaeJUYBUneyFyx/GmzuaoFGr8PSNUzEs26RYMvXipnq0Ofyot3kwosCCJ6+fgnuvHId7rxyHMUMFgoCUjtk9geg980c3prLNOjq+5aAEkoeo+SJ4ZWsj1CrgqslFtMSLfHejToMOpx/Lqlrw2jYhBn5FVFFlmnSw6DXY1dAd4+314d4W2D1Rgku++b147BDY3AHsberBR/uasfpIh4TQO94R3czNlxE908pyhPOTKeyKZbYccoJJo1Jh4ZghAIRxIVcgOXwhPCduIH68rwWPfi5VfAHCJoJSjPLa9kYEIxyunT4Ms8pz0dLrw/6Tvdh0wob5lflU6Un+P8RqwPKfzEOmUQdXIEzH+IfMxiTPA+5gGH8XY0C2HJNcq1CEx+aaLgzLNuG755fDrNegxxvCtlphTVq2Xzje+mOd2Fpjh1NrxBHLECrqIOrB+iS6PQ4mpAmk0wiShHW5g5JJjpSwEVVCU7cwaMhOgVmcMPyhCJXPJeuBRFhZZQIpfgmbwxeCXquGUadGhkGbtGeRnBRgu4C5AyHkWvTQa9RJdwgYzKAeSP0oYbO5gyiwGmjASxVIjAR+yfihuO+qcQDiu/rHU+8AUTKqKMsIpz884DI2ct6k3K4v8oAl0pS6dcnl73ZZdxaCeDvI8nPr9Ybos6IEmzuQkGhLBPa79KVA4nkeNpf0mY7uDCqXsIUifNwdX7KTFC/YOFXYXAF0uQJxu2uFI1zM8052pVJRctbrDSoSNuQasTvwJPFw+EJYVy10iLEala+LzR1I+FwkPqfYndx4IAnRudKdjCWQ2GeLquNEfyvh+pF/R69DZrp8LY0zhDamZMnlD8eUO4UjHF1vSYlBRYGFbsgAgjXApwfacOML2/HMmhNUfe0OhGiiRmKr0UOtivMw26L74eWH8Y1/bUvY6clOSar+z4/Ec2S2WIJEnkdASFxueH4b3t19Elc9uxk/ZcyA2Z19rVoFuzuAy5/ZhF+8UyXxERyWbcLckUJCPzTLCJ1GBW8ogkA4Aps7gOF5FuRZ9Pi4qhW/eGc/7nhNanrMeoHEKyn/wau7sa66E2a9BovHDqG/16hVaOv1o9MZkBA0X5tSjAnFmfjTZ9U0OdNp1HQzNdusR6ZRS72lSOkaGQf+UAQnu734wwpB7a5TJya4R+RbUG/z0PnP7gmiut2FG2eWAhDm/WQIJLNeQ89RvlZ866UdWHesk/4s96AhiWaiePGOV3fjz7IEmapZ2OeBEEgi4dDtDeGCP6/FwifW0zWVLdMEonkBURcFwxy6Zd+BmER3ugK45rkt+OYL2zHvsXX0WQtFeFz4+HrhfJi1m41Te7yhGFK3zeEDx/H0uWIJRZbY6XAEJMouQiYQJVOFaJKutCaRYyr5kGnUKsnnBMIRqmxv6fVhfFEmrpk2DPkZ+phnWP7zpGFZmFmei9vnV+D2+RX45mxhDFkMYq7lCsQokOyeAHIt+hhyhIDMQSR+8QTC+GhfMy4aNxSluWZqMg0IZWFGsbrgZ29X4R1RQUX8sawGLfRaNbbW2vGUSLzJUSVeT6LmnFIqdEybKJai3fTCdvzinf34wau7seF4VOW/nyEcf3/lOMkxSanvpJJsye8LM6XluHKLAJUK+PZ5ZQCAWSNykWvRg32cnf4QJdDu+fCg5L06sXSVNJq6iJl7AEHQoFIBD109AXkWPXq8ISw/0AqDVo1/3Dydvm7B6AIAwB+umYiJw7LoObIbFywc3hB99pqZ54w16feHOPzuinHIyzAgx6zH6iMduOnF7XhvTzN9j0atokb/Np2Z5mqUQEqim9xgQppAOo0gCVKXmMARkBI2ws6T/5OJ3qLXwKjVYFdDD5XdJqtAGp5nlnw2iwBDbMiTIYc3hCwT6XigS1qBJE/g2JpUdyAMq0ErKJqSMHgbLHD4Qoqmx8kokHiep4ROmOPR6fQjP8NAvRJIQEZUSjpRRq1SCZJMn0xKzI6heCCy7mKRVd903JZUW0s5yHkXiLtA8t3VYJjDl0zZlqsvBVI4IlkYghFOcbdHLmFW+q5kl7ap26uYyBOCqdsTpItkf8B+l72NPQmvnyco7JqR81xX3YlOZ5T4aLJ78cq2hpj3sWVsJ7u9dHEmZXn94SfijVEldLkDCIQ5yTwR4XisPNQu6SDCguzEJEOw9IVG5nuz9eRRgp0hkJh7/3GVkGiQXUkWPM+jyxWA3ROU7GgmwuYTtphALxmCrMsVQDDMxVwnfyhCSa7BBNZE2xeMYGutTULi2UQyrMsVoH557D1I+x+lkUp4g2E8+tlRRW85lsy59+NDNOFsdfjxwLJDMabWapVQlmXQSRVInWJZwdNfnoBWrcL4oky4A2GJwsmk06As1wybO4jnN9RiF6My+pZY+gIAXx4VnmkypxM4vCE8svwInP4QnbscvjD+tuYE7npzL/78eTV4nkej3YO/rj4umZciHI/HV1Wj0+lHnc0DrVqFKaVC8sY+e93iOvfmTiFJXFvdiWfXnADP85JuZWq1Cq+JptetvT7JGqrTqGgCVpBhgF6jxj/X12JXvZC4FGUbqUn+xeOGQg4yN9bbPHhy9XGoVcDRhy+Led3BFgcsBi1e+M4MVD9yGY4+fBmevH4KfKEIttTYUJ4XNbguyjJh3qh8CfGg16qpemHSsCzkWPRUKTZaVHm0UgIwLCH55OVnclQUWCQlbAAwZ0Qu/vg/Eym5IC+JenZtrMrUpNNEy8gUytAJ+Xes3RVDBJEYL95mLM/zaOn1UeLn430t2HzCRufpR5YfoWQoKU8j1cNIaAAAIABJREFU6zGb2JOYqkWmQHLSrsHCNeh0BWiMQRQ95LiHxDyDLfNj4fKHJIQMaxDc5Qog26ynST0gKGwcvhCNI1iSh72PrQ6fZExkmqJqlvfvnEs3j5R8Cm3uIPY09uCvXwqkybs/nEv/5g2GJRugTXavpFSrNNckfp4O6491YVlVC54Sn1lCtvzr2zOw5Z7FuHxioeRziaJGBRVUKuDBT48w7eqFe9Hu8KMwy4R8hdgFAHY39OD+ZdH5rs3hR4czgPmVAvFrlJVnGRQUd+QzM4xaej9IlQsBmQf2NAq/J7nLq9+fjepHLqMEXSDM4ZqpgiKyut2FTKMWahWw8nA7VCpg331LcM3UYZJjzx6Ri0MPXYoLRTKGXp8+FEgqlQpDrEYcfuhSfP+CcmjUKsn9feKL4zjZHR3LV04qov+uEE3VJ5UIc+fz35mBD390Pv17rzeEMUOtsBp1yDbr0esNorbLg4qCDFiNOppHXDm5CEcevhSXTCikn2HSafCfLQ2K+cXjq47R54s1HZfnLtOHC2RatllHN7OXbqrHQdFrrd3hpwSSXWum+fKIfAv0WnVMOeFgR5pAOo1g1SNskGA1aqFVq+gAa7ILSTFRPpj0Gui1ahxtc1IZrDsYjpsosQkzqSlXVCCxZsWyxdPhC9HEwWrUSjxhEiFGgcSoX1z+MDKMWkHRdA4pkF7b1oBvL90RkzyTQCARQUGCBlIf3NrrkymQpJ3wdEwgZNJrYhRIXUkokAiBRCbuO1/fg18zcu1kQRVIopxcbqC8/EArbn91N2Xp2eugpFbyh7iYOuUud2ydfjzVleR3YqDmD3HoTEAwAVLCIlmwpOCH+1qoX5kSiGKm2xNATacb33t5F22d7PCF8PgXx8DzwFixFpoEyUeY9tH3fnwI//v6HnAcj31iwNIfNU28MSpHhONpEMqqTJYfaMWdr+/BzvpY2TPB2EKrRNY7ULAG4uyYUlLX2dwBaEXWcWut4H2k5OcmdKnhEOH4pMwKuz1BfOffO2inod4kCSR2F1V+fz7a14LvvbwrrmfX2UK31oTMsPCcdboC+PZLO/Dy1gZJCZsnKOyYEb88aQmbXvG4aaQxEGw8bsPzG+uwtSbWy+x4R9RjY61Ixk4rE4LwV7Y10lItkvCW5Jhh0GpkreYjEnL3qslFqByagR5PSPLMZpq0mFQi7PQ++nk17mSUN2ypBoHcw2/l4TYs3VyPV7c20OO2O3x4avVxrD7SgX9tqEW7049PqlrxzJoTOMZ8t71NPXhuXS3u+fAg6rs8KMszw2oUSk/YcyRrMEsQPLn6OLbV2SmZMjTTgGCYw/t7BP+yLJNOUvqu1ahRmGXExeOGYl5lPu1y9vN3qgAICR3x8fjalGhyBgjlX2SeeH+PQGJxPCSeLCwseg20GjWMOg1Meg2mi2Utna6ARDFVlGWkJS8Eeo2ansf04TmSeac8z0zXAUBI1Filqi5O9yWCaWU56PYEJQnZ/Mp8aDVqZJt06PGGFDdO2HMDRAJJJEaUN7aEteHlrQ2It0zG23AkczA5xuOrjuG5dTWUGKgRu2Vq1Sq0OfzgeV6xsxM5L3kJGyGWSAkdmxePK8qUbO4dao0ljlgvvP0nHZLP7pGtyTlmnYT0aHP46bjOMesksQd7H9scPonyi1UbT2aULfKyKEBYj6/751Z0OIWYYWpp9PVuf1gSFxxpc0rUHcT4mRCoP3u7Cn9bcwL1dg/tUjp7RC6GZZtiSqUI2eEKhGI2/Zx+oYNcm8OPoixjTNkXwSf7W/GqWIpWOSTqx0OeH3ncbNDF9yRkr9mxdifdKIxwPJ1PllW1gBN9TVUqwXvIKBLq5OvNHZlHCaV8q4GSuAUZBuRY9FCpVLh2+jD869sz6OdlKJQWygkjuccRGXcWg5ZeW3aukBO7N88po/8mG/HkOmk1akwozpQokQgJl2PWodcbQl2Xm3ppLb11Fq6cVISCDIPEnyrLrMMVk4qw5miHZKz+8ELBiP6T/VGbBXZOYQnqwkwjHVcsIXasw0Vz/WMdLjq+uvQWWrmRbdJhakk2Vh5qP+V4+0wiTSCdRrDqEXbSNGiFxZYwmq5AGD3eEGUzLXptTCkOz8fvesEqC4ZkGmDUqRUXuyCzgyUnkHpFBRIgTAopUSD5BRPt/hxvMKCuywOej91xcsepI2ZByByLOLE6/WHkZxjoAhCUeyAxgbCgQJLel2QUSGGRtCoWJ68wx2NvY0+/lTjREjZlDyTCvJP/s/c0ngeSfCelyxWb7PtCERqwCa+J/a4s8aREELHvGUgZm1xmnmgngJB6HC+olVg4fCHU29yYVpaN124TzDzHDLViZIGFtn71hyLYLiYEDXYPfRb7Y6AXb4zK0eMN0gWJvUZEplxv80junVoFHHroUhx48BJcP7NUNEg/NfVgk+ihkG3WKZawsefV5QpQOS8JzmzuQAx5LnlPEtdNaOtLrhuftAdSvOsHgBJHg0123GTMxhivMNaOtbvAid+bKpBkitgul7QUMCutQEojRbj5pe2483WBqGlz+tHc48WiJ9bj5pe243cfHcTepl7IrSymlUqJhr/dNA1zKoRyL+KJwpaw7W92SJRKt82rQIZBi5ZenyTByzTqcOHoISgXVdryrqFy2GRr1d5GgdR5ZVsjLWEjXbyunyl05Krv8qBNJEXITvMLG2txm9jhrcPpR53NjRGiOqfAaqCJ/+8/OognvlAuQfnnesET7mcXVeLpG4VuVqQsYndjj6QzlFatgkGrwUu3zsTYwmhnLvKMF2UZqcp44eho4vXct6bjikmFcPhCuPH5bXhuXW3C6wPEJnuluSaaNOcxihSLQUt35wkEpZRwH6eVZktKuDNNOkkSJhAtLIGUOHW5ekoxci16STJGWsJnmnR4c0cTVWUogShhTHpNQgPox1ZW45HlR7CvKf6xNhzvwrj7VuLWf+/Ekqc2UELHzmygRDgeHU6/omnx+OJMofzME1TcLCFEZVi2RhIFkpLyT62OevgAyurnigILtv/uIqhUgoKF3WiSb+rkmPUSUq/N4afr8tjCTDh8Idz9ThXG378SbzANPRpsXsn5sX46bGxcqKBAYgmzMMdLXu8WcypAUO/saeyREUjC8W49v1zi31Tf5UG7wwejTh3XUoA8O5kKpfVLN9fjla0NCIjt7ZVK2EYWWCQ/kzIylSq66UieCxIXEyURSzYRsCQOxwO3LN2B8fevxF9WVYPjgZnDc9Bg92Lc/Svx7NoaZDDEjVGnoX5AI/IzKDGjU6sxfbjw7yKmQ+RTN0zFZTJFlhzFso6SciNxJVP5nASbVmOZ7oJkbmE7Dhq0Giz97ixafXPL3HJ6zDDHo8HupevGBaPy8dzN0xX9k2aV5wi+RWLTlue/MwPfPb+c/v2Xl4zG16YUY+PxLrresOQnO7+NYMzfC6wGZBq1mF+Zj31NveB5QM+FYdOZqUK2ONuE715QjqZub8IOdoMNX2kCqccTRF2Xe0B16qlA1F9CqkAyaNW0TSNBo91DCSKzQZltjldLzap7LHot8jMMisZygRBHJyT5wt/rC9GFUig5C/fp+cGqGwgkJtoBUYFkTN5Tqb9wB+IrswYKopgg5oHsZ5H/x7s2hEDKYBZCJQ8k2gaYWXQNOjWq250SqTo7huKB9UAiCHO8xNw8GRAigyyQclVR9LoI/09koh3heBzvcMW0Oa462Rtz7fyhiCRIUxq7bDAvvy/hCCeRvCZSIHmDYdR1udFg80jGjZzgbOnxSe4DIVFCEY4afQKICUJ7vUE02r2CJF/8TgVWA+ZXFmCH2FZ4d0MPvdakDG1cUSZsLsEjqrnHq6i6YRFvjLrEHTACuboHEKTzhMxq7PZKVEFFWSZkGLTINOqoIrHXG0I4wikGoizCEQ51XW76OvJsNtq9GGI1oDDTCLs7QIlycj52t1CG5g9F4PKHMa7ISo85riiTtvVliSx2jDTZvZJ7BQjjr97moWOUeGc12b1wM6qqvny+JDunsmdQXoI8UJwqQSdHoyEblT7h/hK1YGO3l37XVocftZ1RxUW9zSORZacJpDRSBTbJauv1YfWRDtTbPNhSY8ebO5pwsMWBBZXSEogLRuXhoasnIFNcQ6eXZdMkmfjtKJV05Fn0eOL6KZhUkiXZlSfJV3G2CRq1Cn+9cSoyDNoYQvihqydIkrFjHS7Jura3qQf5GUJb9TDHI8+ip+v4RaKSoc7moSbdhHD68kgnVbvY3UHUdLoxQUwa51XmY111F7pcAayM0zxCo1Zh0wkbeF5QYoxnkiclaGXqnJe/NwvTy6LJTWGWCa99fw7+/q1pyJKQNsK83+kKYEd9bOyw/Cfz8Pptc/DI1yfQluxyNbBKpYqbYA6xGvHUDVPw3p1z8fSNU6HVqPH4N6bgyeunoDTXTJNIvahoYuOZYIRDuyP6WX2Vext1Gnz7vOGS35HucyyRMGlYFu5aNIr+fMeCCnoOJp0GJp0G2abY5PaRaybSefK1bY0StRmLYvE7+EIRbDjehROdbvpatlFFm8OHMMcrxj4kGW2weyUGvn1he50dR9ucimbnwTCHCcXScUSMzAk6XQFkGnWoHJKBvU09EgWSfNMk26yjpN4QqwFtDh/9LmPF9fzDfS3wBiNYcUDolFs5JAMf7G2WeE4qkTJALCkxttCKLw7HJtpv3j4HcyvyRP+oILJMOkwry8YXhzskahG29Ty5vuR7tTr8KMqKVR4RlOSY8eT1U/D0N6fizdvnxHhpPfjpEfEzjDEbqAAknmFAtFPivFH5tDSTzG8kjzCKhHlFgQV/vXEKnvnmVPr+DIMWH/3ofPznu7OQa9Fjb1MvvMEIXtpUDwD4ztzh+PVlYzBJnHPk6iby/UfkW2i52LEOF+6YX4EfXliB31w6RvE6xENFvgV//J+JeP/OuVh668yY66N0WZWUTBePG4I3bp8jiUf+fN1kPHrtJMl8RvDiLTPx3Lem0+vJ5hTsPY4HopBcITZ1Kc4yScoyi7JM+NHCkQAEM2xAWj0xnVFYks/TadR49qZp+Pu3pmNkgUD+qVTAHGczbDoL7VZYmGXEJeOHoiTHhKWbB9YY5mzgtBFIKpXqMpVKdUylUtWoVKp7TtfnJMKr2xqx+MkNuOKZTWfFAJUsEC29PgnJY9Bq6MSgEXfBars8NPGK1/oxnoqHTeTNeoHxjGeiTXZW2FIz4odBJMQZBi1CEb7PlvB2T0Ai27UatVT2HQhHEAxzsBq0sJ4mBZLLH8LcR9fg9R3xO3MNBCQhlLdeJ9+B5+O3zSUBJbsQ5mcYoFWroFZFSZqQggIp26TD4VYnNYoUCDqi0ohPKMg9kAg2Ho/f8l7x3MXjZJl00GvUMaQQUZKQZNzlD8Nq1MKi11APCoInvziGXQ09McnoYyurqccEQa83JJmoHb5QjBE4IWA1ahVqZCVDj686hh+/uTf69874JUXfWboTi5/cgIVPrJd0bLN5AvRZBAQCrlU0eN14vAvTHl6Nmk4X/rjiKO5+dz993W6Z0Wqj3QuXP4yyXDO0GjXyM/QYlm3CgtH58Ic47GnsoZ5HALDhuJDozxieDV8ogo/2tWDeY+tw3qNrJH5BciiN0R5PEHMfXYt3dkXb1LLEG0mYqttd9N9Ndi/9nFyLnpqXkp8BIZB8bGU1Lu9jHv3DiqNY/OQG3LJ0J3zBCOY/thZLN9ejsduL4XlmZJt1WHesC1c9u4nOOeRaO3whKuVnd5dmiLs66493YurDq6mxLTu/3fHaHjz9pdQr5ekvj2PRE+tx3T+2Sq5XY7dHQhrJyzTlkBBwsmSJliAP0LgdALbV2jH14dVxzRv7C4cvhF6dCeX+Xph0GtSKxBDp1kOCqttf3U3fQ54d8rc0gXTuYzDEX4A0cG93+KlpL0EwzMV4aORY9Lj1/HJcMakIpbkmDMs2YYpYzvKNGYLSRykxK8420b+zY5gE7uRcppXlxJALFQUW3Hp+uYS0eH9PM+3c1dzjRU2XG7fOLcfYQismDcvCJROi/kHnjciDSacRElAxKSCqFFbN2u70g+NBE6DvXzACwQiH59bV0PlPnhyxHiDleRYJ6TNZ9AJhQVrcEywcM4QSI5mipUB5vgVXTS6WvC7TqIvr2QIISol5lfn4ztxyTBaTUbnqBQBuFRUAFeJ1Z2Oca6eXYFZ5Lq6ZJvipFGYZcZ14z9gNTAAYliONZ072ROfZDKNyjMziO+cNlyTLw0XVF1vqNHdkHh0zv7p0DCW/9Fo1THoNtZNgE9wCqwHfOW84jaWDES4uoUW8WliyhvgrsjGd/LlgQc73J2/uxWcHoyTjKAU1Cotn19bg8mc24ZjC2hKMcJKEF4j6ThEsEjtlTS/Lwb6mHhqLAtLSU0B4Zsl9HlNoRa83hGbxfikRnnqNGncvGY3mHh+WVUU7XpEYbM6IXMnr5Qbyv7tinCR5J6qe80fl44JReQiGOXQ6A8gx6zC9LId6PSkdj52jCAEsL8OS47oZJRhiNeL8Ufn4wzUTFV/DklQAqMfQVZOLJSQK6ZT4o4VRIpNUMHxtsvDsk2ubYdDhf6aVYMbw6L3TqFWYVpaDRWOH4Na55dCqVXj8G5PpJtnQTCN+tHAUbpglmH/L4/oJxVkosBqQn6Gnc/HooRkoz7fgt5ePw/myDnt9QaVS4eY5wzGzPBcXjRsKs4wcUiLmlJ7nb8wowQWj8iVx+dBMI26aXaZ4jNFDrbhycnSuZFVNIwr6JpAqh2QgyyTEqIAw/7BK16IsI8YVZeKm2WWUQGU3Vc+ryKP/JiVzvmAE51XkYcHoAqp8HVeYiXJ/j6BAcvqh1widHrUaNb53wQjsauiRdEsczDgtBJJKpdIAeA7A5QDGA7hJpVKNPx2flQiXThyKi8cNQXOPj3YVOJMgCZJ8cTHo1HRRGF+UiVyLHltrbJSJt+g12PybRdj8m0VY9fMFlG2Op+Jx+8OUsbYYNMjPMMTsrnGcYO5MiA2WHKrt8sDmDlDvASIj7avbmFzinWHQ0hI28l0yDFpYRUVTqrGt1g6XPxx3524g8ATCNGlslCWGLuY6x/s+hISZVR6d4AusBqhUgqxcTiCxUuzHr5+CIVYDVh/pAM8L6i4SnyUq02HL5si9G1tolRAVySCqitIgy6yjLV4JlBRIVoMWU8uyY9ROq490IMukw99umoZ1v1yIXb+/GG/eLpR0sUbcTn8IR9qckskXkLZ9BYRnyWrQYlppNrbVSr00Pmfu/4LKfGyrtSkSHXZ3AHsae3DttGGoHJKBL49Gz2NHXTemyILxRpEoW3W4HWGOx5dHO/H5oTbJa2plbTdJEkCC1bd+cB7uWjwKc0bkQadRYeOJLmw8YaNS5U0nuqBVq2i9/1uivDsY5rC1VtkkO94Y3VxjgzsQxiqmLTNb+kfeQ8bF2EIrGrujpU3//u4s/Pm6SfT1k0uyoFIJO5mfH2pHo90bdx7leZ5Kb/c09WDl4Tb0eENYdbgdTXYvynItNKmr7fKgtsst2W3tckfLqspyzdRDbOZwIZB8c0cTIhyPVeKuo3x+WylrRU3O5ViHCye7vZRo63AGJG2T+yphi1cqx/M8JY7kKrD+YNVhoeb9yxTJlsn3LPP3SnxLHD7Br+H2eSNowsTiqslF+LEYwCYq2Uhj8GOwxF+ANDn7cF8LPtjbjIVjCnAv09FngYxAIsqj+64ajw//9wKoVCo8/o0p2Pn7i2hipaRAYg2z2YSdjOcKJolgPVXeuH0OPr1rHgDEkCqrj3Tg+Q21eGFjHTQqFb4xswRv/eA8vHbbbNoZqjjLCJNeg/J8C5Zurkd1uwtatQp1Ng9OdnsVN/NImV5FQQYuHjeEGmIDQIQXTGu/d0E5ACGRWf/Lhfj0rnmYLSbW5PuT+ZGFkj/QJeML8fGPL8BnP5sf8zeCLJMOVzEJWCKUyMgdFpVDrdhyz2LcPn8Equ5fgt33XpzUMUnCR74bUUwQnOz2ojzPjE2/XpSUoqDAasC6Xy7EoYcuxfbfXkRJoNdum02TeUKmbfr1Ivxo4Uiq0NdrowokIBoT/+/CkVjxU2GstDukpMS++5Zg//2XYNOvF9HfEaLz2uklWP2LBVCrBJWL3R3AX5iyw0NxzKs3/XoRTYpbZZ83ToGYWTC6AF/8YoHkd8c73DHXMhTmY8jHKYzn0Iu3zKSxwPSyHDj9Yfzps+j5vrFDiFPIdbEatfTakdLDQy0OaNQqzGcUhuR6ThiWiUsmFKIs1yzZhOZ5YOfvLsIr358tOTe2HHL9rxYKflYisfDTxaOwTHx+hXMRnsuVh9uRbdbHEGWA9PlnyYW6Ljfaen0x5E8iXDu9BJt+vQhV9y/B/y0ZTX8vJ6GeumEqNv16EaaUZmPDLxfh0EOXYve9F+Pa6SXY/JtFmDsyGgNnmXTY9tvFuO8qYdomeQO53kqm4gDw40Ujse6XC/GNGSU0niVldITUkAsDfn5xJVb8ZB5UKhXUahX23bcE7915PlIFs4zsV6ocJt/rhxdWoOr+Jdj4q0W4dELiUrm+kGOJxjF9qTYBoaT5+hklCIY5LBpTINnUBqKlfBX5FvR4Q/jthwdQ2+XBgtEF2PTrRbQUEYiOKdZH7+bzhuOD/52Ll78/C/khDxxaE052e1GYZaSE2A0zS2A1aLF0c/3Av/gZxOlSIM0GUMPzfB3P80EAbwP4+mn6rLgYW5iJP1wjTIL9TaZTAZs7ECMXBAT2nRh9dTj9mDcqHxtP2KIKJIMWJTlmlOSYMabQSmtUEymQyGRlpiVs0qCFEBvkQWXbs5JrQ6TklEDqQzUkJzVIq0n2vRlGHS2JSzVIGc7uhp4+y2uSBasmYNUdHMfDHYxe53im4ISEGV8cW7er16qpkbmSifbIggz87OJKtPT6UG/z0Hto0mli1A8sQmHS0U1Fu65cP7MUDXZvjIoqEYjqR69VI8ukkyg1HL4Q/ZkSSKJJ+oLKAhzrcFFDzDaHDyc63bhr0SiMHmrFiHwLCqwGnD8qH1dMKsSmE12U4NlaY0eE43HJeGk3GPn4tbkDyLcasGB0AQ62OGiJV6PdI7lnS8YXCiU6XbFJ/WaxXOzW88tx2cRCVJ3sFb9XEAeaeyWBDvs9yThburkeHc7494FdGEk9duVQK7LNelgMWswYnoMP9rTgaJsTV08thtWgRSDMoSTHRAOCXQ09uGxCIawGLTaeUCaQ4o1R8hxvr+um95KQvCadhpIhm07YMHpoBmaPyEWjLVraNKE4UxI45WUYMLE4C69tb6R+G/Hm0TqbBy29PtwwswQ8DzwqBpu7G3vQ7vRjeJ5ZQsZsPG5Dlys6P9oYn7j8DAPyrULnQpIIku4iRFVncwck17um0013/judflS3u3CD6Euy8USXhGgjHTGGWA1w9GHALX0GpYQXUSHKieb+YKN4PePd6/6iQSSzhgd6FdeewiwTHvhaLJfw0NUTqIIxrUA65zEo4i9AStoQXD2lmJJGw7JNNLEBhDKaYdnC3GkxaGk5tUmvwRBrNGliVS0V+RaMLLDgka9PoL+byqh4yHPKkg6sp8rkkixKTH1n7nCJz0iY4/Ho59V4dVsjrpxchKIsE3IsemSb9ZhWmoMMg5aWr7FGrmTX/oO9zZLvnmPW4aKxQyQqotvmVUi8elz+kKDCmluOHLMON8wsRXm+BZNKsmii8exN01A5JAMzmY0qkvBoFDI0tWgyzPreyJFp0qEkx4zvXVCOS8YPRXGWEedV5OJrU4pjXqvVqDG7PBe/ilPeMizbBJ1GjWyzPm5ZkhxTS7NhNWhpIi033d5R3438DAMtUUkGhVlGZBi0EsWJ1aij6h0Sl5bmmiWqBr1WjQWjCyhhN29UPqwGLeaMyKXj8Inrp2BsoRUzhufgyeunIMeiR5ZZh9JcM34wfwSumFRI17wR+WZUDrWiNNeMOpsHz6w5IVGmybufnVeRi++cNxyluWbkWwwSUv/KyUXINGrx40UjJd6RgDB3s+OXbMQUWA24e8loXDi6AHkWPX592RhMKc2muQUg9XAZX5xJ1RfzGLIGiJaEAsI4LMkxoSzXjF8sGQ2rUYuLxwnPwWcH21GRb5Fce5L3TCjOhEatws8uqoRFr8HF44ZCq1bhhlklGJIZW/qlUqkwqzwHv7p0DEpyhHtFjju+OEuiEGP/fV5FHt0Y12vVeOabUzEs24QCxptoSkk2xhZacf7IPOxt6hFL2BIrkOQozTUj26zH1VOLkZ9hwMRhmZS4uWXucFw2oRBqtYqO3bI8MzIMQq6mUasUn8uiLBMtaSNl7uS7xfMA02rUdCz/YslojC/KpGRvPNLVqNNgCDMf5lj0KY0BxhRakW3WUZWYCrHz040zS2HWa3DTrDJkm/UoyzMrqoz6A9aUX0mxqoTvzRuBkQUW3LW4MuZvZM0g1/GtnSfhC0YwoywnZk4aajViZIEFT14/hf5Op1FjxnBh/hjlEzbBPzvYLhlrVqMO35xdiuo2Z0wVxmBE3zrQgWEYgJPMz80A5pymz0qIwiwjRg/NwDNfnpDs8pwJ2NxBTC3NjpGjqdUqatwW4XjMr8zHJ/tb8UexdEnO2BJ5393vVil2w2h3+jFnRC4a7F6Y9RqxhC2I+X9ZS1/DiXwR2TX73ss7aRDW4wlhRL6FPgQZBuE133xhO3Ta+A+xV1ZbbdCq8eWRDsz/y1pKaggm2jp0e6Tnkwp0OAPIs+hh9wSx+IkNCc81WRAF1dhCK/Y29dBz5nnhv8IsIxrsXtz80vYYfx8gSuboNRoYdWr4QxyVhRu0ary/pxlrj3VSs2z5MQiJd8Pz26jZ3JhCK/Y398a9foSs02vUwmepgIVjCvDIcuDaf26FSZ8cT0xIMb1W6FSytrqTfiYx6h4z1IpjHS7M/8taang8v7IAj35ejaue3Uy/MwDMHx0rfZ1fWYDPDrZj3mProFYLrZEteg1mySTLt72yWxKx/Fw4AAAgAElEQVSodLkCmDQsC/Mr8/HU6uO47OmNMOjUMabjJED55gvbYp6VXq9QwjNxWBYCYQ7Prq3BJX/dAJ4XzAcXjM7HM6I5nkGrxl9WVuNfG2rR3ONDnkUfo3rRaVQIRXho1CpEOB5WY9QkulQhIFgwuoAqtRZUFmDFgTYcbnWiLM8iCWgWjx0Cjufxwd5mbK6JJWzijdEOR/R5WPj4emg1Kji8Iei1apTnW7CsqhVbam1o7fXju2K5hisQxkub6mDRaxSDkvmV+fjHesFMNc+ijzuPEl+jHy0chVWHO9DpCiDXoqdE3/A8M03kci16PPnFMQTCHCYOy0LVyV789O19VKmZbzWgIMMAnUYtSRrzLHpUtwtjr8cTQq5FSpRf/fctMOmj4++WueXYUmPHnz+rhi8UwdhCK6rbXXhSNKotz7Ngd2N3wnnJ4Q1Br1FjRL4Fn+xvxdY6geghz/nYwujz0F/wPOjY2t2Q+DySBXmGy/y99PkhzywgJBhWhYQuL8OQLmH76mDQxF9sK3cAePMHc3D+yHz4QxGoVELHNdbMesfvklOrkLWxIt+Ctb9cGPN3lrQgR2eTNJJ8jhqSIXkeci16rL77Qoy+9/MYn8jb5o2Q/HzZxEKJ388vLx2DYITDCxvrMGdELrbU2PCvDVIj6n33XxJzrudV5GJCcSbtuEv8TsrzLYqvB4BLJhTikgmFWCd2rrtmajFumFWKb724o9/Pr0kndH8lG4cPfG1CH+8Q8O6dc/t+UT+wYHQBDj50Kf154rDoJtzwPDMa7V5FU+KBgGyUkLiGgBMXoRyzHo9eG1XjPn79FDzOJIMA8PWpw/B1WWtzgt9fKZD033pxu+TzRuRb8OWRDvo5BKzaWK9R4+07otdWrVbhkvFD8e7uZjx67STcNDvalerGWaWS9Zg1SAYEInVLjR0WgxY/vSg2Kd5yz2Kc96c1aHf6KSHqDoQlip/ibBMOPXQpxt63EgBw4IFLMfrezwEI5ZGbf7MYgEDWHHzwUlqiBwC3MCbEgOhddKSDdou+bkYJLWHsC3JVzNjCTDT3+GIUs+TK3jCzBPdcPhaA0NXPoNUo3rNcix4rf74ANZ1uXPzUBgDSErf+YHieJUZx9/DXlUvc+gMyXOSqmERYOGYIFo6Jktr9eW8qMXFYFqruvwRtDh/mPrpWYpROUFGQgSMPX5bSzyWKxrx+fO9h2Sas+b+Fin8j+US5SCBlm3WoijM/q9WquMcBgCU9NRgadKFDb40hK+9eMga/vXxcn00eBgNOF4HUJ1Qq1R0A7gCAsrKyPl59avjNZWOpcduZxJwRKtw6txzv7j4JrUaF66aXYH+zQCblZRjwyDUTMa00G8PzzKg62QtfMIJhOaaYCXFUQQa+f8GIuO22Z5ercOv5w7G2uhOLxgzBxGEBtPX6YtoBajUq3DK3HGW5TTThI7iUCYRml+fi5jllMa9RQoHVgMsmFqKuywOtRoUNx6IJr1GvwXkVuSjPNyt2UjplqIBvzirDykPtfbYz7w9yLHpcMakIb+xojK5GAM4fKVy/t3c1xZBnLAw64Xuv+Ol8rD3aSYPZn11ciT0NUdNlq1EbI60szTXj7iWj6SJsNWpx3YwSvLqtMeH1Gyp2Vrlr0Sh4gxFU5Fvws4sqJYbPyaA424Qcsw53LKiIKQ006TVCwLKtkY6tSyYMxbgiK+5aNErSFaM424Qxspp6ALhiUhEOtjjgZ8bWnIpc6DRq/OGaiZhamo339zTDqVBadMWkIkwpycadF46UeC6V5poxszwHTl8Ypblm/N+S0XE7Y82rFGqqZwzPwR0LKqjqpcBqwNTSHLx222x4AhG0O3w4ICpV5lcK3/uN7Y0YnmfGhOIsBCMcWnt9ONzqxHfPL8eqw+24cnIR/r25HhUFGYpE7zeml6DJ7kWuRY/xRZn4yeJKfHG4HddOL8HooRm4bd4I+EIRXDapEKMLrQJxHOeWK41RlUqFm2aXYvmBNsn1mzgsC0MyDVgrek9pRqjw7fOGw6BV40SHG6EIhymlsaaEAHDT7DLY3AEUZ5swaVhWwnm0PN+C8nwL7r9qPLbU2nD9jFKsre6AJxjBhaMLMK4oE5tO2FCaYxLGlkpo0brqcAe9D4VZRhRnGXHX4lEIhjlkmXX4+cWVaOv146Y5ZXh7ZxNN7GaNyIXFoEWeRY/tdXa09ETHX2GWYDb7+yvHCeVhKuDmOcOx4kAber1B5Fj0uGpykRB89zEtTRiWhcJMI9YclZaZWQxaXD+z72czEeZXqnHjrDK8uaMxJpkZKEYtexMWLoS7Fo/CphM2fGt2GVYdboc3GKE76u/+cC6ae7zQadQ0sJwxPAc/XTwK54/sn+dBGucmzkQMlmvR4/dXjMOwHBPqbR7MFUuVjToNHrhqPGaIJViPXjspxtQ3EQqsBvz28rG4fGL8kqt/f3cmAiEOE4qzsPxgK/WgAISShh8tHEk79sjx3g/n4kBzL2zuIMrzzeh0BiRtxePh5xdXQqNW4Vuzy2DQqnGwxYGCDMP/s3ff4VFV6QPHvyc9Ib0QQioJofeE3gVUwIIFRSzYe0dXd9X9ubvqurjqqmtdUbGAig0URJDeIaGFEloghQBJCAkppM75/ZFJTMikz2Qm5P08T54kd+6c++beO5M77z3nPXTt6E50oOmaNUopXprWh50pORSXGZjcwCxH1Y2O9ufh8V25a1QXvFwdeXRCNLOGhzf8xGoWPTySjUeyGpzZrLU5O9jz6rV9iQ704HxJOd/Fp3JDbKhZ2r5qQGeOZRVw9+iaScG+wV48MbEbNw01z3bmXN+PRbvSq4as3zM6Ei9XRxzs7BgeVVGr51hWPhl5FedXXlEp00wkpZ6b2gsfN6davcH+PKUH7i4O9OjkwerEjKrZAOdc14/IgA6UlBkIcHeuqn9jyie3D2brsTP4dHDihwdHsOFwVq0eGy6O9sydFUtBSTlODnbMu3NIjZpI1YX5unHvmEjOl5Qz3Zgc+vnhUcQnZ3NdTAgl5Zpbh0U0eh/W5dXr+vLpRndiw2v2VLu0dyD3Z0Tx8CV/1BT685SeFz69lq4d3Xl+ak8OnspjYs/ABtdvTfeOiaS03MDNw/54n/7k9lgumDukXkqpqoL11tDJ04VnLu/R6GGy1c2/Z2itshYN8XFz5OnLujOlb9O3V9139w+vMVFKpH8HHp0QzXWDTCePG8NJG3glaTk/z3ikVj0+U58dbJWyRHFppdRw4EWt9WXG3/8MoLX+p6n1Y2NjdVxcnKmHhBBCCNFY48ZVfF+zxppRmKSUitdax1o7jotZU6+/QK7BhBBCiFZhxWs0c16DWaoH0nYgWinVBTgBzABmWmhbQgghhACbTByJViXXX0IIIYQtukiu0SySQNJalymlHgZ+A+yBT7TW+yyxLSGEEEIIIddfQgghhLAsiwxha3IQSuUBB83YpBdgel5My2it7YUBKa2wnUoX636Ei3tftvZxuxj35cW8D+V1bR6yH5uuu9a6dnE0YVXGa7DzWO61Y6lz15KvCUu+l1gy7ra6T0D2iymyT0yzROyW/h9rqX1i6bgt1X5bPEdao21L7hfzXYNpra3+BcSZub2PWjn+VtkekHkx/l3W2N7FvC+tcNwuun15Me9DeV23vb/rYtmP5v5fL1/mOy6WfO1Y6ty15GuiLe6PtrxPZL/IPrF27Jb+H2vB/6uWjttS799t7hxppbYt+X5itmsw25p2wXx+vki3l9NK26l0se5HuLj3ZWsft4txX17M+1Be1+Yh+1FcTCx5zC117lryNdEW94el27b0+4Lsl9pkn5hmidgt/T/WUvvE0nFbqv22eI60Rttt4vrLVoawxWmZmaVBsp/MR/al+ci+bDnZh+Yh+9E8LLUf5fjYJqVUHIAcmz/IuVqb7BPTZL/UJvukNtknNcn+MM2S+8WcbVtqFram+sjaAbQRsp/MR/al+ci+bDnZh+Yh+9E8LLUf5fjYJjkutck+qU32iWmyX2qTfVKb7JOaZH+YZsn9Yra2baIHkhBCCCGEEEIIIYSwXRdrDSQhhBBCCCGEEEIIYSaSQLJhSqn8Bh5fo5SS8aN1UEqFKKUWKaUOK6WOKqXeUko51bP+40opt9aMsS1p6HwU9VNKTVNKaaVUD2vHcjGQ98eWkffH9knex2uS9+W6yXvsH+T90jR5P6lJ3k/qJu8nf7gY3k8kgSQuSkopBfwA/KS1jga6Ae7Ay/U87XHApl6g4qJyE7DB+L3RlFL2lglHtFfy/ihEFXlfFvWS90vRBPJ+Iup1sbyf2EQNJH9/fx0REWHtMIQQQghhIfHx8Vla6wBrx9GeGe8CdwIWAT6Ao5+fXx+5BhNCCCEuXua8BrOJWdgiIiKIi4uzdhhCCCGEsBClVLK1YxAAFAHXaK3PKaX8IyIiMuUaTAghhGhdm45kkZZznhtiQy2+LXNeg9lEAkm0Hq01hzPy6RboYe1QhBBCNNW4cRXf16yxZhSibVPAK0qpMYDB2sEIIYQQ7dHMj7cCtEoCyZykBlI788uek1z65jp+33/a2qEIIYQQovXdDAQAMVrrAdYORgghhBBtR7vsgXQqt4h96bkmH+vd2YtOXi6tHFHrWW5MHL3y6wHGdg/A0b5t5BDP5Bfz7A8JPD+1J+F+Hcze/rGsAsJ93bCzU2ZvWwghhLAhXkCG1rpUKTU+JibG2vEIIYQQoo1olwmkB76KZ2dKjsnHlILBEb5c2b8zk/t0wt/duZWjs5yycgPrDmUS4edGUmYBX29P5dZh4dYOq1EWxqexYv9p3JzseWvGQLO2vSPlLNe+t4l7Rnfhuam9zNq2EEIIYQuUUg5AMfAV8LNSKgGQ4kdCCCGEaLR2l0BKzS5kZ0oO94zuwpX9O9d4rLRcs/FIFot3p/PCT3t5cfE+RkT5cfWAYK4dGNzme6fsTM0h93wpr1zTl883H+c/Kw4xbUBnPFwcrR1avbTWLIxLRSn4eXc6j0/sRhd/8/VC+nJLRU2xjzccY2LPQIZG+pmtbSGEEMJG9AaOaq2zgOGVC2NjY2+3WkRCCCGEaFPaxvglM/p170kAbhseQb8Q7xpfMeE+PDohmhVPjGHZ46N5YGwUKdmFPLVwNwu2p1g58pZblZiBg51idDd/npvakzMFJby/5qi1w2rQrtQcjmYW8OTEbjja2/He6iNmazu3sJQle05y7cBgwnzdmL1wN/nFZWZrXwghhLA2pdT9wALgeWvHIoQQQoi2q90lkJYknKJvsBehvm51rqOUokcnT566rDtrnhpHvxAv5q4/hsGgWzFS81udmEFshA+eLo70C/HmmoHBzN1wjBM5560dWr2+i0/DxdGOWSMjuGlIGD/uPEFqdqFZ2v5+RxrFZQbuGt2F16f3Jz3nPC/9st8sbQshhBC2QGv9gda6l9Z6ubVjEUIIIUTb1a4SSKnZhexOzWFqv6BGP0cpxd2jI0nKKmBVYoYFo7Os9JzzJJ7KY3z3jlXLnrqsOxr4928HrRdYA4pKy1m8O53Le3fC08WR+8ZGYqcUH6xtec8prTXzt6UwINSb3p29iI3w5b6xUXy9PZWVB8wzS11+cRl3fbad5ftOmaU9IYQQQgghhBDCGtpVAqly+NrUvo1PIAFM6dOJYG9X/rc+yRJhtYrVByuSX5f0+COBFOztyl2juvDjzhMkpJmelc7alu8/TV5RGdNjQwEI8nLl+tgQFsalcSq3qEVtbz9+liMZ+cwcGla17PGJ0fTo5MEz3yeQXVDSovYBFmxNYWViBg/P38mWpDMtbk8IYTsyzhVxw4ebSTljnh6RjVGk7NnqEdJq2xNtk1IqVCm1Wim1Xym1Tyn1mHG5r1JqhVLqsPG7j7VjFUIIIdq1ceOsHUGTtKsE0pI9J+kXUv/wNVMc7O24Y2QEW49l22yipSGrEzMI8XGla0f3GssfHBeFXwcnXlqyH61tb4jewrhUgr1dGV6tsPUDY6Mo15oP17WsF9L8rcl4uDhwZb8/iqk7O9jzxg0DyD1fwvM/JbRonxSXlfPxhiQGhXkT5ufGPZ/HkXjqXItiFkLYjmX7TrHtWDYrzNRjsTEWBPbnxt43cfh0XqttU7RJZcBsrXUvYBjwkFKqF/AssFJrHQ2sNP4uhBBCCCuxvU/g9Ws3CaTU7EJ2p+UypYm9jyrdODgUD2eHNtkLqai0nI1HznBJj44oVXMmOQ8XRx6fGM3WY9n8fsC2huidzD3PhiNZXDeo5gx4ob5uXDMwmAXbUsjMK25W29kFJSxNOMW1A4NxdbKv8Vivzp48MakbSxNOsXh3erPjX7QzndPninl8Yjfm3TkENyd7Zn2yzeZrTgkhGmfdoUygotB/a4nzCAZgrXHbQpiitT6ptd5h/DkPOAAEA1cD84yrzQOmWSdCIYQQQgCU07Zmem83CaSlCc0bvlbJw8WRGUNCWZJwss0lALYey+Z8aXmN+kfVzRgSRmRAB+YsS7SpXkg/7DiB1nBdTO3hGg+Oi6KkzMDHG2on9LTWxCdnE598ts62v49Po6TcwMyh4SYfv29MFDHhPvzpuz1Mfms9t87dyuNf7+Qfv+znvTVHiE/Orjd2g0Hzwbqj9O7syehof4K9XZl35xAKS8q5be5WzppheFx7kXu+lDUHM2zq3BSipMzApqMVw1J3pdb9XmNuO90rekxuOJLVatsUtqGuYWkXrDNOKZWrlNpl/PqrUioCGAhsBQK11ieNq58CAlvtDxBCCCFELWWqbaVk2la0LbA0oXnD16q7fWQXAD7beMxcYbWK1YkZuDjaMTzKz+TjjvZ23DEigsMZ+SS3Yi2P+mit+S4+jSFdfAn361Dr8cgAd67o15kvNydXJWOKSsv5Ni6VqW9v4Lr3N3PDh5v5cWeaybYXbEshJtyH7p08TG7f3k7xzk0DuT4mhGBvF/KKyohPOcuCbSnMWXaQGR9tYU9a3b0Olu8/TVJmAfePjarq9dWjkyf/uy2W1Ozz3DVvO+dLypuza9qV5DMFXPPeRm7/dDs/7znZ8BOEaCVxydkUlpQzOMKH1OzzZOU3rzdkU5zKLSLd2RP3smK2JJ2huEzeQ9qZuoalXWi91nqA1noA8AbwPfC41rrGGGpdkZWXzLwQQghhReXtKYGklDqulEow3uWKMy6zuQKNLR2+VinY25WpfYP4elsqeUWlZorOsrTWrErMYESUPy6O9nWuN6KrP0DVHXVLMxg0G49ksTPF9J37HSlnOZZVwPUmeh9Vemh8VwpKynnz90PMWZbIiFdX8afv9lBmMPDStD4MifDliW9288WW5BrP25x0hqSsAmYOCauj5QqdvV15+Zq+fDxrMD89NJL1f7qE/X+/nO3PTSTA3ZlHFuw0eR5orXl/7VHC/dyY3KdTjceGRfrxnxkD2JmawyMLdlJukGv3usQdz+aa9zaRXVBC147u/OOX/ZxrI687YVl7T+RyNDPfqjGsO5SFg53iwXFdAdiVYvlhbJU9nWad3kFRqaHeXpbi4lPPsDSTlFKOVCSPvtJa/2BcfFopFWR8PAiwrbHrQgghRDvTHnsgjTfe6Yo1/m5zBRpbOnytuntGR5JXXMY321Nb3FZrSMoqICW7kPE9TA9fqxTp34FAT2c2HrXssIi8olI+23iMCW+s5eaPt3LNe5t44ae9FJaU1VhvYVwabk729R6z7p08uLx3Jz7fnMwHa48SG+7D/HuG8tvjY7hlWDif3jGYiT078sJPe3lvzZGq583fmoKXqyNT+zXvfAjwcOY/MwaSml3ICz/trTW0aktSNrtTc7hndCQO9rVfYlP6BvHclJ78fuA0aw7Ktbspi3adYObHW/FydeTHB0fy5g0DOJNfzOu/HbR2aDZtyZ6TTHlrPfnFZQ2v3EZlF5Rw00dbuP79TaSdbbjH5PmScn7Ykcbqgxmk55w321DIdYcyGRTuw7BIP+ztVKvUQdqRkoOToYy7TsbjYKdYf1iGsbVXFwxLu9BwpdRu4DhwWmv9RrXHFgOzjD/PAhZZLkohhBBCNKSt9UBysECbVwPjjD/PA9YAz1hgO41mjuFrlfqGeDG0iy+fbjzO7SMiTCYIbMnqxIoExfjuAfWup5RiZJQ/aw9lYjDoGkWrzSEpM5/PNyezMC6VgpJyBoZ589aMASSk5TJ34zHWH87k9Rv6ExPuy/mScn7Zc5LJfYLo4Fz/KfrClb3oF+rFlf061zq+Lo72vH9LDLO/3c2cZQfJKyrjrlFd+G3fKW4ZFl5vj6yGDOniy2MTuvHm74cYFR1Qo6fU+2uP4u/uXG/vqVkjInh/zVG+i09jQs/WKUFxPKuAo5n5rba95tBa899VR3h9xSGGdPHlw1ti8OngBMCtw8L5Yksy18eE0jfEy8qR2p6i0nJeWrKfk7lF/LAjjduGR1g7JIt46/dDFJaW44o9D361g2/vG17na7ms3MDD83ewMvGPRK2HswPdOnnQLdCdsd0CuLxP0xPJmXnF7D95jqcv646rkz09OnmwsxXqIO1MOUvvggx8y84zMMybDYezeOZyi29W2BillDt1DEsDdgDhwABgPXCjUqqf8bG/AK8C3yqlngBcgaOZmVKQXQghhLCWttYDqaUJJA0sV0pp4EOt9UfYWIHGyuFrf57cw2xt3jM6krs/j2Pp3lNc1b9zw0+wolWJGXQLdCfEp+Hk2fAoP37YeYJDGXn06ORpthgWxqXy9Hd7cLRXXNmvM7NGRNA/1BuAqwcEM7FXILO/3c30DzZz/9goIvw6kF9cxvTYuhMwlYK9XauGkJjiaG/HmzcOwN3FgffXHGX5vlOUlmtuHlr/8LXGePiSrmw6msVfF+1lUJg3kQHu7EvPZd2hTJ6+rHu9CSpHezumDQzm883HyS4owdeYJLEEg0Hz+ebjvLoskaJSA98/MJyYcF+Lba+5yg2aP323h+93pHHNwGBeva4vzg5/7MPZl3Vn6d5TPPdTAj8+OBJ7Myc5rUlrzdPf7WHF/tP4uTvh18EJvw7O+Lk74e/uzI2DQ+ns7VpvG19uSeZkbhEdPZz5bONxbhkabvZEsLUdzcznq60p3DQklDHRAdz7RTx/+3k//7y2b611tdY89+NeViZm8NcretE3xIuDp/I4dDqPg6fy+HXvKRZsS+X7B0YQE960kdbrD1d84B7brSIxPzDMm0U70y2SfK9UWm5gT1out+RXzAw5OjqAN38/ZPH3D2Fb6hiWVqVaQmlDxerqODBRa129u9qE6s+JjY2VsdRCCCGElZSrtnW93tJ01yit9SBgMhXFHMdUf7C+Ao1KqXuVUnFKqThL3v2qHL7W0vpH1V3SoyORAR34eH2STc8MlVdUyvbj2Q0OX6tUWQdp4xHz1UEyGDTvrj5C32AvNj57CW/cOKAqeVRpWKQfyx4fzfSYUN5bc5RnfthDqK8rQyLMk+Swt1O8PK0P942J5GhmAUMifOna0XTx7Ka2+58ZA3BysOORBTspLivng7VJuDs7cMsw07O7VXd9TAil5ZrFu060OJa6pOec59ZPtvLiz/sZFulHoKczLy05YJPn7acbj/H9jjQenRDNGzf0r5E8AvB0ceT5qT3Zk5bLV1uT62ilbfp6eyrfxacxtIsvPYM8sbdTHM3M59e9p3h71WHu/Gx7vQWTzxWV8u7qI4yO9ue5qT1Jyipg7eGLr1fBv35NxMXRnscnduPS3p14YFwUC7al8G1c7SHFb644xDdxqTx6SVfuHNWFwRG+3DIsnL9f3Ydv7hvOxmcuIcDDmZeX7G/y62HtoUz8OjjRK6gi0T4g1Ie84jKL1mU6cPIcxWUGBuZVJpD80Ro2ymxs7YaqmJFhLnDggmFp1dfpZFwPpdQQKq7zWqe4oRBCCCGarK31QGpRtFrrE8bvGcCPwBAaWaBRa/2R1jpWax0bEFD/8KqWWJJwkv5mGr5Wyc5Occ/oSPak5dp0DYqNR7IoLddc0r1xCaRgb1ci/NzYbMY6SOuPZHH8TCF3j+5CRw+XOtfzcHHkX9f3Y+6sWIK9Xbl7VKRZ7+QrpXh2cg/enTmIf15Xu7dCcwV5ufLa9f3Zl36OJ7/dzZI96dw8LAwvV8cGn9szyJM+wZ4sjK89U1xLVc5id9mb69iVksM/r+3Lp7cPZval3dmZksOSBMvPaJaZV8ysT7Yx46PNFJXWP1tUyplC/r38IBN6dOSJidFVM9dd6Kr+nRnV1Z/Xlh0kI6/IEmG3upQzhfzjl/2M7OrHB7fE8O7MQXx973BWPDmWHS9M4n+3xpJ4Ko+3fj9cZxsfr0vibGEpf7qsB5P7BFX1QmorMvKK+HJLcr3nyZakMyzff5oHxkXh7+4MwOxJ3RjZ1Y8XftrL3hO5Vet+sSWZt1cd4cbYUJ6Y1M1kex2cHZg9qRs7UnL4de+pRsdqMGjWH85idLR/1XvUAGNSfKcFC2lXtj3I2AOpX4g3ni4OVb2hRLswErgVuMQ4eckupdQUpdT9Sqn7jetcD+w11kB6G5ihbfGOgRBCCCEAKDdLWerW0+xolVIdlFIelT8DlwJ7saECjanZhewxw+xrplw3KIRgb1feWHHIJntzQMXwNQ8XBwY1YXjG8Ch/tiZlU1ZuMEsMX2w+jr+7E5MbWWdkQs9ANjxzCbNGRJhl+9UppZjaL4ioAHeztjupVyC3j4hgyZ6TONjZcdfILo1+7vWDQtiXfo796ReWsWi+swUl3PdFPE8t3E3PIE9+fWwMNw0JQynFdYNC6NHJg38tS7ToFODbj2dzxTvr2Zx0hi1J2fzt5311rqu15tkf9uBgZ8dL1/SpM3kEFcfw71f3prjMwMtLDlgi9FZVbtDMXrgLezvFa9f3N5k0ndgrkBtjQ/lg7VHik7NrPZ6ZV8zHG44xtV8QfUO8cHKw45Zh4aw9lMmRDOvOVNYY245lM/XtDTz/017umredAhMFwA0GzStLDxDk5WSh0YEAACAASURBVMKd1V5fDvZ2vD1jIL4dnHjgq3hyCktYtvckf120lwk9OvJyA+fT9NhQugd68OqviZSUNe49b1/6ObILShjT7Y8bH5H+HfB0cWBnMwtpN+Z/yI6UswR6OhNUkgdU9IAc2dWfDYezbPZ/kDAvrfUGrbXSWvczTl4yQGu9VGv9gdb6A+M6/9Va99Za99daD9Nab7J23EII0dYZDJqIZ5cwd8Mxa4ciLkLtqQdSILDBeJdrG7BEa72MigKNk5RSh4GJxt+twhLD1yo5OdjxyCVd2ZWaw5qDtncHuNygWXMwkzHdAnBsQqHvkV39yCsuI6Ha3fzmSs0uZGViBjMGh+Hk0LZeGE317OQejOzqx31jI+noWXdPqwtdPSAYR3vFd2bqhbQrNYcr3tnAmoOZPDelJwvuHUaY3x+97+ztFM9P7UVq9nk+39T0YWAlZQbmbjjG1qQzGAy1P7Rqrfl4fRIzPtqCi6M9Pz040jjMKNXkMCOAb+NS2XT0DH+e0oMgr/rr/ABEBrhz/7goFu1KZ4MN9wBsjI/XJ7H9+Fn+dlXvemscPX9FTzp7u/Lkt7trJVjeXX2E4jIDs6v1tJk5NAwnezvmbTputlhzCkv4Lj6NchPHvTm01ny07ig3/W8L7s4OPH1ZdzYfPcMtc7eSW1haY92f96SzJy23qmh1dX7uzrx38yBO5RZx+6fbefTrXQwI9ea/Mwc1OMmBvZ3iL1N7kpJdyOebjzcq7nXGHj+jo/9IINnZKfqHejc4E1vc8WxeXLyPRxbsZOb/tnDZm+uIfWkFXZ/7lbdX1t3DDCp6IA0K86F6OmxUtD/puUUczSxoVOxCCCGEaLrzxh7Sc5YlWjkScTFqa7OwNTtarXWS8Q5Xf+PdrpeNy89orSdoraO11hO11rVvmbeSIV18mT2pm1mHr1V3XUwIob6W6YXU0vbmLEskI6+YK/s1rcj38Eg/ADYdbXnJhPnbUlBUfJi92Lk42vPV3cOYfWn3Jj3Pp4MTE3sG8tOuE43uAWGK1povNh9n+gcVN5u/e2A494yJNFloelS0P+O6B/DOqsOcLShp0nZ+2nWCf/yynxs/2sKIV1fx95/3szPlLFpr8opKeWj+Dl5acoAJPTry8yOj6NXZs85hRgCnzxXx0pIDDO3iy02DG3+ePDguinA/N/5v8V6zJTQaQ2ttMnF2odzCUn7bd4r31hwhNdv0VPOJp87x+vJDXN67E9cMDK63PQ8XR/49vT8p2YX889c/el6lZhfy1dZkbogNIbJazzp/d2eu7N+Z73ekkXu+1FSTTfbSkgM8tXA387eltLitc0WlPPDlDl5ZmsiknoEsfngkD43vyns3x7DvxDlu/GgzmXnFQMXscnOWHaR3Z0+mDTC9nwaG+fDXK3uzKzWHEB9XPpk1uFaiqS5juwUwOtqfd1YdIaew4dfD2kOZ9O7sSYCHc80YQr05eOqcyR5UUHH38qmFu1mwLYWEtByKywyE+7kxqVcnenTy4PPNx+t8D8jKLyYlu5CBYTXrx40xJrE2yDA2IYQQwmJKjSMzmnJTXojGam9FtG3awDAfHpkQbbH2He3tePSSaBJO5PL7AZOlnppl7oZjjHh1Fadym1fjZWFcKh+uS+LWYeFc3qdTk57r5+5Mj04ebGqgDlJDH6KLSsv5Znsqk3oFNjh7VHt3fUwI2QUlrD7YvHOosKSMJ77ZxQuL9jGyqz9LHh1FvxDvep/z58k9yS8u451VR5q0rflbU+ja0Z23bxpI3xAvvtySzDXvbWL0nNVMfXsDv+07zV+m9ODDW2PwdKmoA2VqmBFUJGOe/2kvJWUGXr2uX5NqXrk42vPM5T04mlnQKvWcoCLpcd37m+j9f79x9X838NTC3fxvXRJrD2WSml3I6oMZvLL0AFe8s54B/1jOfV/EM2fZQcb/ew1/+TGBk7nnq9oqKTPw5De78XR1aHCYVaVhkX7cNbILX25JYe2hioTBm78fwk4pHjXxPnfHyAgKS8pZWEfPr6Y4llXADzvScHKwY86yxKrkTnMcOHmOq97ZwIoDp3l+ak/ev2UQHsZz5fI+nZh7eyzJZwq58cPNnMg5z6cbj3Mi5zzPTelZ7zlyy9Aw3r95EF/fMwyfJs5K9tzUnuQVlfLfBl4PeUWl7Eg+W2P4WqWBYT4YNHX23tycdIbjZwp59bq+rHl6PN8/MIKPbovln9f2Zfal3cjKL2FV4mmTz62sfzQwrOZw5FBfN8L93Gy6Fp8QQgjR1lXe4LmYZgAWtqPd9EASFa4ZGEyEnxtvrDjUqJ4JDflpZ0UPj5O5RXy/o+nDmrYfz+YvPyYwqqs/f72yV7NiGBHlT9zxs3UWtM3KL2bUv1bx+vKDdbaxNOEk2QUl3DY8olkxtCdjuwXg7+7crGFsRzLyufq/G1m0O53Zk7rxyazBeLs1/OG5eycPbhwcyhdbjnM8q3HDX/ann2NXag4zh4RxVf/O/O+2WLY/P5HXru9HVIA7bk72zL97KPeOiaqVEKk+zOiJb3ZhMGiWJpxixf7TzL60G138OzT5b7+8dye6dnTn3VVHzPLaq09xWTn3fh7HnrRcpg0MxsPFkbWHMnl56QFmfbKN0XNWc8en2/ls43HcnBx4bEI03943nPV/Gs9NQ8JYGJfK2NfW8OLifWTkFfH2ysPsP3mOV67pi5+7c8MBGD11WXeiO7rzp+92s+1YNj/uPMHtIyJMDv3rE+zFkAhfPtt0vMW9tN5eeRhnB3u+vGsoxaUGXlna9PpTRaXlvPX7Yaa9u5HCknIW3DOMu0dH1jpXRkcH8MVdQ8jMK2b6+5t4b/URJvToWDVLZF2UUkzuG9SkIaSVenTyZHpMKPM2Hyf5TN2vh01Hz1Bm0FU9f6qrnF2yrmFs87em4O3maLIe3JjoADp5uvD1dtPJvp0pZ3GwU/QN9qr12Ohof7YknWlRD0YhhBBC1K3Y+D/WQRJIwgLaUw0kQUXviscmRnPg5DmW72/8TD6mrDuUyVMLdzM80o9BYd58H5/WpKFsqdmF3PdFPKE+brw7c1Czu1mOiPKjuMzAjpSzJh//z++HSM8t4p1VR+rs3fD55mQiAzowIsqvWTG0Jw72dlw7KJjViRlk5Te+Z8eh03lc895GzhSU8PmdQ3hkQnSTevE8MakbjvZ2/KuR47nnb0vG2cGO6waFVC3zcnVkemwo8+4cwrLHxzA0su7jXTnMaPXBTF5ZeoD/W7yXfiFeNYoiN4WdneLh8V05eDqP5ftN99wwB4NB8+Q3u9mSlM2/p/fnn9f25cu7h7L9uYnseGESX987jJev6cOXdw1l9/9dyrf3Defxid0Y0sWXUF83/jGtD6ufGsc1A4L5YksyY+as5r01R5geE8KlvZvWQ9DF0Z43bhjAmfwSbvl4K+7ODjwwLqrO9e8YGUHa2fOsPND8/XMkI49Fu05w24hwhnTx5f6xkfy48wSbmjB9/KrE01z65jre/P0Qk3oF8sujoxjSxbfO9WMjfFlw7zCKygwUlpbz5yk9mh1/Y82+tBsOdnbMWVZ3YnzdoUw6ONkTY2JiAt8OToT7ubHTxPtmZl4xv+07xXWDQnBxrD20zsHejumxIaw7lEl6zvlaj+9IOUuvzp4mnzuqawAFJeUmt1uXM/nFvLv6SLN7uQohhBDtSeXEM9IDSVhCu5mFTfzhqv7BRAZ04M0Vh5vdEyIhLZcHvownOtCDD2+LYcaQMJKyCupM4lwor6iUu+fFUVZu4ONZsXi5NTyNfF2GRvpib6fYbKIO0pGMPBZsS2Xm0DBGdvXjLz8msP14zTJXCWm57ErN4dZh4Y0amiMqhrGVGTQ/7TzRqPWzC0q4a952XBztWfTQyBoFfRuro4cL94+N4te9p4g7Xn+psoLiMn7amc7UfkEtOrduGRrGtYOC+XjDMXIKS/nXdf0aLHRcnyv6BRHh58Y7qw43Otmqteb0uSLWHcrk4/VJzFmWyLE6emFprfn7L/tZknCS56b0ZNoFtYp8OzgxLNKPm4eGMyrav866OyE+bvzr+n6sfHIsk/sEMSDUu9k9BPuGePHohGhKyg3cPzaq3h5nk3oFEuztyqcbj5t8vLQRsy2+tfIIro723DemIlH14PiuhPm68fyivQ3O5JdyppC7523nzs/icHKw46u7h/LfmYPo6NFwL6E+wV4sfngk8+8eSteOHg2u31IdPV24b2wkSxJOEp9c+31Xa826w5kMj/Krc1KAgXUU0l4Yn0qZQddbD256TCgGTa2eiGXlBvak5TIozPRsmsOj/LC3U2xoREKv3FBRK238v9fw2m8HeWHR3gafI4QQQrR3RaXSA0lYTlkb+7wsCSQzsLdTPD6xGwdP57F0b9PrsSSfKeCOz7bh7ebEvDsG4+niyJS+Qbg62jdqWFO5QfPY17s4kpnPezfH1Cim2xweLo70DfZio4kPJK/+moiboz2zJ3XjvZkxhPi4cd8X8TUKBX+x5ThuTvZcFxNS6/nCtG6BHvQP8eK7RvQ6KykzcP+X8Zw+V8xHt8a0qEj83aO7EOjpzN9+3k9ZPcmExbvTyS8u4+YWFkRXSvHytL6M7x7AX6b0pGeQZ4vac7C348FxXdmXfq7e2RCLy8p59ddEbvhgMwP+voKhr6zktk+28dKSA3yw9igT31jLn77bXavg9Qdrk/hs03HuHtWFe8ZEtihWgAj/Drx54wB+eHBkVd2f5nhwXBSf3TGYexuIycHejluHh7M56QwHTp7jfEk5Gw5nMWdZItPe3UiPF5Zx7+dxdQ5/Ongqj1/2pHP7yAh8jXWFXBzt+fvVvUnKLOB/65JMPq+otJz//H6IiW+urZhhb3IPlj46mpENDEO7UIiPW7292szt3jGRdPRw5r4v4pm36XiNBNnxM4WkZp9nrIn6R5UGhHpz+lxxjXpXBoNmwbYUhkX6ElXPe3OYnxsju/rxbVxqjRsRh07nU1hSXquAdiUvV0f6h3ixroE6SPHJZ7nqvxt4YdE++gR7ceuwcFbsP82WpJZPmCCEEEJczCqHsDWlp78QjSU1kNqpqX2D6Bbozn9+P9ykeiOZecXc9sk2yg2az+8aUlW/w93ZgSl9g/h590nOl9R/l3/Ob4msSszgxat6Myq6aR/Q6jKyqx+703LJrzaj0KajWfx+IIMHx3fFz90ZLzdHPp4VS1m5gbvnxZFfXEZOYQmLdqUzbWBwVRFl0TjXx4aSeCqPfenn6lynovB0AtuOZfPa9f1qFdVtKjcnB164ohcJJ3L5ZOOxOtebvzWF7oEedfaCaApXJ3s+vWMId45q3tC1C10zKJhgb1ferqMXksGgefLb3Xyw9ijlWjO1XxB/u6o38+8ZStzzE9n6l4nMGh7BT7vSueT1NTxnLHj9XXwa/1qWyFX9O/OXKT3NEqu5ONjbMa57x0YNU50xOBQXRztu/3Qb/f+2nFvmbuXDdUnYqYoabsv3n+bh+TtM9kZ6a+UhOjg5cM/omomqcd07MrVvEO+sOkLKmZpJt5UHTjPpzbX85/fDTOoVyMrZY7lvbFSdvXZsiZuTA5/cPphI/w783+J9jH9tDV9vS6G03MA6Y+FyUwW0Kw0wvj4qi14DrD+SRWr2eWYODW9w+zcODiPt7Pkas2BW9kIdGFr3a290dAAJaTkmZ5HLyi/m6YW7ue79TZzJL+G/Mwfy1d1DeW5qTzp7ufDykgMWryEmhBBCtGWVN5SkB5KwBKmB1E5V9kI6kpHPL3vSG/WcotJy7vxsO6fPFTH39sG17k5fHxNCfnEZv+2ru7bS3hO5fLQuiZuGhHLrsIY/oDTWiCh/yg2a7ccqhjYZDJqXlxwg2NuVO0ZGVK0XFeDOezfHcCQzn8cW7OSb7akUlxnMGkt7cVW/zjjZ29Xb62zuhmN8G5fGI5d05eo6pjRvqql9g5jUK5DXlx8yWVA7IS2XhBO5zBwaZpNDEh3t7bh/XBQ7U3JqfPCGakPQ9pzkL1N68P0DI3jlmr7MGhHBiCh//N2dCfBw5q9X9mLt0+O4cXAo3xoLXj/z/R5GdfXn39P7t+k7Tt5uTjw8viudPF24fWQEn94xmN3/dyk/PDiSf0/vz4tX9mL5/tM8/vWuGr3Q9qefY2nCKe4cGWFymNwLV/TCwU7x18V70VpXDVe7a14czg72fHX3UN6dOchkgW9b1ifYi2/uG8YXxoT+sz8kMOH1tXy5JZlwPzfC/eou+N4ryBMnB7saw9jmb03Gt4MTl/UObHDbl/YKxMvVka+3p1Qt25mSg7+7E6G+de/H0dH+GDRV539BcRmLdp3g7nlxjPjnKn7ceYL7xkaycvZYrujXGaUULo72PH15dxJO5LJ4d+P+ZwnRFKnZhbV6dTZFYUlZiycAEEIIcyiWWdjareKy8jonljKXEjt7kjLz6yypYWskgWRGl/fuRI9OHryx4lCDtUEAPtt0nIQTubw1Y6DJnh1Du/gS6utaZ0JBa82Li/fh6+bEs5PN20MiJtwHJwe7qmFsP+06wb70czx9WfdahVxHRfvz4pW9WJmYwZzfDjI4wqfFQ5PaIy83Ry7tHcjnm49zy8db+WZ7So0eBasST/PK0gNM7tOJJyZ2M9t2lVK8NK0PTg52PPP9nlq9EeZvS8bF0a5W/R9bMj0mhEBPZ95eebjG8g/XVQxBu2tUl1q9aC4U5OXKS9P6smr2OKYN6MzoaH/ev2VQm+g505CHL4lm0cOj+MuUnozv3hF3Z4eqx24f2YXnpvRkScJJnlq4u+oD239+P4SHiwN3jTK93zp5uTD70u6sOZjJo1/vavFwNVuilGJ0dAA/PjiCubNicXd24HBGPuPq6X0E4ORgR+/Onuwy9kA6fa6I3w9kMD0mBGcH0/WxqnNxtK/oFbbvNGcLKl77O1POMiDUp97kbf9QbzycHfhySzIPzd9BzEsreOzrXSScyOHW4eEse3wMf57ckw7VjjvA1f2D6RPsyWu/HbT4xZFofx7/Zhd//iGh2c/v9dffeHrhbjNGJIQQzVNSNQtb278mFE0z6l+r6fnXZRbdxpNRU7jk9bXM+GizRbdjLvIqMCM7O8Wfp/Qk+UxhnUVrK53JL+bdVRXTU19Wx0xMdnaK6waFsPFoFidMzMyzeHc6cclnefqy7ni5mne4mIujPTFhPmw6eobzJeW89ttB+oV4cVX/zibXv3V4BLcND6fcoLlteIRZY2lP/nF1Hx4c15XUs4U8830Cg1/+nTs/285nG4/x6IJd9Azy5PUbzN8jJtDTheen9mTrsewaU4nnFZWyaFc6V/XvbPZzzJxcjEWetx7LZpux19z38Wm8+msiV/bvzHNTeja691Sorxtzru/PZ3cMaVGdorbknjGRPH1Zd37alc6z3+9hT1oOy/ef5u5RkfUWTb9teDi9O3vy8+50Lm1jw9UaQynFhJ6B/PLIKL6+dxhPXtq9wecMCPVmz4kcSssNfLs9lXKD5qYhja8dduPgUErKDfy48wRnC0pIyipgULjp+keVHO3tGNnVn01Hz7Dl6Bmmx4Ty7X3D2fzsBF64ohddO5quvWRnp3huSi9O5JyvdwirEM3hZG/XqJtpplQmsn9o5MQSQghhSdIDqf3KzCumCZOiN0ueQ0UJm7aSoHRoeBXRFGO7BTCxZyDvrDzMtQODq2oaXejtlYcbNT31dYNC+M/vh/khPo1HJkRXLS8sKeOfSxPpE+zJ9NhQs/4NlUZ29ePfyw/x7+UHOZlbxJs3Dqg3cfHXK3oxbWAwA0Pr/7Aj6ubTwYmnLuvO7Eu7sffEOX7ek84vu9NZlZhBgIczH8+Kxc3JMi/bG2JDWbQrnX8uPcD4HgEEebmyaFc6hSXljarfYm03DQnjvTVHeGfVYe4a1YVnvt9TcQ5P79emh6C1lofGd6W4zMDbKw/z275TeLk6cseoiHqf42Bvx6d3DOZ0bjF9Q7xaJ1ArsLNTDGtkMe+BYT58uvE4iSfz+Hp7KiO7+hHhX/ewtwv1DPKkf4gX32xPpYvxefXVP6r092m9uWNkBDHhPk2a2XB4lB8Tewby3uqj3Bgbip+7c6OfK0R9nB3tKCgoa3hFE+oq7C+EENZQbOyl62Av15PCcmywUohJbSPN1ca8cEVPSss1ry5LNPn40cx8vtqawozBoQ1OTx3q68bwSD++21Fzdq73Vh/l1LkiXryyt8Wy4cOjKoagzN1wjEm9Ahv8AOVgb8egsPqHWojGUUrRN8SLv0zpyYZnLuHHB0fwwwMjLFpPRinFq9f2o9Rg4PkfK+razN+aQi/jB1pb5+pkz92jI1l/OIv7voinW6AHH9wS06ihQ6LCExOjuX9sFOeKyrh3TGSjCuF39HC5qJNHTVWZQH9r5SFO5Jxn5pCmJ19vHBzGwdN5fLrpOHYK+oc2vH87ergwNNKvScmjSs9O7sH50nLeumAIqBAt4exgR3Fp8xJBze25JIQQliA9kIT4gySQLCDcrwN3j+7CDztOVM2gU92rvybi4mjPE5MaV8dmemwIyWcK2X68oq2UM4V8tD6JaQM6Exvha9bYq+sX4kUHJ3sc7BR/nlx/TylhOXZ2ioFhPoT6ull8W2F+bjx1aXdWJmbw0pID7D95zmaLZ5tyy7BwfNwc6ejpzGd3Dm43Q9DMRSnFM5d3Z9FDI7l/bJS1w2mTQnxc8evgxO8HMvB3d2JSr4aLZ1/oyv5BuDras+5QJj06eVqs12Glrh3dmTkkjK+2pnAkI9+i2xLth7ODfbMTQcXSA0kIYUOKq2ogtY3rYSEsSRJIFvLQ+K4Eejrz4uJ9NYoSb0k6w4r9p3lgXBT+jRwqcHmfTrg7O7AwrqI2zUtL9uNgp8xeOPtCjvZ23D82ij9d3p3IANM1NMTF546RXegf6s3cDcdwc7Ln6gGm617ZIndnBxY/PIqfHx5FRw/Tw0dF/ZRS9A/1lrtszaSUYmBYRS+k6bGhzaoH5eHiyBX9ggCq2rK0xydG4+poz6u/mu45K0RTOTvYNTsR1NyeS0IIYQmVyXC7NnJDVQhLkgSShXRwduDZyT3Yk5ZbNYuawaB5ZekBgrxcuHNkl0a35ebkwNS+QSxJOMlv+06xfP9pHr6kK528LP8B+ZEJ0dw7RnoitCf2doo51/XD0V4xbWBwm+vFE+rrZnLaeSFay+AIX+ztFDcNbnzx7AvNMBbeHtLFcr1Mq/Nzd+bB8VH8fuC0yZ6zQjSVs6Nds2sZlZTLEDYhhO2oTGrLzTVhSZYu1m0uUkTbgqYNCOaLzcnM+S2Ry/t2YtWBDPak5fLGDf1xdWpaXZbrY0P4Ji6VRxfsJNzPjbtGNT4BJURTde/kwbLHx9CpjiLwQoi6zRoRwYSegYT5NX/YaUy4D78+NprugfXXyTOnO0d2IczXjQEhMhGCrVJKXQ68BdgDH2utX73gcWfgcyAGOAPcqLU+3tpxQuUQtuYlkIqkB5IQwoaUlFe8Jxnayid8YXZa6zZT0sPSpAeSBSml+NtVfThTUMJryw7y2m8H6d3Zk2kDgpvcVmy4DxF+bhSXGXhhai8pDCwsLirAnQ7OkmMWoqlcHO3p2rHlw357Bnm26gyCLo72XNGvs8xaaKOUUvbAu8BkoBdwk1Kq1wWr3QWc1Vp3Bd4E/tW6Uf6hYgib1EASQrR9lT2Qyg2SQGqvSsstf+zbSn7KYp8OG7pL1l70DfHihphQvtiSDMBrzZxSXCnFny7vwe60HCb07GjuMIUQQghh24YAR7TWSQBKqa+Bq4H91da5GnjR+PN3wH+VUkrr1r9t7uxgT2m5ZmnCSZp61XPo9B/F3H9NOGnewIQQookOZ+QBkJVfIu9J7dSShHRcpAMHYKEEUrW7ZJOANGC7Umqx1np//c+8OD19eXeW7TvFkC6+jIjyb3Y7U/oGMaVvkBkjE0IIIUQbEQykVvs9DRha1zpa6zKlVC7gB2RVX0kpdS9wL0BYWPNrddUnwKNiopAHv9rRonYeaOHzhRDCXI5lFch7Ujv1xDe7Lb6N0dEBFt+GOViqB1Jj7pK1G/7uzqyaPRZP17ZVjFgIIYQQFx+t9UfARwCxsbEW6Z1005BQhnTxoayZQz6c7O2q6o4IIYS1+XZwIrugxNphiFZmrxRK0ez/ZfWxUwqvW2Zw1sEVly/mEeLjavZtWIKlEkgN3iVrjbtftsTP3dnaIQghhGjr1qyxdgTCek4AodV+DzEuM7VOmlLKAfCioph2q1NK0bVj6xWBF0IIS+voIZPLCDNbsYRAa8fQRFYroq21/khrHau1jg0IaBvdtYQQQgghrGQ7EK2U6qKUcgJmAIsvWGcxMMv48/XAKmvUPxJCCCHExclSPZAac5esSnx8fJFSap+Jh7yA3EYub8q65loubVuu7TAgpZW3KW3b7jbbattNOY/NtVzaltdDS5Zb8pztbWI90UjGmkYPA79RMUHJJ1rrfUqpvwNxWuvFwFzgC6XUESCbiiRTveLj4/OVUgdbEFpd54CltPb2/LmghpQFXez7Uo6dbK+x5Ni13e3JsbPNbXU3W0taa7N/UZGYSgK6AE7AbqB3Petn1rH8o8Yub8q65loubVu07UafE23k77lo2r7Y/h4Lt93i9zYb+3ukbRvYZls9Z+tqW76s+0VF8qklzzd5Dlgw3tbeXov2j43/bRf79uTYtd3tybFru9uTY2eD2zLncbFIDyRdx12yep6SU8fyn5uwvCnrmmu5tG25tptyTrSFv+diatsa22yrbZvjva2py6Xt1m3bGttsq+dsXW2Ltq2uc+Bi2V5rutj3pRw72Z4tutj3pRy7trk9mz1uypiRsm4QSsVprWOtHYewHXJOiIuBnMeirbHkOSuvB9skx6V+sn/aLjl2bZccu7ZLjp1tMudxsVoR7Qt8ZO0AhM2Rc0JcDOQ8Fm2NJc9ZeT3YJjku9ZP903bJsWu75Ni1XXLsbJPZjotN9EAS3IuFmwAAIABJREFUQgghhBBCCCGEELbLVnog2Qyl1CdKqQyl1N4Llj+ilEpUSu1TSs2xYnyhSqnVSqn9xlgeMy7/h1Jqj1Jql1JquVKqsxVjdFFKbVNK7TbG+Dfj8i5Kqa1KqSNKqW+M0xBbK8bLlVIHjbE8a1ymlFIvK6UOKaUOKKUetWJ8tc5DGzvGdZ2HvkqpFUqpw8bvPjYW3zfG/bdLKXVcKbXLGvEZYzF1Ds41vm72KKW+U0q5WzE+U+egTRzfeuKzmeNrjMfkeVjt8dlKKa2U8rdWjEIIIYQQQjSW9EC6gFJqDJAPfK617mNcNh54DpiqtS5WSnXUWmdYKb4gIEhrvUMp5QHEA9OANK31OeM6jwK9tNb3WylGBXTQWucrpRyBDcBjwJPAD1rrr5VSHwC7tdbvWyE+e+AQMAlIA7YDNwFDgfHA7Vprg5WPs6nz0NOGjnFd5+HtQLbW+lVjUsRHa/2MrcSntd5fbZ3XgVyt9d+tEF9d52D11/EbQIbW+tXWjs+4fVPn4Bxs4PjWFd8Fj1vt+FaLoc7zUCkVCnwM9ABitNatNeWtEEIIIYQQzWKVHkh13Hm/RCm1Qym1Vyk1TyllkRniGqK1XgdkX7D4AeBVrXWxcR2rJBWM2z6ptd5h/DkPOAAEV37oNOoAWC0zqCvkG391NH5p4BLgO+PyeVQkHKxhCHBEa52ktS4BvgaupuI4/11rbQCrH+da56GNHWOT5yEV+3GecTWrHeN64gOqkpw3AAusER91nIPVkkcKcMW6x9jUe6FNHF+oMz7AJo4v0OB5+CbwJ6x4jIVoj5rag1Yp1UMptVkpVayUeuqCto4rpRKMvR7jrPH3tCdmPnbexp6+iaqi1/lwa/xN7YW5jp1Sqnu1nsa7lFLnlFKPW+vvag/M/Lp7wtjGXqXUAqWUizX+JtEyrZ5AMt55fxeYDPQCblJK9aLiw8gM453kZGBWa8dWj27AaFUx/GqtUmqwtQMCUEpFAAOBrcbfX1ZKpQI3A3+1XmQVx1lVDB/JAFYAR4EcrXWZcZU0qn2gb2XBQGq13ytjiQJuVErFKaV+VUpFWyW6etjSMa50wXkYqLU+aXzoFBBopbCqXPg6MRoNnNZaH7ZGTNR9DqKU+pSKfdcDeKf1Q6uXzR3fOlj7+NZS/TxUSl0NnNBa77ZqUEK0T2XAbK11L2AY8JDxOvRZYKXWOhpYafwdKhLVjwL/rqO98VrrATLrUKsw57F7C1imte4B9KciwS8sxyzHTmt90Ph6GwDEAIXAj630N7RXZjl2Sqlg4/JY4+d9e2BG6/wJwpxafQibMcP/otb6MuPvf/bz83slIiKiVeMQQgghROuJj4/P0loHWDsOUZO/v7+WazAhhBDi4mXOazBrDBOrdec9IiKCuDjp+SuEEEJYQ25hKXnFpYT4uFlsG0qpZIs1LppNrsGEEEKIi5s5r8FkFjYhhBCinZvw/I+M+tdqa4chhBBCCGFS2tlCDp7KM/3guHEVX8LirJFAOgGEVvs9xAoxCCGEEMIoy6mDtUMQQgghhKjTcz/uZeb/tlBSZrB2KO2aNRJI24FopVQXpZQTUjxLCCGEEEIIIYQQJpQbNDuSz3KmoIRViVabKFtghQSScRauh4HfqJjx4NvWjkEIIYQQQgghhBC273BGHnnFFZN5L4xLbWBtYUlWqYGktV6qte6mtY7SWr9sjRiEEEIIIYQQQghh23Yk5wAwpW8n1hzKJONckZUjar+kiLYQQgghhBBCCCFsUnzyWfzdnZh9aXfKDZofdp6wdkjtliSQhBBCCCGEEEIIYZN2pJxlUJgPUQHuxIb78G1cKlpra4fVLkkCSQghhBBCCCGEEDbnTH4xx7IKGBTuA8ANsaEkZRawIyXHypG1T81OICmlQpVSq5VS+5VS+5RSjxmXv6iUOqGU2mX8mmK+cIUQQggh2od6rrV8lVIrlFKHjd99jMuVUuptpdQRpdQepdQg6/4FQgghRMtUJopijAmkKf2CcHW0l2LaVtKSHkhlwGytdS9gGPCQUqqX8bE3tdYDjF9LWxylEEIIIUT7U9e11rPASq11NLDS+DvAZCDa+HUv8H7rhyyEEEKYz46UszjaK/oGewHg7uzA1H5B/Lw7ncKSMitH1/40O4GktT6ptd5h/DkPOAAEmyswIYQQQlie1BCwXfVca10NzDOuNg+YZvz5auBzXWEL4K2UCmrlsIUQQgiziU8+S+/OXrg42lctuyE2lIKScn5NOGXFyNons9RAUkpFAAOBrcZFDxu7Tn9S2a3axHPuVUrFKaXiMjMzzRGGEEIIIZrIUC1/JMkk23XBtVag1vqk8aFTQKDx52Cgep/+NOTmnhBCiDaqtNzA7tScquFrlQZH+BDh58a3Moyt1bU4gaSUcge+Bx7XWp+jort0FDAAOAm8bup5WuuPtNaxWuvYgICAloYhhBBCiGYoMxiqfi43SALJFpm41qqiK7J+TTpwchNPCCFEW7A//RzFZQYGhdVMICmlmB4bytZj2SSfKbBSdO1TixJISilHKi5ovtJa/wCgtT6ttS7XWhuA/wFDWh6mEEIIISyhetKoXHog2RxT11rA6cqhacbvGcblJ4DQak8PMS6rQW7iCSGEaAt2pJwFYFC4d63Hrh0UjJ2C7+LTWjusZtFaU1xWbu0wWqwls7ApYC5wQGv9RrXl1cfaXwPsbX54QgghhLCk6gmkap2RhA2o61oLWAzMMv48C1hUbfltxtnYhgG51Ya6CSGEEG1KfPJZgr1dCfJyrfVYkJcrY7oF8F18GuUoK0TXNO+tOcqIf65q84W/W9IDaSRwK3CJUmqX8WsKMEcplaCU2gOMB54wR6BCCCGEML8aCSTpgWRr6rrWehWYpJQ6DEw0/g6wFEgCjlDRC/xBK8QshBBCmMWO5LMMCjdZUhmoKKZ9MreIDV7hrRhV050rKuWDtUc5U1DCygMZDT/Bhjk094la6w1gMtW3tPnhCCGEEKI1yRA221XPtRbABBPra+AhiwYlhBBCtIL0nPOk5xZxT1jt4WuVJvTsiLebIwsD+jA293jrBddE8zYeJ6+oDA9nB5bsOcmV/TtbO6Rma3YCSQghhBBtX80hbJJAEkIIIYT1VdY/unAGtuqcHeyZNiCY+fnnybF3oe5Uk/XkF5cxd+MxJvToSKivGwu2pZBfXIa7c9tMxbR4FjYhhBBCtF3Vex3JLGxCCCGEsAU7knNwcbSjZ5BnvevdEBtKiZ0DPwb0aqXImubLLcnkFJbyyIRorugXRHGZgd/3n7Z2WM0mCSQhhBCiHSsrr14DyYqBCCGEaBPOl5SjZciz1SSk5bI04eKfHyE+5Sz9Q7xxtK8/ZdGrsycD89J5OWwcb6w4ZFMznZ0vKefj9UmMjvZnQKg3g8J86OTpwi972u7xkwSSEEII0Y5VL5x9OCPPipEIIYSwdcv2niTmpRXM+e2gtUNpl8rKDTz69U4eWbCT1OxCa4djMUWl5ew7kVtvAe3qPjn4PVeeSeTtlYe58p0N7DQOf7O2+dtSyMov4dEJ0QDY2Smm9gti3aFMcs+XWjm65pEEkhBCCNGOlVXrdjTzf1utGIkQQghbpbXm7ZWHuf/LHRi0Zu6GY6TnnLd2WO3ODztPcCyrgHKD5qN1SdYOx2L2pOVSZtDEhDUugeRTVsSbR5fy6e2DySsq49r3N/GPX/ZTWFJm4UjrVlRazodrjzIs0pfBEb5Vy6/oF0RJuYEVbXQYmySQhBBCiHZMCmcLIYSoz/mSch5ZsJM3Vhzi2oHBLH10NGh4Z9Vha4fWrpSUGXh75WH6BntxY2wo38SlknGuyNphWUR8ckUPosb2QKo0vkdHlj8xhpuHhjF3wzEu/896Nh3JskSIDVoYl0pGXjGPXhJdY/mAUG+CvV1ZsifdKnG1lCSQhBBCiHasTBJIQggh6nAqt4gbPtzMkoSTPDu5B6/f0J/IAHdmDg3j27g0jmUVWC22vSdymb81xWrbb20L41NJO3ueJy/txgPjoigrNzB3wzFrh2URO1LOEunfAd8OTk1+roeLIy9N68vX9w7DTsHMj7e2+n4qKTPw/pqjxIT7MDzKr8ZjSimu6BfE+sNZ5BSWtGpc5iAJJCGEEKIdk5nXhBBCmLIz5f/Zu+/wqKr0gePfk957AiQEAoTeO0gXC/be9WfXtax1ddV1d921r4pdFDsqiAoKAor0FjokpJJCeu99+vn9MZOQmDYhZZJwPs+TJ8ncO/eemXvnzr3vfc97Srnsg72cKqzi09um8ZcFwxBCAPDQonCc7O14e0uiTdqmNRh5aOUxnvs5mt2JhTZpQ3fS6I28vy2ZKYN8WDgikLAAdy6bGGwZ4av3BSFaI6XkWHopk63svtaSWUP9+f2x+SwYEcjSP05SXKXtpBa2be2xLHLKNTx8bnj9Z6ahSycEYzBJNsfmdVubOosKICmKoijKWUwFkJTeoEZn4IX1sSSrQu+K0i3WRWZzw/IDODvYsfbBOZw3pl+j6YGeztw1N4z1UTnE5VR0e/tWRKSTXlyDr5sjL6yP7VEjb3WFVYcyyKvQ8OQFI+sDEg8uDKdaZ+TLfWm2bVwnSy+uobhax9R2dl9rjoujPf+8dDS1eiMf7UzphNa1zWA08dHOFCYM9GbhiMBm5xkX4sUgP7deORqbCiApiqIoyllMdWFTukJmSU2nBnve2ZrEVxFpPPlD1FkV9NQajKw6lEFJdd/KMFB6trXHsnhsdSSTBvqw/uG5jOzv2ex8980bhpeLA2/90b0jspVU63hvexILRwby9g2TOFVU3We7coG5BtWHO8zFmM9p0B1qZH9Pzh/Tj68i0qjS2q5YdHsdTivh9d8TKG3huFZX/6gzAkgA4UGeXDt1IN/sTye7Gwq/r4vMIaOkhocXNZ99BKe7sUWkFHdrZlRnUAEkRVEURTmLmWTji3Epz56Lc6VrmEySe1cc4a6vjrR4gdAesTnlfL43lVH9PYnKKmfVobOj5onOYOKh747x7NporlkWQXqx9bVmSqp1/B6Td1YF2842RpMkuaCSX45n8+KGOJ76MYofDmd2eGj39VE5/O3HKGYP9WfF3TNarUHj7ebI/QuGsS2hgKPpJR1ab3u8szWRGp2Rf1w8moUjg7hgTD/e35bcI0eFK6/R88XeVKo7EOBZsT+Noipto+yjOg8tCqe8Vs93B9I72NL2i8up4JbPDvDDkUyrBuTQG028sTmBGz7Zz7KdKVzwzm52nCxoMt+xjFI8nR0YHuTRaW199LwRALy7tWu7XBpNkg93JDPKEtxrzSUTBmA0SX7vZd3YVABJURRFUc5iBmPjkz51wal0lJ2d4JWrx5NXruHhVccwGE1nvCyjSfLc2mh83RxZfd9szhnmz/9+T6CwsnfdsW0vvdHEI6uOszW+gHvmDqG0Rsc1yyKIyixr87kRKUUseWc3f/n2KNd+HEFyQVU3tFixlskkOXiqGI2+fV2uqrUG1hzN4oX1sVy7LILxL2zmvKW7eWx1JN8eSGdbQgFPrznBvP/tYO7r23nqxyh+Pp5FXrn1o3T9Fp3L46sjmRbmx2e3T8PF0b7N59w5J4wADyf+9/vJbrkBkVxQyXcHM7h5xiCG9zNnRv3z0jGYpOTljfFdvv72qNIauP3LQ/x3QxxPrzlxRu9PldbAx7tSmDc8oNFQ8HUmhfowNzyAT/ektnuf6ohjGaXcuHw/h1JLePqnE1y9LIITWS0fn1KLqrl2WQQf7kjhmikD+fEvs/Fzc+LOLw/z3M/RjQJsR9NLmTTIBzu75rN3zkSIjyu3zR7MT0ezuqQrdK3OyC/Hs7nlswOcKqrmr+cObzH7qM6YAV4MDXBnYy/rxqYCSIqiKIpyltpxsoCoP53w6Y0qgKR03JRBvrxy9Xj2JRfzUgcu6r7Zn0ZUVjn/vHQM3m6O/PeKcdTqjby6qWddKHYmo0nyxA9R/B6bxz8vHcPzl45hzQPn4OJoz43LD7AjoekdezAHnd7cfJJbPjuIp4sD/7x0DKlF1Vz83h6W705RweEeoKhKy11fH+aG5Qe4+N09HEq1LmtnT1IhF76zmyd/jGL14UwArp8WypvXTeT3x+YR+58LOfr8eWx5fD7/vWIs44K92RKfz+Oro5j16jYufX8Pf8TmtRrA2BKXz19XHWdSqA9f3DEdNycHq9rm5uTAw4vCOZhawt5uGC795Y3xuDna89h5p4dGD/Vz46FF4WyMzmVvkm2GbP8zjd7IfSuOEJ1dzsXj+7PxRC5fR6S1ezlf7UultEbPkxeMbHGehxaFU1Sl5ccjmR1osfUikou49bOD+Lo7sf3Jhbx13USySmu54sN9PLPmRKMuWVJKvj+UwcXv7iGtuIZlt0zhjesmMj3Mj/V/ncP984ey6lAGF7+3h6PpJVRq9JzMr+y07msNPbhwGK6O9rz1R+dkIUkpOZJWwjNrTjD95a08tjqSrNJanl4ykovG9W/z+XXd2A6cKu5VN0WsOzIoiqIoitKr6QwmtsXns2Rc//q7Ynd+ebjZ+Vyd2r7rrChtuXbqQBJyK/jM0v3sxhmD2vX83PJa3vwjkfkjArl8YjAA4UEe3Dd/KB/uSOH66aHMGurfxlKaJ6Xk7a1JrIvM5t+XjeHcUa13NeguRpPkqR+j+DUqh2cvGsXdc4cAMCzQg7UPnsNdXx3mnhVHeOWqcdww/fT7mVlSw6PfH+dYRhk3TAvl35ePwc3JgcsmDuAfP8fwyqYEfo/J483rzEOwK+aAW2m1jpIaHSXVOio1BjR6I7U6I7V684/G8veiUUGcMyygQ+vbm1TE4z9EUl6r58GFw1gflcP1n+zn/2YP5uklo/BwbnpZVl6j56WNcfx4NIuhAe6svGcmM4f6Y99CZsbwfp4M7+fJ/80Ow2SSxOdVEJFczMpDGdz3zVEmDPTm8fNHsHBEYKPsiB0nC3jwu6OMDfHmyzunN9uW1tw0cxCf7knljc0nmRse0GbmxZnanVjIjpOFPHvRKPw9nBtNu2/+UNYcy+Lf62P47dH5ODnYLk9CbzTx8MrjRKQU8/YNE7liYgj3GY7w8qZ4JoT6MMXK0cXKa/Us332K80YHMSnUp8X5Zg31Y+pgXz7edYobZwzC0b7rXvvWuHweXHmMMH83vr17JkFeLoT6uXH+2H68Z6lVtyk6lyfOH8ElE4J5/pdoNsfmc84wf966fiIDvF3rl+XsYM+zF49m8eh+PPljJNd9vJ9zRwUhZefVP2rI38OZe+cP5Z2tSURlljGxlfe0NSXVOlYeTOeno1mkFdfg5mTPxeMHcM2Ugcwc4teuzKlLJgTz3vZkfovJ5f9mh51Re7qb6Am1DqZNmyaPHDli62YoiqIoSp/12m8JfLwrhe/umcmccPOFUNgzG5vMd/gf5xHo6dzk8Y4SQhyVUk7r9AUrHdLV52AGo4m7vj7C/pQiVt47q9kuGC25/5sj7Eos5I/HFjDI363+8VqdkfPf3oWLoz2bHpnX7gtFk0nyn19j+Xp/On7uTpRU67hpRij/uGRMuy+cO5PJJHl2bTSrj2TytwtG8PC5w5vMU6U18OB3x9idWMiji4fz2HnD2RSdxzNrT4CEV64ez2WWYFsdKSXrInP49/pYNHojT104kjvnDGkxCNEXSSn5OiKNdVE5lFSfDhi1RQhwsBMIBCvunnFGAUu90cTSLYl8vCuFYYEevH/TZEYP8KJaa+DNP07yVUQawd6uvHzVOBaODKp/3u8xefxzXQwl1Trunz+URxYPt6pLWXMMRhNrj2fz3rYkskprmTrYlyfPH8E54QHsTSrirq8PM6KfB9/dPQtvN8czWscPRzJ5+qcTfHzrVJZYkX3RXgajiUve20uN3sDWJxbg7ND0vdiekM9dXx3h2YtGcf+CYZ3eBmuYTJInfojkl8gcXrxiLLdZggLlNXou/WAPBqNkw1/nNgmANWfpHyd5b3syGx+Zy9hg71bnrXvtb1w7geumhXbGS2lifVQOT6yOZEywF1/fOQPfZupjJRdU8sL6OPYmF2FvJ7AT8PSF5mB4a4GVKq2BlzbE8f3hTISAE/++AE+XduyLCxeaf+/c2epsVVoD8/+3gzEDvPj2npnWLx9zBuGne07xzf50anRGZg3149qpoVw0rj/uHfjuOH/pLnzdnfjh/tlnvIy2dOY5mAogKYqiKMpZ4KHvjrExOpcPbp7MpRPMF5jNBZAinjmXYB/XJo93lAog9UzdcQ5WXqPnyo/2UanRs+7huYRYsX/9EZvHfd8c5e9LRvHAwqYXgtvi87n76yM8vWQkDy4Mt7otBqOJZ9ZG89PRLO6ZO4S/XTiSd7Ym8cnuFAb6uvLWdZOYMcT6IFdnkVLy/C8xfHcwg0cWD+eJ80e0OK/eaOJZy2sYM8CLuNwKJoX68P5Nkwn1c2vxeQUVGp77OZqt8QVMG+zL69dOYFgnZSNVaPS4ONi3K5hnMknicisI9XU746CFNYqrtPztxyh2nCxk4kBvwgLc8XVzws/dCV93J/zcnPB1d8TLxRE3J3tcnexxdbTHxdEeZwc7ymv1XLMsgsJKLWsfPIfwoOZHJGtOZkkNf111nMjMMm6aEco/Lx3TpGvY0fRS/r7mBMkFVVw9JYQHFgzj7a2JbIrOY8wAL/537QTGhbQePLCWzmDix6OZfLA9mdxyDdPDfInOLifM351V985qNiBgLYPRxAXv7MZeCH5/bH6nByhXHszguZ+j+eiWKVw8fkCL893z9WEiUorZ/uRC+nu7dGob2tLwc/zUhSN5aFHjY1NMdjlXL4tg5hA/vrpzRqvvUWm1jnn/28G84QEsu3WqVeu+5L29aAxGtjy+oF3vv8kkKa7W4eZk32IgZNUh8/s/PcyPz2+f1mpwR0rJ5tg81kXm8PC54W0GvxracbKAggpNowxLq1gZQAL4fG8qL26Ia3RDrTUFFRqW7z7FtwfT0RlMXDYxmIcXhdfX4Oqod7cm8c62RA48u5h+Xl2zz6oAUjsYTVKl4yuKoihnvboA0tLrJ3L1lIFA8wGkXU8tZLC/e6evXwWQeqbuuomXXFDFVR/uI9TPjZ8emN1qfZUqrYHzl+7C29WRX/86t8XuGPetOMLupEK2PrGAgb4tB07q6AwmHlt9nE3ReTx+3ggeWXx6iOXDaSU8+UMUmaU13Dd/KE+cP6LZDIfOIqWktEZPTlkt2WW1bInL56ejWTywcBhPX9h0pKXmnv/2lkQ+2JHM/QuG8cT5I6zqtiKl5Ofj2fzn1zhq9UYeO284984b2q4uL8VVWmJyKojJLicmu5zo7HKySmvxdnXk4vEDuHJSMNPDWu7GkVZUzdpjWaw5lk12WS12AiaG+jB/eCDzRwQwcaAPDp3UBWdfchGPr46krFbP85eM5rZZg8+oe1VmSQ1XfRSBs4MdPz90DkGebV/krY/K4R9ro0HAa1dP4JIJLQc9tAYjH25P5qOdKRhMEicHOx5dPJz75rdv21hLozey6lAGH+5Iwd/diZX3zrQqI6YtG0/k8tDKY8wY4se1UwayZHx/vNqTRdKCSo2eRW/uZEiAOz/cP7vVbZhRXMN5b+/iwrH9ef+myR1ed3u8/nsCy3amcP+CoTyzZFSz7fz+UAbPrI1uMVBsMpmDL0u3JJJcWMXmx+YzwspARd37/5/LxzIp1AeDyYTeKDEYJXqTCYNRUlKtJbu0luwyDTllteSU15JbpkFnGezAx82RYG9Xgn1cCfFxIdjHldIaPR/vSmHBiEA+vnVqz7yubkcASaM3cu6bOwn0cuGXB89pcX/KK9fw8a4UVh3KwGCSXDEpmIcWhXda4L1OckEV5y3dxb8uHcNdlm7LnU0FkNrhiR8iWXssm7TXLumS5SuKoihKb/Dgd0fZFG0eKjbttUswmiTDntvUZL6tT8xv1x12a6kAUs/UnVngO04WcNdXh7l43AA+uHlyiyft//01ji8jUvnpL+e0Wgcju6yW897axZzwAD67vfVdq1Zn5C/fHmVXYiHPXzKae+YNbTJPldbAyxvjWXUog1H9PXnh8rGMDfZqXzeKFpzMq+Sno5kk5FWaL9rKNNT+acSk++YP5dmLmr/obIlGbzyjbk0FlRpeWB/Lpug8xgZ78fo1LWe56I0m9iYVsS4ym4OpJeQ2GNVrsL8b40K8GTPAi8T8Sv6IzadWbyTY24XLJgVz5aQQRg/wolKjZ1N0Lj8dzeJwWil2AuYOD+TSCQPIKq1ld2IhJ7LKMEnwdHFgzrAA5oT708/LBU8XRzxdHPByccTL1QEPZ4c2A0x6o4m3tySy7E/dxjriRFYZN3xygPAgD76/b1aLmRol1Tr+uS6GjSdymTLIh3dvbD0zrKH43Aq+P5TBbbPDCO/EIcxborcEDTorSGUyST7ZfYrvD2eQXlyDk4Mdi0cFccWkYBaNCjrjoGxdYGbdQ3Osqlvz9pZE3t2WxOe3T2PCwObn93Fz7LTXrdEb+XT3Kd7aksgtMwfx0pXjWvwcSyl56qcTrDmWxZd3TK/vtiilZFt8AUu3JBKXW8GwQHeeuWh0m0PBN2Q0Sc5/exenCqtbnc9OQD8vF0J8zIGiYB9XBni7UKMz1ge1637XdfW8eHx/3rlhsk1rS7WqHQEkgB8OZ/L0mqZdLvPKNWyJy2NzbD4HThUDcPWUEB5cGE5YQOffXKuz5J3duDs7sOaBc7pk+b0igCSEWAK8C9gDn0kpX2tp3q48eam7u5rw4pIz7jesKIqiKL3dnwNI1VoDY/+9ucl8Uf++AG/Xzu9OogJIPVN3lxH4ZFcKr/6WwLTBvowN9iI8yINhgR4MC/IgyNOZmOwKrvhwLzfPHMRLV463enmf/t+0Fi+0KjV67v7qCIfTS3j1qvFtFvPenpDP0z9FU2QZScjf3YlB/m6E+bszyM+Nwf5uhAd5MKKfZ6vnltVaAxtO5LDqUCaRmWWBLl9uAAAgAElEQVQ42dsxaoBno4u2EB8XQnzcCPF1xa8D3YfO1O8xuTz/SyylNY3r7EgpOZZRyrrIHDacyKWkWoe3qyPzRwQyIcSbsSFejA32bnKsqNEZ2BKXzy/Hs9mdVITRJBka6E5OWS0avYlhge5cOzWUqyaHNOleVFajY19yMbsTC9mdVNgoUPVnni4ODA/yYGR/L0YP8GRkP09G9ffC282RzJIaHvn+OMczWu42dqa2xedz74ojLBoZxCe3TW0SyDK/nzGU1+p5dPFw7l8wrEsLGvdUUkqissr55Xg2G07kUFSlw9PFgfNG98PJ3o5KrZ5KjYEKjYHKWj0VGgNavREvV8cGXQsd8XN3xsvVgY92pnDJ+AG8fcMkq9av0ZvrpGWW1LY4j7uTPbOHBTB/RADzhwdaHRyQUpJeXENkZhnHM0qJzCwjLrcCvdGcofL29ZPaLKJcqzNy1Uf7yKvQsOGvc0kprGbplkSiMssY7O/Go4uHc8WkkDPqBphVWkNMdgWO9gIHezsc7cy/HewFjnZ2+Lo70s/Lxer9skKjp6xaT6ifa5cVR+8U7QwgGYwmLnxnN0IIlt0yhS3x+WyOzScq0zwy7dAAdy4Y259bZg6yOgDcEZ/vTSUqs4yl10/stAzMhnp8AEkIYQ8kAucDWcBh4CYpZVxz83dHAOnAs4u7vR+soiiKovQUDQNIQwLcWXHXDOb9b0f99O9jVzFs5eddUkAbVACpu7TnBh50fwBJSsn725PZFp9PSmE1VdrThYw9nR2wtxc42tux7ckFVnV90RtNXPLeHqq1Rm6dNbjZeTZF5xKfW8HSGybVj+bWlvIaPftSikgvriGjpJq0ohoySmrIKa+l7tTZwU4wop8n40K8GB/izdgQb0b3N2fifH84k/WR2VTrjIQHeXDj9FCunjLQJkGitjQa6SvQnfNH92NTTC6ZJbU4O9hx3ph+XDExmAUjA9uVQVJcpWVTdC5/xOUT6ufGdVMHMinUx6qLUCkl2WW1lNXoqbAEGCo15qBDpcZAUZWWxPxKEvIqKa/V1z9vgLcLlRoDQsCrV4+vr/fWmb49kM7zv8Rw66xBvHiFOdOktFrHv9bH8mtUDuNCvHjzuomM6t+xjKe+wmA0sS+lmHXHs9mVWIiDvajPKjudXeaAs4M9FbV6Smp09aPjlVbrqdIa8HB24I/H57erPl9WaQ07ThY2P1FKEvIq2Z1UWB9kGuTnxrzhAcwbHoi3qyOlltH5TrdFR1GVjticckprzPucm5M9EwZ6MynUl6mDfVk0MtDqi//Uomouf38vJimp1hkJ8XHlkcXhXD1l4FkZdOywdgaQAH6LzuWB747V/z9xoDcXjO3PhWP7dUkmti31hgDSbOAFKeWFlv+fBZBSvtrc/F118vJ1RBr/Xh8LwG+PzmsxdfW5n6OZNti3viZEd8or1/DED5G8fs0EXv0tnuumhbKowQgMtvbs2mimh9nmvVEURVE6T8MAEsDHt07lL98erf8/7cAb7Trxai8VQOp67b2BB7YdyERKSX6FlpTCKpILqkgprCKtuIa75oQ1Go2qLUfSSrjjy8ONglENuTvZ8+6NkzmvHV1BWqI1GMksqSUxv7K+/k9M9ukLSiFASnBxtOPSCcHcOD2UqYN9e/ade4vdiYU8uzaa3PJa5oQHcMWkEC4c269TuvB1lbp9KCGvgoS8Sk7mVWIwSZ6+cGSXZg3Udal65qJRDAlw5x8/x1BWo+ORxcN5YOHZmXXUVTR6I1LSZXV30oqq2Z1UyO7EIvanFFGtMzaZx9PZAT8PJ3zdnBjRz4PJg3yZFOrDiH6eHSoWvjUunzf/OMktMwdx/fTQLq271uedQQBJSsl725LxcXPk/DH9umQAkZ6iNwSQrgWWSCnvsfx/GzBTSvlwc/N31cnLushsHv0+EsDSh71p+qqUcDC1BIBZQ7t/1I3kgmqKqrS4OtrX94W3RTuaY+v3RlEURek8sdkVVDa4wA7zdyOtuKb+fxVA6v3aewMP+s5IuHqjCaOp+XNaB0sXjq4ipSS3XEN0djmxORUEeTpz+aTgTike3N10BhO1emOXdGPtS0wmyWOrI1kflQPAmAHmrKMxwSrrqDfTGUycyCpDZzThZxmhz8fNqefW/VFOO4MA0tmkM8/BOqdD8BkQQtwH3AcwaFA7h+mz0rmjgpg11I8Dp0pwd3aghfMKwFwEsLXpXWVooDtFVVrGD/TmUGoJowd42aQdrQmz0XujKIqidJ7RA7w4lFZiqTnjTmmNnoJKLTU6I5+eXGvr5imdIwTIbPB/FjDzzzN1xzlYd3O0t8NWpS6FEPU1jS4c27/tJ/RgTg526mLZCnZ2gjeum4CTgx2D/NxU1lEf4eRgx7QwddNcUVrTVQGkbCC0wf8DLY/Vk1IuB5aD+e5XVzTC08WR7++b3RWLVhRFUZS+Y+Ebtm6B0o264xxMUfo6Zwd73rxuoq2boSiK0q26KoB0GBguhBiCOXB0I3BzF61LURRFUZSOUCnffUWbN/AURVEUpc9R5zHdpktyLaWUBuBhYDMQD/wgpYztinUpiqIoiqIoQIMbeEIIJ8w38NbbuE2KoiiKovQRXVJEu92NEKISONnBxXgD5Z3QnPYKAIq6cX22eJ22em9tsd7u3p5wdr2/apv2rXXaar1qm/bOdY6UUvatcXF7ICHExcA7gD3whZTy5TbmLwTSaX3b9/ZprT1nEJDRA9p4ptN6Sju6e1pPaUdXTOsp7ejItDP5XPWk9qtt2jnTeko7umJaT/ncWLvMwVLKwBbmaR8ppc1/gCOdsIzlvbXtPf112vC9tcVr7dbteRa+v2qb9qF1qm2q1tnTt5v66Zxt39untfGcwp7Qxi56bX12Wk9ph3ptLU5r9+eqh7VfbVP1um3x2rri+6jFZZ7pT18aLuBXWzegm9jiddrqvVXbtO+tV23TvrVOW663u50t2/Rs2Z5KU61t+94+rbXnlHVjO7piWk9pR3dP6ynt6IppPaUdHZl2Jp+rntR+tU07Z1pPaUdXTOspn5uOLPOM9JQubEeklNNs3Y4z0ZvbrjR1Nm9PIYQPcLOU8qMuWv5jmCPkNVbOfwcwTUr5cCvzLAR0UsqIVuY5a7dpX6W2ae+ktpvSE6n9UlE6n/pcKUr7dcXnpiuW2VMykJbbugEd0JvbrjR1Nm9PH+DBLlz+Y4BbJy9zIXBOG/Oczdu0r1LbtHdS203pidR+qSidT32uFKX9uuJz0+nL7BEZSIqi2J4Q4nvgCswF7Y8DP0sp1wshfgZKpZR3CSHuAoZJKf8hhLgVeARwAg4CD0opjUKIC4D/AM5ACnAncBfwpmXZRVLKRS204U7gWczpllGAVkr5sBDiMuB5y7qKgVsAV+AAYAQKgb8CCcDHmAvGATwmpdzXaW+SoiiKoiiKoijKWaqnZCApimJ7zwApUspJwGZgnuXxEGCM5e95wG4hxGjgBmCOZX4jcIsQIgBzoOc8KeUU4AjwhJTyPSAHWNRK8GgA5sDTHGBug3UC7AVmSSknA98DT0sp0zAHi96WUk6SUu4B3rX8Px24Bviso2+KoihKXyOECBVC7BBCxAkhYoUQj1oef1EIcUIIESmE+EMIEWzrtjZHCOEihDgkhIiytP8/lseHCCEOCiGShRCrhRBOtm5rS4QQS4QQJy1tfcbymBBCvCyESBRCxAshHrF1O1sihPhCCFEghIhp8Fhv2X9a2v/9hBBbhBBJlt++tm5rS1p5Dast73+kECJNCBFp67a2pIXPwOeWz/UJIcRPQggPW7ezOS3s/71m/4EWX0Ov2H9a2v8bTH9SCCEt1yVKJ1MBpD9p75eKEGKUEGK/EEIrhPjbn5aVJoSItnwIj9ji9ZztOnl7+li+zBIsJ3azbfGauskeYJ4QYgwQB+QLc4BnNhABLAamAoctXy6LgaHALMyBn32Wx28HBlu5zpnATilloZRSB6xuMG0gsFkIEY05Q+kOIUQc5i53c8G8TYFrgW1CiEpgI+AlhJjS3DYVQoxs8CUZKYSoEOY6TUo36+TP6eOWZcQIIVYJIVxs8ZoUpYczAE9KKcdgPm4/ZDnevyGlnGC5MbAB+JctG9kKLXCulHIiMAlYIoSYBbyO+SZCOFAK3G3DNrZICGEPfAhchPk78ybL+38HEAqMklKOxnzDpKf6Cljyp8d6y/7T0v7/DLBNSjkc2Gb5v6dq9jVIKW+w3FSbBKwB1tq0lS1o5TPwuJRyopRyAuahx1usg2ljX9F0/+9N+w808xp6y/5Dy59hhBChwAWY9x+lC6gAUlPt/VIpwdyN580WlrfI8kFUheRsozO357vA71LKUcBEIL6rG28rUspszDWRlgC7MQeUrgeqpJSVgAC+rvuSkVKOlFK+YHl8S4PHx0gpO+ME/n3gAynleOApINWyTT8D5jTYpnrAG3gZ2CSlDAGyaGabSilPNviSnArUAD93QluV9uuUz6kQIsTy+DQp5TjAHrixe16CovQeUspcKeUxy9+VmL/PQqSUFQ1mcwd6ZJ0DaVZl+dfR8iOBc4GfLI9/DVxpg+ZZYwaQLKU8ZblhUteF/AHgv1JKE4CUssCGbWyVlHI35mNxw8d6y/7T7P6PeRt8bZmtJ+8/rb0GwJzNhvm8bZVtWtimZj8DdfuQpf2u9Nx9qMn+Ty/af6DF1wD0/P2njf3/beBpeui+0xf0iBpIAQEBMiwszNbNUBRFURSlixw9erRIShlo63YojalzMEVRFEXp2zrzHMyhMxbSUWFhYRw5onp4KYqiKEpfJYRIt3UblMaEEB5Tp05V52CKoiiK0od15jmY6sKmKIqiKLa0cKH5R1G6kRDCEXONC0VRFEVRutltnx9k2c6UXnceqAJIiqIoylnhk10p3PrZQVs3Q1FszlLf4nP6cC0/RVEURenJ9iQV8frvCbZuRru1GUBqzzCFwuw9YR6O8YQQYkpXNl5RFEVRrBWTU8GJrDJbN0NReoI5wG2Yi04riqIoiqJYxZoMpK+wfpjCi4Dhlp/7gGWd00xFURRF6ZhqrYEanZGeMHiEotiSlHKvlFJYhspWFEVRFEWxSpsBpHYOU3gFsMIyvOoBwEcIMaCzGqsoiqIoZ6pKa8BgkuiMJls3RVEURVEURVF6nTOtgdRPSplr+TsP6Gf5OwTIbDBfluUxRVEURbGpaq0BgBqt0cYtURRFURRFUZTep8NFtKW5L0C7+wMIIe4TQhwRQhwpLCzsaDMURVEUpVV1AaRqncHGLVEURVEURVGU3udMA0j5dV3TLL8LLI9nA6EN5htoeawJKeVyKeU0KeW0wMDAM2yGoiiKolinypJ5VKNTGUiKoiiKoiiK0l5nGkBaD9xu+ft2YF2Dx//PMhrbLKC8QVc3RVEURbGZugykKq3KQFIURVEURVFsw2TqvQO6OLQ1gxBiFbAQCBBCZAH/Bl4DfhBC3A2kA9dbZt8EXAwkAzXAnV3QZkVRFEVpF6NJUqu3ZCCpGkiKoiiKoiiKjRj6cgBJSnlTC5MWNzOvBB7qaKMURVEUpTM1rHukaiApiqJ0jMkkmf/GDp68YARXTR5o6+YoiqL0KsZeHEDqcBFtRVEURenpqht0W6tRASSllxNChAohdggh4oQQsUKIRy2P+wkhtgghkiy/fW3dVqVv0hlNZJXW8vefom3dFEVRlF7HYDLZuglnTAWQFEVRlD6vYQCpWnVhU3o/A/CklHIMMAt4SAgxBngG2CalHA5ss/yvKJ2uvvuFsG07FEVReiOVgaQoiqIoPVhVg6CRykBSejspZa6U8pjl70ogHggBrgC+tsz2NXClbVqo9HUGY++9e64oimJLFRo9ul58DG2zBpKiKIqi9HYNM5Cq+lgGUlmNDh83J1s3Q7ERIUQYMBk4CPRrMPptHtDPRs1S+rjefPGjKIpiK2U1Oib9dws3TAu1dVPOmMpAUhRFUfq8qoY1kLR9JwMpJrucKS9u4WRepa2botiAEMIDWAM8JqWsaDjNMrBJsznyQoj7hBBHhBBHCgsLu6GlSl9jMJp3LdWDTVEUxXpFVVoAVh/JtHFLzpwKICmKoih9XqMaSLq+k4GUmF+JSUJyQZWtm6J0MyGEI+bg0XdSyrWWh/OFEAMs0wcABc09V0q5XEo5TUo5LTAwsHsarPQpdQEkRVEUxXp9IXlTBZAURVGUPq8ugOTuZN+naiDlVWgAyLf8Vs4OQggBfA7ESymXNpi0Hrjd8vftwLrubptydlBd2BRFUdpPa+j9NzFVDSRFURSlz6urexTk5dKnRmHLLzcHjgoqtTZuidLN5gC3AdFCiEjLY88BrwE/CCHuBtKB623UPqWPqxuCWtigD1ulRo+Loz2O9uo+uKIovUtNH8iCVwEkRVEUpc+r1hqwE+Dv7tSnMpDyK8yBowKVgXRWkVLupeXyM4u7sy3K2el0DaTujyCNf+EPloztz8e3Te32dSuKonREXzgHVaF7RVEUpc+r0hpwd3bA3dmhT9VAquvCpjKQFEXpTrbqwmauDQ+/x+bZZP2Koigd0VwGUm+rKKcCSIqiKEqfV6U14OHsgLuzfaOC2r1dgaqBpCiKDdRnIHVzApLB1NsutRRFOdsVVmp5eWMcBqOp2QCSXvSukIzqwqYoiqL0edWWDCQ3Jwdq+kgAyWSS9ZlHKgNJUZTutDU+3ybr1RlU8W5FUXqXf62L4beYPKq0BsKDPJtM1wt7nGTvObapAJIN5JVrKKvVMaq/l62boiiKclao78LmZN9nurAVVWsxmCT9vJzJr9Ci0RtxcbS3dbMURenjkgsqWb77lE3WrQJIiqL0NnVZR6sOZTY73dDLMpB6V2t7CI3eyL/WxZBZUgPAixviuHfFEauf/691MdzxxeF2r/eLvansPFnQ7ucpinJabE45JdU6Wzej22SV1pBWVG3rZthctdaAh7M9bs4OfaKAIUCBpYD2+BAfwJwirSiK0tUqNKePod1dQttWtZcURVHOlEm23vVWL3rXzT8VQGpFTHY5lRp9k8e3xRewYn86G07kArA3qYh9yUWYrOiXbTJJDqaWkFehadeoOUaT5H+bE/hyXxpgDmJFZpZZ/XxFUUBvNHHdx/t5d2uirZvSbf72YxSPfH/c1s2wuWqtEXcnBzycHdAbZZ+4i51Xbv4OmTDQG1B1kBRF6fsaHrszimsY/o9NJOVXtvm8mz89wKub4ruyaYqiKM1qK4CkMpD6iOIqLVd+uK/ZFN11kdkAJOVXYjCaOFVURY3OSE55bZvLTSyopLzWHJSKySm3uj2pRVVo9CaSC6oA+PZAOld/tE/dcVaUdkjMr6RGZyQut8LWTekWeqOJ4xllJBdU1Y9c05bXf0/g/m+sz6jsLeqKaLs5me/y9KYspEqNnhc3xNUf/+vkVzYOIKk6SIqidAdjgxumopuraGsbBJA2RueiN0p+OpbV5vMiUor5xEbd7hRFObsZ20gy0dv1rpBM72ptN9pxshCDSTbJ8imv1bPzZCEAJ/MrSS+pQW8ZiSLpTyf3DZ3IKkNrMHIotaT+sZhs6y9iY3PM82aX1VKlNRCVVY5J0uSCoiWrDmWw6M2d7cp6UpS+JjrLHLRNzLc+oNKbxedWoDWYR3ywNriwI6GA7QkFaPTW1Qnal1zE53tTO9LMblGtq6uBZC79V9WLCmn/a10sn+9N5Y4vD1FUdXo75pdrsBMwJthcT09lICmK0h1qG9SR6/YubA0CSNIy+LXo9lYozYnPrbD6ukRRziZtdVLa4D+K3pQXf9YHkNKLqymraVoPZZtldInYnIpGF5qbY/LQGU3MCPMjuaCKk3mn02aT85s/aGaV1nDFh/t4eWM8B1NLCPZ2YWiAOzHZ1mcgNcyYSCmoIs6SvXSqqO0D9a7EQp7/JYbUomq+O5hh9ToVpa85YfnMldfqz4psjWPppfV/p1pRB0lvNJFSWIXeKOuPOSeyyloNtn2y+xQvbohjV2Jh/WPro3KY89p2Vh3KaPOuS3epH4XNuS4DqXMKaScXVDbb1bmzrD2Wxc/Hs7lqcgiFlVruW3EEvaUGSF6FhgAPZwI9nHG0Fy3u00VVWjKKa7qsjYqinF0aHj8lNApsn6kKjR6toe3jcl3mJUDdV1NrSVAGo6nZ83yl81307h7OW7rL1s1QlB6nrTI3rw9awI+B47upNR13VgeQTCbJtR/v5z+/xjV6XGcwsTuxEA9nB0qqdeSUn/6yWheVzWB/N66dNhCtwcS2eHNRay8XB5IKmu+DHZFSjJTw3cEMdicWMnOoP+NCvNsXQMqpwNvVETBf0J2yXAymFLR+UVhWo+Ph744xPMiDc4b5s/JQRp+o/aH0DckFVd0aYIjOKsfd0oUpsZmaCQl5FVZn3vQk5bV60oubHguOZ5bh7GA+zFtTSPtUYXV9RmVUZhm7Ewu5/IN9jYJDfxZnyY78x8/R1OgMSClZtjOF/AoNz66N5pFVtq+/pDUY0RslHs729RlI1Z2QgVRcpeWS9/byyqYEq+aXUrJ8dwpH0krantky/6u/JTBtsC9vXjeRN66byLGMMj7dY+6GkV+hpb+3C0IIgjxdms1A0hlM3PLpQW769MBZkXWnKErXa/g9WaU1MO2lrSS3cA5srQkv/MGNyw+0Ok+lRs+dX54ehKbumNZa/tHzv8Qw6b9bOtQ2RVGUjmirBhJAqYNrN7Skc5zVAaTkwioKK7XsSixsFBk8mFpMtc7IHeeEAdQHegoqNESkFHPFxGBG9PME4I+4PEJ8XBkX4t1iF7YDKcX4uDni5mRPpcbAjCF+jAvxIqdcQ7EVd22klMTlVLB4dBCO9oJfT+TW33VpKwNpS1w+lVoDr10zgfvmD6WwUstvMbn101OLqq0q/n22yCvX8N62pB6TNdGXxWSXc97SXTzy/fH6jIqO0hlMZJc1X4tMazCSkFfBxeMHAOZubA1FZZZx0bt7WLYzpVPa0p2e/CGKqz+KaLLfHssoZeHIQJzs7UhtJsD0Zwl55mCQg50gMrOMTdG5luU0X7C/oFJDUZWWi8f3J6u0lv/9fpKY7Aricyv492VjeHDhMDZG53Iso7TZ53eXaq35Ysfd2QF3Z3MAqTMykL4/nInWYOK3mFyr9uGPdqbwyqYEPtiRbNXyE/IqKazUcuOMQdjbCS6fGMySsf15d2sSaUXV5FdoCPJ0ASDQ07nZmnif7jnFyfxKsstq67tCK4qidERtMzdaIlKKO7zc4y1819T58wiq1mQgrbGiPpKiKEpXsuay0tXUddnsne2sCCAVVWmbHbb74Cnzl11JtY74vNMn1tviC3B2sOPuuUOwtxPEWgJIdYGbyycFMzzIA4BKjYHh/TwYHuRBcjN1VaSU7D9VzJxhATy6eDh2AmYP9WdcsLnoqTUn9AWVWoqrdUwc6MPQAI/6OkpTBvmQUnj6IrhCo+etP05S0aA7xebYPIK9XZg40Jv5wwMZEuBe343teEYpi97cyVM/nUCjN7Jif1p9172z1XcH01m6JZGj6S1f8BZUaig9i4aB7yrHLUGFjSdyeWx1ZKdkRzz6/XHOe2tXfSZGalF1/YX9ybxK9EbJolFB+Lk7kdig+6mUkhc3xCElrD2eVd+Waq2B5btT6ttqrZJqHecv3cXuVjJ3OktifiVb4/MprtY1ymosrNSSWVLLtMF+DPJ3I62omsT8Sua8tp3rPo7gsz1Ni4km5lfiYCeYPyKQYxmlbIkzHw+is5o/qa87fv3f7DDuOCeMryLSeO7naFwc7bh8UggPLQrH392Jt7fYdtS7umwj9wZFtDuagWQwmvj2QDq+bo6U1ejZm1zU6vy/x+TyxuaTuDnZczi1BL3RhM5gapIZJqUks8Tc3WxvknmZc8MD6qf/54qxODnYce3HEZwqrKa/tzMA/bycm2QgJRdU8e62JOaGByAEbE8o6NBrVhRFgcY1kOoktVDGwRoGK28iVdQ2Pm6/Zflu+XBHSv2olGfKaJK8vDGu/virKGA+V/jXupgu7aqu9H1aK3r/2NF7khfOigDSnV8e5t4VTUcVOphagpeL+W503Yk6wN7kImYP88fX3YnwQA9iLBdJ66NyGBvsRXiQJ+7ODgz0NaeaDQ/yILyfJ5VaA/kVje8ApxfXkFuuYdYwf+6eO4Q9fz+XsAB3xloCSNZ0ZajrIjIm2IvwfubAlberI/OGB5JVWlufSvz1vjTe357Mq5buFNVaA7uTirhgbH+EENjZCS4c259j6aVo9KcLeq85lsX0l7fyr3WxPPp95BmN7FZeq+fdrUnNdv8xmmSb9VeeWXOCpX+cbPd6G6rWGshpIfvEWvstd9B2nmz+Qstkktz4yQE1LHoniMmuwNfNkUfODWfjiVyrCy9ujs3j4nf3NAqUAhw4VcxvMXnU6o0s25nC1rh8Fr25k/tWHEGjN3LCUkB7fIg3I/p5kNgg3X5TdB5H0kuZE+5PZkktR9JL2ZtUxOK3dvHKpgRe2ti+oX83RueSVFDFv9bFdHmX0U92ncLF0Xwo35tcRH6FhnPf2smNy/cDMGWwD2H+7qQWVbPmWBb5FRpqdEZe2hjPPkvQI6O4BpNJcjKvkqGB7kwL8yWzpJbiah3+7k5EZ5c3G+BreGx65qJRjB7gRXR2ORePH4C3qyPuzg78ZcEw9iQVNRpAoLO89cdJHl55rM356gpme3QwAykmu5zP9pzipQ1xvPpbArnlGl68chyeLg5siMpt8XnFVVqeXRvNxIHevHzVOKp1RqKzy3lnayIXvLObMnuX+nm/jkhj3v92sCOhgL3JRYQHedDf+/T0fl4uLL9tGrOG+jMkwJ15wwPrH88qra2/iCqr0XHviiN4ODuw9PqJTAr1afEGgclk7lqnLpwURbFGcxlIGR04flRorAvol7ZSy+if62KsWkZaUTVRmU1visTlVPDpnlSe+CHSquV0FZNJsvFEbq/LhO+rXapIGaMAACAASURBVKRXHsxgxf50PlUj+Ckd0PCm5UXj+vP6NU3rHa0JGGtVHbieoM8HkNKLq4nOLudoemmjbB0pJYdSS1g4MogR/Tzq7x4XVWlJLqhi5hB/AMaGeBGTXV7/hXPFpOD6ZYy0dGMbHuRZn5H05zpI+y1ZTrOH+iOEIMTHHHTydnNk9lB/3t+RzNItiRxKLWnx5D3WUjB7VP/T6xkzwIthQR5IaQ5S6Y0mvj2YjpODHasOZXDwVDG7EgvRGUxcOLZ//bKmDPLBYJLEZJcTmVnGID83nr1oFGH+7rx81Tg0eiNLtySiNRiJyS63eqSiFRFpvL01kZ+PZzeZ9t62JBa/tbPF/vEFlRp+OJLJlxFpzX5w1hzNarZeDZi7nOkMJgxGE7d/cYjLP9h7xt2hanSG+lH3Wqr5siuxkFNF1Rw8VdLsHTjzxXnvGd3JlmJyyhkX4s3NMwcDsDW+7eyIWp2RF9bHEpdbwXcHTheEN5kkL22MI9jbhasmh7DyYAZ/+ymKAd4u7DhZyFUfRfDB9mR83RwZ6OvKiH6eJFkyBkurdby4IY5R/T1ZdutUXB3teXtLIveuOIKniwNXTQ7haHppu4KTG6Jy8HR2IK24hhX706x6TlZpTbu7k+aW17IuMpsbpw9izAAv9iQV8u2BdFKLqvF1c2LyIB/GBnszNNCd9OIaNsfkMXuYP2seOIeBvq68uCGO5btTmP/GDt7dlkRCXiUj+3sxKdQHACcHO+6eN4SiKh25zdzdjcutINTPFS8XR1wc7Xn/pslMG+zLvfOG1s9z66zBBHg48dFO67ptlVbruP6T/W2O7JaYX8mHO5LZcCK30WAGzWmYgVRXA6u9o7AdSi3hsg/28tLGeFYcSOfzvakM8nPjonEDuGBMf/6Iy2uxftaLG+Ko0hp447qJzLcEfPYkFvHDkUx0BhMR3oMAc9Dn7a1JALyx+SSHUksaZR/VmT3Mnw9unsLmx+fXH9+vnxaKnRDcsHw/qw9ncOdXh8kurWX5bVMJ8nJh8aggorLKKahsuh13JhbwyqYEm2eKKYrSs9TqjBRWapuUW2juWNewkHZxldbqrCKAilrrsjtaCyDpjSaMJtnsMa6hhW/u5IoP9zV9vsnc3korg1ld5ZfIbB5aeczqc4eeormgYl9gtATG+sLrM5lkpxS8V9qvvMExbtmtU7lh+iCCPJ0bzRPpGcwr7bxhbSt9PoC0OTYPMPeP/qVBcCO9uIaCSi0zhvgxJzyAQ6klaPTG+oygGUP8ABgX7E1BpZa7vj6MEHDZxNMBpOGWAFK4pQsbNK2rsj+lmEBPZ4YFujdp2xd3TOeqSSG8ty2J6z/Zz6I3dzapFVKp0fPtgQwmDvTG08WR4UHmdY4J9mJogHmZKYVV/BGbT36Flreum8hAX1f+8u1RXtkUj5+7E9PDfOuXN3mQ+e9jGaVEZZYxMdSH+xcM49e/zuWWmYO5bfZgVh/OYPar27n0/b2Mf2Ezt3x2oNGObzA2rjNjMklWH8kEzDVBGiqt1vH53lRMEr6OSG9uE/FbdB4maf7S3p3YuBvIushsnvwxir+vOdHkefkVGha8sYNrP47gP7/GcSS9lKIqXX1WRXsdTivFYJLMGupHbE5FsychX+9Pw95OoDOaOPSn7LFanZGL3t3Dc2ujmzyvUqPn5k8P8MOf3p+epkKjp7ym+RO59VE5/OfXWF7ZFE9BB4cL1xqMJOZXMi7Em/7eLowN9mqUHVFWo+O9bUlEZTYeAWz57lPklmsI83fji32p9QHHjdG5xGRX8PSSUTx5wQgkEq3exLf3zOTN6yaiNRgZNcCTf182FiEEw/t5UqU1cKqomqfXnKC4Wsub103Ey8WRC8f2IyKlGF83R767ZyaPLh5uXseJxhkmUkpWHswg6U/BzfwKDYfSSrhr7hDmjwjkvW1JZJW2fmf22wPpzH19B0tbuIA/VVjF0fQStifk8/62JLYnmN+runpN98wbwtzhARxNL2XlwQwWjwripwfO4ecH5+DiaE+Yvztag4m04houHNsfF0d7nrloFAl5lbyyKQFPFwc+2Z1CVmkto/p7Mj7EGyFgXngAs4eag+l1GVwmk+Sb/WlkFNcQn1PBmAFe9e0MD/LgpwfOYXSDx1yd7LlzzhB2niwkPreCWp2xvqtVZkkN130cwdH0kvr94v5vj3IotYQXN8Q1ec8LK7Vc+eE+Xv89gf/+Goe7swNO9nasbuNzdToDyb5BBpKBzJIaq+7ymkzmLo79vVw4+NxiEv67hO1PLuCnB2Zjbye4anIIlRoD8/+3g/e2JdUHsaWUrNifxi+ROTywYBgj+nni7+HMyH6efLbnFEVV5ouhPd5hALyzNYlKjZ575w0hLreCWr2x2QBSc8aFePPN3TMoqdLx9zXRJOZV8ub1E5kWZv4uWzy6HwB/xDbNQvp4l/nO6sbo3EbHekVRzm73fXOE6S9vZepLWxvdQW/uBlqx5XimM5iY+tJWnmnmXKglDTOKW8tkae34ZC8EKw9lMOPlbcTntl0e4s/rqTv3sabYbVfKs3w/djSjvrvV1RoEOq2uZU9gbymwZehlGWHNeXtrItNe2tpsWRel69TqjM0eu+ztmhZvi27HAFu25GDrBnS1zbH5jA32ws/diZ+PZzPIz41vD2bUd12bOcSPYB8XvtyXxoFTxRxMLcHF0Y7xIeYuZvNHBDLQ15UgT2fumTuUAd6nK6QvHh3E/pQiRvX3xM3JgRAfV3YnFnL33CGAeYfZkVBQ34Xsz1yd7Hnr+oncfk4YFRo9z6yJ5tHvj7PxkXl4uZhHXHtj80nyKzUsu3UKAGODvRACJg/yYaglKJWYX8nuxEJC/Vy5ePwAhgS489HOZGJzKrht1mAc7E/HCQM9nQn1c2VzbD455RruGujdqE2PLh7OwVMlDPZ34/wx/UgrqmbZrhRu/ewg39w9Ax83Jz7YkcyHO5LZ9Mg8hvfzJCKlmKzSWqaH+XI4rZT43Ir6C8hP95yiWmdgepgva45l8dSSkfWvrc6GEzmEB3lQXKVlw4kczh9jvtDJLKnh+Z9j8HB24HhGGSeyypgw0Kf+eesis9EaTKQUVHEiq5wrJwWzLaGADSdyWTgyqNn9YfXhDIYFejAtzI9qrYEanZFASwR4f0oxjvaCv10wkms/3s/uxCKunTqQhLwKnlgdxcRQH3aeLOQvC4bxxd5U9iYVsmBEYP2yf4nMpqRax4YTuTx78Wi0ehPbEvK5eeYg3th8koiUYg6cKibIy7nF9tlSREoRf115HBdHezY9Oq9+1D8wZ8c8+UMk9nYCrcF8l++fl46xetmFlVq+O5jOkAB3zhkWQF65Br1R1tcCWzy6Hx9sT6KkWoefuxOv/57AqkOZLN2SyIIRgXx5x3SKqrR8vCuFi8f35+YZg7n184P8fCybG6aH8snuFIYGuHP5xGDs7ATv3TgZHzcnhgV6MCzQg2unDmzUnrHB5v1z8Vvm4Wafv2Q04yyf+bvmDiG5sIo3rp1IkJe569C4EC82nMjh3vmnM2u2xhfw3M/ReLs68u3dMxlv+SxtijbXSrts4gCunBzC5R/s5e6vjvDBzZPZnmCurzYk0IPUwiqySmspr9Xz49EsPJwdWL7nFDfOCGWgr1v9erbF53P314274Do52LHslil8fyiT66eb558bHsDy3acortZxu2UAgDphAeblCQEXWD5fl4wfwG8T8vC0dDO74J3dgDmz0tPFkVevGs+EgebjjIOdIDq7jCXj+vPdoQz+uS6WUL9TZJXWcuXkkDa3/60zB/PhjmRe3hhPdlktueW1fHLbNN7ZmsjxjDL+uyGeXx48hxfWx3IotYQ3rp3A94czefT747y0MY7B/m68f9MU/rshjmhL9mTddjueWcba41k8vWQkLo72za4/3TKEvberE66WedZH5fDKpgTGh3jzxPkj8HV3IsTHtf54AOY6XfuSi053ObthEv0s+8TQQI/6+eYOD+CLO6bxzX5zDbW9SUXcMmsQW+ML+DUqh4UjA3lwUXj9/LOH+fNVRBr9vVwYE+zFPs1gMpy9+fZAOjdMH8Tfl4xiS1w+maW1zBzq1+b7W2fyIF92PrWQkmodQwM9Gp2cjOrvyZgBXry8MZ4wf3eqdQbSi6sJ8XHjUGoJV08JYe2xbNZHZnPb7DCr16koSt+1p0F5h6kvbeFvF4zknnlDqWkmG6O4Wss7WxPZbAlS/3Q0i5+OmgtYXzNlIG9dP7HF9TSsbVSjM9YH+hsqrdbxr3WxLS7D3k4QZ8nYv+jdPbg52eNob1c/suiflVTr8PdwJjannNu/OMRdlnP3vhAosIWGAcYarRFvt+7JUbh3xRFG9PPgqQtHdWg56cXVXP1RBKvvn0140Onv97ru7oYW9qPe5NeoHMAcnPRzd7Jxa84eeS3cdA/2cSW3XMP6h+dw+QfmrMj2ZsfbSpcFkIQQS4B3AXvgMynla121rpYUVGg4ml7KE+ePINTPlcdXR/HUTycY5OdGdFYZQZ7OhAd5EOrnRqCnMx/vSqFSY2DKIF+cLENfhwd5sPfv5za7/Olhfqx7eG79/9dMHcj7283ZBgN93dgYnUul1sD10wY2+3wAIQQTLd1F3rtpMtd/sp+/rjxef7H5zYF0bp8dVp85FBbgzpbHFzA0wB07O0GwtwsfbE/GYJK8ctV47O0E40K8+eiWqS2uc8ogX9ZFmg8ikwf5NJrm4+bEpkfnNXps8iBf7v/2KH/7MYoPb5nCtwfS0Rslr2yK58s7Z7DqcAY+bo58cPMU5r2+g9WHM3nh8rHkltfyVUQal04I5t55Q7j8g318tvsUF4ztT3iQBy6O9uSW13I4zbyNcstrWR+ZQ1GVli1x+byx+SQI+PH+2Vy7LIKv9qUR3s+D/SnFfHjLFNYey2ZSqA9Lr5/IL5E53D9/KPbrYtkcm8fLV43D2aHxxeTOkwX8fY35jtjMIX7EZJejMZi4bdZg/rJgGPtPFTMp1Iepg30J9HTmt+hclozrz8Mrj5NfriGpoBInBzvumhtGVGYZe5NPjzgipeTriDQG+rqSXVbLF3tT2XGygMT8KlYfzuRkfiU3zQglMrOch1ceZ+W9MxsFw1qTU1bLAG8XtAYTz6w5wdBADx6xZMU0XP/aY9mMDfFiVH+vFpbUWFmNDhdHe1wc7fnluDnTK9TXlazSWp5bG80HN0+uD3x+uCMZgWDH3xby0oZ41h4zX7D/+T1ujpSSZ9dGs9WSYRTg4VwfZB0XYm7reaODeG9bEjtPFjB6gBerD2dy88xB+Ls78f72ZDbH5nEwtQSd0cTTF45isL8b40O8eWPzSWr1RmKyK3jt6vHYWS6YL7KMtNaSyaE+rLxnJsctGU53zRlSP23CQB82/LXxZ+DSCcG89lsCe5IKmRseUL//DwlwR280/T975xkeR3U14PfuqvcuW7aKe+/dYDC9t4RO6IbAByEQAjEhhBp6C4QAwWAwxTQDBoR7wd2yXOQqW7J673W1fb4fuzvalVZWr9z3efRImr07c2bmzp1zzz2FG5fs4olLxjM+JohPdmQxdlAgI+3egu/eNINblyZx3htbmsnh46lBKwRXTo3hofNGc8GbW3ju52Pcf/ZIBgX7EOTjyXOJxxgR6c+Tl03A10tLVKA3V7+3k0XLkvHUaLjPbpiYlRCGl1bD0DDfZl4rw+zeitPjQlWjmBCCd26crrZZdPow3v31JOPtxrXrZ8epn42ODuRgXjVF1XpeWpXK+MFBpJfWoSi4eCC1RLCfJzfMjuPDbZlEBHgzNNSPWz9KAuCCCdGsOVLM4hWH+Co5l/9bOIJrZsZy9tgo3tl0klq9iZ8PFnLZ29soqtHz4LmjWDAqkq1ppdwyL4Exg8pJPFjIq2uOc8HEQfh6aqluMHG0oIapcSFMjwvl4x1ZTBwSxIhIf4QQ+HlpOZxfw+joAEprDdz+sa0stFYjOGtMFGeNjaS6wcTra0+ok4kpsSFc7uSB2pSzx0Zz9thoVh7I528rDpL0ZQVeWg0PnDOKB88ZpfZNgLnDbQaka2cOJTzAm42pJSwefgFajeDBc0fhodXw2rVTOVFcS2ATg3trhAd4Ex7g3Wy7EIKP75jFTR/s5g8f7na9P76ePHvFRI4X1bI8KZc/zI13u+gh6R/0Bf1LMjAYFORDUY2eB84eyfpjJfx7fRr7c6vceiCZLApv2kNwm7JiXx4ltXoUBWLDfHn2iol4aDWsP1rMiZJaEsIbvfQrdcZmBqTPd2ez9cSpvcvXHi1WF4cApsaGkHyKgiiF1XqqG0xc8tY2AF5ebcvD6c4rdU9WBTvSy/nzuaOafdYW9CYLz/x8lHvPHEFsmJ+t4u/GNB45fwyvrzvBPQtHqCkudHZPnq1pZby7+ST3LhzRoWP2NPVO6RvqjWaC/dr37uoIBrOFdUeLWXe0uNMGpJ8PFlJeb2TZziyeuWKiut0RNnmq8MmDeVWsPlzEIxeMoabBzIurj/HX88e4fRc35fv9eVittjlkT2GLsAhutZ2kayistnkTPnD2SM61L+ICvH/zDH49XuoyH+ztENq20i0GJCGEFngHOA/IA/YIIX5UFOVodxyvJdbaKwhdOHEQQ0N9mTgkk9NGRvDI+WMoqzNislgRQuDjqeX/Fo7g6Z9s4j3YwRfENXYD0jfJeTx03mi+2pPD8Ah/NRyuNWbEh/LclRP5xw+HOevVzZTVGZmVEMojF4xxaedsGR8fE0xFeimvXDOZq6a1bfCZFhvCygMFaDVCTeZ9Ks4aG8VD547mpdWpPPHDYcrqjJwzNooNqSUs+iSZDanF3D5/GNFBPlw4cRBf7cnl/PHRvLkhDQH89fzRxIf7Mz0uhLc2pvPWxnQCfTw4d1y0mjj50smDKajSszwpl5nPrQdgVkIoz1wxkXGDg/jd9KF8uqsxBO6OpXtILarlmSsmMDwygL+cN9q2nymDWbEvj2+S8xgZFcDKA/nkVTbwtwvH8q/EY8SH+3H5lBi+25fPxZMG46HV8MnOLD7ekQXYHm4hBL+fPpT3fj3J/Bc2UGsw89mdcxg7KJCqBhNRgT6cPiqCV9Ycp7TWQGSgN3uyKkktquXF301izZEi3rcn27t34QiW7chicJAPj18ynlq9iWvf38lNS3az7I7ZqmEQbKs3pbUGYsP8VM+BJVszeC7xGAtGRWC2KGpOrfkjwtXQFEWxGTM+2JpJuL8XP9x3GrFhjR4sYFtZ2Z9TRUW9ketmxVJco+eq/+4g3N+Le84cweM/HGJWQihLbp3Fsp1ZvLz6OOUfGJgaG0pCuB/fJOfxh7nxDA725bpZsSQeKmTd0WIundzyhNrB6sNFrD9WzCMXjGFqbAi3fpTE6+uOE+jjQZxdzokxwUQFevPa2hP4eGoI8vXkbxeMJcDHg18OFfLS6lQKqvVcPX0oCXZjyJvXT+WG/+3i6Z+OEhnozVXTW/eEcSCEYP7ICOa3MTzoiqkx/G9LBjd/mER8uB/RQT5kltWz9LZZjB4UyAPL9/OoPcwyzN+Lpy6foH739FERvHPjNI4X1fG76UPw1GrILKtnWIQ/0UHeLhP1u88YwVsb0lh9pAhvDw1zhoeTWVbPR7fN5Awnb7c3rp3KzR/t5obZsarS6eul5bkrJxIf7tds8h8d6MP0uBD+MDeOlnj4/DFcPjWGmBDfZp9NHhrMt3vzuPitrZgsVv5703QOF1TzyprjTI8PdbO35tx31kh8PbXcPC8eT62Gez7dy6ShwSy+aCxnv7aZr5JzmR4XwkP2Zzk8wJt/Xmbzcrt6xlBu/3gPI6MCuHfhCLw9tMywH/e0ERHMTghjybZMljTJm+Sl1XDbaQlkltW7GET9vDzQCMGSW2YRHuBFcnYlFquVpMxKVuzLU42d546L4vmrJpFf1UB8uL+LEaglrpg6hNnDwiivMzIqOsCtkXXhmEjuP2skt502THUl3xEcz51z41UPpxnxoeo5dhVRgT4sv3su720+ydzh4YwZFMjKA/mMjrYVhrh+VixPrDzC4fwa1aNO0r/oK/oX2LyEK+uNXD87rkXvwKakl9RSUW9qs97Um5TU6knJrVa9pgcaFnu+lPvOGsFfzh/DeeMH8c8fD6uhxRrRWJra+e+WcPZm8tRqGBLiywurbEVf7lrQuIiTUVrv4oWbeLCQx79vW4LsIwU1hPl7MT0ulJevnsyiT/awL8d9FdEPt2W6Le6QXa6juEZPZlk9aSV1XD8rlmvesxWlGBTszXWz3L9HjWYrPx8sQFHg4kmD2ZlRxvjBtjD9pMwKvtidg9li5aKJg/l+fz4/phTwhb0qcnm9QV34La+35ahJLaoldXUqt86Px8/Lg305lRzMrXJ5nvQmC6sPF3HZlJhm4TAWq8JPKQVcOHEQW9PKmBIbTFSgD+7Ym11BgLcnYwYFnvL6ltcZ+H5/PmeNjWKEkxcuuIawdbbKaVtxrmStKEqnFj4Mdq+68jojqw4VMne4rZhSld1wtD+nih3pZRgtVkZHB1Jaa0CrEWSU1fPXr1MwWqzcOCeO7/blszwpl0lDQrhxThxbTpSq9xRgaKgfsxIax7eHvkoBIDbMr8fGPXc5LSXdhyNn61XTh6oLumBbUG9qOBwdfepnsK8guiNrvhBiHvCUoigX2P9/DEBRlBfctZ85c6aSnNy8SlpnWXOkiFWHCnnjuqmtDip6k4WFr2ymqEbPF3fNYf6Itk0sm3Lzh7s5WVLHi7+fzC0fJfHYRWP545ntWz3YlVHOo98e5JxxUfz94nF4alt2Ay2vM2CyKC5VelrjYF4Vl/9nOxNigkh8YEHrX8B2fc59/VfyKhsYHunPLw8s4II3t5BX2cAt8+L56/lj8Pf2oKRWz40f7Oak3Tvh9Wun8LvptoejpEZPSl41RrOVdUeL2HyilNhQPy6eNJh7F47AYlV4de1xfDy0TI8PsZeett23zLJ6bluaxC3zEtAZzLy27gQeGkHS4+e6uGEazVbmPL+eSnssu4+nRvVIsCrw3h9mcOHEQS7nllZcy9a0MjLL6vnjmcMZGuqHoij8cqiIV9ce58qpQ5qtOqXkVnHFO9u5bEoMc4eH8daGNAxmKzsXn8OerApu+SiJP54xnMcuHkdRtR4hUCeGBVUN3PDBLgqr9CxaMIwAHw9W7i/gREktimKTeVZCGDPiQ/n3hjSmxYaQVlJHvcHM01dM5L3NJ/H10vKns0dyOL+afTlV7M2u5KppQ9iYWkJ4gBeX2j1wrIotkftep1W4UVEBmCxWavRmNEJQVmdgeKQ/3997GsF+nljt9+HXE6WcKK7FZFHw9tCw5dGziA7ywWpVWPDyJkL9PYkN9aPBZOH304cyZlAg5XVGvtuXx76cSrUYZVG1noRwf368/zQ8tBpeWp3Ku5tPMnd4GF/ePU+Va+WBfD635xRafNFYVUn7KaWAPy3fj6dWsPHhhS7Gscyyeu75dC93nJ7QolLXVdQbzCQeLGTt0SIO59cwIz5UNUooisKPKQXklOu4ZV5Ch1ferFabkbDeYObHlAJ+PljIglERLLtjdrMx7GRpHXFhfqccH7qKIwXVfLg1E6uicOnkGJcVlK5g9eEiXlt7nI9um9XM+Okgv6oBX0+tW7drRVEorNZzvLgWs0XBz0vLkBBf7vh4Dxll9cSF+bHprwtVBfuL3TnEh/txmhsDoqIo5FU2UFKrZ1psaJuMRp1BURTm/+VLKj182frPi1xC6Hqa6gYTO0+WcfbYaNULtysRQuxVFGVml+9YotJe/Qu6Twe74j/bSMmr5v8WjuD8CYNa/wJwpT258Tf3zOuRsa0zLF5xkNSiWt77w4x26WD9hSqdkduW7uHZKydy89x4dfsfP01m3dFiPls0h8SDhXy+O4eFYyLZnl7GxCHBpBXXERXozd8vHseiJhWQtRpBbKgvWeUt5wX8w9w4rp4RC9gm9bd8lKSWwB47KJBUp6IJM+NDCfP3UheMAS6eNEg1xry4KpX3fj3Z7nM/e2wUW9NKMVkUHrlgjM0j3s5/bpzmYuBy8HNKgbqIccboSLacKCU+3I9/Xz+NFXvzXBZBmzJpSDDPXjnRLvMxdmU0GrZe/N0kxgwK5I6P91CpM7k8T1/tyWF5Ui5/PX80p4+KdNnn9vQyXllznLPHRrExtYQx0YG8dPXkZse2WK38/l2bgeyH+0475XVZuj2TlQcKmBIbwtNOC2UA+7IreeZnm536lasnq3liu5Ov9uSyPMk2Of980Ry3oY9t5Y11J1wK6MxKCOXxS8bz7M9HXXRoaPTMa8qjF45h6fYsSmsNnD8+mpvnxXPzh0nN2n17zzw8tBp0BjM3Lmn0CO7uce+PnyZTXGPgupmx3DCne3VmiY2yWgOLliWjEXD0mQtbXExJWJwIQNaLl3SbLF2pg3WXAelq4EJFURbZ/78ZmKMoyv3u2neX8tJeftifz1sb0kh8YAG+Xm1bLWvKqkOF3Pu5ray0p1awY/E5vTohcIfJYmXaM+v4/fQhPO3kptkaPx8s4P4v9vP05RO4dX4ChdUNGM1W4sNdE4SX1hq4a1kyE4cE8dyVzcsUdhaLVeGB5fsJ8/dSX7jOpJfUkl5Sj4dGMHt4GHqjhYe/ScHXU8v7N8/oktAMq1XhqZ+O8OUeWxWlSUNs5bkdbognimsZGRnQ4uSztNbAC78c4zt7YvfZCbZk7oOCvTlWWMvaI0UUVOuZMjSYL++eh85oprjGwPiYIDallqghN14eGsYNDuLCCYO458zh7Mwo597P9rkkpBwe4c91s2I5c3QUJbV6/vzlAeoMZpbfNYchIX78b0sGt81PIC68uUJkMFtIK67DU6txWZl6e0Mar607Qbi/Fz6eWpek6n5eWk4fGaFOQL08bGFWjtUqvcnCde/v5LIpMSxyqtZ1qmt9wwe7mBoXwmMXjWu1/UDiWGENMSG+LvmoyW/73QAAIABJREFUJG0ns6yeOz/Zw0PnjnYpgNDXSPzd3ViEhstXvNfbonQr0oDU/bRX/4Lu08H0Jgs3fLCL/S14gEj6B8vumO3iAasoCkaLFW8PLa+sSeWdTSfZ+PCZDAn1xUurwWxV0Ajh4hFz1qubySyrJ/OFi7EqqAUwNELwz5WH+To5jxtmx3Iwr9rFq8TB4ovG8uKqVJ69YgLrjpWwxT7Rv3JqDG9eP41r3tvBnizbJP+eM0ew+CJbOFNWWT0LX93ssq/IQG+GhfuTlFVB0uPnEBngzfC//4JjOnTrvHg+2dmysaejRAd5U1zT6Ily1bQhbisXS9pHkI8HNV0U9tPSvkL8PKlqocCMO2KCfSiQXj4SO15aDVv/dpbqSOCOEX/7CYvQSAMSrSgwQoi7gbsB4uLiZmRnd/1g3RsoisLm46XojBaGhvqq+Y36GukltUQG+rRrYqooCnuzK5kWF+o2c/xvkSqdkRPFdcyI79g1OVFci4dGuCTkBZuRbG92JWMGBbq9R3uyKgj08WBEZEC7VytKaw1U6oydcpM0mq3sza5kRnwoHhrB7swKKuqNeGptoWEBnVgFkkh+cyxcaPu9eXNvStHtSANS99NWA1JP6WBldQYO5bW9qoyXhwY/L227Jmu9hUYjCPPzGtBlsX08tcwZFtbiYpjeZKGwWu8SluGOap2JOqNZDbl2ps5gZm92JTPjQ6lqMHGiyLWyaXiAF5OGBHOssJZxgwPRm2yVgIuq9UwcEkSInxe1ehPFNXoKqvRMjw910UEySuswWxViQnw5lFfNsAh//L21lNcZ1ZD40loD1Q0m/L21hPh6kWTXsYaE+HK0oAYPrSAy0BurFbWKqDsGh9gmiIVVeiICvKnQGbHaY/tGDwqkos6IgkKVzsTkocFYrArl9UbbIpzTdCwmxJeyOgMB3h5qmHOAjwfDIvybPU9RQd6U1Ljvg47PmsrSlCBfTwxmCwbTqaun2Yr4hHIor9ptpbUgX08sVqXHQtgQtrQcxwpr0btJ7N5eJg4JJqeiHm8PLWV1BtWoOHFIMKW1BsxW2zlX6Uz4eWkxWxX1HoX5e1FaayDAx4PhEf5q5dqIAG88tEKt7mc0W13GN39vDwK8PTBarFR2c3U0IWyh7Kfqw5KuZ0iob6tzrspzL8QktEStS+w2OfqDAalPhLBJJBKJRCLpG0gDUvfTl0LYJBKJRCKR9A26UgfrrkDLPcAoIcQwIYQXcD3wYzcdSyKRSCQSiUQi9S+JRCKRSCTdSLfEmSiKYhZC3A+swVZG9iNFUY50x7EkEolEIpFIJFL/kkgkEolE0r10Swhbu4UQohRwBOAHA20PmIcIoKzVVo20d/+90f5U5yTl7732EYCpD8nTmfZtfW7au//OyNTZ9i2dU1+9B63hOJ++Ik9XtG9Lv+vL8reE83n1BXk6074736ljFEXpHzVqfyPYcyH9C5sO1pHxvimd3UdfkKEr9tEXZOiqfbR3TOhqGfrCdZAyDLx99IVno7Ny9IXr2BX76Asy9JV9dKcMXaeDKYrSp36A/7WzfXI377/H25/qnKT8vdceSO5L8nSmfVufm/buvzfPuaVz6qv3oA3tkvuSPF3Rvi39ri/L39q96ivydLJ9t71T27tv+dP9P53pu53tD93x/b6yj74gQxfuo1PP7UC4llKGgbePvvBsdFaOvnAd+9C9GBD76E4ZulIH664cSJ3hpz62f9letpft+9YxZHvZXrbvvvbtpbv3L+k5uuJednYffUGGrthHX5Chq/bRWQbCtex2GYQQIUKI/+suGYQQD2ILbW1r+9uEEP85lRxCiIVCiPkdEGeg3NOuoDNy9IXr2BX76Asy9JV99AUZWqVPhLB1BiFEsjLAqrr093Pq7/K3xEA6r4F0Lg4G2jkNtPOBgXlOMLDOqzvPZSBdp4GCvCeS1pB9pGcQQiQAPyuKMrGb9p8FzFQUpU0hV0KI2+zt7z9Fm6eAOkVRXu0KGfsb8tmQ9Ce6sr/2RQ+k9vK/3hagG+jv59Tf5W+JgXReA+lcHAy0cxpo5wMD85xgYJ1Xd57LQLpOAwV5TyStIftIz/AiMEIIcUAIsVQIcTmAEOJ7IcRH9r/vEEL8y/73H4QQSfb27wshtPbt5wshdgoh9gkhvhFCBAghHgBigE1CiE0tCSCEuF0IcUIIkQSc5rT9MiHEbiHEfiHEeiFEtN3gdQ/wkF2GBUKISCHECiHEHvvPaS0caqAgnw1Jf6LL+mu/90CSSCQSiUQikfQvhBB1iqIEnOLzzcBfFUVJ7jmpJJLewdkDSQhxPbBMURQvuzHHqijKXCHEUuBLIAfYClyiKMpuIcR/gV3AL8B3wEWKotQLIf4GeCuK8kxrHkhCiMHAbmAGtgS8m4D9iqLcL4QIBaoURVGEEIuAcYqiPNzUA0kI8QXwX0VRtgkh4oA1iqKM64bLJfkNI98dvY9HbwsgkUgkEolEIpFIJBLAZhzSCiHGA0eBULuBZx7wAHArEAgsE0I0AL5ACTAXGA9sF0IAeAE723jMOcBmRVFKAYQQXwGj7Z8NBb6yy+AFZLawj3OB8fZjAwQJIQIURalrowwSiaQf0C9C2IQQA2rgEUJY7O6ejp+EU7RdKIT4ueekax0hhCKE+Mzpfw8hRGlfk7MjCCGutJ/f2N6WpaMM5PsDA288cNDaeQkhNgsh+nys/UB4hpoihHhcCHFECHHQPmbP6W2ZOoMQYqgQYqUQIk0IcVII8W8hhNcp2j8ohPDrSRklvw2a6jhCiP/Yc69IepCB+l7tryiKkg8I4D5gGjaD0rVAGPB7+2dFwE2KokxVFGWMoihP2bevs2+bqijKeEVR7uwCkd4G/qMoyiTgj4BPC+00wFyn4w8ZCMYj+Xz0PeS7o3fpFwakAUiD0+A6VVGUrN4WqJ3UAxOFEL72/88D8tuzAyFEX/V+uwHYZv/dZhyx532ETt8fiaQTdOgZ6qsIIeYBlwLTFUWZjG2FNbd3peo4wrY0/B3wg6Ioo7CtMAcA/zrF1x4EpAFJIpFIuo9abF5FDizA1UA5NgPSX4EC+2cbgEggFEAIESaEiMcWxnaaEGKkfbu/EMLhRdR0/03ZDZwphAgXQngC1zh9FkyjHnnrKWReC/zJ8Y8QYuqpTlgikfRP+kQOpIiICCUhIaG3xZBIJBKJRNJN7N27t0xRlMjelkPiitTBJBKJRCIZ2HSlDtYnvEASEhJITpZ5riQSiUQiGagIIbJ7WwZJc6QOJpFIJJK+QnGNnjnPb+CdG6dzyeTBvS3OgKErdbBWQ9iEEB8JIUqEEIedtoUJIdbZ8yess2fnR9h4SwiRbs8VMb2rBJVIJBKJpD1sOl5CboWut8XoeyxcaPuRSCQSiUQi6UMcK6wB4Ms9Ob0siaQl2pID6WPgwibbFgMb7PkTNtj/B7gIGGX/uRt4t2vElEgkEomkfdy+dA/nv7Glt8WQSCQSiUQikbQDp2p+kj5GqwYkRVG2ABVNNl8BfGL/+xPgSqftyxQbu4AQe8lHiUQikUh6nAaThZ8PFvDpzqzeFkUikUgkEolEcgp6PztzNzMAvMA7WoUtWlGUQvvfRUC0/e8huFanybNvk0gkEomkx7BYG1WQ+7/YzxMrj/SiNBKJRCKRSCQ9z9LtmRzIreptMdqOXX2T/kd9l44akFQUWxm3dhsLhRB3CyGShRDJpaWlnRVDIpFIJBIVk8Xa2yJIJBKJRCKR9CqvrjnOd/vyeluMdiMj2PouHTUgFTtC0+y/S+zb84FYp3ZD7duaoSjK/xRFmakoyszISFnVVyKRSCRdh8EsDUgSiUQikUh+25itCnqTpbfFaDPKwA9i6/d01ID0I3Cr/e9bgZVO22+xV2ObC1Q7hbpJJBKJRNIjGKUBSSKRSCQSyW8ci1XpV4tqigxh6/N4tNZACLEcWAhECCHygCeBF4GvhRB3AtnAtfbmvwAXA+mADri9G2SWSCQSieSUuAths1oVNBqpkkgkEolEIhn4KIrS/zyQpANSn6dVA5KiKDe08NE5btoqwH2dFUoikUgkks7gzgOpwWTB37vV155EIpFIJBJJv8dRUERv6j8eSBa7BUnIJEh9lk4n0ZZIJBKJpK9hdOOBpDP2nxU4iUQikUgkks5gVg1I/Uf/MVvsBqRelkPSMtKAJJFIJJIBh1sPJGlAkkgkEolE8hvBYUDqTzmQzNb+I+tvFWlAkkgkEsmAw50HUkM/WoGTSCQSiUQi6QwWS//zQDI5PJCkC1KfRRqQJBKJRDLgcOeBpDOae0ESiUQy0DFbrMz613pWHsjvbVEkEolExeHN0688kNQFwN+OBamgqoHRj6/iaEFNb4vSJqQBSSKRSCQDDhnCJpFIeoo6g5nSWgP/+OFwb4sikUgkKv0xB5LJ+tsrw7YhtQSjxcrypJzeFqVNyHI0EolEIhlwuPdA6j8KlETSUYQQWUAtYAHMiqLM7F2JBj6y7LREIumL9MscSHYPJBnC1neRBiSJRCKRDDhM7qqw9aMVOImkk5ylKEpZbwvxW8FkDxOR8x2JRNKX6I85kGQVtr6PDGGTSCQSyYDDbRJtmQNJIpF0A46kr+1heVIO5XWGbpBGIpFIbDiM23qTBaWfuEo6ZK43mvloW2a/kfu3hDQgSSQSiWTA4c5dW4awSX4jKMBaIcReIcTd7hoIIe4WQiQLIZJLS0t7WLyBh6md4SGZZfU89t0h7v9ifzdJJJFIJGCxh7BZlY4ZunsDhwfS9vRynvn5KHuzK3tZIklTpAFJIpFIJAMOmQNJ8hvmdEVRpgMXAfcJIc5o2kBRlP8pijJTUZSZkZGRPS/hAMMRMtvW6ZmjfZn0QJJIJN2Iczi/wdw/dCBzkyTa3h7aXpJE0hLSgCSRSCSSAYe7HEivrzuBToaxSQY4iqLk23+XAN8Ds3tXooFPf1nZl0gkvy0sTsYYval/JNI2N9HfHCFtkr6DNCBJJBKJZMDhzgPJYlXYcKykF6SRSHoGIYS/ECLQ8TdwPiBry3cz7gzWp8I6wHJ66E0WaZyXSPogZhcDUv/0QHLoczqjmYYe9CTXmyzUG3pmXOtveZ6kAUkikUgkA46mBqQnLxsPyJARyYAnGtgmhEgBkoBERVFW97JMAx6HAamtVYPcGbj7M/Ne2MD4f67pbTEkEkkTzE7ekf0lhK2pQd4xXk55ei3Tnl3bY3Kc9epmJjzZM+Naf3snePS2ABKJRCKRdDVGixUhwLGoMy0uFK1GuBiQssvr0RktjBsc1EtSSiRdi6IoGcCU3pbjt4a7qo+nbN/PJgutUakz9bYIEonEDWan8K/+E8Lm3gPJZFF6NFy4sFrfY8dyV/ilLyM9kCQSSb/CZLHy1I9HKOrBgV3Sv1i2M4u3N6bj7BHs66kl3N+Lslqjuu3MVzZz0b+39ryAEolkQNHeSc1AMyBJJJK+iXMOpP7igWRukvOovQb6/ojjndBfwpulAUkikfQrtqeX8fGOLJ78Uab1kLhnydbMZtu8PTSEB3irHkjOce3VDXL1XCKRdByTuX1V2Ay/gQmRRCLpfZy9efqLB1JTg/xvweDuMJK1N59ebyENSP2Up348ws0f7u5tMSSSHsfxYpFVbyQt4e/dGJ3tpbW95rw9NUQEeKkGpKTMCrXN0YKanhWwB1AUhfd/PUlpbfOcT7newVjanK1FIpG0RtMV89borgnR6sOFPPvz0W7Zt6T9vLn+BF/szmm2/eXVqXydnNsLEjWSWlTDok+S+41XiqRjdDSJ9jub0t323fawO6OcS9/eyg/78wEoqtZzy0dJVLcS8tq0ClvT8bLp593Ni6tS+TGloFuP4TjH/mIskwakfsrHO7LYmlbW22JIJD2O4wUop7+Slgjw1qp/+9n/9tBoiAzwpqzOFsJ2ILdKbXOkoLpnBewBjhbW8MKqVB7+JsVle0FVAwum3c0bQ0/rJckkkoGHsY+EsN3z2T4+3NbcA1PSO7y5Po2/f3+o2fb/bj7Jo98e7AWJGlm84hDrjxVzOH/gvf8kjVg6mAPplTXH3fbd9rD9ZDmH82tYf6wYgHc3p7PlRCnf7c875fdMTaqwGSxWlyplNfqerfj43q8neWD5/m49hmpAkh5IEolE0vVU6WwGACGkCUniHg9N46vt2SsmEubvRbCvJxGBthA2RVHIKKsnNsyXcH8vTpbW9aK03UO9wWZoLalxzRWWW6EDYFPo8B6XSSIZqDhC2PpKFbbeKgnd30pR/5ZxeOcazfKeDWRMHajC1lVeaQ1Gm6HHsfDrae9zrYVpufNAck4y7ZgHDCT6mweSrMLWz7FaFTQaOZGW/HZwVHuR9iMJwFd7cqhpMHPXGY0GEeecRpdNieGyKTEARAV6YzBbKazWc7KkjuERAZTUGiipaR7m1d9xhOpZmqzkOaqKaJX+oaRIJP2B9uat6I5VZmfjjd5kxddLe4rW3YPRYsXbo+ePK2k/HlqbEqWXIWwDGou1/TmQcisauuTY9UZb33IsaHmoBqRTGy3dVWHTGRv7aU/krWyqO0H3zrkd74T+Uo1NeiD1Q5xjWHXtiGeVSAYCFfW2lQedsWddWCXtQ1EUNh8vwermJdyV/G3FIf71yzGXbS2tTp0/fhBCwOe7s8ksq2d4pD9Rgd5sSy/jHz8ccqsw9FccuY8sTTwC8iptHkiizel+JRJJa7TVgLT5eAm1elOXrDInZVa4eBhWOuUVqe/k+/FkaR0fb8+ksr59K/09naTXalVYdaiwze8Zs8XK6sOF3eYpVW8wsym1BGjujeWQtSuT5O7JquhwRVqHN0hNN0zGT5bWdSg0Tm+ysO5ocZfL81umIzmQssvrO3y8ap2JLSdKAWiwG30c+rqX3WjZ2vjXNITNaLa6FD5ZfaSIktrOV2Ku1pn41S5rUxrcXKsSNzklu4r+5oEkDUj9EOekqLV6WT1I8tvCYRyoaiUJn6R3WXe0mNuW7umxfBzOynpVg4kLJkSz/i9nuLSJC/fjzNGRLNmaSYPJwojIANUr6bNdOWSWdVxpasrKA/kkLE6ktNbAUz8e6bCS31Ec7wlDkwldXqVtZbHSw69H5ZFIBjKOFfVTmSWKqvXctnQPD32V0ulJgqIoXPv+Tq767w51W0FVo9dAg7Fzi4svrUrlqZ+OsmLfqXOVgKvxrKcTMn+zN5d7P9/H8j1tS/b7/pYM7vlsH2u7yUjx2HeHuP3jPWSW1bt4ElitCiv25XHv5/v4YGtGlx3vrmXJvLUxrUPfdRiQukOXevqno/xtRftzPL3wyzHuWpbM/pzKLpfpt4pzOFhbvc0KnPSV9ho8H/xqP7d8lER5nUE1+qjeQ/bQgdY8MA1NjDdGi8XFoPP+rxlc/79d7ZLLHV8n53LrR0nqwrQz7hap86u6xjPLHQaZA0nS3ThbXWt7OJGYRNLbVNiVnZ4uvW6xKry+7kS3vkAGEnV2xWHdse5bTXQxGulMlNcZyK3QoTNamDQkmJFRgc2+MzM+VH1Rjx0USFSQt/rZzoxyxvxjFf/dnM73rSR5bI2nfjwC2CqZfLwjiyd/PNyp/bUXhwGptNbgcp1y7R5IOT4hLN2eya6Mcsb/c3WzXEkSiaTttGWSVWewvbNOFNd2epLg8PRxfh85vxM764FUY1+cdDexai5L48SuqcG6u3GE5LbVQO/IAecI8e1qThTXAjZPJOeQm1qDmWL7GJte0jU598wWK1U6E5mlHVv48LR7g3SHLpVZVtemvtOUDPsiTlUP63cDGWcPpLY+n9VOXtzt7R9Z5bZnLLeyQX0GHL8dOZFa83presymHkgAGR3s986U1RvsMjffl87Q3NjWHd56DtQQth4eQzuKNCD1Q5zzdUgPJMlAZ19OJUu2ZqgvD4cHUmtlQDvKPZ/u5d/rm6/o7cup5K0NafyjHVUpavQm3t18sltCo4xmK+e8tpnVh4tabKMoCp/syFKV5p7EoQAcK6xpU/vcCh0zn1vfLuW61kmhKKrRc+G/t7Lg5U0AhPh5uf3OhCHB6t+ThgYTFeij/v/K6lQMZisvrz7OQ1+ldLhUrN5kURVgh3v0miPF3PfFvg7tryM4JkhGi5WKeiNldQbe2ZTuonQ9/dNRXliVis5okVU9JZJO0BYDUnVD43jlMGJbOxhKVdXQfHLuYkByM/lpDw5Z2zJ5dPa0aU+Z8IFMncHs4sHgPPF0NzHtCI5KVDkdfL87vOC62gPJZLFSUKXv1H4t7axqKGkZlxxIbfRAcn7u23sfg3w9AVsYnOMZqFd/247fmoHQ+fga0TwHUlfhmEfklDd/htwZ4btz4dpovzfSA0nSbRQ7rRT3dCnDvkidwSyVlj7Ih9syeeKHzntdvLw6lecSj/HKmuMAlNvLsNcazJTVGbjqv9vZk1VBRb2RtOLaDuc2qG4w8fH2TFYfKeKN9Seafe5wqS6tM7S5AsSLq1J5aXUqG+05EbqSrPJ6TpbW80iTMu070stYeSAfk8VKdrmOJ3880itlndX7pDe3aSXym+RcyuoMbQqZAJtxzDnHQlGN3iW8N7QFA9LEmEYDkreHloiARg+kpuPpyMdXccEbW1h1qNDtvn4+WMCRguZ5Ho4X1eLohs5hcYkHG3Nv1OhN3LRkFz+lFKifHy2oYWNqxz22qhtMlNUZ+HRXthqqBnDTkt3MfG49r6w5TmG1nsvKGnNGpeRWAW039EkkbcVgtlDeTZ4efQ2jY8J7itdPtZPRxzF5by2ZbMv7aj6RcZ7odTaEzeGB0BZPEGf9q6dzIHWUpkl6u5oqncllwlulM6nvBOeJaWdyBDr0kILqhg6FDjrkK+hir+r8ygYsVoUGk6XDIY01cnG8y3AYt4Vo3bulVm/CalVcxpL2Gk2CfGz1uVKLahs9kAwODyTb7/Z4IIX4eWG0WN3K0dkcm459ZtsNSCaLlcp6I2aLlZqG5vPr7qz+JnMgSbqdHKfs+HXSgMRtHyXx+Pc9Gx4iaZlNqSVkldXz7M9H+XRXNoXVbVNOzBarW0PgSbvHxMG8KirrjeRXNRAVaJv0f7Iji/05Vdy+dA+XvLWV897Ywvf781sdgJ2P9cP+fJ744TAv/HKMp346qrZpuqKclGkzIB3Or2HWv9a7lVVvsrDok2QO5tkm5Q5vwfa+gI1mK3cvS2ZvdgVgM5YUVjdQozfxU0oBh/OrybCXntebLS6uvY+uOMifvzzAwlc28/GOLMCWaNNiVXr0xVRe3zhxbItXkeMaOUoLt8adnyRz4we7G49R7HqMOcPD3H4vMtCbmfGh/PPS8QBoW6moYbRYeeTbg3y7N4+7lyWjM5qprDeyZGsG93+xn0ve2sZJ+71QFIU6g1ldEZ43PLzZ/hyK2c6T5WxPL+dPy/erRqgXVh3jgeUHmnk+rdibp4bEOfpuncHMd/vyUBSFlQfyqdIZmfL0WmY+t54nfjjM8eJafjd9CGBT5Jy5tvQQB/f822XbAbshSSLpKq55byd/+TqFH1MKSFic2Cthkr+eKCVhcaI6XnYXjveFyWp7PhMWJ7KkSa4bxxiXU6HjvV9PAo2ThTfXnyBhcaKLt8A17+3g3Nd/dXs8d14Bzu+ZP3y4m4TFiQx7LPGUct//xT4mPrmGg3lVJCxO5IHl+0lYnEiR/V45Jnr/3ZxOwuJEl/diRb2RhMWJfLarMf/QqTwcLnt7G5e9vY1fDhWSsDiRu5Ylk7A4sVN9w5EX5VSLiOOeWM1DXx0AUI04rb2Tr/jPNi7691a3nymKQsLiRF5ancpj3x0iYXHza1zTYHJ5L7+9MY3X1p1oduyWrtc7m2zX+/r/7WTByxvdtnHsR1FgzD9W8/PBArft3LF4xUF2ZpQDtoTETXMOzXthA7cvTQJg1r/Ws+iTZD7alknC4kQXz6pavYmExYl8uitb3Zbt5BHVUY8Nd99LL6kjYXEif/7S1kcdC1OnvbiRmz/c7dJ22c4sEhYnNgt7AkjOqiBhcaK6AHXzh7s57UX317irOVFcS8LiRHacbNnjd+Zz67h7WXKnj7UxtZiExYmqDh3g5XHK52RTagmTnlrLw9+kuFx/RyL9v3x1gLFPrHL73aXbbX3j5g93q97M724+qeoeRouVf69P4/v9+UBjaGxZnYGExYl8ty+Pa97boY4HrsZXI8uTcvm/z5t7cC+yjyHOpNmv8fZ012t8OL+ahMWJJGdVOO270VM+YXEiox5fxbRn13Hr0iS3HuPVTYxKCYsT+bubqIQ1R4pIWJzoEmL8xA+HSVicSGZZPQlzH2FzcAJnv7aZ697fCTQa36UBSdJt5FToCLa7CHZXDiRFUbq9elJXYLZYOZhXzf7cnk+4d7Sghp0ny1EUhf05ldzz6V7e2pCGxarw8Ncp7Egv43B+NR9vzyS1qEYdzBRF6XBojDssVqXbKoqcav/utpssVv742V7uX9448DpeGK1x96d7mfbMOpdt5XUG1askraSOPfaB/49njgDg7Y3pgM0LzZEL4S9fpzDn+fWkFjV6VORV6lh9uEiV98GvDjD2idUoisKDXx3g013ZzUJ40kvq+Pf6NJZszaCgqoEtaY2VGkwWhcSDheRV6kjKbHwZJWdVsv5YMf+we15ZrLb7XFDV4DbE4WhBDdnl9c36Q3J2BWuPFvO3FYcwWazc8lES817YyOSn1vKn5fu59O1tPGk3KJgsCjOfW0+dwUxprYG8ygYunxKDEKgGpCMFNYx6/BcebuKttPZIEY9+m4Ki2O6l8+TFanX9v6RGz13Lkt26+jpTXmdgW1oZZXVGdSUqraS2WTtFUfjHD4fU5yLTvt/WKmtU6Yx8vSe3mVeXQ3meGhvCV3fPdfEsasq3987njtOHAXD22Cj+eMZwQvxsY2pEgM1zaeKQIL5YNId/XTmROoOZv36Twtqjxfywv4D3fj3Jc4mNXjznvPYrl729jVs+SmLik2tU5fDKaTHNjp1X2YDVqrAMRBz/AAAgAElEQVTzpE159/XU8sqa45gtVvZlV1JnMKtKl9VqG4cf/iaFj3dkUVKj59alSZz5yib+tuIgf/k6hQ+2ZvDnLw9w9muuE82HzxvNy7+frP4/OjpA/XtCfQlBFiPnjoti3OAgfjdtCHtzKtmRXqYawyT9FyHEhUKI40KIdCHE4t6SIzbUj+zyej6xj0PHi5uPA93Nd3aPxuSs7tURHGO4yaKoIcP/2ZTu0sad0ccRrvCmPWzaecFlT1Zli8Z3tx5IbsLaFOXUxpWfDxZSZzCrla9+tHtEOoZ+h8wO+fKdPBsdsjmMYXBqD4dD+dUcyq/mM7uxwbna1rGijvWN6lZyIposVhpMFlUPqTM6QuFPbdhIyatu0SvToZO8u/kky5NsxrOmHl9VDUaXbc5JuwuqGt9xLYUavm43Nu3KqGixpHpT77DPd7UtkTjAl3tyXf4/5OTNa1uw0rPpeCmKolBaa2D9sWLesfdnZ3myymx9/X9bGvtAjlM+mfbmjFGa9DtnHLrWygO2PnqytA5FUcivamimvzlkzXajr6yyh/07dLqtaWU9lttym13Onw+692q2WhXK6oxdkuT9m2TH2Ge7bv7eHqcsEe9YRNqXU0lVg4nhEf5AY5617/bnozdZ3eqy72yy3f9ThcI7e/Y79plmX/j7eEcWe5qM0X8+ZxQr7p2H81R0zrAwkv5+Dg+dOxpA1QOdjZo77LrVjwdcDaqOdAKrnNI+OMaNrWmuldiSsyqpdONt5DzGOo75xe7mz51jXDiU17gw5zCy/nrcJvOKyIlklNaz296vC6obSAj34y/njW62v75ItxmQ+ooC05dp66TfarUNkI4JR26FjgkxQUBjDqRDedXNJl65FTq+Sc5tMbmg8/EbjBa2pZWp2579+RhXvLO9yw0TiqKQnFXRZRbWnAodRnuoTltdZTPL6l2UtJ0ny1vMJVWjN6neJCaL1cWodteyZG74YBcfbM3gj5/uZVt6Ga+vO8H7W06yYl8eNy7ZzX1f7OOpn45y4ZtbuWnJbgqrG3h/SwbzXtyoJhkG930hs6y+1VXT/TmVTHtmLUu3Z6lGgAajpd0VLHLKdaS5Ue7NFitTnl7L803KpBvMFqY8vZZX1x5Xt+mMZj7dmY3RbOVwfqPi9eHWzBYTVuZV6jhWWIOiKGxMLaHBZHGZwB63K5Xnj4+mVm/mhVWpeGk13DQnjpFRtgnxy1c3TpLjwmyVpSp1Jv6VeIxtaWXkVug4/aVN3PPZXtYdLebRb1PUl/clb21Tv9tUgdh8vJQ31p/gucRjXPjmFlDg6z/O44bZsQwO9mF5Ug7XvreTa9/fqZ7fPvt199AIVQkDSM6uZNoz61i2MwtAvU8Xv7WVM1/ZzMjHV/HnL/ezZGsGj36bwuf2F5KHRrDlRClb08pcvFlmxodS7JQLrcFkYeKTa5j1r/UA/GFuPN/eM58JMUFMjwtBI2wTgp9SCkgvqWV7ehnf78/j7k/38nVyHku2ZvLi6lRG/2OVOtm485M9XP3eDswWK5/vzubGJbtZd7SYmz/arfbX5Uk56ovSwb2f7+MPH+7maEENE4cE4++lVZWE9JI6NcloXmUDn+3K4fPd2SiKoirrzqFXTVEUhUe/PcijTaq7nDk6kpQ8mwL8xnVTmePG86clvDw0PHbxOH55YAHr/3Imfl42o9dzV05i/sgI5gwPZ+ygQC6YEM24wUF8vCOTNPvEaXpcCEl/P4cgHw8O5VerytPypFwiArxYMCoSgOER/sxKCAXg1qVJzH9xIx/vyGJGfCj3nTWCzcdL+TGlQM0PcOnb29hwrJgFL29yWd2a/fwGtqeXU1xjINHeh9/eYFOUncMEb5oTx5/OGYWHkzfXp3fO4cY5cQT7ehJmtl3jJbfOYtWfF/DcVRNJCPfnxiW7Oee1X9V+LOl/CCG0wDvARcB44AYhxPjekCUu3I+8ygY1iWthD1cidKa7Q2IcoWgWq9JiNUd3Ro6mupDDQO9svHcXjua8LzUstoXJelty4LXUpqnMzslm86uaf6clY5XzebqbgBZ3sG845GvJgJTf5H1S00r7pvK50yuz3Vwrh9epo69XN5jU8bwpzvqQu0pP7nCX87ErEvpOGRqMr6fWxdDi/C4pdVO23LnEu7v8S877aq8HkiOvobvvNfUmyqvUuRia3OnR7uRz5B0zmq1NCnF0X3iSA4fHXEtTq+4oE19uv5/+3tpTGpMd97WwWk+VzsiIqIBmfQOaP1PumDOs0QM80Nuj2edVOhPVDSY1fNJdntARUQHMiHf1JF+0YDhRQT5cNW1IE9kbZXR4LylN4omNbvLOOfqZ87M6dlAgBrMVRYE77QuNTdtD23KPldY171OH7POjem1jmoVqnYkqnYkbZsdx7azYVvfbF2h+V7sAJwXmPCAP2COE+FFRlKOn/mbX4nhQfDy1gK1cX26FjjtPH+aSYDWvUofValN2cit0NJgsjI5uXr2nJQxmCwdyqpg0NFidfDSlSmfkPxvTuf30YQwJ8WXF3jxeX3eC9/4wg+/253Hj7DjWHClienwo80dEoCgK+3IqGTMoiOve38mRAluHW3nfaeRU6DhtZAS7Msqp1dvCKa55fwdzhoXzyR2zOV5US0SAF3/+cj/7cqpYMCqCT++c4yJPVlk9Ny3ZzdOXT+CccVH89ZsUEg8Vctv8BJ64dDwrD+RTXm9k3dFikrMrefDcUS7nlllWzxe7s3nw3NH4uxkcWuK7ffk8/E0Kt5+WwJOXTXD5zGi2cii/iulxoQjhPqwkt0LHJzuy+NM5owj29VQncharQlaZDk+twFOrYd3RYqoaTDx07iiXfRnNVs56dTMA+584j4yyem74YBeXTB7MI+ePobzeyC+HCrlsSgxRgd7c98U+9udU8fB5o3nv15NEBnqz4t756IwW1eDw/C+pALx/8wwe/PIAb6xrtLI3HXiX787hiyRbrpfX1h5HUWweD//bksGlU2L456XjqdWbeXfzSb7ak0OInxfPXTmRUH8vPDSCuHA/gnxsnhKltQbuWpZMjd7MxzuyOJRfTb3BjLenlp9SClhyy0zOHR/d6j1RFIVFy/ZQpTOx7qEz2ZVZzujoQJKzKnjkW9tE/YOtmdwyL4E6g5n4cD+e+ekodQYz72w6yXnjBzE1NoTX155giT3XTmSgN6W1Bl783ST+8cNhFry0iQAfDyIDvIkN82Xe8HBunpfA6S/ZEh4/d+VEVZ6VBwo4a0wk0+JC2ZpehkbA5VNjWHu0mMyyeu5dOAIfTy2f3DGbkho90+JCWXe0mP05lTx8/mj+/OUB5o8IZ2taGVvTypg8tDHnzd2f7nU596NuVhg1AmLD/Hhpte2+/n76UOoMJm6cE8/sYWHMHhbGO5vS1ZxMAJ/tyubGOXFq/p59OVXMfWGDauTZYl/5+OfKI/x300lmJIQyt4mRY+WBAnVlzUFuhY4PtmYQ6ufJJ3fM5vw3fmVYhD+vXTuV6c/avLUunDCI1UdcE2lPGhKMr5eWxAcW2IxVJgubj5fyf5/v49zXt6jtYoJ9KKjW8y8nA+FXe3LZll7GpuM2mR/77hDf7G3MS5RdrmN7ejkzE0J53u6Fs2BUBCW1BqbFhqirhPlVDcyID2VkdCDrjxVTozfxc0ohQsBHt81SDdtJmZUczq9RFdWCKpuHzr6cSqbGhuCh1XA4v5pv9+axNa1UdccG2PuPczlWWMuc4WF8sDWD3AqdakRsLzEhvgDcMi+e5xKPMSzctvqm1Qh+eWABGo3g6+RcHv32ICeK6/jd9CG8evUUNBrBT386nU93Zqv9HyDQx5OYEF/GRAdy/oRoFi0YzpSn16rKeaifJ3ctGM6shFDe2pjOX75OQSNscuRVNnDnJzYXdueV4lA/T0L9vNRKNeCaSPyG2XGcPz7apW9dMTWGlQcKiA7y4fmrJvH8VZNg0/Mu5+7n5cFjF43l7k/3Mm5wEFOHhnToGkr6BLOBdEVRMgCEEF8CVwA9qn8BxIf5YbY2euS05r3YHTiHjXUnzolP01tY+HHrgdTEgJRdoWM+qCFkYJN9zCBXndTZoKA3WfH10lKlMzEoyMflu2Abs0e50WmdJ5OOcCZnQv08m02qna+jO++OlkKynBdo3BnYsis6VlHJcU1b8ihyNvYYzVa1XbUbby0HzjmB8iobGBEZ4PK5u/POLq9nzKBAtb/ZciC1bhxqa2Lg7Ip6Jvu5jstNz7mtyXedJ+tldUbiwvxczsn5mh3Ma/RMcrxrXPqA/b45G0SyK3QIYdvW3gTMjtxb7gxITftIdrnORdZKnYkwfy8XeXLc9CtHaoG8ygYXY1l2ua7F4htdhWMsbCk3nLNxrs5gJqAd86umOBapK+qNCAG+Xq0YkOyyGc1WThTXMWVoCHFhfuRU1LuMU9kVOhLs3kktoTdbiQ7yprjGQESgt4ue4iDH6f65y8PliLRxJj7cpt/FhPioC6Ngu3fjBtscKxz9s6LetQ85FiedC1FVN5jUvurg9JERqhf4GKdxc1CQj8u46/zMWK0KGqd0CI7r7PDGczZUbku36daH/BvnZ8n2dBWO8+sPiO4IfRFCzAOeUhTlAvv/jwEoivKCu/YzZ85UkpM7H+/ZlCVbM3h380nOGB2Joij8YJ+cxYf7MSM+FL3Jwu6MCsrrjfh5ablwwiD7RMeMn5eW2FA/NBrBuMG2DmQwWUnOriDIx5Os8no8tRqGhPiSXlqHothetrMSwtiZUY7eZCE+3J/BwT5q1RvHC3R0dAAnit0rGIE+Hpw3PpqSGgPbnOI3L508mJ8PFjIyKoD0kjqevnwCb64/gcWqMHZwkDppu2TyYFYfLlJfEFqNwGJVuHJqjEvnPlZY26J77oJREc3cEGfEh7p07OSsSnIqdEyPCyEhwp+cch2VOiNThoaAsCUoTM6qYOzgIDU0xGpV+OVQEUaLlQBvD86f4GrcSC+p42BeNQtGRRBpz3FjsSokZ1UyKjqAMH8vDuRUkVFWT2yYL1Zrc68RwGUwOHtsFPUGszq5rdAZ2Xy8tNl3nK/VqXDs29H27xeP5flfUlkwKoJPbp/N7R/v4dcTpUQEeKurTHecNoyPtrsmMR4c7OOyGuvjqUFvshIR4IWHRtNMAXQmNswXjRBkl+vw9tBw6eQYt4mHHX0a0dh3p8aGNBr8FJvHjMmiNLuOXlpNi8pImL9Xs6TI546LZldGufrC+vLuuXy0LZN3bppOVlk9H2zNoLrBREmtgfI6Y4vKfLi/l7pacvbYKJKzKpg3Ipw3rpvKI98e5JoZQ1k4JqrZ98wWK1bFVpbWYLayMbXEJV76iqkxTIsNcclxNCzCX1Vkl94+i3qDmbPGROGp1fCfTem8tSGNISG+bH30LJdnB2z97vSXNqIoNu+SjLJ6Arxt8eURAd5u79+wCH/C/L04mFelrlbPjA/ls0Vz2JhawgurjpFb0cDM+FDOGRdNSa2epduz0GoEj100lkULhmM0W9EI8NBq2Jtdgb+3B2MHBbE3uwIvrZZgX0/yqnTMHxHR7Pi1ehNzn9/AuMFB3Hn6MHy9tJwxKpJ3fz3pYgxz5rIpMS5JnqfFhZBTriPAx4NhEf7qs+R4LqICvV1W0G6bn8CwCH813O6sMZHkVTZQXm8kIsBLHQfHDgrkZGkdl08Z4tKXxw8Oot5odquwxwT7sOOxc9zK3RkURcFoseLtoW32md5kUcMFn71yIjfPjVc/s1oVVqbkMyIygMv/s53R0QGsfehMjGYrHhqBRiPUWP23bpjGpZMGq/3q9XUneGtDGpdNieG1a6Zw7fs7OZBbxdUzhrLygG2fX/1xnqpMjvj7L0BjH/bz0qIzWnj1milcPWOoi8xWq4LZquDl4eRwvHCh7ffmzS7nvfZoMXOGhXWbEi2E2Ksoysxu2bkEACHE1cCFiqIssv9/MzBHUZT7W/pOd+lgO06WueQpiwn2UZX8niIps4Jag5nIQG8mO1Vg7GqOFdZQYH+nDw21GYG1GsHC0ZFu2zhzztgoNthDMYZH+DMswp8avUkN6ZgaG0K4v+szmVlWrxqSF4yKwEur4UBuFXHhfuzPcc1nNnZQIEPsBnJn9GYL29ObG44cTIkNISW3inPGRrHxeAmKYhtzHKEtqUW1zXSH8YODGBzs02xfVQ0m9ma37NnY0b6RlFVBrd5MoLcHs4c1z3tXWK1XF4pOHxnBvpxKdEYLoX6eTI8LdbtPZ1mnx4U0K8jgKGDhjOMabz5RisWqMCjIhxA/T1KLahk7KLBZHjoHM+ND3U6UNzQJ0Z4yNLhZWHZTOXw9tcwf0br3rdFiVXV8fy8t8+0L0rMTbNevtM6gGo6GR/o3K5ceF+bHKLsH+ImSWnIrGvDSalgwyqZ37MmqIDrIh7SSOibEBDEoqHl/aImtaWUYLVYiAryZMtT1eT2YX+3iETUkxJeIAC/V+3jOsDD1HbklrRSTRXGR1cHenEqqdCbC/b0YGRWghhC5u8ZdTUpelRrePyuheX8trtWrHvzzhofj59VcD2kruzMrVJ3cS6th8tBgTpbWtdjvt58sIyLAWzW03LVgGFnlOnZllDNlaIg6Jx03OIiYJs/4rydKVe87gJF276VD+dXMTggjySnvkIMpQ4MpqzO2GD648r7TmBIb4pLjKPXZC1WnkIlPrlHPb0x0IENDbWNcSl41ZXUGAn081D4NthC98nojIX6ezLBfgw2pJYyKClCdEQA+vn0Wty3dA8AP953Gle9sB2xjQUZZvfrd/KoG9bk+Y3Qknk7zhF0Z5dQbLQwK8mFCTBBmq6KG0LnD8Zz98sACxsd03zuyK3Ww7jIgtarACCHuBu4GiIuLm5Gdne12X51hb3Yl/92UrsbdD4vw5/bTEnh59XHqDGaEgGERAehNFjw0gpwKHeEB3swdFkZZndGWm8SqqIYAR3udwcyMhFAq6oxkltUzIyGU0VGBrDlSxLGiGmbEhTI4xJfdGeVU6UwMCfUlu1zHvOHhHC+uRSNsqw7Xz4rll8NFTI21Tcq0GkFepY5yu7V4Wmwoh/KrOWNUBE9fMZF3N5/k893ZeHto+O9NMzheXMs7G9OpN5qZMjSErPJ6qhtMjB0URFFNA1qNhreun8r/fb6vmTVfCFg4OoqD+dV4e2iYGR/KQ+eN5i9fp7A/p5Jwfy9iQnxJK6ljZnwo20+WuVhovT00zEoIU7cHeHsQ5OvpYkUeFuFPboXOZVAZHR3IbfMTeOrHI80MFJ5aDZOGBLM/t9LlWMMi/MmrtOWQ8fLQMGdYGNvTy4m3u8ePjg5Ab7KiYJsEGcxWfjdtCCl5VWxNK8PXU0t4gJc6KI6ODuTmufG8vu4EMxNCmTQkmP9sSicm2BeL1fbCKazRozdaGDc4kFvmJ/DED4dZtGAYPh5aVh8pYlt6GXFhfiy9bZZ9Mmx76aw6VMgLq1L53fQhjIkO5Lv9+bx9wzS+Ts7l4kmDWXWokNHRgYwdHMT3+/Ko0Jk4nF/N2zdM41B+Nf/bkkFGaR3zR0ZQXmdAUWB8TBD5lQ3UGczkVTaoBrkqnYnFF4219eulexgc4oOnVkNGaR3PXjmRdzalqxNvR9/NKqt3cd+MDfWjtM5AqJ8n/t4e5Fc2cNOcODakllBWZ2TSkCD8vDzQCMHBvCrOHB3J2qPF3DIvnlkJYTz+wyFC/LxIya3CS6thZkIoQT6e/OPSliMmjGYrf1q+D0+thtNGRpCUWYHJYmXBqAjmj4jg4W9SiAr05oB9n69fN5Wpse3ziKjVm1j0STKjogOoqDfy4u8nE+TjyerDRdTqTXy7N48Pb5tFZmk9zyUe5cPbZrms9FQ3mFixN49LJg8mugXlp6haj0VR8PbQcO9ne9EZLbz0+8l4ajU8/v0h3rhuKgHeHlTqjOzJquCyKTH4eXlgtSq8tTGNX0+U8uZ1U4m3e7ooisLXybmcNSaKqCAfGowWvtyTw7njoontoFdNU+oMZvy9tM08/DJK63jk24NcNyuW5Uk5nDEqkrGDArlo0mA+3JbJnswKzhsfzdwR4WSU1vHqmuOU1xtJCPfH20NDVJA3k4eG8OWeXHQGM3edMZxv9+Zx78IRnDYigvu/2MfFkwZz5bQhnCiu5aGvDlDdYGLOsHAO51dTbzRz0cRBLBwTxb/Xp2G2WhkS6sehvCoGB/v+P3v3HR5VlT5w/Htm0jtphB5KIDSlhN5Viq6r2LCiqAi69rL7W13dXcta14oVEcUG2NBVEaRLh9ADJEBCSCE9pPeZ8/tjJiEhnUwySXg/z5OHcOfeM+8tM5l57znvoaCkjL4dPdFYvjj955pBdPd1q7XHZ3NKyi5kVUQys8K61dr7cvXhZHoHuNMnsOpd/3VHU+jm61ath2uZycwP+xKZPiAIbzdH9sWd4aXfIvl4dhgmrfFxdaySxFwfmUKgpwsORkVsuqXX1XO/HGbh7WEVPRTrVEMCqSVIAqn5NTSB1BKfwfKKy7j3iz3kFJXi5mSsMmy7pSgUHs4O5BY3/6xOns6OFJaaKDObcXOy1Bspr4NXroObE0opCorLcHY0kFdUhklrHAwGHI2qYogLUJHErm14vpujAyatqzx+/bCuHEq01NbzdHEgv9hEQWntx93FwYhJa0pNZjydHSkoNeHsYEABd47ryQebojGZzTgYDDgZDdXacndyoNC6DVAl/nOV70+pyYybk5FSk8bNyYhZ6yZNj+3j6lRj/adyjkYDRqUoKjOhUHi7Ota5fuVYazv25cfNqBRm600HAKNSuDs7VAyZDPJy5YrBQSzZfgofV0eUsgxhc3U0olC1npvy423WloE4tcXRr6MXQ7r7WHrdF5RU+XxXFxcHI65ORh6Y0of0vBI+3BRdZciPk9GAUoriMhNORgMGpSg1Wz7vnNuzyt1anNlU6bnvHt+Tnw8k1VvT8FwGpfB0caj1eii/Rl0dDVWSIwbr+S1nVAoXR2ONU7EDeLk4VpwjZwdjxY2jllD5uWtS0/6cD4XC3dnyvjugkxehQV78sK/2WW4NSjF/Ym++2nmKvOIy/m9GKFkFpRXXhouDscq1XpnRYMDZwYDZrHFzduCv0/pxNCmHr3fF8ZfJvVm0+SQlJjNero7cMLwrK/YlVlwbHs4OFJRYrjNLnSYTRoPio9lheDg78OWOU6w7mkKwv3uVkSsfbIxm7VFLrahzXx+ezo7kFZdVG8bm6exY5W+B0WDgvkm9Wbz1JA4GRWcfV168ZjB/+Wovzg4G3rppCPd9uQc3JwdG9fKtVrLB2cGIonrPy5r+7lS+zjyPHCLP6IzTwP4V8Qd6uvDBbcNqvHlpK+0igVRZc939EkIIIcQ5JIHUbjW2BzjIZzAhhBCixbSDz2DNdfs2EahcBaqrdZkQQggh7KmFP7SIFrUbCFFK9cTyuesm4Bb7hiSEEEIIoF18BmuuWdgqPsAopZywfID5XzM9lxBCCCHEBU9rXQY8AKwGjgLfaK0P2zcqIYQQQrQXzTKEDUApdQXwFmAEFmut/1PHurnAuVVcuwNxNaxuK95Adr1r2b/Ncs11PJoz5uZsvzmvDzkmNWuuuNvi66acvI+c1Zxxy2um5dpuzmPST2vd8ClORYuo5TNYfWx1/dmqHVtet7Jvzbd9ZbbaLzlfLdeO7FvD2CKm1rZfcr5arp3m2jfbfQbTWtv9BwivYVlaMz/nwrbQZnMfj+aMuTnbb87rQ45Ji8fd5l43zRl7Wz0ezRy3vGbawTGp6W+9/Nj/53zOi62uPxu2Y7PrVvat+ffJlvsl50v2rT3uW2vbLzlfbX/fbPkZrLmGsNlCVv2rNMnPbaTNcs11PJoz5uZsvzmvDzkmNWuuuNvi66acvI+c1Zxxy2um5dpu7mMi2gdbXX+2aseW163sW/NtX5mt9kvOV8u1I/vWMLaIqbXtl5yvlmunNe5bFc02hK1RQSgVrs+pCl7TsguZHI+q5HhUJ8ekOjkmVcnxqEqOR3XNeUzkeLdO7eG8tId9qE173TfZr7ZH9q3tkf1qe5pr32zZbmvpgbSwgcsuZHI8qpLjUZ0ck+rkmFQlx6MqOR7VNecxkePdOrWH89Ie9qE27XXfZL/aHtm3tkf2q+1prn2zWbutogeSEEIIIYQQQgghhGi9WksPJCGEEEIIIYQQQgjRStk9gaSUyrN3DK2FUmqmUkorpULtHUtrU991opTaqJRql2NhK1NKdVVK/aSUOq6UilZKva2Ucqpj/UeUUm4tGaM9yPvIWfI+Ujt5H7GQ9xHRFrX367Y9/h27EP4etbe/K/I6a3vkdSavs5Zm9wSSqOJmYIv13wZTShmbJxzRmiilFPAD8KPWOgToC3gA/6ljs0eAVvOGI1qEvI+IWsn7iGiL5Lpts+TvURsir7M2S15nbUh7eJ3ZvQaSUirPz8/PPTg42K5xCCGEEKL57NmzJ11rHWDvOERV/v7+Wj6DCSGEEO2XLT+DOdiikaYKDg4mPDzc3mEIIYQQopkopU7ZOwZRnXwGE0IIIdo3W34GkyFsQgjRworLTPYOwX4mT7b8CCGEEEIIcSFpB5+DJYEkhBAtxGTWPLxsH+Ne3kBOUam9wxFCCGEHecVlPLxsH5n5JfYORQghhGiU804gKaX6KaX2V/rJsVYI/7dSKrHS8itsGbAQ4sJjNtu3VpstaK15+sdD/LT/NOl5xXwbnmDvkIQQQtjBsl1x/LT/NO+uP2HvUIQQQohGOe8EktY6Sms9RGs9BBgOFAArrA+/Wf6Y1nplbW0opRyA4vONQQjRvpnNmhd+OcKwF9YQm55v73Ca5OVVkSzdFc/9U3oT1qMDS7bFYmoHiTEhhBBCCCHEhcFWQ9guBaK11o0tzjQQiLZRDEJU2Bt3hj+Opdm8Xa01m46lsT4yxeZt20pRqYlFm2PYH5+FvWdZrInWmqve3cLti3eRnF1U63rFZSYeXLaPRVtOklNYytVE0i0AACAASURBVOtrjrVglLb1/sYTfLQphtmje/DEtH7cOa4ncZkFbIhMtXdoQggh7ETT+v5GCyGEEHWxVQLpJmBppf8/oJQ6qJRarJTqUNMGSql7rds8baMYhABge3QGNy3cwT2fh5OaU3uCorH2nDrDjR/t4I7Fu7jvy70UlbbOQsjfhsfzwq9HmfneVi55fRNvrT3WqnrvHEzI5mBCNn8cS2PG23+w+nBytXWyC0u5Y/Eufj2YxJOXh3Lf5N78fOA0EYnZ9ba/ISqVyOSc5gj9vHyx4xSvrori6iGdefaqgSilmDawI528Xfh020l7hyeEEEIIIYQQDdLkBJJSygm4CvjWuugDoDcwBEgCXq9lUzOWYW8vpqXZvqeIuDAdTMhi7pLddPFxpcyseX9j0zu4HU/J5Z7Pw7nug23EpOdz04huFJeZ2RGTYYOIbe+HfYn07ejBq9dfRCdvF95ed5zJ/93I1e9tZcU++9fdWXU4GaNB8cNfxtKtgxvzv9jDkz8coqCkDICk7EJmfbidPafO8NaNQ5g/qTfzJ/XGx82RV1dH1dn2vrgzzF0Szr//d7gldqVeP+1P5J8/RXBpaCD/veFiDAYFgKPRwG2je7D1RAbHUnLtHKUQQgh7UCh7hyCEEEI0ii16IF0O7NVapwBorVO01iattRn4GBhZ00Za64Va6zCtdVhAQIANwhAXuuMpudyxeBcd3J1Yes9orh/Wla93xpGUXXhe7eUUlfK37w4w/a0/2B6dweNT+7Lpr5P591UDcXYwsDGq9SU+Y9Pz2ReXxbXDujIrrBtf3zOa7X+/lH9c0Z+iEhOPLj/QoF48zUVrzaqIZMb08mNY9w58f99Y5k/qxbLdcVy5YAu/HDzNte9vIzGrkE/njGTm0C4AeLk4cv/kPvxxLI1t0ek1tp1fXMajy/djMmv2nDpDfnFZS+5aNRGJ2Tz+zQFGBvvy3q3DcDRWfbu9eWR3nB0MfLYt1j4BCiGEsCsZwiaEEKKtsUUC6WYqDV9TSnWq9Ng1QIR1eTel1Aal1BGl1GGl1MPW5b42iEFc4OIzC7jtk504GA18efcogrxdeOCSPmj0ec9y8spvkXy/N5E7x/Xkj79N4cFLQ3B3dsDF0ciY3n5sjGp99WtW7EtEKbh6SOeKZUHeLtwzsRff3jcGLxcHu876cjw1j5Pp+UwfFASAk4OBJy/vz1d3j6Kg2MQDX++jzKxZPn8040P8q2w7e0wPOnu78MqqqBprO73w6xFOZRbw8KUhlJo026Pt20Psg03RuDoZWXh7GC6OxmqP+7o7MXNIF37Ym0BWgUzlLIQQQgghhGjdmpRAUkq5A1OBHyotflUpdUgpdRCYAjxqXV4GPK61HgCMBu5XSg0A/t6UGIRIzSnitk92UlRq5ou7RxLs7w5AN183ZoV145vweOIzCxrV5sn0fJbtjueWkd155soB+Lo7VXl8Sr9AYjMKONmKagtprflxfyJje/vRydu12uNeLo7MGdeTVYeTiUq2zbCpkjIza46kcP/Xe7nug2319vpZFZGMUjB9QMcqy8f28ee3hyfwxLS+/HDfWAZ29q62rYujkUem9uVAfFa1uklrjqSwdFc88yf25i9TeuPmZGRTMxRRb6j4zAJ+O5TELaO64+3qWOt6c8YFU1RqZvnu+BaMTgjRVtR1800ptUYpddz6bwfrcqWUekcpdcJai3KYffdA1EWGsAkhhGhrmpRA0lrna639tNbZlZbN1loP1lpfpLW+SmudZF2epLXea/09FzgKdAGubkoM4sKWXVDK7Yt3kZZbzKd3jiA0yKvK4w9c0geF4r0Njet18/rvUTgZDTx4aZ8aH5/SLxCgVfVC2huXxamMAmYO6VLrOneNC8bdyci7jTwelZnNmt2xmfxjxSFGvriWez4PZ8vxdPacOsN3e+qusbQqIpnh3TsQ6OVS7bEO7k48cEkI3Xzdat3+2qFd6BPowauroygzmQFIyy3m798fZEAnLx6b2hdnByNjevmx8Viq3Wah+3RrLAalmDM2uM71+nfyYnQvXz7ffqpif4QQopK6br6t01qHAOs4ezPuciDE+jMPS11K0UrJEDYhhBBtja1mYWsUpVQwMBTYCXSsc2VhU3nFZWyISuVEal67+ML61I+HiE7LY+HsMIZ1rz7hXydvV24Z1Z1v9yRwKqNhvYUiErP55WAScyf0JNCzeqIDoLufG7383dnQiuogrdiXgIujgcsHd6p1HR83J24fG8wvB08TnZbX6OeITM5hyusbueHD7fywN5FJfQP4dM4Iwp++jKHdffhky0lM5po/EMdlFHAkKYcZ1uFr58PBaOCv0/sRk5bP93sT0Frzf98fJK+4jLdvGoKTg+UtbVK/AOIzC4nNaFzPM1vILixl+e44rryoU409wc5157ieJGYVsvZoSgtEJ4RoS+q5+bbEutoSYKb196uBz7XFDsDnnNICQgghhBDnrcUTSEopD+B74BGtdeuZa7sN+PnAaZ7+8VCtX9DrkphVyIsrjzLmxXXc+eluLntjEwP/tZorF2zmiW8PsGhzDMdbyWxQkck55DWgAPKqiCR+PZjEI5f1rVYvp7K/TO6Ng0HxzrqG9bp5ZVUkHdwcuWdirzrXm9wvkB0xGRSWmBrUbnMqKTPzy8Ekpg0IwsPZoc517x7fE2cHQ6N7ZcWm5zP7k10Ul5p588aLCX/6Mt6+aShTQgNxNBq4Z0Iv4jILWHOk5kRI+bCz6QPPP4EEMG1AR4Z19+HNNcdZvDWW9ZGp/P3yUEI6elasM6mvpTD/Jjv0EFu2K478EhNzJ9R9/ZS7rH9HunZwZfHW2OYNrA36+cBpHv/mAObzeM8Tor059+ZbeQ9vIJmzN+O6AJXHxCZYl53b1jylVLhSKlxmwrUfGcImhBCirWnRBJJSyhFL8ugrrXV53SS57d4AZSYzL648ypc74liw/niDtzsQn8WDS/cx8dUNfLLlJJP6BfDZnSP47w0XM3t0Dzq4ObExKo0Xfj3KVe9uJT2vuBn3om5FpSae/fkwM97azK2LdtaZmDmTX8LTP0YwqIsX8+pJ9AR6uTB7dA9W7Euot9fNthPpbD6ezv1T+uDlUnvtGoApoQGUlJnZHlPzrGAtaWNUKlkFpVwztPbha+X8PZy5dVQPftp/mrgG9tBJzi7i1kU7MZk1X84dyTVDu+J+TqJq2gBLImTR5pga2/gtIomBnb3qHKLWEEop/m9GKMk5RTz/yxEmhPhzx5jgKuv08HMn2M+txesglZrMfLYtljG9/BjUpXodp5oYDYo7xgSz62Qmh0/bb4a81qbMZOallUf5fm8C3+6RGlHiwlbXzTdtGavbqCyrzITbOsgQNiGEEG1NiyWQlFIK+AQ4qrV+o9JD/2upGOpzOquQghL7Tv1dm41RaSRlF9G3owdvrzvOthN1Jy3S84q5eeEOrn5vKxsjU7l7vGUmsXdvGcbkfoFcP7wrT185gC/uHkX405fx60PjKSoz8ZmdekFEJecy872tfLo1lhkDgziYkMWjy/fX2vPg2Z8Pk1VQymvXX1xtevSa3Du5N84ORt5ZV3vyTWvNK6si6eztwm2je9Tb5sievrg6GtkQaf+7tyv2JeLv4cSEOnpiVTZ/Yi+MBsX7G+vvhZSZX8Jtn+wku7CUJXeOpE+gZ43rORgN3DWuJ+GnzrAv7kyVx1Jyitgbl8WMJvY+Kjeqlx+X9Q+kg5sj/73hYgyG6ndxJ/UNYEdMJkWlLddDbOWhJJKyi7hnYs9GbTcrrBuujkaWbIttnsDaoJURyZzOLiLA05lXVkWRXVBq75CEsIvabr6VD02z/lve3TIR6FZp867WZUIIIYQQTdbUWdhirTOu7VdKhVuX1TgzCDAOmA1cYl1/v1LqCuDlpu2CbZzKyOeS1zdy6eubqs3w1Bos3RVHoKcz3947ll7+7jy8fD9puTX3FkrNKeKmhTvYH5/FM1cOYPtTl/LUFf3p4lN7PZaBnb2ZPiCIz7fHNmj4mK1orVmyLZY/v7uF9DxLIewPZw/nH1f0Z9XhZF767Wi1bdYeSeHH/ae5f0of+nfyqqHV6vw9nLljbDD/O3CaY7UM1VsVkcyBhGwendq3xmnXz+XsYGRcHz82RNmvWDNYau6sO5rKny/ujEMDkmlg6ZV104hufL83gcSswlrXyy0qZc6nu4jPLGDRHWEM7lp3r5pZI7rh6eLAos0nqyz/3fqaakr9o3O9f+twNjwxmY41FOQGSx2kwlIT4bFnanzc1rTWfLw5hl4B7kzuG9iobb3dHLnyok78FpFMSVnbr03WVFprFlmP5adzRpBVUMKba4/ZOywhWlw9N9/usP5+B/BTpeW3W2djGw1kVxrqJloZGcImhBCirbFFD6QpWushWusw6/9rnBlEa71Fa62ss7MNsf6s1Fpn2CCGJtFa8/SPETgYDHi7OjL/iz3c83k4p+v4Yt2STmcVsiEqlVlh3fB2deS9W4eRU1jKo8v3V6uHlJxtSR6dzirksztHcPf4nvXWxCl37+Te5BSVsXRnXHPsRjXpecXc9dlu/vW/w4zr7ceqRyZWzG529/ie3D6mBx9vPskXO05VbJNdUMpTKw4RGuTJ/VNqniGtNvMn9sLDyYFr39/GC78cIeHM2eFbZSYzr/0eRUigB9cO69rgNif1CyThTCHRabUX6E7LLT6vulWV5RWX1Tqkb+WhJEpM5gYNX6ts/qTeAHy4MbrGx4tKTcxdEs6R0zm8f+swRvfyq7dND2cHbhnVnd8ikojPPHt8Vx1OpleAO30CPRoVY12cHAz4uDnV+vjoXn44GQ1sOtYydZB2xGQSkZjD3PG9auwRVZ/LBweRW1TG9hi7vyXa3a6TmRxMyObu8T0Z1MWbW0Z154sdp4hMlrJ54oJT1823qUqp48BlnL0ZtxKIAU4AHwN/sUPMooFkCJsQQoi2pjmGsNU2M0ir9b8Dp9l8PJ0npvXl5wfH89QVoWw5ns5lb2xi0eYYu89Wtnx3PBq4cYSlV3pokBfPXT2QLSfSqxRCPp1VyI0Lt5OaW8znd41kVAO+8Fc2pJsPY3r5sWhLDMVlzTvsp6TMzG2LdrI1OoNnrxrI4jkj8PdwrnhcKcU/rxzAJaGB/OunCDZEWpIAz/96hIz8Ev57w8UVM241VAd3J769bwyX9g/k022xTHptI/d/vZd9cZbp52PS8vnr9H4YG/Hlf7K1WPPGWoo174jJYPRL67h54Y46e/rU585PdzHulfX8YJ15rLIVexPpHeDO4AbW3CnXxceV64Z1ZXl4PCk5RWitScq2JCs/2BjNrYt2sis2k9dnXcyl/Rs+WeKcscEYlOJT63DIM/kl7IjJZMbAICw301uGm5MDI3p2aLE6SIs2x+Dn7sS1wxqXyCs3trc/Hs4OrIpofT0gbSUyOYd/9JxKlGvdQy0/3nySDm6OXDvUksx9fGo/PF0c+NdPh23W289s1pzJL7FJW0I0l7puvmmtL9Vah2itL9NaZ1rX11rr+7XWvbXWg7XW4fbeByGEEEK0H01NIGngd6XUHqXUPOuy2mYGaZWyC0p5/pejXNTVm9ljgnE0Gpg3sTe/PzqRUT19eeHXo1z93lZ22KlXQJnJzPLd8UwMCahSfHhWWDdmDunMW2uPsSMmg/jMAm5cuJ3M/BK+uHskYcG+5/V8903uTUpOMT/tO22rXajRu+uPE5mcy/u3DOOOscE1JhYcjAYW3DyU/p28eODrvXy0KZrv9iRw76ReDS5QfK7QIC/evmkom/82hbkTevLHsTSueX8bz/wUwfAeHZg6oHGXazdfN0ICPdgYVT1JkZ5XzENL9xHk5WKZvv6tP/j5QOOP65n8EnbHnqHUZOaxbw5w66KdxFiLgcdnFrArNpNrh3U9r+TMXyb3wWTWXP/hNoY8t4YxL63nzk9388qqSE5nFfLKtRdx9ZDGJUQ6ebvy54s7s3x3HNmFpaw9moLJrG06fK2hJvUN4FhKXp29CbMLS+ud5Su/uIz1kSm88MsRXv4tki3H06vUVjqRmse6yFRuG92jQcMfa+LiaGRKaCBrjiQ3qMeaLWo75RWXNbh3XFRyLs/+fJhvw+NJym5cMjQ+s4DHlu/n8rc381XHIczvO5PcopprGsWk5bEuMoXZo3vg6mQ5lh3cnXhiWj92nszkl4NNH41TajIz/8s9jHxxLf9dHdWidbKEEEIIIYRoqxo2tql247XWiUqpQGCNUiqy8oNaa62UqvHbiTXhNA+ge/fuTQzj/L2yOpLM/GI+u3NElZ4n3XzdWDxnBL9FJPPcz0e4aeEOJvcL4G/TQxnQuWF1d8pprflsWyzBfu5MCW1cbZSNUWkk5xTx7NUDqyxXSvGfawZzMDGbh5buw9FoIK+4jK/mjuKirj6Neo7KJoT4M7CzFx/+Ec11w7s2qjdOQx0+nc37G6O5ZmgXLqsnYePu7MDiOSOY+d5WXvotkpBADx66NKTJMXT2ceXJy/vz0CUhfBsezy8Hk3jmygHnlYSZ3C+Az7bFkl9cVjEzmdmseXT5frILS/nx/nG4Oznw8PJ9PLh0HxuiUnnu6kENHlpYPqRp8ZwRRCXn8sqqSGa8tZn7p/TBZLb0jrvq4s6Njhugu58b90/pw5bjaYzvE0D/Tp706+hJaJAX3m51z0JXl7vH92TFvkSW7Ypjd2wmnb1dGt1DyhYm9Q3kxZWRbD6exo0jqr/PLNocw39WHsXV0Ujfjp7072TZ935BnjgaFVtPZLDleDp7485QZtY4ORjQWvPhpmicHQyMCPZlfIg/BxOycHIwMHtM/cXX6zJjYBA/HzjNnlNnGNmz9iTwvrgz3LhwB49P7VsxFLExsgtK+WBTNJ9tO8mgzt4suiOszuGAEYnZFYXUyzsA9Q5wZ0JIAOP6+DO0uw++bk7Vhu5l5pfw7voTfLnjFCiYN6EXIxb+l/n9ZvLkD4dYcPPQaq+5xVtP4mg0MPucmfVuHtmdpbvi+M+vR7kkNLDaLIANZTZr/vbdQdYcSWFUT1/e3XCCnw+e5oWZg5gQIrNRCSGEEEIIUZsmJZC01onWf1OVUiuAkVhnBtFaJ50zM8i52y4EFgKEhYXZZRD4nlNn+HpnXEWdjXMppbhicCcuCQ3ks22xvL/hBH9asJmrL+7M49P6NXg68i92nOLZn48A8NClITxyaUiDa6R8bS2efUkNiSd3Zwfeu2UYM9/bipuTka/mjjrvnjnllFLcO6k3Dy7dx5ojycwY1KlJ7Z2r1GTmr98exMfNiX/9eUCDtuno5cLiOSP41/8O88yfBuDscH49PGri7uzAnHE9mTOucbNmVTalXyAfbz7J1hPpTLPOMvbBpmg2H0/nxWsGVxT6/nb+GN5Zf4J31x8nPPYMb900hGHdO9TVNABbT6Tj7mRkSDcfRgT7Mm1AR5775UhFUeGRPX0bfC3W5LGpfXlsat/z3r4mg7p4M6aXH4u3nuRMQSm3jureosPXyvXt6EGQlwubjlVPIG0+nsaLK48yvo8/vQM8iEzO4beIZJbuOjtlvFIwqLM3cyf0YkKIP8N7dMBk1uw6mcnm4+lsPZHOy79Z8uY3j+xWZRjm+ZjcLwAnBwO/RSTVmUBatOUkJWVmXvotEi9XR24e2bAkfFGpic+2xfLBxmhyikq5pF8gm4+nc/2H21ly18gaC+0fiM9i9ic78XRx5H/3jye/pIytJ9LZfDydZbvj+Mw6c5zRoPB1d8Lfwxl/Dye8XR3ZGJVGQUkZNwzvxiNTQ+jk7QqvRvN4/GZeVZMY09uPW0edTbqdyS/huz0JXDOkCwGeVY+l0aB49qqBXP/hdt7bcIK/zQht0D5XprXm2Z8Ps2JfIk9M68sDl4Sw9UQ6/1hxiNmf7GLmkM48feWAJp9HIYQQQggh2qPzTiAppdwBg9Y61/r7NOA5zs4M8jJVZwZpVUpNZv6x4hCdvF3q/fLs4mjk3km9uXlEdz7YFM2nW0/y66EkZo8O5v8u71dnQmNnTAbP/XyES0ID8XN34p11xzlyOps3bhyCl0vdPTwSswrZGJXK/VP61DpVff9OXnx/31i8XR2blESo7PJBQfTwc+ODTTFMr6Vujdmsz6tQ8IcbozmSlMOHtw2vs8fDufp38uKb+WMa/XwtISzYF3cnIxuPpTFtYBC7Tmby+u9R/Pniztw88uxsyg5GA49N7cuEEH8eWbafWR9uZ81jk+jp715n+9uiMxjVy6/iGgj0cuHdW4Zx/fBU3lx7nPkTezXr/p2veyb25K7PLOU3Zgxs+eFrYEmITuobwMqIJMpM5opZ6uIzC3hw6T5CAj358LbhFb1ZtNak5hYTmZxLYUkZI3v64ete/TqdEhpY0ZswNaeIvXFnGNOr7ro+DeHu7MDEkABWRyTzz1p6xJ3OKmRVRDJ3jgvmZHo+T604hIezA3+uoxdamcnMd3sSeGvtcZJziqr0ptwencG8L8K59v2tfDpnZJUelntOnWHO4l10cHfi63tG0bWD5T2mfycv5k7oRXGZib2nsohMziE9r5iMvBLS84pJyyvhZHo+E0L8eXxaX/oEelaJ597Tu9h52fU8+/MRhnTzYWBnS+L7yx2nKCo1M3dCzQndsGBfrh3ahUWbTzIrrBvB9bx2zvXGmmMs2X6KeRN7VRThH9fHn1WPTOT9jdF8sPEE6yNTefKK/twY1u283uOEEEIIIYRor5rSA6kjsML6BccB+FprvUoptRv4Ril1N3AKmNX0MG3vky0niUzOZeHs4Q0eCuHt5sjfLw9lzthg3lp7jMVbT3I0KYePbh9eYzLodFYh93+9l+6+brx10xA8nR0Y3NWb534+wsz3trJwdlids1KdWzy7Nk3tdXQuB6OBeRN78Y8VEWyPyWBs77NfjHOLSvl480k+2RzDdcO78u8/D2zwl6yo5FzeWX+cKy/qZJd6OM3FycHAuD7+bIxMJcNa96iHnzsvXjOoxgTAiGBfvr13DGNfXs/KQ0l1ziZ3OquQk+n53Dqqeg+Tyf0CmdyvcUMiW9LkvoH0DnAnu7D0vGty2cLEvgEsD49nf3wWYcG+FJSUcc/n4ZjNmoW3V339K6Xo6OVCRy+XBrcf6OVi0556MwYFsfZoCocSs2scjvrljlNorblrXE/8PZy5Y/EuHl2+Hw8Xh4pZDMtprVl9OJnXVkcRnZbPkG4+vHXTkCoz6o3p7cd3947ljsW7mPXRdhbOHs7YPv7sjs1kzuJdBHg6s3TeaEvvoXM4OxgZ09uPMb0bV7DfALwx62KueGczD3y9j58fHI+DQbFk+ykm9wsgpKNnrdv+/fJQfj+Swg0fbWfmkM5cPaQLAzt71dvDbdHmGBasP8FNI7rx5OWhVdZ3cTTy2NS+XHVxZ/6x4hBP/nCI7/ck8OK1g+lbRyxCCHE+7NEjVwghhLCF8y6irbWO0VpfbP0ZqLX+j3V5jTODtCbxmQW8tfYYUwd0rBhy1BhB3i68fN1FvDHrYnbHZjLrw+2k5BRVWaeo1MR9X+6hqNTMQmuCSSnF7WOC+WruKLILSpn53lbWHEmp8TksxbPjmNQ3oOKuf0u6blhX/D2c+cA6xXtxmYnFW04y6bWNvLPuOL0DPfh8+ymeWnGo3gLEYNmfv353AC8XR569amC967c1U0IDOZ1dxOxPdpFZUMK7twzFs44eZp19XBna3afeGbe2RVvqH1VO4rUVBoPio9nD+fj2sGappdVQ4/v4Y1Cw6VgaWlvq30Sl5PLOzUPp4de4Hiwt4bL+gRgNqsZro6jUxNJdcUwd0JFuvm64OhlZNCeM0E6e3PflHnadPPt2uz06g2ve38a9X+4F4MPbhrPiL2OrJI/K9Qvy5Ie/jKWzjwt3fLqL13+P4o7Fu+jo7cLy+WNqTB41lZ+HM+/cNJRTGfk89cMh/rf/NOl5xdwzoe4edYHWIa1Duvnw2bZYrlywhalv/sF7G04Qn1lQ4zbLd8fxwq9H+dPgTvznmsG1fnnrE+jBsnmjee36iziRlscVb2/m1VWRUmRbCGFTtppNUgghhGhpTS2i3Sa99NtRDEo1OZFx7bCuBHg6c+8Xe7j2/W0suWsEfQI90VrzjxURHEjIZuHs4dWGb4zq5cfPD45n/hd7uOfzcC4fFMTcCT0Z3uNsL40NUWmk5BTz3NX2KTDu4mjkrvHBvLoqigXrjrM8PJ6EM4WM7e3H/80I5aKu3ry55hjvrD9BqUnz6vUX1Zkk+HjzSQ4mZPPuLUPxa4f1RSb3sxTfPZKUwwszB1UMyanLjIFBvPRbJAlnCmpNEm47kY6vuxOhQW2zF8S51749eLs5MrR7B/44loaHswO/HEzibzP6tdreWz5uTozp5ceqiGT+Or1flWTHT/sTOVNQyp2VanZ5uTiy5M6R3PDRdu7+bDcvXDOIH/YmsulYGkFeLrxy3WCuG9a1YvhebTr7uPLt/LHc80U4C9afICTQg6/uGUWgZ8N7YzXWqF5+PD6tH6+tjmJ9ZCqhQZ6MbUBvppE9fRnZ05cz+SWsjEjix32JvLY6itdWR9W6zaS+Abx545B6k5lKKW4I68YloZYC7O9vjOaXg0k8P3MQk/o2rMj2km2xLPwjhlevv4hxfdpe8lcIIYQQQoiaXHAJpOTsIlYfTmHuhJ50rqFgbGNNCAlg+fwx3PnZbq77YDuL7gjjcGI23+9N4OFLQ2rt4dTZx5Vv7x3Du+tP8MWOU/wWkcyQbj7MndCTGQOD+HrnKQI9nbm0kbO22dJto3vwwYZoXl9zjEFdvHjp2sGM7+Nf8YX2sWn9MBoMvLn2GCazmf/ecHG1L6lms2ZrdDpvrj3GjIFB/GmwbYtytxadvF0Z18ePIC/XGoeb1WS6NYG0KiKZuTX0utDacuzG9PaTWixNNKlvAG+uPcahxGz+NLgT953HzGUtafqgIJ75MYITqXkVw7m01ny6oNZtbAAAIABJREFUNZbQIE9GnVNg28/DmS/vHsUNH27n4WX78XZ15KkrQrl9TDAujg0vOu/t5sjnd43k+70JzBgY1CLJ3vsm9WZHTAabj6dzz4RejRra0cHdiVtH9eDWUT2Izyxg9eFkcorKqq3n5eLAraN64OTQ8E63fh7OvD7rYq4b3oWnV0Rwx+JdPHRpSL018/bGneH5X45gUIrZn+zkqSv6c/f4njJkRQgb2RadzkNL97Hxr1MaPJtpayPvB0IIIdqqtvmXtwm+CY/HZNbcXMOU3udrUBdvfrjPUkPk1kU7MZs1l/XvyMP1TDfv4mjkien9+MuU3ny3J4HFW07ywNf76OLjyunsQh6Y0qfeXgPNycvFkQ9uG05ecSnTBgTVmMR4+LIQHIyK11ZHUWbWvHnjEByNBo6n5LJiXyI/7T9NYlYhgZ7OPD+z5ppA7cVXc0ejtW7wPgb7uxMa5MnqwzUnkKLT8knJKWZcGxy+1tpM6hvAG2uO0S/Ik1evv6jVX4fTB3Tknz9FsCoiuSKBtCMmk8jkXF65ruYhWJ19XFk2bzRrjqRw3fCueLvWXaS/Ni6OxiozozU3g0Gx4Oah/H44hauH1F4IvD7dfN1qfB011dje/qx8eAL/WBHBO+uO09XHlVm11KXLKijhwa/30cnHhW/mj+HZ/x3hhV+PEpGYzUvXXoSrk+1mkBTiQvXf1VGk55UQmZRj1/p6TSFD2IQQQrRVF1QCyWTWLNsVx/g+/o2evac+3Xzd+O6+scz/IpzcojLeuPHiBvcacXNy4PYxwdw6qgfrjqawaMtJsgpKuKmBU3M3p/Eh9ScvLLPEKV5cGUlGXgnZhaUcScrBaFCM7+PPE9P7Mm1AUIOLlbdljU1MzBgUxNvrjpOaW1RtqND26HSABg3pEXW7qKs3z1w5gBmD2sZ1GOjlwrDuHVh1OJkHrYnoz7adpIObI1cP6VLrdt183bhrfM0zmLVmPm5OtSZlWgMXRyMvXzeY1NwinlpxiM4+rtXeG7XWPPHtQVJzi/j+vrF08nbl/VuH8f7GE7y+5hjHU/P4aPZwu9S0E6I9MVj/zjag/GKrZZYEkhBCiDbqvLu3KKW6KaU2KKWOKKUOK6Ueti7/t1IqUSm13/pzhe3CbZo/jqVxOruIWxo4xKixfN2d+Gb+GH59aEKNs7LVx2hQTBsYxDfzx3Dw39PpYoMhdi1l3sTe/PPKAew4mYGjg4F//XkAO568lCV3jeSaoV3bxJd2e5gxKAitqbGY+tYTGXTxcaWHn3zhbCqlFHeP79mmXlMzBgZx+HQO8ZkFxGcWsOZICjeP7N6oIWnCdhyNBt67dRi9Azy478s9HEvJrfL4J1tOsvZoCk9e3r9i9jyDQfHAJSF8ckcYcRkFXPXuVr7ZHc/26AxOpOaSVVAiPRFEu/b8L0d45scIm7ZZfnPOdE4GKTO/hJIys02fy5aOpeSSXVAKtO3klxBCiAtbU77VlwGPa633KqU8gT1KqTXWx97UWv+36eHZ1lc74/D3cOKy/h2b7TmUUhhtMDrGnrNWna+7xvfkppHdcHOSZFFD9evoSbCfG6sikqsMGzKZNdtjMpg2oGOrH24lmsf0gUH8Z+VRVh9OJjW3GKUUs8e03NAyUZ2XiyOL7xzBzPe2cuenu1lx/1gCPV3YF3eGl3+LZNqAjtw5LrjadpeEduTHB8Yx7/Nw/vb9wSqPORgUfh5OjOvjz93jezaoAL8QbcUnW04C8PzMQTZrs/zj0bnJ12HPr+HS0EA+mTPCZs9lK6//HsWC9Sfo19GT1Y9OrJb8EkIIIdqK8/6mr7VOApKsv+cqpY4CtY+tsLPk7CLWR6Ywf1LvRhVSFY0jyaPGUUoxY1AnFm2OIbugFG83S8+1I6dzyC4slRmcLmDd/dwY0MmLH/cnEpdRwIxBQXTybjs9qNqrLj6uLL5jBLM+2s7cJeEsnB3GA1/vI8jbhdeuv7jWhG/vAA9+e3gisRn5pOcWk5ZXTHpeCel5xSRlFbIqIpkf9iYytrcfcyf0ZHLfQCmeL0QNyoewmSolkMqTSesiU+0SU30WrD8BQJS156L0PBRCCNFW2eTbvlIqGBgK7ATGAQ8opW4HwrH0UjpTwzbzgHkA3bs3f62f5bvjMWu4qRXX2RAXphmDgvhwUzTrIlO4dlhXALZK/SOB5dp4Y80xAO4cG2zfYESFwV29WXDzUOZ9Ec5lb2yiqNTEt/eOqUgA18bJwUDfjp70tRZGryy7sJRlu+L4bFssd30WTq8Ad+aMDaZbDTWTjAaFr7sTAZ7O+Lo74WjHyRaEaIiSMnPFzbutJ9K5ddFOtvzflPOqCVaeQHp1VRS/Hkzi5esuotjGQ9fWHU0hOi2PeRObZ8ZO6YAkhBCirWpyAkkp5QF8Dzyitc5RSn0APA9o67+vA3edu53WeiGwECAsLKxZ/5SazJrlu+OYEOJPDz/bFs8Woqku6uJNJ28XVkUkVySQtkVn0CfQg0Avl3q2Fu1ZeQJpcBdvhvfoYO9wRCWXDejIP68cwL9/PsLTf+rP0O5NOz/ero7Mn9Sbu8b3ZOWhJD7eHMM/fzrcoG193Bzx93BmaDcfnrqiPx3cnZoUixC2lplfQpC35e/Z1zvjANgbl3VeCaTyTn6HErM5lJhtSSCV2jaBdPeScIBmSyDJEDYhhBBtVZMSSEopRyzJo6+01j8AaK1TKj3+MfBLkyK0gU3HUjmdXcTTVw6wdyhCVGMwKKYPDGLprjgKSspwMBjYfTKTWWFd7R2asLOQQA/mTezFJaGBUgurFZozridXDO5k00Svo9HA1UO6cNXFnTmemkdBianaOqUmMxnW4W/lP6k5xfy4P5HNx9N5Y9bFjK1j+Ovu2Ew+2xrLVUM6M31gkM1iF6I2ecWlgOV1Uma2JHvOdxiXoYb3wuKy6q+T1qx832UkmxBCtB1Ld8VxKqOAv18eel7bm8yaky6+9CnKtHFkLeu8E0jK8m3mE+Co1vqNSss7WesjAVwD2Hb6jfPw9c44/D2cmTqg+YpnC9EU0wcG8dm2WDZFpeHr7kRhqanOL4DiwqCU4qkr+ts7DFGH5uolqJSqcahbXSISs3lo2T5u/WQn8yb24vGp/arU/ItMzuG1VVGsi0zFwaD49VASN4/szjNX9pf6daJZ5RSVVfxeZrJkTR5etp+rhzS+dOa5pcG01hTV0gNJa81XO+P4cscp3r1lGH0CPRr1XFkFJby48ijPXDkAz0bMrns6q5AF60/w7FUDcaihlll5BySzZJBsJiIxu2KYsBBCNIcnfzgEUGsCKTO/BN86eoG/uiqSj4bczZa9H9GWuwk0pXDCOGA2cIlSar/15wrgVaXUIaXUQWAK8KgtAj1fSdmFrI9MZVZYV6kTIVqtEcEd8HV3YtXhZLZGZ2BQMLqX1D8SQjTcoC7e/PLgeG4e2Z2PNsVw7QdbiU7LIz6zgMeW7+fytzezKzaTv83ox55npjJ/Ui+W7Y7jygVbiEjMtnf4op2p3MMor3ICqYnDt86dpbaw1FRrD6Q1R1J4+scIIpNzeX/DiUY/1zvrTvBNeAJf7oir8fHcolImv7aB8Niqd5Of+TGCpbvi2BadTk5RaZXHdsRkVBQA/3z7KUrKzKTmFlVZJzI5hye+PUCpyZIYO5iQRX5xGS0pq6CEA/FZNm3zp/2J/HnBlmYpIn7lgi1Me/MPm7crhBDnquk9bF/cGYY9v4aVh5Jq2MLiV+tjmY5te1KcpszCtgWoaUzFyvMPx/bOFs9u/kLdQpwvB6OBqf07svJQEr0C3BncxRtv14bf7RRCCLDMhPniNYOZ1DeAv39/kD+9sxmzGVAwb0Iv7pvcGx83y92xJy/vz6SQAB775gDXvL+Vx6f1Y96EXjL7WxunlJoBvA0YgUVa65ftEUeJ6WyvoLxKyY+Y9LyK36//YBvxZwpIySkGYM2jE0nIKmRiSEC1RFE5Z0djlf/nFJbV2gMpI7+k4vf6biLGZRTw66EkfN3P/u3NzLfE9cqqSLp2cGVKaCAezmc/Oh+IzyY2o4DrP9zOyZeuqBhqXGpNkpm1JrNSDAA3LdxR5e/7/31/kBX7Eol8fgYu1n175scIdseeYVZYNwZ29uKqd7dyaWggn8wZUec+2Mr++Cxe+S2S7TEZrH1sIn0CPfnjWBqjevni7GCsv4FaPLxsP2A5Z/VNOlCf4jITRqVwMBpkVjshRIvKKy6r1iu1/Ebc6sPJXDG4U8XyVRHJ/Ot/EWz66xSyCiw3FDIcG1//rzVp133WLcWz45kQ4k93v7Z9okT7N2NQEMvD4zmQkM29k5qncKcQ4sIwfWAQQ7r58K+fDtPB3ZGHLg2hk3f1O15j+/iz6pEJPPnDIV7+LZI/jqXxxqwhFQWPRduilDIC7wFTgQRgt1Lqf1rrIy0dS1HJ2aTOh5uiycgr5k8XdSY+s7BiefipqpP03rVkN/GZhfzfjFDMWjMrrBsBns5V1jGZqiYL9pw6Q6DX2XXu/3ovt4zszs6YDIIqXfMOxpoTUrHp+dy9ZDfRafnVHvtx/+mK3x9cug+jQXHD8K48NrUvgV4ubI9Jr3h8wqsbWHDzUIZ271Bxd7WwxFzRbhcfVxKzLPueXXi2V9KKfYkAfBsej6+7M//8KaJiqN3BhCyScyy9k3bEZNQYf3OY+d7Wit/3nDpDfrGJ2xfv4k8XdeJffx5AoKcLK/YlUFJm5kbrDdqiUhNlZl0lwVab1NyiJieQQp9Zxfg+/nxx9yjeWnu8SW0JIURjpOUWV0kglZnMPGOd+OSn/ac5fDqHv03vx7SBQTz/yxFScoqJScuvuJmS4dC28xLtOoG0MSqVpOwi/inFs0UbMLaPHx7ODuQVlzGujwxfE0I0TUcvFz6cPbze9XzcnHj/1mF8G57AG2uOVQybEW3SSOCE1joGQCm1DLgaaPEE0oao1IrfDyZkczAhm2/CE+rcpjy59MqqSAAWrD/OV3NH0cv/bO2i/JIyvFwcKuoq3f/13ipt/HowiV8PVh9C8NXOOL7aGcfjU/ty2+geFcvf3XCixuRRTUxmzbLd8SzbHV/tsYQzhVzz/jY+vj2MTcfSAEsCqHzWuYl9/Vm6q/p25Z6pNOtixknLkLgXfj1asSy/xMTu2Ez6BDSujlNj5Z0zVO6VVVEVvajKj+3bNw3h0eUHAEs9px/3JbLTGvMXd48kt6iMNUdSuGpIZ9YcSWFAJy+Op+RWtPlNeDxXXtSZDVGprDuayhPT+5FdWEqAhzPdfF0pLjOTW1RGRGI2sen5dPRyoYefG0O6+eBoNFBqNqM1bD6ezn9XR/FupeGJZ87p8SWEELY29/NwQoM8efCSEDycHXjvnCHSJ1LzmPfFHv58ceeKGwdXvLO54vH3u4xiyYItxJ8pIL+4jFKT5tLQQCb1C2D26B6tfuIc1Rq6fYaFhenw8HCbt7tocwyfbo1l418nS/0j0SY8vGwfqyKS2f/Pabg6nX83cSFarcmTLf9u3GjPKEQtistMTRqiUhel1B6tdVizNC4AUEpdD8zQWs+1/n82MEpr/UBt2zTXZ7Cpb2wiOi0PJwdDlSFm7k5GNjwxmSe+O8gf1kRLY40I7sB9k3uTklNcUdS0qab0C6BvkCdrj6RQWGLidHZR/Rs10F3jenLLqG5c9obU6BFCiPZsVlhXPF0c+WTLyRofn396Fx91HlnjY8F+bqx8eEKzTGxiy89g7TqBBFBSZq4yC40QrVlqbhHxmYUM79HB3qEI0TwkgXTBkgRS82toAkkpNQ+YB9C9e/fhp06dsnkse06dwcloINDLmUMJ2RSWmjidVcgVgzvRzdfSfb/UZGbFvkT6dfTEpDW+bk6sj0xldC8/HI2KyORcUnKKqs1kFhbsy6Au3gDkFJVyMD4bpcDBoEjKLsLF0YiXqwNJWUUM7upNT3930nKLycgrYV/8GcznFPKu3F65/OIyXByN7Is7Q0cvFw4mZJNfXEaQtwsHE7II6ejJtAEdKTGZOZNfSmRyDqk5xSTnFNHDz42cojJMJjMXdfNhWHfL3/S84jIy8opJzS0m0NOZHn7upORY4t0enUHfjh54uzri4mjE0Whg9eFkBnfxZu3RFDycHSgqrblYuK25Ohm5ZmhXDiVmE5mcQxcfVxyNBnKLSjmWkoefhxMXdfEh/kwBcZkFaA2DuniRkVeCUmdnItLaUvQ8M7+E7MJSnBwM9PJ3p9SkySsuRWsoKDHh7epISm4RPq5OlFgLops0mM2avOIyPJwdKs5vubziMkrKzHi6OOJotDyHl6tjjbPeCSGELRgNiu5+7mit0RpOZeRj0mBUMCU0kEBPl4oOAOGxmcSk56O1ZlAXb7IKSnE0Ghh557Ws7tCHwn8+i6eLAyazJsjbhdNZhQzu6kMXn+YpsC0JJCGEEG2TJJAuWJJAan5KqTHAv7XW063/fxJAa/1SbdvIZzAhhBCihdjpc7AtP4O16xpIQgghWhlJHAnRnHYDIUqpnkAicBNwi31DEkIIIQTQLj4HSwJJCCGEEKId0FqXKaUeAFYDRmCx1vpwPZsJIYQQQjRIqxjCppQqBGr6gOMNZDdweWPWtdVyabv52u4OxLXwc0rbrfc522rbjbmObbVc2pbXQ1OWN+c1O1Br3TyD+8V5U0rlAlE2bNIfSK93Ldur7Vps789t7+e31/kG++23nO+Wd6G+vu19rcn5bj/P3U9r7WmTlixFoOz7A6TVsnxhQ5c3Zl1bLZe2m7XtBl8TbWR/2k3b7W1/mrntJr+3tbL9kbZbwXO21Wu2trblx74/QHhrbq8Rz1vjtdjen9vez2+v823P/ZbzfcHt8wX53HK+29dz2/JctpbpybJqWf5zI5Y3Zl1bLZe2m6/txlwTbWF/2lPb9njOttq2Ld7bGrtc2m7Ztu3xnG31mq2tbSFsobZrsb0/d2t4fnux137b+3jb+/nt4UJ9fV+I5xou3GPeJs53axnCFq5lZhZRiVwToj2Q61i0Nc15zcrroXWy9XmR83xhkfN9YZHzfWGR891+2PJctpYeSAvtHYBodeSaEO2BXMeirWnOa1ZeD62Trc+LnOcLi5zvC4uc7wuLnO/2w2bnslUkkLTWrebiVEotVkqlKqUizln+oFIqUil1WCn1qh3j66aU2qCUOmKN5WHr8ueVUgeVUvuVUr8rpTrbMUYXpdQupdQBa4zPWpf3VErtVEqdUEotV0o51dZGc18TSqkZSqkoayx/ty5TSqn/KKWOKaWOKqUeas4Y6omv2nXYys5xbdehr1JqjVLquPXfDq0svuXW47dfKRWrlNrfnHHUdR3Xcg1+Yn3dHFRKfaeU8mjO+OpSyzXYKs5vHfG16PltQIw1XoeVHn9cKaWVUv72ivFczfne25r+1ouzbH1e5DxfWOR8X1jkfF9Y5Hy3H7Y8l61iCFtropSaCOQBn2utB1mXTQH+AfxJa12slArUWqfaKb5OQCet9V6llCewB5gJJGitc6zrPAQM0Frfa6cYFeCutc5TSjkCW4CHgceAH7TWy5RSHwIHtNYf2CE+I3AMmAokALuBm4FRwBRgjtbabOfzXNN16NWKznFt1+EcIFNr/bI1KdJBa/1/rSU+rfWRSuu8DmRrrZ+zQ3y1XYOVX8dvAKla65dbOj7r89d0Db5KKzi/tcV3zuN2O7+VYqj1OlRKdQMWAaHAcK21vWYxEkIIIYQQokHs0gOpljvvlyil9iqlIpRSS5RSDvaITWv9B5B5zuL7gJe11sXWdeySVLA+d5LWeq/191zgKNCl/EunlTtgt8ygtsiz/tfR+qOBS4DvrMuXYEk42MNI4ITWOkZrXQIsA67Gcp6f01qbwe7nudp12MrOcY3XIZbjuMS6mt3OcR3xARVJzlnAUnvERy3XYKXkkQJcse85rum9sFWcX6g1PqBVnF+g3uvwTeBv2PEcC9EQje1xqpQKVUptV0oVK6WeOKetWKXUIWsvwXB77I+om43Pt4+1N22ksvTsHmOPfRK1s9X5Vkr1q9QDeL9SKkcp9Yi99kvUzMav70etbUQopZYqpVzssU+i5bV4Asl65/094HJgAHCzUmoAli8jN1nvJJ8C7mjp2OrQF5igLMOvNimlRtg7IAClVDAwFNhp/f9/lFLxwK3AP+0XmeU8K8vwkVRgDRANZGmty6yrJFDpC30L6wLEV/p/eSy9gRuVUuFKqd+UUiF2ia4OrekclzvnOuyotU6yPpQMdLRTWBXOfZ1YTQBStNbH7RETtV+DKKU+xXLsQoEFLR9anVrd+a2Fvc9vNZWvQ6XU1UCi1vqAXYMSomHKgMe11gOA0cD91s9tfwfWaa1DgHXW/4MlsfsQ8N9a2puitR4ihVlbLVue77eBVVrrUOBiLEl00brY5HxrraOsr+shwHCgAFjRQvsgGs4m51sp1cW6PMz63d0I3NQyuyDsrcWHsFnvPvxbaz3d+v8n/fz8XgwODm7ROIQQQgjRcvbs2ZOutQ6wdxyiKn9/fy2fwYQQQoj2y5afwewxTKzanffg4GDCw6UnsxBCCNFeKaVO2TsGUZ18BhNCCCHaN1t+BmsVs7AJIYQQon5rj6RwMCGreRqfPNnyI4QQQghxIWihzz5lJjMvrTxKak5Rsz9Xc7NHAikR6Fbp/13tEIMQQgjR5sz9PJyr3t1q7zCEEOKCpLVm9eFkzuSX2DsUIUQbEpOez0d/xLD2qN3maLIZeySQdgMhSqmeSiknpOCWEEIIIYQQopWLTM5l/hd7uOyNTfx6MKn+DYQQAsgpLAXgTEHbTz63eALJOgvXA8BqLLMxfNPSMQghhBBCCCFEY5R/+TMaFPd/vZfotDw7RySEaAtyiywTkWdJAun8aK1Xaq37aq17a63/Y48YhBBCCCGEEKKhyr8EPnhJHwDiMgrsGY4Qoo3IKbL0QMrML7VzJE0nRbSFEEKINmjBuuPMeOsPe4ch7EQpFauUOqSU2q+UCrcu81VKrVFKHbf+28HecTZGmclMUanJ3mGIC9TaIym8tfZYnevkWRNIwf7uAKTlFTd7XEKItk+GsAkhhBDCbopKTby+5hiRybn2DkXY1xSt9RCtdZj1/38H1mmtQ4B11v+3GQvWn+BqKRLfLH45eJqk7EJ7h9GqLVh/nE82n6xznbxiawLJz5JASpcEkhCiAXKsyWdJIAkhhBCiRZjNuuL38jtZAAlnCoiSRJKwuBpYYv19CTDTjrE02vHUXE6k5aG1rn9l0WBFpSYe+HofS3fF2zuUBnlvwwle+u1oiz5nSk4RBxKyyS0uo9RkrnW98gRSoJczbk5G0nPb/pdBIUTzKx/C1h5mcJQEkhBCCNEGlJrPfqnJqpRAGv/KBqbLULYLkQZ+V0rtUUrNsy7rqLUunxoqGehY04ZKqXlKqXClVHhaWlpLxNogGXklmMyanMIye4fSrmRav7Bkt5E73+sjU/n9cEqLPue6SlNrZxXUXqMkp6gUJwcDzg5GAjydpQeSEKJByv+unanj/aWtkASSEEII0QaUms72yqjtC86xlFwKSuTL9wVivNZ6GHA5cL9SamLlB7WlG0+NXXm01gu11mFa67CAgIAWCLVhMqyJjox8+VLeVP/P3nmHx1Hd6/9zVtskrVa9u8i9yBUbXOjBtIR6b0JCcgmEEEgCyS8kNze5N430dhNaKoQWEgLkEhMwYMDEYIwBVyw3WbYl2VbvW6TtO78/pmhXXbbKSj6f59EjaXd25pzdmdk577zf9xysc1PRqDoTDQHJNzEGLu1dQZo9Y7sPvH6wwfjb5VPfr70nO6hq6YxbzusPk2YzA5DjkAKSRDJSnGzrYtfxtvFuRr+8frDRcBGdCh7ttS5fiPAALseJwGkJSJMxwFEikUgkkkQkFO6+4OhrIOgPRbjs3i3c+dfdY9ksyTihKEqt9rsJWA+cAzQKIQoBtN9N/a8h8dCFjsmQETHe/Pf6fdzzwgGg+33VMzgSnY6uEN5AGF9wbALVOwNh3jnWypw8B9DtEPjqsx/w05fjS+m8gTAOuy4gWaWAJJEAgXDktI+FB944whf+kpjXL3UdPj7355389b0Tp7yO2PNvxwQR8/tjJBxIkyrAUSKRSCSSRCQ2l6Mz0HsgWNehBuS+V5m4d/AkI4MQIlUIkab/DVwG7AdeAG7WFrsZ+Of4tHD4RKKKIRy1eqWAdLrUd/hocPuBGAFpAgxaolGFDm0/GCtx5u0jLQTDUT62cgrQnVHS5A5Q1yN43OsP44hzIMl9VSL57eZjfOSBt09rHQ1uP62dwYTMwDva5AXgUL37lNcRe/7tmOA3SUajhG1CBzhKJBKJRJKIBGMEpL4GVrWagGQ2iTFrk2TcyAe2CiH2AtuBlxRF2Qj8DLhUCHEEWKf9PyHo6AqijxukA+n0CEeitHgDRhlY6wQqYfP4w+jzBTSNURnbgToXQsClCwsA1R3gD0XwBMI0uOLb4PGHSbN3C0jtXcEJX44yGXh250lu+MO7492MM5YDtS4a3QH8oVN3DTZ7AkSiCp4+bpCNN8eaVQGpvOHUBSSPP0R6sgWAts7EPxcPhPk0X68HOCrAHxVFeYghBjhKJBKJRCIZOrEZSPUuf6/na9s1ASlJCkiTHUVRKoGlfTzeClwy9i06fdpiZqZpnQSz1IwnrZ1BoooqdvhDEcNRczr5HWNFrHg4VjlI7V1B0pMt5KbZAFXMjM3jCkWiWJLUe+6eQJjijGQActJsKIq672Y7bATCEVKspzu0kpwKO6vb2F7dRmcgTKpNfgZjTVWrmhXW3hWkMD35lNahu/k6OkM47ZYRa9tIUNms9u9YcyeBcASbOWnY63D7w0zPTqGsxjXhb5KcrgPplAMcE3UGEIlEIpFIEpHYEja9XC0Ww4GUJOfHkEw8YkWjNlkWdFo0ursF5hZvwHhvJ8LsdrEDq7EqYWvvCpGVYiXVmoTZJGjvCtEHNmjJAAAgAElEQVSqbVtR4p1Q3kDIcCDlOqwANHsD/OGtY6z71VujUn6zcX8Dx1s7B1/wDEYve21w9765IhldwpEoJ1q7AGjXnDXvV7bywcmOIa8jElVo0yZP6PAl3vm/skV1IEWiilHONlzcvhDTslKA7jLZicppXWWeToBjos4AIpFIJBJJIhIMDyIgaQ4kiyxhk0xAYnOP2ib43dnxpiHGodjsCRiDFV8oEnceSURiZ5gcKwdSR1eQjBQLQggyUqx0dIXixKvY97NnBhKozon3Klupc/lHfIpuRVH48tN7eHRr1Yiud7LRou3jDX24cyWjS22Hj7BWd6oLwD/YcLBXAP1AtHYGjNLVRJzmvrK5k6VT0gEor/cM+/WBcIRAOMr0bE1ASsA+DodTFpAmY4CjRCKRSCSJSqwD6XhbV6/nazRRSQgRt6xEMhHQ7z4XOO1x5WyS4dMYI7w0ewJx72eil7HFlbCNlQOpM0Rmiuomykyx0NEVjAvH1h1diqLg8cfOwqYJSJ4AB+rUbBRdyB8pXL4QwXCURrec7W0gWrR9vq/ybsnoUtXS7Y7Tj98mT2BYbrBYsXgsA6aPNnl5sHg1v5x6Xr/uwa5gmHqXn4vn52Ezm04pB8mjzcCW77Rjt5jO6BK2SRfgKJFIJBJJohKbgaTfpU+1dtfhn9REpdoOH0vueW1sGyeRnCZ6mdWsvNQJb+8fb5piBm7N3gBtXUGEZkxM9CBt/c58Ybp9jB1IqoCUkWKhvSsY54jTXS2BcJRwVOkO0dYyk/bXuQyRrqa9t7h/OuhOqLES0yYiiqLQqgnQDa6RFfAkgxMnIHUGiUYV2jqDNLj8Qy7pjBeQxuYctfVIC+t+/Ra/mno+vy1e06/4qOcfzc1PY15BGodOwYGkz8DmtFvITLFO+JskpywgKYpSqSjKUu2nVFGUH2uPtyqKcomiKHMURVmnKIqcT1gikUgkktOkp6vIJGCqVk8P8XdefacxE4pEMh60dapBxnlp9mGFaO+rcXHbEzsTvjRrLGl0+8lO1fJ5NAdSkRZs6050AakziEnAjJzUMctAausKkpmihvbGlrAlW5Kwmk2GA0l3EaRpJWyp1iTsFhNvVXRnudb2UV58OjR7dEeHdNb0R2cwgj+kHv/SgTT2VLd0kqLdzGrrDNHeFSQSVQiEo0MWrGMdfyPhzunoCg7qtnyrogmr2cQfDj8PQFlN35lN+gxsM3NTmV+QdloOpDS7mcwU65i6rEYDmbQpkUgkEskEIKgJSFYtJDsr1YYzuf+ZSoYT5qooCiWrv85Pp10w+MISySjQ2hkkO9VKVqp1WA6kzYeb2HSoccSdHxOZRneA4sxkMlMsNLoDdHQFmZGTCqgzASUy7ZobKN85Ng4kf0gVHzI1wS0j2UKHFqKdm2Yj32kzSnG82vTiegmbEIIch43K5k6EALvFRM0Il7AZDiRPYFQCugfipbJ63qtsHdNtngqt/eRVScaGqtYuZuamkmYz096j/HOoZWz6sW41m0bEgfS5P+/kK09/MOAyB+rczC9I46KOSszRCGU1rj6X04/vkuxU5hc4afEGh31u0sUsZ7KFzFTLmetAkkgkEolEMnaENIdFhnanPMdhxWZWv8b/87K5vZb3BMI8vf3EkAbj+t3bPxatGqnmSiTDos0bJEsTkFRHwdBcdPoARWbEdNPo9pOXZic3zcaxJi9RBSO8NdYREAxH2Xa0Zbya2ScdXSEyUizkptnGRDTR3Q76eTUz1WoMgrMdVgqcdkOU8GiDQIetW7jXc5BmZKcyPSt11AQkfyiKJzC24t+PXzrIL189PKbbPBV0wcJqNo26A0lRFN4+0kx4iDmDh+rdce6xd4+1Tjq3ZFWLlxk5jphjZ/iCXrMnQKo1iXyn7bTdOb5ghD0nOnivsrXfPEhFUThQ56a0yIldiTDP18K+2n4EpJZOijOSsVuSmF+YBsCBur6X7Q99Bky9hG2syvRGCykgSSQSiUQyAdAzkPSBTm6aDYvmRrJbkvj0mulxy397/X6++Y993PGXXYOu2zvGAxOJpCetnQFDQAK1pO33bx5j/Z6aAV+nD1BkiU83TZ4A+U4buWk2o9zCcCDFCEgbyur45J/eZ18/d97Hg/auIJkpVnIcVgLh6Kifm/Rpx7NiMpAC4Si1HT6yU23kO+1GCZs3pgxFRxeQFhY5mZKZPOIlbLGD8bHKhAJ1avYGt5+ymo4hi7mxPP5OFc/uODkKLeuN/h4tKHQOK7j5VPhXeRM3PbKdN8r7nGS8F7c8tp1fv1YBwPHWTm58+D1e2Fs34u3adrSFnwxj1rORIhiOUtvuY0Z2iiYgxc9g2DhUB5Lm+MtMsZ72DGX761yEowpdwQiH6uPLzXQBvbbDh8sXYmGROrPaEm8DZTWuPgXrymYvM3MdACydkoElSfDuseE583TxOc1uJivVOuFnGpUCkkQikUgkEwD9TlqyVR285DpsmE1qMq7NbOIH1y7ixnOmGsvrF6nbqwaOItx9op2zf7xpNJoskfRJMBzlsXeqCIS7B6ZtnUGyHTZDQGryBHjgjSM8urV6wHXpjgNZuqISCEdo6wyS77ST67AZJWvdJWzdg7PqVrXs783DQxsMj2QbH9laRVewtzjU3hUiU3MgweiLJh2GA0kvYVN/H2/tJDdNcyC51TBg3QHksHULSLlp6vKlRekUZyZTO9Ih2p7ugWbTGLrsGtx+oop642Lvyb6zYQbij1sqeeLd6iEtW9vh48/vVp+SUAUYgeeLipy0dQZPeT1D4dmdqih2so+ZUHviD0VodAeoblVDmPXjrarFO+LtemFvHQ9tqYw7p44FJ9q6iCpQkpNKZoqF9s748q4G19D22RZPgByHjfRkCx2nmdO250S78feO6u6/G1x+zv7RJv75Qa0xa2JpkROAJZ0NuHwhTrbFC8CKolDV0slM7fyZajNzdklWXO7ZUIgtYctIseLyhYhEx7YkdSSRApJEIpFIJBMAPQMpoF0cX7e82HAg2cxqgKUv2PfF40BlIM9sH5u7xBKJzubDTXz/xYNsLlcvwqNRhfaukJGBBLD1SDO+UITyBveAgyJ91qUzqYRtz4n2fksz9MFbvtNmuGMACtLtWM2muBI2PTdqy5HmuMdu//NOfrjh4Gg0HVBnP/rhhoP88a3KXs91aA6kXIcd6F9AOtrk5cr73x5QYIpGFT7/5C4e2nKs32V0t0NmqlbCpjk8owpkp9ooSLfjD0Vx+8IDOpBKi5wUZyTj9ocHDe8dDs3eAHaLyfh7rKjr6BZkdx5vH2DJ3nR0Bal3+alq6RxSCeLPXynnu/88wJX3v81bFc3DHljrGUilmptkqK6X4dLiDfDGIVVsHUqpot4OfVn9eOspUowE4yWkV2szsM3ISSUrpbv805pkIivVOvQMpBgH0kAlbCfburjivi0caex/JrQ9JzqYlpXC1KxkdsTcQNtb00EwEuXJd49zoM6NScCCAlVAWuxtMJaJpb0rRFcwEjdhyQVzcylv8AxrP3P7wpiEGryflWJBURJ/RsyBkAKSRCKRSCQTAH3A+INrF3H/J5ZxwdxcLEmqAylJcyLpWUY9GcgSHp7Ad8EkExO9ZKpSuxOv342NLWF77WAjoDogDjeog4WeA0t/KGLs240JUsK2+XATf3nv+Kit/2Cdm+t/t407/7q7zywVfVCT77QbLh5QxRCn3WJkcQDUagPb3Sc6cPtDvHaggcvv3cJrBxv55we1I9Leh7Yc63W3Xp/V6NGtVb0Gi+1dQTJTrd0OpH5Ek83lTRyqd7PreP8Oy1f2N7DxQAM/33i435mT9AykTKOEzWo8l+1Qw7xBdeR0ZyB1C0izch0kW5JYXJzOlEx1kFk7gjlILd4A87RBbtMol2fFUqeV4qVak9hRPbwJtcu147UrGBnUQebqCrHxQAPnz8khHI1y86PbWfWTN/j7zqHf2GjxBnDazUzTBvmjlYP0/J5awlEFp91svD8DESvqRKKKsV+MRuC/LhwNVkIZHeHve/1YnpGTSkaKOgFCizdg5IcNuYTNowtIFiO3UVGUXgLko+9UUd7g4e0j/We37TnRwfJpGZw9PYudx9uMdZTXq/vlzuPtbNxfz8xcB8na7HHzfC1YzSZ2HW/nD291l07rn9WUzGRj/RfMyQVgyzBcSB5/iDS7BSGEEdg/kYO0pYAkkUgkEskEQA/RnpPn4NplxQCYNQdSOKo+l2JTL4ZWz8yKe21rH4Owzzy2nSffO04kOrkCPSWJT5kWVlrZrN69btUupLMdVmP6+bIalzFdelmNi46uIKt/+gbf++d+YxAUe7d9LAfXA/HI21Xc+3rFkJZ1+UKs31MzrKDog1qmx2sHG/n8X3b1ygjSnVg9BaTMVAvOZHOcO6a2w8eUzGQiUYUNe+v5r+fKmJGbyi1rS2jxBk87zLbJ7eenr5Tz4BtH4h6vbO7EbjHhDYZ5+O1uF5I+I1pGioUch7oftPQjQOghtkeb+i4HikQV7ttUwYycVJx2M99ev7/PwXNHjxBt/Teo7qKC9G4BqecsbADXLC1i2zc/RGaqlWJtkDmSQdotngCzclOxmk1j6kDShYjLSwvYVd0+LFdQeUzuTJXmUOmPF/bWEgxH+cYV83ntKxfy4I3LyU61cn+PfWYgWjqD8Z9VPwKSoii8sLeOzlPI1VIUhWd2nGT5tAzOmp5JnWvwz1hvRziq0Oj2G/vFyREOWgeo19oT6xzra5kl33+Nt48Mr/xqIA43eChw2slIsZKVaqEzGKG23Udumvp5DMURFQhHcPlC5DpspKdYcfvDRKIKNz78Hve8cMBYzuMP8fedqrBzpKlvB1K9y0eD28/yqRmcPSOLFm/QKB08VO8mx2ElySSoaPQa5WsAFiXKwkInj2+r5mevlPPAG0eBbjG4OKNbQFpQmEZumo0tA4hYPXH7wziT1fOGfpOkpcfxPNLi3mgiBSSJRCKRSBKc9s4g97yolpRYzN1f3boDSQ/Y/t5VpXz7Iwv4622r414fO63uN/6vjPs2VbD5cDPfeX4/z38w8oGeEkl/KIpCmVYmUKndvdbvxGalWnHaLYaj7tKF+WSlWimr6WDj/gaaPQGeePc4/7N+H9GoYtzhz3HYhl3CdrKt65Rm+HJ1hfjUn94z7rz3pLLZS2tncNDw52hU4ct/28Pdz+w18jiGQkWjB6vZxA+vLWXz4SYu+/VbcQ6fvhxIDpsZmzmJ9GSLEaIdjkSpd/n5yJJCHDYz97xwAK8/zK8+towL5uYA/YszQ+XlffUoCuw52REnXFU2d7K4OJ2PLC7ksXeqjQD0WDdQZoo60OtPNNHfs/7auKGsjiNNXr522Vz++8oF7DzeziNbq3ot194VIsWaZJQBZ/ZwIBVoDqRGlx9PIIzVbDKWBTCZuh0F+iBzpHKQFEWhxRsk12Ej12GjeZTKNIPhqCFA6NR1+MhMsXDB3Fw8gbDhAhwK5Q0eI59vMAHp2Z01LCx0sqg4nWRrElcvLeLa5UXUtPuGXAqo5+foApJ+XjjW7OW2J3YaYd5bj7bw5b/t4f92DRzM3xcNbj9Hmrxcs7SIoozkAYUanVgnVE27zxDlmj2BEc1p6gyEjayzgdxvr+5vwBsIs+fE8DOt+uNQg8eYmUw/Do40eclxxAfQD4R+faI7kNTHAuysbmfjgQbjPP33nTV4A2Hy0mz97o9635ZPy+TskkwAw0FX3uDm7JIsLp6nOohiBSRQv2+mZ6dw3uwcTrZ1EY5Ejc9samZ3CZsQggvm5LL1yODllk1uP75gBLcvRJo2e+MsLZC7okcZ3q9fr+Bjf9g25Bn+xhMpIEkkEolEkuDEztqii0YAZpPmQNIuONJTLNx2/kxjAK6jD9CD4SjP7DzJfZuGfndXIhlJatp9dGiD9mPNakaK7pDLSrWqA3JtEHH2jCwWF6dTVuNiQ1k907NTuPPiWTy94ySvHWykwa1e3C+bmkGjFnQ8FPacaOf8X2zmU396nxOtwxvs76hu452jrazf3bvEqysYpk4bNA4WsvubzUcN4Wd/P9NH98XhBg+zcx3ctKaE//v8WlJsZj77+A5joNboDmBJUt9DPZ9Hv+OtlrDpJX8BIlGFkuxU1s7KJhiJ8tnzZjCvII05eeqA8HQFpA1l9aRak4hEFbYd7b5bX9niZWaOg69eOpdwROEnL6mzR+kzomWmWDCZBDkOa58lUL5gxBDwjvYh5CmKwu/fPMa8/DQ+vKiQj66YwmUL8/nxy4d4tIeI1N4ZjBONejqQ8pzqe9jg9uP1hw1XXF/kOKzYzKYRm4nN7Q8TjETJcagz6o2WA+mJbdWs+9VbcRl6dR0+ijKSWdljEN4fZTUdPKmVbh5q8LBieibWJBNVrf0LSIfq3eyrdXHDyilxj+u5NLpI8Ng7VXwwQJB3a2eQbIcVh81Mmt1Mg8vHE9uqufL+t9l0qJFfvFqOPxThWc29MpzjTadKc0vOy0+jOCOZts5gv5mDOg0xolxtRxc17V0kW1TxcSRdarE5QwOV1m3S8puqB/hMhkMoEuVok4f52uelH0ct3gA5mvja2hk0MuwaXH5+sbG8l1ipuwxzHDbj+NtR3aY5twJUtnQSiSo8vq2aldMzuby0gCONXhRF4WRbF7/dfNQ49+850Y7VbGJBoZNZuQ6yUq1sO9pCZyDM8bYu5hc4ufGcaQCcNS0zrh13Xjybt75+MdcsKyIcVahp91HT7sNhMxvuIZ1LFuTR3hXijid39SuSKYrC9b/bxjeeK8MT40AqTLeTmWLhQK07btkXy+qwmZMMZ3kik/gtlEgkEonkDGdzzCxJFlP3V/dF2p20JVMzBnx9TXsXh+rd/bomJJKxokzLP7q8tACXL0RbZ9AoYespeJxdksmSKekcafKy7VgLVy0p5Cvr5mIzm9hR3Wbc4V82NZ1AWA06ru3wcXAQR48+M2FZjYvL79vCo1urhlyio08L3dcsPHpJHqizEw20jns3VXDtsiIcNvOwHEhHGj3MzVfvYK+Ynsl9H19GOKqw7Zgq0NR2+MhLsyOEMBxIhoCUbOnlVCjOSObGc6Zx3uwcvnzJHOMxu8V0SgJSXYePvSc7qOvwsfN4O5+7YCYOm5m3KtT2uXwhWrxBZuamMjPXwR0XzuT5D+rYdqyl14xo07NT+3QalDe4iSpqO482eXuVfpTVuChv8PDptdMxmQQmk+A3nzyLK0oL+MGGg3Gh2mrmUrdoZLckGaHVOQ4bNnMSxRnJHG704PGH48rXeiKEoDgzecTEAb3EJSfNSl6abdRmYSurddEZI8qBuh8VZyRTnJFMXpptwJnY6l0+bnlsB995fj/7alxUNHgoLUpnalayIbz0xUtl9SSZBNdoJdk6uqOlvN5NqzfA9188yF1P7e5XsGnVMndAHZyv31PL9144wHmzc7j340tp8Qb5y3vHefWAGpQ8nONNp1IPi85NNZxmg5Wx1bv8TM9WnStVLV00eQKGIHdyBHOQ9DKxJJPot00uX4j3KtWp54crmvdHZXMnoYjCAt2BFCPEqo4w9fzT5A7w3K4aLr33LX735jF++nJ53Hp0kTg3zWYc+3pbAd491so7R1s40dbFzWtLmFuQhicQpt7l55GtVfzy1cOG021frYuFhU6sZhNCCC5dkM+mQ03sq3WhKGr52SUL8tn01QtZWRJf6q+jz1hZ1dpJTbt6HAgRf1PuitIC/ufD83n7SDNX3v82rj5yJhvdAWo7fLy0r57Klk6cdvU8I4SgtCidA/XdQub+WjfHW7u4aknhYG97QiAFJIlEIpFIEpx9NS6WTEnn65fPwxTjLrpkQT77v395rztpAH/4jxX89pNnIQT89JVyrrz/bV7XgokHYiLYpyUTl7LaDqxJJq5cVACoA7Oqlk6sSSZjAKKWMFmYletgyZQMIlGFqAJXLSnCkmRiyZR09pxop8HlJz3ZQol2wd/o8fPd5/fzqT+91+8sZWobXEzJTOa1uy9g9cwsfrDhIJ9+9P0hZVDoAcH761y0egMoimKEvlbGlOsM5EBav6eWJCG45+pSFhY6jTyfwXD7Q9S5/MwtSDMeW1joJD3ZwrajrYbTZ8V09Xygl4HpAlJ6stmY+UcPhy3OTObi+Xn85bZVpGruGpNJMDPHwZFTEJC+8/x+rv3tO9z86HYArltWzNpZ2WypaEZRFKNscaZWxnHnxbOZmpXMd57fbwSh6/vB6pnZ7Kt19Spl0gWAa5cV4Q9Fezl+nt15EpvZxNVLi4zHrGYTD35yOR9ZUshPXi7nt5vVjJP2rlDcwFffvklARrI64FsxPZOd1W1aEG7/AhLAlMwUI3PldNGdGbkOe58OpPZ+QnhdXSHueeEAX3l6Dxv31xth675ghLue2t1rBiv9f12sUxQ18LlIGzgvKk7vV3QJRaLc+dfdBEIRUqxJfP/FA/hCEeYXpjEjxxHndvGH1O3r29l0qJGzSzKN/VOnwGknPdnCoQYP72tib027j99s7nbOKopCR1eQUCRKe1fIEJ8L0tWZ8P5teTEPf3ol1y0rZm6+g5+9Uk4wHOX8OTkcafL0GUA/ENUtam5XfpqdIl1A6sPt0xUM0xVURdoGt5+S7FRyHFZ2VLWhKOo+rfdnpNCF9AWFaf26396qaCYcVZiT5xix/VMPpjccSKnx7j09gH7z4Sa+9ve9LChw8rEVU3ixrC5OGNb3a30WNlBFI6vZRL7TxruVrTy78yQZKRYuK81nbp567jjc6DFmkCxv8KAoCuUNHhYUdpemXbW0EG8gzB/eUkVj/bnZ2jr6whCQmjuNnLiemEyC2y+YxV9vW0VbZ5AXylSXeCAcMTK29PN6JKrQ4g2QZu9+f0qLnFQ0eI3vqQ1ldZhNgiu078VERwpIEolEIpEkMO2aQ+PqJUXcefHsXs87+impuGJRAR9ZUkjsfbNfv16B2SR46rZV2Mx9XwJ0DmLLl0iGSlVLJw9vqWT3ie5pwMtOuphfmGZcyB9r8rLpUCNrZ2dj1fbJT68p4euXz0cIwZIp6tTcs3JTma8JJ8unZbK/Tr1jW5huNwYqdR0+tle30d4VYuvR/gNOdUG2KCOZR285my9fMod3jrYOqbTjUIOb4oxkFEXNVPnt5qOs/ukbNHsCVDZ7EdpUzf05kBRF4aWyes6fk0NmqpWFRU4O1XuG5IA60qiKL/PyuwUkk0mwemYW71a28sHJdlo7g6xbmA+ojoSiDDtFGer7o5ew6QIBxIfDxjI7zzFsB1IkqrC9uo3p2SlUtnSyZEo6JTmpXDgvl9oOH8eaOzmmOVJm5qqDNLsliR9cs4hjzZ08qAXX6iWMa2ZmE1WIm4obVAHJaTdz4VzVgRlbxuYLRnjhgzo+vLjQuOOvY0kycf/Hl3HdsiJ++ephtle10dEVjJt5DdACgW2GWH92SSaN7gDlDZ5+z7c6F8zJ4VC9m01DEOsHQ8+GyUlTZ6Vr6wwawseGsjpW/Oj1Xm67HdVtrLv3LZ587zhvVTTz+b/s5ocb1Py8Nw83saGsnse2VRvLR6KKIXxWaMHEbn+YzmDE2DcWFjo52uztM7fnyXePs/tEBz/79yV8bMUUdh5Xj/UFBU5m5Khimi7M7j7Rzoayeu5/o4KTbV2UN3hYtyC/1zqFEMwvSKO83s22Yy2kWpO4ZmkRD22p5IW9dVS3dPK5P+/krB++briKsjUB6cazp/KlD83mlx9bSpJJIITg1nNnEI4qLCx0csPKqYQiSq/8mcGoaumkJDsVk3ZMQXzeUJXWpuU/eJ2P//E9QBV2CtPtFGemGOfAZVMzsJpN1AxS4joc9FK5s6ZlUtfh67OUd9PBRnIcVq5dVkSLN3BKQeKglsH/6e1KXL4Qh+o9WJKEcSxnxTqQ0rozqX756mGcdjMP37yS//nwAlKtZu5/o3uigboOH0KomWO6aHusuZN5+WmcOyuHd4628NqBRq5bVozNnMRc7fz3ZnmT4fosr3fT6A7Q0RUyHFGgnkOyU628ebgZh83c7/kuluxUK2k2M9WtndS0dxnh+H2xYnomCwqd/H3nSRRF4bOP7+TjD70LqOcpITDOU7FlcAuLnAQjUaMUb4P2ndDzXJSoSAFJIpFIJJIERh8cDXTHbCD0calelpGXZmPt7By+eJEqRt2ytiRu+VO9sJRIYrnpkfe5+H/f5McvH+LWx3dQ2+EjGlXYX9st3ljNJl490MDx1q64geRHlhTyyVVqTkW+0875c3K49bwZRhnB8qkZBMNR3qtspSDdTn6aOlDZeqQFj1aitWFvPQBHmzxxpTntnUFOtHWxuFgt+xRCGG4ovbxO5+5nPuCOJ3camR2+YITqlk7+7axiMlMsPPX+CR7411EC4ShbKpqpbO6kOCOZGbmp/QpIu090UNvh46olqjumtMiJLxTpM2z4RGtXXAaQPuidGyMggTpIqmn38eg71ZhNwhiwAPz51lV87dJ5gFrCFo4q+EIRajt85Dhs2C1J9MXsPAe1HT7DTTEUKrQyr/93yRze+OqF/PGmFUD3tNdvHGqkstmL2SSMKdcBLp6fxxWlBYaQoQ+ilk9TB9vvHmuN287BOhcLi5zM0d6HY01efMEIrx1o4Debj+AJhPlYj1wdHXOSiR9fvxhLkuCNQ42aAyleaMqMmQUOMEpd6l1+HLb4ZXvy6TUlzMlzcM+LBwbNyOlJR1fQcGhBTAmbw0aeto+3dgYIR6L86rUKogps3F8ft45fbjyMxST4553nsuNb67hqSSHPf1BLIBwxHKgb9zcYTtOa9i5DlKrQXCG6s0Z32pQWOYlElV7lhIqi8LftJ1g+LYOrlxZxy7kzEAJMAubkOyjJSSUYjhplVfu042vj/gYe10SsSxf2FpBAdYqUN3jYdqyVs2dk8d2rF5KXZufLf9vDRf/7JluPtuCwmfnRBjU/K1f7vK5cXMjXLpsXlwN43fJiljf7z8EAACAASURBVExJ544LZxrByYOVufakqlUVkEA9J5lEvAPpFxvL2Xa0hQWFTvbVumh0+2nxBihItzMlI5mA9h5PzUxhSkbyiJaw1bv8ZKVamZGTij+kOrJiCUWibD7cxIfm5zEjR72OOH6KLqRXDzTwo5cO8cAbRyhvcDM7Lw2LltmTEVfC1h1A7/GHuf2CmaQnW8hMtXLruSW8vK/BcL5tr2qjtMiJzZwU5wacX5DG6lnZdHSFCEai3LByKqCGdeem2YxMqzSbmUMNHg71cESBerzrrp55BWlxDu7+EEJQkpNKWY0Ljz88oOgkhOCGlVMoq3Hxs43lbD3awv5aN7UdPg7UuZiRncqXPqReaznjHEjqjZEDdS72nIz/TpgISAFJIpFIJJIE5ljT6QlI37+mlB9eW8pFc/MAyNUu6m5eO53rlxdz97q5PHTTCpZ61YGIFJAkI8HF8/L47lULefr21YQjCl/8yy5ufmw7nkCYc2Zkk2QSzMhOZfNhtQShLyeCzpOfXcWnVk03/l+ulWwGwlEK0+1G0PFL+9R9+JwZWbx2sIGymg6uenArl/zqLS679y12HW9nnxagqzubAObkObBbTHEC0r4aF+v31PLqgUYu+/UWtlQ0c6TJQ1RRB9Tnzcnl/ao2rfTOwpYjzWo4dK6DaVkp/QpIL+6tw5pk4tJStb+xA4lYwpEoN/zxXW59fIfhKDjc4CHFmtRrQLNmljpr2ktl9ayemU16cvdAZUZOqjE7kv64yxdSsz0GuLOun28qB8iw6YketHx2SRYlOakUpqvrn5qVwqoZWTyytYqD9W6mZacYg06d7169kBRrEg6b2XCi2S1JrJiWybYYASkciVKuZexkpVrJSrVypNHLF/66i9uf3MVvNx9jRk4qq2dk99vOVJuZldOz2Hy4Cbc/1Ouu/9cum8t3rlpo/D8vP80oXRushM1qNvGj6xZR0+7jl68eHuwti+N/1u/j+t9tMwSdFm8Ak1BL6vQ8qyZ3gPV7aqlq6SQ92cJrMU4nXzDCnpPtXL2siEXF6ZiTTPz7iil4/GHePNzMvw43UeC009YZNN5T3WU2NSuZCs3h1i0gqd8V3ftovOiyt8bFkSavMbCfkZPKFaUFlBalY7ckGaVA1S3qsVBW4yIr1YoQgke2VjE338F0TZTpyfyCNLqCESqbO1k7K5sch423vn4RT922iv+8bC4b/98FfPXSuUaAtO5A6gu7JYkX7jqPa5cVU5KdSqo1qc+y0WhU6bOEOxyJcrKtixma08aSZCLfaadWm4nNH4rwVkUz1y0v5tsfWQB0z0BY4LQbx5lJoApKWSkjG6Lt8lPg7L+0bs+JDjz+MB+an2dkMh0/xSDtDVqp1l/eO84HJztYEFNOazWbDIdersNGerIFm1k9P95y7gxjuZvWlCAEvLyvAX8owp4THazRSvvS7GZ0jWd+odN4fFGxk4Uxs6bNy0/DF4pQlG7ngnm5lDe4Ka9XBal5BfECuy7MzO/x+ECoApKa+zUlZga2vrhuWTHWJBN/fKuSqVnqZ7ClopkDdW4WFjlZMT2Tn1y/mI+u6Ba1Z+SkkmxJ4kCdm0fersJm7v5OmAhIAUkikUgkkgTmeFsXZpMwLg6Hy81rS7hpTYlhJ8/TBiIZKVbu/fgy0lMsXFZawMOH1/OXg8+e8nYkklhuPW8Gt543g9Uzs/nlR5ewt8bF7uPt/PDaUq5arAaF6qUPS6akG/vnUChIt1OoLV/gTMZuUaeor3f5yXfa+MJFs/D4w3zy4fdx2i18+yMLcPvCfGv9PiMMeFFxt4BkTjJRWpTOvtruoODH3qki1ZrEhi+dR26ajZ+8fMgI0J5f4OQizeXztcvmctG8PN4+0kJlcyczc1KZmpVCTZuPSFThnaMthqskElV4eV89F87LNe5Gz8l3YE0y9XJEbDnSTIPbz75alyESHGnyMCfP0esu+tx8B9maSLRuQV6/75u+TT1svK9sD505moA0nDK2HdXtFDjtfa73q5fOpckT4M3DzczM6S2GF2Uk89N/W8yN50yNe3zNrGwONbiNgO0tR5oJhKMsKu7OMnlpXz1vHm7m7nVzeeX/nc/zXzx3UKfBhfNyqWj0oij0ciCtmJ7FubNzjP9NJsFKLVdqMAEJYNXMbD69ZjqPvlPFr1473KukyNUV4untJ9hf6zKea/UGeO1AIy5fyBDiWrwBslJtJJmEcd7eXtXGA/86wuLidO66eDblDR4jb2vn8TZCEYW1s7rbft7sHDJSLPzslXI6ukJ888r5pNnMvKjN7KnnXH14USG1HT68gbAhQOjCx9SsZNLs5l6iy7M7T2K3mOKCf+/9+DL+dvtqICZLpkXdRlmtKhTojr+BROP5MTk2a2aq/TEnmVg7O4e7PjSHkpxUPnHONOM8kJ06tNIfk0mwoNDZZ6bTzzaWc8X9b/cqJ63t8BGKKMyIEbuKM5KN9+ndyla6ghHWLcxn8ZR0rGaT8f4WpHcfD/lOO1aziSmZyYPO0jgcjFI57bu7pzi1paKZJJNg7eycbgHpFLbv8YfYfLiZdQvyiUQVOrpCRuC5jp6DlOOwIYTglrUl3HNNaVzpZ26ajeVTM9h0qJHdx9sJRqKsmaUKRSaTMITuBQVpTM1K4VOrpvHVS+fGbWeONpHAhfNyWVjo5GSbj53VbRRnJMcJ6KDeUPj3s6ZwbY+w9oGYkZNquLcHEtrVPlu5dGE+JgG//9QKCtPtvLi3jpp2H6VF6Qgh+OSqaUyNcV0mmQQLCtN4YW8dL+2r566LZ/cquU1kpIAkkUgkEkkCU9/hoyDdHmfJPxX0AXqqte+SlbxQJ+e5jxtBuhLJSHHl4kL+8tlVvP7VC7lpTYkxuNcFpIEGkv2xfJpagqYPIPM1F9LKkixj0OwLRXjwxuXcdv5MvnnlfMobPDy2rZoZOam9BhmLi9PZX+smElVocvt5sayOj62cyqLidD5/0SzKGzw8se04yZYkpmWlcM2yIh66aQWfXlPChXNzaesM0hWMMCs3lWlZKWq+RZOHWx/fwTf/sQ9Qg2GbPIG4cGdLkom5BY5eA9pnd9SQnWqlJDuFe1+v0EqIvL3K10Ato1itDcDW9VMSBN0ZHB1dQVVAGkAsnp6dSpJJcKSp76wYRVH4V3kjX332A27447u0eAPsqGpjZUlmrxmLQBVVztNEmVm5fbtOrl1WzLc+sjDusTWzslEU2HaslXqXj//8exlz8x1cXqqKELPzHHgDYRYUOrnz4lksKHSSnjL4QEwvqwN6hWj3hV7GNlgGks49V5fyibOn8uC/jvLzjd0i0qsHGlh371t88x/7uOrBrVx67xbqOnys31NLOKpgNgmj1KzZEzRK6XQH0o9fPkR9h59vXjnf+KzfOKQuv+1YK+YYsQvU/euK0gIjqH7dwnwuXZjPqwcaCIajHG3ykptmM/p3pNFDTYcPa5KJnFR1m0IILexd3UcPN3jYdqyFF7WsqdhwYLslyXiP8tPsJFuSONrkpb0zyMk2H4unpPP5C2eRmWLhmmX9l+zMzXcgBDjt5jjnSSx2SxL/dcU8itLtw7rxUVrk5FC9Oy40PxyJ8n+7ajiqzfgYi15eqof1gyp46qV5mw42kmJNYs3MbGzmJJZOSWf3CVWMLkxPNoQd/ffUzBTau0J4NbevPxThH7truO2JnXz1mQ/6zDAaiAa3n4L0/h1IW440s3xqBk67hTS7hexU6yk5kDYdaiQYjvKFi2YaJaKx5WKgHkvmGBHovz+8oE/h5tKFBeyrdfGPPbUkmQRnx8yIph+PupPox9cv5kPz489reg7cBXNyDWfRWxXNfbqMkkyCX92wlHNm9D3rWl/MyOkWewYS2nW+d/VCnvrcahYVp3PBnFzD4Vfaz76rPpdOW6c6I+XtF84cctsSAXmVKJFIJBJJAlPX4aco/fRdQXrA5fAuTSWSkeG8OTm9HlPvzmKIAcNh+dRMXt7XYAij+U47FY1ezp6eiSXJxM//fQmKogoXAFcvLeI3m49ytMlrCBmxLJmSzuPbqjna5GVDWR3hqMLNWj7YNUuL+Pkr5Rysd7NsaoY6NTyCy7R2x/ZtZq6DqDYA/I2Wj7S9qo3qlk7+vuskTruZy3qIPKWF6bx2sIFIVCHJJGj1Bth0qJFb1pZQWuzk7mf2suJHr9PRFep3MP2FC2exfGrGgOUW+h3uo81eguHogAMjq9nEnDwHz++p4xNnx989B3jwX0f59esVOO1m/OEotzy2nQa3P24g2JO7L53LO8da+u1DXyydkkFmioUv/W0PmSlWAqEIv/+PFaRY1SHMIm0f+tF1izAnDf2++ILCNHVmM0/AKPEbCH3w6RiCAwlUJ8VPrl+MOUnwh7eO4QuGaekM8lJZPQsKnTzwieVUt3by45cOcedTu/H6wyybmkGOw8rrBxv53tULafb4DeGoMN3O3evmkuWwcnlpvpGJNDvPweuHGrnl3Bm8e6yVpVMzet0EuGpJEU/vOMmaWdk4bGauXlrEP/bU8sr+eo42eZmd62Cu5uioaPRQ0+6jMMMe5+IqLUrnqe3HeXr7CUMQBfjE2dMGfA/OnZ3NhrJ6ztMEuyXF6SwqTmfPdy8b8P1LsZqZl5/GrFzHgDdPrl8+heuWFfcpWvZHaVE6T7x7nMoWL7PzVMFh27FW2rRZ7Z7dWcP5c3JRFAUhRIyA1H0MFGUks3G/esxuOtTIBXNyjTyxlSVZ7KhWQ7ML0u0o2rfulBhHF8Bzu2ooyUnle//cT3VrF2k2M55AmE+umtbvFPM98YcitHUGKUy3k5liIdmSFCcgtXoD7Kt1cfe6bgfP9OyUPjOQdh1v43CD18if68mLe+spSrezfGom07JSSU+29hJlMlOsZDusgzoAL12Yx883lvPc7hqWTsmIEyEzUizkpdkGLEu8YlEBJ9q6uHh+Hq3a5xaOKr0cUaeKnndlt5iG5G7Lc9rJ0+IBLpibyzM7TwIDC0hnTc/gyfeO88NrF2Ez931jL1EZNQFJCHEFcD+QBPxJUZSfjda2JBKJRCKZrNS5fHF3lE8V/SJ8KLM9SSYuE+n664rSAjZ/7aK4O/tD5bLSfDYdamSxVoqmD6jP1gY0PUWpJJPgK+vmcNdTe+Lyj3SWTFEdTRv3N/Cnt6u4orTAKMGxW5L41OrpPPDGkbgZfnRyHDYWFTvZX+tmZm5qzExZ9UzLSqGmvYtHtlbxyv4GPr5yaq/g6ovn5/HMzpPct6mCr102j+d21xCOKnxs5VRm5zl4ZZ8609SHFxfy4cWFvbYPaklebFleX+h39r+1fj8weLbHLz66hP/40/t84qH3eODGZZw1TXUXbT3Swr2bKrhuWRG/+OhSnt9Ty389VwYwoIC0Ynomm792US8xaiCsZhPPfWEtz+2uYUtFC3dePJtZud0lcB9bOYXzZucwLXvo6wTVVXP+nBz+sbu2VwlbXyyZks7F83JZNQwXg8kk+OG1izCbTDy+rRprkon/vGwud1w4C0uSiTWz1LyqL/51NwA/uX4xJgGbDjVx7+sV7K1x8eVL5hjt/X/r5vTaxqUL83l4SyVbKprZV+viCxfO6rXM6plZXDI/j0+tVoWBC+fmMjffwf1vHKHZHeC65cVMzUzBbjHx3O5adh9v57rl8a6R0iIn/lCU/1m/j7WzsrnrQ7Nx2MzGcdMfnzl3BpsOvc8vNpYDsKiPY68/nvzsKmyWwUXB4YhHoLrarGYT97xwkCduPYckk2BDWZ0mrhXy3O5ajjZ5uPuZvczJc+Cwm3HYzOTGCBrFGXaCkSj/+9phGt2BuDDwc0qy+D3HSLEm4bSbSTKlIATGfr9sagYFTjvfe+EAANOyUnji1nNYOT2TtT/7F4++UzVkAalRy4AqSE9GCHWGON0ZBepMkYpCXLB+SXYq7/eY2dDlC3HHk7to8QaZnp3CubNz2H2inWA4ysrpmfx9Vw1bKpr5zLmqgzQ3zcY3r5zfqz2XlxYMScSZleugJFudpU8vX9O5clGh4c7qj4wUK/91hbr9onQ7TrsZtz9szO55uujn/qKM5GHvX+fNzsEk1O+kgUSwa5YWs2xqprGticSoCEhCiCTgt8ClQA2wQwjxgqIoB0dje/0RikRpcPmH9UUlkUxmwpHosO7QSSSS8SUSVWh0+0ckl+hD8/OYk+fgLm1GEMnkI1Guv4aKySROSTwCtcTqmTvWGP+XFjl5rzK5V0lFLB9eVMi9H49ySR8lczNz1HDd+9+owGZO4ltaGK7Of6yexuPvVLGqn3Dmq5YU0d4ZosBpJxxVMAl1BsTPnFvClopmnnzvOIAROBzLFYsKuGHlFB7811GOt3axoayOc0qyjBKOhz69cvA3ZAhMzUrmJ9cvptUbINmaxNrZ/QdNgyqqPfW51dz0yPv8++/fpcBpJz/dTmWTlzl5Dn7yb4uxmk3ccPZU9pzs4M3DTb0CbHtyKp/3zFwHX798Pl+/vPdzliTTsMUjnauXFPHKvoZBhTQAmzmJxz5zzrC3IYTge1cvZPm0DEqLnIbjRefDiwv5/IWzWL+nhquWFhIIRRFiHw/86yjLpmZw18UDn68/c24Jr+yr5+bHtqMosHZW78/UnGTikVvONv43mQR3r5vLFzTharaWqzU3P43tVW1Mz06JCxEHKNUyp3LTbDxw43JyBhgYx7J2Vjbz8tM43OhhZk7qsHJedPfVSDM1K4UfXlvKN57bx32bKvjSh+awcX8Dly7M5z9WT+dv209y1YNbCUUU9tW6SLEmMTM3NU5I0IWK3795jFRrEhfP784eU4VW1X0khMBhM/PwTStZOlUV26ZkpvDONz/E7hPtVDZ7uXppkeGou/GcaTy05Rg17V1D2i/rXaqApJfyFmUks6WihWt/+w7TslJodPvJTLHEicvTslNY/0EtvmAEly9EvtPG/756mLbOIPlOG995fj9fumQ2//n3MiJRhWRLEr5QhDUzs7mjD4Eylv7cSz0RQqji59tVvfbZz10wvHIuIQTzC51sr2ob8Pw/HDJSrGSmWIb0GfQkPcXC+XNyB3UuJZnEhBSPYPQcSOcARxVFqQQQQjwNXAuM6QXMfZsq+PO7x/n3s6ZgPs3sCIlkolPe4OFgvZvrlhUjDweJZGLQGYwQiiindBHTk8xUK69/9cIRaJUkgUmI66/x4DPnlnDz2pIBy11MJsH1y/ue3t1kEiwqTuf9qja+fMmcXsdcXpqdnd++1JghrCd3XDCTz50/EyEEliQ19L7R7efaZcUUOO1sPqzmc+jhzz35wbWLKKtx8cLeOj65ahr/3cfd/dNFD3MdDouK03nz6xez6WAj/ypvwhsIc96cHP7rivnGoBfgJ9cvIhiJnnZW21hy8fw89t1z2ajfWBNCDBjg+80r5/O1y+aqM9PZVQGistnLbz91Vr/7m05emp1n7ljDjQ+/R4PLz1lDdKteXlrAwkInB+vdRmD6wkIn5Q0efveps3plhM3JS+Om1dP56IopQxaPQO37reeV8I3n9rF4GO6j0eaGlVPZUd3Og/86yrM7T+L2h7lqSSGlReksLk6nstnLnz+3ij+9XclrBxuNkiadlSVZfPDdSwmEo6TazHHZWOkpFkqLnHGOpZ7ZZHruT0/H3qfXTOfhtyv5z7/vNWa/G4hqrbxOL+X91KppmIRAAbYdbaG1M8h1y4rijsuS7FQUBc75ySY8/jAzclKpbu3k5jUlXDQvl1se28Hdz+zlnJIsbloznS0VzayYnsnHz546bDfOQNy0uoSuYGRY2UT9saQ4nYN1bkpOUUzui7svndtrxsuh8ugtZzNxzoTDRww3qGtIKxXio8AViqLcpv1/E7BKUZS7Ypa5HbgdYNq0aSuOHz8+4u042dbFV5/9oNfMFhLJmYhJCIKRqBRTJZIJxqqZ2dz/iWVxGQGjwkUXqb/ffHNUVi+E2KUoyshYKSR9MpTrL+3xUb8Gm4g8+W41r+xv4PHPnDPowH0wfvDiQYSA71y1kGA4yg1/fJfPnFsyoJDQ3hmkzuUb0sBRMnmpd/kIhqP9TnHfF25/iBZPgJm5vWe4649tR1v4/osHefbza0hPttDWGaTVG2BOH0Htp4M/FOHGh9/j9vNncmU/JZjjQSAc4f921fDKvgY8/hB///xarGYTTW4/oahCcUYybn+IWx7dzidXTY+bhn0wajt8mE2CfOfQZ5fUueeFA/zfrpohL1+QbmfDl87rVRobjkTZW9PBjBwHWTFumJNtXdz0yPssnpLB4mInWypaaO8K8vTtq0mzW/jO8/tpdPu57xPL4kTiRMbtD9Hk9vdy+A2JUb72SRRG8hps3ASkWFauXKns3LlzxNshkUgkEolkiEgBacIz3OsvkNdgEolEIjmDkQLSsBktWbEWiC3ynqI9JpFIJBKJJBGZ5BdPZwjy+ksikUgkkqEir32GzWgV/e4A5gghZgghrMAngBdGaVsSiUQikUgkEnn9JZFIJBKJZBQZlRI2ACHEh4H7UKeRfVRRlB8PsKwHODzA6qYBJ0aweemAKwHXpZOo/R3pviZqP0drfbK/p4fsb2KsC0a2r6NxDh3JdY705wqJvS+PZn/nKYoysuEakl4M5/pLW74ZGEoI0qnsZ/29JgdoGYPtjMbr+nrNQP0Zye0kwmv0viZq+073NYN9lqe7nVN93Wi8pq++TsTjrz8m677a83VD3WcTuU9DfU1sXxN1vzud1wzn/DPc7YzcNZiiKOP+A+wc5PnmEd7eQ4m4rkTv70j3NVH7Kfsr+zvZ+pvIfR2lc+hIvncj+rmO0ucxIfo72He9/Ensn1PZz/p7zUD7wkhuZ6z6NITr2DHp01i8Ru9rorbvdF8znPPUeO93p/uavvo6EY+/wfqXKO/3aL13Q91nE7lPQ31NbF8Tdb87zdcM+zrpVN670/0Z3XkrR46OEV7fiwm6Lp1E7e9I9zVR+zla65P9PT1kfxNjXTCyfR2Nc+hIrnOkP1dI7H15IvRXMj6cyueYyK8Zy21NtteM5bYm22vGcluJ/Jqx3NZke81YbmuyvWYstzVW1z5jfo01aiVsw2qEEDuVAVLBB3t+snGm9PdM6adOovdXCJEBfFJRlN+N0Pri+iuE+AqqSt41xNffAqxUBpg9SAhxERBUFGXbaTb3tEn0z3ckkX2dvIxmf8+091LSP5NtX5hs/RmIyd7Xyd6/WCZ7Xyd7/3TOlH7C5O/rRLkGSxQH0kOn+fxk40zp75nST51E728G8MURXF/P/n4FSBnB9QNcBKwd4XWeKon++Y4ksq+Tl9Hs75n2Xkr6Z7LtC5OtPwMx2fs62fsXy2Tv62Tvn86Z0k+Y/H2dENdgCeFAkkgk448Q4mngWtRA+z3AekVRXhBCrAfaFUW5VQhxKzBLUZRvCSH+A/gyYAXeB76oKEpECHEZ8H3ABhwDPgPcCvyvtu4WRVEu7qcNnwH+G7WMZi8QUBTlLiHE1cC3tW21Ap8CkoH3gAjQDHwJKAf+gBoEDPAVRVHeGbE3SSKRSCQSiUQikUjOUKSAJJFIABBClAAbFEVZJIT4BLBCUZSvCyG2A1FFUVYLIR4DnkadpekXwL8pihISQvwOVcx5GfgHcKWiKJ1CiG8ANkVRfiCEqEYtSetzdgEhRCGqELUCdTaBzcAeTUDKBDoURVGEELcBCxRF+ZoQ4h7AqyjK/2rreAr4naIoW4UQ04BXFUVZMApvl0QikUgkEolEIpGcUZjHuwESiSQheRv4ihBiIXAQyNQEnjWorqObUYWeHUIIUN1ATcBqYCHwjva4FXh3iNtcBbypKEozgBDiGWCu9twU4BmtDVagqp91rAMWatsGcAohHIqieIfYBolEIpkQaKK8B9WFGVYUZaUQIgt4BigBqoEbFEVpH682SiQSiUQimVwkSgYSQogpQoh/CiGOCCGOCSHuF0JYB1j+K0KIkc5TGTOEEGfMgFYIcZ0QQhFCzB/vtowVg32+Qog3hRAJGwKnKEotaibSFcAWVEHpBlS3jwcQwBPAVcBx1HPJTcDtwBuKoizTfhYqivLZmFXfcYrH7YPAbxRFWQzcAdj7Wc4ErI7ZfvFIi0dnyrF7Jh63MPGP3aFwpn3fTnIu1s51+j75TdRz8BzgDe3/MUcIERFCfBDzUzLAshcJITaMXeuGj3Yu/EvM/2YhRHOit/tUmazn/zPtc4Qz6pplUn93T9ZjsidCiG8JIQ4IIcq0745V492mkWYyXIMlRAlbTk6OUlJSMt7NkEgkEolEMkrs2rWrRVGU3PFux2Shr7JgIcRh4CJFUeo1x+abiqLMG2g98hpMIpFIJJLJzUhegyVECVtJSQk7d+4c72ZIJBKJRCIZJYQQx8e7DZMMBXhNCKEAf1QU5SEgX1GUeu35BiB/sJXIazCJRCKRSCY3I3kNlhACkkQikUgkknHmoovU32++OZ6tkAyd8xRFqRVC5AGvCyHKY5/UJh3o02YuhLgdteSYadOm9bWIRCI5A6lp78JmTiI3zTbeTZFIJh5nyHXUoBlIQohHhRBNQoj9MY9lCSFe12r3XtdmSEKoPCCEOKrVLp41mo0/Xe554QC/fLV88AUlEolEIpFIEggtqw5FUZqA9cA5QKNWuqbPbNnUz2sfUhRlpaIoK3NzZVWhRCJRufOpPXz7+X3j3QyJRJLADCVE+3HUIN1Y+gtpvBKYo/3cDvx+ZJo5Ojy+rZrfbj423s2QSCQSiUQiGTJCiFQhRJr+N3AZsB94AXWWTLTf/xyfFkokkolIs9vPwXr3eDdDIpEkMIOWsCmKsqWP2TOuBS7S/n4CeBP4hvb4nxU1mfs9IUSGEKIwph5fIpFIJBKJRHJ65APrhRCgXss9pSjKRiHEDuBZIcRnUWfIvGEc2yiRSCYYHn8YbzCMLxgh2Zo03s2RSCQJyKlmIPUX0lgMnIxZrkZ7TApIPbhvUwXnzMhi7ayc8W6Kt1QJhwAAIABJREFURCKRSCSSCYSiKJXA0j4ebwUuGfsWSSSSiU40quANhlEUONbsZVFx+ng3SSKRJCBDKWEbEM1t1GdI40AIIW4XQuwUQuxsbm4+3WZMOO7bdIRPPvz+eDdDIpFIJBKJRCKRnOF0auIRqALSSHOitYt9Na4RX69EIhlbTlVA6i+ksRaYGrPcFO2xXox3gGM02q15BcPRMd22ogxbb5NIJBKJRCKRSCSSUcHjDxt/H2kceQHp56+Wc9ffdo/4eiUSydhyqgJSfyGNLwCf1mZjWw24EjX/yBeKGH+7fCEA/rb9BGU1HaO+7XBUCkgSiUQikUgkEokkMYgVkI42jbyAVN/ho7bdF3cTP5aOriC3PbGTJo9/xLctkUhGjkEFJCHE34B3gXlCiBotmPFnwKVCiCPAOu1/gJeBSuAo8DDwxVFp9QjQFYwXkMKRKP/9j31c85t3Rn3b/hjxSiKRSCQSiUQikUjGE29AvaGeYk3i6CiUsDV7A4SjCi3eQJ/P7znZwaZDjbx7rHXEty2RSEaOoczCdmM/T/UKadTykO483UaNBV3BbpXd7Q9R0+4z/lcUBW1mk1EhMMYlcxKJRCKRSCQSiUTSH27NgbRkSjo7q9sJRaJYkk47LhdQx1ZNblU4qnP5yXPaey3T7FGfjx2TSUaGikYPWalWchy28W6KZBIwMmeFCUhnIN6BVNXSafxf2zG6Jy7pQJJIJBKJRCKRSBKP9XtqONHaNd7NGHP0ErazpmUSjiocb+0c5BXDWHcgbNxAr+9nnKULSCfbzrz3frS5+dHt/PyV8vFuhmSScMYKSHEOpB4CUlmNiwffOML6PTWjsm3pQJJIJBKJRCKRSBKLk21d3P3MXh59p2q8mzLmePxqCduyqRnAyOYg6e4jgHpX3xlHemnbyXYpII0kgXCEepefg/Xu8W6KZJJwxgpInTEZSLqAZNKq1mrau/jV6xXc/cxeY5ldx9to7wyOyLYDISkgSSQSiUQikUgkicTG/Q0AVLaMnPvmdGj1Brj6wa2jEmrdE6/mQBoNAUl3FwHUuwZzIMkStpFEF++ONHmJJMhETpGoImcln8CcsQKSL8aB1N4V4nhbF6VF6aTZzNR1xCvj0ajCjQ+/z2MjdDfCH5YlbBKJRCKRSCSJSjSqcLjBM97NkIwxr+xXJ4+uHIUQ6VNhb00H+2pdbD3SPOrb8vjDmATkptkozkjmyEg6kLSZ1cwmQV0/DiRdQKrr8CWM0DEZ0B1fwXB0RMsSTxW3P8SyH7zGG4eaxrspklPkjBWQYjOQqls7aXL7KUi3U5SRHBfeFghH8PjDBMNRmr3SgSSRSCQSiUQy0dlf6+JAnavf51890MDl921h1/H2Qde163gbhxKgPGRDWR3eQHjwBROMspoOyhvG//1rdPvZfaIDp91MbYcvITJL9SymkRRz+sPjD+GwmRFCMCvPMSoOpHkFaf1mIOklbOGo0q9Lac+JdioapbA7HBrc3YJdIrx3J9u68PjDHKgb/2NecmqcsQKSnoE0Lz+NY82dNLr95DttFGXYqY5RZ0+2+XD51Jpgt/b7dJEOJInk/7N33mFy1PUff832q3u99+TSL72QQggxaKihCwgqKIiKCio/UbGhAiJYUKRIR2mBQCgmkEIIudRLLsld+l2u9367d7d9fn/Mztzu7e5dyl3qvJ4nT5ItszPfnZmd73ven/dHRUVFRUXl9PHrlaU8+H5pyOflyc07OwfPw3S4PNz56k5+9GbxaS3JKG+xcs/rxby6pfK0rcOJ8tPle3jow/2nezX4ZJ9UvvbNeTmIIn7zgdNFlTdQ+lSUsFnsLqJMegDyEiKoaO0Ztn26xWLHoNMwNiWKxkEcSKOTIoHQZWz/985efvleybCs0/lCo48Yd/AMcFXKJXW+wlYoiqs7Bj2nudweHlt90K9EUmXkOW8FJDkDaXKGmQP13XT0OkmOkhxIvifpqrYeur2hcrKQ1GN3cfmTX3D/8j243MfvJlIdSCoqKioqKioqp4+GLhtlzdaQE2T5WvCjvfWDOlE2HGqmvcfB4Sbrab2jfsTrLNhS3nba1uFEcLo9HG3poeoM6Hq2qqSR0UmRXDIhBYCKltMvIMkOpPJTUFJnsbmIMukAGJUYQa/DfUyT/GOhxWInMdJImjmMJos9oETN5nTTbXMxPUvKXwoWpC2KItXtveyp6Toj3GFnC41ddiIMWrLjw88IB5Jczth8DPvWS4WV/P6j/XhClDTub+jmXxvKFfFX5dRw3gpIvXYXggAT06JxeEWg5GhJQPKlur1XEY7kv+s6+9hX383ynbVUnsAPnl11IKmoqKioqKioAIR0JIwUbo9Is8WOxeaiNUQ8QVmLlYRIIxabi7UHmkIua8WuOuIiDBi0miHdSiPJkSZJYNhR2T4s15mNXbYRc1Q1dPXh9F57V7X1KiVLzhO4KTuQb7+yg0dPoF15V6+TbRVtLJ2YQm5iBHBmBGnLDqRWq2PYmvmEwmJzKgJSXqLkBBouEa3ZYicp2kiK2eQ9/vyP+Tbvtk3OiEEjSGVOA2m1OrC7PDjcHkrqQpefqvjT2N1HstnE2OSoMyLXrek4HEhlzVacblEpbxyIHDtTH6IsUmVkOG8FpB6HmzC9ljEpUcpjidFGUs0mv9e1WR0BApJvfXmv4/hrzVUHkoqKioqKioqKlH9zwSPrKKpsP2Wf2dbT74AIFpbsdHuobO3huhnppJpNrNhVR7fNySf7Gv2cDx09DtYdbOKaaeksmZDEB3vqh0UEORHKvNthc3rYXd15Ussqb7Ey/0/r2XBoeIObP9hTz7KnCpn7yHqe23gUgLJmaULrEU9+EtjncPPZoZZBBb9Q7KhsxyPChfkJRBp1JEcbT4nrZzA8Hslxk+8t6yob4fWx+paweUW08mES0RQHUow0zxrYsEguQUo1m0g1hwUVkOp89o8dp/B8cbbT0GUj1WxiXEoUlW29p929JYuHspAUCrdHVI7B2hDnhjpVQDotnLcCksXmJNqkZ3pWrPJYcpSJxCij3+vaeuxK9lF1ey9r9zfR4yMg+YZxHyu+GUgnUgKnoqKioqKionIusLtGEju2n8IJYVNX/8QlmMukqq0Hl0dkbHIU10xLZ8OhZmb/cS3feW0nb26vVl734d56nG6Ra6enc+20DNp7HPyvpIG3d9SwcnfdKdkWmbJmK9OyJPfG5pMsY9tc3obbI7J/GIPBazt6+eEbxVhsTpKijGw9Kq2jb2zEybZvL6nrUiadPccZJr6jqh29VmCKt4V9XkIkR09zCVuzxY7D5eFL45OBkc9BsthcRBolB1JKtIkwvXbYutE1W2wkRRtJNUuVHgNDsmUBKSHSSGZcGDUdgftCrbeszajTUFQ5dLi9ikRTl43kaBNjUqJwe8TTvl/LwlFbj31Qwb2uow+7S3o+lEAk7xMDBUmVkeW8FZC6+1xEh+kw6bXKY8nRxgABqdXHgQTw7VeLFLUTTt6B5FAFJBUVFRUVFZXzFLmkovQUlqQ0+ZROVAQRkOSJ+uikSG6encXopEiunZ5BUpTRT+h6d1cd41KimJhm5qKxicRHGPjRm7v5v3f38sC7JacsVNvjFU2mZ8VSkG4+6Rwk2Q02nC2/y72T1keuKeBL45PZXdOJxyNS1mzFqJOmI8Fyb46H3TWSqCCKHHdXvKLKDgrSzcq8IC8xgqMtoTOyhovVpY38be3hoM/J4z93VDwmveaUCEhyCZsgCOQmRAyL2OBweejodZIYaSLNKyANLFuVS5QSo4xkxoYHdyB5519LJiRTVNkeMhdHpR+3R6TJYifVW8IGp78TW7NXLBRFBg2/LmvpX89QApLsSqsbRgeS0+3h/uV7Tvs4ncmcvwKSzanYND+8ZwG3z88hLsJAQmS/gJRqNtFmtfsJSAD1Pie9E2mX6msdVMvZVFRUVFRUVM5X5Iv0U5lpImdvxEUYFIfFWzuqufHZLbi9ogbAqMRIMuPC+fS+i3j4mgLmjYpnR2UHoijS3G1jT00nV05JA0Cv1fDLy8dzy5wsbpmTRZ/TreS6BONEbkCGQmo57yE/KZK5oxIoruk4qeXL7o7qIJP4E6XSK9TlJkQwLTMGi83F0dYejjRbmZUTh04jBBUNBsPmdHPFP75QAnR313QS7RVAhtqfDjR0s/iJDdS0SyU9e2s7mZUTpzyflxhJtzcj657Xd41Yl7jnNpbz9IbyoGKInH+UEx/OqMRIjoywgGS19ZewgVdEaz35z5TFoaRoI9FhOsL02pAlbPGRBjLjwmm22ANKrWo7+og26Vg8Nolum2vEx+NcoM0qleumRJvISYhArxU4dJqFkZZuG3ERBsBfzB+IfB42aDUhHUZyBlJjty0gmP1EKW+xsnxnLatK1GDuUJzXApL8I1OQYeY3V05EEARiww3Ka7LiwmnvcShd2GR8VdBebze3XofrmO92yHa8gf9WUVFRUVFRUTkX6epzKnk3MqIocqjR4hUP+ujsPbGQYKfbw97a4Lk/JbVdOAZcazV329AIMDM7VnFYvLG9hu0V7Wwpb+NIs5X0mDAivOU8MjNz4mix2Klu72XDYSkf6OKxScrz107P4OFrCljsfSyUIFLT3svU361hc1mr8lhpXRerShpYVdIQ9K68xeZUOq0NxNcxNW9UPE63eMIlPnWdfdR19qHTCEoHsOGgorWHCIOWxCgjU72dtnZVd1DeYmVMchRpMcHLlgajpK6L0rpunv9CylPaXd3JRWOTSIwyDikgfbqviaMtPbxYWMHe2i6cbpGZfgKSlAH0508O8tHeBv6zrYquXmeoxZ0QVruLPbVd2F2eoIHC1W29aDUCaTFhjE6KpHwEBROb043D7VEcSCCJaLUdfSedmSM7ThIjjQiCQGqMKWgJmzlMj1GnJTNOcinVDtgf6jr7SI8NV4Q+NQdpaBq8pocUcxh6rYbRSVGsGRDHcirxeBsYFKSbgcEFpCNNUiOD3ISIoA4jURSp6+gjTK8NGsx+oshid+UwOjDPNc55AanNag+6Q1lsLqLD9AGPazWC8u/s+HBviLb/QeYrIMkH4M3PbeXSv38R0k4piiJPbyinrNnq70BSO7KpqKioqKionOM88r8DXPGPTbT7uHKauu1021xcPE4SXErrTixz54VNFVz1z0L21/u/v9VqZ9lTmwK6cjV220iINJKfHEl1e6/kJvIKUCt21VLWbGW0N7jYl/6JawefH2ohOdrI+NSogNdlxoUDhBREdlV34HB72FohTYAdLg83PLOF7/53F9/97y4e+ijQ7fK3tUe44h+bgopsR7zC3OikSGbmxGLSa3hta9UJlV/J5WuLxibR0G0btuvUyrYesuMjEASB0YmRRBl1fLy3QXJOJUdKuTfH6UCSBYQdlR3sqGynvsvG1MwYCtLNQ5ZEFlVJ711eVMuGQ82AJCjKjEqQvv+3i2rJiQ/H4fLwcUnDMa2XxyPy1o7qIasUtle0Ka6JYJPVqvZe0mOkiX9+UiR1nX0jNvG32KTl+gpIoxIjEEWpU14oeuwuXtlcOWgpkvxcUrRU5ZFmDvOr5gDpWJVjRDJjpePnX5+V8be1hxXxoLajl4zYMDLjwkiKMp7S4P3hxuZ08/q26hHPwpWFyZRoKbz8gUvHUdHaww/eKD4tObwdvQ5cHpHJGbKANFgJm5X8pEjSYkxBS9i6+1xY7C5meI/b4QrSljusqwJSaM55AennK0q45/XigMe7+6QQ7cHIjA3HYnfRMkCAavA56ckOpD210g+VNYRl+ECDhT+tPsgv3ytRHUgqKioqKioq5w1Ot4fV+xqxOT284RNCLZdSXDc9HTixMjZRFHlnZy0A7+6q9XvucKMFjwj/2Vbl53ho6raTYjaRlxCJyyPyn23ViCJMzjCzqrSR8pbgAlJ+UiTmMD1bytvYeKSFRWOSEAQh4HUZsZKDIpQgIodTy4LX4SYLfU43D14+ngvzE9hfHzgORZXt2F0ePtwbKGKUNUt36mPCDYQbdNy7ZAxr9jexqvT4SzCKKjuINOr4ysRkRPHkg61lqtp6yUmQhAGNRmByppkvjkgurtFJkWTGhiuBuMezrolRRgQBfvvBPgCmZsYwKd1MWbM1ZBmfy+1hV1UHUzNjsNpdPP9FBflJkcRG9FchpMeGYdBpMOg0vPDNWeQnRbJiwP4Vim0V7fzs3RLe2lEz6Os2l7Uh7z6VrYHbXt3eS3a8NGby/jhSAcgWb7WFnwMpQf7M4M6nsmYLy54q5Dcf7OPyJ7/wcwTZnG6e+PQQn+5rVG7kywJRqtlEXUefn8Apd2kDyE+OIiHSyHu76/jb2iM893m54jbJiA1DEARm58axubztlOWM+eJ0e3jow/3HLXj6sryohl+8V8LGI8Pb6XAgjYoDSRKQLhqTyG+vmsj6g838afXBwd46IsiC0biUaPRaIajzDqTzuizkp8WEBRWHajul8ZeF/bphCtJWHEjD1IHwXOScF5DqOvsCLL+iKNJtk0K0ByPBe6KraO1h3qh4vrMwD5AUzmiTDqNOwyf7Glld2v9jbrUF/7GS67PjIgxqBtJZTJ/DHVDSqKKioqKiohKa7RXtdPY6MYfpeW1LldJ557A3QHt2bjwZsWGUBhFOhmJvbRdlzVaijDpW7q7zu6sutz13uT38c32Z8nhTt42kKJNSpvTfrVXERxh48PIJ9Dnd2JyeoAKSRiMwMzuWD/fUY7G5WDQ2Meg6RRh1xEcYlAlmSW0XNz23RXGkHGiweP+WBKR93u3+0vhkpmXGBLTatjndiugUTMSQJloRyv+/vSCXSenR/HrlPj/H0jOflw+Z5bOjsp1pWTHK2FS3Dz6J8nhEvjjSwj2v7+KOl3cEzSFxuT3UtPeSE9+/jlMzY5BfOtqbNdVqdQyZ3SQ7/T0ekaLKdpaMT2LeqHj21Xej1wpMTItmUlo0nkGCtA80WOhxuLljQS5TM2NwuD1+5WsgVSR8Y242v182kVGJkVw3I4Oiqo5jmlRuOCw5moZyyGwub2N2ThwGnSao26G6rYesOFlAkpxuR5pHJr9G3jcjjf0313O9+0CwToXlLVaW/bOQzl4Hj15bQJhBy03PbeX+5XtYd6CJG5/dwj/Wl3HfW7vZ4+20GB8hzavm5MXTarWzvKh/X2612pV5lzlMT9GDS6h45HIWjklky9E2Onud9DjcpMdI4uyisUk0W+zD2inwWNlR2c6LhRUBgvVQ+FapvLNL6tJYUht6/X/34T5+s7L0pEoIG7tt6LUC8T7i6G0XZHPVlDTe3F5zyl1IspiYYjaSFGUKWcLWbLFjsbkUAamj1xlwbpBLHGfnSsfucDmQ5MYKHb3OYS9bPVc45wWkjh4HHb1ORVnfdKSVPbVSm89QDiT55BSvBHzZiY0w8KMl+YDkGoo06ogw6thX383d/9mlvDeUXVW+y6LTavxcRw538JPCtqNt3PHyjpOuO1YZXi79+0Ym//bT070aKioqKioqZw2rShsI02v54zWTaOy2KTfVDjVZSIwyEhdhOKayo2Cs2FWLQafht1dNpNXq8Lujf6RJEpZumZPFWztqFEGnqdtGitlIXqIkErX1OLhoTCKzcmIVx0d+EAEJpBwkh9uDTiMwPz8h5HplxIUrXcVWlTaw9Wi70h3tQEM3GkG6ydnV56Skrosoo47suHCl1Xa5j+tjf0M3TrfIjOxYiqs7/Z4TRZEjzVbyk/pL6XRaDY9dN4XOXgd/X3cEkEScZz8v59UtlSGzprr6nBxqsjArJ46sOK+ANKB8qcViV66pAZ5Yc4jbXtjO2gNNrD/YzLoDTcp6yc6V2o4+XB6RnARfAUkqO0mINBAbYVBcW7UdffQ53AEZOSAJcRN/8wk7q9o53Gyh2+ZiZnYc103PAGB8ajQmvZYCb3lMSW3w/Ul2yszKieX2+TkAzM6NDXjdLy+fwFdnZQFw9dR0NAKsKK4LukxfNhxs8X5OR0iHTEePg/0N3SwYnUB2XHhAN8Bum5OOXqciIOXEh2PQaTjYODICUrAStkijjuRoY1DX0+rSRnocblZ8dz43zc7iwx8s4KZZmXxc0sC3XimioqWH3y+biIhUBhgXYcDg7bZ37bR0ZufG8YeP99PsFRB8HUi+zBsVz+EmK7u9JaYZ3vK2i8ZI4u2GQ8Pn4LHaXcr6DMbmMuk43l0TPHctGI/87wDzHl1PU7eNsmarIqqFcl3aXW7+u7WaV7ZUce2/NvP54Ra2Hm1T/hxrh8TGLkks12j8nZKXTEjGYndROqDs1+MRT7j74rGMX7PXgZQUZSIp2hhSQJJz3fKTIpV5+cAgbbkr39iUKMxh+mEsYeshNlzSCCrUMragnPsCklc5lC24t76wjaufKgTw6zTgy6p7L6TwgcV+VlZzmJ4wvRa9VjoAI4xSF4GBWEI4kOQAuc5exzE5kP669rD3h7g54LnNZa38fMXeoO9TGVkqhzFQUkVFRUVF5VzH4xH5ZF8TF49L5LJJqWTHh/NSYSWiKHK4yaK0lp6UbqaqrTeg8+1gOFwePthTz5cnJHPllDTiIgy8u7N/gl/WbGV0ciQ/WJyPRhB4ZXMlNqebjl4nyVEmzGF6EiKla72LxiYiCAI3zszEoNP4CTK+zMqRhIYZ2bGDRiFkxoYp157yJHFzeSstFjstFjvzR0vi04GGbkrqupmYHo1GIwRttb27Wpps/ubKCWgEeG9X/za2+Nyp92VCWjSXFqTyXnEddpeb7RXtdPQ6cXlE1uxvCrrOz39xFFGEOblxJEQaCDdolU5gILUEv/bpQn75Xqny2Nr9zczJjWPXry4hzWzi5c2VADy38SiLn/icPTWdyiQsN8HfgQRSpzvwyY1q7+Wny/dwxZObAtwRK4pr6XO6+dOqQ+yokEWgOJZOSiHapGOO14mQEm0iIdLA1qPtuNweRFFkT00n6w9K211U1U56TBip5jCunJzGU7dM54rJaUHHRCbFbGJBfiKvbqkMEHt8qe/s41CThVGJEbRa7SHzg7YelUSIeaPjyUmICJi0y8KdLGjqtBrGJEcec8Oe4yVYCRtIZWxlQUrYCstaGZcSRZZ3/aJNev54TQE7frmEZ26dzv9+dCG3zc3hp18eC+AnDmk0Ao9eW4DN5eHXK/fR63DR43ArJW6+zBsVD8A7XreSLDQmRhmZlB6t5FedLG6PyG0vbONrz28b8rWby6Xw+z01ncdUQvdyYQXPbjxKY7eNB98vZcWuWrQagQWjE0KK5vvru3G4Pdx2QTZ1nX1848Xt3PTcVuXP5U9uUuaTDpeH1aUNQdeloauPVG/5mi9zveNa6BPkD/BecR0XP77BT6Q+Vn69spQv/23joHlYvuWMKdGmkBlIvo0B0hQByV8gqu3oI9ygJTZcT1pMmCIoDeRIk8UvH6/FYleMHQPpdbho6raz0CtQnqiYdq5zTgtIfQ43fd6Dq6ajN+DAClXCFm3Skx4TpqiPIAlIgiBg9gZvRxh1QW26lhDlTZ1eIauz10mvw40sBIfKQEqKkg7293cH3un4dH8Tb2yvGdYWsCoqKioqKioqw82u6g5aLHa+MjEFjUbgWwty2VnVwb+/OMrhJgtjvIKJ3JVnzyB39T872MzHPhlAnx1qpqPXyXXTMzDoNFw1JY01+5uUsoOyFiujEyNJjjYxMyeWwvI2ZXKT7J1U5SVEohFgYb40Ybj7olGsve8izOHBxaGCDDPJ0UaWTU0fdLsz48Kp7+zD5fYok8Qt5W2KAHD9DMk1U1rXxYGGbmX7lVbbjf0TuN01naREm5icEcOF+Yms2FWrlMPIOVLBHFPXTU+ns9fJZwdbWFXaiEmvISXapDjAfFleVMM/1pdx48wMZufGIQgCWXHhfg6kLeVt1LT3sbm8FVEUsdicHG62MHdUPOEGHbfNzWFzeRurSxv5y5rDAHxc0qCUfcliCEgTyCkZZi7IkyaycnDy6tJGPi5poK3Hwa7q/n1BFEU+KW0k0qhje2U7z2+qICnKSGZcGOEGHZ/edxE/vkQSKwRB4OKxSaze18jcR9ez9G9fsOypQu54uYi3d9Swo7JDEQI1GoHLJ6ei1w49Jfr9soloBIE7Xt5BfWcf7+ys5W9rDyslmdDviPmJVzgJ1ilMFCURL9ygZXJGDDnx4VS19fqVOK3wioTjUqKVx8anRI+ggCTNKQaKojOyY9lT08mv3i9VAtVtTjdFVR3MGxXowIsw6lg6KVURBL8xL4cL8uKYmB7t97q8xEh+fMkYVu9r5OH/HQBQxFxfJqaZiTLpFNFTFpBA6oC4s6pjWMqMXtlcSXF1J0cGyc6C/s55KdEmOnqdgwaMA2w83MJDH+3nkgnJ/GzpONbsb+LFwgoW5iewaGwijd22oIJLsXff//7Fo1n3k4t4/c45yp9fXDYOq92lvGb5zhru/s8uNnsdjr40dduVc50vCZFGxqVEKa5ImQ2HW/CIsD6IgWEwRFFk4+EWOnud/PbDfSFf1+zttmfSa0mODl3CdqTZQpRJR2KUkfTY4AJSXacUMi8IAukxJiVs/bUtlX6/Iz94o5h7Xu+vFnpy3RFue2F7QNMF6A+MvzA/EUFgULH4RHlje3XIrqFnC+e0gNThY9Gtae9VxCSZoUK0Y8L9HUiA0rkt0qgLKhYFK2FzuDzK4519DlqtdkVNHViiVtnaQ3Vbr6LQBtu5W6zSiabVcmLtblVOHrV7noqKioqKytCsLm3EoNWw2Ntp7dY52VxekMrD/zuIzelhbIokfEzLiiEuwsBvPthHR0/g9Y3d5eb+d/bw8xV7lQn7h3vqiY8wcKG3lGzZ1DQcbg8bDjfT1eukxWJXnDnzRydwoKFbyUxJ9nYlunJqGrfMyVJc51qNoLgqgmHUadn2iyXcPDtz0O3OjA3H5RHZVd1JR6+TjNgwDjZalDv+C/MTiY8wsHJ3PQ6Xh0leAUmv1TAqMdLuh5V6AAAgAElEQVTfgVTTqTh2Li9Ipb7LpuTSyILC+FT/CTrAgtEJJEYZeWdnLZ/sa+SiMYlcVpDKxiOtfterO6va+fmKEuaPjueP1xQoweDZ8eF+DiQ5f6nV6qCyrZeS2i5Esd9NdPPsTEx6Dd9/fRcGnYYpmTGsKpUEpAiDNqBEaeU9C7jvkjGAJB6E6bUs31lLtEmHTiPwmY+7ZG9tF/VdNn5x2XjSY8KoautlVk6csq4pZhNhhv7KgIevLeDfX5/JlIwYosN0/OHqSVyYn8ADK/bSYrEHZB4dC9nxEfz76zOo6+xj3qPr+enyPfxt7RF+88E+5Sb1hkPNpMeEsXRiCjHheooqO/yW0etw8eO397CiuI5lU9PRazXkJERgd3lo8E6md1V38NLmCr4+N9uv7G98ajStVsewtSv3RRaQIo3+N9fvXZLPdxbm8drWKr72721SAHl1Bw6Xh/mj44dcrlYj8Pq3L+CJG6YEPHfXhXlcPjmV/2yVgvWDOZC0GoEL8uJxuD1EGLTKfAxg0dhEPCJBg6jrO/u489UidlYN3amtpr2XP39ySBGwjjSFdt/sqGjH7RG505uLW1zTEfK1AC8VVpBqDuPvN03lzgtzKUg3Y3N6uG5GhiIaB3MhyaJxitlEQqSReaMSlD83z85CqxHY4nVCfeYtmfzsoL/o4/GIkgMpOlBAAsmFtKOyXZnTiKLYv8zjdHYdabbSanUwITWaj/c28GkQkRrk/Dnpe06ONmGxuYIKdvvruxmXEoUgCCRHGdEIwR1IsqAoB20fabLwq5X7FFHyaIuVg40Wjrb2KGWxhd5t/MuaQwGfK4vd41KiSDOHDXuQttXu4pfvlfDkurKhX3wGc14JSO0DLkiiw4YQkHyel8Um+e8Io5YeR7+IYPDeuQgWoi3Xmuu1Ap29TuUAAwLaWC56fAML//yZkprfYrUHOKdkpbrFOvw/ICr+lNZ18c/1Un6Ab+vUUKWKKioqKioqKv1sq2hnRnasEhug0Qg8ceMUpmVJooPsQIoy6XnuNmlyftdrRTy66iDzHlnHE59KF/kf722g1eqg2+ZiS3kbNqebzw428+WJyei812BTMiQRasOhFspavM6cZElAkks2PthdD/S3tb7tgmz+cHXBcW9XsO5rvmTGSROb/3lbv397QS4g3X1ONZuIjTAwPjVaKW+TJ5PymBzyZt20We1Ut/cy1TtekzP9J50HGiykRJv8YhdkdFoNV09NY+2BJpotdi6dlMqlBSk4XB7WeyebNqeb+5fvJcVs4l9fm+HnxMmOj6C6XXLGWO0uVpU2Ks6dHZXtFHvv8ssCUky4gWumpeP2iPzysvHcMjuTmvY+1uxvIichYtAxEwRBmQzevWgUM3Ni/fJtVu9rRKcRuKwghR99ScoknZkTmFsko9dquGRCMs9/YybL757HrRdk89TXpiulibNOQEACmJEdx9Nfm87Ns7N4664L+O6iUby+rZp/rC/jQEM3hWWtLBqbqASu+zqQjrZYueapzby/u44fXzKGP149CYBcb7h4ZWsPDpeHB97dS2q0if9bOs7vsyekSXOHYDeXTxZFQBpQwqbTavj5ZeN57LrJFFV1sKK4ji3lbWg1ghJePBQajRD0u9doBJ64YQrTvfu2XH0xELmMLSM23G85UzNjiQnXB81BemtHDWv2N/HVZ7fyUmFFyFIzh8vDT5bvQSPAkzdPA/pdfcEoLGvFoNNw06xMwg1apbw0GE63h+0V7Vw8LpFwgw6dVsNfvzqVWy/I4pIJyUz0HvPyOcDXmOArGg8kyqSnIN3M5vI27C63UlI3UPTZXduJzekJcH/JzBuVgN3lUZxMsgiUajaxo7I9ZK5vMDZ7hfF/fW0641Ki+PXKfUEDupstdkW8T46WhKSBZWwOl4fS+m5l+3VayTk5sMtaXWef4k5Kiwmj2+bin59Jwsy2inZq2ntZ7SNkbSlvo7HLxtEWKZx+7YFmiqv9BUA5qiQnIYKchPBBo0t67C7ufbOYxY9vOGZHUXF1Bx5Ryjo+1QHmw8m5LSD19B+INR19ShkZwAV5cYxKjAj2NgWdz4+orHj7lrD5IttyH1hRwk+X78HtEaVwxF4n7V4BKS8hEovNRavVztiUKBKjjCF/BBq6bGg1Ag6Xh+4+/wO4VRaQBqkxFUVxRH5gzkVsTrdSazuQZU8V8vinh+lzuP3Gu/s4MhpUVFRUVFTOR2xONwcauhWxSMak1/LiN2bxx2smMSWj/7mZOXE8ccMUdlRKJW4GnYanPiujuLqDlworyUuIINygZfW+RjYdaaXH4WbppFTl/RqNwEVjEvn8cAuHvS6C0YmSYDA53UykUccab8izPHkZKeTw49WljWg1AjfMzCTKqKPb5lLcQrIgEGnU+XUoG5sSRV1nHxabUwnqlSdToxMjMek1yqTzQEM341OD5zUBXOctldNrBRaPT2JGViyJUUY+2F2H2yPy5LojHG3t4ZFrC/zcHfI2OFwemi12Vpc20ud0839Lx3mdNe3srukkLyHCz7H/s6Xj+NtXp/LVWZksGZ8sOQe6bH5OmlCMSowkIdLAN+flsGhsEgcaumnssiGKIqtLG5k7Kp6YcAPXzcjg4WsKlDLAYyXapOfVb83m0WsLGJMcPCT9WPjS+GQeubaAOXnx3P/lsVwxOZW/rDnMpX//gh6HW3HbzcyJ42hrD83dNlburmPZPwtptth45fbZ/PBL+UqwsTw2lW09vFRYweEmK3+8piDADTTeW84md/E73GQZNjeS1e70Zr0GnxreMDODyRlm/r72CJ8fbqEg3RwyS/Z4MOm1vPCNWfzh6kmMSwm+H8ulcuk+5WsguZMWjUnk45J6Ptpb7/fcJ/samZJhZtHYJH734f6guV+iKPLAir1sr2jn4WsLmJMbj0mvUcRbGafbw4ZDzfTYXWwub2NGViwRRh0F6Wa/IG1RFNlZ1UGtNzx/b20nPQ43831K/UYnRfKHqwsw6rREGnXkJURQUtfFwcZuZv1xLf/aUBYgGgcfk3h213Sy4VALvQ4380fHU97SozQKAOnco9cKLB6XHHQZs3Pj0AgopW+yCPTjS8bgdIsB+UiDUVjeRlZcODkJEfzoS/k0dtvYXhHo/mrutisOJFnEbxxgpjjY2I3D5VGC9qHfYSRjtbvo7HUqoepyZc/K3fWKI/W94jpWlzZSkG4mNlzP5vI2thyVtunxG6YQF2FQSm1lKlt7SIg0KufkYN0RQSptW/ZUIR/sqafb5uL6p7fw5vbqIcdph9eRGCzA/Gzi3BaQZOEmMcLPgbT87rm8edfc4zrxyT+qXxqfRG5ChLJzysgXCgDv7Kzl88PN3Pb8Nh5dfVARsnIS+l+TEGlkfKp/LbOvEml3eZjs7SLh++NQ3dZLvdeCN5iA9F5xHZc9+YXSDeNcp9liOy6l3JcH3y9lyV8+DxrcKedc7avvYtHjG5TH//zJIVqt/uP/xKeH+O0Hoet+VVRUVFRUzif21Xfh8ohB76THRhj42pzsgO5AV05JY+X357PlgcV8+IMFJEebuOu1nZTUdXHHglwuHpfEp/sa+V9JA1EmHXPz/MtoFo1NpL3HwYpdtRh1GmXSqdNqmJ0bh8PlwajTBIglw01aTBgaQWqjnZ8USYRRx5w8ybEhu9Bl4WdCWrTfOMhB2kearRRXd6IR+h1KOq1GcS7ZXdINMFmICsa4lGimZ8VwyYRkok16NBrB60pqZsGf1vPsxqNcPyODC70ZUL7I17bbKtp4bWsV2fHhzMyOZWZ2HDsqO4K6JGLCDVw9LR1BEIiPNDInV/p+cgYpC5R56OqJrPjufMINOi4eK4kwnx9upqSui4rWHpZOSgEk4eCWOVknJGAkR5u4aXbWkA6yY0WjEfjLjVN58Zsz+dfXpvPS7bOUdZddThc/voEfvbmbvMQIPvrhhUpAr0xKtAmjTkNpXRdPf17OorGJXOwVoXwxh0sZrQcaurHaXVz39GZ+saJkWLbDYnMFuI98EQSBn3x5LHWdfeyt7VJcQcNBbISBWy8IPBfIjEmOJCc+nElB9vOfXzae8anR3PN6MQ//7wCiKFLR2sPBRgvLpqbz7G0zMIfp+XSAgCSKIk98epgVu+q4b8kYlk1NR6sRyE+K8isfBXj283K++dIOZv1xLfsbupVtn5oVw/6GbmxON69srmTxE59z3dObufPVnYiiqHRruyAv9FhNSjdTUtvFz97Zi83p4enPyvn8sOSomhbCgQSSqObyiDzx6SEMWg0/v3Q8gBIqLooiq0obmDcqIeS5zhwmOZk2eUsAN3tFoKunpRNp1B1zhzu3R2Tr0TZlXC4am4hJr/Fz/8jr1GyxkeQVjuS/B4qgimjuI6ClxYQp81+p1E4aW7lDW3pMv3vt55eOZ25ePK9trWJvbReXFaQyd1Q8m8taKSxrIyZcz8zsWL6zMI8vjrT6fd8VbT3KuSonPoLOXmfQrpU/e3cvrVY7r31rDmvuW8icvDgeWFFCSURwsU6mqLJdcVrKzrGzkfNCQJqSEUNNR6/y/9jwQJvvUMiB21+fm8NnP13ENdMymJndr4wOrNutbO2lqr2Xilar8rm5Cf13OyQBKYojzRYc3iDtVqv/DirflZOFosrWHhb++TNs3s5tLdbQGUhfHJF2yur286Nr2E3PbeXRVQcCHpdFnTarnVe3VHLvm8U8/8VRv9fIJ9vB2j/+r8T/JLiqtFGxwct8sq+R1aX9r1u7v+mEWhKrqKioqKicC8ilEYPdSQ/GlMwYkqJNRJn0/OHqSbRY7ESZdFw7PZ2lE1NotTp4f3cdl4xPVlqDyyz0hp/uqOxgVGIkWp9JqTzBSY42DZuAEAq9VkOqWZooyOLPXK8TYbwiIEX7PS8z1uvEeL+4jhcLK5iTG+/nfC9IN7O/vpvDjVZcHjFo/pEvr995AX/76jTl//+3dBz/+tp0xiRHkZ8UyYOXjw/6Ptld/6M3d7OnppM7L8xDEARm5cRS0dpDi8U+5Hd7aYEk+vg6rEKRFGVS8qfGJEeSajbxUmElt72wHXOYnq9MTBlyGacDg07D4nHJXFaQysVjkxQhpCDdTEG6mdm5cTxz63Te+e48ZcLri0YjkB0fzttFtXT2OvmJNww8GONTozjQ0M27O2ux2FxsPNwasoHP8WCxuQI6sA1kYX4Cs72iWLAA7ZFCEARW37uQHy0ZE/BccrSJt+6ayy1zsnhu41E+2tvAqlKpbHTppBS0GoGFXleiHFJutbu45/Vi/vlZGTfMyOCHXxqtLM+3fBSgq9fJsxuPMic3jismp5IRG6YImdMyY3G6Ra5/ZjO/+WAfcREGbpyZwYGGbrZXtLO5vI0JqdFBy0tlCtLNNHbb2FPbxQ8Wj8bqcPHQR/vRagQKMswh3zczJxaDVsPhJitz8uKYmBZNVly4Ivrsb+impr2PSycNfswsnZTKrupOXtlcqYhAeq2GBaMT2HCoWSn9c7o9/PK9EkpqA+c1++q7sNhcSplwuEHHojFJrC5txOMRqWrr4QdvFPPK5kqcbtEnA0n6++/rjnDbC9tY7f3eiqs7SYwykuYT/p0WE0ZtRx+3vbCNS/66kTtfLSLapGO6dy4uO5Dm5MYxIS2aa6enK/PnpZNSmDsqgfoum+RkzItHoxG4Zlo6ggCrfOZ4la09iiNQ/ntgkHZ1Wy/bK9q588I85o9OIDbCwL++Np2YcD1PZCwIOdZOt1QuuGR8MmOTAwPMzybObQHJ6/yZ5A0sk0PRYkN01hiMYOrta9+aw4f3SDtK/IDOAfvqu3F7RBq7bIrzKc/HvpsQaeCC3HicbpH3imupbO1h0eOf+S1DPuibvQfAS4UVfs8P5kCSxZC2QUSm4eBPqw/y4qaKkM/3Oly8vq06aMe64cLuclPR2hNgOQX4x/oyXt5cya8/2MevV+7j/d31/OFjf6FJ472I9G3/KIoir2/rtyIGq22V0/7rO/u4/unNHG6y0thtU7KSfvbuXv6+7sjJb6DKiNFmtfPVZ7f4WX7PRIIFyqqoqKic6RTXdJIeExYy2+RY+NL4ZO7/ylh+d9VEyZkyLgmDToNHRJnI+RIbYegv9xrQmUye9KaECJUdbuQ7zfJE8MrJqVw+OZUFo6X1GJ0YyY0zM7hmmn9Ht/SYMMINWl7dUkVMmJ6/3TTV7/lJ6WZvJpE04RpKQDLptX5Cm16r4bKCVF65Yzar713oV4Lmv/7h3DAjg3suHs3G+y/m1guyAfwCqEPltMhcNSWNyyenBrhuhkIQBBaNTeRgo4X0mDA+uGc+CZEjW3Y43Bh0Gj78wQJeun02SycN3uktJz4Ct0fkKxOTBxUOxqdGU95i5cXCCuIiDDjcHj7zigaiKNLcbaO52xbQpGcoum3OIR1dgiDw6ysncNWUNGblhs6fGglMeq2fGOyLQafhoasmMiXDzG8/2Mf7xXVMyTArosKiMYm0WOzsb5BKo254ZgurSht44NJxPHb9ZD8xeWxKJM0Wu3Ld9fymo1hsLn595QQeu34Km362mHyvQ1AuzT3UaOF3V03knbvn8rurJhETrueZz8vZWd0xpFNLDs9fMj6JH18yhqumpNHZ62RMchThhtCCnkmvZXq29PmLxiYpx0theSs2p5vVpY1oBLhkwuCOmLsW5rFkfBK/+WAf3T4i0KKxiTR02RQ30Ls7a/nvtmoe++RgwDLkEri5Ptu6dFIKzRY7u6o7uH/5Xj7cU89vP9wP9DcwiDLp+erMTGLC9BxosPD7jw7gcnsUZ6Pv9/LlicnMyIqlx+4iJdrEw9cUUPjAYkWQTY4ycePMDCU37NKCVML0WsalRJGbEKF8D1a7S/l3UrSJGVmxilOq1+Gi2WIn1ztfz/VWDg3stLeiuBZBgKt9zttRJj13XzSKDbF5FEVKjw+c++6v76bP6WZWTlxAgPnZxjktIF0zLZ0XvzlTEW5213QiCMHFoKEI9p4wg5ZxqVEUpJuZ4eNGSog0sMcrODR02ZST0AKfsrf4SCOLxiYyPSuGJ9eV8cqWSsVZBJK9ebzXqvn8pqP0Odx85NO6FqAlRN3zo6sOss1bdzqUA+loi5U7Xy06oQm0KIo8vaGchz7aH/I1T28o5xfvlQTUJgejvrPvhEru6jr6EEWoafd3EPmm+g+Woq/z/iDJNcsA5S1WfvFevy24qKoDo07Dq3fMVh6TX//m9mqKqvpD2CrberDYnLT1OKgKUTt7NrK3tpPv/men4pg7F/i4pIFtFe38de3hoV98mnh9WzXTfr+Goy3+OV02p3tEhVkVFRWVk2V3dedxu4+C8f2LR3PtdCnvJtKo46IxiUQYtCFFCbmEaKCANC4livgIA2kxp0ZAkluZT0yTJolJ0SaeumU6Zu+NTJ1Ww2PXT1EmkTIajcC4lCgijTpevH2WMuGSkR1L7+6qxaTXHJO750TQagT+fMMUfvqVsX6d6SalR2PUaTDoNH5t5oMRE27gqVumB2zDsfD9i0fzi8vGseJ788geoW08UxiVFIkgwI8HcR+BND/wiNKk9sHLx5MYZWR1aQOiKPK9/+5i9sPrmP3wOi587LOQ16Aut4cdle1sONTMF0da6HO4sdpdRBkHdyCBJHg8efM0jDrtkK89lei0Gh69bjJdfU4ON1n9stEuGiudJzYcamb5zhoONHTzj5unc/dFowKciHKo/+EmC21WOy9uquDyyanKMexLcrSJR68tYPnd8/jGvBwEQSDMoOWmWVl8dqgFh8vDvCE61c3KieWnXx7DI9dKQta9S8ag1QhKsPhgyEL0xd7tu3hcEjanhxuf3cI7O2uZkxtP/BCiq1Yj8PebpjEpPRpB6BeBLp2USkKkgV+v3Eevw8WT646g1wp8caSVsub+G/aiKLJmfxP5SZF+NwoWj09CrxX46fI9bK9s57HrJ7P87rncuySfRWP7z9t/un4yK743nz9cPZG6zj7e3VVLRWtPgDA9PSuWt++ey4rvzec/354TUMKq0Qg8dv0UZT4eadTxxI1T+N1VEwHJxCE7nub6uOeWTkrhQEM3VW09Sj6RLCBlxoWj1wq8vr1aMYOIosiKXXXMzYsPcBN+fW42CY4eHsxdwvVPb2bMg6t4dNVBJaJGDtSfmRPLvFHx2JyeQUPYz2RGTEASBGGpIAiHBEEoEwThgZH6nMHIig9n8bhkJqRFY9Bp2FTWiij6h2MfK6FUeb1WurvgG1CWHR+hhDLbXR4ONVmINOoUJRwgMdKIIAhcPyOTus4+P/fMq3fM5p3vzlVO5KV13fxqZSltPQ4lMHBaVgyFZW2UNVuVdrZuj0ir1c6/vzhKTLie2HA9a/Y3+dk2fXG5Pdz5ahFr9jfx1GeB7QTtLjf/3VbF+oPBRZ1aH8dOsOUDtHkPON+QuVD88eMDfPvVIsXZ44soiiE/o8a7Hk0W/zsuvmN6ZEBI9qqSBn6+ogRRFLF7BRHf7fn8cGBdak58hJ9QKL9+YHZSRWuPolbL3UtAqnVt6h467HBzWSstFjsej3hGCQQrd9ezqrTRL7frbEcOQ++1n7l3AJ7bWA70d+kA6Vgf96vV/Hpl6elaLRUVFZVBabHYqevsGzTH40T5/bJJvHHXBZj0wSexl0xIRhBQsiRlNBqBV781O6C71UgxPjWaKKNOyTw6Hh67fjLvfndeUIFmdFIkBp2Gpm47Y1OiQzozRgqjTsucvHhm5cQGlBAOJxmx4dy1cFTI7/lc4s4L83jrrrlK+WIoZLdZYpSRKyan8ZWJyXx2sIW3dtSwqrSRWy/I4qFlE3G6Pdz+8g6//Bab080Tnx5i/p/Wc8MzW/jmSzu47YXtXPnPTdR19A1ZwnamMz41mu9dPBqtt1ufTEKkkckZZj7Z18Q/1pUxPSvG73lf5PE/3GTh8U8P0ed0c9+S/JCfedPsrACx47a52Wg1AlqNMGS3P51Wwz2L85UolNyECN666wLuDVKuN5Db5+fy32/PIS9REsoXjUnkoWUTsTndNHTZuGpq2pDLAKkx1Gt3zOE/35qjiEDmcD2/u2oSJXVd3PTcVuq7bDx+wxQMOg2vbK5S3ltY1sbOqg7FnSgTbdKzYHQClW29XJifwA0zMpiVE8e9S8YENKICWDI+mfSYMP7orRIZjt+NywpSmePNnxIEgcXjksiKC/droiWXxb5XXMdvVpaSFReu3IAw6rQ8fE0Bu6s7ucKbK7ytop3q9l6umx4Y4B9u0PHDui0cjEiivdfBkvFJPPN5Obe9sJ399d0UVXaQFRdOcrSJOXnxaAQpfPxsZETO+oIgaIGngEuBCcDNgiBMGInPOhaSo028cvtsEiKNzB9CCR7I+9+fz31eNXgoZuXEkpcYEWCN/rikgUneFoof3rOAuxbmKZlKC8dIKuhmnx1owegEwg06BEHgPu8J5J2dtQD8YPFoKh+9nGdunYFOK7DkL58z/fdr2FPTyYw/rOHixzfg9oi8/Z25TMuKpc/p5hsvbucRbz7QX9Yc5rYXtlFa18WbO2oob+nBHKbnzR01fPOl7X7ha+8X1/HL90q54+UiGnyCyzwekc8Pt7DLp/Vho1cYabHY+cnbe9jjFYxkZ9PGwy386v1Siir9E/lbrXYONHTT1etkzf4mRBF+8vZuWix23t1Zy9MbpMnz458eYvbD6wIyhURRVFxWoii5NR75n7St23zS/we6Zr773128sb2aeY+uV0Su5zdVKC0wNxxqJic+nP98a45iQc+MCyfc0H8RIwtdcjcMmfLmfgHJ5vTQZLFR097LLf/expyH17GruoPyluBd31osdm59YRt//uQgD6zYy/XPbMbhktqAhmpBeqqQBYy9A76DUMLeUJQ1W/nJ23v8nGKnmvIW6e7c0dbg30cwTuX30OdwK/vZQR9BVC6p/O+2oTs+nM0c61if7mNDReVM4ky4gQcEdA8bTlLMJiZnhF7u+NRoNj+wmIuCOJQmppn9buiNJF+fm836ny4izHD8AsjopKiQYoLeG6QNnJA4NRw8dcs0nr51xmn57HORuAgDs3MHFxsAZQJ890WjMOg0LJ2YSp/TzS/eK2FqZgy/u2oSX5+bw3O3zaS2vY+7Xt1JV58Tj0fkJ2/v4R/ry5iYZuapW6az4nvzeOqW6XT0OGj25oyd7dy3JJ/P718U4FhbNCaRkrouGrtt/PQrY0NmoKVEm4gy6XirqIY3ttfw7QvzGJ00uKg3kPSYMK6fnsHicUknFPQ+MycuIFs3GBFGHfNH97tpBEHg63Nz+OTehWy8/2K+OjPzmD8zNsLgtyyAywpSuGRCMntru7ggL46rpqRx1ZQ03t1VS1efE1EU+fOnh0iPCeOm2YGfdePMTBIiDTx8TcGQmXM6rYavz82m2+aSxP8R+N349RUTWfn9+X7rkhkXTkG6mSfXHaGyrZdHri3wO1/fMDOTd747F41G4FuvFHHr89sIN2iDlk8D3NZUzIbif7Puxxfx7G0zefyGKeyu6eSyJ7/gk/2NzMyRjAjmMD2zc+N4aVOFEuItzbtLzopr2pE6U8wGykRRPAogCMKbwDIgdK3TCDN3VDxFDy457vdNzYw55ouf5XfPA+ChD/03UxT7E/gLMsx+tc0ZseGMS4niYKOFC/MTuHdJvl8Xgh8tyaerz8mLhRVkxIYpHTGSo01cOSWN17dVY7G5WPZUofKem2dnMSY5isXjklh/sJmZ2bG8VFgp2U69mTx2136OtliZnRvHkzdNY/6f1rPhUAu7azop/Nlibnl+myICAby9o5ZIk47nNpYzLTM2IFn/hme28NLts/jtB/vYXN7Gh3vqefjaAiXMu7ylh/KWHvbVd7Hie/MBSXi4/aUdHG6ycO30DBxuD3mJEWw92s78R9fj8DqrvjwxmX9tKEcU4QdvFPPpfQvRazXsqGzn7td24vY50ORyOqNOwz8/K2NKhpk93sC3uXnxhBu0rDvYrLy+YRiTiywAACAASURBVEDryHvf3M3K78+nsKyVuy8axYL8BFLNJmo7+siOD/c76XT2Oqlu6+VAQzcTUqOZmRNLcXVnQDnU3EfW+3WJufZfmzGH6dl4/8WYw/V09Tp5/NNDXDE5laOtPXhEWLGrDgCXR+SOl3ewqayVp26ZzuWTUxkO6jv7qOvsY0ZWrN/+1tnr4PXt1XT1SSGO8p1Fj0dkn1c4KqntBLLxeET+vu4Iz39xlKumpvHg5RM42NiNSa+lq9fJrNy4Qev9/7r2MB/vbWBqppnb5uYoj9ucbooqO5iSacao01JU2c74IUIIg9HcbeNoaw+zcuJCCsCykHek2cp7xbVMz4od1CZvtbu44ZktTEqL5odfyqfZYmN6VmzIH8ZDjRae23iUywpS/II1Q+HxiOys7iDcoKWrz0l5sxWnW9q/fZ1f63324W6bk+gBFyh9Djc7qzqYmhUT0Ab4TEf+/kclRXDHy0UUpEfzp+smBx1jURR54N0S9tZ18fZ3Lgi4UBNFkeKaThIijGTFh3tt+x2MTookPsLgN9azc+IC3KlN3TYqW3uYOcg+dLK4PSI7KtvJS4wgKcqkbP/kTHPA93oseDwi6w42k5sQEVC+o3Lu43MD7xKgFtghCMIHoiie8uuv4uoOdBohoDzrVCEHWJ9O9FrNMU0ET4SC9Gj21HQyIfX4JrfDxXC0cFc5fjQagXU/WaT8f05eHDHhenrsLh67frLyWzU7N44nbpzCfW/t5qp/bmJ2ThwflzTwi8vGcdfCUf0LzILp2TH86v3SoJ34zjYEQVBau/uyaFwST64vY96o+EEDwAVBKh/dUdlBdny4ciP/ePnT9ZNP6H3DgSAIfiWnJ7OcP1w9CbdH5MeXjEEQBL45L4d3dtbyk7d3Mz07lj01nfzpuoKgJY2XFqSydFLKMTcs+OqsTP669jDZcREjcu0aZtAGFfOXTkqhpK6Lr87MDBDRACZnxLD+J4tYe6CJd3fWMj07NqiLCkAAcuyd4N3m62dk8KVxSby/u47VpY1c7+Nc+suNU7n6qUJuf2kHC8ck8Mb2GmbnxmFzek7opsOpRBgJlUsQhOuBpaIoftv7/9uAOaIo3hPs9TNnzhSLioqGfT1OF89/cZQ/fHwAk16j5Bq9cecFfuFivnywp54fvlHM7fNz+M2VEwOeL2u28vgnh/jZpeOUukyAPTWdLHuqkPSYMEkMyI7ltW/NVkLX5PIsq93Flf/YREOXDYNWw42zMvjPVsm5sPL785mSGcPBxm7e3F7Dy5sr/T77xpkZ1HX2UVjmb7GbPzqewrI2loxPYu2B/smsIMBPvzyWf39xlM5eqTzo3iX5vFRYSbfNyWC729KJKTx58zSKKtv55fulAan3X5+bzatbqoK+Nz8pUilTEwRJtBuXEsV735vPQx/t41CjhcdvmEJ8pJEpv/uUeaPi+dnScaze18jTG8p57LrJ7Kvv4hXv8nUagU0/W0yK2URpXRdbytu4YkoqqeYwHv/kEJ19DmUMdRqBV++YzbzRCbxXXMt9b+0Juo6LxyXRY3f5OaOCoRHgDKpc80OnEXANWLlUsylAiDtW5O/qdHLppBQ2HWnFYj99TqjBmJQezZjkKEVUVFE5FkL9ngzKokXS3xs2DPfqACAIwk5RFGeOyMJVABAEYS7wW1EUv+L9/88BRFF8JNR7Ruoa7JZ/b6Xb5uSjH1w47MtWgbd31PB/7+7l3e/OZUb20M4VlXOX94vrEARYNjU94LmdVe18/7/FNHbb+NqcLP5w9aQR70B4JuLxSG6Z66anD+koevD9Ev6ztZrX75xzSrvNnS385dNDvFhYidXuIic+nDU/vmjQG8bHw4pdtUQYdae042Kr1c5Tn5Vx75IxJ5ST7MdxXkeV1HZx47Nb6HO6+c7CPO7/ytgTito5FobzGuy0CUiCINwF3AWQlZU1o6oquDBwNtJmtfPG9mompZvJiA1jZ1UHN8zIDOk+EEWR94rrWDQ2ibjjdFl09Tkx6jR8vLeByRlmpTPAQBq7bLy7q5axyVHMyYvj1S1V5CdF8mWfA9TtEXl1SyWdvU4K0s109jm5aEwiJr2G93fXY3O4mZxhptfh5uJxSXT0OIiNMLBmfxMRBi1FVR1My4rhwvxESuu6ONhoweHycHlBKgcbJffE7ppOeh39eTPpMWFkxIZRXNPJzbOzlO13e0Ssdhdbyls50GAhNlzP1+fm8MGeekVY0ggCC/IT2F/fxeWT02jvsbOjsoP0mDD21HRy/cyMoHcgu/qcRJt0yg+o7ODw3f7xqdEh7YkyhWWt7KhsZ8HoBKUjidsjlf4lRRtxeUTarA6y48Mpb7Zy5ZQ0rHYXm8tbMYfp2VPTXwo2PTuWAw3d9DnczMmLY19dN5EmHXERBipae7gwP4G1+5vxDNPxGmbQkhRlDOgsoNMIXDIxmYZOW0BulUmvZXZuLBt98qHyEiO4akoau6o72HSkjYzYMHodLszhBsqbBy8L02sFZufGU1jmnzclCDAqMZKjLT14RJFRSZFUtfYECFdDYdBpyIgN42hL6CBzjSBw7fR02nsclDVbae9xYB1CSJqaFUNjl43uPicJkcZBg+r1WoFlU9PZXdOp5KINRXZ8OFa7C3OYnorWHr4yMQWTXsvK3XWK2BYXYWDZ1DTe3VWn5Dj5MnAMzybkda9o7aEgw0xjl43GQQTK5GgTqTGmkEGEGbFhdPY6le81LzGC2o4+HC6P31gH20+Meg1p5rAAMXu48V0n3+0/0Qy0MclRfGVi8vFfhKgC0lnP8d7Ag5ETkN4vlkTvq6cFTmpVTh6b082q0gaunpp+XgoCKsdOq9XOhkMtXD01bcQmp+cSdZ19HKjvZskQHczOZ3odLtbsb2JMctSQXSDPK07gOmp3TSc9dldQ99NwcjYISMd1B+xccyCpqKioqKicdagC0lnPsQpI5/JNPBUVFRUVldPCCF9HnQzDeQ02UuEYO4B8QRBygTrgJuCWEfosFRUVFRUVlZPlDLzgUTlu6gDfNNMM72N+iKL4HPAcSDfxTs2qqaioqKionMOcJ9dRI+JjFEXRBdwDfAIcAN4WRXHfSHyWioqKioqKiooK4HMDTxAEA9INvA9O8zqpqKioqKionCOMSAnbca+EIFiAQ0AWMJJ9qc1A15CvOnOWKzOS4zLS6z6Syz9b95dTsfyzeWzO5uMJRmb9z+YxUY+j0JxvYzNWFMXT0zLqPEIQhMuAvwFa4EVRFP84xOvla7Bj5WT2q8HemwC0hnhuJD93JN53ou+Vx+B82NaB7x3q+x/Ozz3d2xqKwcbgXNvWgfhu+7m+rYO971iPg3NhW0MxcAzO5W0dyImcB4f6XHmZ2aIoDk+rRVEUT/sfoMj7d8sIf85zZ9NyfZY/YuNyCtZ9xJZ/tu4v6tic9nE/68bmbB4T9ThSx8bnPUUjub3qnxP+Lo/rezmZ/Wqw9w61HiP1uWfSZ/pcD5/z2zrwvSdyfjhbt3Wo7/982NbBtv1c39bB3nesx8G5sK3Hsi+c69t6ot//8XzuSFx7nWlR/MHb6AwfH55ly5UZyXEZ6XUfyeWfrfvLqVj+2Tw2Z/PxBCOz/mfzmKjHUWjUsVE5GzmZ/epse+/Ztr4n896zbX1P5r1n2/qezHvPtvU9mfeq63vmvvdsW9+Tee9IX9ud9s89U0rYikRRnCn/fbrX50xDHZfgqOMSGnVsQqOOTSDqmARHHZfQnMjYqON5ZnKmfC9nynqcTs7nMTift13mfB6D83nbfVHH4fweg5HY9pFY5pniQHpuwN8q/qjjEhx1XEKjjk1o1LEJRB2T4KjjEpoTGRt1PM9MzpTv5UxZj9PJ+TwG5/O2y5zPY3A+b7sv6jic32MwEts+7Msc0oEkCMKLwBVAsyiKk7yPxQFvATlAJXCjKIodgiAIwN+By4Be4JuiKO4a7pVWUVFRUVFRUVFRUVFRUVFRUTl1HIsD6WVg6YDHHgDWiaKYD6zz/h/gUiDf++cu4OnhWU0VFRUVFRUVlfMPQRAqBUEoEQRhtyAIRd7H4gRBWCMIwhHv37HexwVBEJ4UBKFMEIS9giBMP71rr6KioqKionIuMaSAJIriRqB9wMPLgFe8/34FuNrn8VdFia1AjCAIqQOXKQiC9cRX+dxEEISrBUEQBUEYd7rX5UxkqH1GEIQNgiCcV/WygiBkCIKw8v/Zu+/wqKr0gePfMzMppEJIIaQQIPQOoRdRQOyoawG7a1vbquu6q7trW9fVdf3ZFRd7AXtDRUR6D4TeAimEFNJ7nUw5vz+mMGmkTmaSnM/z5MmUW87M3HLue895j/UCIkUI8aoQwvMs0z8ohPDpzDK6kjrONKSOM2enjjN1qWOMWzlXSjneIY9Bl7qRZz3ufOrwXCeEyBdC/OTKcrlCTzwOq9+/LlU/6bnn2564/9cnhPi7EOKI9SbHfiHEVFeXqTN1h7pVW3MghUkps62Pc4Aw6+MIIMNhukzra0rzlgBbrf9bTAihdU5xFHdm7S76LfC99QJiKOAHPHuW2R4E3OoApHQ6dZxRWkQdY9xeu27kuUAlMFoI0cv6fAGQ1ZoFCCF0HV4q1+iJx+F2//6K0k20af/vLoQQ07GkxpkopRwLzKdu7KBb6y51qxaNwiaEiAF+csiBVCKl7O3wfrGUso/1TsLzUsqt1tfXAX+VUibUW14F8BiWL0vr6+vrM3x4jw3EKoqiKEq3t2fPngIpZYiry9HVCCFOAsWABP4npVzmWA+zVkiLpZS9W1oPcxQcHCxjYmKc/jkURVEURXGNjqyDtfVuTq4QIlxKmW29s5VnfT0LiHKYLpKm7zAsBT6SUpbFxcXJhIQm6zaKoiiKonRxQohTri5DFzVLSpklhAgFfhNCJDq+KaWUQojm7wY6EELciaWLG9HR0ag6mKIoiqJ0Xx1ZB2trF7aVwM3WxzcDPzi8fpM1ieM0oNShq1t9Avi3EOJgG8ugKIqidCFms2TziXxa0vJVcZK5cy1/Spchpcyy/s8DvgOmYL2RB9CWG3lSymVSyjgpZVxIiGoUpiiKoiit1sI6ldFkdnpROlOzASQhxGfADmCYECJTCHEb8DywQAiRhKXv4vPWyVcBqUAy8A5wz1kWfT0QAkxqe/EVRVGUruKdLanc9P4u1h3La35iRVEQQvgKIfxtj4HzgcN0zI08RVEURVGcpEJv5I+f7WPiM79xqrDS1cXpMM12YZNSNpXka14j00rg3hauOxDIk1Ia4uK6XZJ9RVEUpZ7UfMvJM79C7+KSKEqXEQZ8Z0lzhA5YIaVcLYTYDXxpval3CrjGOv0q4CIsN/KqgFs7v8iKoiiK0rMl5pRxz/K9pBVU4qHV8NTKI7x/y2Ss5/MurdNHtLCOoqEHlgM/CiEOTZqkGiEpiqJ0d0azpeuaVtP1T56K0hmklKnAuEZeL6T9N/IURVEURelgXyVk8PgPh/Hz8uDT26dy9HQZ//r5GGuP5bFgZFjzC3Bzbc2B1B6jgBQpZYGUcrqUcowLyqAoiqJ0MpPZ0gdcpwJIiqIoiqIoSjdSXWviL18f4JGvDzI+qjerHpjFjMHB3DwjhqFhfjz94xFqDCZXF7PdOjWAJIT4A/AZ8I/OXK+iKIrierYWSDqtK+5dKIqiKIqiKErHS8mv4Iq3tvFlQib3nxfL8tunEervDYCHVsPTl40ms7iatzamuLik7deptXgp5dtSypFSyjWduV5FURTF9Uy2AJJqgaQoiqIoiqJ0Az8eOM1lr28lt6yGD2+dzMPnD2uQrmH64L4sGt+ftzeldPmE2uo2sKIoitIpbC2QNN0ggaCiKIqiKIrSc+mFlidi5nH/Z/sY1s+fn/84m7nDQpuc/m8XjcBDI3hq5REsKQu7JqcGkIQQUUKIDUKIo0KII0KIB6yvBwkhfhNCJAkhfnNmGRRFURT3YDRZciCp+JGiKIqiKIrSFaUXVrEiPp3fjbqOj/tN5I7ZA/nirun0793rrPOFBXjz0IKhbDiez9pjeZ1U2o7n7FHYjMDDUsq9Qgh/YI81YHQLsE5K+bwQ4lFgvpPLoSiKoriYrQWS2dx177ooiqIoiqIoPUdBhZ7tKYVsTy5ga3IBmcXVAPT38OF/x79j4fPvtnhZN8+I4cuEDJ7+8QizhwTj7aF1VrGdxqkBJCllNpBtfVwuhDgGRACLgLnWyT4CnnNmORRFURTXM1ub6xpVAElRFEVRFEVxQ1W1RuJPFrEtqYBtKYUcyy4DwN9bx/RBfblzziBmxgYz6OpLaG2jeg+thn8uGs3iZTt5a2MKf1owtOM/gJM5uwWSnRAiBpgAxANh1uASQE5nlUFRFEVxHaPJEjgyqQCSoiiKoiiK4mbyy/Vc+OoWCir0eGo1xMX04ZGFw5gZG8zo/gEdMpLwtEFnEmpfOSGCmGDfDih55+mUAJIQwg/4BnhQSlkmHBJgSCllXFxcZxRDURRFcSFbyyPVAklRFEVRFEVxN2+sT6K4qpZ3bopzahezv100gnXH8nj6xyO8f8tkRBdKEOr0UdiEEB5YgkfLpZTfWl/OFUKEW98Pd3YZFEVRFNdTOZAURVEURVEUd3SqsJIVu9K5dnIUC0aGOTU/UViANw/OH9IlE2o7exQ2AbwHHJNSvuTw1krgZuvjmxvMqCiKonQ7JrNlFDbVAklRFEVRFEVxJ/+35gRajeCBeUM6ZX03z4hhaJgfT608QnWtqVPW2RGc3QJpJnAjcJ4QYr/17yLgeWCBECIJNQKboihKj3AmB5LZxSVRFEVRFEVRFIvDWaWsPHCa22YNJCzAu1PWaUuonVVSzdKNyZ2yzo7g1ACSlHKrlFJIKcdKKcdb/1ZJKQullPOklEOklCqApLRaWY2Bv359kAq90dVFURSlhUwqB5KiKIqiKIriZl749Ti9fTy465zBnbreaYP6cvn4/ry9OZW0gspOXXdbOT0HkqI4wzubU/kiIYOPtqe5uiiKorSQLYCkRmFTFEXpHMeyy9h8It/VxVAURXFb25ML2Hwin3vnxhLg7dHp6//bRSPw1Gp4+scjSOn+dWQVQFK6JNu+pS5EFaXrMEsVQFIUReksZrPkvhV7uf3jBLJKql1dHEVRFLcjpeQ/qxPpH+jNjdMHuKQModaE2l46LXqj+6d5UAGkDnA4q5Sr397epZJfdXUajWWoQ3Uhqihdh213VV3YFEVRnG/N0RxS8iupNZp5ac0JVxdHURSlVfLL9aw8cJqdqYVkFldhNHV8cOWXwzkcyCzloQVDnTrqWnNumzWQt2+c5NIytJTO1QXoDp7+8Qi704o5mFnC1EF9XV2cHkErLAEkcxdo5qcoikVPbIFUVFlLkK+nq4uhKF2a2SzZdCKfaYP60svT/SvX7kBKyVsbU4jp68P8EWG8t+0kt88eyIjwAFcXTVEUpVmrDmXz9+8OUVxlsL+m1QjCA72J6N2LyD4+RPbpRUSfXkT26cWo8EACfVrX/cxgMvPfX48zNMyPKydGdvRHaBVhvbbtCnpsAKmwQk9hZS1Dw/xdXRSlDawNkFQASVHcRI3BxF++PshfLxxORO9ejU7T05JoH84q5ZLXt/J/V4/jd5NcWzFRlK7s9fXJvLz2BFdMiODla8e7ujhOV2Mwtfsu9NbkAg5mlvLclWO4aHQ4XyZk8MLqRD64dUoHlVJRFKXjldUYeOqHI3y7L4uxkYEsu2kkeoOZzOIqMourySyuIqukmu0pBeSU1djTmgT5erLsxknExQS1eF1fJmRwsqCSd2+KQ6vpOgEcV+uxAaSFr2ymoKKWtOcvbveyBJYNrmdcErmHM13YXFwQRVEA+O1oLisPnMZklrx5/cRGpzGYLEdJcw8JIB3LLgNgW0qBCiApShutPZrLy2tPENG7F9/ty2LeiFAuGdvf1cVymu/2ZfLYt4d456Y4Zg8JafNy3tyQTFiAF1dOjMBLp+Xec2N57pdEdqQUMn2wai2vKIr72Z5SwJ+/PEBuuZ4H5g3hvvNi8dA2nXGn1mgmu7SakwWVPP3jUa57N54Xrx7HZeOaP0dU1Rp5dW0ScQP6MG9EaEd+jG6vx+ZAKqio7fBlqtYwnccWJVbfuaK4B4M1muuhbfoOjm2antICqWd8SkVxnuS8Ch76Yj9jIgL59aE5jIvqzd+/O0xOaY2ri+YUSbnl/O3bw9QYzDz+/WH0xrbl1txzqpidqUXcMXsQXjpLS6abZ8TQP9Cb53851iVG+VEUpeeoMZh45qejXPdOPN4eWr65ewYPLRh61uARgKdOw4C+vswdFsq3d89gfGRv/vjZPt5Yn9Tsce6DbWnklet59MLhXar7mDvokQGk1Yez7Y878iRqu7uuOJ+9C5uTLkQr9EZmv7CehLQipyy/s8WnFpJWUOnqYiitIKXkkte3sOpQdvMTuwFbcEh3lpO9bRqTufs2HSyrMTD7hfXszyhxdVEUpUsrqzFw5ycJeOo0vH3jJPy8dLx8zThqjWYe+fpAt2vJWFVr5J7le/H10vLi1eNIK6zinc2pbVrW0o3J9PHxYMmUaPtr3h5a/nT+MA5klrLqUE5HFVtRFKVdDmeVcunrW3lv60lumj6An/84m/FRvVu9nD6+nnxy+xQuH9+fF9ec4JGvD1LbxIhmxZW1vL0xhfkjwlrV5U2x6HEBpNMl1fzh07325x0yVJ41mFFjUKOwdTaTk+6iHckqJaOomhdWH3fK8jvbtct2MvfFja4uhtIKVbUmDmeV8cDn+1xdlBaptQbQz3a3qCe0QNp7qpiMomr+b81xexMkWzdnRVFaxmyW/OmL/aQXVvHm9RPtedUGhfjx94tHsCWpgE92nnJxKTvW498fITm/gleuncBVkyK5aEw/3tiQTEZRVauWcyy7jLXH8rhlxkB8vepmqrhiQgTD+/nz318T7cdjRVEUVzCazLy5IZkr3tpGabWBj34/hX8uGt2ugRK8dFpevnY8D84fwtd7Mrn5/V2UOiThtnlrYzKVtUb+csGw9nyEHqvHBZDKa4x1nlfVdlzQRwWQOo+ttZezWmHbmjLKbtAJRTVV75oq9cbmJ3Ijtrs8nk10YZNS2vfb7jwKm617rdGhRaqtZXR+uZ6r395Obln37H6jKB3llXVJrD2Wx+OXjGRavdFtr58azbnDQvj3qmMk55W7qIQd68uEDL7Zm8n95w1h1pBgAP5x8Ug0QvDPn462allLN6bg66nl5hkDGryn1Qj+esFw0gqr+HxXeoeUXVEUpbWO55Rz7bKd/PfX45w/qh9rHprDOUPbnvPNkRCCB+cP5eVrx5Fwqogrlm4jvfBMID6rpJqPtp/idxMj1WBabdTjAkjFVXVzH1U7BH1qDCYq2nDRZrtc0hvU3ZzOcqYrjHMuRG0XfN0h9tKWbVpxjrIaA29vSmlR14ty6+/W0a1Xiio7Pv8bQHmN5Q6PVtP4acWxi293DiDZfi+TlA0C0J/tSmd3WjEfbU9zejnMZsnbm1IavfOmKO7s1yM5vLYuiasmRXLT9IZBECEE/7lqLD6eWh78Yn+TXRS6iuM55Tzxw2FmDO7LA/OG2F/v37sXf5w3hN+O5rI+MbdFyzpVWMlPB09zw7QB9PbxbHSaucNCmDowiFfXJXW5GxWKonRthRV6/v7dIS58dTPJeRW8ung8byyZ0OTxqj2umBDJp7dNpaiylsvf2saeU5a0JC//dgIEPLRgaIevs6focQGkknoBpEOZpfbHc17YwMzn17d4WRlFVTz4+T5qrJWXtiY7VFrPFkA6W8UxOa+cggp9m5Zvaz3QHS5zS9QFpNt4euVRnv8lkS3JBc1Oa6/Yd2D86McDp5n4zG8czOy4/DxrjuTwxvokyqot5W2qW4Tj6905gGS7KWE2S3u3PttPeCb5v/PWX1ChJym3nO0phTz/SyJPrjzsvJUpSgdLyi3nT1/sZ1xkIP+6fHSTiU1D/b157soxHM4q47V1SZ1cyo5TqTdyz/I9+Hl58Mri8Q2Gkf79zIEMDvHlyZVHWtTK/e1Nqei0Gm6bNbDJaYQQPHbRCAoqanlnS9tyLCmKorSG3mhi2eYU5v53I5/vzuCm6TFsemQui8ZHODWB9dRBffn27hkEeOtY8k48b6xP4tu9mdw8fQD9rV2jldbrcQGk4noX03/4dA9g6VqQV66ntLrlF9vP/nyM7/ef5oA1WWqNaoHUaWwBnrMF7ea/tJkFL21q0/JrrMvtDt2/6re6a873+7LIK3d+F5utSQXMeWFDq/a5puzPKCE+tbADSuVctt/C0II75s5oOWZLCr/rZMclh7/zkz28uOaEvQVSdRMXOY4BpO6cA8l2k8JolujrfRca4fzRI294N54FL2+2bz8lHbB/KUpnKK02cOcne+jlqeXtGyfh7XH2PBgXjA7nqkmRvLUx2X5nuSuRUvKP7w9zsqCS15aMJ9Tfu8E0njoNzywaTUZRNUs3ppx1ebllNXyzJ5OrJ0USGtBwWY7GR/XmojH9WLY5lfzytt1oUxRFaY6Ukl+P5HD+y5v596pE4mL68OuDs3nqslFOaXXUmEEhfnx7z0zGRQby4poT+HrpuGdubKesu7vqgQGkxi+mM4tbl6SwMSoHUueptV6MNhe0qx8wbClbd8TucJnr+B1UN5Pzq7iylge/2M8dH+9xdrH4dOcp0ouq+H5fVruXdfmb27h22c4OKJVz2VretORmS0WNrQtbxwny9QKc043Ntp01dRysdQggZRVX89i3B7td94ns0moe+fogYAkS1R+kwdmjRwIk5lhywuzuJiNIKj2DySx58PN9ZBRVsfSGSYQHtuzO8JOXjqR/71489MWBLnc8+WJ3Bt/ty+KBeUOZMTi4yelmxAZz6bj+LN2UwqnCpkdTfXdLKiYpuWvO4Bat/5GFw9Ebzby+vuu24FIUxX0dPV3Gde/Ec9cne/DUavjo91P44NYpxIZ2ft6hIF9PuXc/SQAAIABJREFUPr19KnfNGcS/rxhDH9/OCV51V906gCSl5JYPdvHrkTPDlTbWnUdK2aZWEPUvAjtkRDelRWytGZpqgdTenAjdqTuiY7fN5fFnH7XGlmQ+q7jaqWUCGBDsA0BiTpnT1+UubC1Pzhb43HA8j+zSaiprrQGkNkaQXv7tBM/+XDf5qs6a4Prz3RktDmK0tBVeakEF0HQAaV/6mW5zO1IL+WxXBj8dPN2iZXcVqflnLu5MDi2QbN+g7bdsb/zIbJZctXQ7vx1tmBclOsiyXzl2z1YUd/fybyfYcDyfpy4bxeRWDKns7+3BS9eMJ6O4imdamWzalY5ll/HkyiPMig3mvvOavxP+94tG4KERPLXySKPH5OLKWpbHp3PZuP5E9/VpURkGBvuyZEoUK+LTOVnQdGBKUXqiw1mlrIhPJzmvvFv0RuhM+eV6Hv3mIBe/voXEnDKeWTSKXx6Y3WFJstvKS6flsYtGcOm4/i4tR3ega36SrqukysDG4/lsPJ5P2vMXA5aTbH1VtaY6ASSjyYzuLENR22SX1u3m01ktkLJKqu1D2vZUti5sBRWNt6SwdadpK9tv2R3OGbZtvq+vJ2uP5XL77EFNTmvbD1qw+beb7W5xW5vPG0xmXll7gsEhfvbXTGbZIIeEO7G1QGrqTnlGURW3frCbWbHBLBzdr13retWaF+TvF4+0v2br1lRUWcv2lEKG9fPH10uLj6flVLA8/hRjIgIZG9kbgKpaIyOf+JVnFo3ixukxZ12fLXhSYzDbW3RG9jlzIXPXJw1bte1MLWLByH54e2jsZQDL97DywGnumTvYqX3jO5rjqJ4ms7Tnx7MFtKtrLf/b24WtpNpAwqliDq7Yy4l/XVjnPVvi7gzrb7A9pZAf9mexaHxEu9apKM6y6lA2b2xIZvHkKK6fGt3q+acMDOKuOYN5e1MK80aEsWBkmBNK2TSjycwP+09jMkumDgoiOsjnrMetCr2Re5fvJbBX43mPGtMv0JuHFgzlXz8f47ejuZw/qu754cPtaVTVmrh7bstaH9n8cd4Qvt2bxYtrjvPmdRNbNa+idEdGk5nX1yfzxoZke50t1N+LWbHBzIgNZmZs3xa1kKwxmEjMKedQVimHM0tJzC1nfGQgf5g7uMUtLLsCKSUZRdXsyyhmf0YJ+zNKOJJVhllKbps5kPvPG0Kgj4eri6l0sG4dQKof4IHGuzRV6o2UOQSQqgwmAlpwBV3/wremE1qt/HjgNPd/to/P7pjG9MF9m5+hm7J1hzmeU06t0Yynru7vVVbTvqbsNd2wC9v5o/rx04HT7E4r4o31yVw/NbpBJdQWQNJ0wkV7pd6yv+TXCwKuT8zlh/2nMZokv58Vw6QBjd+NXncslzc31M0JUVipbzSPhLuwVUaaym9kay0pkfYubO2lN5rw0llyiVTqjXjqNEgpWZeYy+8/2o2nVsOhp84H4O/fWRIu2wLuPx/MBuDjHacaDSA11oppe0oBs/6zAYCXrhnHlRMjGy1XvwBvDmSUMPGZ3xgU7Mv6P8+1v3fHxwkk5pQzb0QoJVWGBsN4uyvHpP3VBpO9BVKNwcT6xFwq9Jb9q6q2fb9tUaVlPVohMJjMPPD5Pm6bNYhJA/rYtxvb+a/WaOaBz/erAJLiVmoMJn45nM3nuzKIP1nEhOjePL1oVJsDxn9aMJRNJ/J59JuDjI+aQ4i/VweXuHG704p4/PvD9q6jYDm2TRsUxNRBfZk6MIiBwb72zyWl5G/fHiKtsJIVd0wj2K/l5bx5RgxfJmTw9I9HmT0khF6eluN6hd7Ih9vTWDAyrNVDUof6e3P77EG8ti6JO2eXMC6qd6vmV7q+GoOJ7SkFHMsu58LR/RjkcFOupzlZUMlDX+xnf0YJV06I4K5zBrMvvZityQVsOpHPt9aUC4NDfJkZG8zM2GCmDeqLp1bD0ewyjpwu5VBmKYeySknKq7DX+Xr7eBAb4sfy+HQ+25XBNZMjuXtubLsaA7jqhmlplYH9mSXsTy9hf0YxBzJL7WkRvD00jIkI5JaZMSyeHNWjt6XurlsHkHLKznTDMZkln+48xZHTpQzv51/nZF9ZrwVSld5EgHfz0dLCyroBJNsFcbvKXFrDtOfWNRkgsiXBPXK6tNsGkA5klJBeVHXWJoa2IcFrTWaG/uMXNj9ybp1m246/Z8yjP3PwqfNb9Jva2LuwdYMmSCVVtQR46xgfFchnu9K5+u0dABzILHFpAMnWXa6gXiD29x8mnJlGb+Tj30/BZJYs25zKFRMi6BdoCRAVVTYMBheU17p1AMnW8iSjkZxr5TUGMq1dB308dfYAtckskVK2+cIqvbCKIdaLigq9kRA/L8IDvTmSVUat0Uyt0cy7W07y7KpjZ8pplqTkV/DN3kwA+3fu6IXViazYld7IZzzzeOPxfK6cGNnoqGvXTY3mpd9OAJBaUMmzPx+1t5ayVUbu/HgP6UVV/PG8WN7depLDTy1E48YtzBxvKpwqrOInawBuzdFc1jh0NztbgvQKvRFPraZBULy0yoCPlxYPrYZCa9BVqxEcyy5j1aEcAnt5MCGqd5PdsXedLKJCb+C8Nn86RWm/w1mlfL47nR/2n6a8xsiAvj48snAYN0wbYA90t4WnTsMr147n0je28tdvDvLW9RObTcLdHvnlep7/JZFv9mbSP9CbpddPJDbUj50ni9iZWsjW5EK+32/pohvq72UPJpVWG1h54DSPLBzW6sC4h1bDPxeNZvGynby5IZk/LxwGwGfx6ZRWG7inla2PbO6cM4gV8ad47pdjfHbHtEbPNbVGM/kVenLLaiiqqGVMZCBhzSTqbgmTWbr9jZ/uKLu0mvWJeaw/lse2lAL7TdP/W3Oci8aEc8/cWEb2D3BxKTuPlJLPd2fwzx+P4qnT8OZ1E7l4bDgAw/r5s3hKNGazJDGnnO0pBWxNLuDrPZl8vOPUmdyG1mpOX19PRkcEMm9EKGMiAhnVP5DIPr0QQpBRVMVbG5P5fFcGX+zO4Oq4KO6ZO7hOa+2zlfHI6TJLfeJIDkl5FcwfEcr1UwcwKza4w+tGxZW1pORXWP8qScmrIDm/glOFlvqrEBAb4se84aGMj+7N+KjeDA3zx6MzujAoLtetA0iOLZC2JOXz5MojAEyI7s0vD8xmzdFc7vpkD5V6Y51Kd2WtkcziKgwmycBg30aXXV1rapDHpCNGrkqwjiTy/raTdQJEWSXVPaYP7qI3twHQv7d3k61PjCYznlqNvSXShuN53Dwjxv5+Wb2LqJS8CiZE92lxGbpbC6Q+1hOao5IqA9uSC5gZeyZ5pz2A1I7jf3phFZ46TaNBB0e21hj5FXr2pRfz7d4s/nz+sDrT5JRWU2MwsTWpgP+sTmRHaiFLJkex5mgu3zkk3z5naAibTuRzKKvE7So9ZrMk4VQxk2P62IPMH2xL48ZpA+rcnRnz1Br749IqA6XVlhw2BpNkR0ohM2KbTrLq6HRJdZ2R0BJzyu0BpEq9EX9vHQODfflqT6Z9GsfgEcAbG5LtwR2ALUkF/PPHozxx6UhKqmo5nlPOW42MCNTbx6NOnrnNSflIKSl0aJlz77mDuWhMOHlldQOH72w5yd8vHkliTpl9GelFlorKa+uTASisrO20lgX1HcgoYXn8KR67cESTyRfrt0otbCJZuS14mltWw79XHeNfl4/G39sDo8nM6Cd/5cLR/Vh6wyT79HnlNUx5dh23zxrIwtH97KOHCmEZgRAsAaKyGkOT+ZWu+Z8lcJxmfW42S3anFTE2sjdHs0uZGN2nS3UXVLqO0ioD3+/P4ovdGRzNLsNLp+GiMeFcOzmKqQODOmy7G9bPn0cvGM4/fzrK5GfXsmh8fxZPjm5w7msPo8nM8vh0XlxznBqDiXvmDua+82LtXXCHhPlz47QBSClJLagkPtUSUIo/WciPBywBpTlDQ7j7nLYFe6YN6ssVEyJYtjmVKydGENGnF+9sSWVmbN9W1XEc+Xnp+OO8ITzxwxGeX52IVghyy/TkldeQX24JGtVvva/VCM4dFsp1U6M4Z2hoq1tCpOZX8PWeTL7dm0VOWQ3jIgO5Ki6Ky8b1J7CX6u7SEpnFVVTVmvD31uHv7YGPh7bJIILZLDmQWcL6xDzWHcvjaLYl92RUUC8WT45m3ohQBof48cnOU3yy4xQ/HczmvOGh3HtuLJMGtG276ioKKvQ8+s0h1h7LZVZsMC9ePa7R+qtGIxjZP4CR/QO4ffYgao1m9meUsD2lALNZMjoikNERgYQHejd5TIsK8uG5K8dy77mxLN2YwpcJGXy5O4OrJkVy77mxRAXVDSQZTWZ2pRWx5kguvx3NJaukGo2AuJgglkyJYtWhHH49kkt0kA9LpkRzdVxkq1o1gqVeuD+jhGPZZaTkV5CcZwkYOQ624qnTMCjYl9H9A7kmLorxUb0ZExnYqhvzSvfitACSEOIC4FVAC7wrpXzeWetqSo5DAOmWD3bbHwf28kQIgZ+X5eMXVdbWCSCVVNVyy/u7KdcbOfDk+Y2ezIoaGc2t/gVRW1RZLzDrdw2Z+fx6AG6cNgBwzhDfne0/qxM5ll3GB7dMbvRg+7ulO/j2nhlMbKRSZDCZGRzqxzHrSTApr5xNJ/IJ8vFkTGQgZfVyIGWX1jChkTKkF1axP7OEy+q1drJtD7aWTs3ZkpRPfGoRff08uTouyr5ttYctD1Njd1FfWnOctMIqXl08vsF39+evDhDVx4cH5g9hb3oxKw+cZkBfnzpN20P9vcgr13P9u/GMjgjg1cUTGBzidyYHUjMVeiklBpO0d4cymiUeWg3JeeXMf2kzkwb04Zu7Z1BjMOHtoWXPqSLu+mQPd84ZxJ3WEWJs23Ct0cwVb20H4GBmSZ31nMit4G/fHbLvDwcySth8Ir9BeRaN709euZ7l8en2rjpfJWSwZEp0k/nMao1mdBrBluQCXvz1OJ/dOa3Vv5vJLDFLedY7Lh/vSOOpHxsmd911ssgeQPpid92WPLusLQ37+npSWFnLde/G8+uDcxgY7NugZUp9C1/ZbA9QAGxLLmDByDC8PbRU6I34eumavTNvCx5dNzWa4znl7DlVzPvbTnLHnIHc9ckeDjaRoPnC0eF85tAqqaTKwMDHVvH6kjN738hwyx25UP+Gx8vNJ/K56f1dTZZryr/X8tZ1E7lwjOXOoJSSFbvSWTAyzOl3sD/cnsZ3+7II8ffikYXDG50mJd+SSHxMRCCHsppOYn04qxSTWfL2phR+2H+aSr2RP84bYq+w/XI4hx0phfzzp6P8fmaMfWS3d7eeZM3RXPvFnAB2phZa113JvoySRtfnKMfDj77GKl5be4LXrYE5gHdvimN+J+eOUZzDHepfYOnO+sXuDH45nEOt0czoiACeWTSKy8ZHOC1I8PtZAxkRHsAXu9P5MiGTT3emMzI8gGsnR3H5+Ih25eLYc6qIx78/wtHsMmYPCeapy0bVycHnSAjB4BA/Bof4cd3UaKSUnCqs4kBmCXOHhbartcBjFw1n7dFcnlx5hAtG9yOvXM/L145v8/IAFk+O5sPtafxvUyo6jSDE34vQAG+ignyYNKAPYQHehPp7ERbgTUAvHWuP5fFVQiZrj+USHujNNXFRXDM56qxdcir0RlYdzObLhAwSThWjEZabP9dNjWbVoWwe//4wz/x0lIWj+nH1pEhmxga7dU7DzlZVa2RnaiGbjuez6UQ+aYV1WzILYQkGBnh7WINKOvy8dHjqNOw5VUxBRa09+PDYhcPtQSPHOuRfLxjOH+YM5uMdaby/7SS/W7qdaYOCuO/cIcyM7dvtbjKsO5bLX785SFmNkScuGcktM2JavG966jRMGRjElIEtT/pvE9nHh2evGMO958by9qYUPt+Vwdd7MrlyYgS3zx7EyYJK1hzJZV1iLiVVBjx1GuYMCeaBeUOYNyKUvtYg0eOXjGT14RxWxKfzn9WJvPTbcRaO6sd1U6OZPqjx3yu7tJqEtGL2nCom4VQRx7LL7a3E+/p6MjjEj4WjwuzHr8EhfkT06aX2RaUO4YxWLUIILXACWABkAruBJVLKRofIiIuLkwkJCY291S7lNQayS2u4/M1tdZKbnjc8lPdvmcz+jBIut7Z2acr/XT2O2UOC+Xx3Bkl5Ffxr0Wgyiqt4auUREk4V46nTUGs04++tQyMEB548v1VlTCuoJCrIx75jvvzbCV5dl0S/AG92PHYeQgiklAx8bBVw5sL/hmnR/OvyMY0u8431SYzqH8i5w0NbVZbOdLKgknNf3AjA+ofPsV9IV+iNjH7yV/t0t80aSLXBxMC+vnh7avHz0qI3mFl1OIfSagORfXrZ87TY/OPiEaw6lM1eh1GfFk+OIqCXB+cOC63TsuuiV7dwNLusThkyiqqY/YIlh0tMXx++uXsGyXkVTBkYxI8HsymrNnDDtAHkldfw6tokfj9rIFe+td0efDl/ZBjLbopr1/eTV1bDlH+vA+CF343lmslRdd6PefRnAAZYy2e741BaZWDcPy0tWT64ZTLP/XKME7mWi9q05y/mmz2Z5Ffo+XZvpv11gCVTonjuyrH888ejvL/tJAAPzR/KA/OH2Kc5WVDJgCAfqgwmrlq6HR9PLe/fMplL39hKbIgfH9w6hbc3pfD8L4kAvHNTHHd8nMCah+awcv9p3tiQzIjwAH55YDYAc/+7gSFh/hzIKCHvLIm0g/288NCKRnOa2ez5x3ze2pjCe1stZQ/s5UFptQEvnYbfHjqnwag0UkqGPb6aReP6cyK3nAOZpTx7xWiunzqAfenFrD6Sw6MXDG+yslSpN/LsqmPsSSsms7iKBSPDGBvZm9/PGlhnul0ni+wtP+o7b3goz1w+mqTc8joBbkeLJ0fx+e4MwDIEfFSQD+sfnms/XmxIzOP19UlcOq4/t84cyA/7s3jg8/2NLmvp9RO5e/le5gwN4U8LhjZ77Ovj48G+J85nfWJunW6FZ7Pi9qlc9278Waf5z+/GcO1kS6Jc23ZsY/vdzkYjYLU1mLbrZBHXvxvP8H7+rH5wTrPlk1KyO62Y7/Zl8eiFw1t1EWs7VtjOH3qjifxyvb3puZSScU+v4eKx/Tl/ZBi3ftj4b2qz4o6p/Ho4h492nBkZ8Y7ZA3lny0n6+HhwztAQexeY5tjOQ5MG9GHPqWJGhAfYg+uN8TXVUqlt2IrqX5eP5qpJkU7r+iOE2COlbN/BUTmr1ta/wHl1sN8t3U5SbjmXT4jgmrioDm0J1BKlVQZ+OGBp+XTkdBmeOg0XjOrH4slRTBvUt8UXigUVev7zSyJf7ckkPNCbxy8ZyYWj+7n0YvqDbSd5+sej+HpqiQ3z5/t7ZrS7PFW1RqpqTQT5eLbouzGYzKw7lsuKXRlsSbLc2Jk7NITFU6I5b3goHlrLDab4k0V8lZDJqkPZVBtMDArx5epJUVw5McLeDU5KyeGsMr7ak8EP+09TWm2gf6A3v5sUyVWTIhnQt2FvgBqDicziKtKLqsgoqia9yPJYIyCqjw/RfX2ICvIhOsiHiN69nNql0RmklJzIrWDTiTw2nchn98liak1menlomT64L3OGBBPs70V5jZHyGoP1v5Ey+2MDFXojVXqTvUvVOUND6O3TsuHLK/VGPtuVzjtbUskt0zMuqjf3zh3M/BFhrQqAVteayCmrIbu0mtyyGrJLa8gtrSGnrIacMj1agT1AGerwPyzAi1B/b/r4eHT4vlZVa+RfPx9jRXw6I8IDeOXa8Qzr1/lDy9vklNbw9qYUVuxKtw+6EeCtY96IMBaOCmP2kBB8m7nBmZxXzor4DL7ek0FZjZFBIb5cNyWayTFBHMwsYbc1aJRVYkmV0MtDy/io3sTF9CEuJoixEYFqaPu2mDvX8n/jRleWokU6sg7mrADSdOApKeVC6/PHAKSUzzU2vbMqLzYbEvPqVOYfXjCU++cN4URuOee/vBmwVMD/cfEInvjhyFmXdfHYcH45lG3vJhAd5EN6URVTBgax62QRf7lgGHlleg5klqARgqFh/gxoYkjV8hqDPQnwbbMGEuLvxdd7MknOs1zYXzEhgmH9/KmqNfGadUQlm4jevRga5oeftwejHLrs1BhMvLI2yf45PZpprdDZTGbJpuP5lFTX2gMYC0aGMTYikA3H89ifUYJZwquLx/PmhuQ6QQ5HA/r6EOrvxVd/mMHWpAJueO/sF62OHr3wTOuBF1YnYpYwe0iwvSvXtuQCtiQVNJhv0fj+/GC9oJsyMAiTWbLnVHGD6TQCJg3oQ0TvXgwPD8AsJVuTCqjQG5k3PIwdqQUMDPZFp9GwJSmfmbHBDZqtnsgptyfr6+WhrRPIMZkl//31uP35tEFBzB0WSlm1odFuRQCzYoP59PapdT53/Wlj+vo0uKMVFuDFzTNiKK0y8L/NqcwfEUqAt4e9bHED+pBg/Q4WjAyrM6x4RO9eZJVUM39EKJnF1STmlOOl0/DQgqHkltXwwbY0rpsaTai/l32btXn7hkn2bjo2F48J5+dDdYOFAKsfnM3wfpY7zn/95lCD9yP79GJIqB8BvTwYEW7ZV0qrDSy1fn7bPtzX15NbZ8bw4hpL65s75wwiqImT6faUwkZbQv3lgmFohGB/egk7UgsdRrUT9js8zywaxYncCj7ZearB/PW9e1Mct39c99h4y4wYdqQUcrq0uk5Lo0cWDquzXYAlmPqvn+t2T/v3FWO4bmo0/9uUwnPWYF9j+gV4s/Nv8zCZJTe+F8/2lMJGp5s2KIidqZYWUyefu4jX1iXz8lrLd2jbBhx99Yfp9mG6L35tC0dO1w10+Hvr6nyulrpp+gD6N5OQMin3TF4ngEvGhjd6UWvbZyP79MLHU8eWpHxS8s8Mc+3tobF3c31k4TBMZsmbG5LRG8288LuxTBzQm/kvWc4tfl66Oi1GH71wOG9uSCbI19OeS8DGx1Nb52ZHUx5ZOIwdKYVsTbYcp/60YCirDmXbc/vdPXcwSzemcPGYcAYG+/LGhuQGy5gY3ZvYUD++TMhs8J5jQL0jqQCS87W2/gXOq4OlF1YRGuDlFhfuh7NK+TIhg+/2ZVFeYyQqqBfzR4ThodVgNkvM0rLfSykxSctzKSVGk+TXIzlU1Zq4ffYg7j8vttkLuc5gNJm55PWtJOaUs+zGSQ3yGXa2jKIqS3echAxyy/SE+Hsxf0Qo25ILSS+qws9Lx6XjwrlqUhQTo3ufNSBQYzCx9lguXyVksiUpH7O01LmmxARxuqSaDGvQKLdeq/9eHlqignohpaX7s95YN81EvwBvooMsQaWoIEtAyWgyYzRLTGZp/28wmc88N9m2B4m0biOO24rZDCbrezqNQKsVeGgEWo2m4XOtQKsRaIQlz6QQZx5rhKXVmlYjEFhGNd10Ip+cMsuNs2Fh/pwzLIQ5Q0KIi+nTqfuU3mjimz1ZvL0phfSiKkL9vfCz3jQ/22exBY4auynk760jPNCbsABvTGZJnrWrZGPnfg+tIMTPCx8vHR7W/ICeWmF/7KHV2PMG6jSiRTk8d6UVkVZYyZ2zB/Gn84e2K/9aR8orq+HHg9kM7+fPlIFBbconVGMw8fPBbJbHn6pzIz0swIu4AUFMGtCHuJg+jAgPUPmKOoIKIHUcIcRVwAVSytutz28Epkop73OY5k7gToDo6OhJp041fzHVHi/+epwPt6ex4c9z6ePjgU6robzGwJin1vDPRaO4dGx/DGYz57ywkWqDiakDg4js48MP+7MI9vMip6yGsAAvcsv0BHjrqDGY8dAKvrt3Jr8ezmFURAC3f5TQZP6JltJqBPefF8vBzFLWJ+Y1eP/iMeHUGExsOpGP8Swrs92RdmfXT42mQm+0B2XAEnx5+Pxh3H3OYJ5fnciyzalNzn9NXCQvXDUOgFs+2EVidrn9ZAuWAJy3h5YR4f68sjapTn9eR7YAgo0QltzZPp5aNMLSlLuPj0edAzFYTmoXjg5npTWvwcr7ZuLv7cEdHyfYg4A2Pp5aPHWaOvlhoPEL7JbQaQTRfX3sQ6fXX2ZBhZ7bZg3k271ZvLZkAmMjA+tUOIwmM0WVtWg0grVHc3n020P2slw3NZovd2ecdfsaExFILw8tu9KK6B/oTUFFrT0f1a0zY/h056kG3f9GhAdwPKfMvo9MGtCHJy8daX29nMve2IqXTovJLDn+rws4ll3Ou1tSWX88j8vHR3DfebGc++JGbpg2gIS0InanFRMb6sfaP50DQHJeBRe9uoWpg4LILavhRG4FnjoNGkGDfGX1XTEhgu0pBQ0qpE3RiLrJovv6elKhN9orrB5aQR8fT/LK9Vw0ph8vXDWOP395gKKqWj69bSoSyTVv7yA5rwKjWeLrpbNvn0PD/OyB08RnLmD446t59MLhXDCqH1cu3d5gO75t1kCWx5+yf8aJ0b1ZesMkSqsNDAn149YPd7PxeD6eOg0v/G4sl0+wdPGT0lJp0whBpd5I/MlC/vrNIR6YN4S+fp7EDQiy55OSUvLR9jR2pBby65FcHr9kJNW1Rs4dHsqIfgHsSS/mdEm1vftgVa0Ro1miEYI1R3IwmiUXjQmnSm8k1CHxal55DZ/uTOeBeUNYd8yyHb6xZAKxYX58suMUr69PZnxUb5LzKjCYzHUuCAK8dQgh+MsFw1h3LK/R42VHiujdiyVTouwBxsYM7+fP9/fOxNtDS1ZJNV/szuDWGTHojWb+8s1BSqtq+eG+WayIT+fJlYcxmCRXTojgqrhIHv/+MKdLalg8JYoPtqUBlv0svaiK66dGc9GYcL5KyGDD8Xx+eWA2VbUmLnx1M7fOHMhdcwaRXVrD75Zu59rJUVwTF8XsFzbwyW1TmD6oL/9dc5wqvYk/LxzGbzc+yL8HzOXThxeiN5q44q3tfHHnNNYn5rE5qYAgXw9eXzKxyeBpe6gAkvO1pP5lfb1T62DuosZgYvXhHL7YncHe9GKE/aLXegGsEXUugjXCcu5k0IelAAAgAElEQVT6x8UjiA11XQuFxiTnlbPmaC5/mDPYbQYXMJrMbDyez2e70tl0Ip8pA4O4Oi6SC0aF20eNa42c0hq+2ZvJ13sySSusJNzarS7a+hcVdKaVUbCfZ53R7vLL9ZbWScVVpBdWW1sqWYJPjnVFsJzTdRoNWo1ApxHWYI8GrcbSpd8W3DkTMDmz3QjrtmI2Swxma/DJZAtKme2BKNt7joGopvh765g9JJhzhoYwZ2iIWwz7bjSZ+fHgaTYez6/zOUzmMwFXxwCbt4fWHiQKD/SmX4A3Ydb/TQVhq2tN5JXXkFeuJ6/MElTKK7fk46oxmKg1WgJ8tUYzBpPZXi+wPLa815LL2j6+njxxychuOxiRjS2v0bjI3vZE3koHUwGkjtPSCoyNs1sgnU390Y0MJjNaIdBoRIM8L2C5ENVpBVohMNXLfaI3mjCbLQEIW9Ndo/Ug2xQvnQbhcIGr0YCXTouUss5Fr1Yj8NAKe1n1RhMaISwH63rXxjqt5aTmrgEkD63ALLHncqkxmJDW5yaztL9u+w68dBoMZkvSbLDkJTKZJd4emjq/ne23lFJSazI3uKMgpURvrHtyEcKSY8hWBsfXLOs6sz1U15rQaMBTq7EHR2zbhmM5zOYzd6xsv43jb+KhFfbgTP11O/LUWSoz1Y20SGhqO/H2OLM92r6LlpwwbEO92/7btnfL3TjLYy+dxn4B77jdeuk09s+j01i+q1qjpaLkOE8vT22dfaSld9DMZmmvHDf3eWzfr+3z214Tggb7ik57plWQt4clcGWbVqcRZ81/ZdsOak1mNMJyPLDdvYQz+6tNY2U2W/MnaTWiTlnPluPIaK0keeo0CMBgtmznBpMZo0nat4v6HI9l7WXbRpyh/u/ruE+bzJbHtmOEbRu1Td/YftIYbw8NUmI5NtPw+GnjuJ/ajuc6rcaeO0uIuvuHLVjZ0gqabVu1TW87bnhY1+F4HGzsO2nuvSbNnYsERCOVnfaM9tcSKoDkfK2tf4Fr62BK99WRxxPHXIsdwVYXsdXnXRWAkw4BF8dWTl46rco5oyhdQQ8NIDmrHW4W4Ji0JdL6mtupf3JzPDkJIfDU1b0YdbyDYrmEO6PhRZWgpddZ9e/MCCHOeremJRdwbbnb4wqOgQTHE6bjd+ClOTON7Tepz/YbCSEa/X6EEE0GLZp63XF7cPw+HctQfxvSaESDbaP+MhyL11wg5Wy/Y3PbSUsrb7bvy/bfNp9OW3cbrr8u23PPehUdx0CF4zxtCTxoNGcPxDS13rO9ZuP41Ws1db/LlhTV8fPU/w6a09h20lyAR6fV1CmXbb/w0Go422bkeCxrL2c29a7/+zru0zprQM52jKg/bWuOd0K07Peq+1Et0zv+RvX3j9ao/1s7bg+O7zX1nTT3XpM2bmzi6NTy44Xi1rpM/Uvp3jryeCJE3Zsy7eUuXZaEEGgFaJs8KiuK4ta6QODIGZzV+XE3MEQIMVAI4QksBlY6aV2KoiiKoiiKqn8piqIoiuJETunCBiCEuAh4Bcswsu9LKZ89y7TlwPFG3goEmh4LuWltnU/N2zXmbc/87V1vMNAww7Zz190VfyM1r/vP255tua3rdtV+r+Z1j3mHSSndK5FMN9Sa+pd1+nzAlgSppb+9O0/nzmVr6XTuXLaOns5VZYsG0jtoee78/bZ0OncuW0dP585la+l07ly2lk7nzmXr6OlccVyqv7wBUsqQFszTPGkdScCVf0BCE68va+Py2jSfmrdrzOuqbcM6f6PbqruWWc2r5j3LvG3eltu6blft92pe95i3vduc+nP+X0t/e3eezp3L1pM+Qxf4rPnd4DN0h99BfVb1Gbr9dK44LrVmea39c/fx+37s5PnUvF1j3vbM3971tofantW87jRve7Vl3a7a79W8XWNexfVa+vu583TuXLaWTufOZevo6VxVtpLmJ2nx8tz5+23pdO5cto6ezp3L1tLp3LlsLZ3OncvW0dO54rjUmuW1itO6sLWqEEIkSDUyi9IFqG1V6S7Utqx0NrXNKYriLtTxSFEUd9PRxyVnHefcpQXSMlcXQFFaSG2rSnehtmWls6ltTlEUd6GOR4qiuJuOPi455TjnFi2QFEVRFEVRFEVRFEVRFPflLi2QlBYSQlQ08/5GIYRqkqt0CWp7VroTtT0rXYkQ4n0hRJ4Q4rDDa88IIQ4KIfYLIdYIIfq7soydSQgRJYTYIIQ4KoQ4IoR4wPp6kBDiNyFEkvV/H1eXtbOc5Tv5wrqN7BdCpAkh9ru6rJ1JCHGBEOK4ECJZCPGo9bX3hBAHrPvP10IIP1eXs7M0cSzpsfsNNPmd9Nj9pqljicP7DwshpBAi2FVlVFpOBZAURVEURVF6ng+BC+q99l8p5Vgp5XjgJ+CJTi+V6xiBh6WUI4FpwL1CiJHAo8A6KeUQYJ31eU/R6HcipbxWSjneup18A3zr0lJ2IiGEFngTuBAYCSyxbicPSSnHSSnHYhk2+z4XFrOzfUjDY0lP3m+gke+kJ+83NH18RQgRBZxPy4avV9yACiB1QUKIuUKInxyevyGEuMWFRepWmmtFoHQstT07l9qeO5fanpWuQkq5GSiq91qZw1NfoMfkOZBSZksp91oflwPHgAhgEfCRdbKPgMtdU8LOd5bvBAAhhACuAT5zTQldYgqQLKVMlVLWAp8Di2z7jvU76UXP2ncaHEvowfsNNPmdAD1zv2nmWPIy8Bd60D7T1blFDqTg4GAZExPj6mIoiqIoiuIke/bsKZBShri6HMoZQoiYvn37nlR1MEVRFEXpvjqyDqbriIW0V0xMDAkJCa4uhqIoiqIoTiKEOOXqMigNqTqYoiiKonRvHVkHU13YFEVRFKW7mjvX8qcoitKTqGOfoiiKUzQbQGpNZn1h8Zp1VIKDQoiJziy8oiggpeTx7w+TkNZoV2tFURSlixJCDHMYtWe/EKJMCPGgEOIpIUSWw+sXOczzmLUedlwIsdCV5VcURXGG0ioDK+LTScotd3VRFKXHaUkXtg+BN4CPHV6zZdZ/3jp85aPAX7GMSDDE+jcVWGr9ryiKk5jMkk92nqK3jwdxMUGuLo6iKIrSQaSUx4HxYB/9KQv4DrgVeFlK+aLj9NZRbRYDo4D+wFohxFAppan+soUQnwFznfoBFEVROlBVrZEPtqXxv00plNUY8dAK7p4by73nDsZLp3V18RQ3Vl5jwGyGQB8PVxely2u2BVIrM+svAj6WFjuB3kKI8I4qrKIoDRnNlkT4BpPrE+IriqIoTjMPSJFSni2PwSLgcymlXkp5EkjGMmpUA1LKJVJKVUdTFMXt6Y0mPtx2kjkvbOS/vx5nckwQn90xjYvHhPPauiQufm2raomvNOlQZinzX9rEvJc2kZynBidur7bmQAqTUmZbH+cAYdbHEUCGw3SZOAz3qShKxzOYzAAYrf8VRVGUbmkxdYd9vs+aLuB9WyoBWlgPE0LcKYRIEEIk5OfnO6/EiqIo7WA0mfkqIYPzXtzEUz8eZXCIL9/cPZ33bpnM9MF9eWXxBD64dTLVtSauensHj39/mPIag6uLrbiRXw5lc/X/tqMVAoAl7+wkJV8Fkdqj3Um0pZQSaHXTB1V5UZSOYWt5ZFABJEVRlG5JCOEJXAZ8ZX1pKTAYS/e2bOD/WrM8KeUyKWWclDIuJKRDRvVVFEXpMGazZNWhbBa+splHvj5IkK8nH/9+Cp/fOY1JA+qmazh3WChrHprDrTNj+DT+FAte2szao7kuKrniLqSUvLE+ibuX72VEeADf3zeTz+6YipSSJct2kqqCSG3W1gBSrq1rmvV/nvX1LCDKYbpI62sNqMqLonQMW8sjg1l1YVMURemmLgT2SilzAaSUuVJKk5TSDLzDmW5qLa6HKYqiuBspJZtO5HPZm1u5Z/lehBC8fcNEVt43kzlDQxDWViT1+XrpePLSUXx79wwCe3lw+8cJ3LtiL/nl+k7+BIo7qDGY+NOXB3hxzQkWje/PZ3dMI9TfmyFh/qy4Yxoms2TJOzs5WVDp6qJ2SW0NIK0EbrY+vhn4weH1m6yjsU0DSh26uimK4gS2wJHqwqYoitJtLcGh+1q9/JJXALaRclcCi4UQXkKIgVgGNdnVaaVUlHawdGpQeqqEtCKuXbaTm9/fRXGlgRevHsevD87hgtHhTQaO6psQ3Ycf75/FwwuG8tuRXOa/tIkvEzLUttWDFFTouf7deL7bl8XDC4byyrXj8fY4k2B9qDWIZDBZWiKlqSBSqzUbQLKO0rEDGCaEyBRC3AY8DywQQiQB863PAVYBqViSNr4D3OOUUiuKYme050BSJ0dFUZTuRgjhCywAvnV4+QUhxCEhxEHgXOAhACnlEeBL4CiwGri3sRHYFMXdvLE+iZFP/MoTPxwmo6jK1cVROtHhrFJu/WAXV729g9T8Sv65aBTr/3wOV02KRKtpWeDIkadOw/3zhrDqgdkMC/PnL18f5Ib34jlVqAIF3V1iThmL3tjGkdOlvHndRO6fN6TR4OOwfv6suGMqeqOJJe/sVNtGK+mam0BKuaSJt+Y1Mq0E7m1voRRFaTlb7qNa1QJJURSl25FSVgJ9671241mmfxZ41tnlUpSOsjz+FC+uOcHI8AA+25XO8vh0Lhkbzh/OGcyI8ABXF09xktT8Cv7vtxP8fDCbwF4e/PWC4dw8YwA+ns1enrZIbKgfn985jRW70nn+l0QWvrKZh+YP5bZZA9Fp250GWHEz6xNzuX/FPvy8dXx513TGRvY+6/TD+wWw/PZpXPfuTpYs28nnd04nuq9PJ5W2a+uYPVRRFJexJdFWLZAURVEURelKVh/O5vHvD3Pe8FD+d+MkCitqeW9rKivi0/lh/2nmDgvh7nMGM2VgUIu7MSnuLaukmtfWJvH13ky8dBruOzeWO+YMIrCXR4evS6MR3DBtAPNHhPH4D4d57pdEfjx4muevHMvoiMAOX587MprMFFXWkleuJ79CT3655a+wopZ5I0KZGRvs6iK2i5SS97ae5N+rjjGyfwDv3jSZfoHeLZp3ZP8Alt8+leveiWfJOzv5/M5pRAWpIFJzVABJUbo4W+DIaFYtkBRFURRF6Rp2phbyx8/3My6qN29eNxEPrYZ+gd78/eKR3HtuLJ/sOMWH29O4dtlOJkb35g/nDGb+iDA0bejWpLheQYWeNzcks3xnOgA3TR/APXNjCfH3cvq6+wV6s+zGSaw+nMMTK4+w6M1t3D57IA/NH1onP05XIaWktNpgDwY5BoYcnxdU6CmsrKWxFFCeWg0f70jj7RsmMX9kWKd/ho5QazTz5MrDfLYrgwtG9eOla8e1ugXbqP6BLL99Kte/G8/iZTv54q5pRPZRQaSzUQEkReniau1d2FQLJEVRFEVR3N/R02Xc8VEC0UE+vH/zZHp51r2I7+3jyf3zhnD77EF8tSeDZZtTufOTPcSG+vGHcwZz2bj+eOpUNyR3VKE3kpJXQUp+Bcl5lr+U/ApOFVZhlpKrJkXywPyhRPTu1anlEkJw4ZhwZgwO5t+rjvG/TamsPpzDc1eMYYabt8IprTbw318TOZRZag8QGRqp93vqNIT4eRHi70VUkA8TB/SxP7f/WZ/Xmszc+G489yzfyzs3x3HO0K41KnpxZS13L9/DztQi7j13MA8vGNbm4PLoiEA+vW0q17+709oSaXqnb59diXCHrPRxcXEyISHB1cVQlC4pPrWQa5ftZMbgvqy4YxrZpdX4eukI8O74psCK4k7KawxU6I2EB6qTfJPmzrX837jRlaUAQAixR0oZ5+pyKHWpOpjS2TKKqrhy6XZ0GsE3d8+gfwsu1IwmMz8fymbpxhQSc8rpH+jNbbMHsXhyFL5ejdwPd6NjX3ckpSS/Qm8NDlWS4hAoyi6tsU+n0wgG9PVhcIgfQ8L8uHJiJIND/FxY8jO2pxTwt28PkVZYxTVxkfz9opEE+rhf3Xl3WhEPfr6fnLIaZgzuS1iAd51AkOOfv5euVV09S6sMLHlnJyn5FXxwy2S3D6TZJOdVcPtHuzldUsN/rhrDFRMiO2S5BzJKuOG9ePr4ePL5ndNadGzqKjqyDqZaIClKF2c0182BdPP7u5gxOJinLhvlymIpitO9sjaJjcfzWPfwXFcXRVEURWmBggo9N74XT63RzPI/TG/xBZpOq2HR+AguG9efjcfzWbophWd+Osrr65O4eXoMN8+IIcjX08ml73lMZklGUZWlJVF+hSVQZP1fVmO0T+frqWVwqB/TB/VlcKgfg0P8iA31JTrI121bis0YHMzqB+fw6roklm1OZX1iPk9eOpJLxoa7Rb4to8nM/7N33+FRVekDx79nJr0npEAaEEjoPTSVIqAiFuyCDcXeUXdXd/e3rqvrrru6FtaKigVBZBUBC4J0kBpCDQFSSO+9zmTK+f0xkyGBJIT0Sc7nefJkZu7NmTN37p3Mfe973rN4cwLvbk0k1NeNbx+ZzJhw3zZ9Dm83R756YCLzluzh/i9i+GLhBCb092vT52hruxIKeHT5QZy0Gr5+aCLj+rZdf0eF+bDs/onc/cnZmkjqIuX5VABJUexc7SxsBmsNpMKKGgorazqzS4rSIWrH9itKdyaESAHKARNglFJGCyH8gG+AfkAKcJuUslhYznreAeYAVcC9UsrYzui3opyrQm9k4ecHyCnTsfyBiUQFeV50G0IILh8cyOWDAzmYWsQH25JtAYDbx4fxwJT+qn5JCxRX1pBcUMmZgkqS8yusvy33687yG+DpzMAAD64fHczAAA8GBHowMNCD3l4uXSLocrFcHLU8P3sw147swwvfHePJrw+xKiadl+cOp7+/e6f1K72oiqdXHiI2rYSbx4byt7nD8Ggo064N+Lk7sfyBSdy+ZA/3fbafZQ9MZGwbB6rayrK9qby0Lo6BAR58em90uxzro8N8+PL+Cdz96X7b7GzNLcrdU6gAkqLYudox0LWBJL3RjN5g6swuKUqH0BvM6NS+rvQMl0spC+rcfwHYLKV8TQjxgvX+88DVQKT1ZyLwgfW3onSqGqOZR786SFxWGUvuHtcmWQPj+vrxyQI/EnLL+XB7Ml/tTeWrvalcPyqYh139GVRdcOFGehCdwURqYRVnCizDzuoGi4qrDLb1HDSC8F5uRPi7M31wgDWbyIMB/h5dcohXWxgW7M2axy/lq72pvLHhFFe9vYPHpg/gkWkDOrzI9ppDmfzfmuMIAYvnj+H6UcHt/pwBns6ssAaRFizdz4oHJjEitOvMUmc0mfn7T/F8vjuFGYMDWTx/TLsF1ADGhPvyxcIJ3PPpPu74eC9fPzSJIC8VRKqlAkiKYueM1sBR7RA2vdGE3qhmZFO6P73RhM5gRkppl1c+FaUV5gLTrbe/ALZhCSDNBb6UlgKXe4UQPkKIPlLK7E7ppaIAZrPkd/87ws6EAl6/ZSQzh7TtjE+RQZ7857ZRPHtlFJ/sTGbl/nRWj7qPK4oSeKVU16OyB8xmSVZpdb0MomRroCizpLrebFxBXs7093fn6hF9iPB3JyLAnf7+HoT5uuKg7ZrDztqTViNYcEk/rh7em1d+iuftTQmsOZTJKzcMZ0pk+xeYLtcZeHFtHN8fyiS6ry9vzxvdodl0vb1dWPHgJG7/aA93fbqPrx+cxNBgrw57/saU6Qw8seIQO07n88Bl/fnjnCFoO2AmxnF9LUGkBUv3W4azPTiJQBVEAlQASVHsnsF8NgPJbJYYTBK9UWVlKN2fznA2684ep+FVlGaSwEYhhAQ+klIuAYLqBIVygNoz8hAgvc7fZlgfUwEkpVNIKXnlpxOsO5LF87MHc2t0WLs9V4iPK3+9bhhPzYjki4deYknweOYs3slbt4+2uxmmmstklhxKK+bX+Fx2ni4gKb+i3kVED2cH+vu7M66vL7eMCyUiwIMIf3f6+bu3awaHPQv0cuG/88dwW3QoL66N4+5P93PdqGD+cs2QdgsgHEwtZtE3h8gq0fHMrCgev3xApwTxQnxc+frBSdxmDSJ989AkIlsw1LStpBVWsfCLA6QUVPLaTSOYNyG8Q58/up8fn9cJIn390CQCPVUQSX1yKIqdM1i/KBhM0jZOvUZlICk9QG2gVG9QASSlW7tMSpkphAgEfhVCnKy7UEoprcGlZhNCPAQ8BBAe3rFfyJWe5YPtSXz2WwoLL+3PI9MiOuQ5fd2dWJS5m2sLT/L4VYtYsHQ/j18+gGdmRXWLzJoKvZGdp/PZFJ/H1lN5FFXW4KgVjO/nxz2T+9Lf34OIAHci/N0J8HRWGbotNCUygPVPT+HD7Um8vy2JbSfz+N1Vg7hrUt82y4AxmSXvbU3knc0J9PF2YdXDk9q0KHRLhPm52TKR7vjEEkSK6ISZ83YnFvD4ilgksOz+iUwe0KvD+wAwvp8fn907nns/O8AdH1syswI8nTulL12FCiApip0zmmuHsJnR18nIUJTurnY/1xlNeNM96zIoipQy0/o7TwjxPTAByK0dmiaE6APkWVfPBOqmeIRaHzu3zSXAEoDo6OiLCj4114fbk9AbzFwysBejQn267ExMSvtZFZPOv385xfWjgvm/a4Z0eCBjoK6INY9fykvr4nhvaxIHUor57/wxdlnLJKukms3xufwan8fepEJqTGa8XR2ZMTiQmUMCmRoVgJeL+j/Y1lwctSyaFcXc0SG8uPY4f10Xx7cHM3j1xuGMDPVpVduZJdU8s/Iw+1OKmDs6mFduGN5l3sP+/u6seHAit3+0lzs+3sc3D0+ib6+OKSqeXlTFa7+c5Kej2UQEuLN0wXj6dWJBc4CJEb347L7x3PfZAVtNJH+PnhtEUgEkRbFztiLa5rND11QASekJagto1wZOFaW7EUK4AxopZbn19pXAy8A6YAHwmvX3WuufrAOeEEKsxFI8u7Sz6h/FpBSx+WQeb20CV0ct4/v7ccmAXlwyoBfDgr07pIaF0nk2ncjlj6uPMSXSnzduHYWmk95vVyct/7plJBMj/Pjz98eZ845lSNvULj6kzWyWHM8qZVN8HptO5HIiuwywnNgvuKQvs4YEMa6vb7fIqLIH/f3d+XLhBH48ms0rP55g7nu/cfekvjx35SC8XS8+6PPj0Sz+uPoYUsJbt4/ixjGh7dDr1hkY6MlXD0xk/sdng0jtWZOpQm/kg22JfLzzDBoBi2ZF8tDUCNycuka4YlJELz69N5qFnx/gzo/3seLBifTqoUGkrvGOKIrSYmeLaJttgSNVA0npCepmIClKNxUEfG/N3HAAVkgpfxFCHABWCSHuB1KB26zr/wzMARKBKuC+ju+yxScLxlNSVcPe5CL2JBWwO6mQ19ZbRt95uTgwKcISTLpkoD+RgR5qmE03EpNSxOMrYhke7MWHd43rEtlnN40NZWSoN48vP8SCz/bz+PSBLJoV2aUCMDqDid1JBWyKz2NzfC65ZXo0wlLM949XD2bW0CAGdMJQIsVCCMF1o4KZNiiANzee5ss9Kfx8LIe/XDuE60cFN+szrEJv5CVrFtPoMB8WzxtDeK+OK5R9sYb08eKr+ydyR50gUh9v1zZ9DrNZ8m1sBq9vOEV+uZ4bx4Twh9mD2vx52sIlA/z5dMF4SxDpk32seHASfu5Ond2tDqcCSIpi52wZSHWKZ6uMDKUnsAWQDCqApHRPUspkYFQDjxcCMxt4XAKPd0DXmsXHzYnZw3sze3hvAPLKdexJKmRPUiG7kwrZeCIXAH8PJyYP8LdlKIX7uamAkp06nVvOws8PEOzjytJ7x+PehQo1Dwz0tA1pe3drIvtTijp9SFt+uZ6tJ/P4NT6XXQkFVBtMuDtpmRoVwKwhQVw+OLBHnqB2ZV4ujrx0/TBuHhvK/605xtMrD7MqJp1X5g5vslbQ4fQSnl55iLSiKp6cMZCnZkbi2IUCmI0ZHuLNl/dP5K5P9nHnx/tY+VDbzUa2N7mQV348QVxWGWPCfVhy9zjGhPu2Sdvt5dKBliDS/V8c4Mb3f+Ov1w3l8kGBPep/Vtf5VFcUpUUM5toi2uZ6s1IpSndXGzjSqYCpotiFQE8X5o4OYe7oEMBS62JPcm1AqYAfjmQBlpmAJluDSZMH9OqSV6KV82WWVHPPp/txcdTy5cIJXXJ4R+2Qtgn9/fi/NZ0zpK1Sb2TdkSz+F5POofQSpIRgbxduGRfKrKFBTIrww9lBTQzR1Y0I9Wb1Y5eyYl8q/95witlv7+SR6QN4bPqAehN7mMySj3Yk8ebG0wR6OrPywUlMjOicgtAtNTrMh8/vG889S/dz5yeWIFJrju+0wir+uT6e9cdzCPZ2YfH8MVw3so/dBGEui/Tny4UT+OP3x1j4eQxTowJ48dohDAzsvBnrOpIKICmKnTNaM5CMZqmGsCk9ispAUhT7FubnRpifG7dFhyGlJLmgkt1JhexJKmBzfC7fHswAIMLfnckDenHlsN5MjfS3m5OMnqS4soZ7Pt1Hpd7IqkcmE+bXdYflANw8LpRRYd48tjyWBZ/t54nLB/L0zPYd0nYiq4wV+1NZcyiLCr2RQUGeLJoZxayhgQzt46X2azuk1QjuntyPq4b35tWf4lm8OYG1hzN5ee5wpkUFkF1azTPfHGZvchHXjOjDP24cgbdb1yiUfbGi+/nx6YLx3Pf5fu76dD9fPzgRH7eLy44r1xl4b2sSS3edQasRPHdFFA9OjbDLmXQnRvTil6en8uWeFN7ZnMBVb+/k7kl9WTQr8qK3i71RASRFsXO1NZBMZonecLaItpRSfRlRui0pJTUqgKQo3YYQggEBHgwI8ODuSX0xmyUnc8rZnVTAnqRC1h7OYvm+NEaFevPUzEhmDO5ZQwa6sqoaI/d9foD04mq+XDiBIX28OrtLzVI7pO2va+P475ZE9p8pYnEbD2nTGUz8eDSb5ftSOZRWgrODhmtG9uHOiX0ZG+6j9uFuItDThXfmjeG26DD+suY4C5buZ+bgQGJSiwnwqYsAACAASURBVDGYzPz7lpHcOi7U7t/vyQN68fE90dz/RQx3f7qfrx6Y2Kwi4iazZFVMOv/ZeIqCihpuHhvKH2YPsssZEetyctDwwJQIbhwTwpu/WupirTmcybNXRHHHhPAuVWOtLakAkqLYuRrT2RmYK/RGAKS01ERycmjbf1TlOgOJeRVdfnyy0v3VHaapU0M2myUuq5QgL5cePfWsYj80GsHQYC+GBnvxwJQIaoxmvj+UwbtbE7n/ixhGhFgCSbOGqEBSZzKYzDy2PJajGSW8f+c4JtnZ0Bw3Jwdev3UUEyN68RfrkLa3541mSmTrhrQl5lWwYl8a38VmUFptICLAnb9cO5Sbx4Z0++yEnuzSgf6sXzSFj7Yn8+7WRAb39uSdeWPo38nT0LelKZEBfHjXWB5edpB7P9vPsvsn4tFErbPdSQW8/MMJTuaUM76fL0vvHc/IUJ8O7HH76+XhzKs3juCuSX15+YcTvLg2jq/2pvLitcO4LNK/s7vX5lQASVHsXG0GEkBljdF2u8ZkbvOZT1bsS+ONjac4+tercHWyv3RTpfuoWyherzKQmuWaxbsI9HRm/59nnbfs89/OMKi3F5MH2NfJn9JzODlouH18ODeNDeX7Q5m8tzWRB7+MYViwF0/NjOTKoUGdFkiqMZrZmZDPqdxyNEKgFQKNRqAVliEuQgi0mjqPa7CsV+cxy/36j/fxce3SJ55ms+T5b4+y7VQ+/7hxhK1Yuj26ZVwoo0ItQ9ruWbqfJy8fyNOzotBqmr9P6Y0mNsTlsnxvKvvOFOGoFcwe3oc7JoQzKcJPBTp7CGcHLU/NjGTB5H54uDhc1D5kL2YMDuK/88fy+IpY7vtsP18snICbU/2wQkpBJf/4OZ6NJ3IJ8XHlvTvGMmdE7259HAzp48WKByeyIS6Xf/wcz12f7mPWkCD+75oh9OvCn+UXSwWQFMXOGc11M5DOnkjrDaYmrwi0RF65HoNJUlJdg6uTKmqqdJ66db5UBtL5SqsNlFUbCLPeN1gDzXnl+vPWlVLy0g8nAEh57ZqO6qLSDEKIMOBLIAiQwBIp5TtCiJeAB4F866p/klL+bP2bPwL3AybgKSnlhg7veDty1Gq4LTqMm8aEsOZwFu9uSeDhZQcZ0seLp2cO5MqhvdF0wAmbySzZd6aQH45ksf54DiVVhnZ5nmtG9OGZKyK7ZHHWf/1yktWHrMM1JoZ3dndaLTLIk7VPXMqLa+NYvMUyS9vieWMuOONUamElK/an8W1MBoWVNYT5ufL87MHcGh2qMj57MHutddRcs4f35p15o3nq60M88EUMS+8dj4ujltJqA+9uSeDz3Sk4aTX8/qpB3H9Zf7usc9QSQghmD+/N9EEBLP3tDO9tSeSKt7az8NL+PDFjIJ4u9r9fqACSoti5mjoZSBW6sxlI7TETW2m1wfZbzYrT8VIKKtmVWMBdk/p2dlc6hNFkJrtU12AxVp3KQGrSzR/sJjGvghTr/eLKmkbXzW8gqKR0GUbgOSllrBDCEzgohPjVuuwtKeUbdVcWQgwF5gHDgGBgkxAiSkrZ7Q4SB62GW8aFcsPoYNYdyeLdLYk88lUsg3t78tTMSGYPa/tAkpSSoxmlrDuSxY9Hs8gt0+PmpOXKoUHMHR3CxAg/wBJcMktLho5JSttvk1liNnP2tvV33duW35Y2dicVsHTXGdYfz+aG0SE8PSuSvr06/yr24fQSluxI4udjOdw9qS9PzhjY2V1qM25ODrxx6ygm9vfjL2uPM2fxTt6+fcx5w1AMJjOb43NZvi+NnQkFaDWCWUMCuWNiX6YM9O+QIKaidLZrRwZjMJl5dtURHlp2kCuGBvHWr6cprqrhtnFhPHdVFIGe9l3nqKVcHLU8Nn0gt4wN5fUNp1iyM5nvYjP43ZWDuDU6zK4z01QASVHsXL0hbPoOCiC105XWjrQnqRDArobszP94L9mlOm4cE4J7G2eXdUWLNyeweEsiu56/nFDf+kGkehlIKoB0nsS8CgB0wgEXaaSo6mwAyWyWaDSC6hoTX+xJYXiwdyf1UrkQKWU2kG29XS6EiAdCmviTucBKKaUeOCOESAQmAHvavbOdxEGr4aaxocwdHcIPR7JYvCWBx5bHMijIkydnDmTO8D6tPplPzCtn7eEsfjiSRUphFU5aDdMHBXD96GBmDg5qtyHdkwf04t5L+vHRjmS+2J3C2iNZ3BYdyhMzIgnx6diLOGazZFN8Lh/vTOZASjGeLg48OWMgi2ZFdcshKbdGhzEqzIfHl8dy99J9PDkjkqdnRpJTpuOb/WmsPJBOXrmePt4uPDMritvHh9Hbu2eeKCs9241jQjEYJX/47ig7Tuczob8fL147lOEh6rsFQKCXC6/fOoq7J1vqI72w+hjL9qby4rVDmWhnNeNqdf8zEEXp5owNFNGG+ifYbaU2cFRSbf8BpNd+OUl1jZGNz0zr7K40W26ZDrAMQ+rfwgDSyZwyYlKKuWNCeKdfIc0v1/P48lhev3Vkg1fV96cUAXAyu7yBAFKdItoGMzmlOg6kFHHdqOCL7kdcVilFlTWtLpraFWU7e9BfV0JRxdkAUn6FniAvF97edJqPdiQzNvxsMUs1e2PXJYToB4wB9gGXAk8IIe4BYrBkKRVjCS7trfNnGTQdcOo2tBrBDWNCuG5UMD8ezeK/WxJ5YsUhIgMTeHJmJNeM6HNRV3wziqv44Ug2645kEZ9dhkbAJQP8eWz6QK4a3rtZMw+1hV4ezvxpzhAeuKw/721NZMX+NL47mMkdE8N5bPqACw6vaq3qGhPfxWbw6a4znCmoJMTHlb9cO5Tbx4e1+TD5ribKOqTtL2vibNOzpxdVIYHpUQH8Y2Jfpg8K6LYzLSlKc902Pgxfd0txeDWxQcNGhvrwv0cm88PRbF77OZ7bl+zlmhF9eOHqwQ1m2ndl3fuTX1F6AEOdGkj1MpAM7TuEzd7llurIK9dRqTfaTTaPRgjMUpJXpmtRYdWiyhpmv70TgOEh3owOswQOjCYzRrNs1vj0j7YnYTRLHr+89UMW1h3JYn9KEW/+epp35o05b3kva+2IU7nlzBoaVG9Z3awjncHEg1/GcCyzlEsH+uPnfnEz3FyzeBcA/7p5BKPCfBjc2z6moK5VYzTjqBUNfmHLdPIm19GDe5butz2WUVxNgIczaw9nARCbVmJbVq434tUNxud3N0IID+A7YJGUskwI8QHwCpa6SK8A/wEWXkR7DwEPAYSH23/tmrq0GsHc0SFcOzKYn49ls3hzAk99fYh3Np3mqZmRXDsyuNFAUkGFnp+PZbP2cBYHU4sBGBPuw0vXDWXOyD6dOhQj0MuFv80dzoNTI3h3SyLL9qay8kAaCyb34+FpAy76c+9C8sv1LNuTwrK9qRRXGRgV6s1/54/h6uG9e1TAxM3Jgf/cNoqJEX4s35vKtdMHMG98uN2d8ClKe7vinO9pyvmEEFw/KpgrhgTx0Y4kPtyexK/xuTw8NYJHpg2wm/MR++iloiiNMhgbnoWtoSFsRpPZNhsMwN7kQiL83Zt9BbOk2pLFYO9D2ExmSX6FHrOEE9lljO/n19ldwmgy84fvjvLAZREMDfZCSsnGE7lcPijQNpueRiPA2vemnCmo5I2Np3j9lpH1ZsVIzq+w3U4trLQFkF7+8QT7zxSx/ukpTV41yi/X88/1JwEuKoBkMJlx1Gowmsy2GYng7DCrtKKqBv+utrbRiayy85fV2b/1RrPttcVnl3HpwLO1Kgoq9Pxp9TH+OGfIBYNuz393DIANi6YyqPf5BWt3Jxbw07FsHDSCmUOCmBrVvhlLtSezQV4uzBwc2OBJ209Hs3l8RSyL54/h+gayr7KcPXml74x6xfaT8yvwcXMkx5rRVldemU4FkLoYIYQjluDRcinlagApZW6d5R8DP1rvZoKtdjpAqPWxeqSUS4AlANHR0fLc5d2BViO4blQw14zow/rjOSzenMDTKw/zzuYEnpwxkOtGBuOg1VCmM7DheA7rjmSxO6kQk1kyuLcnv79qENePCu5ygYJQXzdeu3kkj0wbwDubE1iyM5mv9qZy/2X9uX9KRKszoxLzyvlk5xlWH8rEYDIza0gQD06JYHw/3x6dVXBbdBi3RYddeEVFUZQLcHXSsmhWFLdFh/Ha+pP8d0siq2LSeX72YG4YHdLpIwQupOdcQlCUbsporlNEu+4sbOcMYTOazFz73108881h2/J5S/Zy0we7m/1c3SUDqbBSj8l6Qn00o7STe2ORmF/B6thMfjpmyQo5klHKw8sO8vOxbNs6tf9P8sqaDiC9uPY4Px3NZldCQb3HM4qrbbfTi6qQ0rIN9iUXcTKnnJjUYsp1Bg6lFTfY7nexGbbbT359iIzihgM/dcVllRL55/VsP53P0L9u4MEvD/LcqiOU6wzEWq/wH0kvoVxnILu0mmdXHbYNxawt7nw0s6Rem69vOMnWk3m2+zqDyZY9dW6w6bfEAjaeyGXOOzsxmyU1RjPbT+fbXnvdrD0AB43gmwPptvsb4nL4cHsSAPd+doDl+9L4Yk9qvYyec+kMJnYm5De6vDEb43L46Wg2UkpKqw3c+P5vvLg2joeXHeQva4/b1ivTGXh21WFSCip5YfVRAHbVeb66x/4fBlxNucPZWYC8XBzYnVTIMet+//DUCBy1giutVw6T8ysxm7tlPMEuCcsZ+6dAvJTyzTqP96mz2o1A7Q6yDpgnhHAWQvQHIoHGd9YeQKMRXDOyD+ufnsIHd47FSavhmW+OcMVbO3joyxii/76J3397lJTCSh6ZFsGGRVP5ZdFUHr98YJcLHtXVz9+dt24fzcZFU5k2KIDFWxKZ8q8tvLc18bzPtQuR0lKw+77P9jPrzR18fyiTW8eFsvnZaXx8TzQT+qsp6BVFUdpasI8ri+eP4btHJ1tLCyTUmxypq2q3DCQhxGzgHUALfCKlfK29nktRmhKXVUqor1uH1Sv4eEcy/fzdOyyV02BqeAhbjTVDo0xn4LGvYtmVaAkmnMwpZ92RLN6/cyxgCSocSCm6YBaOzmCyzXxVUl1DjdFMbFoxE+3wi2XdAMzRjJIm1uw4tdk4tb/js8tsv28YE4KU0lbvqqGp2Gt9vCOZndbA0enccq4c1tu2rDbg4+niwBsbT/NbYiGfLIgm0Zq9Y5mCWM+m+Dw+v2880wcFApCUX4GnswNH0s9uqx+OZDEoyIMnZkQCcDyzlB+OZvHC7MG2/WHFvjTe3ZIAwAJrwGVTvCVx4khGCYl5FUyO6MWe5EKOZZbyv5gMvj+UyerYTGYNCbIFkNKLqkktrKRvL3dKqmp4b2tSvddcWWOkTGcJap7Irh9ASsqvBKDaYCKlsJI1hzJZvCWRr+6fyGWR/iRblz88LYK7Jvbln+vj+f5QBlcMDWJEqDdLdiRzLLOUhZf2b/Y/9bd+tdQW+u7RyYzr2/RxVRvISsqv5KFlBwFY/dgl5JbqSC+q5oM7x7IjIZ//xWTw9MwogrycWbYnldWxmexKKKDcOvNiamEV3x7M4OUf4rhpbGijzzdjcCA7Tufj7eqIi6Nlet0/zhlCamElG0/k8tCyg/z6zFQig7relOE91KXA3cAxIcRh62N/AuYLIUZjGcKWAjwMIKWME0KsAk5gmcHt8e44A1tLaDSCq0f04aphvdl4Ipd3tyZwNKOUOyaEM3d0MKPDfOzufxlYpp5//85xHM8s5a1fT/P6hlMs3XWGR6cP4K5JfZscmmwwmfn5WDZLdiQTl1VGL3cnnpkVxV2Twm1DiBVFUZT2Na6vH2seu5TsMl2zykl0tnYJIAkhtMB7wBVYCjgeEEKsk1KeaI/n6ypMZsmZgkoGBnogpSQxrwJ/D2cMZnOHjZsvrTJQUl3TJaZ57QosV/F3c/PYUP550whMZsl/Np7iprEhDAxs+QnS0l1nGNzbk0sG1p/WtUJv5NWf4wE4+H+z2vQL2Kmccu7+dB+f3zeBocFna7QY6pzUVujOH8K2bE8quxILcHHU4OfmhJerIydzynl/W6Jt3Vs/3NPosJ1aZXWyjkqrjXy5J4W//xTPi9cOZeFl/Vv12kqrDZRWGQjv1fTV3hqjmcyS6hbV/6mrthh1by8XfjiSRR9vV353ZVSn1nWoG0AqqNDbAn5LfztDoJcLN48NsQ1Dyis/f+gRWIal1e5/APvOFPHDWzvwcnUgKb+Sosoa/D2c8XJxoFxnZE9yIc+tOoLJLAnwdOabmLOZN49+Fcsf5wxm3vhw5i/Zy+A+XqQWVhLu52YbcrY3uYgnZljWf+rrQyQXVNK/lzvXjOyDi6OWP31/rMnXOyzYizdvH8Xkf27hWEYpZwoqbcs3xeciBFw9vDfrj+ew43Q+d09251hm/Yyxvr3cWH88B2schpjUIk7nljMgwAOtRpCUd3bY3rHMUlth7jc2nuLPa47h42apG3LL2FDC/Nx4aOoAfj6Ww/yP93LVsCCOZZRSY52u+Vz/t+YYf71uGI7n7DeHrIG2TfF5eDg7UlChZ3JEr3opyati0skp1fHBtiS8XB14cEqEbdnBlGKKqmpw1ApmDAlkeIg3Kw+kc8Vb220BI7AEEkN8XJk8oBcb43J49acTlOmMfL47BYChfbzOC6jNGBLEmsNZfL47hXF9fW37fLifG2/eNoqCCr06cexCpJS7gIaiGj838TevAq+2W6fsnEYjmD28N7OH977wynZkeIg3n947nti0Yt7ceJq//xTPxzuTeWJGJLdHh9mGQoPlwtLK/Wl89lsK2aU6BgS489pNI7hhTIhdnLwoiqJ0NxqN6PDZNVuqvc6WJgCJUspkKWUNsBLL1LId6mBqMX/49ki7zEbVkH/9cpJZb25nb3IhX+5J5Yq3djDl31u54d3fqK65uD7klevIKK5CbzRxIquMzJJq20nvphO5fLknpd6yzJJq4rJKuXvpPq54cwfrjmQhpeTZVYd5fHksJrPk9Q0nmbdkz0X3pa1IKVm2N5WNcTn1HtcZTMRnl9muxDfkTEEl//7lJLFpxZjNkk93nWHbqbxG108vquL1DSf59mAGNUYzG+JyMJklv57I4f1tSby2/hRgydDYk1SI3mgio7iq0RPzuhLzynn5xxP8ec1xzGZJVp33Znfi2SFD09/Yxq8ncnljwyn2nym6YLuNKa6sIaWgkuX7Uskr17N8X2q95UaTpPaiad1Z2HYmFPDP9fF8sjOZKZH+nPjbbDY/N51fFk0l1NeV45n1TyzXH8+mKXVnXiupquHXE5YT6n/9cpL0oipOZJWRXVpNeiP1bMCyDxxJL+FgapFtCFml3sjtH+1h9js7OJ1bbn1NZj7YlsTDy2KY/vpWdidZtuufvj/GzP9ss2XnXEjd96auXGsG0qyhgZglfLg9iZ+P198v47PLuPS1LUx7fSspdQIbeWU6Mkuqaakao5kTWWXnDROqDSAl5VcS/fdN/HTU8n4YTJJXfjzB+jr9yyiuPu+4KdcZ+O8WS1BwQIA7AwM92JlQwKnccg6kFNsCgA4aQar1PQrxceUX6/H4+ysH2dr/5J5oRoR48+LaOG75cDd55Xp2nM4ntbCKOSPOjpyJSS2yvZbsUst2fmH1MR79KpZDdQozPzVjIB/fE81NYyyTQbk6avn3zSNZ9fBk+ni74uSg4Z/rT3I4vX42mJQQ3c+P/v7urNifTlxWab12wVKXovajY/6EMNKLqrnyrR38/tsjmM2WQP70QQG4OGr4+Vi2bcji4fQSUgurOJJeQoCnM/2sQcnRYT48Ya3vtCEu15Z19OjyWAD+ceMIfn+VZVt9tTeN+Uv2sjEuh89/O8OM/2zjj6uP2o73D7YlcdXbO7jzk308ufIQ8dllXPHmdt7bmsgfvj3Km7+eptpgIrdMz99/isfHzZFQX1di04o5llHKoN6eODtoCfNzY3w/P8p1RvzcnbisTuD6rkl9iQryoExnpLjKwIT+ZzOe/jZ3GE9lWIaoDgv24plZUcwZ3ts2c9IDdQK/QghuGhvKQ1PbvhivoigdZ2y4L189MJGvH5xEuJ8bf1lznMvf2MaqmHTSCqv4+48nuOSfW/jHzyfp18udpfdG8+sz05g3IVwFjxRFUZQLEk2dtLe4USFuAWZLKR+w3r8bmCilfKKh9aOjo2VMTEyb9+Oz387wtx9O4OnsgKND+2cWlFTVYJbg7KDBZJb1ipZ6ujicd5W6KaXVBkxmiaujlmprIVmNAB83J4oqa2z3GypVEeztQlapDm9XR1utGi8XB8qsV647anucy2SWtv7UPUGprjFRbTA1uY2Kq2qQ0nLy6+akpUxnRAjwdWv4RKdCb7QN4arl7eqIzmCyZeb4ujlSbC0GXbudtRpxwaFuOoOJKmsQztvVkTKdAYHlvamuMaERsOLBSTy87KCtSG1z2m1Muc5Qb5jauW2VVhtwddRSobdsE1dHra1/tX544jJGhHrb7j+36gjfxWZw2UB/3rxtFI+viOVwegmeTRTPNZjMlOuMOGk1mKVl/75xTAg/Hcs+b1v7ujk2OBTAaDLb9kMPZwecHDRU1RjRG814ODtQXWPCy9XR9lwAbk6W13Pu++XqdOEvusVVNbb3pq7qGhM6o4kP7xrHw9ZhQ04OmnpTElfqjUgsQS+tRtiKUZdWGzBL2ei+dyG1+8+5x2FZtQEJtsBaY0aH+XA4vQStRmAyS9txU6m3bMf5E8L4500jOZ5ZynXv7iK6ry/v3TEWvdHMlH9vxd/Dmb9dP4y1hzP58zVDePLrQ1w1rDePTR/A8n1pDO7tSXQ/P6SUvLg2jmV76wcsP10QzZrDWQR6OvP1/jSqakz4uDlSUmVgYKCHLRDm5qRFbzSz6dlphPm64qDVEJtWzE3v7+bKoUEsuSfa1uazqw6zOjaThZf2J9zPlXVHsmwzg/13/hhqjGae+9+R87bF3ZP68uTMgUx4dTOXDwrg9VtHEf33TbblntZMq4enRhCTWszB1GLcnbS8csNwynVGRof58OrP8fxpzhBbQfFaWSXVTH9jG0aTGX8PZ/LK9cyfEM4/bxqB2SxZeSC9yQyruyaF89XeNAAWXtqfpb+daXC9yEAPTGZJckEllw8KwNvVkR+sdZBuH295PoBvD2bwu/8d4YuFE5gWFUBMShH//uUUHy+I5kRWGfM/3ktkoAfvzBvDnMWWmfa2PDeN4NvmsjJwJHeu+I/t8zUxr4KTOWVcO/L8otvtSQhxUEoZfeE1lY7UXt/BlM4npWRHQgH/2XjKFjzXagTXjuzDg1MiGB7ifYEW7Nj06Zbf27Z1Zi8URVG6hLb8DtZpAaRzppAdl5qa2mBbrbUxLsdWD6S9ebg4cOkAfzaeyMFRq2HmkEBSC6vQaoStYGlz+bg54uKoJb9cT0SAO1U1JnQGE4UVNQR6OuPj7kRSXgURAe62rBMPZwcq9SYWXNKXT3eeIc/6t45aDadyygnycibU1802NW1niAryoLTaYMsAAcuXmf7+7rYTz4YEeTlzxdDefH8ok0q9kaHBXuSU6mzBtHM5aAVjw32JSSliUkQvjmWW2gISl0X6c+BMEXqjmf7+7oT6urI7qZAAT2f0BpMtSNGUsX19SCmooqjS8n6YpKSwwtKX6H6+zB0dQlxWKVtP5nHlsN6sOZRZb+jJxXB3dsDP3ZGsEh1To/zZcbrgvCDDjMGB7E8pokJnZGKEH2fyK9EZTUT4e+Dj5sjMIfXrMSXlV7AhLodbx4UR4OlMbFox38eeN1HPedyctUyK6MWW+DwctRoemRZBXFYZW0/lMTDQg9IqA1qtILuk8UyuESHeODtqOJhabAkKagXXjgwmyMuZlfvTbUHG6H6+DAv2IsDThf/FpJNaWIWvmyNj+vqyJb7x7LO6zn1v6ooK8mDehHCW7EhmcG9Ptp2qX/RYI+D28eHUmMysjs2wZbn4ujvhpBX19uGLodUIIgIs+/u5H79XDgviUFoJVw4LIja1hHA/N+Kzy5g9vDerYtIxmCRPz4xk5YE0Ugur6h03zg4arhsVzKg6gZDSagMagS0wuPZwJhH+HvWCiU0xmSVrDmXioBVkFFdTrjOyaFak7Sp1abXB9t64OWl5elYkDhoNH+9MJqdUx9BgL+ZPODtFuNksWfrbGW4cE1JvmFRVjRGDUeLtdjaA+cXuFDKKq3hiRiSezg58vDMZVyctiXkVTI0MIDLIg3A/N4QQpBdV0cfbBQethlUx6Qzu7UlyfiUHU4vRagT3XtKP/Ao9cZml3Dg2tNnBXL3RRH65HkethuxSHSNDvOsNQzuSXkJ8dhkFFXp0BjO3jw+zBkVN9Ovlxoa4HHzdnJgY0YvN8blsP53P1MgAjmaWMnd0MDtP5zM1KoCcMh2/HM/hRuvwka/3pyGAuyf3tQ21lVKSVlTV6PDklALL8EKNRrA3uZDjmaXcf1l/xOWXW1boAidRKoDUNakAUvcnpeTXE7kk5FVww5gQuxkm0SoqgKQoimJjDwGkycBLUsqrrPf/CCCl/GdD66svL4qiKIrSDrrQSZQKIHVN6juY0i11oc8+RVGUztaW38Haaxa2A0CkdQrZTGAecEc7PZeiKIqiKA1RJ0+KovRE6rNPURSlXbRLAElKaRRCPAFsALTAUillXHs8l6IoiqIoiqIoiqIoitK+2mUI20V3Qohy4NRF/Ik3cHFFhTqnzXOFA2nt1HZ797+922/PbQP2vX3ae9tA+/Zf7Tsd224te90uHdG+vR9T7d1+e22fQVJKz3ZoV2kFIUQ+UFuIsq33K9Weak+113HttUebqj3Vnmqv49pr6+9fddvrK6UMaJNWpZSd/gPEXOT6S9qhD23eZgPPkd+Obbdr/zug/XbbNva+fdp723RA/9W+o7ZLl2rf3o8pe90+F/u/Xv10/E9b71eqPdWeaq/j2rOHPqr2VHuqvSbba9PvX+31fa7j53JvGz/YSZvnKmnHttu7/+3dzpPB8QAAIABJREFUfntuG7Dv7dPe2wbat/9q3+nYdmvZ63bpiPbt/Zhq7/Y7YvsoXVNb71eqPdWeaq8Z7QkhfIQQj7Vlm3UJIRYJIdya24gQ4l4hxLuNtWddZ7oQ4pK26F8rqPZUe92pvbb+/tUu3+e6yhC2GNkDZmbpKa+zJdS2aZzaNk1T26dhars0Tm2bprXX9lHbXVEUpWFCiH7Aj1LK4e3UfgoQLaUsaOb691rXf6KJdV4CKqSUb7RFHxWlp2vr70nt9b2rq2QgLensDnSQnvI6W0Jtm8apbdM0tX0aprZL49S2aVp7bR+13RVFURr2GjBACHFYCPGZEOJ6ACHE90KIpdbbC4UQr1pv3yWE2G9d/yMhhNb6+JVCiD1CiFghxP+EEB5CiKeAYGCrEGJrYx0QQtwnhDgthNgPXFrn8euEEPuEEIeEEJuEEEHWgNcjwDPWPkwRQgQIIb4TQhyw/lzayFMpitKwtv6e1C7fuy6YgWT90LoWyKuNigsh/IBvgH5ACnCblLJYCCGAd4A5QBVwr5Qytj06riiKoiiKoiiKYu/qZiAJIeYB46SUv7cGc8xSyklCiM+AlViK4v4buElKaRBCvA/sBX4GVgNXSykrhRDPA85SypcvlIEkhOgD7APGYSkKvBU4JKV8QgjhC5RIKaUQ4gFgiJTyuXMzkIQQK4D3pZS7hBDhwAYp5ZB22FyKonSi5mQgfQ7MPuexF4DNUspIYLP1PsDVQKT15yHgg7bppqIoiqIoitJWhBCzhRCnhBCJQogXrI/ttGYTHBZCZAkh1rSyvZnWTIjDQohdQoiBrWxvhrW940KIL4QQDhfR3lIhRJ4Q4nidx/yEEL8KIRKsv31b2d6tQog4IYRZCHFRwwYaae91IcRJIcRRayaKTyvbe8Xa1mEhxEYhRHBr2quz7DkhhBRC+Leyfy8JITLr7INzWts/IcST1m0YJ4T4dyv7902dvqUIIQ63sr3RQoi91nbWAa7WRTuBKUKIocAJINca4JkM7AZmWn+qhBDV1tsRwHzrOgVCiFLgPqBvM7s4B3ACtgOHgBxrH/2wBKYqhGXW7OeBYY20MQt41/p61gMRQoh467Z/2tpei44RIUSYEGKrEOLEOe216Bhpor0WHSONtVdn+UUdI030r0XHSFP9a8kx0kT/WnSMNNGe7RgRQsQIISa0sr1RwpKhd0wI8YMQwqs57Vn/1kVYsv6OWNv8m/Xx/sKSoZdoff1OzW3TbjWzgnc/4Hid+6eAPtbbfYBT1tsfAfMbWq+n/AA3ABIY3Nl96ao/WK5WNLV8G5arJJ3e1w7cJqHAWiABSMKSyefUxPqLALfO7ncHb6Mm95ue+qM+c5q1jdRnzvmvWX3m9OAfQGt93yOwnDQeAYaes853wD2taQ84jSVbAeAx4PNWtpcORFnXeRm4/yJe81Rg7DnfZ/8NvGC9/QLwr1a2NwQY1JLPlEbauxJwsN7+Vxv0z6vO7aeAD1vTnvXxMGADkAr4t7J/LwG/a+E+3VB7lwObsGThAAS29vXWWf4f4MVW9m8jlmwhgHuByjrLTgLPAguB3wFPY53JEngS+KqB9k4Dm6y3FwKv1FmW0tT7gyXY9KP1tieQByy3HiPJwPXWY2QFsK2h9wsoAFyst/sAY+u0dxrLMdyiY6SJ9lp0jDTRXouOkcbaa+kx0kT/WnSMNNFei46Rpl5vS46RJvpX9xiZU7vvtaK9A8C0ho6RZrQpAA/rbUcsGXuTgFXAPOvjHwKPNrO92VhiJYmc/T/0hPW+bO6+0ow2l1sfOw4sBRwvtt1zf1paAylISpltvZ0DBFlvh2D5514rw/pYTzIf2GX93WzCOnZZ6XmEEAJLyvEaacnqiwI8gFeb+LNFQLNn01C6NfWZo1wU9ZljP5q4itpg5oywWGy9EnpUCDG2kaYnAIlSymQpZQ2WYTFz6zyvFzADaG4GUmPtSaD2Cq83kNWK9m4GaqSUp63r/Gp9rFmklDuAonMengt8Yb39BZaAfIvbk1LGSylPNbeNZrS3UUpptN7diyXw25r2yurcdcfy/rS4Pau3gD9cTFsXaK9FGmnvUeA1KaXeuk5eW/TP+hl6G/B1K9ure3w4nrNsL5bP3R1YMpJ+Z/0NltEfE7Gc0NZ+HvQFegNRwpLp9ytwixAiyvo35VhOpBvzCzBCCNEL0GEJ4npgOUYqgUwsx8g1df7m3DY3YgluYT1PNFtvlwPxQEhLjxEpZba0lkU5p70WHSNNtNeiY6Sx9qyLL/oYuUB7F62J9lp0jFyofxd7jDTRXov+hzTRXhSWYwou/n+IlFJWWO86Wn8klv+V31ofb9b/Eet38PewjN4aCswXlozD37Bk8qU2t1/NaHM5MBgYgSXL8YGLbfu857JGpi7UoX7UmRlACFEipfSps7xYSukrhPgRy064y/r4ZuB5KWVMA20+hGWYG+7u7uMGDx7c2teiKIqiKEoXdfDgwQIpZUBn98OeCMuwlT5SylghhCdwEMuX03uBIinla8IyvMtXSvm8dTjDk1iu1E4E3pFSTmyg3VuA2VLKB/z9/WW/fv066BUpiqIoitLRDh48WAD8A0tm059b01azx46fI1cI0UdKmW39clMbrczEkqZXK9T62HmklEuwVgaPjo6WMTHnxZgURVEURekmhBAXfUWtp7Nexc+23i4XQtReRZ0LTLeu9gWW4SDPWx//UlquDu4VQvjUfl9r7Dn69euH+g6mKIqiKN2XECINuBvLcNhWaekQtnXAAuvtBVjqKNQ+fo81hXoSUNrUlxZF6Sg5pTryynSd3Q1FUZT2N3265UfpVqzZ4GOw1F1obSmBcy/4KYqiKIrS1prxnUxKidl8UaOAWyIc2CGl3HnBNS/gggEkIcTXwB5gkBAiQwhxP/AacIUQIgHLOL3XrKv/jKXQWiLwMZaCiYrS6Z76+hB/+O5oZ3dDURRFUS6aEMIDS1HrRefU6MCabXSx3zxHAdOFEEfz8/PbqJeKoiiKolysj3YkM2dxq+M6F+KApTB/mzTUJCllY4VZZzawrgQeb22nFKWtJeVX4OasagYr3Ud6URVXvb2D/z0ymWHB3p3dHUVR2okQwhFL8Gi5lHK19eFWlRKQUn5oTWd/OyBAlaVSFEVRlM5yOreclMLK9n6aZCmluS0aaukQNkWxG9U1Jgora8gq0WE0tclxoyid7lROOVU1Jg6mFnd2VxRFaSfWmWw+BeKllG/WWdTqUgJSyp+llFENLVMURVEUpWOUVRvQGcztPYxtiBDisBDixdY21NIi2opiNzJLqgAwmSU5ZTpCfdVM1Ir9yy231PRKzm/3KxaKonSeS7EUvTwmhDhsfexPWEoHrLKWFUjFMl0yWEoJzMFSSqAKuK9ju6soiqIoysUorTYAoDeacXVqtxEzJ6SU0W3RkAogKd1eenG17XZGcbUKICndQm6pJYB0pkAFkBSlu5JS7gJEI4tVKQFFURRFsXMlVZYAUrXB1J4BpDajhrAp3V5GnQBSelFVJ/ZEUdpObpkegOSCik7uiaIoiqIoiqIoLVGbgaQzmDq5J82jAkhKt5dRXIWjViBE/WCSotiz2iFsGcXV6I328Q9HURRFURRFUZSzagNI1SqApChdQ0ZxNSE+rvT2clEBJKXbyC3ToxEgJaQWqsw6RVEURVEURbEnOoMJvdEyyVN1jQogKW1IZzBRqTd2djfsUqa17lGoryvpxepEW+kecst0DA/xBlQhbUVRFEVRFEWxN2XW7CNQQ9i6pLTCKoorazq7GxelqLKGtzed5pLXtjDrze1kl6oMmotlKZztSpivG5kqA0npBvRGE0WVNUyK6AWoOkiKoiiKoiiKYm9K6wSQ1BC2LujupftY9M3hC6/YBVTVGPnr2uNc8tpm3t6UwKhQb8p1Ru777ADlOsOFG1AASyS3oEJPqK8rob6uZJdWYzCZO7tbitIq+eWWAtoDAtwJ9HTmjMpAUhRFURRFURS7UlovA8k+zlF7TACpTGcgtbCKHQn5djET1ys/xvPl3lSuGxnMr89M5bP7JvDBXWNJzKvgseWxKgjSTLU1jyxD2NwwS8gu0XVyrxSldWpnYAv0cqG/vzvJBV0/gLQ7qYBVB9I7uxuKoiiKoiiK0iWoDKQuLCHXMsRDSlgV07VPYnaczufr/Wk8NCWC128dRWSQJwBTIgP4x00j2JlQwJ+/P4aUspN72vVlWGsehfq6EurnWu8xRbFXuWWWIGiQpwsRAR6csYMA0vtbk3hx3XE1Y5yiKIqiKIqicE4Gkiqi3bUk5JYDEBXkwaqYdIxtlMFToTcy683tbD2Z1ybtlekMvPDdUQYEuPPMFVHnLb8tOoynZgxkVUwGn+9OaZPn7M5qM5BCrDWQ6j6mKPbKFkDycibC352iyhpKqrpufTcpJcezStEZzBxOK+ns7iiKoiiKoihKp1MZSF1YQl4FLo4anr0iitwyPVtP5bdJu7sSCkjMq2D98ew2ae/VH+PJKdPxxq2jcHHUNrjOM1dEMX1QAK9vOEVWiQqGNCWzpBpHrSDQ04Xe3i5oBGomNsXu5ZbpcdQK/NydiAhwB+jSw9gyS6opqbL8g9yTXNjJvVEURVEURVGUzleqZmHruk7nljMw0IOZQ4II9HRm5f60Nmm3NvPoYGrxBdc1myVrD2dSUKFvcPm2U3l8E5POw9MGMCbct9F2hBC8Mnc4Zil5aV1cyzreQ2QUVxPs44pWI3DUaujj7aoykBS7l1emI9DTBSEE/f0tAaSuXEg7LqsMAHcnLbuTVABJURRFURRFUUqqDLg7WZJGVAZSF5OQW0FUoCeOWg23Roey9VQe2aWNBxLyynVUX2AcopSSrafy0GoESfmVFFc2PYRkV2IBT688zFVv7WBDXI7tcaPJzJd7Unjq60NEBnqwaFbkBV9PmJ8bT8+MYuOJXDbWaUupL6O4ilBfV9v9UF9XVQNJsXs5ZTqCvJwBy2eBg0aQXFDRyb1qXFxmKRoBN48L5XBayQU/WxVFURRFURSluyuuqqGXhzNODhoVQOpKSqsN5JTpbMWob48Oxyxh1YGMBtc3mMxc+dYOLn9jG98fysBsbrhY9YnsMvLK9dw8NgSA2LSms5C2n87HyUFDb28XHl52kOdWHeHXE7nMWbyTF9fGMTTYiyX3ROPs0PDQtXM9MKU/g4I8eWldHJV6Y7P+pqfJKK4m1MfNdj/U1430IpWBpNi33DIdQV4uADhqNYT7uXVKIe0tJ3P53f+OXLCgf1xWGQMCPJgxOJAak7lZGZuKoiiKoiiK0p0VVxnwdXfC1VGrimh3JYl5lgLakYEeAIT3cmNKpD+rYtIxNRAcOpldTkmVAZOUPPPNEW76YDeHGggO1Q5fe3JGJA4aQcwFToq2n85nYn8/vn/sUp64fCDfH8rgwS9j0BnMfHjXOL5+cJJtOEpzOGo1/OOm4WSV6vjXLydJKai0/RjaqEi4PdMZTOSX68/LQMot16mZoBS7llemtwWQAPr7u5PcBkPYpJS8uyWBWW9uJ89aqLspS3el8O3BDPadKWpyveNZpQwP8WZ8Pz8cNILdSQWt7quiKIqiKIqi2LPiyhp83RxxddSqDKSu5HSuZWhHlDUDCWDe+HAyS6rZ10BB10PplkDQ6kcv4fVbRpJZUs3NH+zmcHr92YO2nspnZKg3YX5uDAvx5mBK4wGkjOIqEvMqmBYVgJODht9dNYjVj13K328YzsZnpjJ7eG+EEBf92sb19WP+hHC+3JPK9De22X7u/Hhfo5lTPUVmydkZ2GqF+bkhJWSXXPjkWFG6okq9kXK9sV4AKSLAnTMFla065s1myd9+OMEbG0+TmFfByz+euGA/9p2xfH42VVMuv1xPbpmeYcFeuDs7MCrMRxXSVhRFURRFUXq84qoa/NyccHHUoDPYRwJIDwkglePqqK2XiTJtUABajWjwROZQWgmBns6E+rpya3QYm56dhp+7E//4Od42VKO4soZDacVcPigQgOi+vhzJKKHG2PAbv+O05Yr79EEBtsdGh/lw16S+jc621lx/u34YH9w5lrduH8Vbt4/i0ekD2J9SxOpDma1q195lWotlh/rWHcJm2QdUIW3FXuVaM4NqayAB9Pf3QG80k1WnrtuWk7m2IOqF1BjNPLPqMJ/vTuHBKf1ZNCuSH49ms+1UXqN/81tiAQaTZEgfL34+nkNJVcM14OKySgEYFuwNwOSIXhzNKKVcZ2hwfUVRFEVRFEXpCYora/B1d8JFZSB1LQm5FQwM9ECjOZvh4+HswPAQb/Y2EEA6nF7C6DAfW0aQt6sjT8+MZP+ZIrZYh63tSMjHLOHywWcDSHqj2XaydK7tp/MI8XFlQIBHW788nBw0XD2iDzeOCeXGMaH8/spBjA7z4V+/nKSiB9dGyrAFkOoPYQNIV4W0FTuVW2aZxfHcDCTAVgdp3ZEsFn4ew32f7b/gcE2TWfLIVwdZeziL52cP5k9zhvDo9AFEBLjzl7XHGy14vfVUHh7ODvzr5hHUGM2sjm04YF07A9vQYC8ALhnQC5NZciCl6WFviqIoiqIoitKWdAYTt3ywu8FRSB1NbzRRWWOyDGFz0qJTAaSuIyGvnMig8wM3kyL8OJxef0ag4soazhRUMibct9668yaE09/fndfWn8RoMrP1ZB693J0YGWK5qj6ur2X9horDGkxmfkssZGpUQIuGqV0sjUbw1+uGkl+u579bEtr9+bqqjOIqHDSi3ol2by8XHDRCzcR2AcWVNcSoE/wuKa+8NgOpTgDJ/2wA6WROGc9/e5R+vdw4nVvB4s1Nfwb8eDSLLSfz+Ot1Q3l0+gCEEDg7aHn1hhGkF1U3+BkipWTryXwuG+jPyFAfRoX5sPJAWoPFtOOySgn3c8Pb1RGAsX19cdJq2JPU+f+4FUVRFEVRlJ4jo7iKmNTiDrmQeTKnjKcGXkOuY8M1jkuqLNn4tUW07WWW4m4fQCqtNpBbpq9X/6jWpIheGEyyXoHs2jpHY8J96q3rqNXwh6sGkZBXwaqYDLafzmdaVIAtqynQy4UwP9cGA0ixqcVU6I1Miwo4b1l7GRPuy81jQ1m660ynzM7UFWQUVxPs44q2TuaZg1ZDHx+XDhnCFpNSxK6E9i0WXFJVw9ubTvPj0SxyStuurtOf1xzj9iV7KapseFiS0nkaGsIW4OmMu5OWw2klPLzsIJ4uDqx6eDK3RYfywbYkjpxTv62W0WTm7U0JDO7tyYLJ/eotmzygF7eMC2XJjmRO5ZTXW3Yyp5ycMh0zrBmY88eHcTq3gti085/neGYZw0O8bPddHLWM7evD7i4WQDqcXtLkkD1FURRFURTFvmVbz5cK2/kcp7TKwOy3d7LOfyg7vfvVW2YyS7JLq23nWX5u1lnY7GSSp24fQErItZz4RDWQgRTd1xeNoN4wtkNpxWgEjAz1Pm/92cN7Mybch5d/jKP4/9k77zCpqvOPf+5s7xWW3jvSiwp2BeyJsRujWGKMxpgYjT8TNdUSu2IDFURRLChFEQSl12UX2GUXtvc226f3ub8/puzM7mxlZwucz/PwADN37jm3n/s93/d99RZ3+JqLOSPiSCluaDELvzunhkCFxIJxCd2xSR3mySsnEhyg4LnNbSfDPVMpa9B7ha+5GBYbTmm9fx1IerOVBz5N5b7VRyiu85+A9/f1GbzxUy5/+PwY573wMwtf3MG7u/JOa525Sg1bMqqw2WV3yGZHkWWZ/35/st+4l/bk1PD39Sf6jeIPUKUyER4cQGRIoPszSZIYMyCSb4+VU9Fo4L07ZzMwOpSnr51CUnQoj3+d5tMWu/5YOYW1Ov68aIJXiK+Lv109majQQP6+/oRXgu6dTqHlYmdOt+tmDCEiOIC1zZJpqwwWSur17vxHLhaMTeRkpbrVvEk9jSzL/OWr49z78RG/i769jd5sZePxct7dlcczGzL43acp7M87s7dZIBAIBAKBAJoKKTX4WUAqrm96/6sPCvf6blNaORe/vIv8Gkehr9hwZw6kfvI+csYLSK4KbOMHtnQgRYUGMW1oDIcKml52j5U2MnFQNOHBgS2WlySJp66ajNFiRyHBReO9HUVzRsVTozFRWu/tbtmdU8PskXFEhwZ1xyZ1mIHRofzhsvH8dKqaP31xjJ3Z1VhsXcvubjDbuGdVcosXxJ5GbbRwskLNz6eUfHqomLXJJWRXaXxWnyprMDA0tqWANDw+zO8OpLXJpW5V+ekNGT5DezrKqv2F3L0yucXL9vfpFWw+Ucljiyaw8eGFPHPtFIbHh/HS1myfTriO8u6ufEIDAxgQFcK2zKpO/fZQQT0f7ivkzXbCpnobWZZ5b1c+S1cl89nhEl7dlt1iGavNzrdHy/z+gOksSo2RpOjQFuGwo51hbM9eO4U5I+MBiA4N4sUbp5NbreWNn7yPidlq560duUwbGsPiKUk+24qPCOapqyeTUtzAVyml7s93ZlUzdUi0O4wuIiSQ62cO5fv0CtQeybFPOvMfTR0S7bXe88cmIMv4zEEHjuPT1jXT3RUms5Ua8mt0BAUoeGTtUb8LzL3JX75K49EvjvPS1mw2pVWwP6+Of2zKPOurdgoEAoFAIDizMXsUnPG3A8lz/XVB3u+jedVazFa7exwc70yi3V+qsLVUSc4wXBXYfAkJ4AhjW7W/CKPFRnCAguOljVw3Y0ir65s/Op5fzByCwWwjJtxbEJrryoNUUs+IBIfSWK0xklmh5oklE7tpizrHvReMoqLRwIbj5Ww4XkFceBDXzxjCw5eNY2BUaPsrcPLyj9nszK5hT24tIxPCWTA20Y+99s22zCoe/vwoFlvLF53o0EDmjIzj/gvHsHBcIiarjWqNyasCm4thceFUa0wYLbbTqoBXozGxan8hi6YkeeXMMlpsrNiTz/ljElgyNYl/fneS79Irub6N86o1dmZV8+/vTyLLcPfKZD69/1yiQ4Oo1Zp4dmMmM4bF8NAlYwkMUDBjeCy3zRvOZa/u4l/fZbLhoYU+XSVtUVynY+Pxcu67YDQmq52vUkoxmG2EBXdsP605VAw4KnQp1UavPD19Bb3ZyhPr0tmcXsm10wcTHhzAR/sLWXLOIOaNcggvsizzzMZM1iaXMG5gJJ/cO58hrdxDeppqtdErfM3FfReMZvYIR2VHTy6eMIDb5g1nxZ58IkMCePBix/nydWoppfUG/r30nDZzs908ZxjrUst4YUsWV0xJIkihILW4gYcuGee13O3zh7M2uYSvjpRy/4VjgJYV2FzMGBZLXHgQH+0rZPGUQV7nqd0uc8/HR5AkWHn3vBbn8Io9+Xy8v4hvH1rIoJjuOb82p1eikOCz+8/lno+P8OCaVL75/YLTrpDZ16hoNPBjZhX3LBzF44snEhESyHdpFTyy9hg/ZlZx1bTBvd1FgUAgEAgEgtOmuE5HSGCAe6xos8tMeHqL+/sGP7vg67VN668P9H4frVI5CuIkFzpMLHERQZw3Jp648J41m3SVM96B5Eqg3dqL9Llj4jHb7BwtaaCgVovGaGXW8Fify7p487ZZrLhrbovPJyRFERUSSEpRk/tjb44jNKAn8x95EhIYwH9+eQ4pT1/BB3fN5YLxA/jscAmXvbKb93blt1uhCRwn96oDhdw8ZxijEsJ55PNjVHSwPHh3Uac18dS3Jxg3MIp37pjN+ocWcPhvl7Pz8Ut4+abpXDN9MDlKLb/+8DD/3JRJfrXDNugzhM35WUdLnDfHZLWxfHc+l76yi3d35XPf6hSv/bEutQyl2sQfLhvHb84fxfRhMfz7u5OoDJ0rW15Uq+PRL44xeVA0b98xi8wKNfesOoLOZOWZDRlojVZeuXkGgQFNl3FESCBPXTWZ9DIV646WdXrb3tuVT2CAgt9eOIbFUwZhtNjZ18HwFqXayI+ZVSyakoRdho3HfVfl6k3URgs3vXeQH05U8n9XTWLZ7bP4x3VTGRobxhNfp7mto+/vLmBtcgnXzxiCUmXkpvcOkFet7bZ+GMw2DubX8faOXO79+Aivbc/psEtNqTb5FOZmDI9l6cLRPsWgZ66dwtXTBvPKthxuXn6QrCo1b+/IY/aIWC6Z2Pa9SZIknr/hHPRmK89tPtWiAqWLaUNjWDA2gf9tzWJHlhJwVGBLig5hQJS34BUcqOCpqyZzpKiBr1NLvb5bdaCI3Tk17MquafFdfo2WV37MoUJl5Klv00/L2edClmU2n6jk/LEJzB0Vzxu3ziSzQs3f1p/o0PrrdWa2ZlR16F5qtNjYmV2NrZfcPmuTS5BxiI0RzhDIq6cNZkxiBMt25HXL/hQIBAKBQCDobe5fncKfvzzu/n+V2jtXrKfA4w9ckSgjjQ3UN3MguQri5Ci1SBLEhgVz89zhPH3tFL/2qbs44wWkHKXWZ/iai7mj4p15kOrdCWCbV2DrKAEKiZkjYjlUUMeu7GrWJpew5nAxiZEhTBkc3f4K/EhIYACLpiSx7PZZbPvzRZw3Jp7/bc1i0Wt7ePOnXL5OKeVAXm2L0A2HWyON4XHh/PP6qay4ay4mq53fr0k97VKDsizz+eESZv9nOxOe3uL+c+Ubeyip8+7Hs5syURstvH7rDK6ZPphZI+JIig5ldGIEN88dzgu/ms7Pf7mYpQtG8fGBIm5bcRDwLSANj3eowKcq1Z3u85Gieha/vocXtmQxf3Q8K5fOxWy186Bzf1hsdt7blc+sEbEsGJtAgELi+RumUa8z8dLWrA63ozdbeXBNKgqFxPLfzOHa6UNYdvssjpc2cu2yfWzJqOKxxRMY7yM5/C9mDmH2iFhe2pqNxthx0aq80cA3R8u4bd5wBkaHcu6YeKJCAzscxrY2uQSrXebpayYzY3hsq2Xdewu7XeaxL9PIUWr46O65PHixo+JYREggL900naI6PS/9mMWmtAr+tzWL62YM4Y1bZ7L2gfMw2+zcsvwg6WW+k1GrjRY+OVilCWGlAAAgAElEQVTUoWtid04NM/69jds/OMQr23LIrtLw1s+5LNvRfu4qWZap6oKzKyIkkLfvmM1bt88iv1rLVW/upVJl5C+LJ3aoMuS4gVE8ePFY1h8rZ9mOXGLDg5jZTGiXJIn37pzDpEHRPLjmKPtya8koV3HOkJb55ABunjuM+aPieWFLFnVax0xMQY2Wl7ZmcfmkgcwfFc/zP2RR6/xOlmWe2ZBBSJCChy8dy87sGr5O9RZJt2VWccH/drA1o7LD+yarSkNBjY5rpjkcgpdPTuJPV4zn26PlfNPKOaw1WVmXWsbdK5OZ99xPPLgmlVe35bTZTqXKwK3LD3LPqiO89GPH7wXdhdlqZ21yKZdPGujlzAxQSDx06ThOVqrdua0EAoFAIBAI+iv1OjO51VqOFNW734Wav+PW6czdNnH2wpZTbM2owm6XeXdXHnnVWup0ZoICJEYYG6kNau5AahKz5o+KJziwf0ky/au3naRRb6ZGY/KZQNtFdGgQ5wyN4VBBHcdKGokKDXSXxO4K546OJ79Gx9JVR3jq2xOklTZy89xhnQ4l8idjBkTy4d3z+OTe+USGBPL6Tzk8sS6dOz48zIUv7eSW9w/y8ykldrvMS1uzKa7T89JN04kICWTsgEhevWUGaWUq/rExs8sXXrXayD0fH+Fv608wISmSexeO5t6Fo7lnwSiq1EZufP+AW+DZnF7J5vRKHr18PJMGtS7EhQYF8M/rp/LZ/ecSERKIJMHIhJbHcuKgKAZEhfDHtcd4esMJr0pjRouNYyUNqPQthZfiOh33fXwEgNX3zmfl0nlcNimJ126ZQXqZimc3ZrD+WDnljQYeuWyc+8X8nKExLF0wms+TS/j3dyfZmlFJjcbU6nbY7TJPfnOCHKWGt26b5Ra8rpo2mNdumUFRnY6Zw2P5rTNMqDmSJPHP66dSpzPxdgdECRcrducjy/C7i8cCjsqDl00ayM9Z7TsmLDY7a5NLuHjCAEYmRPCrWUPJqtJ0SaTzF2/vzOOnU0r+fs1kLpvknfNnwdhE7jp/JB8fKOLxr9KYPyqeV26ejkIhcc7QGL5+cAHhwQHc8cHhFttkt8s8uvYYz27MZNX+ojb7YLfLPL/5FENiQlm5dC7Hn13Evicv5Vezh/La9hy+bcc1pjJYMFvtDIxqGcLWEa6fMYRtf76YKyYncd2MISwY2/HE/g9fOo6RCeHkKLVcPGGAV3VDFzFhQXxy73zGJEZw/ydHyK/RMnWobwFJkiSeu+EcdCYrz/1wCptd5ol16YQGBfDCr6bxnNP19PzmU4Aj4feB/DqevHISf1k0kfmj4/nPdyepdMayf5VSyoNrUqlWm3hk7TG3C8qTkxVqtCar12eb0ysJUEgsmdp0TvzxsvHMGhHLyz9mtUhoaLLauPHdAzz+dRr5NVoeuGgM10wfzEf7Ct05n5pzpKie65btI79Gx8UTBrB8dwGb0zsucnUGWZZZNvQ8NiZM9vp8a2YVtVpTixBHcIjOw+LCeOtn4UISCAQCgUDQP/l4fyH/+f6ku8K61S67cx03F5BMVjsG58RvUa2OOz44RGm9ns3plZ0aC9nsMiv3FfLN0TI+2lfIS1uzeWlrFvU6E/ERwSRa9C1C2JQebqhrpve/9AFndA6kXGfIyQQfLg1Pzh0dz+oDxdRqTcwcHntaYs/ShaMZNzCSxMgQBseGkRQV4hVi1Je4aMIALpowAJPVRpXKSHmjgYxyFasPFHPf6hTGJEZQUKtj6YJRnDem6UVzydRB/OHScby9M4/BsaH86YoJnWr3+/QKnt6QgdFi49+/mMqd54702uc3zRnGXSuTuWX5QV6+aTrPbMxg2tAYHnQKG+2xcFwiP/75IgpqdD5zpESHBrHtTxfxxk85rDlcwqbjFVwzfTCnKjVkVqiw2GSGxITyyX3nMm6gQ3zUm6387tNUJEni03vPdee4Alg8dRCPXDaOZTvy+OFEFVMGR3PpRO/wnscWT6CwVsuaw8Ws3F8IwMSkKP6yeAKLpiS5xaaKRgNPrEtjf14df71yIhc1C338xcyhjEmMZFhcmM8XeBfTh8Vy85xhrNxfyM1zh7u3wxdqo4W1h0tYe6SUG2cP88oXtmhKEhuPV5Ba3MD80fHuz+122euY/XRSiVJt4vkbHC+n180Ywn++P8n6Y+VM9rP7LqtKzfM/ZBEfHsRvLxrTIt8OOHJJvf5TDjfMGsrSBaN8rufJKyexJ6cGhUJixV1zCAlsyn8zOjGCr353Pje8u597Vh1hw8NN+Xfe+DmXndk1DIgK4cO9BSxdMKrVnFHfn6gkW6nhrdtneYlYL/5qOlUqI09+k86g6FAWjPOdY0ypdgiPp5P7Z1BMKB/4CMFtj9CgAP77y3O4a2UyV04d1OpycRHBrLn/XG5bcYi8am2LBNqejE+K4ncXjeXtnXmYrXZSixt4/dYZDIwOZWB0qPu7RVOSeG7zKWaNiOWO+SNQKCRevmk6V76xlye/OcHCsQm8sCWLC8cn8vJNM3jg0xQeXHOUj+6ey4XjB1BSp+e5H07yY6aSOSPjWPvb8wgOVDSFr41JICGySZRTKBwFE25ZfpCV+wt5+NKmfE/Ldxe4j+F10wcjSRKNejOH8uv42/oTfPP7Be5rU5Zl1hwu4V+bMhkeH84XD8xhRHwEt604yBPr0hifFNnu86mzfJ1axqvDL0Qh2wk/qWSRM0H6moPFjIgPb1H8ARxi8YMXj+XpDRkcyK9jYSvnn0AgEAgEAkFf5aP9hZTWG8hRaghUSAQHKvjscDEXjk+k1KOAUkxYECqDhY8PFPHr+SN5Z2ceB/LreODTVE5Vqvn+kQs4p5UJ0OYo1UYsNplcpYa9uTUA5NVoGZMYQXxECPFWg1cVNoPZhtpoJUAhYbPLLGljTN1X6ZvKRjeRo9QAML4NBxI4EmmbbXYKanRdDl9zERkSyJXnDGbuqHiGxob1WfHIk5DAAEYmRLBgbCIPXDSWXU9cwhu3ziQ0KICJSVH89cqWCcAfWzSBm+cM442fcjtcNl6lt/DoF8f4w+fHGJkQweY/Xshd549qIdiNT4pi3e8XMCAqhAfXHEVrtPLqLTM6tS+jQ1uG2HgSFxHMv35xDlsevZCZI+JYf6ycoACJ+y4Yw8s3Tcdss3Pz+wdIK21ElmWe+vYE2UoNb94200s8cvGnKyZw8YQBaE1W/uDhPnIRGRLIqnvmc+Kfi/nm9wv429WTsMkyD3yaym8+Sia7SsO3R8tY8sYejpU08vwN0/h9K4LZtGExxEUEt7sPnlgyiYiQQO788DC5zmvBE6XayAs/nGLhCzt4YUsW80bF8dhibzHw4gkDCA5QeIWxrTlUzORnt/L39SfcoUefHipmaGwYlziFs/iIYC6ZOICNx8v9lu/FZpdZvjuf65ftJ6NcxfaTSq55ax+/+egwP51UcqykgWMlDezNrXHnknr+hmmthmxFhATy/R8v5Ic/XkhseMv9OyQ2jJVL56ExWrjn4yNojBa2n1Ty1s+53DRnGO/+ejZ1OnOrlQqtNjtvbM9hYlIU1zZLVhwcqOC9O+cwOjGC361J5f3d+aQU1bcIiXPNWPRWcvILxw/g0FOXc+U5bT/sEiND+Pz+c3n40rE+BQtP/nCZw9n0fXoli6Yk8cuZQ1t899DnR2k0WHj+hmnu+8XIhAj+7yqH6PfCliyunT6Yj+6ex6CYULcL6refpPDUtye44rXd7M2t5cbZw0gtbuC/m08CcKpSQ2Gtzufsz/zR8VwxOYn3d+W7XYqFtTre3pnHNdMHc/2MIe5zKTY8mGeuncLx0kY+dx5/k9XGU9+e4JkNGVw0YQAbHl7IuIFR7mMdERLI7z5N7XRutLbIr9Hyj42ZnKcqYZpOySNrj5JW2khWlZrkonruPG9EqxMkN80ZRlJ0CMt29O0KigKBQCAQCATNKanTuyuh782t5ZyhMfz5ignsyq7hxS1ZlDXoGRwTysGnLuPFX00D4KWt2fxm5WE2OPO2uqIMTlWqMVpspJc1kqPUsOVES9d4ab2eKpWREqezqahOj9FiZ/qwGApqdGRVaUiICCbeokcXEMyBvFr25tZwwf92APDCDdM48H+X9cmCQ+1xRjuQzFY7w+LCGBLTdvWkuaPikSSQZZg1ou0E2mcDQQEKfjlrKL+cNRRZln2+cCsUEi/e6BBaXtqaTUhgAPddMJoqlZHv0yvYmV1NUlQoc0bFMXdkPFVqI0+uS6dWa+KxRRPclcNaY2hsGOseXMBf16Vx+eSkbp+ldzEhKYpP7p3fYjvnjYrnNysPc/sHh7hu+hA2Hq/giSUT3QJJcwIUEu/8ejYH8+u4fJLvZcAh1s0ZGceckXHcs3A0nx0q5vWfclnyxh5nu3G8erNvkaqzDIgKYe1vz+PulcncvPwgK5fOY/aIOAxmGyv2FPD+bkcS9WumD+F3F43xqbRHhQaxYFwC252hX8t25PHa9hwmDYriiyOlbEqr4M7zRnIg3+GY8nRF3TBrGD+dquZgfh0XjO9eR0NZg54/f3mcI0UNLJmaxPM3TCMwwDHLsGp/Efd/kuK1fGx4EMt/M6fdanKRIW3fEqcOieHdO+dw78dHuG91Cqcq1EwbGsN/f3kOoUEBnDs6nuV78vn1eSO8HEwAG45XUFCr4/07Z/t8iY8JC2Ll0nn89pNUXtziyJETHKBg4bgE3rx9FtGhQe4EgEmdqKDY3XT0QTcwOpQnlkxqd7nQoABevmkGy3bk8twN3hXhQoMC+M8vHK6n+y8c3cLN9pvzRpJepiIxKpi/LpnkPv9iw5tcUGuTS/jV7KE8eeUkkqJDSYgMZsWeAqYPi6WwVusMX/MtiD155USWvLGHZTtyefbaKTy94QQhAQr+4SPJ4S9mDmFdahkvbcli1vBYntmYwbGSRv5w6TgeWzTB65gnRYfy7q9nc/uKQ9z78RH+76pJzB0Z5972Rr2ZNYeKOV7ayNIFozt0/ZisNv649hihQQreyNtMAHZ+tehx7lt9hFkj4ggJVHDznOFtHocHLhrrtn6f7mSKQCAQCAQCQU+xP99R9OfpayajMVq5ZvpgJiRFcaSonp+zlAyODmN4XDiDY8KoiG4KIUsvUzEhKZKIkECOOfMhZ1dpyKvJYfnuAoIDFZitdnY/cQkjEyL46kgpaqOFdallDIgKaVG9/b4LRvPoF8cpazAwe0QciRaHwHTHh4fdegPA0LiwPlPhubNIfSHfwdy5c+WUlJT2F/Qj1y7bS0a5mmPPLOqQu0PgwGqz88jaY2zJqGLa0BgyKlTIMkxIiqROa6bOI7/QuIGRvH7LTKYN65glsLepVhu5a2UyWVUaFk9J4v075/gll1WDzsz7u/MZEBXCPQtHtxma1hVK6vT8ZuVhqtUmfn/JWL5ILqFCZeTqaYN48spJPvNEefLZ4WL+vj6DK6cOYmtmFb+aPZT/3Tid4jod//n+FLtzaggOUHDgqctI9AgDMlpszPvvTyyamsRrt8zsVJ8rGg1sP6lkfFIkC8Z6vzyXNei5dfkh1AYL//rFVG6YNdRLdDBZbaQUNWC22d2fTR4U3W0l3wG+SC7h/749QXxEMJv+sNCdlHhfbi13fnSY5244h1+f25RrxmKzc/mru4kKDeT7Ry5oN3F1rdbE0eIGjhTVs2p/EeeNSWDVPfNYvjufV7blkPWfK8+4EvNtUVSrY0R8eKevP7XRQrXa5BXCabXZuWtlMinFDcSEBTFpUBSf3nduq+v4v2/S+eZoGY9cNp7Xtufwn19M5Tfnj/K5bGGtjiVv7MFstRMeHMArN8/g6mmtx7ZvOFbOv77LpEFvYdaIWJYuGMXx0ka+PFKK3mwjLjyIBr2FKyYn8fdrJjM6MYJarYnU4gYyK9QMjwtj7qh4RiWE89/Np/hoXyEf3DWXRQ/dCkDeV99z43sHUBks3DRnGK/cPKPN/WUw29idU83iKYP8cq+TJClVluXOx08K/EpfGIMJBAKBQHA6PPrFMQ7m13H4b5d7jbNXHyjiH5syARw5R2+ZSVGtjkte2cXsEbGsuGsuCRHBfLSvkP9uPoUkwYKxCRTU6KhUGZk2NIZTlWp+fe4I/n7NFBa8+DMaoxWT1U5UaCBLF4xyF8KJCA7g+D8Ws+DFHdRoTCxdMIoFq17ngYk3AI70JZUqA2qjlZ8eu7jNFCPdTXeOwc5oB1JnuGn2MIbE1AnxqJMEBih487ZZKL48Tl61lj9fMYFrpw9mzIBIZFmmuE5PSnEDWqOF2+aP6FcvvQOjQ/nygfNZf6yMm+YO91si9LiIYJ66enL7C3aREQnhfP3g+dy90lEufsrgaF67daZXXqu2WDQ5ib+vz2BrZhW/vXA0T101GYVCYtzAKFbfO589OTWYrHYv8Qgcjoarpw3mu/QKnryy/cphGqOF9cfK+S6tgiNFDe7PH1s0gT9cOg6FQqJKZeSODw6jMVpY+8B5Pl1TIYEBfs/hctv8EUSGBjI6McKrotXCcQnMHB7Le7vyuWXucIKcLrt1qWWU1OtZuXRuh6qeJUaGsHjqIBZPHcTEQdE8/nUaf/v2BCFBCmLDg/rVddQdjOpiYYPo0CCiQ4O8PgsMULDs9llc//Z+yhsN/GVR2znc/rxoAhuOl/Pa9hxmDI/ljnNbJqF2MToxgqeumsS61DJevWVGm0n/AX45ayhLpg7i69RSPthbwKNfHCdQIXH9zCE8cNEYRiVEsHJ/Ie/syGPx67sZEhtGcbMKlQAJEcHU6czcff5Id84jcIj2K34zh39symw16b4nYcEBXHlO/0vmKBAIBAKB4OzmRJmKmcNjW4yzF45ret8515nPdWRCOC/dNJ0lUwcRE+YYJ14/cwhFdToa9BZ3oZOXb5rOzXOH88jaY6w+WMzqg8Ve69YYrezPqyUiOACd2cbkwdEEBSi4fsYQPtpXiF2WGWR2pBF5fPEE/nDZeFR6C1szKxk7oOtFu3obvzmQJEm6EngTCAA+lGX5xdaWFbNfAoH/0RgtHC1p5IJxiZ12Ob3yYzYDokK46/yRHRJAXJyqVHPTeweIjwzm03vP9SkE2OwyX6WU8uq2bGq1ZiYmRXHdjMEsmjKI93fns/5YOUumJvHUVZO59+MjVGtMrLn/3DZzXPUmP59Sct/qFJ68chLxEUGkFDWw7aSS0YkRrH9oQaf2n4vXt+fw5s+5RAQHMCwunB//fJEfen52kVmh4qN9hfzz+qktRKbmvPFTDu/uzGf9wwt8JmnvDqw2O4cL6xmdGNHC0lytNvLWjlyq1SZmj4xj7sg4pg6JoaReT0pxPanFDZitdl65eYZDXLzkEscPd+3yS1+7inAg9QydGX+BGIMJBAKBoH+jNlqY/s9t/GXRBB65fLzXd7Isc+Ube5k8OIrXb53Z7jh81f5C/vXdSaJCA9n318uICQ/CYLbxzdEynt6QAUBIoAKTtSnS4bwx8eRV67hxzlCeumoyJyvUXP3WXp69dgr3Pn0P2WGJTPjh6y69A3QX3TkG84uAJElSAJADLALKgCPA7bIsn/S1vBi8CARnLmmljSxdlUyAQsHqe+e5X8CtNjsHC+p44YcsTlaqmTsyjqevneIlDMmyzEf7CnlhSxayLBMSGMAn981n3qj41prrdWRZ5uq39rkT8cWFBzFnZBx/vXJSl3N5ybLMX75O49uj5Vw4PrHNkCtB9yPLMo16S/9xqAoB6ayls+Mv6LtjsEqVgd3ZNdziRwewQCAQCPo/B/PruP2DQ6y6Z16LStjgqB4tSXRIwNGZrPycVc1F4xNbFNXZk1ODymBhb24NRoudTWkVAPzuojHcd8FoosOaogTKGvQMig4l8PLLHD/u5TFZfwhhmw/kybJcACBJ0hfAL4BWBzACgeDMZMbwWL5+cAF3fXSY25Yf4vZzR3CiTMXx0kYMFhtDY8NYdvssrnWWRPdEkiTuv3AMUwZH88q2bB5fPLFPi0fg6PPbd8ziWEkjM4fHMnZAxGnPOEiSxIu/mo7VJjNvlEhu3NNIktR/xCPB2U6fGX89syEDs9XO3FFxlDcaCA8OICHCEepss8sU1+sYGBXqLl5gtNooqtWhkCRGJ0bw0b5Ccqu1pJU1EhMWTEWjgYXjEmjQWzBb7W4nbVJ0KK47rF2WKa3XExse7A5LsNjslNTrCQ8OYFd2DZUqI7fOG85Qp9NPbbRQrzMzPD6cgGb3ahmobDQQGKBgYJR3mLZAIBAI+gauBNrTfKS2ADo1CREREsj1zRJju7hogqOysCtxdkGtlspGI3+6YkKLQj2eKS7ONPwlIA0FSj3+XwaIKXOB4Cxl3MBI1v1+AUtXJfPRvkImD47i1nnDmTMyjkVTktrN6bNgXCLf+jmvUXcydkAkYwd0b2K84EAFb90+q1vXKRAIzjg6NP6SJOkB4AGAESNG+KUjAQqJTWkVfJlS6lV5pqkPLT8LCVQg46iiGxyo4NKJA1ibXEqAQiI6NNA92+vrt22t1/XZ5MHRDIsL47XtOe3+piPfCQQCgaBvMHZARIt8rP7mywfOJ0AhnXW5SXstiXZPDF4EAkHfYUhsGFsfvQiT1d5CpRcIBAJBzyHL8gpgBThC2PzRxj+vn8oTSyZSpzWTGBWM0WJHa7QCDlEmKTqUBr0Zk8WRRyIgQGJwdCgyjkqc0aFBxIQHUd5oICI4gIiQQCobjUSHBRIUoMDmVHUadRavdgdGh6AxWjGYbe62BseEojJYSIgMQZZlqtRGLFbH70ODFcSEBaFUmXxuR3xkMDabjMpg8fm9QCAQCHqfhMied4pHhJyd9cj8tdXlwHCP/w9zfuamJwYvAoGgb6FQSEI8Egj8TR/LfSToUdodf/UkESGB7gF2eDDENwsFba065/D4Juv/UI+k8iMSWoYE+EqC72s2OME5My1JEoNjwlp872vdnsSEt51sXyAQCASCFpyBYzKFn9Z7BBgvSdJoSZKCgduATX5qSyAQCAQCgUAgxl8CgUAgEAj8iF+qsAFIknQ18AaOMrIrZVl+ro1la4BGQOWXzngT08V2EoFaP7fRWXqinf68Lc2Pmdhffa+N9trpzHXX1Ta6i76wv/paG+0dv/60LX2hnZ5oo7uuOV/rjZBleYAf1i3woDPjL+fyGiD7NJrsqWvMkxFASQ+3Cb2zrb3R7tm0f3vrmJ4N+/hsuTecLfcFODvO295s05/7d6Isy10rB90cWZb7xB9gRV9uB0g5U7alr7Xhr3aaHzOxv/peG+2105nrrre3pS/sr77WRnvHrz9tS19op4fa6JZrrqfWK/70/rHpqWusWZs1vbSvenxbe6Pds2n/9uIx7bV9DBwGjjf7M+1M2Le9sV/PlvtCb+3fXtzWM2r/duc4rC9lfvruDGpHbEvfbOdMaaOn2hHb0vfa6Kl2xLb0zXZ6alsEgs7QG+dlYy+0Cb13DfZ0u2fT/u2tY9pr+1iW5Qd6qq0easeT3tivZ8t9AcS9wd/01v7tFH4LYTvTkCQpRZblub3dD0HHEces/yOOYf9GHL/+h7+OmTgX+i798dj0xz73J8T+9T9iH/sHsV/9i9i//sWf+7c71+2vJNpnIit6uwOCTiOOWf9HHMP+jTh+/Q9/HTNxLvRd+uOx6Y997k+I/et/xD72D2K/+hexf/2LP/dvt61bOJAEAoFAIBAIBAKBQCAQCARtIhxIAoFAIBAIBAKBQCAQCASCNhECkkAgEAgEAoFAIBAIBAKBoE2EgNQMSZK0vd0HQddo79hJkrRLkiSR+K0PIUnSLyVJkiVJmtTbfRF0DUmS/i5JUqYkSemSJB2XJOnc3u6ToG0kSRomSdJGSZJyJUnKlyTpTUmSgttY/k+SJIX3ZB8FbSNJ0nBJknZKknTSef096vw8XpKk7c5ju12SpLje7mt3IJ7v3Y+4D/QM4r3CP4jxo/8R913/cCbce/tEDqTExER51KhRvd0NgUAgEAgEfiI1NbVWluUBvd2PMwFJkgYDg2VZPipJUhSQCvwSWArUy7L8oiRJ/wfEybL8ZFvrEmMwgUAgEAjObLpzDBbYHSs5XUaNGkVKSkpvd6PXKa7TMSI+HEmSersrrVKtNhIZGkh4cJ84dQQCgUDQT5Akqbi3+3CmIMtyJVDp/LdGkqRTwFDgF8AlzsVWA7uANgUkMQbrGzTqzQDEhrc6ES0QCAQCQZfozjGYCGHrIxTV6rj45V0kF9b3dlfa5JblB3l7R15vd0MgEAgEAgEgSdIoYBZwGEhyiksAVUBSK795QJKkFEmSUmpqanqkn4K2efKbdB77Kq23uyEQCASCnuCSSxx/+iFCQOoj1OlMANRqzb3ck7ap05qp1Zp6uxsCgUAgEJz1SJIUCXwD/EmWZbXnd7IjR4HPPAWyLK+QZXmuLMtzBwwQUYV9gVqtmRqNGF8JBAKBoG8jBKQ+gslid/xttfVyT9rGZLNjsfV+3iyBQCAQCM5mJEkKwiEefSbL8rfOj5XO/EiuPEnVvdU/QecwWW19fgwoEAgEAoEQkPoIJptDQDJb7b3ck9aRZRmz1d6n+ygQCARnNf3YEi3oOJIjWeJHwClZll/z+GoTcLfz33cDG3u6b4KuYbbaMVrE+EogEAgEfRshIPURmhxIPT94yFFq0Jqs7S5ntTucR2abGOAIBAKBQNCLLAR+A1wmSdJx55+rgReBRZIk5QJXOP8v6Ac4BCThQBIIBAJB30aU0uojmHvJgSTLMr98Zz8PXTKWP1w2vs1lXX0TDiSBQCAQCHoPWZb3Aa2VbL28J/si6B6EgCQQCASC/oBwIPURTM5BQ0/Hv5usdvRmW4eSd1ucIpdFOJAEAoFAIBAIug2zzd4rLnSBQCAQCDqDEJD6CL3lQNKbHYJVR0LYhANJIBAIBAKBoPsxWRwCkqN4nn8oqdNTWKvz2/oFAoFAcOYjBKQ+Qm/lQDI4nU+6jghIwoEkEAgEAoFA0O24iqn4c/KZPE8AACAASURBVBz4j00ZPPlNut/WLxAIBIIzHyEg9RHMPTBw8IXB7BCOOuNAEhZrgUAgEAgEgu7BVeUWmiYU/UGjwUKt1uS39QsEAoHgzEcISH2EXnMgmR3tdcSBZLGJKmwCgUAgEAgE3YlrfAVg9GMuTIPZhtrQ/nhPIBAIBILWEAJSH8FscwwYej4HkmMgoTO1P2Bx9U2EsAkEAoFAIBB0D54FVPxZic1osaE2Wvy2/s6Qq9RwskLd290QCAQCQScJ9NeKJUkqAjSADbDKsjzXX22dCTQ5kHq2CpsrB1KHQth6KdG3QCAQCAQCwZmK57jKn050g8WG2WrHaLERGhTgt3Y6wnM/nEJlsLD+oYW92g+BQCAQdA6/CUhOLpVludbPbZwR9JY4Y3BWYdOZO54DydNqLRAIBAKBQCDoOp6pAfzpQHKN+dQGS68LSCqDhUZ933BDeZJVpcZosTNzeGxvd0UgEAj6JCKErY/Ql6qw7chSUt5oaLGsRTiQBAKBQCAQCLoVz3GV0Y9JtF3r7gthbHqTDY2x7+Vj+t+WLJ7ZkNHb3RAIBII+iz8FJBnYJklSqiRJDzT/UpKkByRJSpEkKaWmpsaP3egf9JYDSe+cjbLYZExWGza7zO8+TWX1gaIWy7r6JpJoCwQCgUAgEHQP3iFs/nEgWW129/hN5SOR9vHSRlKL6/3SdnpZy3XrzFY03ShkHS9t5EDe6Qc9qAwW6nXmbuiRQCAQnJn4U0C6QJbl2cBVwMOSJF3k+aUsyytkWZ4ry/LcAQMG+LEb/QPXgKGncyB5WqV1Jht1OhMWm4za0PKh7ulAkmURxiYQCAQCgUBwuph6wIFk9GjDlwPpl+/s58b3Dvql7ed/OMW/vzvp9ZnebMNktXfbxOmr27J54NNUGk5T/NGZ+k6icYFAIOiL+E1AkmW53Pl3NbAemO+vts4Eesvd43IgAWiNVpQqk+PfPpJqe/bNahcCkkAgEAgEAsHp4i0g+Wci0eAx3ms+SWj385iuSmWksVmbrtQJHSni0hEa9Ra0Jisf7C04rfVoTVa0Jqvf94ngzCWjXMXuHBFdIzhz8YuAJElShCRJUa5/A4sBEVDcBq7Bg8mPse++MHgMVLQmK0q1EfDOieTCc5ZI5EESCAQCgUAgOH16ogqbpzDVXEDylfeyu5BlGaXa5NWmzS67t1PbTXmQXK6hjw8UUac1dXk9OrMVWQZNNwlbgrOPd3fl8exG8dorOHPxlwMpCdgnSVIakAxslmV5q5/a6rcYLTb+tzWL5384Ra3WYbntDgfSJweLqHYKQe3hOSOlM1tRalwCko1vj5aRq9S4v/fsmxCQzm6+PFJCWYO+t7shEJzVlDXo+SK5pLe7IRCcERzIq+2WHDodaiu/lr25TQ6FrlRhO5hfx77cjvfXc8JQ3Uy0yfEY63UlRcGhgjr25tZwqKCOPc2cFxqTFYPFhtpoda9b71H5V2PqnnAxlcHCwnEJGC02VuzpugvJNYHqK5WDQNARNEar3xPEp5U2si2zyq9tCAStEeiPlcqyXADM8Me6zyTSSht5b1e+12en60Cq1Zp4dmMmOpON318ytt3lPQUkhwOpKYTtsa/SACh68RrAWzSyiETaZy16s5UnvznBn6+YwKNXjO/t7ggEZy1fp5Tx5s+5XDdjCBEhfnmcCwRnDf/bmkWAQuLbcYl+b+uODw4DTeMrk4e401EB6bXt2RgsNr4ff2GHlm8rhC1HqW1azmIjPLhz95PXtuegN1uJDAlEY7Ry0YSm3KauCU2bXUZnthEZEuiVPqE7XrRl2ZG7c9bwOBSSxN7cWp7qwnpMVhsWm0PkUhksDD/tngnORrQmR4J4WZaRJMkvbSzfk8+xkkYWTx3kl/ULBG3hzyTagnZoHg8Op+9Acj2IlR10IOm9kmhbUaocv6vxYf/1FI38ZbEW9H1cdnNtN80aCgSCrqFyPkN8hRwLBILOoVSbWjhzAHZlV7Mzu9ovbbqLk3RhfFWvM7sn/TqCpwNJ1Wz86ek2V/uo0NYedVoTDToLDToLdVrvJNaefVT7uGe1FcK2J6eG7SeV7bavM9uwyxAdFkhiZIjb1bQvt7ZTLg2dydOlJcY4gq6hM1md1a39966kNlip1pi8cnUlF9azLrXMb20KBC7ElGUv0vwBDt6zUF3B9VDuqIBkMNuICQtCZbA4BCRnCFuNpumBrzFaiAoNEg4kAdCU8FJr6tmKgQKBwBvXM0RrsjKwl/siEPRnbHaZGq0Ju4/wrde352C1y1w6sfuvsqJaHeOTorxzIHVwHKgyWKjTmbHa7AQGtD8f7B3C5j3+LKlvCklXGSwMigntUB9c1OnMWKx2LDY7DXqzl/PCczyqMlgYEhvm7UBqYzLqrpXJQJNTqzVcwlR0aBCRIYFuUerlbdlojJYOuzQ8ha2uCGkCATQJkRqjldCgAL+0oTFZsdll6nRmBkSFAHDvx0fQmqzMGRnH6MQIv7QrEIBwIPUqKn33O5C0nRWQLFb3jUdrsvmczcooVzv71jSw6ulqcYK+g+vBKFwPAkHv0qh3zPTrhJgrEJwWdToTNrvsc2JPqTZR1uCfJNPZTuePp4BkdP57a0Ylf1x7jO/SKlr8TpZlGvUWZBl3Ds32MDpFm8iQwBbiSL3OTGx4ENB5543FZqdRb0FntlGvM2OxyV4JqLvqQKrWeI9jd2ZXs+VEpc9lXcctOiyIyFBHGJ3dLpOr1FDeYGBHlpLN6b5/64nWS0ASDiRBxzmQX8uGY+WA50Sr73N7V3Y1Xx45vfyFGud16vm+FxPmuIaX/Zzb5fUeKqjjG+FiErSDEJBaoVJl4OUfs/xaxlNlsBCgkIhzPrQBLDb5tNpsciA1PbBlWWbZz7kU1GhbLG8w20iMDHb/1lfy7Re3nCKlqN7bgWR19PGL5BKOFNV3qo+b0irYmeUfO7jA/7geiF0VkD7eX0hqcUOLz79ILuFwQd1p9U0g6G8cK2ng04NFXfqtpwNJIBB0nWrnmMlktXvlIHI5k1QGS7eFNHmOpVy5h7xC2Jztf7i3kE1pFSzf450rExzXvNU5Vuz4hKFjvUNjw7xc5uDIn+lyLHRWOGnQNwlYrj55hrF59s8VIqhvI6G3i0MF3mPLd3fm8dr2HJ/LuvocExZEVGggVrtMQa0WvdmGyWrn7+szeHVbdrvb4uVAEiFsgk7w4d5CXtyShSzL7vNI4+Mc0putPP51Gv/67uRpRXO4hFdPodXmvP4OF3buvcyTD/YU8MKWrC7/XnB2IASkVtiWqeSdnfkU1Or81kajwUxMWBBx4cFen5+Ou8f1IlGtMbqrXagMFl7dnuNWxj3Rm21EOS2/SrWROp2Z6NCmyMYJSZGklan4KqXU60Zntjke/i/9mM2aQ8Wd6uPbO3J5f3fLAZGgf6BrZ2alLQxmG//+/iSfH2458/Lyj9msPlh0mr0TCPoXXySXdnmw1ihyIAnOUr5Lq+CHVtwobbGpld9VqZpewjyTOrucSQCl9d6VR384Uele15YTlR1yuDjW3/RSmV3lcHi7CqhEBAdgdP7bJWDU+3AYNXo42D0Fms3plWzy4ViCJgFpXFIkpQ169xjRbLWjNlqbBCRnu1szqth4vOW4sTnNcx45PmsSqKo1RkICHa8bLqFHb/Iu4AKwLdO7vYP5TRNKdruMUm2iWuM755NLhIoODSLKWVDgaHGj+/tKlZGyRkO7E7S97UD6+ZSS9cf6l/tjZ3a1V96dnVnVfHWktBd75B9259S06RpSqo3UaE0YLXa3kOrLXbfmUDG1WjN6s430ssYW37fFnpwaPjvseOfSNjMMuMRuOL1zt6zBQJ3OhLUbIk0O5NX6HO/3FAfyajv9jiroGEJAagXXzK4vR073tWElJiyIaKflMFDhiBc/nUpsrhuKxSZTrzM723HZHFs+eI0WG2FBAQyMDiGjwjGQGTsw0v39yqXzmD4sBqXa5DVrZrbKyLLD7u3L8t0WKoOl1UGAoO+jc5bf1Zk7/9KaWaHCLre0prvOpc4kBBUIzgRUBgt6s83r/tpR3OEgXbgWBYL+zOs/5bC8k6XaZVnmj2uP8dBnR1t8p9R4umSaxjTVHs+k5mFsy/cUsNw5GbZ8T0GHJ8ZcYkd4cAA7s2uoUhndE4fRYUEYrQ5xxTW2qtWZ3WKPCy8ByWM89fDnR/nj2mM+23VVYZswMAq92UaDcx0uB9EYp4DkSq+wfE8+r7fi+PHEp4Ck83QgmRg7INJrmzzvWS5B7cO9hbyzM8/9+alKddMyJitKtRGVweKzSp07B1JYIFGhjjF1c6ez2Wr3WSDGE89w4M6ObbuDD/YWsGxHXvsL9iFW7S9i2Y6mkKl7Pj7CX79J7xYBoi/xyYEit8PIF0q1Q2wurm8yHmh8TO7szKphZEI44C2SdoS7Vibz9/UZGMw2dx4xl4DsErsTI4Pd+ZE6iyzLTnG546GxbfHpoWJe+rH33EyrDhTxSgech4LOIwSkVnA9nJUa/wlIjXqHA8kVsxrldP6YbF3PZ6HzEXfe1rY4yrUGkBQV6n5Yj0lsEpBiw4MZGBWKUm1s5kCyo3XeoBp95HJqi0a9BaXa2OpNWNC3aQph6/x5ml6mAlpa7nVmG1a73GErvkBwptBo8Bb6O4orBwqIEDbB2YXRYqO4Tk+9rnMTDkV1+la/85y88LwWPZ9JzR1IdVqT2wWoMljck3aefHu0rIWjxLX+J6+chN0u896uPHe1psiQQDYer2Bdapk7T5HZaufz5BIvl4dn2JhSZWTDsXJebudFzSW8TEiKdG/PVymlvLfLIXyNcjuQnE52tYniej2fHirm7pXJrToJ6nwch+YhbOOcE5MucU7vvGdFeSS8rtWZvI5DWYMB57wqpfV69z6q9jHRpPIIYYt0OpBSSxq8UkS41tMWrjF0oEJCbbTyXVoFqw8UtfmbzrA5vZKP9xe2+n212uTzPOoJfsysYm1ySbufNUelN/t0yWVWqH0s3X1sP6l0u3FOh59OKjvkUqnVmWnQW1hzuIQVzcJKLTa7+zooqPEQkHw4kHKrNZw7Op5Jg6I42Cxtw8+nlHxysKjdvuzLq3X/e/WBIj7cW+C+LlzX2qa08lbPtZ9OKvloX8vvGvSWFsKUJzuzqlnp43cutmZU8eHeJmG/UW+hUW9pEcq3I0vJu7vaFkp359S02ZaLXdnVXm16UtZgoFHvW3TuCjuzq92TBm2xN7em1T6dKQgBqRXacu10F2qDxfGwcwpHrlmT03MgNV0kLsGorW3Rm22EBgWQFB3ingEfM8AxiAhQSEQEO76r1jR3INnd6+2MVdJoccSj68028dLTTzmdEDaXXbf5udjk+DMJYVFwVqFyviR2VkDSO0VXECFsgrOLghqdo/pQJ2fI25rt93Sbq70EpNYdSHVaMw3Ol/0GvZlarffzS5ZlHvsqjT9/meb1O9f6pw6JZsk5g/ghowqT1UZwoMItsDz+dRoGi41RTqfCi1uyvNw5XgKS2sifvjzOOzubXmx8ORoNFhuBCsktFKUWN/DMhgw+dgokSdGhhAcHoDZYsNtlZyoE+Pd3mezOqeHjA75f5toKYZNlmWq1iSGxYV7Ju3XOl9SB0SHul+w6rdntMDKYbdRqTUwdEgNAXnVTDk9fk6Gu/RYZEuiejM2v0TIhKcqd5xNaHsPmuMY1SdGhqA0WHll7jH9syqSom9JZPPz5Uf753UkKW1mfUm2kUW/plUrHqw8UtXip9/VZcxr0FjQmKyanc84VTdFcHOluPjlY5BY/T2s9h4q9rq3WcJ3T//4ukxe2ZJFV1SSQOa59x789881qmwkndVoTtVozE5KimDMyjvQyldc948O9hbzdhgMt2BkKuv1klfuzBr2Fl3/Mdouj4wdGAbB8dwGvbsvxOaZetiOX/23NaiGseAqsvgSkTw4W8eq2bJ/r1JqsPLgmlf9uPuXRN8e9ofl1d9/qFF7ams0J56SyLz47VMzrP7XvgFy66gj/3XzK7bB0IcsyZc7taZ7zrau8uzOPl3/MbnfMtTa5hNe2+973ZwpCQGoFlXNWuCuOiDqtib98lYbWZKVeZ+axr477TMbXaLAQGx5EmLPEo+uhpzJYePzrNK+YfJPVxpPr0ilr6NjsCTQNiBrdL+ctw4YMZqcDKbqpZOtYp4AUGxaEJEkkRYdSrzN7CQauqhue6+8IqlYGZv5iZ3Z1uw+/nqS0Xs9f16V1KVylr+CaLWytcsqLW7LcidVf3ZbtlRg7vdzxsGhuQ3dVkzJ7nFcdYc2hYr/lC9iWWdWhmQaBf3hpaxapxV1PBNkenxws4vt037lCOsrG4+Udmi1sC5Xe5UDq3Muw5323tWvRF8V1Op76Nr1XXlAEZy+rDxRx24qDPt0MK/cV+kwk/8lBx28+beYOyK12VC7Tm21eLw2fHirmthUHW3UTHHI+iySJFuEdSrWR0CBnnh6j1etzSXKMizxfrvRmKwaLDbXR6p5Qc02Oufr+7+9Pupdfl1rmzgvjGg9GhwVxwbhEajQmsio1hAQoWoyLXHmJNEYrRXU693PTNZYaGhtGlY9x6js781jVzH1gMNsJCwpgWFwY4AgDNHmMRRIigokODUJlsNCgd1RTA9x/t5Z6wJcD6e2deXxysIhGvQWzzU5SdAjRoYHufhvMNgIUEgmRIfycVc0Hewrc3723K58XtzheQqcOiQYgx1mtDlqOy9ellvHGT7lEhgQSGKBwT8rKMgyKCWVYXDgJEQ4RqaMOpCGxoV4i3dsdEBg6gssd5Rny5UJrsrqFNc+2ffF9eoXPa2bj8fIuO6aUaiPVahOb0irc7pRqjcMV1taLsGv8Vu8MtVRITgGpk+FZnaVabeq0iOx7PUaqNaZ282O5nGEWm4wswxvbm46h53XbmgPphxOVPPrFcQAmJEUxcVAUGqMVpdrE1oxKlu/OJ0epoVbblH9oa0aVOzTWarO7n9vbTiq9+may2tmaWeVct8OBVFirQ2OyUqnyvl7URgsnylWYrXaOlniHeZZ6vGO6QmO3ZlS6+1DaYEBntlHe2FKI/fRg033XdY9zjeebC0jhzvfeN39uXSCq1pjQGK0tJtd+zKzibR/XT0qz8aLaYHWHEJ5udMPm9Eqe23yS46WNWO0yKR7hsdsyq1ok6FeqTV5hwh1lxZ58fr8mtV8IT0JAaoUm107nT7r9+XV8c7SMYyUN/HRSybdHy0ktall1SuV0ILkEpAjng2V3Tg3rUsvYk1vjXjanSsuXKaXtVi/TmazuUqyuG5prW+p0ZvcMATiSClrtMoNiQt0CUlCAxLA4x4yXK7QuKToEgPJGgzsRotlqd8+iqQyWDp/srVnD/cXXKaW8u7PviAAbj5fzVUqZ12Cov+FyuRksthaDcKPFxvu78/n8cAkWm523d+axwZkU026XKanTMzDKcT55Hn/P88LXYLg1Vu4r5P1d/rGJfrSvUCR77yWMFhvv7spn4/HTE3jaYsWeAj47dHrJHd/fXeDTBt4ZVB730U79zmNgou1EOOn2k0rWJpd6DXIFAn/z0b5CDhXU80UzAam0Xs/zP5ziP9+folJl8Pmbd3bkeY0xsquanp+e4sWnB4s4VFDfQjhx4XKxyLJ3ImtZljlRrmbW8DjA24FUrTGSGBnCOUNjSC9vcgt4vriWOXOGuD4vbzTw3+9PsWp/kXuZjw8Uup0+nuFW549JABziVnCggpdunO4WsgDGDGhKKSDLTdvQoHOsY9KgKMobDQQoJGLCgrh04gAA3vw5l399d5ISj7A9g8VGaHAAUaFBxIYHoTFaGRob5v4+ISKEmLAg1MaW+QivmzGk1VCQOq2ZxMgQggIcwkGAQsJktfPsxkz38zwpOpRo57rBkQMpPDiAm2YPIzEyhLc8yo4v25HLaufLqEtAyvV0IDXr2+NfOxxeWndYXFPYWlJ0KHcvGMmjV4wnMTKkfQeS2UpwoIKxAyLdIfcA+3Jr2/hVx5Bl2T1mSvZRJctzTNSeMLLmUDEf+nj2rNxXyIpO5gZzUa02YbLaeWdHHq9ty8Zis6NUG70iDppjtdndgmud1ozGZHXn88oob91d0h0oNUYMFhv608wBqFQbHY7GNkIH9WarWxwGuGBcIlszq9zb6Hns8j3cZZ4T7w99dtQdejYhKcrtFMpRavjscAkv/5hNnc6MXW7KIfbZ4WJe256D0WKjVmt232dcwswd547ggYvGoJBg4/EKJKnpnuESh5u/bxwprMc1dD/UTORzXR+S1GQ6eHdXPu/tync4epwCU66yZVXvrRlNRQTK6h3rcYXoewq3Kr3FLZTuz6trVbhztd9c9H1/dz5v/JTrFntd76rNBUsvMew0DAs6k5VnNmbwwd5Ct5ju2daKPY68ZSkeFcmVrfS9PQ7m11FYq0NyirB9GSEgtYI7b1AXTjrXSa9Um0hzh+x4vxTb7Y6kwbFhQYQFB3h953JveDqGlB7rbAutyUp8eDDxEcHuB7fKYybD08bnCieaPizWLSANjAol2hlKFxPuEpAc35XW692zJ2ab3T0DbrPL7ptBe7RWOcRfKNUmtCZrnwmXS3MOSJonke5PeLrcmifvdR3TtLJGajQOS6/rnK3Xm7HaZaYPi3Uu23QuqrsoLCrVRnKrNac9gGiOzS6TUa6iQW/xEl0FPUPT/c4/14krrOJ0ctwZzDZylJrTyudmsdnd985O55LzcCx1JoTN5SIQ+cYEPYXebHUP5puPYd7dlY9CISEj875HOIrBbKOkXs+AqBCq1Eav/EU5Hi8v9Toznx4qZs2hYkqdLy1FdXqv+/aaQ8V8driYak2Ty8hzZji/Rkut1sSSqUkAvL0jz+3iqFIZSYoO4bwxCdRoTOQ7w1M8XzaL6ppeGGt1Jt5zup5d4SYAhTU693PfFcYVHRrEyIRwBseEYrLaCQ5UcMu84fxl0UT371zhZk3b7ngZbDSYiQoJZFRiBIW1jpC+xxdP4PElE72WdzmwP9pXyNrkEveE5fC4cIICJJ7/1TTAEXYUHRZIdFggDTqL+96okBzOpAvHJQLeY8jVB4q44d39bM2sIjEymJiwYMKCArwmllxCdVJ0CNFhQTTozHy8v5BV+4sIDw7glnnDuXHOUK9kw57vk1OahbAFKiSve5evRMFRHpWEB0aFcMOsYdx1/iiGx4exxcNNAfBFcolXrhKdyUpkSCDnjUlwhwgvnpJElTOBty++OlLaoXwnGpPDtRYSqKBSZeTzwyUs+9nTxdJxAalabWrx7LHbZXKrtVSqDFhsdr5OKW2Rq6c1dKYmt0ZOtQad2caRwnq3g8bzul2XWsby3flsOFbOK9uaHCS12iZH0NQh0dTpHGGd4JjMveHd/V5C4elgtNjcz0zPffXVkVLe2ZnHxuPl7UYfrD9Wxuvbc9z3Atf+//JICa/8mM3a5BJueHc/r27L9mojNEjBG7fNJDo00O0kc72vBQVIXiFsaqOVTWkVvLMzz+2CA8f14HIK5Sg1lDUY3OebZ1/KGgyYrXae3ZjBU9+mAzBnZJx7uVvmDudvV092h3q63v888RR71h8r49mNmQQHKpg0KIpPDhXz3OYmp2RpvZ7Y8CAGRoVQpTKiNlrIKFehMlgoqtO7K0T+b2sWb3iEl7lcTZc4BezSBj1Gi829/Ns783h9ew6b0yv57ScpACyZmoTBYvMp6jpCaE3uffB9egWvbctGa7KSXqZyu4Dsdtk9/vEMmfw+vYKHP28qlnA64501h4qp15kdDkeFxJTB0RwsqGNzeiX/2JjB8VLHu/SbznPbNb4E+HBfIa+1k8T7x7hx7mVylI6w2/6AEJBa4XQcSJ4vPyfc6rT3oEljsiLLDgtzqPOB7noQpDjdSp6/cT3M2+uPzmQlIiSQgVEh7htaa2Fj6WUqAhUSkwZFuV1GSdEhRIQ4+tPkQHIISGqj1e2Saj4j0diO3dZFT4ewufaXP6vpdYYTZb7Ph/6E1kOsaf7i6tqughqde8DXXAyYPizG6//g/fLsK0Gmz3447d52ufuTNRbWat0v9h3tj6D7cJ1H/rpOXGEVp3NsT1aqsdlljBa7V8hLZ/C8H3bWgeQpumo7IaD6W5wTCJqTV61Flh3JXWu0Jq+X/iNF9VwyYQALxyWS7OHUdv1m6YJRABzId8zcy7LMsZIGd8WwOq2ZTw4U8dr2HAwWG7NHxGKzy14Ou08OFrFyXyG1WjMTBzkcLZ5jFtds8iUTBxIcoKBKbWSZ0/VU0WhkUHSY2ynkWtazTH1hbZO4Vac182OmkiXnDOJf109l/uh4wJHzp1ZrxmKzozZaCAqQCA1SIEmSe90uwSnBI2fP6ITmApLW2X8LMeFBDI8Lc7sSBkaHeqUjANifX0tZg94dEuaaWLz3glE8e91UFo5NIDhAQUJkMJIkMXtEHCnF9RwucExk/mXxRJ5YMpGkGMd6XfcNWZZ5f3c+SpWRaUNjuPO8kcSFBxEXHsSbt83kwvEOwcnluBgYFcrsEXH/z955h0dVpX/8c6em90oapNAJvUsVRBB7Q3d1dy1YV113dXX9uZYtumtFxe7ae8WOgNKR3ksSkkB675NkJjNzf3/cuTczaSRACnA+z8Mz5NZzzz333nPe833flx05lfz7+0OuYyl1qKreW6IogXxddWwhwMtAdJCXx7vrqMt4NzkxlMdcxjA/NwOSe31cOzkBH5PBIxj40tWHeX1ds5LHYnXga9YzOSlUW3ZeajQAh0vaVo6/8MthTV3WEWo/dGxCMA6nzN++3MtTK9I1RZ3796gtt0B3imsaW3178qsaqHf1iQqrGnlpdSZvuangOiybm2FQbU+qelw9n8qLqw/z5oYjfLA5h1fcDFQVFpsW2F5t06rB89PteezMqTopQa/B05CpGnPL66zc+/kenliexkdbcnnZpZppj5dXZ/GcmytUSW0jFRYbj35zgBd+OczDmXCt8wAAIABJREFUX+9nT141r6zN0tzArhwXx73zBhPmZ2b+8GiP8ZpeJ5EU7qcZ3UwGHXVWO+9tOspLqzOpaWwiLsSb/ztvCJKkuG+G+Zk4VFRLfgsjSnGN4lKnLv9kWx6/pCleKePcDEjqpP6tM5OYlhLGjdMTtczeKmluCqTX12VjtTu58+wU7pqTQmywN6+ty9YyFuZVNhAX7ENkgBfFtVa2ZDWrldxVN4eKanl2ZXPdqaqmK8bFacdx79dXWGwsWZXB7R/uYItLJLEwtR/QWiEFzRPOyrHqeW1tFktXZ7I6rUT7fmzMLNO2M+l1HCio0da9ti6bo65JB510YgmxftxfxKi4IJ66YiR/mjuQs4dEsDeviiWr0nl701HsTpkh0QFszqrA7grDoarwvtldwGvrsjtshx9GjOTlNVlU1zeRX9WgGRb7OsKA1A7NcYO6HtRX/SjmVdZrmc1aNl7V/SDQ26jNiKkNv64Nn01tQHWMQGDqxy8ywKtVFjblepqPuTe/msHR/q4g2spHNjLASzMStTQgQbObXVOLWDWdHfxUtQj82J24W4H7gsGmpKZR67wVVZ+6gzcPBVIrA1Lzda06WOxa5ql4GNGGAel4XBvdt9vtmgE4WezObZZei4F2z9Pdhl/1fXwi6kRVwQnH30bc36HHk80SIMzP1CUFkla3JymopEBwLFSjx7SUMJerSHOA5bzKehJCfUgI8fGI8agOKuYNiyTC36y5EKUX11FusbHQNagvrbOSV9mgxSeZPTjCY39ZlsmtaCDTZVAa5OqcP70iXcvwsymrnOhALxJCfbSOf1mdlcMldeRW1hMX4q0phda5yuGhQHJzWdmSXU5prZWpSaFcNSGeW2YmedRFaa2VmoYmAryMmpvCJJexQg0R4K4giAgwa4PEyAAz6cW1vLo2ky935hPsY/IwvkQGeBHiY9KCGM8fHkVuRQNPr0hHQlmmxl+8eHQs10xKwKDXkRjuS4ivMol4w7REzAY9b6zPcv09gEUT4rVJRvV7frS8nsLqRm6Zlcy71090GZBMBPmYuHBUDI9eOByA9YdLteu4cdoAvIx6ZDz71HHB3rTEpNcRG+ztqqfm64v096KgqoGXVmcyf8k6Tc1w3/zBXDUhHgCjXqf1q937rxePjuWSMTEUVDXgcCptL7eigaKaRl74OYOnf0qjuqEJX5OByAAvEsN8iQnyZky8MmD/6+d7PRQ0r6/L4t7PdpNTodRFR2nr3998lAe/2g94GgCgOR5SZxVI7rGS3L+R7gPxrUcqyCqzUOhyQTsWbX3Dfthb1Gp9cU0jWaUWimsbySqrw314VF5n01K/qwa4dJdxTDWEFNdYPdwgP9mayzMrmpUs72xSjMEAn2zLZcnKDO23vfK+siaTp1eke7iTZ5TUUdNobz9uV52VtOJaj/I/uzKD859fT32TA3+zAZvDyT3zBmGzO7Wg1VdNjOe6swYAEB/qQ7nFhsVqp6imkXA/M9GBze0tKsCL2sYm0ktqqbPaaXLI3DQ9iRumJWrbpET4s+FwmfbeUZ/dYldcJlsbbcpdgaSq7eaPiObd6ydy84wkbeymcrCwhvc3H+Wvn+3hQGEN10xK4LZZyZw7PJqPF08m1NektcHcynpig72JcD1n7tne2gqK/s6mI/znx0NsylRccGcPjsDXpOepn9K4z6WYckd9lwFMH6ioldLaMCC5398DhTXsza/G4ZR5ftVhjHqJ4TEBrM8o07ablhKG1e4kp6JeUUO59c+iA707nCz8ZFsu/3SLV6cue/CrfZriaWpyKPOGRXHbrGQmJ4bilJu/awadxNUT4rA5nBytqG813m9oclBusfHptlz+76u9yLLMsl35/H3ZPmQg3ScMm8PJCteYKUUokHqfdzcdYe7Ta7psAGpscmCzO4nwN2NzONmcXcENb29t003maLmFP7y5pc0B8Nr0subggy1ezqr7QaC3UXMZc5c7gyKrvu6trWSV1mn7tzxOY5ODG9/Zpvnh1rrkt5EBZq0c1Q1NWtyZgupGbnxnG+c8s4Zfs8oZEaO4E4X7qwokL8wGHQaXPz1AsI8Rk14pm7/r4X/kmwMeMwnVnRz8qPWkyiNPFp9sy+U/P3qmsHW3AvcFlzF3f/ruLk91QxO/f3OLR/wDd+ptdm54e6tHLInO4j5YbRl7xf2lv/KgEq+r3GJ1+dIrL/CBkf6YDTqKqht55Jv9fLO7gKqGJgw6iWAfI0U1yvJznlmjxct46qe0VrEz3M+1tw1f+9fXZR1XEOyPtuTw2A/NWSQ6Y3xccaCY+7/Y2+VzAWzOKmf+knX8/s0tHXZATyYlNY387n9b+sRzoSLLMn/6eJdHp6AzgS2PBw91ZxeMP29uyGbpL4d5Y322x0DieA1Ix1IgrTxQzLnPruW293e0+o6pkxz9grw7NCDtzavmpne3sTOnkhvf2aa5+bRV5o2HyzjnmTVknMIx2gR9C1mWySiuxaTXMaG/osZRO/NldTYam5zEBvsQG+yjBEx19SXSS5R9EkJ9WZjaj58OFHO03KIpkc5zzV4fLqmjwW1AOn1gOAadpLltVFhsHutVBdK6jDLe2XQEp1Pm16wKJieFtoo78d3eQuptDuKCfZAkiYWp0aw8WEx2mcVjgO/uwvbtHiUOiDqADnMZZlSKXa5Q7oO8KUmeCqQwv+Z9Ar2NhPia8DXpmZYSzo6cSl5bl018iA+/m9KfuBB3A5IZnU4iwt+MToJzh0cB8NXOfM4ZFsmzV47i2StHtbpHd5ydws0zlEFtuL+Za6ck0OSQCfE1YTYoivRIf08FkjqYVJUmANedNYCbXMeJD/HBbNCRW9FAsI8Rs0FPqJ+Zf108nEcuGM6SRaN4+oqRgKcCyd/LgCTBY5eM4PZZyeh0kjboTIn0Y1JiKNuOVvL0ijQKq5sNgyktZu39zJ4xPFVig32wO2WKaho9FBVPr0jnuZ8Psy6jVBug3zNvEH+aO1CLE3W4pI5X12ZhdzgpqGrgvz+m8ck2JYmHwym3Clbszvu/5mh1NqaFAUkN7l5cY8XHpMegkzpUILU1uQyerp2fblcCtssyrWKLHeuYoMTWcncrVA0xalllGc1YpFJmaXZhGxIdQKC3kfSSOpocTgqrG7Tg7QVuAZjf35LDy2sysdodlNQ08vdl+3luVQayLPPB5hzeWJ+l/bp/A92v+wdXoOnv9jbH4FFd59rr4/6a1ToG1Z68apyyzN/mD+GJy1N58LyhXD0xHp3U/Fy7u6Gp15Nf1cCevCpSIv083I+iArzIKrV4TA7FtjCWpsYFau3m91P68/fzh6JzxR9SDerXTk7gL+cM1PYZFRek/d/dXVPF16THZYdiwoAQ9hfU8Mg3B/h4Wy6yjIe6ztds4PyR/dicVYHDpXiKC/FhUmIIh0vq+GBLjvZ+Up+XF38zRjOCPr0indfWZvFzWglj4oPwMurx8zJQb3Ow2qWYunlGEuP7K9vXNtpJDPPl4fOHEuhtJDrQq83+hvqN0Enw5c58TQWVVlzL2YMjuWxMLPsLarQ4mWe5FI/pxbWaGmrx9EQeOn+ox3i4JdX1Tfzj2wP8b0O2Fp+tukFZ9u6vR3luVQYOp8zkxDBtnzEJwdq7+sZpA7hv/mBGueLnpRfVam1T5/Y5OVBQwz++PcB7v+aw4XA5b208wjubjrI8OIUCs/JNUpO6DDpFDEitW95phEGvI6OkjqPl9a38yDtCfdhHxQXx04Finl6RzpbsCnYcrdIaqcqP+4r4Ja2UX7PKmTdM+VirL1o1Sn1KhF+rQajqRx8f6sOMQeEcLbeweHoSTy5Pw2p3UFHfxNr0UjJLLYxNCNaUKy0fgj151aw4UExiuC/DYwI1F7bIAC8tkn9VQxP9Q32x2p0s31/EluwKxsQHcc7QKK52zdh4GfXcP38wU5PDkCSJvy0YwnhXZ0+SJAaE+ZJWXKu5t4FnVP3OKpCqG5qQJMWNKb0dOfDx8P6vRzlUVMvdcwdidBm73K3AfUFFsie/Gp0E/UN9u10RtSmzjNVppSzfX8SN0xNbrd9xtIqVB0sYGh3AoKhBbRyhfeqsDgK9lUwtLQeuJbVWzAYd4f7NwSqVjoZVuwcR/mYSw/3YlVvFjpxK0otrSQj1JcjHSEKoL/sLajhQUIPN4eSjrblcNjaW19dlkxThyyJXe4XmD0xKhF+bqUDf3HAEh1PmphlJrdZ1xEdbc9FJEnfMTua5nw93qu18vDWXlQeL+cs5Awn1Mx9ze3e+3l3AwcIaDhYqH0fVl707+flQCWvSS1l9qJQrxsd1+/k6Q25FA1/uVCTzatplu1Omot7mMaA6GXh2wBtJCu+cZPitjUewWO0EeBvxMRlYNCGel1ZnHvfz7J55ra136Jc78zlUVMuholoeqB5CP7eAt5kldYT4mojw92ozI4rK17vzWb6/mMr6Jo/ArW216115VaQX1xHh79VqnUDQVe74cCdGvY6yOitJEX5a+y2uaWR1WonmehwX4q2pJHIr6/nfhmLe/zWHxHBfjHodN89I5P3NR3nxl0wq623EBnszMNIPL6OOXTme6tMBYb70D/Pl7Y1HMBl02iy3yuCo5s750Yp69uZXU2GxeRhCQMlu9tl2xTigDvoWT0/iXVfKbyVLrfJ9U1OyS5KSnKRfoBfxLsOOuzuacu1WqhuaPAZ+scE+xIV4axN17vsEeBkJ9TPhY9IzJSlUK9Pjl4zgsrGx2jdYkpoNTxEBXngZ9YyIUb4lThmmJIVx0eiYNu/TghHRHn/fND2J9zYd1SYeAYJcE4mPfnuAmsYmskothPubNRczaDZYgRJIOznCj/0FNR7vk4tHx7Y6v1q/Bp3EwEh/SmutXDq2eTvVJWhyUhgLR0Tz1sYj2OxOPrhhEgueWweAj8lzOOPvZaCsztrKpS8uRDnXQ8v2se1oJSaDDpvd6RF36dZZyYCi6mhJndXO3vxqPtueh4yMn9mgqVj/+d0BBkX6c/c5g3hjfTbFNY38bcEQHE5Z6/MDjI4LRicp9+W81Gi+21PIf388xP82ZDMgzBeL1c7SXzKxNjn5v4VDtf2W/nKYz3fkeag4Wio1wv3NVFhsHgaS3IoGEkI7HgOp/SmTXofN4eSKcXFaFkGTXscTy9P4fEcele0EmpYkqKizaZPMoX4mBkYq97+wqhGnrBgbP92eR25lA4nhfsiyzOHiWqx2JztzqjTVunJdigKwzmpnX74S86akVrmf72w6wt+X7fc4v83u5Gh5PXOHRrLCLUPZfZ/vYeHIfsSH+JBbWc/984cAsCmrTLv37lw7uX+rPvOImEAtfqn7s6kab3flKN/Ni0bHMCQ6gFdcQcyDfIyau1bLfVQmJ4byyhpl+2smJ5AU7scLPx+muMaqxY27dnJ/kiP8tHhT4W7PpRrTzPNeSAR4G6mqb+LOs1O486NdlFusBHobsdodHgYoUN6JDU0OduVWYrU7iQv25rKxcbyyNouyOisPXzCMi5duoKzOSoiviQUjookL9uH8F9Zr4+WsUgsXjVLeL7UtXPovGNmPhanRLHx+vet6Evj9VEXFNTDSn7Q2AnKr7XpovwD25ddgMugYEuXP7rxq7pyTwoAwX15ak6mpSM9yxWjLKK6lrM6GyaDj7rkD8TLq2Xqkgu/3FnH/F3sYFRfEK2uzGB0XzKi4QJb+kqmVd0tWBYXVDby4WlkW5GPk1bVZmPQ6D9WXl1HPmPggth+t5O65g/A26WmwOZAkRVxR1KLsAP/+/iA1jXaCfYw8/uNBDhYq498HEudqx12dVorZoGvVRvoq3aZAkiTpXEmS0iRJOixJ0n3ddZ6OUGOt7OliJgC1Iz/N1fFQO9178lu7yajHVgewsix7KGuCfYyMiQ9ulVlqd2413kY9yeF+mA16HjhvKOH+Zv5zWSrPLhpNakzzIHJvXrU2QKlskQVDdaNQz+9uQHK6ZghqGpoI8jGSGhuoXctjl6Sy9DdjNHcigJtmJDHcdd7rzhrgsU79f8uPtI8rAHhVFwxIgd5GRsYGkVVq8ciEcrzY7E4OFiofIfdgce73oai699019uRVkRLhT/8w3243aKlqp/bavtqWu/psgNLG1Fm9lu4/SsBRL0bGBrVaXlxjJczPhFGvIzUmUAmAJytlra5vIsDbyIiYQHblVmFzOIkJ8uZAYQ2HimppaHKQVlTr0fbVZ2rO0EiyyiweA/CyOiv5VYo0vStuUE0OJwcKa7hwVD/+NHcgJr2uU77Te1312ZYS6tj7VmsznG0ZwroD9b639U7rLbQ2mVflYZDpDnfPYrdjdjYOUnV9E0fL6ymrs5FVamHR+DjumJ2iHO8EFUi+Jn2bBqQ9+VVa29jTom3sza8mNTYQP7O+QwWSul/LrD9FbVz3ntxqEkJ9tAQKglOTvtD/AmUGdk16CTtzKhkZG6gN5guqG3l1bRY/7FPcQlQFEkBORT1vbTxCZICZ22crA/mIAC/mD49i5cFiNmdXMDlRUQuF+prZ5eaqEORjxN/LyB1npxAeYOatjUdaZcFJjvDMavbur4qSWp2Vf+Wasbz0mzFMSgzVJkHUDn24v5kFIxQVUlmdlX6B3ugkZTJNNSYBLBzZT1MztQxoW1TdwIGCGpIiPI3W/3feUBZPT/LYR42TdOvMZO6ak+KhHFD/72s2EOJrItTXrE2e3TYrmXvmDSIh1FebKZ+S5Gkg64gQXxNPXD5Sq39QBqWqovuN9dlszCzX7kN73D4rmYWp0a3c+FriZdQT7m8m2NfErTOTuPfctie1JieGEuxr4r+XpfLvS0YwtF8AL/1mDEsWtVZV+XsZXCEiPAfYajtbebCEQG8j/7xoOL6ufuzdcwfy74tHeGSmU3n92nH8bcFgQAki/cm2XK4cH8eTl6dy1xzlO7B8f7ErU5NTy4a2N6+anIp6LSMWKAlqolzPwnkuI9VLazKJD/Hh1plJWj/n9fXZWp8gv6qBJSszyKto8PgWqP2g/KoGlu8rYs6QSE2poxpP3V1D26O4phFvo56EUB/0OokLR/VDkhQDhdnlDuhl0DM1OYw73NqFSlywjytotmJEMhv0zB4cye7cKr7erUwMqW1WLU9+VYPmircps5wVB4o1g8ia9BKtf6nGwlFd9NyzG7pnLITmGDwqBdWNvLXhCC+7jA0NrvNtzCxnalKoq0/a3IYnt/GcnD+yn/Z/9zGQavhUjbqTE0O1iXdAi3+m7KdcV8u2Nb5/iOa2pq5T4g81apnM1PO8d/1Enrgs1eOZa+/5Uz1bYoO9eeLyVB69YBhLFo3iofOHtfJ2UV2mVrm8BmKDffA26fnvZak8csEwBkb64+26btVQoxpi3VHr7vXfjeOSMc3G6mBfI3FuKkN3A8nI2EDSimo09Y+K2gf8yzmDWJgazd/mD+becwfzyAXDGBIdgJdRz+2zkrW2kRDqS2ywN5uzK/h0Wy5zh0Zqz/5vJyYwIiaQj7bm8vKaLPIqGvh8Rx6PfnsAfy8D98wbhMmg44d9RfznxzT8zAYeWDCEJYtGszA1mvvmD26V7OrOswfy0PnDtOXeJj0BXkaPsf5fzx3MAwsUg+WholrGJQTzl3mD2JevxGo6b0Q05UZPw+6sQRHode2/U/sS3aJAkiRJDywF5gJ5wFZJkr6WZflAx3ueXFRXmb15VVzg9gI4FmqcngGuBql2Itoa3KnL1GxrapYFL6OOxiankuEssFkNZHB94PfmVzM8JkD7uyXustu9+dU0uh2ztNaqPYDqgHVvfjVOp0yd5sLWLDeuqm9iRIyRlEg/1mWU4W3Ue8wadYbU2EA+255HaV3bg63Ox0BSDEipLgv4vvyaNl/YXSG9uFbr2OzJq2KoK+2rOjD0MnbOCNCdyLLM3rxqZg+OwKCXPOKndAdqu2jvPGq73ZunpCXuSspIi9VOQmgA6cV1bcZAigrwIjU2kO/2FmptttiVMUSdiUyNC+TjbYrEurbRzu68KiL8zZrRF5T0pOqsF0CTQ+ZQUa02e1Jc04if2cDkxFBeWp3J/vxqprg+bu6GnD151cwZ2jlFRVpRLTa7kxGxQUiSRESA2cPY0BbFNY3ax25vXjUzB0V06lwAVruDg4U1XDd1AB9uyWF3XjWLJnR69+PG/f73FdROcVaZBS+jXms7ipvdyVVlFbuyMTU2OVsZ99ujpXFwRGygq9NgOOEYSAmhvq0SEVRYbORWNPCnOQN5/ucM9uZXaTP8aga4c4ZFUV5nbdeApGYTbImXUdemYXVvfnUr9wrBqUVf6X+BMqD4yuViMNk1WJMkWH2oxCP4b2ywN012ZSCw4kAx1Q1NPHzBUC3IKsCU5DDtWFOSlT5DqJ9JU9/FBHlrhpcLRvbD2uTgns/28MuhEu0Yep1EeAs142fb84gL8dYMC6qS3GJzaN8ed7eTqUlhfLEjn01Z5UQFeFFvs1Pp6teoz/NNbgoGL6MeP7OBepsdnSSx/nAZ5W0ontTzApgNevzNBkwGJcj23KGR2rr+oT7Y7E5N4QRKDCE1XALgsX1yuB+V9TYSQrs2q91SleRObaOdWuzH7LvNHxHdpoqnLeKCvam3OTh7SGS726j9VveytXd8fy+Dh4JKpV+Ql2bsu2FaIleMi+ODzTnkVTbwx9nJ7faF5gyNBCL5fHs+72/OwWTQcdusZKIDvZk9OJLnVmXglJV4J9/tKdTa5dWv/6q5AboTG+KjBS0HpTzXnzWAy8fFcc9nSuyYAC8Dz6xMZ0RMIO9sOgLA/QsG88g3yqNsNijKoKLqRhyyjIzM7bOT+dDl7v/PC4cz66nV5FbW8/yqDIprGwnzM/PptjymDwzjsUtStfLkVtYTEWAmKtCLRruDUD8zQ6MDqLPatWDEr147lthgHxxOmZfWZGptTicp2QLXZ5Rh0EuaQubayQm8ti6L535WsqGNTQjGqJd44Mt97MuvYe5Qpa/kZdTx9e4CjpTXc8vMJF5anam5jLnzp493MS4hRFP8AYT6msmvasDLqMOo1zFzUHgrZZHN4dTGcbd/sAOTQadNAlldyiX1fg13jR/c+c3EBP753cFWy8P9zJgNOrYcqcDPbGBETKDHmM59vzHxwaQX17YyaPqaDaTGBpJX2aCtiwwwsza9jG1HKgn3N2vLW3rAdITqIhviazqm+kwN2vyz612pGodmufVlG1whXO44O0U7vr/ZQK3VriQDQNImjqckhZEaG8QXOxTDYbCPCS+jHn8vA7WNdg8D0qSkUJ77+TB//GCnlnhnTEIwZoOOUF8TMwdFePSppyY318EV4+N4aXUmja4MloMi/Vl1qARJgrtc5QTl2/HAeUNY9OqvZJdZuG1WEl/uyKewppGlvxnDwEh/1meU8fmOPCQJXrh6DINcStUZLRSsKpOTQlu9/1rafaalhDMtJZyX1mRSYbExJSmUy8cqZS6psfLYpSPYvfUg5UYfvPx9qaxv4q65KZwqdJcL2wTgsCzLWQCSJH0EXAj0aAfGqNcxtF+AJj3sLKoxRFXt5FU2YNBJrWaAKy02cirqMegk9uZXu4I2K53yYf0C2X60ktTYQCIDzJq/cFSgF3aHk/0F1Vw9IaHdMkS4DEAGnaS92MYmBLP9aCXFNY3aA6hmUqtttJNZWofV7nQFAFQDHir+9kE+Ri3e0bB+7Ruu2kOVQh8q9Mx2VW9zYNLruuTCFuRSmijlrzphA5JqvDPoJI8BuCaBjA7o9Sxs+VUNlFtspMYGUuYKNNjkcGozhicTWZa1dnG0vJ6qehtBPp6zoOr6couN/KqGdrOgtEWd1a4ZgtpyYRvWL0BTrKnPQUltI8U1jVq7THW1RYNOwu6UyatsICXCTzMgBfsYOW9ENE8sT+P9X3O07fbkVWkGpJIaKxEBZq0t7c5rNiDtya1GkkBCaWNzhrbfKW1ZL6DMigAewejbQw3grba/rpBWVEuTQyY1Noj9BTXdblgExWh1qKgGg07iYKFiMGs5I9Ub7M6t0u7z/oIat/fdyVcPFtdY6R/qS25FfaeNP+p7Rq+TcDiVewZqGzkxBVJ8iA8ZLVx61bYwfkAwAyP9Pb4/+wuqccqQGhPI1iMV7QYCzypVsgmq9ar+DuunKP2cThmdq9ejqvbUrFeCU5Y+0f8CPOJGTE4MxaDXEeZnZpWbUSfU14SPyYBslPE3GzQ3Vvd91f1bHndqcpj2XDx64TB0UmslwRc78wn2MeJwyviaDVp7d6etCUZ1f1XV1HJ5cY2VS8fEUruviMp6pV/z1OUjaXI4W7kxh/qZ8G3So5ckLTbgsfo9oX4mj+tReXDhUOxOz0mfP80d2GY6e1Di+Ngczi5NErXHm38Yz9EyCw+7DBgtjWAnwp/mDtRSfrfknesmUG9zdOkabpmR3GbcUrNBT6S/F0U1jVr57547EIvV3qnj/3X+IL7bU8SUpFCiA5WBtsmgIyrAiwLXZJMaBPrecwexNr1Ucyd75Zqxmjrojtkp1FmbiAwwawNrtU28d/1Eyi1KcPgnlqexJr2U4TGB/HZiPHOHRmoGJLV9vPvrUfQ6iasnxBMT5M2710+gvM5GfKgP/YK8+DWrgj15VTQ5ZPQ6iRBfEx9uyeWysXGMTQgmr7Kenw+VcOX4OBaMiNbikP1twRDNa6C01qr1E/U6iX5ByuR6VIAXDU0Obpw2QDPOnpXSrI67eUYi//7+EHqdREyQtyuYu8yHW3K0TGo3TkvkeZeR6bwR0Xy8NVcLVu9r0msqpbI6Gz/uL9LqNjbYhzfWZZFf1cDTV4zS+tSxQd4cKbfw5h8mkFOutFf1+XB/90xOVAwdZXVWwvyUODltjY28TXrtnrgjSRImvQ6r3cmCEVHavh8tnkRprVXbr7SukX6B3u0mQbr33MEefYjrzhpAoLfSZ5+UGNLmPp/ePLlDdXaAt2KAdnd3bA9/LyP9Ar045IoXFRPUejzw5h8mcKTMoik4JUnx2r+CAAAgAElEQVQiJtibQ0W1PHHZyFb9SPfzqgaw2GAfDhbWeKiwxsQr8YTWpJcyNDqAMH8z3+wuQK+TOD+1Y+Oz2aDn6StHacbBxdMTCfIxMTIusFUg6tHxQZgNyr2anhLOWcnhZJdZtJhVd81Jod82b1JjAzXjUVd5/XfjSC+uIynczyMuXmywNxUWG5OSQjEZdDx1+UhXVkkjT2d+zxGvYJKefJS0ojoGR7U2YPZVusuAFAPkuv2dB0zspnN1SGpMIO/+epRx/1zZ6X2sLvlooLdidPl+bxHzhkfx3Z5Cj+PYncrHTl03/l8rNYt8aqwycB4RE6i95OcvWYtep8Mpyy51Uvuz6qq8VT22+zGve2srJteMRlmdVfOhvuSljYCSwlRVIP35k900NCkxa9TzjejgvO0xJFpp1G11UQJ9jLy5IZtPXcEEO6Kq3sbkpFBCfE3EBnvzzMp0XnNLoXo8WKyKr+qwfgF8tj1X83+2WBV/07gQH75tce96miaXQmpEbBAHXHEfJv171Unp1LVElmWqG5q0djHzydUYdJ4fRfd2c95z67tkyLLanUQFKh2Fx384xJJVh7V15RYrswdHMCImEEmCIdH+7M6t4vEfDtHY5GBEjCIvHhTlj0mvY/rAMNZllGG1Own0NpIY5oef2cDwmEDFlcYVa2niACWg32PfH+I51/mqG2yMSwgh2NdEfIgPS1Y1Z+GobWwiMcwXg07HK2uz+GBLLp3BYrUT6G3UZncjA8ws31/cYdtpsNnRSTBnSCQrDna8beu6VN41qbGB7CsI5OU1md3eTp2yTJND1u7/pMdWtTlQ6WkqLFbmj4jW3nfD+wWwI6eSf357gKd+Sj/G3l2jusHGpMRQJY7G5hy+2d16trMlddYmEkJ98DMbqG5o0tQOkQFe/Hyo5Ljum8Vqx99sIMTPRNYBi8cxVDeG4TGBjIwL5OOtudp69RuVGhvIwcIarHZn875jblV+/7kSm6t9qd8R9Vf9loz/10rtHaR+z47n+yDoU/SZ/ldciDcxQd6YjTptUiwywExprZXEMCUuY5hLrSBJErEhygAjMcyXqMCWsWt8iA32xqjXaetunJbIS6uVRAktlStqXKHcCmWCxCnL7X7nbpzWOk5gTJA38SE+BHh7dpP7BSkZ2crrbNw4LZHN2RVQZiHIx9SueibU14TdKaOTJAqqGz0UT+0R6mfW3DPcaescHaleZw3uvCL2WMwaFAGDFINFvc3RZVVTR0xLaXumH2gVx6ozdKTWiAvxxiHLmqKpK8efPTiS2YNb34PYEB9sDllLyx7mZ+aWGUlcO7k/wx9aDniqzNzLNyjSnyPlFlJcg3N1ncVq54312dRZ7bzy27Gtngk1OHywjxGLzcFtrthN7nUZG+TDpiwlQ1awjwGLzcFHiydxxcubuOaNzfiYDFibHEhImqJKxV3t0ep6g71xyjLxIT4UVjdqaouWXDOpP6+uzcbLqMPgiq8EijJm5cFiIgPM3DozmQ+35NLkcDI0OoCBkX78mlVBhL+ZpHA/MkvrtNiy6rN00/Qk9DqJr3bmE+FyLXW/F41NDpd6JJzPd+STVVrHgHA/DhRUE+BlVM7VL6DT7kLttSf1ev44u1k5MsnNsNoZ1dCkFobYKUlhTEnqeD93V7m2CPQ2EuZr6vQYY2CUPwXVikKtpbsWKO547i55oLyTC6oaWJga3anzxAV7U1LTqGXzhuZ4QluyK3jh6tHEBvsw68nVFFY3aGqnjnCvu4mJoUxsx6htNugZ1z+YbUcqGRUfhNmg9zDid7RvZxmbEMLYBKWO3OsqLtiHQ0W1mtrQ/VwTavOZUJsPbvueKvRaEG1JkhYDiwHi4+OPsfXxc+2U/jhlcHQxE1uEv5nYYG+uGBeLJMHFo2MI9zO3SqkY6G3kuqkDiPA3az7O/mYDt85MJszPzIxB4dgdMjdOG6BZ0UHxK+5IFTE8JpB7zx3EovHxJIT4UG9zcMvMJPzMBo/0sSa9jsXTE0mJ8KOk1opRJ3Hu8Cgi/M3cM28Q+VWKeuqCkTFEB3rx6IXDmDmw6x0KL6OeZ68cxaAofzJK6kgK9yWz1EJimC9pRbVsz6ns9LEWul70/3feUNZmlHa5LG0xcUAI/YK8tdlLlTHxwaREKEaJk5/LqWuE+ZoYERNIbLC3h9tdd2A2KHET4kN82lSHmfQ6bpmZRFKYL2XtBEVsD4NO4opxcQR5m8h2s7KDIuFcND4Ofy8j/7k0lTHxQQyKCuBgYQ0SilsaKDN2/70sleQIP84ZGsWuvCquGBeHTifx+KVKDAJJknj0wmFszq7ggpH9KK21tkojumC40pYeOG8Ia9I929LZgyPQ6SSPgIqdYUL/EO1jeMO0xFbqrbYYGh3AmPhgQv1MXW5nscHexAZ7c/WEeCxWe5uDhpONr0nPzTOSiA7wor7JcewdegC9JPG7Kf0ZHRfEkXILv52UQGK4X5spXk8G56f2o6rexjq3NLXHYubAcPzMBhrtzXV266wk4k9gIJUaE8jwmEDXvKwngyL9CfAy8oepA9DrJI9Ar/1DfYgI8OKCUf0orbM2t5uvNyu/0y4AlMmIK8fHMSo2iItGxzAyNpCLRsUgy7R6BwV5G1ulmBacnvREH0ySJP550XAMbjFG7jp7ID+nlTBnSAQ6SfKY3Pjz3OZ1bfGPi4Z7GLtDfE28fu24dhWUDy0cxs9pJcwdEolRr9PSwb93/URkZBxO5V977/h/XjSctsZFD18wDKdTJtjXxO2zkllxsLjdMoMSx8MpKxNJKw4We7iGtMef5w7scr+1p3jkguHYHF1TBPUl7p47iHpb5xRHnT/mQOoa7ZiNSiyVqUlKQho/s4F3r5/QrroK4C/zBlHb2Lo8vmYDSxaNoqbB7mE8+mjxJC3eaaXFhp+XodU2Kn+cncyAcF8mDgghxNdEdUMTSeF+PH3lKJa71Dyg9KHdjUfH4q45A6muV7wbOvJA8Dbpee4q5RoAPrlpMqW1VgK8Dfywr4jJiaHKNotGUdXQhE4ncefZA0kML2ByYihRgV5UWGwE+5goqW0kxNdEVX2TZvi5bVaSR0ZEgDvPTvZY9sB5QyirVQJAl9QqaqMKi+2kxJp5/4aJLqNw3wp8vHh6UpeU0bfPSqZfkLeWLa0z3DYrmYtHx7T7HH1121QK3RJ83DYruc2EH/fMG0xOhYVEVzKTZxeNIqe8Xvv7ZHHPvMEcLbe06VLandw8I4lzhkW2cl881ZG6muK+UweVpMnAw7Isz3P9fT+ALMuPtbX9uHHj5G3btp30cggEAoFAcEYxc6byu3p1b5aiTSRJ2i7L8rjeLsfpTFf7XyD6YAKBQCAQ9Dg93F87mX2w7lIgbQVSJEkaAOQDi4Cru+lcAoFAIBAIoE8ajgQ9iuh/CQQCgUDQ1zmF+2vdYkCSZdkuSdLtwHJAD/xPluX93XEugUAgEAgEAoHofwkEAoFAIOheusWFrcuFkKRaIK2bTxMP5HTzOdojEOjNfNm9df4zsc57+16fSXXem3XdW/Xc2+1LvEvOjHN3V30PkmX5+FKcCLoNSZJKgaM9eErxPPcsZ2J9n4n9AxD9sJ5AvEN6FlHfJ4+T1gfrKwakbd0dF0GSpFJZlrueyuHknPtVWZYX98a5e/P8Z2Kd94F7fcbUeW/WdW/Vcx9oX+Jdcgacu7vquye+9YK+j3iee/y8Z1x9n4n9A9e5RT+s+88r3iE9e25R3yfvuCetD9b53N2nPlW9eO5vevHcvXn+M7HOe/ten0l13pt13Vv13NvtS7xLzoxz92Z9C05/xPPcs5yJ9X0m9g9A9MN6AvEO6VlEffdBziQFkpj57GFEnfc8os57BlHPPYuo756lu+pb3EcBiHbQ04j67llEffcMop57DlHXPcup0AfrKwqkV0+Tcwg8EXXe84g67xlEPfcsor57lu6qb3EfBSDaQU8j6rtnEfXdM4h67jlEXfcsfb4P1icUSAKBQCAQCAQCgUAgEAgEgr5LX1EgCQQCgUAgEAgEAoFAIBAI+iinrQFJkqS6Y6xfLUmS8Oc8QSRJipUkaZkkSRmSJGVKkrREkiRTB9vfJUmST0+W8XTjWG1bcPKQJOkiSZJkSZIG93ZZzhTEu7tnEO9uQU8gnueeQTzPPY/oi/UMoh/W84j3dvdzqr+zT1sDkqD7kSRJAr4AvpJlOQUYCPgB/+pgt7uAPvMACATH4Cpgveu300iSpO+e4ggEJ454dwsEpw/ieRac5oh+mOC04nR4Zx8zBpIkSXHAO0AkIAOvyrK8RJKkEOBjoD9wBLhCluVKV6UsARYA9cDvZVne0dE5wsLC5P79+5/YlQgEAoFAIOizbN++vUyW5fDeLofAE9EHEwgEAoHg9OZk9sEMndjGDvxZluUdkiT5A9slSVoB/B5YJcvy45Ik3QfcB/wVmA+kuP5NBF5y/bZL//792bZt2/FfhUAgEAgEgj6NJElHe7sMgtaIPphAIBAIBKc3J7MPdkwXNlmWC1UFkSzLtcBBIAa4EHjbtdnbwEWu/18IvCMr/AoESZIUfbIKLBD0JiJroeCUYuZM5Z9AIBAIukxNY1NvF0EgEAgEpzOnYF+9SzGQJEnqD4wGNgORsiwXulYVobi4gWJcynXbLc+1rOWxFkuStE2SpG2lpaVdLLZA0PM0OZzMfHI1z6xI7+2iCAQCgUAg6Eb25FUx6pGfyC6z9HZRBAKBQCDoM3TagCRJkh/wOXCXLMs17utkRZbRJWmGLMuvyrI8TpblceHhIiSCoO+zM6eKo+X1PPdzBpuzynu7OAKBQCA4zZEk6X+SJJVIkrTPbVmIJEkrXNlbVkiSFOxaLkmS9JwkSYclSdojSdKY3iv5qU9ORT1OGY6UCwOSQCAQCAQqnTIgSZJkRDEevS/L8heuxcWqa5rrt8S1PB+Ic9s91rVMIDilWZNegl4nERvszd2f7BbSdoFAIBB0N28B57ZYdh9KDMoUYJXrb/CMQbkYJQal4Dipa7QDUF0vvvUCgUAgEKgc04Dkyqr2BnBQluWn3VZ9DfzO9f/fAcvcll/rmgmbBFS7uboJBKcsa9JLGRsfzJJFoymqaeThr/f3dpEEAoFAcBojy/JaoKLFYhGDsgeosyoGpMp6Wy+XRCAQCASCvkNnFEhTgWuA2ZIk7XL9WwA8DsyVJCkDmOP6G+B7IAs4DLwG3Hryiy0Q9CxldVb25dcwY1A4Y+KDuW1WMl/syOe7PcI2KhAIBIIe5YRiUIKIQ9kZVANSlZsCSSTSEAgEAsGZjuFYG8iyvB6Q2ll9dhvby8BtJ1gugaBPsS5D6WDPGKjE6/rj7GTWpJXwty/3MjYhmKhAr94snkAgEAjOQGRZliVJ6rJVQ5blV4FXAcaNGyesIm2gurBVuRRId320k0NFtfx41/TeLJZAIBAIBL1Kl7KwCQRnKmvSSgnzMzE0OgAAo17HM1eOwmZ3cs9nu3E6Rf9bIBAIBD2CiEHZA2gKpAZFgfTVrgIOFdVysLCmo90EAoFAIDitEQYkgeAYOJ0yazPKmJYSjk7XLMZLDPfj/xYOYV1GGW9vOtJr5RMIBALBGYWIQdkD1LZwYfM16QF4a8OR3iqSQCAQCAS9jjAgCQTHYF9BNRUWm+a+5s7VE+I5e3AEj/9wiPTi2l4onUAgEAhOVyRJ+hDYBAySJClPkqTrETEoe4SWLmyq0Pj7fcImJxAIBIIzF2FAEgiOwZq0UiQJpqWEtVonSRKPX5qKn9nAXR/twmZ39kIJBQKBQHA6IsvyVbIsR8uybJRlOVaW5TdkWS6XZflsWZZTZFmeI8tyhWtbWZbl22RZTpJleYQsy9t6u/ynMu4ubI1NDhqaHPia9NQ22mlscvRy6QQCgUAg6B2EAUkgOAZr0ksZERNIqJ+5zfXh/mYevzSVA4U1PL0ivYdLJ+htskrrsNrFYEIgEAhOJ1QFUqXFRqVLhZQc4QdAhcXWa+USCAQCgaA3EQYkgaADquub2JFT2ab7mjtzh0Zy1YQ4XlmbyZ68qh4qnaC3OVRUw9lPr+GSFzeSWVrX28URCAQCwUlCVSDVNNopq1UMRknCgHRS+Hp3AUfKLL1djDOGLdkVbDxc1tvFEAgEpwnCgCQQdMCGzDKcMsc0IAE8cN5QvI16Ptic0wMlE/QFPtycg1Gvo6CqgYXPreeTbbnIssjIJxAIBKc6dVY7elfijCPlirEjKVwYkE4UWZb58ye7+GCL6Cv1FFe8somrX9/c28UQCASnCcKAJBB0wJq0Uvy9DIyKCzrmtn5mA/OHR/PdnkIRH+EMoMHm4Iud+SwYHsUPd05nZFwg9362hzs/2kVNY1NvF08gEAgEx4ksy9RZ7UQHegGQXSYMSCcLm8NJk0PWFF6CnkP0TQUCwclAGJB6CYvVzvqMMqFW6MPIssya9FKmpYRh0HfuUbl0TAy1VjsrDhR3c+kEvc13ewupbbSzaEI8UYFevH/DJP5yzkC+21vIec+tY0dOZW8XUSAQCATHQWOTE4dTJjbYG1Bi3YGIgXQyqLc6XL/CgNTTZBQLV3uBQHDiCANSL/Hgsn389o3N/CQMDX2W9OI6imoaO+W+pjIpMZR+gV58sSOvG0sm6At8tCWHxDBfJg4IAUCvk7h9dgqf3DQZpxMuf3kTS385jNMpjMQCgUBwKlFrVVSkccE+QLMCKT7EB71OEgakE8BiUwxH9TahhulpDhbW9HYRBALBaYAwIPUCO3Mq+WJHPgadxD++PSAkpX2UNeklAEzvggFJp5O4aHQMazPKKKlt7K6iCXqZ9OJath2t5KoJ8UiS5LFubEIw3985jXOHR/HE8jSu+d9mLGKmVSAQCPo8NrsTp1PWMrDFqAqkMgsBXgZMBh3BPkbKhQHpuGlwGY6EAann8DMbADggDEgCgeAkYOjtApxpyLLMo98eINzfzGMXj+CGd7bx8ppM7pozsLeL1mfYeLiM7HILNrsTm91Jk0P5tTqcNNlljAaJ688aQIS/V7eWY016KYMi/YkO9O7SfpeMieHF1Zl8vauAG6YldlPpBL3Jh1tyMOolLhkT0+b6QG8jL1w1mmnJYdz3xV5eWp3JX+YN6uFSCgQCgaArXPu/zWSVWvj3xSMAGBjpj7dRT22jnf6hihop2MdEpTAgHTcWzYAkJlZ6AlmWaXBNVB8qEgYkgUBw4ggDUg+zbFcBO3Oq+O9lqcwZGsnC1GheWp3JpWNiiQvx6e3i9To/7S9i8bvb21xn0uswGXQ0Njn4ZlcBr147juExgd1SDovVztbsSn4/tX+X902O8GdkbCBf7sw/qQakvy/bx/6CGh46fyipsccO6i3oHhqbHHyxI595w6II9TO3u50kSSyaEM+mrHJeW5fFVRPjiQnqmjFSIBAIBD3Hr1kVANzwzjYAQnxNTE0OY+XBYoJ9Tdoy4cJ2/Kixj4QCqWew2pV4XgBpRbW9XBqBQHA6IFzYepB6m53HfzjEiJhALhsTC8AD5w1BJymubGc6VfU2HvhqH4Oj/Nl0/2x2PjiXfY/MI/2f88l+bAHp/5rPvkfm8dVtU5FRYsz8uK+wW8rya1Y5NoezS/GP3LlkTCz7C2pO2mxPbkU97/16lF25VVy0dAMPf72fWpHpq1f4cV8R1Q1NXD0hvlPb33vuYAD+88Oh7iyWQCAQCE4Ap1NGr5M0dx9QXH9mDVb6ASE+igEp1M9EucXaK2U8HagXLmw9iuoyGOBloKqhScRlFAgEJ4wwIPUgL6/Joqimkb+fPxSdTombEh3oze2zk/npQDFr0kt7pByyLLMjp5Imh7NHztdZHv3mABUWG09ePpLoQG+CfU34mZWYA+5xZobHBLLs9qkMjvbn5vd28PyqjJOezW5NeineRj3j+gcf1/7nj+yHQSfx5Y78k1Ke/23IRidJ/HjnNH4zMYG3Nx1hztNr+HFfYY9l8mvoxs5endV+ynRqPtiSQ0KoD5MSQzu1fUyQN4unJ/L17oJTKjPb/oJq/vjhTlanlYhskQKB4LSlsLqBsf9Ywa9Z5TicMldNiNPW+XsZmDkoAoAglwEp2MdEZb2YwDlemoNoCxe2nkCt76hAL2QZ6kS9CwSCE0QYkNqhpKaRh7/ez5c7T042rfyqBl5Zk8nC1GjG9w/xWHfDtAH0D/Xhka/3Y7N3v1HnyZ/SuOTFjTzw5d5uOX5BVQNHyy1d2mflgWK+2JnPbTOTOuWWFuHvxYc3TuLi0TE8tSKdOz7adVKDka9NL2VKUihmg/649g/xNTFzUARf7szXpMPHS3VDE59szeWCkf1IifTnHxcN54tbphDia+bm93Zww9vbyKusP6FzHIvHvj/IqEd/4pdDJSftmIdL6nhx9WEuWrqB4Q8t58KlG9jZxw0smaV1bMmuYNH4eM0I3BlunpFEhL+Zf3x74JQwxjQ5nPz5k918s7uA37+5lQXPrWfZrnzsfczoLBAIBCfKgYIayi02Vrsm8dz7IH5mAzFB3vx+Sn/OHR4FQKivicp62wl/289UhAKpZ1HrOTJAiRta0yCMnwKB4MQQBqQWNDY5WPrLYWY+uZq3Nh7hL5/uYWNm2Qkf97HvDwJw/4IhrdaZDXoeumAYWWUW/rch+4TP1RHPr8pg6S+ZJEf48cm2PD7emnNSj//17gLmPr2G+UvWsSW7olP7VNc38bcv9zI4yp/bZ6d0+lxeRj1PXzGSe88dxLd7CrjylU0U15x45rMjZRaOlNczY9Dxua+pXDomhpJaKxsOn1j7+XBLDhabg+unDdCWjY4P5pvbp/LAgiFszCxn7tNreXVtZrcYIH/cV8Qra7Mw6nUsfncbP+w9PrdBp1Nm+9FKHvvhILOfXM2cp9fw3x/TkGWZm2YkUlLbyMUvbuSvn+2hvK5vugd8tCUHg07isrGxXdrP12zgL/MGsTOniq93F3RT6U4e/1ufzaGiWpZePYYnLkvFZndw50e7mPXUat7ddERkjhQIBKc8tY1NHC23kF/VACiGJFAmgFQVkr+XEYCHLxjG3KGRAAT7mpBlxe1e0HXcDUinivL4VEbNAhvlMiDVNgoFkkAgODGEAcmFLMt8t6eQs59awxPL0zgrOYxv/3gW/UN9uP2DnSek8Nh6pIJv9xRy04ykdoPozhoUwZwhkTy/KoOi6u5J//7a2iyeWpHOJWNi+OHOaZyVHMaDy/azL7/6hI/d2OTggS/3cseHOxkU5U90oBe/+98WNmWWH3PfR789QLnFxhOXjcRk6FqTlCSJW2cm88pvx5JRUscFL6xnT17V8V4GAGszlFnI441/pDJ7SAQBXga+2HH8KrYmh5O3NhxhSlIow/p5KrMMeh03Tk9kxd3TmZocyr+/P8TIR37i6td+5ekV6azLKKXuBNPH55TXc89nuxkZG8jqe2YyIiaQ2z/cyVc7O++aZ7HaeeyHg0z49youfWkjb6zLJibYm39cOIxN989m2e1ncf/8Iaz680xump7I5zvymPXkat7ZdKRPzfBa7Q4+257H3KGRhPu3Hzy7PS4bE8uwfgH898e0Pm2Ayaus59mVGcwZEsl5qdFcPi6OFX+awavXjCXMz8yDy/Yz9fGfeeHnDKqFG4dAIDgFqLTYeHK557v3hV8Oc+HSDeRVugxIhc0GpH9dNILdD53TZp8kKdwPgO1H+7Zitq9S79YvabT33W/h6YJqsIsOFAYkgUBwchAGJGBvXjVXvLKJ2z7Ygb+XgQ9umKhl+Hr12nE02Z3c9O7244oB43TKPPrNAaICvLh5RscZuf6+cChNTpnHfjh4vJfSLu9uOsK/vj/IeanR/PfSVIx6HUsWjSLEx8St7++g+gQkrUfKLFzy4kbe35zDTdMT+fimyXy0eDKxwd784a0tbOxAgfPzoWI+35HHLTOSGBF7/BnVzhkWxee3TMGg03HZy5t4bW3WcRsf1qSV0j/Uh4RQ3+MuDyjKsvNH9uPH/UXHbcj5bk8hRTWN3NhBNrfYYB9eu3Ycb183gSvHx1Hd0MQLP2dwzRtbSH14OQufX8fDX+/nuz2FWLvQWbPaHdz2wQ4k4IWrxxDmZ+bd6ycyvn8wf/pkV6fUa+sySpn37FpeWZPFuIRgliwaxfYH5/Lu9RO5ZnJ/ogObDap+ZgP3LxjCj3dNY0RsIH9ftp/zn1/P9qOdU7J1Nz/tL6ayvomrOhk8uyU6ncSDC4eSX9XAG+u7V2l4vMiyzEPL9iNJ8MiFw7TlOp3EOcOi+OKWKXy8eBIjYgN58qd05j27ltLavqkWEwgEApXX1mXxwi+HWZ3WHGsyp7yeqvomth5RvjFqZrVQXzM6nUSgt7HNY01OCiXYx8g3e7onicfpjsWtL22xCgNSd6MqkCI1A5KY+BEIBCfGGW1AKqpu5C+f7uaCpevJKrXw2CUj+O6OaUxJDtO2SQr3Y8lVozhQWMP9X+zpcvySz3bksTe/mvvmD8bHZOhw2/hQH26ensiyXQVszjq2cqezfLItlweX7WfOkEievXIUBr1y20P9zCz9zRgKqhr48ye7j0tK/N2eQhY+v578qgZev3Yc9y8YglGvI9zfzIeLJ5EQ4ssf3trKuozWAcKrG5q4/4u9DIz0449nJ5/wdQ6JDmDZ7VOZnhLOv74/yKJXN3GkrGuxmKx2Bxszy09YfaRyyZhYGpucx+X2Jcsyr63LIjnC75jlkSSJGQPDefiCYXx3xzR2P3QO714/gdtnpxDgZeTjrbnc9sEOFr36KyW1nVO4/fu7g+zNr+bJy0cSF+IDKK5Yb/1hAtNTwvnr53t5qx2Xy+r6Ju75dDfXvLEFk17HJzdN5uVrxnLhqJh2O+UqyRH+vHf9RJZePYYKi41LX9rEnz/ZfdLVLnaHk8LqBnblVlHSCdfHD7fkEBvszVlu74euMikxlHnDInnxl8Odvg89yfL9Raw6VMKf5gxsUy0pSRITE0N56w8T+PyWyVTW231M/WYAACAASURBVLjr4519SinWGWRZPiViUQkEghOnscnBh1uUCQ/3CQnV+L0r11O1HOzb8TfKqNexYEQ0Kw8Ui0DQx0GDW511Z3IOgUKDS3WnurDVCAOSQNDn+Ff8TJ5bldHbxeg0Z6QBaW9eNXd9tJOz/vMzX+8qYPH0RH65ZyZXTYhH30Zg3NmDI7l7zkC+2lXQJeVAndXOE8vTGB0fxIWj+nVqn1tmJhMT5M1DX+8/KQFrl+3K56+f72FaShgvXD0ao97zlo9NCOZvC4aw8mAxr6zN6vRxrXYHf1+2j9s+2EFyhB/f3XEWc1zxAVTC/BQj0oAwX65/exur0zwDMP/z2wOU1SlZ1443WHVLwvzMvHbtWJ66fCSHimqZv2Qdb2880mnj2LYjlTQ0OU44/pHKmPgg+of68MVxZGPblFXO/oIarj9rQJcCNoMSt2FaSjh3zx3IBzdOYs/D5/DcVaM5VFjLRS9sOKbb4rd7Cnh701FuOGsA5wyL8ljnZdTz6rVjOWdoJA9/c4CX12R6rP9xXyFznlnDFzvzuXVmEt/fOY0JAzwDxx8LSZI4LzWaVX+ewS0zk1i2K58Llq4nvbi2S8cBOFxSy3OrMnjgy73c8PZWzn9+PeP/tZKU//uByY/9zEVLNzDtv7/w7Mr0dl3LjpRZ2JhZzqLxcV2+Fy25f/4QbA4nTy1PP6HjnGzqrHYe/voAQ6ID+MPU/sfcfmxCCI9eOIwNh8t5/udT46N3qKiGx74/yKTHVjH+Xyt5dmU6ZX003pZAcDojyzIvrc5k8TvbOv193ptXfVzZar/bU0hlfRNBPka2Ha3kq535pBfXUuIyILnbkv3Nhk71Ry4Y2Y+GJoeHoknQTIPNwWUvbeTHfa0nzzwUSH3IACfLMu9uOnLauWarKq8o4cImEPRZvg8dyJddCA/S23QsiTmNcDhlVh4s5o312WzJrsDXpOeayQlcN3WApq7oiNtmJbO/oIZ/f3+QIdEBTO2ECmHpL4cprbXy2rXjPNLQd4S3Sc+DC4dw83s7eH19NjecNUBTDHWVH/cVcfcnu5nQP4RXrxmHl7HtTtEfpvZne04lTyw/xKi4ICYndZyefF9+Nfd9sYd9+TXccNYA7j13cLuxi0J8TXx44yR+8/pmFr+znVeuGcuswRH8klbCp9vzuHVmEqmxQcd1fe0hSRKXjo1lSnIof/18Lw99vZ/l+4v4z6WpHd5ru8PJ8v1FmPS6Tqdo70xZLhkTyzMr08mvamg3BlZbvLEum1BfExePjjnhchj1Oi4Y2Y/EMF9ufGcbl7+8iWeuHMm5w6NbbZtdZuG+z/cyOj6Iv84f3ObxzAY9S38zhrs/2c3jPxyiwebgN5PieWjZfn7YV8TQ6ADe/P34TmXU6whfs4G/njuYswdHcPN7O7h46QaeumKUlg2nIxxOmVfXZvHMinRsDichviYiA7yIDDAzrF8AEQFeRAV4EeZn4uvdBTy7MoPPd+Tx0MJhrYyhH23NRa+TuHxcXDtn6zz9w3z5/ZT+vL4+m2unJLSKbdUesixTVd9EbmU9uRUNrt96GpucmAw6THpJ+TXoMOqVX6+oMcyryKAzLeipn9Iorm3kpd+O6fQ754pxcWzOqmDJqgzGJYRwVsrxq7O6i5KaRpbtKuCLnfkcLKzBoJOYOSgcpwzPrszgxdWZXDSqH9edNYDBUQG9XdxjUlZnxWp3duldomKzO8kus5AS4XfChlCB4ER4cXUmTyxPA5Q2HeFSR3TEMyvTySipZd29s7t0rrTiWswGHVeOj+O1tVnclbOLy8bGeqhAzQYdVruTED9Tp445NiEYf7OBdRllLBjR+jt6pvPDvkK2Ha0krbiW1Ngg+rm9r9xVW30pE1tmaR0PLtuPJEn8dlJCbxfnpKHWd6QIoi0Q9EnsSBSZ/HGUWaiz2vEz933zTN8v4QlSZ7Xz6bZc3txwhJyKemKCvPm/84Zwxfg4Arw6lim7o9NJPHnFSC5eWsftH+zg69vPatcYkV1m4csdebyxLptLRscwKq5rBpJ5w6KYlhLG4z8cYsnKDIb/P3vnHV9Vef/x93Pvzd6bkAGEvUFABUHBgbZ1a6u2tbZ1VKu21vGrtUPb2tZZ96x7gxMFBRzsnQAJIYMMsve6N/fe3P38/riDBBKSQEJu8Hm/XnklOet+zznPOfc5n/P5fp+USGakRjMjNYqZqdGMigvtVpCSUtJhd9JispFV3srdH7qLH7/6y3mEBPb8Rk0IwcNXzCC/1sDt7+9h1e8W+r5ovFjsTr7cV8vb28vZU9FGZLCOl6+dc4Q7pTtiwgJ578bTuPbVnfzm7SweuXIGD31VwPjEcH5/bt9HXesvyVEhvPmreXywq5IHV+ZxwZMb+cuFU7h6XhptZjv5dQbya9spqDWQX2fgQL0Rm8PFovHxvaYb9ofLZqfw368P8Nmeam5d0rdUveIGI98WNPD7c8b3KPwdC9NSolhx2xnc9FYWN7+zm7vOm8BtZ4/ztSeL3clv392NTit49qenHOFY60yAVsOTV80iWKfhqW+LeGljCS4J95w/kZvOzDjquv1l7uhYVt6+kN+8k8XN72Txu3PGc8c543t8CC5pNHL3h9nsqWjjB9NG8M9LpxEf3nPh66VTR/DTU5u4//P93PBWJmdPSuT+i6YwKi4Mm8PFR1mVnD0p8Yjr4li57ezxfLy7mgdX5vPejacdcT23W+zsqWgjs6yFgrp2Kls7qGox035YLa2Y0ABCA3XYnC5sDs+P03UopWz0Ofw3dSF/2VnBVfPSehSyc6v1vLm1jJ+dls7s9Jg+74cQggcvm8a+aj13LNvDl79b1KcHwd6QUlLaZCIyOID48MA+C/DedesMFnaUtvDJnmo2FzXikjAzLZq/XzyVC2ckE+dpCyWNRl7fcpCPsqpYnlnFwnHxXL9wDGdNSPA7gaWx3cpz64p5b0cFNqeLUXGhLBgbx4Kx8cwfG9dt+3a6JPm1BrYUN7G1pJldZS2YbU5+c2ZGtyOCKhQnig2dnDuVrR19um9Ut3ZQr7cipezXPaHeYCEpMpi5o2J5Sbqd1rnVeiz2Qy7vGalR7CprJS6sbwKSTqvh9LFxxz3K6snK8sxKkqOC0XfYeXRNIU9cNcs3r7No5E8pgLWeAWwGayCbocLrQIoOCSBQp1EpbAqFH6HvsGMMDMcp3M9M+bUG5o3uX9bGUHBSC0jv7ijnoS8LaLc6mDMqhnt/MImlU5KO2dETHqTj5V/M5eJnN3PT21l8cssCnzDTarKxMsf9lntPRRtCwKLxCcfUSRdC8OLP57A2r47sSj05VW28s70cq2eI9qiQAGakRhEdGkiryUaLyUar2f3b2mkY92kpkbz+q1P7pGSGB+l48edzuOTZLdz23m7eu/F0ArQaKlvMvLujguWZlbSYbGTEh/G3C6dwxZzUXmvZdCY6NJB3rj+NX7y2gzuW7UUj4MVrzxiw1LWeEEJwzanpLBwXz/99lMOfPtnHw6sLaOtkUY4PD2RyciTXzR/F5ORIzhyg+kde0mJDOXVMLJ/sdjuu+tLxfXXzQQJ1Gq6dP/BvwRIjgvngptO59+McHv/6AEUNRh65cgbBAVr+/kUe+bUGXv/lvD45HLQat/gYGxZIfl07f7twCuMSwwc8ZnDbr5fddDp/+SyXp78tIq9GzxNXzfINswzuovWvby3jkdUFBAdoeerqWVw8c2SfjvmCcfF8+ftFvLGljCe/OcB5T2zk5jMzGB0fRpPRxk+PsXh2d0SFBPCHc8fz1xX7+Tqvnhmp0ewqayGrvJVdZS3k1xpwSdAIyEgIZ1RsKKeNiSU1JoT02FDSPD89XdtOl8TudFFz0ZXcN2Yp936yj9X763jo8hk+G3vnZe/7dB9x4UHcc373jrOjERqo4/mfncLFz27h9vf38O4Npx3zPdblknxb0MAL64vZXeGuSxIZrGNsYjhjE8LJSAhjbIL77xFRwVS1milpMFHSaKSk0Uhpo/tv7wNKakwIty4Zx6WzU3wjJ3VmbEI4D146nbuXTuS9nRW8tbWcX72xi4yEMH48J40lkxKYmBTRr4fVgabNbOOljaW8saUMm9PFj+ekMiEpgq0lzazMruX9nZUATBoRwfyxcZyeEUe9wcLW4ma2lTb7BkgYlxjOlXNSaTa5tzczLVo5JxSDzurcWraVNPP3S6Z1mV7ZamZ6ShT7qvVUt3UwZ1TvwnWNvgOb00WLyeYTgftCvcHCiMhgTh3tvodqhKDQkw4dHRpAm9nO7PQYdpW1EhvW9+0uHBfP13n1VDSbSY/r3cn+faGyxcz20hbuOX8iVa0drNhbTYfNSUigFrPNgdnqJDJYh8Hi8CsHklc4qutDTcThhNnmIEinQafVuI97h/+IdgrF95matg7OenQdNyXN9E3LrdYrAWmoSQgPYvGkRK5fOKbfLqCeGBMfxtPXzObXb+zi/z7O4YfTRvDJnmrWFzZgd0omjYjgTz+YxCWzUo54UOsPYUE6LpudymWzUwH3cO4H6tt9glJ2lZ7KFjOxYYGMjA5m6shIYsMCiQkLJDbU/XvB2DjC+mGDm5AUwUNXTOf3H+zlng+zabc4+K6wAQGcNyWJX8wfzYKxccf8MBUVGsDbN5zGncv2cuqY2AE7J30hLTaUd284jQ92VZJV3srEEeFMGhHJ5OTIYxqSvb9ccUoKf/x4HzlVemb2st/NRiuf7K7iilNSjuqaOR6CA7Q8cdUsJoyI4NE1hZQ3m7ho5kje31nBLYvHsmRSYp+3pdGIE+ZmCA7Q8uiVM5ieEsU/VuZx6XNb+N8v5pKREE55s4l7PsxhZ1kL50xK5D+XT++3GyZAq+HGMzO4eNZI/v1lPk9/VwzAyKjgARcWrzk1nbe2lfPbd3fj8DiGQgK0nDIqmtvPHs/c0THMTo85JiurViPQarRkWFp5L38Zb//7DR76qoClT2zggYunctnsFN91/Pa2MnKq9Dx9zex+icKdGZ8Uwb8um8ady7N54psD/Rai7E4XK/bW8NKGEooajKTGuJ2iWo1wi0MNJjYeaOSjrKoet5ESHUJGQhg/mZvG2MRwpiRHMjstuk9OoujQQH67eBw3Lsrgy321vL6ljIdXF/Dw6gJGRAazeGICiycmcMa4+C6C5WBitDp4ddNBXtlUitHm4OKZI7nj3AmMiXePDvnrhWNwOF3k1hjYWtLE1uJm3ttRwetbygD38Vg6JYkzxrkdSl73nM3hoqatg3s+zGZCUjjjEiNOyP4ovp98lFXFN/kN3H3+RN+1Y3U4qTNYuGjmSPZV66lqNfe6nXaL3Zd6U2ew9FNAsjJ1ZCRRoQFs/uPZPPtdEY+tddegO3N8Ap9n17hT/TeW9tmBBPhKGWwubuKncQP3gmG44y1KvmRiIm0dNt7fWcE3+fXEhQfyy9d2ERGsIz4iyCMgnVgxo7TRyONrD/CXCyd3GQUW3EJj598nC2ab0/csEBkcoEZhUyhOEFJK7E7ZY5mXwvp27E7JJ/HuUY81AvbXGE5kiMfMSS0gLZ06ok8pVv1lycRE7l46kUfXFPJFdg0JEUH8csFoLpudypSRg1NDI0CrYerIKKaOjOKnpw1eR+WSWSlklrXy9vZy4sODuG3JOK45Nb1L/vrxEBkcwCvXzRuQbfUXjUbw09PSB/X49cQPpifztxX7+WR3Va8C0jvbK7A6XFy/cMygxiSE4LeLxzEuIZw7lu3lwVX5nDo6lrvOmzCon3u8CCG4bsFoJiRFcOt7u7nk2S389DS3GKPTCh778UyuOCXluFwjSZHBPHX1bH56ajqPrS3k8lNSuy2wfzzotBoevnIGb20tY3pqNPNGxzA5OXJAU//APVLCdQtGc9aEBO7+MJs7l2fzVW4d/7psGi4XPLb2AIvGx3PRjONzo1x+Sio7Slt4bl0Jc0fHsmRi7yKk2ebgg52VvLKplBq9hUkjInjq6ln8aHpyty6mdovd5zKqM1hIjQllbEIYY+LDBiTtNECr4ZJZKVwyK4V6g4UNhY2sK2xgVU4tH+yqRKcRzBkVw5kTEogI1tFucWCyun+MVidGqx2T1YnF7iQiWNdF0I8JDSQ2LICY0EAiQwLQ9NA+JZKNBxp5YX0JrWY7S6ckcdfSiUwccaTQo9NqmJUWzay0aH67eBxWh5N9VXoSIoJIj+0+1TlQp+GFn83hwmc2cdPbWay49YwTJoopvn94nT77qvUsGOsWXGraLEjpfmkVExpAVWtHr9up7ZRWVG+wHFE7bl1hA9tLmo94mSGlpN5g4exOL0XS48J8f9981liuWzCKjHi3Q7GvNZAAxiaEERmsI6/W/UKvxWTr9fv9+0Bpo3v02zHxYQTqIkiMCOKL7BpmpkVjc7poNtkYmxhOaaPphDmQXC7JnspW/rAsm4oWMxkJYdy1dGKXZepOUgHJZHMQ6smW8H5vKRSKwefz7BruWp7NrxeO4Y8XTDriOaKyxf3ypDbIrR3MHRWrBKSTnd8uHktMaCApMSGcMTbumFM2/JH7L5rCRTNHMistukfVVNE/IoMDWDp1BJ9n1/CTeWk9Fk622J28vb2MJRMTTpgzYOnUEXx08wLe2HqQu5ZOHDZtef7YOD6/7Qx+83YWL20sZdH4eB65csYRbxWPh9My4vjw5gUDtr3DOSU9hlP6UXPoeBgdH8ay38zn9S0HeWRNIec/sZHR8WHYnS4evHTagKRp/f2SqWRXtXHnsr2s+t2iboVng8XO7vJWtpU2s2xXJW1mO6eOieVfl01n8cSEo8YRERzAzLToE/KQlhQZzE/mpfGTeWnYnS52l7ey/kAj6wsbfcV/AXQaQViQjnDPT1iQluAALU1GGwfqjbSabcf0kLRofDx3L53Yr30N0mmZ2wfr84ioYJ796Sn87JUd3P1hNi/+fM6QpukpTk6MVgeVLW5xaF/VIQHJ22lOiwkhNSaU6j4ISNVth5ap0x85cuLb28r5rqCB3y4Z18VJabS606SSIg85lkZ3SjcbGR1MdGggUkpuWTyWH/UjrVMIwbjEcIobjPxzZR57K9vY+edz+7x+T5Q2GnG6JOOThqc78GCTkZToEF+Jh7MmJPBdQUMXoTrB4yAzW0+MgPT8+mIeW3uA0EAtYxPC+Dy7hjvPm9DlvudtVydbDSSz1UmY5wVLhHIgKYYB/a1z569sL23B4RnQ5/SMWM6e1HWAnormQ+7bWLuZ86dNIaeqbVjsvxKQjhEhxJA4WU4EOq2m38OuK3rnlwtGs3Z/HT96ejPTUiK5al46F88c2aWzu2JvNU1GGzcuyjihsU0ZGckjV87sfUE/IzUmlI9vWUBOlZ55o2P8/oY71Gg1ghsWZbB4YiJ3eYqM3710AqM6vZE/HoIDtDz/s1O46JnN3P7+Hj646XQa262d6ju1UlBnQEp3LEsmJnLL4rF9qn8ylARoNZyWEcdpGXH88YJJtJhsuKQkPEhHkE7Ta7uz2J2+OnWtJjvtFjtHG7g8JTpk0EWy0zPi+NMPJvHgqnxe2FDCbxf3rcC/QtFXijzuI4Ccar3vb6/jKC02lJToEIoa2o9Y93BqOgtIhzlEpJS+tKn91XoWdBolt97gFgU6D4AwKtZ9vwvUanzfv0II/nhB/2vAjU0IZ/2BRnQaQUO7lQaD5YjU6S3FTXydV8+ffzTZ5zB9fctB4sKDuHjmyCO2efeH2ZisTtb84UzftKzyVsYlhBMV6v9uwdImExkJh75TJidH8mFWFTsONvumxXucXifKgfR1Xj0z06J561ensmZ/Hf/3cQ7f5DcQHqQjMkTH1JFRvlH5DBaHr2bTyYDJ5vDtS2SI7qSr8aQ4udhb2cY1L2/ni9sXDlpN1RPFgfp2po6MJK/WwL4qw5ECUsshASnFahj0zJOBRAlICsUJYs6oGHbedy6f7a3mg12V/PWzXP61Ko8fTkvmqnlpzBsdyyubDjI5OZL5Y+OGOtxhQ3CAVgme/WRcYjgf3zyfzPLWAS/Wl5EQzkNXzOD29/cw98FvfEWcwwK1zE6P4ffnjGfeaHcNtP7UaPMnYvtRJwXcbTQ5KmRA3XEDwfULx7C3so3H1hQyIyWahePje19JoegjBzwC0rSUSPZVHRKQKlvNBGgFSZHBpMaEsP5AQ69vXGvbLGg1gqiQAOoPc4hUeNLHwC1UdRaQGjwPy4kRh0SdqNAAokMDCAvUHfdLh7GJ4XzYqTZbbo2esw8TkF7dfJDvChrosDl56Irp2J2SR9cUEhce6EsdzipvZXZ6DDaHi33VeuxOSZvZRnRoIC0mGz95aRvXnj6KBy6eelzxDgSvbznI61vK+ObOs45wqUspKW00cfkpKb5pk5Pd6RmdUxUjggMI0mmOqwaSlJItxc0sGBvXpdbd4W3JYneSV2vg+oUZRIUGcP7UEfznq3xufCvTE4uOdXcvpk5vIThAg8Xuos5g8dWbGwhq9R0YLY5+ucrW7K+jurWDX/fwUNlXl4K7BpInhS3oSAdSvcGCvsPOhGHqeFOcXHy6u4oOu5P1hQ2DJiDtrmjl67x67l46ccDLU3iRUnKgrp1LZ6fQYXOyv+bQd6DebKes2URFi5n48ECajDZG2oZH6pqX4ZGrolCcJESFBnDdgtF8+buFfHHbQq44JZWv8+q56uXtLHjoO4oajNy4aIxy0igGHZ1Ww+kZcYPy5XnRzJHcvXQCC8fFc/9FU1h5+0Ky71/KOzecxh3nTuCMcfHDVjw6mRDCPYriuMRwbn9/d5+KGSv8HyHEBUKIQiFEsRDi3qGKo6CunZAALT+cnkxFi5l1BQ2AO4VtZHQIWo0gNSYEi91dFwfc6UNe0UdKSVZ5i3tEybYOkiKCGBkd3MVBcaC+3bfdQK2GfVV62i12Fj78He/vrKDe4yrpnMIG7vo8h087Fg4f3XF/tQGbw8XDqwvIqzFgd7rYXtpMXFggyzLdg3jsqWjFbHNS2dJBfm07n+6p5soXt/HPlXlkV7Vhd7r9iVnlrQBsPNCI0yX5rsAttPUFl0vyxNcHugh3Tpcks6wFp2fQhtW5tSzbVdHrtg42mfjrZ7nk1RiQUvLO9nIqWsxsKmo8YtlGoxWj1UFGfGcH0iFhwis4hQRqCQvSYbY5sTlc5B1D3Y/VuXX8/NUdfJhV6Zv2/s4Kljy2vktqyP4aA3an9A3cEhUawDd3nsUTV83kocun02Fz8sjqApqMVqZ5ygsMZBqblJIb38rk6pe3Y+s0UnJv6/z7y3z+81U+bWZbl3kWu5M7PtjDj57ejN3ZdXstJhuljcYu00xWh69GYHc1kO5cvpefvLQNi91/RsRTHGLnwRaeX1/c52u/M/oOO3/9LNfnrvN3pJSszasHYHtpcy9LHxvFDUZ+9fouXlhf0sUVOdDU6i20Wx1MGBHBlJGRXWobPbgqjyte2Eppk4lzJiWhkS7SLPqjbM3/UAKSQjEECCGYnhrFvy6bzs4/n8vjP55Jemwo01IiuXDGkZZ2hWK4cdvZ43nuZ6fwqzPGMC0latjU1vq+ERak46Vr5+JwSm55Z7d6iBjmCCG0wHPAD4ApwDVCiClDEcuB+nYmJIVz9bx0piRHcv2bu/hqXy3FDUbSYtx1iMZ63jCvL2zEbHNw2fNbuOz5rVjsTj7MquKKF7bxq9d3kVdrYGR0CCMig31FjiuazVz49GYe+CKPkAAtSyYlkFPdxkdZVVS1dvDcumJq2jwOpMNcQQ9eOo1/XDLtuPex8xvy+PAg9tcY+CirihfWl3Dd6ztZmVOD2ebkzz+aTFiglmW7KtlS3IRGgBCwNq/OV6D/ja1l/OOLPMBdWy3TIyCtK3QLZBUtZkqb3AWqt5Y0sfDh78gsa+k2rlc3H+Spb4v4v49zkFIipeSBz/f7hKo2s427P8zhjx/vY1VOLV/n1bM6t461++swdHKobC9t5vwnNvL29nJ++24WWeWtlHiKZH+eXeNbrrzZRK2+w1dAO6OTsBYdGkiyZ1TihR53WFiglpAALSabg3+s3M8Pn97EtpJmyptNXPDkRq5+eRt5NQYqms38+8t89OYj6/Z8sMstHL2+pYyCOgO1+g6e/raIsmYzv3xjp0+I3FPhPo6z0w+lBceFB3HZ7FSuPjWdX8wfzfLMKlwSX+pwd4W0rQ4nV720jb+tyPVNK2k0cuYj67ocC3ALeFnlrTicLr7NbyC32kCzycbb28v595f5tJhsFNa1+8Qhi93J8l2V3PfpPqpazeRU6SlvNmN3Sr7Kreuy3ZvfyeKzvTXk1Rq6zHO6JD9/ZQc/eGoTGw40sqW4Cb3ZTofdSZiviHYAZpsTh0d4qmg2s6W4mTaz3ffgnlutp1Z/yC1W0mjkwZV5NBvd6aCFde08vraQlzaU9ChqlDYa+c+X+b3WW5JS8vsP9nDtqzv85runpq2Dsx9bz/s7exdXe6LdYmd/jVvMvn9FLq9tPshBz7XbG8UN7ja1KqcWu9PFncv38sjqwi5Ox77yv42lvL29nKe+Ker3uv1BSsmeilZyq/Vc+Mwmrn9jV5/OfVZ5axcRNKdKT63eQmxYIDsPHhK7Dye3Wt9l+3V6C/9alUdju5UD9e0+R2rnz7E5XLhckjuX70WnEYQGavkiu4bsyjY6+plK+9W+WhY/uo5/rszrdv57Oyp4xjOK86QREUxLiaK6rYNWk412i52VObU4XBKbw8Wk5AheK/iYG2oz+xXDUDNor4CFEBcATwFa4BUp5UOD9VkKxXAmJFDLFXNSuWJO6lCHolAovoeMiQ/jv1fN4sa3MvnbilwevmKGckEOX04FiqWUpQBCiA+AS4Due7qDyKWz3KNhxoYFsvzm+fz8lR3c8u5uAO6/KA2AM8bGMzM1ikfXFJBV3uobbe3BVXmszq0nPTaU7aXNOFySq+elodUIdhxs4buCet7c6h55MzYsmGkpkcxOj2HN/nqeW1dMRLCOqtYOPsys9BW4KjcAGQAAIABJREFU70xPA1n0l7SYEF863sy0aLLKWtlXrWd8Yjh1Bgt3Ls9GI+CcSUnsmNHCFzk1pMWEMjMtGp1G8Pa2cppNNu45fyLbSprZXNzEuMRwwoJ0vLejgi/31dLUbuXUMbHsPNjCm1vLOHN8An9dkUut3sIdy/by94un0vlyzasx8PS3xaREh5Bfa+CPH+dQ1GBkT0Ub4xPDeWNrGVuKmzBaHYyMCubW93Z32acx8WGMigulwWCl1WwjJSaEu5ZO4Pb393DdazvRaQTnTk7iq311bC35hjPGxrF6fx2BWo1PgOlcAwncaWy1egvnTUniu4IGQj0DDuRU6X2Omf/7ONvnjmlot3LZ81uIDw+iuq2DPRWtTE+JJiEiiAlJ4XTYnWwsamRcYjgFde1c8OQmX/rZLYvH8ubWMi55bgvzM+LYU9nGyKjgLnWwOvP7c8bz2d5qWkw2ZqS628W2kmYiQ7q2ma/z6tlxsIUdB1tIiQ5hfFI4T31TREWLmfs+2YcAVuytoarVTHJUMOsKG5mfEUdFi5n02FBsDpfvgXPt/joqWswkR4Vw3w8n88rmUvZUuOt47TzY4hmRVZAYEczrWw6SV2NgRmoUB5tMrC9s5IGLpvDG1jL+82U+j64p4PwpIwgJ1JJXayAiWMd1r+0E3CKllIeEO+8+fZVbR1iQltW5dQgBcWFBvLm1jMyyFt7aVg7AkokJXDUvjQdX5VPV2sHq/XVMGhHBtwUNeHWjVrOdU8d0rWHodME/Vu6nsqWD/TUGfjw3lde2lBEaoOUX80cRFKCh3eJgd3krNqeLFXvd4tuNb2Vy9bx0Ws023txaxoSkCCaNiMBgsTNnVEy3g/psPNDEdwUNXDUvrYvTrT/YnZIPdlZQZ7Dy6zNG8/HuKkqbTDzw+X5CA7VEBPfvUdnmkDyypoDSRhMZ8WE+0fcfK/OYlRbNjYsyCAnsui8uF3y2t5qCunaklFS0mLn3kxxyqtKpau0gJTqEBz7fT5vZ1ue0LodT8sbWMgK1GpZnVrJgbDzBARo+z64ht1rPdQtGkxpz9LR6m8PFuzsqaDPb+fXC0QgEuytaGZsQTlrsoXU/21PjE1HDg3QU1LZz8bNbuP3scUT3ULdtxd4aVuytYeG4eH51xmicLsnjaw8QpNNw+9nj+PsXeSx8+DuajTYmJUdww6IMwoO07C5v49l1xWQkhPHHCyah0wgeXVNIQV07a/PqqWrtICE8iL9cOJnQQC0rs2v5ZE81C8bGMXd0LDlVep68ahbrChv4MLOK93dWMj0lit+fMx6NBqrbLBTVtzNpRCRFDe0kRwUzNiHcd4/dVNTE61vKiAkN4NXNB0mNCWFUp4EZ9lcbePzrA77/JyRG+MTRZZnugWM67O6BHeoNVtJjQ1msL+vTOfUnxLFY4nrdqPsN2AHgPKAK2AVcI6XstgMzd+5cmZk5vJQ3hUKh8HsWL3b/Xr9+KKNQDBMeX1vIM98V8/Et85kzauDrigkhsqSUcwd8wwofQogrgQuklDd4/r8WOE1Kedthy90E3ASQnp4+p7y8fNBjazJaueODvSydmsQv5o/2Tc8qb+Wql7bhcEkum52CwyX5IrsGnUbw8S0LSI4KpsloIyMhjHe2l/Pgqnzfuvf+YBK/PmMMTpfEYnfyuw/2sKmoiWeumc0jawqobOlgWkokK29fNGj7delzW8iID2NqSpRPIHjjV/NIjAjm12/sYnR8KB/cNJ+9lW1c+twWAO48bwJnTUjgD8v2UqPvYMM9S3BJyQVPbuKy2SlEBOt4bl0x01KiyKnS89K1c3jqmyLyat1pEAFawZ9+MJl/f5mPo5u39OdOTuI/l0/nqpe2UdpkYmZqFD+cnsz1C8fw+NcHeGVTKUunjuAP505gfWEDs9NjCAnQUqvv4J6PcnA4XcSHB1HRYubDm+czOz2Gz7NrWLarginJkVw2O5U/fpxDUmQQ3xU0MD0lCrPNSVmzid8uHscfzpvQJZ7n1hXzv02lbLhnCbe+u5sHLp7CA5/nsbm4ifjwQO45fyJ//Hgfp46J5eErZhAZrOPGtzLJrTHwqzNG89KGUgJ1mi4pYDqN4KvfL+LBVfmMSwxnzf46gnQa1v7hLPJrDdz36T5aPQ6fK09J4/fnju/xHH6ws4J7P9nHd3edxU9e2k6T8ciR/gCumptGYX27r2g7wH0/nMQz3xbTbnUQHqRjRFQwxQ1GLpk1kpU5taTFhPD4T2aytbiZp78r4vqFGby0sYRF4xMoqDXQ0G4lOEDD4z+eRUxYANe9thO7U3L+1CSmp0TxmOeh2urZ93MmJfLKdXN5Z0cFf/0sl5mpUeRU65ESTs9wH7/VuXVMSIogt1pPh93J5aekMC4xgtW5tdz8TlfB8OxJiZySHs1ja90Pvb+YP4r48CD+t7GUdquDkAAtf7lwMu9ur8Bkc3De5CR+u2Qc93++ny8Oc155CQ7QcN380by0sRTAk6rqpMl4yBni3aeF4+JZOjWJh74q8BVVn5gUQUWLmQ67k0CtBpuz+9Q/jcB3jRwPEcE6EiKCfA66u5dO4PUtZb7U2v4SHRrA3FExfJPfwMNXTGd+Rjzf5Nfz4oYSGtq7b1vBARpGx4VRUNfepU3NTI3ipWvncteHe9lS3L+UK42A//1iLre8u9t37QTpNIyJd39OX4gJDSAyJIByT1po57bYmdvPHkdMaCBnTUyg3mDhz5/m9uq6umTWSFZ53DgAEUE6Xvj5HMYnhbPokXWMiQtj8cQEvsiuoaZTWum5kxPJLG+lzeNM1GkEN56ZwUsbSlgwNp7iBmOXVOeLZ47kq9xa7E7JvNExLP/NfDYXN3Htqzv54fQRHgfsIReSdx8Pv+d4+cX8UfzpB5O5/IWt5NcemX571oQE2jrsGDrsrLt7Ma0mG6f9+1tfO540IoKbzxrLncv3suGeJaRd/kP3ioPcVx/IPthgCUjzgQeklOd7/v8TgJTyP90trwQkhUKhGASUgKToB06XZFtJ86AV01YC0uDTVwGpM/7QB6tu66DFaGPKSHfB5bwaA3HhgYyM7vqG3OF0UVDXjtMlCQ7QMnFEV9eBlJJavYWR0SE0G61UtXaQFhva78L3/cFgsROg0RCgFRTUtROk0/iKJVvsThwu6XNAlTQaMVudTEqOIECrwe500Wa2kxDhrsfUbLQSFqRDIwQGi5348CBq9R0kR4XQarL5Ru1JigxmRFQwNW0dNB72QBoerPPVZmoz23C4JPHhXes9eT8nOODIkcbazDY0GkFIgJYWk61H546XWn0HcWFBuKTEYLF3KVjuxe50YeiwE9cpDn2HnbImE6PiQokODaS6rYORUcE+92PnY1PZYiYxMohWk92XXhYTGkh6pzf/FrsTm9NFZPCxjVRXp7cwIiqYBoPF54TrjE4rmJIcic3poqDW/fAdHRrAqLgwX1sbFRdKeJCO+nYrKdEh1HnScQJ1GqSUtJntxIQFUm+wkBAehNHm4GCjieSoYF+aZZ3eQr3BwrjEcIJ0GmraLKTGhFDSaMRidzE5OQKdVtOlrVd6CslPTo7s1qnjRUpJQV17l4fisYnhBOs0FNS1Exyg9TlcvIV+R0aH+NpnZ1wuSX6dAYfzyOfI5OhgEiOCKW82+Qp0O12S4ga32yxAq2FCUjj17VbiwgIJDtBidTgpqjciBEweEYnBYsfhkoQF6ihqaKe7x9X4iCBSokMobjBish57QfbR8WGEBmoprGsnNFBLRkI4bWabTzTpL6PiQt0F/w1WRkQduh7MNgdF9cZu10mJCSE2NJBag4WU6BCajFaqWzsYHR9GVEgAUkqKGoz9SreKCglgdHyYr30AjIwOIT488Ih20BMZCWEE6dzHRqcVjE8Mp6bN4hNn4dB10Bmbw0VhXTuuHnQG7zqd72GpMSG+e0RDu4XY0EB0Wg0Wu5MD9e42EBygZUJSOG1mu+9+mBgZRHJUiO+6MtkcPjHQewxq9R00GKxMSo4gSOe+7zW2W0mICKKx3eob6TMqJIC02FAONplIiw2hxWSjwXDoHhsWpPU4kgQWu5PCw4Q4rUYwOTkSu9OFyerw7U/nc5AeG+q7DyRFBp+wvvpwEJD61YHxh86LQqFQKBSKwUMJSINPf1/ggeqDKRQKhUJxsjOQfbAhq2oqhLhJCJEphMhsbDxyJAeFQqFQKBQKRb/YBYwXQowRQgQCVwOfD3FMCoVCoVAoThIGq4h2NZDW6f9UzzQfUsqXgZcBhBAdQoj9R9leOtBTOfwo4GjJr/48X8U2OPNVbP4Z29Gu4+Pd/vf5uH5fY/fn2Hqb78+xHe91erT1Rx1lPcUAIKV0CCFuA9bgHsTkNSnl0fpXZGVlNQkhBqMIUm9t5UTSW7seCvzp+PhTLF7UOfPfGDrjb+fJ344P+FdM/na+wL+OD/hfPAN1ziYOwDbceIf3HMgf3MJUKTAGCASygalHWb6xl+31OB94uZd1/Xa+iu37F/v3PLbernN/jv2kjG04x+7PsQ3n2AfgOj3q+urn+/PTW1s5wbH4Xbv0s+PjN7Goc+b/MfjzefK34+NvMfnb+fK34+On8QzIOQMyByqmQXEgyf6/AWs7yrze5n/Ry7r+PF/FNjjzVWzHNn+wP7u369yfYz9ZY+ttvoptcOb7c2zHe532tr7i+0NvbeVE4o/t0p+Ojz/F4kWds+7xhxg642/nyd+OD/hXTP52vsC/jg/4Xzx+d84GpYh2v4MQIlMepahTb/MVCoX/o65jhcL/Od7rVF3nCn9EtcvhhzpnwwN1noYX6nwNPwbqnA3kuR+yItqH8fJxzlcoFP6Puo4VCv/neK9TdZ0r/BHVLocf6pwND9R5Gl6o8zX8GKhzNmDn3i8cSAqFQqFQKBQKhUKhUCgUCv/FXxxIwwIhxAVCiEIhRLEQ4l7PNCGE+JcQ4oAQIl8I8buhjrO/CCFeE0I0CCFyO037pxAiRwixVwixVggxcihjPFaEEGlCiHVCiDwhxH4hxO8902OFEF8LIYo8v2OGOtb+cJT9WuY5Z3uFEGVCiL1DHeux0MO19qoQItvTLj8SQoQPdZz9pYdrbVi3RS897Nuwb489XWud5t8lhJBCiPihilGhUCgUCoVCoTgRKAdSHxFCaIEDwHlAFbALuAY4DVgC/FJK6RJCJEopG4Yu0v4jhDgTMAJvSSmneaZFSikNnr9/B0yRUt48hGEeE0KIZCBZSrlbCBEBZAGXAr8EWqSUD3kEihgp5R+HMNR+0dN+SSnzOi3zOKCXUv5jqOI8Fo5yrVV1apP/BRqklA8NWaDHQA/X2iMM47bopbt9O2z+cG2PPV5rQog04BVgEjBHStk0lLEqFAqFQqFQKBSDiXIg9Z1TgWIpZamU0gZ8AFwC3AL8Q0rpAhhu4hGAlHIj0HLYNEOnf8OAYak0SilrpZS7PX+3A/lACu5z96ZnsTdxi0rDhqPsF+B2xgE/Ad4fmgiPi26vtU7ikQBCGIZtsrtrjWHeFr30sG/A8G6PvVxrTwD/xzBsiwrFyYYQIlUIscLj5iwRQjwlhAg8yvJ3CCFCT2SMiiMRQhiHOgZF7wghLvW4bScNdSyKvtPb9SWEWC+EUEW1h5jh9v2lBKS+kwJUdvq/yjNtLHCVECJTCPGVEGL8kEQ3CHhS8yqBnwF/G+p4jhchxGhgNrADSJJS1npm1QFJQxTWcXPYfnlZBNRLKYuGIqbjpKdrDSHE67jP1yTgmRMf2qBw0rTFozCc26OPzteaEOISoFpKmT2kQSkUCq9I/QnwmZRyPDABCAf+dZTV7gCUgKRQ9I1rgM2e333G4ypXKBQ9MBy/v/wihS0+Pl6OHj16qMNQKBQKheKYcUmJRoihDsNvycrKapJSJgx1HIquqD6YQqFQKBQnNwPZB9MNxEaOl9GjR5OZmTnUYSgUCoVCcUx8sLOCh1YXsOPP5xKgVebe7hBClA91DIojUX0whUKhUChODPoOOxc/u5lnrzmF6alRJ+xzB7IPpnq5CoVCoVAcJ5WtZtrMdowWx1CH0j8WL3b/KIYVJ+sIowqFQqFQDBuOoQ9V09ZBebOZ/FpD7wv7KUpAUigUfkVxg5FrX92B2TbMHsQV32tMVicARqtqt4oTggO4S0o5BTgduFUIMQW4F/jWU0fhW8//CoVCoVAo/ACL3d1fHM7POUpAUigUfkVmWQubipooaTANdSgKRZ8xeYQj0zDuECiGDyfrCKMKhUKhUJzMWOwuAMweIWk4ogQkhULhV3gdHM0m6xBHolD0HbPN3REwKQeS4gRzLCOMCiFu8owem9nY2HhC4lQoFAqF4vuO1eFxIFmVgKRQKBQDgldAajHZhjgShaLveNutcRh3CBTDDyFEOPAxcIeUsktBBekeZrfboXallC9LKedKKecmJKiB8RQKhUKhOBH4HEi24dtfVAKSQqHwK7xFiJWApBhOeHPZlQNJcaIQQgTgFo/elVJ+4plcL4RI9sxPBhqGKj6FQqFQKBRd8TmQhnHJAyUgKRQKv+JQCpsSkBTDB1VEW3EiEUII4FUgX0r5306zPgeu8/x9HbDiRMemUCgUCoWiew4V0R6+DiTdUAegUCgUnWn3prAZlYCkGD6YlANJcWI5A7gW2CeE2OuZdh/wELBcCHE9UA78ZIjiUygUCoVCcRgnQwqbEpAUCoVf4UthMysBSTF88DqQlICkOBFIKTcDoofZ55zIWBQKhUKhUPSNQw6k4dtfVClsCoXCr1BFtBXDEW9HQBXRVigUCoVCoVB0x8ngQFICkkKh8CtUEW3FcMPlkr6OgHIgKRQKhUKhUCi6w6KKaCsUCsXA4iuibbQOcSQKRd8w2w+9RVICkkKhUCgUCoWiO6zfdweSEOI1IUSDECK307RYIcTXQogiz++Y4w9ToVB8X2i32AEwWBzYna4hjkah6B1zJ9FIjcKmUCgUCoVCoegOrwOp4/sqIAFvABccNu1e4Fsp5XjgW8//CoVC0StSSoxWB9GhAQC0qjQ2xTDA1KkToAQkhUKhUCgUCkV3eItom76vKWxSyo1Ay2GTLwHe9Pz9JnDp8XyGQqH4/tBhd+KSMCo2FIBmJSAphgGd09ZUCptCoVAoFAqFoju8KWwWuwunSw5xNMfGYNRASpJS1nr+rgOSBuEzFArFSYi3gHZ6XBigCmkrhgde0Sg6NEA5kBQKhUKhOImpaDaz5LH11LR1DHUoimGIpVPdzA778ExjG9Qi2lJKCXQrrQkhbhJCZAohMhsbGwczDIVCMUxo9zx8p8eGAMqBpBgeeAshJkYEYbIOz86AQqFQKBSK3tlfo+dgk4mCOsNQh3LSYbY5hnVtoL7grYEEw3cktsEQkOqFEMkAnt8N3S0kpXxZSjlXSjk3ISFhEMJQKBTDDa8DaVSsx4GkRmJTDAO8rqOkyGCVwqZQKBQKxUlMi9n9crPFZB/iSE4+fvN2Fn/8OGeowxhULPZDAwQNV7FsMASkz4HrPH9fB6wYhM9QKBQnId4H8dTYEIRQKWyK4YH3DVJCRBAmmwO3+VahUCgUCsXJhneAFzXQy8BT3mwmu6ptqMMYVDqnsA1X1/pxCUhCiPeBbcBEIUSVEOJ64CHgPCFEEXCu53+FQqHolXaPAykqJIDokADfWx6Fwp/xdgASI4JxyeGb065QKBQKheLoeJ1Hqo868LSZbVS2mLE6Tt5+lNXhIiJIB0CHfXi61o93FLZrpJTJUsoAKWWqlPJVKWWzlPIcKeV4KeW5UsrDR2lTKBSKbvGm/0QEBRAbFqgcSIphgcmXwhYEoAppKxQKhUJxknGwycRrmw/SZj5+B1JWeQsr9lYPVGh9ZuOBRlbn1va+4BDgdEkMFgcu6XYiHS9vbysjr2bg61St2FvNN3n1/VrnYJOJVzcfBNwOpJiwQOB76kAaCIQQ4UMdg0Kh8A+8D97hwTriwoJoNvqXgKRSkxTdYbI5CdRpiA4NcP8/TDsECoVCoVAouuejrEr+sTKPkiYTcHxlFv638SAPrsofqND6zCNrCnh4deEJ/9y+0G45VFOqpMF4XNuq1Xfw1xX7+c07mccbVhcK69q5a3k2D3yxv1/PBMszK/nnyjz0ZjsWu8snIJlVDaRj5pKhDkChUPgHXgEpLEjrdw6kVzcfZMlj62kwWIY6FIWfYbY5CAvUEhbotiSrQtoKhUKhUJxcNLW7+6T5tW5XS2sfU9gsdic3vLmLrPLWQ9syWmkx2XC5DokQVod7uX1V+gGM2s19n+7jw8xKCmrbqW7r6PK5Q0Wz0cq1r+6gVt/B7e/v4avcOt+8ksbjE5C8DqHwIPeLvc/2VPOvVXkAVLWaufbVHT4nWV9xuST3fboPh0tS1dpBfm17n9etau0AoL7dgtXuJM4jIH0vU9gGiGuGOgCFQuEftFscBOo0BOm0xIb7l4C0rqCBsmYzN7+TdVLnZiv6j9HqIDRQR7gnp12lsCkUCoVCcXLR5BkZ2OZwj6Ll7aP25kTZWtLEN/kNfN0p7anZZMPpkl1EqKJ6o2e5uu42c8w4nC6W7arkH1/k4XBJbA6Xb18Gm6Mdmz0VbWwqamJVTi1fZNfwye4q37ySRtNxfe5az7GODXMLSF/uq+WDnZUA7ChtYVNRE5llrT2u3x3LMivJKm/l3h9MQghY24/zVNXqTsmr01uwOJzEhLoFpOE6kt+QCkhCiFjg7KGMQXFs7Cpr4Zlvi4Y6DMVJhtFq9xWWiwsLpNXs/oLtKwaLnT99knPEW4Xtpc08+c2BY45LSklOVRvjEsPZXdHGgyuPz3a8OreW1zy50Irhj9nqJCxIS1iQciApFAqFQnEy0nTYS802sx2nS3Lufzfw8saSHtfzCkedXTVN7W4Bp7nTNr3zveLJre/t5s7le4877lq9BadL0t6pb1LpccQMJlaHk0WPrOP9nRXdzq9vdzv6t5e6yyUX1rkdPeFBOkqPw4FktjnYVtIMHBJomoxW2q0OTFaH73P743JyuSSPrC7gtDGx/ObMDE5Jj2FdYWOf1/c6kGraOrA7JfHhgQgB/1yZx4sbem47/spQO5CuBN4e4hgUx8C728v57zcHfMNXKxQDgdHiIDzY/RCeGhOCS0JFS98L6a0raOD9nZVsOND1pr5sVyVPflN0zMX0ypvNGCwOblg4hktnjeSLnJpjrofkcLp44PM8Hl9b2C9xTOG/mGwOwoJ0PgFJOZAUCoVCofA/KprNXYZR7w9e0QdApxG0mm3srmilpNHEjtIWWkw2Gtq7ljlwumQXAalW30GDweITczpv01v3p6TRiMsl2VDYyPrCxm77m0X17bhckoNNJtYXNqDvcAslVoezi/hSVN9OZad+tEYc+qzeBBSDxU5N27ELTdtKmqlq7SCnh5S8er37WO082Oz5PPcxmTQighp97+Uimo3WbstKlDSYcLgkEcE6X6Fzr1BXb7D4Pren/TfbHF2O2YH6dvQddlrNds6fOgIhBBNHRHRZ5mgxljWZaPSc53LPOjFhgbz48znEhwexfxAKfQ82Qy0gXQN8OsQxKI6Cw+nim7x6HE5Xl+lFDUakhNJ+WAztThfrChtUIeIe0JvtZJV/vwctNFodvjSg6SnRAORUtXW7bFZ5C+/tqOCDnRW+Lwhv3nhRfdcvhfJmdzt9d0f5McWVU+3e7vTUKKanRtNmtnd5a9QTdqeLDQe6fvl/W9BAncGCyebkYNPx5Xgr/AOzzUlYpxQ2VURboVAoFAr/wupwcsFTG32jYfUHKWWXtK9RcaG4JHyU6U67Km0y8Ydle7n13d1d1surMdBktJEeG0p5s5krnt/K7e/v8c1v7LRNr/OotMlEcaMRo9VBi8nmc694aTBYOP/Jjby5rYwrXtjKL1/fxeXPb8HqcPLi+lIueGoT+g471W0dLH1yI8+vdztc4sODWDIxEYAHV+Wx9ImN7K/pud7Sf77M58cvbjvm5zZvGll9D7VD6w3uffcKR14mjoigyWg94tnzcG57bw+/eG3nEdNLPX3ruaNiaDHb3OfOI+DUG6y+z+3pGfa5dcVc+MxmXC7J3so2lj6xkZU5NQDER7hH202KCKbFZMMqtD3GZ3O4uOZ/27n42c2+aRWe0eWCdRrOnzqCjIQwn6A1nBhSAUlKuURKuXooY1AcnQdX5XPDW5l8W9Dgm+Z0SYo9KnlRQ98LiL25tYxfvb6L7EEoDncy8Pz6Yq56afv32tXVbjkkII1PCidIp+n2zYWUkl+/kcl9n+7j3k/28dy6YuCQ0HN4u/S6mD7bU31M7pB9VW0E6TRMSIpgfKJ74MjDRaruWJlTw3Wv7ezS5t/ZXk5IgPsLp6e3MorhhcnqIDRQS1iQ+7warcMzp12hUCgUCn9kX5WevZXdv1DsK+XNZsw25zGN8GW0OrA6DgkaYxPcfcFlmZWebZvILGshr8bQRXDZ63kJeuWcVJwuSY3eclgx7SNT2GwOF6tyan3TD+8rVraacUl4+tsiWkw2rpqbRkmjiZc2lPLlvlpsDhf7qvRUNJuREraUNCEEfPX7RTx9zWxiwwIxWBw4XZI/f5qL0yV5fctBnvm2qIujJ6/GQHVbB7V6C2abg+fXF/P8+uIe0/RbTDY+2V2FlBKXS/oKWdd59jnbc/4aDBY+3VNFXQ/C0oSkCKSEvFqDT7g5nCajlR0Hmymoaz8i3a2kwYhGwOz0GGwOF80mGybPaGf1Bovvc3tyIO2vMaDvsNNksrLroPvF/i5PvaT4cHftohFRbiGpITAMgzaQlzaU8OKGEp+7bXVuHX9YvpcD9cYuAll5i1u0CvY8B4yIDPal1A0nhtqBpMCdVzkUrhzvBd5THMt3VfLG1jKALjft6tYO3020uI83YSkl7+5w58DurWj1TRusFB4pB/6YDvZ52lPZhsMle1TE7U7XsHNvHd7GesNodRDhSWEL0GqYOjKy29Eo6g1W9B127jl/IqdnxLIXJT4tAAAgAElEQVSpqAmnS7LfIyB1bpdGq4Mmo42lU5Iw2Zx8uqe63/uRU6VnyshIArQaxie5Ow3Ffcid3lvR5vntbvPlzSY2FTVx45kZhARo/U5AOhH3In8Y+WOgMdncwqd3FDbjCXYgnYzHVKFQKBQKLw98sZ/7V+Qe1za8wtHhjp6+0OwReiI9fdSxnpeJAGeMi8MlwWRzYrI5fQ4XgJzKNmLDAjlzQoJvmqPTd3azx4HkdElKm0zMTne77z/dU01ooJZAreYIJ36d3r1Oq9lOkE7D/RdP4UczknnmuyIK690vULOr2nzOHyndQkVCRBBhQTpSY0IAmJkaxd7KNt7dUc7fv8jj8a8P8L6n0LSU0ueIyqlq4+Pd1TyyupBHVhfyTX493fHihhLuXJ7N/hoDyzMraWi3khQZREO7hT9/uo8/LN+LlJI7lu3lD8uyye4mwyAsUOuL79E1hdz23h4ONh35XPRdfgPew9i5ODm4nVzpsaGMiAwG3CloXuoNFhoMFoRwH7/uBuvxCktVrR2+GL1OrfhwjwPJs+36gAjuH30u//mqgIe+KuDz7BraLXZ+9/4eVuXUcsHUEb7tTkgKp9zrQPIKSFHB1Oktw+75TglIfsAPntrEE18fe4HfY+VvK/bz01e2A+4bxY+e2cxjawsBt7L7l89yWTgunkkjIro8xBc3ui9EjeibCwNga0mz7wbgdYm8uKGUxY+tGxQR6YoXtvLgquMrdNwZvdnO7H9+zap9tb0vfAw4XZLcbsQPL1JKznl8A/d8lDOsbjJPfH2ApU9u7HPMnVPYAGakRpNboz+ijXiP0ez0aJZMTKSwvp3tpc2YbE5GRgVT1mz2jZLhtYtePGskU0dG8u728n4dQ5fn3MxIiQLcX8LhQTqK63t333mdR942/2FmFVqN4GenpTMtJZJ91f4lIF354sBeN4eTU9XG5L+tPq7iiP6I2eokNEiLRiMIDdSe0CLaRfXtTPrb6qPa0BUKhUKhGEyklPzji7wjSjHsr9Hz7y/zff0ul0vy7y/zya/tX92XyhYztZ5Un+IGI39bkYu9lxSnwzkkDHRfu0ZvtnP3h9nUHZZStDKnxjcQy8w0t8CTER/mm3/P+ZO6LP9RViX/WpXnGYBFz4zUKMYmuJcX4tByGuF+3qrVd3D9m7uwOVwsneIWHCpazExPiWJycoRPxKhp6+BPn+T4XCwAi8bHExqo4/4LpxCsc4sSUSEB5HQSkACfKNP57z/9cDIAb21zl3cI0ml8x6ih3epz7GdX6fk6r56kyCDP8TtSgJNSsna/e1SyD3ZV8J+vCjh1TCxXz0unyWijtNFEaaOJx9ceYKunwHWb2U6A1n1AvL+jQwN94sxOj/vn8FHpHl1TwBPfHCAlOoQpyZF8mVvXpV9f0mhkbEI4MWFut1Dn56pavYWGditTkiN9y3pZnlnJ29vLffvXuX5TqecZ9nAB6fP4SXyaMJXbzx7HyKhgvs6rZ8OBRmxOFx/ePJ8Xr53DzNQoArSC6SnRtHvcSMEBbgkmMSIIq8PFm1vLhtXgOkpAGmLqDRYK69sHTZg4GhuLGtle2kJju5WDTSbyaw1sKmoC3M4Jm9PFHeeOZ3Z6DDlVbb6L0ysanTYmrs8OpHd3lBMTGsDCcfE+MWrVvhoqWzoG/CHaYLGzu6KNVTm1Aya2bClpQt9hZ9OBpgHZ3uGUNhoxe+yV3aUFVrZ0UNFi5qOsKl7eWDooMQwGq/bVUtxg5EAfhcbORbQBpqdEue3GhwkO3mM0PjGChePjAXcKIMBlp6TgdEnKPHWPKjxftKNiw/j56aMoqGtnd0Xfh+4sbTJisjmZnuruNAghGJsYTlEvbd/udJHn6SB52/z6Aw3MGRVDUmQw01Oi2V+j7zXH+0RR09bB7oo2NhX1fVSJ/rKpqAmrw+UbceNkwWh1+NxH4UG6EyogbS1pxuZwsbW4eUC2p9xMCoVCoegvDe1WXttykCte2EaH7ZAL9/O9Nby8sdTnvKhu6+DljaV8kd19alJ3WOxOGtqtvro4K3NqeGtbOdtL+/e953XU1BksvpeMnVlX2MBHWVX89TCn0yubDvLZXne815yazqWzRrJ06gh+ND2Z1Xcs8pU20HkqVD/xTRH/23SQ3RVtFDW0MyM1mojgAH51xmhuXzLOt90x8WE0GW2sya1jfWEjp2fEctHMZH4yN5XZ6dH8/PRRTBoR6Yv7vR0VvL+zkjW5dQTqNFw1N40bFmUAkBgZzMNXzuCXC0Zz1oQEsiv1XVLEUmNCfX9fPjuVm88ay2ljYokODaC4wUhyVDCnZ8QdGgnO08fVaQRbi5vYVtLEJbNSiAsL7FaAK24wUtZsRqsRvLO9ArPNwb8vm86IKLfQYvP0dZ9dV8zMtGgCtW4JYprn5az3d1RIgE+c8Wa7rN1/yGFktDp4fn0JWo3gtrPH8ZO5qWRXtrE61y0yOT2FxccmhhMbFgB0NTvk1RhwuCRnjIvvsp/gTgl84PP9eB8dc6v1vhIYUoJWI4gOcW/T625aljidUKeNW5eM47wpSWwqamTF3hriwgI5JT0GgFuXjOOGRRmMjA72fVaQ7pADCeA/XxXwz1V5/Xo+GUqGREASQqQJIdYJIfKEEPuHIgZ/watsljSaqD6OSvfgvmju/TiHXWXdP5xlV7bxfx9l43RJ2sw23818a0mTTzjKrzVgdTjJqdajETBlZCQzUqMwWBy+5YsajCREBDFvdAxlzSasDicvrC/hihe2csULW335qha7k9+8nckVL2xlzf56fjw3jXmjYyluNFLZYvZVnd98lAdWq8PJ797f0+M+dYfXyVNnsPRriMaj4X2ozhkkx4i3HYQEaLt1deVUu98+TE+J4qHVBawrdNekKm4wcss7Wd1aMIea6rYO35deX0WJdquD8KAA3/8zUt1fKIenehU1GIkODSA+PJDJIyKJDw9kS3EzoYFazvfYRb3H0XvzT48L5eKZIwkP0vHu9gqcLsn9K3L5qhfxdofnDYg3FoDxfRCQDtS3Y3O4GJsQ5mvzudUGFnm+tGamRWGxu3rdjpfcaj13Lt/b7zdu3bFmfx33fbqvi8C62XMPKG4wDpoA4hXSvHbsHaXN/OWzfQMi9H6yu4q/f7F/QB2NL6wvYfmuym7nNbZbufW93TQYLFgdLt8IbOFBuj7X2WoyWrn13d3djiLSV3IOc7n1B4vdye3jLmR3eLJnW2388OlN3drFFQqFwp/5rqCeK17YOiDfkYr+0/lB/NXNh150et0cXhdN5/SgvuIdCcwl3TWDvH1Lr7Bgtjm4/PktfJxV1e36hXXt/OjpTb4SBi4JN72dyeNrC/kws5Lr39jVJcav8+qZ8cAaVnpG3O38LDFnVAxPXj2bqJAAnvvZKUwaEUlYkI7kqGBOGRVDeJDO1w95+KsCXNKdKgZw/0VT+eUZYwB3XyElJpQmo5WcKj0JEUG8f+PppMaE8siVM/n0t2dw0cyRpMaE0Nhu5f/ZO+/wqKr0j3/OTDLpvQKBhDR67x2lqKtrr6jYWduqP9xdV9et7rquq6669i6gIovYFaX3FkoIJaRAOul9UmYyc35/zMwlk0aAhAxwPs+TB+bOLe+958y9577n+75vg9nCz3YlTkp+FRH+Hvzr+uFMjA3RbPvFsF785cohjOgbSGF1Awfyq7SQu+YKpNmDI/j9ZQMRQjDM7rixqaR8OVpixGqVZNrHATMHhJGcV4XZIpk7OIKoIK82226VPaztzskxANw/I474cF/N0QK2dxy9TvDctcMY2MsPgHExwbbrane2BHi5E+Jj0JxxXu56dudUaBXPUvKqkBKeuXoot4zvx20Toxncy5+/fnuIgwVVTHh2NY1NVmJDfQjytimQHCFs/UN9tDYe1TfQSXFVVttIXkW90xjyB/v7gSO1RoiPAZ3OoZRyx+Cmo1HnzlBjEZ7ueuYOiaTBbGXVoSJmD4pAb1937pBInrh0oOYsghMhbM2dZVLCUytSzol7WE8pkJqAx6WUg4GJPWSDS5DSLP6zI0dKZ9iYVsLSXbmaFLEli7dnsywpj5T8KifVz8a0Uu0F32yRpBXWsj+vkoRwP7wNbide4rUExbUkhPsSH+GHVcLu7Ar+syqNCqOJrFIj722ySfB2Hivnp4NFWKySmYlh3DUlhuFRAUgJb2/MRErw83BjY3r7qp6krAq+SS5gwaKkTpVLBJzC7TZ2gWJISqntJ62oxmlmpatIya/C26BnakJom6qulLwqDHodS+6dwKBIfx75bC97ciq49+Nd/HigUJONuhKO/uzn4aY5KDuiscmCqcmq3agBYsN88THonX4nABlFtcSH+SKEQKcTTLU7ZYb2CSAh3A8hTkhWs8vqCPR2J8DLHR8PN64d3YfvUo7z9FcH+HhbNu91IBnNLKnluR9TGdLbX0uYCDYHUklNI1V17SdLdvTD2yZGa30eYJo9Dt7x0G4rx1Nb/GdVGiv25LMn+8xmJ5JzK/n1Z3v5dEeO5hQGmyIRbAOr7iop6rjvOJweH23NYsn2nDN29G5KL+E3/0vmwy1ZPP9T6hnbCbb++MqaNJ798XCbJX9/SDnO9/uPs3yPbcDqbbANBnxOQYH0Y8pxvk85zof2XHOng8MZ1161wo7YdrSMb0MHsSDxGvblVrJg0W5qGpq0AadCcSEhpW3m+njVmU3mXUgYG5u6RUXbYLZo911HqfKWYUUt+X5/IbuzK5yea66Mo+y6K3MqNjocDkHe7iQ1G6c41Cr786qorDNpeT7bCyNri+YOi6LqBi0MftWhIqSUvLw6nT05lU6VdpssVmoazFitkt+v2K+Na2LtoWTrj5Tw44FCVh0qYk1qMcU1DezPq2Jk30Ce+sVAvAx6Pt+VS0ltoxZ2BBBsD4tqybPXDuOpXwzS9u/n4cbOrHL6BHoxOS7UaXvHBGior4HSmkaS8yoZERWIaB7fZicq2Ob42ZpZqqn5rRInx0xLHA6rpOwKhvYJ4PnrhnPL+H7trGtT1w+PCiQu3Id6s4WjpUb25VTiY9Dz1C8Gce/U/vzu0gGM7hdEVJC3U3vUm2y/1T3ZFcSF+fDo7ASevGwgD9mVVhHN7Hxt3iheu2UUg3r5a++WU+JD+dtVQ1gww6akCvR2R6cThNurnT0wMw4vdz1//uagPSSw0sluN72OR2bFU1jdwNNfHaCyzswDM+O4dGik1laOidrBvfw1VVOvQC/6h/o0y/PkPBaPD/clr6IeT3cdcwZFACfC18AWjeAI6Rtea3sHmxgbwm/mJnLftP48MDOu1bW+dEgk98+I45GL47VcV83b8baJ/fjliN5ttpOr0SMOJCnlcSnlHvv/O1/G6xQ5WFDFWxsytc+Hj1drGeBbYrFKVh4obPNFoTlpRTWawqUrSM6rYkCEH+F+Hh2+ZJfUNPL+5mO8szGTDWltO5ocN87N6SWtwhCklJqTaFNaifZDmZYQqoWyORK8JedVkmKP2QVbNnyDm44UexhbRlGNzYFkf6H+14+pmCxW3rp9DLdNjGZ/XiWVdSY2pZdg0Ov47L6JvH/nOHoFeGkSxWVJeQR4uTNvQj/2ZFe0O2O/Mb0Ed73AYpXctyip3RezzJJaTaW0P6+KqCAvYkN92JRuK6G+8sBxrdS7gwqjiR9TToS5HS2pZVtmazlsVlkd+ZX1TE8Mw2KVWlhSc8pqG1l/5ESlugP5Ve32NatV8k1ygVNf259XydA+AQyM9CO7vI7GJud+mJxXyaBefgR4ufPO/DEY9Dque3Mr+ZX1+Ht2zkFzttmUXkq4nwfXju7DjmNlNJgtJOdWtusscJQ+9zGcKImp1wmG9Alopa7IKKnVklkDTE2w9d3hfQLwsifgc4S55ZTXER18Qrp764RoTE1WPtuZQ6ivgX25lW0OkqobzNz3cRIGvY63bx+jzSSA7cFis+PE7WvdkWInJdh++8zPFcNtDwNHn3c4jmJCfPDzcGsziWBL8irqWGvvX462bt7nAfbkVJDVQjlitlhZeeC4JtUurmlgweIkzUHguCdYrZItGaXaPeB0nBHtsfJAIZV1JkprG7X+mlZUg7GxiS0ZtnNpz9G7Ia3kpIPMrFIjD3+6l/hwX24cG8XbG47y5d62ZyFPhd1ZFTSYrVTWmbVZqOY4rp1DNu1QIPl46LW+DLA3p4IjhW0/5hzO82W7cp3k9Lnlddq16QhjYxMZJbX4e7qRXVbXpkMzraiGdzZm8s7GzFbPrk1ppRisTTTq3LjmjS1U1Zt5d/5YQpoNkhSKC4X/JeVx0QvrmfTPtZ0Oz7+QkVIy9z8beWVNepfv+4Elu3l0qa3U+ZId2bZ2eW5Nq2dcc/a3ULi4Msm5lYz6289O1bhcjQP5VYx+ZpWWh+ZkZBbX4m3QMzk+1KkYjMPZsHx3HqOeWcVyu0roVBRIzdc9XtXA0RIjYX4eFFY3sCWjjPc3HyPAy529uZUU2ytavbYug2nPr+PVtenszank8mE2pa1DBQ62wiYO58Ke7EoOFlQxJjqIBdPjuHpUH7ZllmnFUBy469t+db5oQDgj+wYyMNKPQG93HrjI5kD421VD8DI4l3ofGOlH70AvIv09Ka5p5GipUXP6tMQReuYQB4TZHSvhHTiQhvQOQK8TSGlz4Nw4ri+9A73aXHdMdJD2r2OidPZLG/hiTx4JEX7Ehvny9BWDeXBmPDqdICrIi/yKeqxWidli5Ya3t3LfoiSS86oYERWIv6c7v5oR10xhY7M32MfArEERXGZvB8dx+wZ5MX9SDOF+nvQK8NQcThF2tc6U+FAWzklkbWoxO4+Vsz+vir7BXk6OvOmJYXi46dibU8mE2GCeuHQggd4G/D3d0QlbdTg/TzfNuQfQO9CTuHBf7X6RnFeJEDChfzAxId5aWOK0hDCiQ2zbhfg6Ow8j/Gw2jjDaxoi2sLoE/nD5YGKa5chyEOLrwe8vG8jCuQO06+NoT4CFcwbw0EXx7fYxV6LHLRRCxHTXvtcfKeG5H1PJKK7FapU8sGS3lqSsJf9amcr9S3bz9ob288tkFNdy3Rtbmf/BzlYv+KeDlJKU/CpG9A1gakIomzNK2wy/qDM1Mf+DnTzz3SGe/SGVOz7YycoDzi80+ZX1rE0tJjbMh4o6cysFQXpxrVYVYFN6KfvzKokJ8eaK4b0osSdKmze+L0He7vx0sJAyo0lzILnrdQzu5U9yXhXHqxowmizER/gRG+aDTticYONjgkmM8GN6YihWacvLsSm9lHH9g5xunGF+HvQO8MTUZGVKfAgzEsNoskq2t+G4AdsLzpjoIF6bN5q0ohoWLtvXZo6OhZ/v484PdlLb2MT+fJsnf2pCKNuPlvPKmnTuX7KHuz/epbVbY5OFuz/exQOf7OGN9ZnkV9Zz49vbuPW97a3CrRyfH7J7k1uqYQD+9M1B7vxwF8t353GksIab3t7GTe9sa9PZ+POhQh75bC8fbLEpX8wWKwcLqhneJ4D4cF9b/p7SEy/NtiTO1Qyzt0dUkDdv3jaGQC93/nHNMC4ZEtlu3+kpLFbJ5oxSpiaEMj0xjAazlfc2HeWGt7axYFFSmyFLtfYZHl9Pd6flY6KDSMmr0gYFZbWNlBtNxIf7aevMSAwj2MfAjAE2B0hCuJ+TAqlvMwfSgEg/5g6O4OKB4bx68ygsVtmm43DR1iyOlhp549bRTrHjjv3DiTC5ZbtyuevDXfzlmxMRufvzKhkeFdiqzzscUTqdYEJsCF/tzW/XweBg6c5cBDb5raM/Nu/z1Q1mbn13B9e/tdUpFPZv3x7i/iV7+NiucHlzfSblRhOL7p5A32AvzYFxsKCaijoz14zqTe8Azy7LS7Yvt5L7l+zmpVVpmtLq+jF9abJKlu7K1UqbthXi+G1yAXd8sJNb3t3ebohmTYOZexclIQS8N38cf796GOP7B/PEFyntOnA7y8b0Utx0gn7B3izZ7qzqNDVZtT7jcMY7FEjNQ9gazBbu/mgXD36yu1WfN1ts+4gN86HMaGJlMxXhU1+mcMcHO7U+3x4HC6qR0nZNgVbtllVq5Ia3tvHsD6k8+0MqD3+6x+n+uSm9hAnVebya8S2BXu68dOMIBvf27/Q1UijOFsm5lZTUNJ58xTNg+7Ey7f6cdAph8yfDapVsTCs5pwpgdIZs++Ta1nbGb53FMcHpGMM0WWx58rZmlmG1Sr5LPk6gtztSwq6scrZmlraa7HU404F2K9l2B8er6k+rgMF3+wuwSk45h4+DnLI60lsU8pBS8tPBQr7YnUdNQ/vKIcf1bqkcK6h0Ppfv9h9vNT7KKK4hu8xIWW1jK/W0I3FxfJgvuRV1ZJbYohnKjCbc9YKqerNWmh1sOZMazBaOlRpZlpTLIft7i21C/zjLknJZscd2LvmVJ8bE+3IrqTdbuHZ0HwA+2noMi1Xy+NxEpIQ1h22Tbdsyy6isM/Py6nQmxYbw2rxRfPngZH536UAc84Fmi9RCtpfvzqXBbNXefeYOjqTJKnnfrlL//pGprF44vaNmAeCJSwfyxQOTuWdqf754YDKz7OqV5rx040heuGEEN4/rpzl6htuTc7fEEXq2Ob2UXgGeTLKHrHWkQPIy6DUHSEQH64EtRG35/ZOY0D/YSWn/518O5uWbRrZpj8lipbS2kQ+3HONAvi1/bklNo1OqBwfBPgYMep2WRNzBlSP6sOLBycQ2O+aSeyfw6KwEm91250xcmA/zJvTDw03HjwcK2ZdrG1s3x9vgxjR7PlRHEnKwjbMdYWxhvh7cOy2W1+eNZumCiYT7eRIX6kNueR07jpaxNrWY+DBfXps3mg/vGq9d97mDI4gM8ND20RyHk2tE7elHgXi66wnydicqyKtddZsr0m0OJCHEpUKII0KIDCHE79tZxxf4ortsuHFsX9z1gk935LA1s4yssjpbsrIW4T4r9tgSE3u46Vi6K8fppiqlJLe8jrSiGhYsSsJksVJuNGmzzi2pM3U+d0h+ZT3lRhPDogKZnhBGZZ3Z6eZdXNNAVqmR3/5vP6mF1bw3fyz7/jSHkX0DWbgsmW2ZZWSVGskqNfL+pmNIbDclgE0ZLZ0gthfFq0f2Zk9OBbuzKxgWFagpN3QCJsWFMiwqUFt3WLMf6PCoAA7mV2kDhYRwXzzd9fSzv5jfOtEmjRwRFYifhxtf7M4jtbCGqfEnylY6cDhCpiWEMSYmCE93HSsPFpJVanSK+yytbeTQ8WqmJYQxPTGMp34xiJ8OFrWa7UrJqyI5rwqjycKHm4+RW17PsKgApiWEUW+28PLqdEb0DWRvTiVPrThAVqmRp1YcYG9OJSP6BvLCz0e45Z3tNJit9A/14eFP97I7u0K7tqsPF9M32Ivx/YMJ9/NoJXMsqWnkpwOFeLjpeGpFCnd9uBMfDzeCvQ0sWJTEoYJqcsrqtMHjJztyAFsyPKtVkl5US2OTlWFRASccE80SaR8rM1Lb2OR0wxzfP5jdT8/hxrF9mZYYRlW92aUqeh0sqKKyzsz0hDAmxIbgphO88HMaQtjyfe1oMaNVbjRp59y8ChvA9WOiaLJK/pdkm7VyzBYlNCuhGubnwZ4/zmFaQpj23dESIw1mC/mV9USHODuA3r59DB/cOY5x/YPxMehbOTAsVslnO3OZGh/KhGbx5Q76BHnh6W6b7ViXWswfvkqxP9yOU1prGxQdKazR+nrzPt+cf1wzFB8PN+5dtIvUwmpyy+vadDQs3ZXLRQPCuWpkb/bnV7EpvUTr81/tzeervfnUmy3UNDSxYFESmSW1vL/5GIu3Z+PhpuPTnbaEhl/szuPSob0Y3NufqfFhbMssw2yxauFrU+JDGRYV0KqPt7yvFVTWk1VqdBqkmi3WVs75T+yOlxV78tl+tAwhYN4Em7Pj3Y1HEQJ+OaI324+WOznlD+RX8dvlyQzq5U9RtS1PUPN7Q3G17d74f5/v41ipkTfmjaZfiDcGNx1v3jqaMF8PFixOsiVALGt9TTvD5owSRkcHMX9SNHtyKtmYVqK1z96cCowmC1ePPCE19tUUSG4Y7dfrxwPHqagzt9nnk3MrqW1s4vE5A+gb7KVdq+wyI5vSS536fGOTpc0wEceM+7wJtvuvI1daXkUdGcU13Gd3rq1eOJ3nrx9OVlmddg8vrGogvbiWaVVZXFR5jN1Pz9FmBhXnNp0Zf51LZBTXcP1bW/nbd4e69Tj786qYmRiGv6ebVkGzK/jpYCHzP9jZaux5rtO8vPWZ5OzYnFHK7e/vZIU9HDijpFZ7nu3NrSApu5zbJ0bj5+HG57tymffuDj5qEfZ7IL9KS3x7NhVIT61I4fo3t51SOJaUkp/tZcdPd6Lj0c/3csPb27QS8GALV/rV4t08/r/kDifDt2WWcfv7O/lij7NS98kVKdzw1jZtEspR+crxnKkwmrjx7e08/Ole/vHDYa5/a6tT9MDREiNxYT7EhfsiJdz09nZufHsbAJcO7YXBTaept73s6ouCynoe+3wfv1u+n6vf2EJWqZHX1mZw/5I9/G75fhYuS+adjUfJq6inT6AXep1gW6btHWVmYjhB3u6sTS1GJ+C60VHEhvrw4ZZjNJgtHMivItzPAz9PN/5+zVCEEIzqF4SPhxuDevlrChgHa1KLEQIt8fGovoH0CvBkx7FyDG46BkX6O01ctkeIrwdxYb54uOlbHcNB70Avegd60S/Em8fnJuJt0DMyqm0HUrifJ+56QZNVanmK4ISypz0cIV4nW08IwdiYYIQQhPoaCPJ2Z/agcO6a0r9NFY1jQjWrrI4312dqbQptO8GEEAzq5ceY6GCn5Xqd0K61g+aV0wb39ic+3JdAb4PmIPpidx75lfWMa+O6Xj2qD17ueuYOcXbY9befQ2yYLwFe7lw+vJeWNyou3BerhJve2c7+vComxYUQ5udB/1AfhvYJwM/TjVmDIjS1V6if87Uc3Muf6IYK+jae2fNicG//Vu8Hrk63ON7BFF0AACAASURBVJCEEHrgdeAyYDBwixBicIt13LE5jz7pDhvA9lJ5yZBIlu/O5f3NRzUPX/MY2X25lfx+RQoTY4N58cYRHK9qYG2qzXstpeSpL1OY9vw65v5nIznldXx893iiQ7z5ZHtOq+OtO1LMiL/+zOvrMjpln8N7P7xPAFPiQxECPt5qKzG+fHceE55dw8wX1vN9ynGevGwgswdHEOht4O3bx+Dn6cYt725n5gvrmfnCej7YckyTTw7q5d+qWtim9BJiw3y4cZxt9r+01sSIqAD6BHoRH+7L6H5BBHi5a6XK3fW2H7yDUf0CMZos/OZ/yQhx4uV9YKQ/IT4GLh1q8/i66XVMigthjf0aOjzCzRndLwghbN95uOmZHBfK8t15zHxhPVe9tkULU3OEcDj2cc/U/lw3OopX1qQ7JT7+ZEc2Xu564sN9ec1+7YdHBTAxNhiDXsfQPv4svW8ij8xK4Is9tuN8sSePR2YlsPS+iQzp7U9uRR2v3jKSD+8cjxBw3ZtbtWu7Ma2E6QlhCCEYHtU6nGpZUi5NVsmn900kMsCTUqOJt28fwzvzx1JeZ+IXr25i+r/X8fBnezlaUsum9FJGRAWQV1HPhvQSLdxmZN9ATdXVPJG21k9aePYdidym2vvOpnZCG882UkoWbctGCJtDwtfDjbExQfgY9Pzv/kn4e7o5KTo2pJUw4dnV3PNxEtA6vjwuzJfJcSF8usOW+FpzIDULYWtJYoQfJouVJduzsVgl0cHOD0FHnLm7XsekuNBWIYDrjxSTX1nPrRPajhnX6wSJEX58npTLXR/tonegF5/eNwGzxfbS//3+45gtUnuAN+/zzYnw9+Tt28dQVN3IpS9vYtrz63h8WbKTw+PDLccorW3ktonRTEsIQ0p4Yvl+rc8v2Z7NJ9tzGB4VwBu3jubQ8WpmvbiBZ747xIzEMJ69ZhjHSo08tSKF6oYm7ZymJ4RSaw8j+2JPHoN6+RPu58nwqECOlRq1sL6VB44z/C8/a7Nwz69MZfJza5n5wnomP7dWC0e76rUtXPHfTVTbnUpVdWa+3V/AiKgAahub+GhrFvFhvsSF+RLqa5OeD+sTwJUjelNvtrAn2zZILalpZMGiJIK9DSy6ezz/vGYY246W8Xf7y+MnO7IZb783rj5czJ+uGMzkZpL0EF8P3p0/lur6Jq7472am/3sdDyzZc0rVxcpqGzmQX830hFCuHxOFp7uO+R/sZNrz6/jT1wfZnFGKXid4fO4AbSbT216FLcjbQFF1A7nldSzZnkN0iHerPg82hZNO2H6/88ZHs+NYOeuOFPPpjhz0OsHgXv58uiOHcqOJy17exHVvbWs1674/r4reAZ7Eh/sSE+LN/twq/vz1Aab+ax2zX9poU9DNG018uB9XjuhNkLe7ZofDaTqtKgs4cT9RnNt0Zvx1NpBS8uGWY3y05czKElutkqdWHMBskaxLLT5l9XdGcQ2Lt2Wd1Ilc02Ams6SWEX0DGR4VSHKuLWR/8bYsMlpURs0pq+PPXx/gpVVpTr/J5bvz2gz/dTiOmlcSApuioLP5C/fkVLQZmiulZMn2bC1JbGfZcbSMJ1ek8OSKFN7akEl1g5m3NmR2mPOmqLqBdzZmahMFybm2sUmD2drp468/Usza1CLSimpYvD1bU80AbTpVXvw5DauES4ZEMrRPgJZbp+V1czizEiN8Sc6t5F8rU/nbt4ecyphvzSjlyRUpLNuVS1F1A3/99iBPrkjhme8OtVK37cut5KkvbdfntbXpbTrwaxrMbMkoo95s4c9f2/Kz1JmaeGtDJhVGEx9tOcZTX6awt0VVpSNFNWSX1eHlru8whL24poFnvjvEcz+mas9VsLXD3pxKKuvM/OOHw9rynw4UYtDrGBEVwM+HCvluf0Gb4Wdt9cfqBjNbM0upM9nOJaO4lswSo2ajlJJ//niYcqOJlPwqVh4opLHJyoo9ebxtP9/8ynriwnw1pYltMs123e6YFE3yn+Zy3zRbAulJcbYX+KSsCpJzK5k/KRoPvY77l+zm9XUZXD68F5ufuIhxMUH8fLCI3PI6okO8Cffz0Jy78eG+DI8KxCpt//fxcOOpXwwiraiWp75MwWiy8LtLB5L09GwnZQ3Alw9O4b35Y7XPAyL8kBJumxCtKdZ1OsHvLxsI2FTH3fWMXDA9jt1PzyHA273N7/U6oYWfOfIUwcmVRcP72t4ZOlIqtUQIwbYnZ/HO7WPbXcehzPlybz4VdWYWzkmkT6AXbvZxS1ssf2Ayv71kQKftAHj4onh+eGSa9nnu4EhqGpvoF+zNzW3kc7pieG/2/HEOvQKcQ/WW3DuBzU9cxBu3jm61TfN+sebxGfz5l0O0z1eO6M2uP8wm2MegXcPQFiFsD8yIY1XyB5xpz/j4rvE8c9WQk6/oQnRXpszxQIaU8iiAEGIpcBVwyP5ZAO8Dh6WUL40dO/bFbrKD2yZG893+46w7UsKvpscS6G3gXytTySiuscVpLk4i3M+DN24dg7+nGxH+HnyyI4e5QyL5aGsWn+3MZd6EfoyLCSIh3I+hfQKYN74f//wxlbSiGhIjbE6WzJJaHvlsL0II/v3TERLCfZk7JLJD2/bnV+GuFwzs5YeHm56HZsbz2roMvAw6lu3KY0L/YG4a15dgHw+mN3vxjPD35KuHprSSvk6xJ2mblhDKh1uOUWdqwtvgRmOThe1Hy7h5XD/GRAfh5a6n3mzRcrG8N38sbnpb93coJQZE+mklBgEuH9Ybg16PyWIhwt9Ty5HxlyuHUNvY5LTutMQwfj5URIiPoc2byfxJMYzrH6x5sf9+9VB2HCujrNbEsz8cZuGyfbx56xg2ppUS5O3OkN42m4QQ/OOaoWSW1LJwWTIxoT70CfLi630FXDWyN8OjAnnqyxQAu+fYnWX3TyImxBsvg57HZiUwqm8glfUmAr0MzEgMQ6cTfHLPRLLLjZrC55uHprI758RDVycE0xMciY8DWZNaTG1jk1Zp4dMdOUyOC2FMdBDLH5hEudHEwEjbeX/z8FQOFlRxIL+a9zcfY39eJXqd4PVbR3P161v509cHyC2v55bx/bQY237B3poUG2wviZ7uOi3nVEuCfQwM6e3PpoxSfm2XfvYki7Zls3x3Hg9dFKfF9r5wwwjqTRYSIvy4fkxfFm/PoqSmkZoGMw9/uoe4MF9+NSMWb4NbmzM2t02M5sFP9rAhrZjM4lp8Pdw6fCj+YlgvPtx6jL9/bxtc9WuhQGrOtIRQVh8uIrvMqLXBJztyCPfzYPbg1tJjB/+5aST78yoRCKbEhxLm58GE/sF8sOUY1fVmxscEc/HAcKB1n2/OqH5BfP3QFFILq9mXU8nH27JJjPTj/hlxbEizheFeNjSSmQNsObj8PN0oqGrg5nF9nfr8v64bxqxBEax4YDJZZUbc9TpmDYxACPj794f4al8B8eG+TOhvmwWaHBeKTsDDn+6l3mxh0d3jgRPJvQ/mVxHkY+D/Pk9GpxP84/tD5JQZ+XhbNleN7M20hDD+tTKVez9OIiHcl9TCanRC8NjSfbw7fyxf7MmjwWzl2WuH8fiyZFLtiiyHI3ZtajHTEkKZGBuMm06wKb2EMdFBtqqCdSaW3z+ZMD8PrhsTxeHj1by32aay/HRHDtMSQrl2dB/CfD2ZEt9aITa4tz/f/noKKflVpB6v4e2NR3l5dRoL53ZuALPZ7ryemhBGoLeBpQsmcay0lh1Hy1m8PRtfDzdG9g2kb7A3w6MC2ZdbiY+H7R54x+QYVuzJY95728ktr+fpywdRUNmg9XnHb2JTegnDowIJ8HbnjsnRfJtcwCOf7UUnBHMGRXDlyN48+Mkern59C8er6mkqk/xu+X5euXmk5gBNya9qpnILZOUBm+PyprF9mRgXTHyYn/a9p7ueG8f25b3NxyiqbmBTeimhvh4MrHMNx7Oiy+hw/HW2EELYQ9lLmDUowimM+FRYvjuPnVnlXDokkpUHC9l+tJwZiZ2bqW1ssvCrxbvJLDES6G3oMDlpil3BMjwqgAazhbc3HrWX8z5IfLgvPzwyDYObDotV8uvP9nD4eA0mixUpJY/PHcDWjFJ+879kIvw9WL1wBn72UGyzxapNqK1JLcZsseKu11FQWc+CxUmYLVZ+eGQaCRHtKxuq6swsWJREaa2JvkHejI05MZO/8kAhT391gNhQH354dJqWV6MjSmoauW9REharxNNdT5nRxPLdeWQU13K0pJbnrx/RahspJb9dvp+NaSWYmqw8fHEC+/MqifD3oKjaVkXKMVZrj5yyOu5fshurhHA/D/Iq6gn2NrDK7jjalF5CvclCcl4Vfp5uNFkkWzPLiA/3ZUhvf4b3DWCbfdy7N7eS4uoGwv09qTM18fHWbAb38md0dCBLtueQUVKLXggyS2r56K5xFFU3smDxbkwWW/7DuDAfssvqCPIxUGG0VSV+7w7bS3NVvZl7P07SxtCltY14uOm5b3qs0/lsSCvBZLFy2dBIfjxQyE8HC9mVVcH7m49p19PgpuPng0WsWThDcxC8+HManu467poSwxvrMymqbmjlDJBS8sTy/WxKL8UiJVX1Zv557TAA7XpdOiSSFXvyuX5MFJNiQ/j5UBGT7akh/vrtIX792V78Pd1Z8/gMLflvc/XTpoxSjI1N+Hi4sf5ICWaL1H5nWWVGPNx03D01htfXZfLVvnyWJeVp51pnLybzZ3vJ8//Z8xqNjQkmNrT1WLVvsG0cPndwJEt35XLL+H6sTS3WCkjMnxTNmOggnvsxlYG9/PjzLwcT7ufJpUN78cx3hxDCVtWros7M8aoGYkK8CfU1MCIqgA1pJdr4ffbgCC4ZEsGKPbZqayOiApzeTxwY3HQY3AyE+npQWtvIr2fF8/HWLH57qfMY4coRvdmYVuqUO6c7aJkjqSVRQV5kl9UxIiqQxAhfRvQNbKXeaclFA8IZERXAyH5tK5va42T3kL7B3gR5u7N0Vw4GNx0zEsMorGograim3W1PJ6ePTicwNHPazR0SwZIdATx52aB2j9PWdfR017c59gab43FMdBAPzIhr5WQUQmjH6R/qw/j+wUzo7zze1OkEBnnmRQTczoGcRy0R3RGTLYS4HrhUSnmv/fPtwAQp5cP2z1OBTUAKYB0zZsyIpKSkLrcDbDfL2S9tILPEyPrfzMTX041J/1xDsI8Bi1VSZ7LwxQOTGWR3dPxnVRqvrk0nMdyPjJJaZg0M563bxjh5nstqG5n0z7UEertrsZVFNQ3ohWDZ/ZNY+Pk+UgtriAnp+IZTUFlPdKg33/3a5mG1WiULFiex+nAx/YK9+fqhKZqU71TYlF7C7e/vJCbEGw83PSaLlWOlRt6bP5bZgyO468OdrE8rIeUvl7QKFzpeVc+kf67llvH9tIfVqZJdZmTGv9dz5YjevHrLqFPa9r1NR/n794eJCfHmeFUDswdH8Po8Z69xcXUDv3xtM/UmC/5e7uRV1PPtw1PpH+bDxGfXEO7nwdrfzDwt20/GutRi7vpol3ZtzRYrR0uNvD5vNJcPbz/8Q0rJ48uSWbE3n8uGRvLmbWP490+pvL4uk/ExwSy5dwIGN9sN5N6Pk9icUaKpZvIr6xkQ6ccXD0xud///WpnK2xsytRC4niSjpJaLBoTxzu1j25yxySiuZfZLG+gT6IXR1IROCL5+aEqHLxhmi5XJz63FYpWYm6zEhfvy1UNTOrSjoLKeK1/bTGmtiW1PXtxqVsLB0ZJaLn7RZo/j95BWXMOvL4rvtMPBwbfJBfz6s730CfTi64enOFVs6AxSSh7+bC8/pBwnIdyX3HJb+N0XD0zWkjT/anESPx0scurzAtjxh1maCqYlz/5wmHc2HuXPvxzMXfYSsgBXv76FfbmVTssrjCZGPbOKCH8P6k0WvAx6li6YxANLdpNaWMOE/rb+6q7XsTu7glve2Y7JYuXpywfh4abjj18fJDrEm7JaEwkRvnz54BQWb8/mj18d4C+/HMydU/rzn1VpvLImnaULJjIxNoQb3trK4eM1BHrbfs//vWWU08tek8XKXR/tYlO6bSD31UNT8Pdse7aurWv6xBf7WZaUR2KEL6ITc0WltY00WSV7/jjHKXm6I5n/2tRiHpudwGOzE3nx5yP8d20GqxfO0KTcG9JKuOvDnbjpdex4chZlRpPW59vrY3kVdVz12hbKjCYW3zOeibEhTH5uLSU1jTx//XBKahr5909HiA310QZjR4pq+O0ltqSL7248yj9+OMxFA8J4745xTnY7yCo1MvOF9fS2KyUvH9aL/7z5mO3L9es7dT3PBCHEbill+1ObijPmZOOvthg7dqzsjjFYQWU9s1/agI+HGyGnmdshu6yOoX38WXT3BMb8fdUp7avebCG7rI5If09qGswdPmOq6m0vpnv+OIedx8q5f8luDHodwT4GCqsbiA7xxstdj6nJ9sx/5eaRrD9SwrfJNsd8QWU9nu56Smob6R3gpVUTNVmsHC0xct3oKL7Yk0dsmA8GvY5yo4nqBjMebnrc9aLDZ0V1vZmimkaCvA00Wa1Okyd5FfX4erhRWN1Av2BvLRdbR1TWmSk3mvjxsWnEhvpw8zvb2XGsnEh/TwqrGxgY2Xoc4VD/Rvp7Um40ERvmQ0ZxLbdNjObLvfm46YRTMti2KDOaqGu0PfNrGpuI9Pekst5Eg9mqXZ/+oT4UVzcwsl8gpiYru7Iq+PS+CUyOC+WHlOM8+Mkebd2+wV74GGw55/Iq6vnf/ZPYnlnGi6vSuHFsFIPspb0Twn2pbjBTWWfmu19P5b5FSWSV1fHXK4dwx+QY3tmYybM/pJIY4WuzraGJ41X1fPPwVIb09ue+RUlsTC8ltkU4j0O1tPXJi7n69a3kltdRZ2oi3M9TU9j+45qhXP36FnrZ+4RVStKKavn9ZQMZFxPEdW9u0/pWW9f7j1cMprCqnnc3HdPapbC6gUAvd1Y+Np25/9lIZZ2JyABP0opqefaaYUxPDGXqv9YR4mOgusFMqK8HAV7uTvt1XMOYEG9bv61pRAjY8vuLueq1LaQW2p4tU+JDufr1LRj0OsL9Pfj5/6bzy/9uJq+intmDIvg+5bjWb34xLJI3bh0DwJTn1iIE9A7wYl9uJanPXOo0HmyyWBn4x5U0WSWxoT6seXxGmxXIcsvrmPb8OiL8PVi1cAazX9xAcU0jH989nhmJYaw+VMS9i5J45qoh3D4pBrC9x8x+cQMA+/9ySZvPQgc3vr2NY6VGdv1hdod9t6d5Yvl+Pk/KJfnPc7W27EmW787jN/9L5uKB4Xxw57ieNqdnmTnT9u9ZGEOdKV05BuuRWr1Sys1CiF8BCwBKSrpvBlQIwV+vHMrh49VaLOfTlw9mW2YZOp2tItOgZiqZ+ZOiyS4z0mC2Mq5/EL+/bFCrl+AQXw/+eMUgtmScUADFR/iyYFoscWG+vDN/LC/8dMSp7GNb9A/14apmOTR0OsF/bhrJK6vTuXl8v9NyHgFM6B/CvAn9KK89kXh2fEwwU+0qpocvjmdyXGgr5xHYpI4L5yQyu42kb50lOsSHhXMSNfXFqXDP1P40WSX7cioZ3Nufe6f2b7VOuL8nH945njc3ZGJusnLVyN7aLPvfrx7a4cPiTJkYG8KNY6Oorj/RtpPjQ1rF3LZECMGz1w4jMsCT68dEAXDP1FiaLJL7psdqziOAOyfH4NbsHPqH+nCdfZv2uHlcX3LL62iy9HySznH9g3ji0oHtyn3jw315fE4iBwuq0esF902LPenstLtex1+vHMI3+woAnH437dE70IsP7hzHDymFHaqV+of68KsZsWQ3S1w+qJcf8yfHnPQYLblkSCQPXxTPlSN7n7LzCGz95IXrRxDqY6CoupGhfQJYOCdRcx6BbRZuaO8Arc8/c/UQBKJd5xHAvdP6Y2qycsPYvk7LH5udQGphDXc2O9cgHwOPzEogrbAGdzcdD8yIo3+oD+/dMZYPNmfx0EVxmgNjTHQQb942moziWu6x/1Ybm6wkZVUgBJpT6rrRfThaUsvl9op014+JosFsYaxdbfbwxQl8Zs8N9tBF8a2UAm56Ha/dMppX16Zz+8ToTjuPHNf0mauH4ufpTn4nq770D/VhxoCwVvcSvU7w8s0jeennNO1azpvQjwazRYuzB1tS9//eMpo6UxNBPgaCfAxan3eQGOnn1B5RQd58eNc41qYWMyUuFJ1O8Ny1wyisbuDGsX2RUiKlLaF+831cab9WV4zoRX5lPQvnJrZ7D4wJ9eF3lw5gf24VOh3cNSUG3uzUJVGcZwghFmAfg/Xr13ao7pnSO9CL/94yis935Z72PgZE+rFwTiJeBj1PXjbwlCuO3jYhmosHhfPy6nQaT1Jl97rRUQT7GJhqVziaLZJHZyWwLrXYqeLlVSP7cOUImwrToNdRUWdzqDwwI56DBVVaGgQH46KD+cMVg9DrbM4bsCmNrxsThY/BjcXbszjZXO7CIZHEhfnwzsajTgUz4sN9eXRWAhvTS9nRyYTM/YJtueccM+4v3DCCxduzuW9aLP9dm05hVdvJ+y8eFM7dU/rzwk9HqKo30z/Uh5vG9SUuzKdT7dIv2JubxvVFrxNklhiZkRjKK2sycNcL/vTLwXi66yipaSQh3JdbJvRDSsklJUatBPqMxDDumBTNo7MTCfE1OFVk+9WMOMbFBNMn0Isyo4nfXmKrclRY3cAxe1Lta0f3ISHCj9fmjeang4XcNjEasD2nSmoayS47MQZ4dHaCVjX4H9cM4/mVR1olpu4X7M2cwRF4uOl59eaRvLImHT9PdxbOSeS9zUe5YUxf4sN9ef76EU4hd9MTwrTn5S3j+znlMWrORQPDuWNSNI1NVhrMVi0cr1+wN1eP6oOnu57X543mzQ0ZNFkkQ3oHcPnwXgR42WwYGxNESU0j3+93LrozrE8Af7piMN4GvdM+5w6JtJ3LLaNYsSef+6bFohNw64R+VNSZWDA9Dm+DG09eNojC6gbGxgTRK8CTBdNjeXfTUSeF1v/NScTXQ0+gt4ED+VWtxoNueh2PzkogJb+Ka0b1adN5BDa1y//NTmR8/2D8Pd158cYRHD5erakQp8SHcufkGH7RLH9frwAvXrppJIVVDSd9H7h/RiylNW0X6XAlbh7fl/5hPi7hPALbmC67zMjMAedW3h5F19FdCqRJwF+klJfYPz8JIKX8Z1vrd9fsl0KhUCgUig44i7NnSoHU/Zzq+AvUGEyhUCgUitNCKZC6lF1AghCiP5AP3AzM66ZjKRQKhUKhOB3OgUGP4pRQ4y+FQqFQKM4GF+gYqlscSFLKJiHEw8BPgB74QEp5sDuOpVAoFAqFQqFQ4y+FQqFQKBTdS7eEsJ2yEUKUANkdrBIAVHXwfVdt0952oUBHAd5nyz51Tqe3jeNcXdW+093GsZ07HbdlVxyrp/urg/b6rSufk+qvbW93snvQmRzL1bZpea6uZt+ZbgOda88BUsqez/SvcEIIUQMcOYVNTrePdDWuYkc/IKenjcA1rocr2OBAtYvrtIdqC2dcwQ5XaRNwjesBrmFHd7VLKOAjpeyaxFWOxJyu/Ae8cza2aW87IMkV7FPndHrbOM7VVe0707Y9WVuei+d0srY8l85J9de2t+tsv3Xlc+rsNi3P1dXs66K2PWl7nuq9Sv2dnb+z8QzpJrtdxY6SnrbBVa6HK9ig2sU1jq3awrXtcJU2cZXr4Sp2dFe7dPX460TpJ9fm27O0zdk8ljqns7vN2TyWOqfT3+ZsHsuVtzmbx1LndHa3OZvHOpvnpLhwcJU+4ip2VPa0AXZc4Xq4gg0OVLu4TnuotnDGFexwlTYB17ge4Bp2uFK7tItLhLC5OkKIJHmeVY45H8+pPc73c+2q8xNCBALzpJRvdIFZbe3/MWze/bqTrmxb/05grJTy4WbLnM5VCDETMEkpt3axuT3G+d5fHVwo5wkXxrl25hwvhOtwLqLa5cxQ1881Ue3iOqi2cD1Um7gm3dUuXb3fc0WB1NO809MGdAPn4zm1x/l+rl11foHAg120r7Z4DPA+w320PNeZwOQz3Kercb73VwcXynnChXGunTnHC+E6nIuodjkz1PVzTVS7uA6qLVwP1SauSXe1S5fuVymQFAoFAEKIpcBV2JKp7gW+lFJ+I4T4EqiQUt4thLgbiJNS/kEIcRvwCGAAdgAPSiktQoi5wF8BDyATuAu4G3jBvu9SKeVF7dhwF/AkNglnMtAopXxYCPFL4Gn7scqAWwEvYDtgAUqAXwOpwFvYktABPCal3NJlF0mhUCgUCoVCoVAoLlCUA0mhUAAghIgBvpNSDhVC3AyMkVL+VgixE7BKKScKIT4ElmKrEPA8cK2U0iyEeAObM+cHYAVwmZTSKIR4AvCQUv5NCJGFLSStzUpNQohe2BxRY7BVQVgH7LU7kIKASimlFELcCwySUj4uhPgLUCulfMG+j0+BN6SUm4UQ/YCfpJSDuuFyKRQKhUKhUCgUCsUFhQphA4QQFiHEvmZ/MR2sO1MI8d3Zs+70EEJIIcSSZp/dhBAl54Ltp4MQ4mr7OQ/saVu6kh5sx03ANCHEYOAQUGR38EwCtgKzsDl6dgkh9tk/xwITgcHAFvvyO4DoTh5zArBeSlkClAOfN/suCvhJCJEC/BYY0s4+ZgOv2Y/9DeAvhPDt5PHPOkKI2pN8v14Icc7GqJ+vv8uWCCH+IIQ4KITYb3+GTOhpm7oDIUSUEOJrIUS6ECJTCPGKEMLQwfqPCSHONGxVoehRVL93XU72DFWcXS6UZ/65yPk+3jyXOB+eKcqBZKNeSjmy2V9WTxvUBRiBoUIIL/vnOUD+qexACOHW5VZ1H7cAm+3/dhohhL57zOkyzrgdTwcpZT62nEiXAhuxOZRuxKb2qQEE8HGz38wAKeVf7MtXNVs+WEp5TxeY9F/gNSnlMOBXgGc76+mAic2O30dKqQaYPcdp/S7P262bMwAAIABJREFUJYQQk4ArgNFSyuHYnJi5PWtV1yOEENjUhV9JKROARMAX+EcHm3VF3jOFosdQ/V6hOCXO17G4QtElnC/PFJcIYQsNDZUxMTE9bYZCoVAoFIpuYvfu3aVSyrCetkPhjBqDKRQKhUJxftOVYzCXUJjExMSQlJTU02b0GF/uzSMmxIdR/YJ62hSFQqFQKLoFIUR2T9ugaM2FPgZTKBQKheJ8pyvHYCqEzQV47sdUFm9X42qFQqFQKBQKhUJx9rFYez4qRaHoMmbOtP0puhzlQHIBGpusNJqtPW2GQqFQKBQKhUKhuMA4VFDN+H+s5seU451av6rezLfJBWQU13SzZQqFwtVwiRC2C51Gs5XGJktPm6FQKBQKhUKhUChcALPFirv+7Mz1P/9TKmVGE3/65iBTEkLx93Rvc739eZUs2Z7NN8kFNNgnvxPCfblsWC8uH9aLAZF+Z8VehULRcygFkgtgsli1m7BCoVAoFD2Cknu7HEKID4QQxUKIA82WBQshVtlLAK8SQgTZlwshxKtCiAwhxH4hxOies1yhUJwJaUU1DPnTTyRllXf7sXYeK2f9kRKuGtmb0tpG/rMqrdU6x6vqueaNLVz52ha+TT7ONaP68PmCifztqiGE+Bp4bW06l7y8kS/35nW7vQqFomc57x1IxdUNPP1VCqYm13TQNFmsWKySBrNSIJ2LvL0hk11n4eGuUCgUABnFNfxrZSquUEFVcVb4CLi0xbLfA2vsJYDX2D8DXAYk2P8WAG+eJRsVCkUXk5RVgcli5b1Nx7r1OFJKnl+ZSrifB89dO5zbJkTz8dYsDhZUaeuU1TZy23s7SC+q5S+/HMyOP8zin9cOZ0JsCPMnxbB0wSR2PDWbEVEBPL/yiHqnUSjOc857B9Lqw8Us2Z5DuovG6JosNsdWo4s6uBQd8+qadL7el9/TZigUiguEnw8V8eb6TKobmnraFMVZQEq5EWg5S3EV8LH9/x8DVzdbvkja2A4ECiF6nR1LFQpFV5JWZHtvWXW4iILK+m47ztrUYpKyK3h0dgJeBj2/mTuAYB8DT391AKtVUt1g5o4Pd5JXUc97d4zlzin92wxvC/Pz4InLBnK8qoElqjCQQnFec947kBw33TqTa3rDHcmzlbf+3KShSYUfKhSKs4fjftOonhkXMhFSSkem20Igwv7/PkBus/Xy7MsUCsU5xpHCGvoEemGVkk935HTLMaxWyb9/OkJMiDc3ju0LQIC3O09eNoi9OZV8vC2Lez9KIvV4DW/eNpqJsSEd7m9yXCjTEkJ5fV0GNQ3mbrFZoVD0PBeMA8nY6JqztUqBdO7iCD9UbadQKM4WjoIL6r6jAJC2WMZTjmcUQiwQQiQJIZJKSkq6wTKFQnEmpBXVMDU+lFkDI1i6K6fNYjtZpUZ+SDnOK6vTefjTPdzw1lYyims7fYxvkgtILaxh4dwBTsm6rx3dh/Exwfz120Psyi7npZtGcvHAiA72dILfXjKAijoz73Zz6J1Coeg5znsHUr5SICm6iYYm1XYKheLsop4ZCqDIEZpm/7fYvjwf6NtsvSj7slZIKd+RUo6VUo4NCwvrVmMVCsWpUVrbSJnRRGKkH/MnRVNaa+LHlEKndZbuzGHmC+t58JM9vLwmjf15VRwsqObP3xzoVI48s8XKS6vSGNzLnyuGOUe6CiH4+zVD6RXgybPXDOPKEb07bfvwqEB+MSyS9zcdpbS2sdPbKRSKc4fz3oFUUNVagbRsVy4fbHYNz7jJomaTzzUqjCbuX7ybQnvf6qjtXl+XoXIkKRSKLkMpkBTAN8Ad9v/fAXzdbPl8ezW2iUBVs1A3hUJxjpBWaMt/NCDCj6nxocSG+rBoW5b2/Ya0Ev7w1QGmJYTy3a+ncuivl7Lxdxfxu0sGsCWjjJ8PFZ30GNsyy8gpr+ORWQnodKLV94kRfmz9/cXcMr7fKdv/+NwBNDRZeX1dxilvq1AoXJ/z2oFksUoKqxoAZwXSl3vz+WKPa5SZbFCzyeccO7PKWXmwkF1ZFUDHbbcsKZdvkwvOlmkKheI8Rz0zLiyEEJ8B24ABQog8IcQ9wHPAHCFEOjDb/hngB+AokAG8CzzYAyYrFIoz5Ig9gXZipC86neC2idHsyankQH4VhwqqeXDJbhIj/HjztjEM7ROAl0EPwG0To0mM8OXv3x866TNiS0Yp7nrB9MTQdtcRorVjqTPEhflyw5goPtmeQ15F3WntQ6FQuC7d5kASQmQJIVKEEPuEEEnddZyOKK1txGyxyTiNphMKpDpTE/UuMvh2zCI3NllVWeZzBEderco6W4LAjpLZ1pssqlqSQqHoMhwvBSp5/4WBlPIWKWUvKaW7lDJKSvm+lLJMSjlLSpkgpZwtpSy3ryullA9JKeOklMOklD0y9lIoFGdGWlENQd7uhPl6AHDdmCi8DXr+syqNuz/ahZ+nOx/cORZfDzen7dz0Ov50xRByy+t5/ySRFpszShndLwhvg1uH650uj8xKwGy18r8k15iwVygUXUd3K5AuklKOlFKO7ebjtEl+s7KXdY0nXvKNJgsNLpITydQsDEGFJJwbnHAgmYCO263ebKFGOZAUCkUXcWLSwTWeYQqFQqHoWo4U1pAY4acpgAK83LlmVB/WpBZT29jEh3eNo1eAV5vbTk0IZe7gCF5fl6FFYbSk3GjiYEE1U+PbVx+dKb0DvRjdL4g1qScPp1MoFOcW53UIW37FCQeSkwKp0ZUUSCfsaFQzyucEBZW2B3KF3YHUkUy4wWxRpUwVCkWXoRRICoVCcf4ipSStqJYBkX5Oy++Z2p+BkX68cetoBvXy73Aff7h8EE0WyfMrU9v8fmtmKQBTErrPgQQwe1AEB/KrOV5Vf/KVFQrFOUN3OpAk8LMQYrcQYkE3HqddHEoRH4O+lQLpTBxIqw4V8ejSvWdsH7RUILmGU0vRMQ5lW4UjhK0dBZLZYsVskT2mQFqWlMtfvz3YI8dWKBTdg1IgKRQKxflLQVUDtY1NJEY4O5Biw3xZ+dh0pieevGpidIgP907rz4q9+aTkVbX6fktGGX4ebgzvE9BldrfFnMHhAKw+XHySNV2TnLI6p/c0hUJhozsdSFOllKOBy4CHhBDTm38phFgghEgSQiSVlJR0iwH9Q324bnQUEf6erXIgNZitWK2nl3NoQ1ox3yQXnPb2zWnufFAzyucGDsdkld2B1J4CybG8trGpR/JbbThSwg8pqgCPQnE+oRRICoVCcf6iVWBroUA6VR6YGYevhxsfbmmdC2lLRikTYkNw03dvIEpcmC8xId6s7kRVOFeioLKeR5fuZfq/16mJWIWiDbrtziGlzLf/Wwx8CYxv8f07UsqxUsqxYWEn96afDnOHRPLijSPw9tBrVdhMTVYtsfbp5hyqMJqRki4Jg1MKpHOLxiYLxTWNQPMQtrb7kaN/WKzSqQrg2aK2sQljo+pTCsX5xAkHkvptKxQKxfmGVoEt/MwcSH6e7lw3ug/f7T9OaW2jtjynrI6c8jqmxoec0f47gxCC2YMi2JZZhrHR9fOB1pssvLw6jYtfXM/KA4UM7ePP0l25HCs19rRpCoVL0S0OJCGEjxDCz/F/YC5woDuO1Rm8DW7ajauuhRLpdCg32hwHxtPcvjlKgXRuUVR14iFcWe8IYbO0qTBqMJ1oz54IY6szNWE09Yz6SaFQdA/NK3cqFAqF4vwiraiGCH8PArzdz3hft0+KxmSx8vmuXG3ZFnv+o6ndnP/IwezBEZgsVjald0+0SVdRYTRx2SsbeXl1OrMGRrB64Qw+uHMcBr2Ol1al9bR5CoVL0V0KpAhgsxAiGdgJfC+lXNlNxzopPoYTCiRjMyXI6SqIHMqTui5Qd5iaqY4alALJ5cmrrNP+76jCZpVoqrbm1JlPOI16IpG2sdGClMoxqVCcTzh+z0qBpFAoFOcfaUU1rfIfnS7x4X5MiQ/hk+3ZNFlsz44tGaVE+HsQF+bbJcc4GWOjgwjwcmfVoe7Ng2RqsvLSz0f4am/+KUd0SCn5/Yr95FfWs/ie8bx+62j6BnsT7ufJ3VNj+Da5gAP5rXNJKRQd8dradB76ZE9Pm9EtdIsDSUp5VEo5wv43REr5j+44Tmfx9nDT1EJ1zSSUpzsA7y4FkqrC5vo4KrDphLPTqK2HVX0zZ2V1DymQoGv6qUKhcA0c9xqlQFIoFIrzC4tVkl5Uy4AuciAB3D4xhoKqBlYfLsZqlWzNLGNKXChCiC47Rke46XVcPDCctalFWE4xd+zBgqpOOYMsVsljn+/l1bUZPPb5Pib9cy3//PEwOWV1J90WYOmuXH46WMRvLxnAtATntCoLpscR4OXOCz8fOSXbFRc29SYLb288yvcpziGk5wvdmz3NRWhehc1JgWQ69QG4lPKEAqkL8tqYnELY1Iyyq+NQHYX7eTotb0vl01zh1iMKJHv/7AqlnEKhcA0alQJJoVAozktyyutobLKSeIYJtJsze1A4vQM8Wbw9i8OF1ZQbTUyJPzvhaydsiKCizsyenIpOb7Mlo5TLX93MW+uPdrielJInV+znh5RC/vCLQSy+ZzzjYoJ4b9MxZrywjh9PUkwmo7iWv357kKnxodw7NbbV9wFe7jwwM471R0rYcbSs0/YrTs63yQX8fLCwp83oFn48cFxLX7Ilo7SHrel6LggHkrehbQXS6YSw1TY2acqTrkgI56RAUjPKLo9DSRTqZ3Ba3tbLXPNlPaJAalQKJIXifMJilZgsjhxIyoGkUCgU5xNHHBXYulCB5KbXcevEaLZklPHx1iyAs+5Amp4YirtedLoaW73JwpMrUgD4bGeOFn7XEiklf//+MMuS8nhkVgL3TY9lWkIYb98+li1PXEzfIG8+3ZnT7nEamyw8unQvXu56XrxxBDpd26qsOybFEOHvwfM/HVF5RbsIq1Xyl28O8udvDnZJVXNXY+nOXGJCvAn0dmdTunIgnZP42KuwSSnPOAdShfGEkqRLFEgWpUA6l6hpMOPr4YaPwc1peVvOv3qnJNpnV4FktUrq7P3pdJPFKxQK18KkQp7/n73zDo+jutr4O9ubei+2JduyLRfcu00zmBIIJBCCQ6gBTCBAqAGSkEAIkPIRakI1ptnYYOOGjSvuRd2qtnqXVlrtrrb3+f6YndGutJJW0q60ku7vefzI0u7M3J07O3Pve99zDoFAIIxZyt0V2DISApuf6PbFEyDi87A1pxFT4xVIjJD0v1EACZMIsWxyDA6WMQKS0erAnsJm/HVXCQobtT3e/+ahctSrTfjNqnS06iw4csF3/qR3jlTik5M1uGdFGp64KsPrtcQICX5ySRLOVHVw0QPd+b8D5Shp1uGft85FQnjv50Qq4uPxNdOQW6fptS2EgVHWqkOH0YaWTgsKfFwDo5mqdgOyatW4fclErJgSg5MVqjEnPI4LAUkmEsDpomF1uLwm0+ZBCEBqj5tQQBxIHqIRcSCFPnqLA2ESAaQivtfffYl/3iFswyviWBxMAm2ASaZNIBBGP573GVJ0gUAgEMYWF5V6TIyWQdZtkXKoxCjEuOGSJADAqmF2H7FclZmA6nYj7vk0Cwv+dhC/25SPz87U4pcfnMXRi12iTFFjJz46UY11Sybg+etmIDFcgq/O9XQRZdWo8cbBcvx8fgpevGGmz5xO185KhMNF43BZT9GnQW3CRyeq8aulE3H1zIR+2/+LRalIiZTik5M1A/vgbg6UtGL1P4/gw+NVg9p+rHHS7coR8Kh+wwwDxXf5jdie1xj042zJboCAR+GWBalYnRGHVp0FVe2GoB93OBkXApLcPdk32Zxek+mBOn7u/ywbz20r5H4PlANJLOANqj2DQW20YfHfDyG3Tu33NofLlFj1jyPEIQXGSRQmEUAq9BaQfDqQRjAHkud1ThxIBMLYIBBFFyrbDJj/8gFUj7HBDIFAIIx2ylsDV4GtO/euTIeAR+GqzP7FkmBw9cwEiAQ8lDbrcPviCfj6wWU489wapMfKcf9nOdie1wi704U/bCtErEKM567LhIDPw+1LJuB4RbtXQmynO/wpKUKCV342u9fQs0tSI5AUIcEPPvLsbM6qBwXg0Sun+tV+IZ+HXy2diNNVHQMSAzoMVjy6OR8PfpGLFq0F/z1aRcblAE5UqDAtQYHLpsVhb1Fr0B06m7Pq8cSW83hxZ0lQ57M2hwvbchtxVWYC4sLEnGA71sLYxoWAJBMzSr7R6vB2IA3wAipo0OKCOz4ZCFAVNrsL4VIh8/9hcCCVK/Vo11tR0qzze5vCxk40asxo0429LPIDhXEgCXsKSL5yILkFRiGfGnYHkud1ThxIBMLYIBAOpAutOmhMdhy92B6oZhEIBEJIMJpzqVgdTtSojJieGNjwNZY5qRHIe/FqrMoYGQdScqQU2S9chbPPr8FLN83GsskxSIyQYMv6ZViSHo0nt57HXZ9kobRFh5dvmo0I99zo9sUTwaMobM7uciFtzWlAaYsOz1+f2adbi6IoXDMrEcfL272iRmwOF7bmNGBNZgKSIqR+f4ZfLEqFgEdhsw9HVHfsThe+y2/E2v8cxw/FLXjy6mn44jdLoTXZ8W1u8F0woYzF7kRWrRqrpsbhujlJaNKaUdjYGbTj7T7fjBe+K8LkWDkMVgfnfgoGh8qU6DDa8MslEwAAE6JlSIuREQFpNMLmq+nuQBpICJvLRUNj8naRBKK6ldXpQpiEad9wOHyatWYAjBPJX9iqc+peYojHE2wIm6R7CJuPyRwrUMYpxMMuIBEHEoEw9vC8z/iq/OgPGve9P7vWfxcqgUAgBBq10YYd+U04VKpEXr0GdR3GIY2DN52rx8y//IA/7ShCk3usG2iCKVCdqlTB4aKD5kACgHCJMGj79ocImbCHWyhMIsSn9y5m8hVVd+DaWYm4dnYi93pihARrZsRja3YDbA4XOs12/Gv/RSxOi8KN7rC8vrh2diKsDheOlXctmhwobYXKYMMdSycOqP3xYRJcMysR3+Y19nqttnSa8cbBcqz6xxE8seU8UqKk2PPoajy2JgPLJkdj3oRIfHKyBs5RLHYOlexaNWwOF1ZnxOLqzAQIeBT2FgcnjO3HyHQ8saUAi9OiseN3KxEuEWDvIEPmXC66X6fU5qx6JEdIcGlGHPe3VRmxOFvd4ZXHcrQT2CDbEEUmZib7RhvjQOLzKDhd9IAcSHqLg/uyC3gUJEJ+wBxIEgEfIgFvWHJasAKSZgACEis2DWSbsYreYkdarJxzIPEowEX7Dicx250Q8XmIkImGPYTNy4EUgFBLAoEw8rD3GR41+CpsanchiOxaDWia9pk3gkAgEIIFTdPYU9iCv+wq6bGYKRXy8dJPZ+EXi1IHdG8qbNTir7tKkBIlxZbsBmzJbsCtCyfg4cunYEK0rNft7E4XhHz/1tKPXFDi8a8L8NrP5+CGS5L9blt/mG1O/Gv/RXx6ugYpkdIRy1E0kogFfLxz+3xcPzvJp0PqjmWTcKBUif0lrSho0EJjsuEvNy7x6xpZnBaNGLkIPxS34vo5jOD01dl6pEZJvSb5/nLH0on4vqgFe4ta8PMFqdzf2fC7nQXNcNE0LpsWh7/fPAlXzIgH3y2aURSFB1ZPxiOb8nCwtBXXzu5fABuLnKxQQcinsHRyNGQiAVZOjcXeohY8d+2MgI5JssJS8NC0m5CZFI5P7l6EMIkQa2clYn9JK6wOJ8QCfr/7cDhdyKpVY19RK34oaUVKpBTfPbzCZzsb1CacrFThsSszuD4HgNUZcfjybD3y6zVYOjkmYJ9vJBkXAhLnQLI6YbQ5ECEVQmuywWxz+n0BebpvouQi8Cj/HUg2hwsCHuUzRtfmdEEk4EEi4MFsc8LmYH4PJC4XDYeLhkjAQ5PWAgBQm3oXNGwOF4R8ivtycA6kERKQ/O2j4YBLou0WkMKlQmhNdnfSahp2J831n9nmhETIQ5hEAN1wO5A8RCNTAJK9EwiE4YOmaXd+PN/J+sOlQs6B1NfzxRfs/VxlsKKuw4S0WHkAW04gEAi906az4E87inGgVIm5qRH46K6FEPB4UBtt6DDasD2vEc9uK8SpKhVeuXk2wvxwzHSa7Hj4qzzEhYmx/bcrYLI78f7RKmzJbsDWnAZclRmPXy+bhJVTYsHjUbA6nNhX1Iovz9ahsKkTb98+r9+JvM3hwsu7S6G3OPD41wVwumjcNC9lyOfjTFUHntteiLoOE+5cNgl/uG4GFOJxMTXrAY9H4Se9OIpWT43FhGgp3j5cgRqVEbcvnoDZKRF+7ZfPo3D1zATsKWyB1eFEg9qMM9UdePba6X4/Nz1ZPiUGk2Pl+OpcvZeA9Lc9pdie14T7VqbjnhVpmBjjW7i8ZlYCJkRL8dGJmmEVkFwuGm8cLMfslPARF66OV6iwcFIUF374kzlJeHZbIUqadX73a3/YnS48OeV6pFj1+Oy+67l7yfVzEvFtbiNOV3bgihnxXts4XTSq2g2oUBpQ0aZHRZsBZ6s60GG0QSLkITMpHPn1Why92N5jW4BJng0Aty2e4PX35VNiwOdROFGh8hKQGtQmtOmtWDgpKiCfeTgZHyFsbgeSwWqHyeqEXMyHVMjHrvPNWPi3Q+g09+8OYcUTiZCHxHAJ5CKBXw4kmqZx+b9+xMcnq32+brU7IRbwIBby8fmZOlz/9okBfDL/+NeBi/jpuycB9O9AMtucWPLqIew638z9jV2x1oxACFt1uwGz/7IfxU3Bi40dCN2rsLEx2la7C9vymrDstcPcJM9id0Iq4iNcIoTOj2sskHiKRsSBRCCMLn682Ib5Lx/scZ9m8+RFSIWwOpxwuWhc9q8f8fmZWr/3rTbaIHKvuJMwNgKBMFycqlTh6v8cx7Hydrxw/Qxs++0KLJwUjbkTInHFjHjcujAVX/xmKZ5eOw27zzfjxndO9jv2c7loPPVNAZQ6C9791XxEyUVIiZTibzfPxvFnr8D9q9ORXavBnZ9k4cr/O4rntxdh+WtH8PstBVAZrJgSp8Ajm/LxfWHfIS2bztWhtsOEd9bNx8JJUXhiSwG+y/fOY1PZZsD3hS1+h+EdLlNi3UdnAQBfP7gMf7t59rgVj/qDx6PwqyWTUNFmgFTEx1Nrpw9o+2tmJ8JgdeB0ZQc2Z9VDyKfwi4UT+t/QBxRF4VdLJyK3ToOyFiaf7Oasenx+pg4PXjoZL944s1fxCAAEfB7uW5mO3DoNcus0g2rDYHj3x0q8+2Mlnvm2cEQjStr1VpS16LDaw/119cwE8HnUoEPLfPFtbiMaJZH4c90RRMtF3N9XTo1FmLhnGBtN03joy1ys/c9xPLIpD28drkBxUydWTo3F/+5YgLw/X40tDy5HcoQE/zvas5KeymDFxtO1WDszASmR3nm1wiVCzE2NwInKrjxINSojfvbfU7jtgzM4U9URsM89XIwLASkhXAIAaO20wGhzQC5iBIB6tQkGqwN1HcZ+98F+2d785Ty8efs8yMR8v6qwqY02NHdafJaQBDwcSEKmKyrbDAHPhVTc1IkLrXo0a8395kBq1JigNdlR5JHMjP3sI+FAKmvRw+6kUdrif9LvYGGxO2FzuhAuEULidiBFugUki92J4qZOqI02tHQyLi+z3QmpkI/ECDFadZZhbauXA4nkQCIQRhVFjTqYbE7UdHs2sc+GSLcDqcN9vykeQFEEjcmGzORwvHzTLCxNHxtWagKBENqUteiw/otcJISLse/x1Xjw0ikQ+Agd4/Mo/O7KDGxZvxxWhws3v3cKr+wp7XWh98MT1ThU1oYXrs/E/Ineq/iJERI8f10mzjx/Jd785TzEKsTYmtOAxWlR+OI3S3DkqcvxzUPLsWBiJB77Ot9r4dSTTrMdbx2uwIopMbjhkiRsvHcxlqbH4Mmt5/HxiWq8eagca/9zDFe9cQyPbMrDz/57ut8ql3qLHX/8rhjTE8Kw7/HVWDZGwlqCyS8WpSJcIsCz10xHrEI8oG1XTIlBmFiAHQVN+Da3EWtnJSIubGD78OSWBakQCXjYdK4eObVqvLizGKszYvGHa2f4tf1tiyYgXCLAxyd8mwsCzYGSVrxxsByXTouD0erA20cqhuW4vjhdxYgoqz1CFaPkIqyYEoO9RS0BqcZmdTjx7pFKzNc343JtjddrYgEfV89MwIFSJezOrvQj+4pbcbBUiQcvnYy9j61G2cvX4tgzV+DtdfNx3ZwkyEQCiAQ83L96MrJq1cjptgD31qEKmO1OPNvLNbA6Iw5FjVpoTTY0a8349cfnQNPApGgZHv4qFw1qk8/tQpVxISDFyEUQCXho7rTAZHNCJuJzAgDQ5crpCzaEbVZyBKbEKSATCbwy+vdGsztkrKBB6zN5ltXOhCk4nbTHNoFN/sfuL7tW3eVA6sVNxCYebO5kftI0zX32kXAgse0N9DkZDGwi7O4hbABgcbi6zp37JxPCxkdypBRak92v6yVQsKJRmFhAqrARCKOM3u57FvczhAlhcw7q/qg22hArF+Gu5b1b7AmEQEDT9KiuikUYGDRN+xzntHZacO+n2VCIBfjsviWYHNd/lbHFadHY+9hq3LIgFZ+cqsEV/z6Kr87VwemiodRZsLOgCS98V4R/7b+In8xJwj0r0nrdl1jAx83zU/Dtb1eg/JXr8MGdi7A6Iw48HgWFWICN9y7BwklR+P3X+diR39Rj+/8drYLWbMcL12eCoijIRAJsuGcxVk6JxSvfl+GtwxWIlInw1xtn4u1189HaacYN75zE9rzeK23984eLUOoteP2WOX1WESN0EasQI//FtbhzedqAtxUL+LgyMx47C5rRabYPOHl2d6LkItwwJwnf5TfhoS/zkBIpxbvrFnjlvekLuViAO5ZNwv6SVr9MDEOhXKnHE1sKMDc1Ah/euRC/XDwRX56tQ60quMftjRMVKkTKhJiV7B2qdt3sJNR2mFDWou9lS//ZmtOIJq0ZTzSegq8euW7AfoT+AAAgAElEQVROEjrNdpx2O38MVgde3l2KmUnhePaa6ZiZHO6lE3hy+5IJiJQJ8f6xLhdSZZsBm7LqccfSiZjSy/1tdUYsXDSwu7AFv/7kHHRmOz67bwk+vnsRHC4aD3yeM6oW/MeFgERRFFIipWjSmmG0OiAXC7zKsLN5gfqCdeGwNji5yD8HEisqWB0uFDf3tOIyeS4YcYul2Y/2+AtN09z+Dpe1wWhzQiRg4s19qbzse9lzYnLnZQJGxoHUXZQZSdhE2EwIG/PVCfcIYWPbyLbZ7A5hY62MLZ3D9xlY0SguTDyqbkgEAqFLwO9+37O6HUhMCJtrUAKSxmhDlIedm0AIBi4XjT9sK8RfdpUEZEXZZHNgX1ELNmfVI7tWTYp6DAM0TQ9o/PDmoQpc8tIBPPPNeW5yarA6cO/GbBisDmy4Z/GASqZHyUX4x62XYPfvVmFqnAJ//K4Y818+gKWvHsbjXxdgV0EzrpmVgNdvmeN34l1fE3y5WMC5ip7YWoBnvjmPNj0zBm7UmLDhVA1+Nj/FKzeLVMTHx3cvwv/uWIBzL6zB1vXLcc/KdPx0bjL2Pr4as1Mi8OTW83hq6/keRVRyatX48lwd7l2R3sM1RegbfwUaX1w7i6nsNjlWjuUBcHzdsWwiDFYHLHYnPrprESJkA6twd8+KNPB5FP77Y89wqMFitjnRrrfC4XbWaE02PPB5DmRiAT64cxEkQj6euDoDQj4P/9x/YcjHs9idXi6e/qBpGicq2rFySmyPvlw7KwE8CnjnSAV2FjThZIUKpc26AUflWOxOvHekEosmRWF1Z63P96zOiIVCLMA+dxjb24cr0Kqz4JWfzfbpjPREJhLgnhVpOFTWhoutjNj1+r4LkAr5eHxNRq/bzZ0QCYVYgBd3FqNZa8aGexdjdkoEJscp8M66+ShX6vHMN4UBeV4OB+NG9k6OlKBZa4bZ5kRcmJjLYQMATZquwbfeYgePoiDvFoesNtkgEvAgc28nEwtgdNvN2vVWxMhF4PEoWOxOWOxORMqYAbpnKdG9hS0QeHxhxAI+LHZnj6TZTVrfNjaH04ULrXrIxQKk+0h8StM02vVWxLtD9gBAa7Jz1eb2uUskZiaG4XxjJ5Q6KyKkQu9z4T42e048RSONOxeS2miDQiwIeLJvXzR1E2VYnC4aaqNtSBbUNp3F61z1B+dAEgvhcDE3TLmIDyGfgsXh9BK72nQWmG1MCFuyW0Bq0lowNT6w5VmtDidMVmePCaHJ5gBFMYLnYB1IgTjHBAJh4LD3X89nE9DlQIqQCmFzuNCoYR2jFphsDjhcdJ9lmmmaRofR5pUPgEAIBhTFCAAfHKtGuFSAZ67xL7TDE43RhhOVKuwrasGPF9u4xPEssQoRrp6ZiL/cOLPX1WLC4Hl1bxk+P1OHf956Sb8Jo8tadHjvx0pkxCuw63wztuU14uZ5KWg3WFGu1GPDPYsxMzl8UO2YnRKBLeuXYW9RKw6VKTErORxL02OQmRTW72TPX1hX0ZuHyrHhVA32FrXgkSunorRZBwrA0z5y7kiEfFw3p2cy4qQIKTbdvxRvH6nEO0cqcKZKhVd/PgeXT4+H1eHEc9uLkBwhxVNrpwWk7QT/uGx6HJIjJFh/2eSAVPpaMDEKj63JwPLJMchIGPjYPiFcgruWp2HDqRrcuXzSkJNHn6pU4ZFNedCa7KAoZpzApyjoLQ5sfnAZEiOY+U58mATrL52C/xwqR26dGgsnRQNgcvK8c6QCkVIRHr1yar8LTcfL2/Hk1gJEykT4+K5FfhXkqGwzQKmzeoWvscQqxLgqMwH7iluxr7iV+3tKpBRvu3OP+cPXWfVo1Vnwxm1zQW3x/R6JkI81mfHYX9KKO5dPwicna7BuyQQs8FPQvXt5Gj44Vo0PjlfhtkUTcKhMiWevnY6YPkIrhXweVk2NxeELSrz/64VYnBbNvXb59Hj84doZeG3fBcw8Go5HrpjqVztGkvEjIEVIcbyiHTTNPIw0HlXIPFdv7/8sB2ESIT6+e5HX9hqjDdEyEXfTkYv4MFmdUBttWP3PI/jzDTNxx9JJeH3fBRwqU+LEs1eAoig0a82QCvlIiZLi45M1+PikdywmAKyayoNUyIfZ7gRF9e6I+uhEDf7xA6MYH3ry0h5ixHf5TXhuWxGOPXs5t8rDihqXpEag0J3XaP7EKJxv7MSN757E6qmxeOOX8zzOBXNslcEKi93Jha2JBTyoTTbYnS5c9cYx/HrZJDx5dfAffl0r7N7n5KtzdXht7wWcef5KTqwbCFk1atz2wRnseGQl5k2I9GsbVkAKlwq5VTmxgA+xgA+N0Qat+5o6XdWBd45UwumisWZGPCcgBcNF9caBcuwoaMKZ59Z4VZMwWp2QiwSQiwXQDjL08MuzdfjHDxdw5vk1XLJwAoEQXGia9hDOve97ng4kAKhWMXk2bA4XHvg8BzqzA7sfXdXrvs12J6wOF6IGcc8kEAYCRVF47toZ0JkdeO/HKoRJhHjosik93seKmhVKAyrdVW/YCjgqA/PsigsT47ZFE3Dd7CSkRklR2W5ApdKAkuZOfJ1dj+KmTnx418I+3S0WuxP/OViOyjYDrp6ZgLWzEgckpKqNNrx9uAIdRhv+euPMPicKY4EzVR346EQNImVCPP51AcqVejx1te+qVU4Xjee2FSJCKsTmB5bB7nLhw2PV+PJcHSx2F/5xyxxcNm3g5dI9oSimQldvVboCgVTEx/PXZ2Ldkon4+94y/POHiwCAhy+fwo3j/EXA5+HJq6fh8ulxePbbQtzzaTZuXZiKSKkQlW0GbLx3cY+FakJwkYkEOP38moDtj6KoIc+DHluTgR35TXhpdwm2rl/ep7ClNtrw5x3FiFWIsP6yrmuSpml8fqYOL+8pxZQ4OX6/JgMakx1qow0akw03zUvpIb48cGk6vjpXh79/X4ZP712Cd49UYOPpWgj5PFgdLmzLa8Tvr8rAr5dNgrCbSGt3uvDGwXL872gVpsYroDJYcdN7p/DfOxZg5dSewpAnJyqY/EerfAhIAPD+rxdCY7JxVRlbOy34v4MXcdsHZ/DU2ml46NIpfVbOs9ideO9oFZamR2P5lL5dZtfNTsLOgmbc+2m2O7eW/4scUXIR1i2ZiM/O1KKwsRPJERLctzK93+3+/rPZeNo0zaeZ4MFLJ6O0RYct2Q24b2W6l7kjFBk3d6/kSCmUOisAYHZyONr1Vu41NlzAZHMgp04DsYAHh9PltbKhNtq91FiZuwpbdq0aFrsLJ8pVuGPpJByvaEejxozaDhPSY+Vo1pqRHCnBp/csRrmyK66TpoGHN+XB5mCSaJ/4wxVwuWj89N1TvQoNp6tUiFWIoDLYcKaqo8cFeKJCBZvThawaNbdaxO7rzzfMhMHKJBDXmmzYeLoW7XorjleoQNM0d9PydPq0dlo4B1J6rBzteitKmnVQG204UdE+rAJSk9bs1c7j5SqY7U7k1mmwJjNhwPs9UdEOgFHs/ReQukLYWIuhRMgkQK/2iCXOqulKrCYR8ZEQJgaPCo6AdLxCBaXOivI2PWYkdq3umWwOyER8yMV8NGkH50A6UdEOk82JvDqNz3KVBAIh8KiNNq7aWo8QNg8HEgBUt3fdd05VdnDb9zYxZu/nMcSBRBgGKIrCKzfPhsHqwOv7LiBcIsSvlk6E1mTDgVIlfihuRX69xmtBL0wswNQEBa6cEY+M+DDMmxiJhROjvCYNE6JluGI680y64ZJkPP51Pn767il8cOdCnyvI1e0GPLIpH2UtOiRFSHD4Qhv+uKMYyyZH47JpcZiWEIZpCWFIipD0mMDZnS58caYObx4qh9HmBJ+icK66A2/dPr/fCUqgKW7qRGmzDtfMShxwuEybzoIPjlejRmXE3382u0+xzWB14JlvzyMtRoadj6zCa/vK8N6PVbjYqsd/fjmPK4fNsvF0Lc43duLtdfO5cfKfbpiJhy6fghqV0WulfTSQFivHR3ctwskKFQ6UtuK3l/cUPv1lwcQo7Hl0Fd45UoH3j1XD6aLxs/kpuHw6GVMRmGf509dMx/Pbi7CnsAU3zk32+b4LrTrc/1kO2nRWuGgam7Lq8YtFE/DA6sn48Hg1NmfV46rMeJ/fT1/IRAI8vXY6nt1WiJWvH4HR5sAvFqbi6WumQ2uy4297SvHS7lJ8da4ety5MRYxchBiFCDKRAP/afxG5dRqsWzIBL94wC+16K+7/PBt3bcjCn3+SiduXTERevQbnqtXIqlGjw9g1327ttCA9Vo7UKN/5F3k8CjEKMWIUYrDBYFfMiMcL24vwzx8u4kxVB/5w7QxO1KJBw2RzQm1gRKezNR1o11vxzrr5/brMLp8eB5mIjza9Ff+85ZIBh/Y/cGk6vjhbi8o2A/7zy7l+uWDZz+YLiqLwj1sugcnmDHnxCAiigERR1LUA3gLAB/AxTdOvB+tY/uBZUm9RWjTOVjOT/PgwMTdIL6jXwuliLsayFj3mpHbZCTUmG6LlXV9KubsKW7ZbLMipU0NlsHID+uxatYeAJMWEaBkmRHt/YealRiKrVg2xgMdVFGBD7brjcLqQV6fBzxek4mCpkilL2i2RHFuSObu2p4A0OVbOXbS5dV0Ch8pg5cQu9v3xYWK06a1o1po5B9KUeAXKlXpk1TCTlOKmTiZEK4gXucnmgMZk59rTYbQhViGGy0VznyG7dnACkue58hfPJNpszC/rQGL7nW0ri1TIh4DPQ2K4pEcY3lDRWey40MpUX8qu1XgJSEabE3KxADKRAKZBJO92uWhk12rc+1YTAYlAGCZYt2V8mJhb3GCxuF2q7ACxWmXscc/JrdPg6pm+74lsGDLJgTS2CaXxF59H4Y3b5sJodeCPO4qwo6AJeXUaOFw0UiKluGZWIqYlhCEjQYGM+DAkhIsHFF5y1cwEfPfIStz/WQ5u/+AsHr5iCuZOiERGvALJEVLsKGjCn3YUQyzgYcM9i3DF9HiUtuiwr6gVe4ta8OrerjwgchEfE2PkiJGLEO3+d6KiHVXtRqzOiMWfb5gJh5PG7zbl4Y6Pz+LRKzPw2JqMQeVlYZ1XJqsTKVHSPvfBuqc+OlENFw38eWcxbpybjDuXTcLcfhbAWjrN+OBYNTZl1cPpoiHi83DjO4zY1ltIyKt7y9CkNeOb9csRIRPitZ/PQWZSOF7eU4qb3j2Fp6+ZjmtnJYLHo9CgNuHf+y/iyhnxuLGbOyhWIR5wtaxQYlVGbK9OiYEgEfLxzDUzcN3sJHyb29hnnhTC+OO2RRPw5dk6vLa3DFdlJvSYV+0vacUTWwqgEAuw9aHliFWI8P6xKmzNbsSmc/UAGJfc02t9OwR745aFqfg2rxEUgD/9ZCY3540Pk+Dz+5bgUFkbXttbhtf3eedKUogFeHvdfPzULXZNjJFh+8Mr8fuvC/DX3aV45fsyOFw0KAqYmRSOybEKsLf0KXEK3HCJb5GsNyKkQrz7q/lYkRWDl3aX4oZ3Tvb5/hsuSfKrqqFEyMdtiyagRmXErQtTB9QmgAlVvXNZGi606nDT3L5DfP1FIuSPmnDsoAhIFEXxAbwH4GoAjQCyKYraRdN0aTCO5w8pUYyApBALMCMxjPuCLk6PxveFLbDYndyEGWAmzV4CktHmFb8tEwngdNE45c7grjLYsC23q+JCTq0aty2agCatBZlJvuO+F6VFIatWDc/8Y8mRUhQ39Uy2faFVD6PNicXp0dCYbD3KB7Z0mrl8GDken6O50wKxgOe1It09fIEVu5wuGq2dFlwzOxHfF7agSWuGzi2aTI1TwEUzibgBwO6kcb5RG9TSo+xEiu2jZq0ZsQoxqlUGbsWy+3nwB5vDhYIGLQBmsuV00X4NAHWcA0kIszuBukTIg1jI48Qhtq0srGMgOVIacAdSXp0GbK61nFo17lw2iXvNZHU7kER8GP1I9t6dynYDVzbX83oiEAjBpfu9hC38ADD3E7GAcT0CTP69n1yS5HXPyalV9yogsRU1PRdDCGOLUBx/Cfk8/PeOBXjg8xw0qE24f/VkXD8nEXNSIgKSi2RaQhh2PrISj28pwJuHuspTS4Q8WOwuLEmLxlvr5nGum1nJEZiVHIGnr5kOtdGGyjYmZK5CaUCjxgy10YoGjQlqgw0JERJ8fNcirMmM59q6+9FV+PPOYrx1uAKbs+q53JgAIBLwECUTIVYhRrRcBIVE4FUFSGu2o9IdoseOY0QCHqbEKZAR7/6XoMDU+DCkxchQ0KDFs98WolplxLolE3DrwlRsy2vCjnymHPmkGBkSwiWc6CUW8KExMeEfaqMV5a0GuGgatyxIxcNXTIHV4cL9n+Vg3Ydn8erP5/SYOB0vb8emc/V48NLJWOR2DlEUhbtXpCEjXoE/7SzGw1/lYVqCAr+7MgPf5jaCRwF/u3l2QPpyLDM7JWLIeW4IYw8+j8JfbpyF2z44g/ePVeEJd3RHfYcJm7Lq8f6xKlySGoEP71zE5TF65eY5eOSKqdh4uhZzUyNxvY9cXP4cd+v65T5foygKV89MwFWZ8TC6HT4dRivU7rlwdwejQizAh3cuxMbTtVDqLFiSHo1FadEBS39BURTuWDoJK6fEorRF5/WaVMjnBH/WJeUvf/3prCG168UbZw5p+9FMsBxISwBU0jRdDQAURX0N4CYAIzaAYWNF50+MhIDP4xS+xZOi8H1hC3afb8aPF9uQmRQOvcWOg6VKTI7rSgjWrrd6iTBy94ChrEWHtTMTcKBUiY9P1kAk4GHZ5BicrurAkQtKqAxWL/eTJ2z1hTKPL0NKlBQHSpQ4erHN671HLzIhV4vToqAx2rCnsAW7zjcjXMJ0YV49I4isnZmAg2VKHChphUjAQ2GjFimRUq8HO/s5FqdFobLNgB+KWxEfJkan2Q6Hi8bCicw5OVuthsPlAp9HYZK73PO5GjWuykzAoTIlduQ3DTg7/kBgbxJsHx0qa4PaaOPKLq6dmYCjF9vx44U2DGTc0qA2wWJ3cf32TU4Dd1Pusz3NTHsUYgF07utHIuRDImD+z6OA+RMi8X1hC7fvUnflveRIKbJq1D36dSjsOt8MPo/CZdPicK7ae9/NnRaEiQVMsnerY8DHPVXJxCmvnZmAo+UDP8cEAmFwsN899r63p7AZCe5k/9Xtxh4rVJmJYTh6oQ1iIR/psXIcK2/vNbSGdd6SHEhjmpAbfwHMs/KL3ywN2v6j5CJ8ft8SaE02rzxKKZFS3LMirddky9FyEZakR2NJuv9hVnKxAG/cNg+XTYvDkQvez1aL3QmN0Y6yVibcv3tZe7lYgIx4Ba6dnYSp8QooxHxUtRtRodQjt06DXeebufcK+RTn1PryN0s5N8zCSdF4/roZ+C6/CWeqOpgcUm0GJvzVzhTViJGLEKcQY8myGNy7Ms3LAb/zkZV4ZFMenv7mPE5XqTAzKRwxChEipSK88F0RpsYrfKYoWDE1FgefuAx7Cpvx7pFKPLY5HwDw0k9n9TrOJRAI/bMkPRo3zk3mSsMfKlOixD3n+Pn8FLz68zk9nClJEVI8f11mUNtFURQUYgEUYgEmxvgOO2Ph8Sjct6r/PEBDIS1W7leybkLwCZaAlAKgweP3RgBeIweKoh4E8CAATJw4MUjN6CIpQgKFWMBlfk8MlyApQoJ5bhHnmW8LAQC/WZUOvcWOrTmNOFPd4bUPzwekZ/WuO5dPwvlGLZQ6K1ZOjcEV0+NwvLwd923MAQBMjlP4bBNrH54/scuCPCVOAZvThXs+ze7x/vRYOZIipNzkgH14s0TKhLh/9WQcKFXiwS9yub9flekdfhQuESJSJsSlGXGICxNjb1Gr1yBoRlIYJkbLsC2PcVRNiJZ6DT6um50Ipc6Cr7Mb8HV2A4IJjwJWT4uDkE/h7cNdK4vJERL8aulEHChV4t6NPc9Vfwj5FH535VQcvtCG57YX+b1dfJgYfB6FSJkQEiGPWflTMJOxtBg5ZiaFg6KA314+BQdKlVgxhbnepsQxlUl89etQWDQpCmsy43HkQluPff9kThLiw8RwuOhBHTclUop1SwZ/jgkEwuCIlou41f8/bPO+P02Ok3vlMJoSp0BGAnPPTouV4+3DFX1+34V8ilRWHNv0O/4ay0TKRFicFj0seXdumpfSb3WygWK0OlDVzgpgBkiEPDywenKPhMthEiHuWp6Gu7qlMvCHKLkIn923BK/uLcOXZ+uwPa+Je43Po7D91wt7DaPg8yjcNC8FN16SjH3Fraho0+PXHu5nAoEwOJ6/bgYOlSrx1uEKzJ8YiT9en4lrZyf2SH9CIIQCFJsMOKA7pahbAVxL0/T97t/vBLCUpunf+Xr/okWL6JycnIC3oztteguiZSII+DxYHU4YrU5EyYQoVxpgtDlAAchMCoeLpnGhVe+1LZ+iMDM5nEvc5XLRKG3Rgc+jMCMxDG16K5q0ZkyJVUAu5qO0RQeHO958ZlJ4r3Gp7XoromRCbnXM6aJR2qyD3eXq8d4JUTJu4F/ZpufCy1iSIiRIipDiYqseRlvXa1PjFT1KO7frrYiUCWF1uLySe0uFfMxIDEO73opGdyhFaqQUcWFiXFTq4XDSmJkUDq3ZjtoOI4JNlEyE9Fg56jtMUHkkYmPbVNaih8UxcBdUjFyESTFy1KiMXJ4nf0iOkHJuJdaVZrA4UKUyIDVKijiFGK06C5IipFAZrAiXCCES8GBzuFDaooMrwN+39Bg5wqVCn9dMRrwCUiEfJc06OAdx3KGeYwKBMDjYe3m5Ug9DNwcDe5+50KqH08Xcj/UWB4QCCgIer9/7TKxc3PtK4uWXMz+PHg3MB+kGRVG5NE0v6v+dhMHi7/ir2yLewrq6umFvK2Hkcblo6CxMxSa10YYYhZjLiUkgEIaX6nYDJEL+gKv+EXohyGOa0UYgx2DBEpCWA/grTdPXuH9/HgBomn7N1/uHS0AiEAgEAoEwMhABKfgMdPwFkDEYgUAgEAhjnUCOwXwHhQ+dbAAZFEWlUxQlAnA7gF1BOhaBQCAQCAQCgYy/CAQCgUAgBJGg5ECiadpBUdTvAOwHU0Z2A03TJcE4FoFAIBAIBAKBjL8IBAKBQCAEl6CEsA24ERSlB3BxpNsBIAJA50g3AsBEAPUj3QgPQuW8AKHVFiC0+ioUzk0otMGTUOmfUDsvodSeUOkjllA6N0DotGeo/RQLQE7TdFyA2kMIEBRFtQPoLQnScF9/5HhDIxaAahiP1x1yvOE/Zvc+D/bxAg053sDor79H++cb78cL9PfZc3+TAjUGCxUBKScU8iJQFPUhTdMPhkA72kNpkB0q5wUIrbYAodVXoXBuQqENnoRK/4TgeQmZ9oRKH7GE0rkBQqc9Q+2nUHnOEwbGcF9/5HhD3r/X92ysfb7xdjx/jhnoe+tYP6ej/Xj99fdo/3zkeAH/Pgdl7BWsHEijld0j3QA32pFuQDdC5bwAodUWILT6KhTOTSi0wZNQ6Z9QOy+h1J5Q6SOWUDo3QOi0J9T6iTA8DPf1R45HjkeON7LHJMcjxyPHG7njjQqIAykEIedj9ED6KrQh/RP6kD4aHQy1n0g/EwjBh3zPxh+kz8cXpL/HNsSBNDA+HOkGhBjkfIweSF+FNqR/Qh/SR6ODofYT6WcCIfiQ79n4g/T5+IL099gm0P0blOslJBxIBAKBQCAQCAQCgUAgEAiE0CVUHEgEAoFAIBAIBAKBQCAQCIQQhQhIIwRFUakURe2kKKqCoqgqiqLeoihK1Mf7f09RlGw420hgoCjKMNJtIPQORVE3UxRFUxQ1Y6TbQuib/r5LFEUdpSiKxPaPEOS5RCCMLsg9dexDxjjjC4qi/khRVAlFUYUURRVQFLV0pNtECCxjYaxFBKQRgKIoCsB2ADtoms4AMA2AAsDf+9js9wBC6uIhEEKEdQBOun/6DUVR/OA0h0AYfZDnEoFAIIQkgxrjEEYfFEUtB3ADgAU0TV8C4CoADSPbKkIgGStjrZDIgRQbG0unpaWNdDMIBAKBQCAEidzcXBVN03Ej3Q6CN2QMRiAQCATC2CaQYzBBIHYyVNLS0pCTkzPSzSAQCAQCgRAkKIqqG+k2EHpCxmAEAiHQPLetEDqLHf+9Y+FIN4VAICCwYzASwkYIedr1VryypxQOp2ukm0IgEAijk8svZ/4RCAQCgRBkKtsMqFCSFKIEwliECEiEkOfHC234+GQNKtrIg4hAIBAIBAKBQAhlDFYHDFbHSDeDQAhdRvHCHhGQCCGP2mQDABjJg2jMQ9M0XttXhup2IhYSCAQCgUAgjEaMNgf0lqGP23+zMRuv7i0LQIsIBEKgIAISIeTRGBkBiaxkjH06jDZ8cKwaB0uVI90UAoFAIBAIBMIgMFqdMFgdcLmGVqwpt16DcqU+QK0iEAiBgAhIhJBHTQSkcYPZ5gRA3GYEAoFAIBAIoxV2zG6wDX48Z7Y5oTXZubEhgUAIDYiARAh5NCY7ACIqjAdM7kGCwUoGCwQCgdAbFEVtoCiqjaKoYo+/RVMUdZCiqAr3z6iRbCOBQBif2J0u2BxM4RvDEMLYmjvNAACzfXyOCb/Lb8Ta/xwDTQ/NxUUgBBoiIBFCHo2JdSCNzwfIeMLkXqkyDWHFikAgEMYBGwFc2+1vzwE4TNN0BoDD7t8JBAJhWPFc8B1KHqQWrQVA1+LieONCqx7lSgOM4/TzE0IXIiARQh42BxJxII19zJwDifQ1gUAg9AZN08cBqLv9+SYAn7n//xmAm4e1UQQCgQDvMZzBah/0fpq1bgfSOBVQ2M+tMw/+HBIIwYAISISQR0OqsI0bTCQHEoFAIAyWBJqmW9z/bwWQMJKNIRDGEkcvtmHN/x2F1TE+xYyBYPSIGNCRELZBw46JO4mANOKcq+7Apf/8ccjzkz2Fzbj+rRNDTi4/0hABiRDSOF00tO4bJ3GljH1MdlZAGp+DBQKBQAgENJM0o9cRKkVRD1IUlUNRVE57e/swtinhT2MAACAASURBVIxAGJ2UNOtQ1W6Exkgm8/3h5UAKQAjbuHUg2YmAFCoUNnaiXm2CUmcZ0n6Km3QobdENKbl8KEAEJEJI02m2g80dR1wpYx+z+4ZqHOU3VkLwsDtdeHRzPspadCPdFAIh1FBSFJUEAO6fbb29kabpD2maXkTT9KK4uLhhayCBMFphx6BkMbN/ApUDydOBNNodG4OBhLCFDmw0zFDzcbHfjU7T6O7TIQlIFEXVUhRVRFFUAUVROe6/kSoghIChduc/AkgS7fEACWEj9EdrpwW7zzfjVKVqpJtCIIQauwDc7f7/3QB2jmBbCIQxBTsuIeOT/jEGKAdSS2eX28Pqruo2njCTELaQga0IHjABaZT3aSAcSFfQND2PpulF7t9JFRBCwNCaPAWk0f1lI/SPiUui7fsGbbY5UdLcOZxNIoQYnSSklUAARVGbAZwBMJ2iqEaKon4D4HUAV1MUVQHgKvfvBAIhALDjEiIg9Y8hAA4kmqbRojVDxGemquOxOq+JhLCFDFxBpyFeh+x3Q2cZ3X0ajBA2UgWEEDBYB1KsQkzy4owD2NWW3gYKm7PqcfN7p8blQILAwFq5h5JXgUAY7dA0vY6m6SSapoU0TafSNP0JTdMdNE2voWk6g6bpq2ia7l6ljUAgDBISwuY/gQhh01kcMNqcmBQjAzB058dohE3rMJRE5ITAwIWwDXEuygpQoz0scagCEg3gAEVRuRRFPej+m19VQEgCR4I/sF/YCdHSEVv1KWvR4e4NWbCM0yoQw4mJE5B8x7s3a82wO2myGjOOYVdtyCCeQCAQCEPhREU7bn7vFGx+hEcZSY5GvzG6x3KxCtGgBaQWd/6jyXFyABiXY3A2ifZoFxvGAl05kIbqQGL7dHTfR4YqIK2iaXoBgOsAPEJR1KWeL/ZVBYQkcCT4g9pd7WJClGzEJoynKlU4Vt6ORo1pRI4/njDbu/rY1yCtw+1IG+03XsLgYcXDoSTmJBAIBAIhv16LggYtmrXmft9r4BxI40/IGChGqwMCHoUYuXjQ6SfYCIQJUePZgUQEpFCB5EDyZkgCEk3TTe6fbQC+A7AEA6gCQiD0h9Zkg0jAQ1yYeMQcSCoD8xDTjPKM+aMBzxuzr5BFVkDSj/LYYcLgYcVDPXEgEQgEAmEIsKIQW+2rL0gSbf8xWh2QiwUIkwgGH8LmftYnRkgAdLlxxhMkiXZoQNM0lwOJCEgMgxaQKIqSUxQVxv4fwFoAxSBVQAgBRG20IVomglwsgLGXsKZg02GwAuhKoEYIHl4Ckg8HktrI9MVoTz5HGDxcCBu5BggEAoEwBNjFqBatpZ93di1qjQUB6WCpEnd+cg5MoEjgMVidUIgFUEgEg44eYF03nIAUwg6kfUUtuG9jNvd7Xr0GP/vvqSGF3dE0TZJohwgGqwMO9/xz6CFsJIl2AoCTFEWdB5AF4Huapn8AqQJCCCAakw1RchEUYj6ArooEw4nKLSBpiQMp6Ji9HEg+QtgMrANp9A/gCIODVGEjEAgEQiBgkxO3+OFAMoyhJNpnqztwokIVtLAwxoHER5hEOOjxGvusTwxnBKRQDmE7W92BIxfaOMHoXLUa+fVaNGr6v656w+pwgdX3RrvYMNrxnP8NpaATTdNjxoEkGOyGNE1XA5jr4+8dANYMpVEEAovaaEOUTAiFWAiAqbykEA/6sh0UbNgUm0CNEDxMNgeEfAp2J91jkEbTtEcOpNF94yUMHlKFjUAgEAiBgH2ONHf27UDynPiNBQcS66jvNNshD8KY2mgLQAibxQ6KAuLCxABCO4SNFQO0JjsSI/ho17sjF4Ywb/BcUB3tYsNoR+0RgeKZq3WgWOwusIE0o71Ph5pEmzAIOs12/HghtFJDnapU+bUCM9xoTHZEyUWQux1II7Hyo+IeBKP7yz4aMNmciFMwg4XuKr/R5uQqpZCSpuMXLon2GBjEEwgEAmHk6Aph63v8a3W4uBCWoTgQBsJTW8/jm5yGoOybFTaC5WwxWJnF3jCxoM+clVaHE+s+PIvcOnWP1zrNdoRLhJCJGIHLPMzV7/YVteDhr3L9ei87JmXPqyoAqS/YiIsIqXDUiw2jHU8hcCjff8857GhfCCcCUgDZX9LqV3LfL8/W4d6N2VDq+o+5Hg4+Ol6NOz4+h6e2nu/xWkGDFlXthhFoFWBzuNCgNmFStIxzHQ33yg9N01BxKzXEgRRszHYnYt2rTd3jjNlcVACx845n2IGaweoIWv6GQHO6SoXWfla4CQQCgTC8cEm0+8mB5Dn29JWfMdBYHU58l9+Ioxfbg7J/dkG0M0gLo0arA3IR40CyOlzc4l93WrQWnKnuwJmqjh6v6cx2REiFkImYBeThdiCdqFRhb1ErrI7+j8sKPN0FpKGkvmAdSInhEljsLr/aQQgObL9Khfwh5UDyvI+MdlGQCEgBoqS5E+u/yMV3+U39vvdiq97r50hyoKQVf99bhuQICU5XdaC0Wef1+qOb8/DKntIRaVuNygiHi8b0xDDOYjvcApLe6uAefBrj6P6yjwZMNidi3Q6k7m6zDo+VHJIDafzCPnRpOrRzIrDQNI3fbMzB+8eqRropBAKBQPBAz4Ww9e1A8nQdDMc4tEFtgosG2j0WzgIJOyEO1iTWaHVCLhZwi7+9RQ90CS49F2g7zXaESwWQCN05UIf5ea91t63DR9u6wwlI7nkCKyCpAxDCluBOIs5WpSMMP2y/pkRJh3Qdst+DGLkInaO8P4mAFCCOlTOrBP2tYgBARRvj6ClXdglIZ6o6UKMyBqdxfZBXr4WQT2HXo6sgFfKx4VQN95reYkeD2ozKYXYg3ftpFjacrOHOz7SEsH4fQoHkcJkSDWoTAO8HB8mBFHzMXiFs3n2t9uiL0W79HCzb8xrxyw/OjHQz/OKeT7Pwxdm6gO9XZ7aDRzH/Hw3JTHVmB8x2Jxo1ppFuCoFAIBA8MFgc4FGMkNTX84R9jaKYCmN98e/9F/HBEBcMqtqZ+YCqHwGptdOC2z44w+Xc8Rc2tMqfdAAnKtrxwOc5A6qCzISwMUm0AfQancE6dHwJZZ1uBxKfR0Es4EFnduDOT84hu7ZnuFsw6C4G9YWumwNpoDmQaJrG+i9ycLy8y3HGOq4Sw5kx8Wh3rIxmtCYbeBSQFCGBcQgCEjuvSY6UjvpICiIgBQj2S9/WT1ia00VzIWGsQELTNH77VS7+78DF4DbSB81aM5IipIhViHHrwlTsKmjmYpFZoatRYx5SKcqBYHe6cKy8HdvzG1Gu1IPPozA5Tt7lQAqyddhodWD9F7l44bsiAF0PDpmIT6qwBRmapmGyORCjEAHoGWfMJrGLVYj6dCDpLHbsLGiCcwCDndHCqcoOnKtRh/yDx2J34ujFdpysCLz9XmexI8FdlcWfkOGRhh0YN/mxuEAgEAiE4cHlomGwOTApRg6g7zxI7NgzRi7u14G0u7AZX54b2uJJNSsg9SMM5dVrkFWjRmGj1u99O5wuTjjyR5Q4Xt6Og6XKfl1aLGzCcZlYgES3e6apl2pk7LjO1+fUWRwIdwtQUhEfFW16nKhQYYcfkR6BoLsY1BddDiQb7E4XFyLobw4klcGG/SVKLwGJDZViq9CF+rhvLKM22RApE0EhFsA0hIVL9j6SFCGBzeGChRreolCBhAhIAcBgdSCnVgMAUOr7niQ0akxcSNRFJSPQtOmt0Jrs3ANjOGnSmpEcydycHl0zFSlRUtz5SRZy69Qob2UFLqC2w/+2qY02rHz9CE5XqgbcntZOC1w0UNKsw7kaNdJiZBAL+B5JtBlR4Wx1B/LqNQPef3/k12vhcNE4UaFCuVLP5d2ZGq8gDqQgY3Uw1QnkYgFkIn6PQZrKyPRFWoy81wepy0Xjsc35ePzrAuw+3xz0Nnfn3k+zhrzy2BdsovvmfhJ+jjRs6domj3bm1mmw8vUjQ0oqaXU4YbG7kBIpBTA6QhlZEbqpFwfS+QYtVr5+xKvKB4FAIBCCi8HmAE0D0xIUAPquxMY6kOLD+heQVHorGtTmfheU+6LavdCsszj6XMBlny/+uGRYtB6ikT9ubja8zN8oCTbhuEIswOQ4Rpyr6mVbTqTpw4EEADIhH1XuRe3cusCP/ftqW3/n1mJ3wsqmujDZvZ7l/hbfYcd2nsdi+z0xghnvEAfSyKEx2REpE0Iq4g8xhI3ZNtk9htUJxAFp30hABKQAcLpSBYeLRqxC3G+i1Aq3aDQ3NQIVSj1cLprLhVSjMg57UthmrZm7kOPDJNjy4DJESoX49/5yXPQIsRuIuJVVo0aT1oxvchsH1R6AEa2yatSYnhgGAAgTMw8Rg8UBs82J9V/k4rHN+XC5aDy5pQDPfNMzAfhgyKpVg0cBYgEPG07WoN394Jwar4DWZB81SXtHI+zDUirkQy4W9HCbqQ02SIV8xIeLexUO/nesCkcvtkMm4uOTkzXD2l9Ot/B4chDCqb+0uO8voS4g1auZ+0Wjx6rj0YttaNKaUdai622zfmFzALD3rNEQwsYOCHUWh0/H1LmajiGfFwKBQCAMDIN7HDE9gRlnPv3Neby2r4x7fWdBE57cWgCgK/QkIVzc53PHZHNwIS6+Fjn/+F0RdvmxuFXtIbh09LG4wDp3BhLCpvVYDPUUJWiaWYA7Vu7tHGb3zc4DKpR63LUhCwarAzvym/DizmKv97PnSi7iIzFcApmIzwli3eFEGh/t9xSQpCI+J/BdVOp7PEs1Rht+9dFZlCv1OFPVgfs2ZsPu9J242x9omvYIYet7ccdzQVNrsnn1hdbPhWc2/YmnkMYKFYkRjMgwmlM3PLetEAdKWr3+llunxv2f5cAxhH4aLtr1VkTJRJCLBP0m0X7vx0r876jvheSuEDbGuNEpkHi9/q/9F/CL908HoMXBhwhIAWB/iRIyER/XzEpAm67vmzibT+j6OUkw2Zxo0pq5UDaz3QllP9sHErvTBaXOglT3ZAwA4sMl+NmCFGTVqpFdq0ZGPLMywyr//pDvfmgeudCGRo0JS/5+CAdLlT3e52ty390iO839YJcIeeBRzJdvW14jOs12NGrM+CqrHtvzmwY0ad94qgY/ffckd3yH04Ur/n0UH5+oRk6tGplJ4fj5glRsz2/iPveUOAVsTtewV4EIBZQ6C7YNQgzsjd5EHfZhKRPxoRALeuQZUBttiFGIEC4R9vog/fRUDa6cEY8Xrs9EUVMnsmuHZ6UKYFaQHC56QG69gUDTNCcc9WYHDxXqOxi3jdZk5wbbJe4E/bUdg88FxA52U6LcAlKIOJBqVEb8UNzq8zXPwaSvHHns+WDzrgWS+g4TtuY0EOGbQCAQusEuRE1LDMP6SycjTCzAtlwmPMrmcOG1vRewPa8JbXoLTO7xSEK4hHHY9DLpVem7BIPuThmrw4lNWfXYfK6+37bVqIyId1ek7SuMrZ1zIPnvYFUbfTuQ2g1W7DrfjL2FLV7vZxdBWBHoyIU2HC9vx7nqDmw6V4+vs72fMexzLjFCAoqikB4r73URmnXo6CwOrypjFrsTNocL4R4CEgtNMxWiPTlRqcLpqg68dbgCr/9wAUcutA1pnGSyOWFz93F/4pznOVSbbFyfJISL/XYWcw4kj+uHHROnxzLzsMYQH/f1htXhxNfZDfihm4C0La8Jh8qUXk71UKRBbUJOrRqL0qIgE/ftQKJpGp+eqsU3OQ0+X/fMgQQAnXxvAalCaRg1TjMiIA2S4qZO7C9pRV2HETsLmvCLhalIjZJBb3X0aW+tUBoQHybGorRoAEwlNs9k2sOZSJsNF0v2EJAA4KrMBDhdNIqbdJg3IRLJERKv1RBfOF00PjlZg06zHfnuxNydZjt++2Ue2vRWL+W5tFmHh77Ixay/7MfmLO8HKXvDX+I+P6yARFEU5GIBDFYHNpyqQWZSOMIlAry0qwQA48ww25x4aXcJHvoit8+2nqhQobCx02s1o0ZlxFuHK5Bfr8XitGisWzIBNocL3+U3IUomRKw7L4+/dtTRhNHqwIrXDvdYHWD58Hg1nvrmPPeAGyp/2FaI+zZm9/g7e1OWiviQifg94oxVRhti5CKESQQ+HUjteitUBhtWTY3FLQtSESkT4ssgJHFmaek0Y3NWPTdw4sK2NOZeS9YOBbXRxtmkg5VPx+mi8empmiFXmalXd10r7He6uKkTAFA3BIGNXenjQtjc7aRpekRFkjcPlePRzXk+JxWelnRfzjH2fDT0EuL27Lfn8fjX+X63pardgD2FzAr3hyeq8Oy3hdiU1f+EhUAgEMYTBivzPAmTCPH89Zm4bfEEqAxW6Cx27D7fjFZ3CFpencYrhA3omaORhRUP+Dyqh4BU12HixI++XBdakw1qow1L0plxcF8hVO363kPAeoN1/fB5lJd7hhV5us9DOAHJ/Xf2fWerO3C+UQubw+XlkqpWMULT5DhG+EiPlXN/646nQ6fDR6GUcC6EjckVEyYWgEf1FOfy3L9/X9iC825xyd+cTb7wFH76O7dsNS0+j4LGZOcEv2kJYX7nTmXd5b5C2GIVIiSEi0ckzUkgUHYyn6ml27iV7TN/ik+NJJ+crAGPonDvinTIhII+BeQGtRkqgxX1apNPBxx730iK8B3C1txp5l4LdYiANEhe3lOK9V/k4u4NWeDzKDxyxVTOZqjsI+65st2AqfEKLub6olKPi0oD0mJkAPoWkDwnSc9vL8L6L3KG9BnYyQy7ms8yNzWSe0hOSwjD5DgFl/i7N87VdOBve0rx3o+VKGzS4pYFqRAJeChyTxrZqgl59Rr88oMzyKpVQyTg9RAtmrQWxMhFuDIzHgC4EDYAUIgF2FHQhOp2I9ZfOhk3z0+Bw0Ujzt3W2g4jjl1sx6lKVZ+TSdYFVuROOphfz/zUW5hqSUvSozEnJQITo2XoNNsRqxAjQuoWkNwPlcNlSuQMUyUIln1FLUEJcylr0aG504Iz1R0+X2c/Z0mTDm06Cz4/UzvgyXpunQZHLihR2qzD1pxGnKho91ptArpKlspEAk4s9ERttCJazjiQzHZnj5vzhVbm3MxICoNUxMcV0+NxuqpjwG31t9LIf3+swvPbi7hQT9ZB4qLRa8WtoYgcLR7hsQMNYfP3uDm1ary0u9Qrf1RxUyd+KG7pY6ue1KuN4LtLpTVpTWjXW9HmHlQNxaHFOZAivR1In56qxeX/PjqgKjGD4bV9ZT6r4OXXa2F30j5X0lR6G4R89lz0fL1WxTqQul5j7/UuF419xa04Utbm92d770glHtucD4PVgcJG5v770q5SFMkT/NqeQAg0NM2Emp+p8v2MIQQOo9WB+z/LHtBi5IfHq7DRowKvP9A0jae2nsfpquCFbAcbNpF0mIQRJybHMvl6qtuN+ORkDabGKyAS8JBbp+EWVeLcCY0NvYSxsALAssnRKG7SeYW7sA4es92Jsha913Y2hwuPfJWHc9UdXAW2pW4BiXXAvH+sChtOevcTlwPJjxC2Ro0Jd23I4vKbpkRKvdwOrEDhKfY4nF3iUPfXv8lt5Ba1PMWBqnYjKAqY5J7XTI5TcMV4lDoL7vk0ixvDeAk1Hp+BbRcbwiZxO5DS4+SYnhiOrBrv8XdOnRrTEhQQ8imI+LwebfKXZq0Z923MRp2HU1qlt+K9Hyvx+Zlan9voPMYlGqONc4NlxIdBY7L59ezmzofJxokT3KKqkI/JsYpeRbhQhxXyPBehO812buzMLsa+fbhiWNv15qFyfNrPfU9vsWNLdgN+Oi8ZiRESLh+vqZdolBx3ESqHi0a9D1e50eaARMhDtJyZU2oFElRKovHA5zkw25xo0Vq48LZQhwhIg8DqcKKgQYsIqRC1HSbctXwS4sMlSAhjOr23MLSWTjMutuqQEa9AmESI6Qlh2FXQjAqlHpdNi4NIwENNHzeIh77MxfovcmF3urDnfDNOVqjgctHIr9f06h7pC3Yy092BxONRWJPJTDamJYZhShxjP+1rEspOVDacrIHF7sLKqbFYPTUWIgEP965MQ22HCRVKPe7ekIVohQi7H12F62YnIadO41Utq8mdk+mu5ZPwwZ0LMcW9ggEAkTIROs123L8qHTfOTcZdyydhSpwcf/pJJgDG2VTTYYTe6uh1xcBid3Jf6vPuNufXaxEjF+Enc5IAAIvSokBRFG6cy/weoxAhSsY8xLQmO1wuGs98W4hnvi0cNteDy0Xjya3n8cbB8oDvu8w9mPC1umG0OlDsDj0qbu7ExtO1eHFnCReO5C8v7S7BfRtzsP5LRvS0O2lccA+gXG73Giu6sCFsvnIgxSjE3GCvuwuJFdcyE8MBMP2oMlgHFDLVabJj3ssH8LUPx8amc/WcSETTNA6VMWGZB0uYnw0e9uI6H8csbNTi/9k77/AorrNv32d3tepl1XtDNNF7MxjbuPfe4rjEcRIndvLGyfc6TnPiVMd2HOe1Hbc4ca+4BFwoNmCDDUiAEAhJoN57XWn7fH/MzrAqgAQCSeHc16ULsZqdeaY/53eekv2rT3Wha7hoDkZogGnYIb93/Gsnt7yw/Zg1g7RoSN/z+9CaAv7nzbxh5alXtvYwIykcUCOz9teq91pEkN+gx2aoaI6abw0kRVF4dXsFFS09VPi8sN/NreZQY9eg6zlePjvQyPayVuo6etlb3c4He2r02SZg0EjN5m47E2JUx7amvRe35/BEgN3l1p0r3wik77ycyw/f2OOt9eCiy+6ibIjCW151Ox4Ftpe2cKCukxsWpBAVYuanmRfgQhWy6jp6T3mNMMnpS32njdW7a/gof3hCtGT45FW3s+FAI58VNg75Oy9/XcHrOwZPuTgSTV123t1Vzdq94/ecaj5EqLfLrxYxs6OshYK6Tq6dl8zMpHByK9rodrgwmwxEeAWNI0XpaiLIjQtTcbg9fdL/S3x8LK3bscZ/8mpZm1/Hx/vqdaFpYUYUcFgkeuXrCl44goA0lAikpzeVsKW4iXd2qTalRQX1E5C6vet06J+39jhQFIgO8ae2QxWBNF/RN7rGN9qntKmbZEsg/iZ1sD0hJhhFUf2i57aUqh1avWUn2nuch1P1fPZBi4wK8/p7QX7quhLCAzg3O46vSlt0e612Fwfqujh/WjwPXjaNP18zA+C4oua3FDfxWWEj6wvUMVVsqD9NXXae2VzCG0e4R7RjlRYVRFuPg+ZuO0FmI4kRAXiUoTX70CYIFeWwqNbrdGM2GjAZDWQOYRw2VqnTBSSbbv+eqna0XanrsPHmzqojCnQng6rWHp7YeJA3dx79uXegrotep5tLZyUC6gQ3HJ7w7o9vZNxgY6puu4sQfxNxYeo1X2sOY4Mli/UFDeRWtNFidcgIpLFGdVsP/xyGw9xlc/LYuiI+K2wYkI6SX92Bw+XhT1fN4Jlb5vHjcycDav0ggMZBOrE5XB7ufnUXRiH45tJ0AL5/dhZFDV30ONxMSQgjIyqYsubBB1dVrT18ur+BDQca2FDQoKbKOdxUtfXwp48LuX91/rAfLNqANHGQi/WGBSlMSwxjdnIEmTEhdNtdegTBYOytbsffZMDlFYPmpEbw4GXTePXORVzmvfF+8nYeXTYXz9wyj6SIQBZmWOiyufQi4ppNiREBBJlNnD8tvs82Hr12FmvvWc4vLsnGaBBkxYay8b6Vutj16f56/YF0pFBP9QGs/p6vC0htzEm18LsrpvPi7QuI9QqB2gMjOsQfS7CWwuagqKGLVquDsmbrSa+x805uNUX1XVS19dDrdLO7sn3EXyCa8DLY7MbuynbcHgUhVFFhm3cGuX+RxaPhdHsorOsixN9EVWsvNy5MAdDbzu6qbOOhNQW8uLUcOJzCZrW78XgH226PoqawhZj1kOb+dZAK67qIDwvQz5WWBrlzGJFi+TUddNpc/H7tgT73cXmzlQfey9edt/21ndR12DAaBOu9QlJ1aw/B3lmy8hYrH+XX9dn22vw6ep3u464npd2vc1Mtw4pAsrvcfHGwmS8ONvPNF7YftaNLkS4gqfdGm9XBzvJWep1uCvWujGqam2+UlaIoekSYoqgzL3NTLZhNBmraenVB6rzsOMpbjt8J0s65JdiPQD8j3V7HUXPMtTS5bruLn7yTxxMbDx3Xdgaj2+7Soxe3FDfxyw/28+O38li3/3B9t/JBBKSmbjtxYQHEhwdQ2dLDuX/dzF+9QnBVay+KohYb1VIgex1uPi9q5KP8Ojb41I7bW93OjrLWo3YX7LI5dRHrpa8qcLoVVkyK4cHLplEYHMu/4ucB8LcNB3loTcGwhWCJ5HgYLLJBcnLQj/UxosY17C431W29lLVY+0zmHYuSpr7pTOORbj0CSfUpUiODMBoEb+eo7+j56ZHMS7Owr6aT1m4HIf4mQrxi05EmYzQR5Pxp8cxOieD5L8v041rapNY1ig8LILfycA0fRVF47otSQM1CKG22YjIIJsQEExpgornbgc2p1kytae/VB+SKouiC1bEikFq67bzj9T0qWnowmwzEhwXojSm0bWvoYpI3RW5RRiSKonYNbbE6mJWsThBpAk+dj09S1mwlM/rw5K/2e15Vu162QrtuWq0OvVSFr4DUPwJJq4GUEB7ILYvT8DMaeN7rj+VVq37q3DQLNy9K48o5yViC/I7aVe9IaO/PXG8t10lxoZQ2W+m0uShrtg4aTaSJXRnRwXTZXNR32IgJ9ccSdHjccCzq2nv1a0sTA3sdbgL81GF6ZkwIHb3OcVlGQ0tRs7s8ujiWW9GGQai+T217L6VN3X2Ey5PNC1+W4fF2GD9ahJh2H2R5xeUg73V4JAE5t6JNvzcGewZb7S5vp2kTCeEBlAZGUhZoAdCjORPCZQTSmOK5LaX8dhgO82vbK3nis0Pc8a8cvf7EluIm1u6tY4d3ULgwI5Lzp8XrDzZNUazvsGFzuvsMkl74sozdle08fM0sParmkhkJeveHSXGhpEcHHTECSeto5lHU9DmNfTWd7K3uoNXq0PO1FVDvRAAAIABJREFUh4qWLuZbnE5jVkoEa+9dTniQH1MT1IiO3YN0lNDYW93BqqlxzEgKJy7Mn6SIQFIig1iQHsn0pHAC/YzkVXewfGI0U7wRIgv6DfC1IsFJEUGDbiM7MYzsxLABn4f4m4gN9e8javRPufN4FBwuDwe9EQnz0izsrW6n1eqgtNnKnNQILMFmzpocq39nclwoF82IZ8XEGCL0CCSHLqIE+Bl09brb7uKv64tPuHaML912F//vnTye/PyQLrI1d9tHvJBeoVdA0kKMX/iyTB8I7/R2pVs5KYbdlW16SuLmosPH2un2HD1lsLEbh9vDby6bxvPfnM9vLptOVLBZj1rTzptWFFGLQKpp72X6g5/yxs4qihu6cLg8TI0P0529TpuzjxhSUNfJlITDKY9ZsSFYgvzYWTZ0AUmLDrK53PxuzeFuLFsOqjZq+7+uoAGDgNuXprO3uoP6DhtVbT1MSwon2GyksK6L+97K4/drD69DO2Zr9tYdV6pVXYcNs9HAzORwGjptQ+4wUlzfjcujcPGMBHZVtrNukIL2vsuCOuvi9ih8XtSIZupu7/nZX9vJb/5TwL+8gh+oM9iL/7CRjh4nTV12bE4P6dFBJEUE6hFIaVFBzEgKx+b0HFWMPhpaykFYgB8hASa6bE7+s7cWo0FgMgj9+b6vpgNF4bhSGI/Efu86QU2Zy6tSndZH1hVhMgiCzcZB00aau+xEh6jPxHUF9ZQ2WdlwQI0O0OofLc6M8h43N7kVbTjdCi6Pwj82lxAb6q8+P6s6uO/tPdzz+m7+foRQ73yvjSaD0O+rGUnhnJcdx6rWQzyWsoxDjd26CDUcIVgiOV40R3q4YkNzt527XsoZVoep053SYQo7Wl0eh8szrIkJTQwcz6Kg1slLi2o2mwykWAI52NiN2WhgelIYc9MsONweviptIdhf7RALfQeQD60p0MX+5m47liA//IwG7lqRSUVLj95Epqy5m8yYYOalW8gpb9XfTVsPtVBY30VogInS5m5Km7pJjQrCZDQQE+JPU7ddP0+gdij+8Zt7+KywEbvLQ2iASS9C3etwc/eruRzq1/jm1e2V2F0efcwRGWQmPNCvbwRSs5Up3rIR2vWjiTpaPSbNf7hmvjoRuHJyLGaTwSeCRlEFpJhgfb0Z3t8fWluA1eFW97OpG0VRaO9xkuVt1tPcpwaS913fT0BKjAggJtSfq+cm8W5uNc3ddnaWqWOTuSkW/fsJ4YF9RC1f2qwO7nopR2/24Yv2rNJSDCfGHRbCep1qxPB9b+X1iSDr8Io6qZHq2KWooYvoEH89Tan1KALS81+U8o/NJTR02ZmeFNbnOPQ4XHrEy+H0SvW4/fCN3Vz2f18O6IBnc7r5/mu7+kzMjySvbq/gH5v7dhjr6HHynZdzBjw/Xv6qnCc/P9QnEky7TnZVtDElPoy0qGD2eSduYejCt8bv1hQcMwOnvsPGXS/l0GZ18HlRI5c/uZXXdlQSGmDC5vQMWivrTx8X8lF+HaXNVswmgx71rglIPQ43jZ027vx3jt59vaNHTcs7a0osUcHmQf1Bq91FsHZOY4IpCbRQGqDeW1u9UXn9s4LGKqeNgKQ5yoN1A+uPoii8mVPFnNQIbl6UyvqCBjp6nDzwXj4/fGM3H+yuZUJMMFEhfYtfhQb4EWw2sr+2kwW/38Cr3k4LHo/C6zsqWZIZxcUzE/TlDQbBry7NZm5qBNkJYWREh1DZ2jNgFsjtUXgnp4rlE6OZHBdKXYeNGUnhCAHv76nRO4PtqxmaOHaosYunNh2iosU6pAt1TmoEIf4mNhc309Hr5JFPi/q00Gzxihozk8N56ua5vHDrAoQQ+t/9jAbmpEYAcMcZGfrnSRGBJIQH6AJSe4+THof7uPI/M6KDsbs8BJuNBPgZKG2y4nJ7dIHhobUFnP/4FgrruzAIuHx2Ip02Fx/sqdH3sT9CCJ66eR7XLUghwlsDqb3HyVclzaRHBXHlnCQ+yq+j0+bk39vK+dvGg7yxs4oeh4unN5UMufvCkdhbpaai7K5q61NofbDWsMeLx6NQVK++7BQFNh5o5KE1BXou8k5vV7pFmVE0dztwexTmpEaQW9lGp82Joihc84+vuP7Zr/sUY/RFG9TPSolgVXYcZpMqgmgC0hbvval1vAjyMxEZbMbh8mB3efh4X71ep2pOaoQ+4/XSVxXM+e169nqLOJY0detiJ6jnb356ZJ8ooP5hpy63p0+EYUFdJ7Gh/nx7eSYf5tXqLzNN/Nlf24HL7WF9QQPz0ixcv0B1otYX1FPd1kuKJYi0qGD9vsyrbqfN6qCh00ZhfRfZCWHUddj02a3hUNthIyEigGRLIB4F/aV1LPZ5o4l+cv5k4sL8jxjBoigKRQ1dhAWY6HW6KWvuZn1BA3Fh/kSH+LPbG5qrPUN3+oTqrt5VQ4vVwRs7K/V0rpTIIJItgRxq7GZneRvTE8NJi1KdoMEidYZCZ68Tf5OBAD8jof6q0/yfvFrOyIpmcnyoHjmlRbc1d9s51NjNa9srjyqADwXtej1nSiyF9V34GQVT4kNptTrITgwjMyZkgMOgKArN3Q6iQ80kRgTidKvP9gP1nXTanHp65RkTowE1UnZbSTMmgyApIhCrQ63JNj0pjHdzq6lq7WVyXCiPri8etBW0FlWpRU9GBptJtgQihODB8o0owI3Pfa078b5CsERystCiVeo6bMdsgezLhoIG1hU06OnCkmMzXGHHd8B2rFqXfb+nntOGTvsxU6PHKt12FwZxeFAIh9PYZiSH428ysmRClB4hGmw26TVQNAGp1erghS/LeNnbsKO5y0G0d2xw/rR4wgJM+vijtNlKZkwIq6bGUtdhY5P3801FjZhNBm5elEZ1Wy+F9V161E60N4XK9zw9tr6Y1btreMrbKlxL22/pdrC9rIWP8uv50OvbamwqamRuagRXzk0C1HTy8EC1nqTDpfpBla09nDkpBqNB6NePJt4unRBFdIiZV7dX6P+/95yJ3LYsnYTwAD3ap77TRo/DrR9HUCd5v3vmBOanWbjn7CyWZEZR2mzVO53FhwcQGmA6ag2kwyls6pjlzuWZ2F0e/rW1nLdyqliYHkm4d6IXVKGp7gg+0r+2lbOuoIG1g6TUate1FnnvW0YD4JN99by7q5q3dh6OJO/odRLoZ9SzUA41djM3NaLPxPNgKIrCPzaX8udPCnF7FGYlR/Q55r1Oj35taoJcaZOVipYePthTS1OXnZe+qtCLhoMqzKzdW8d7u2s4GTy3pZSnN5X0mQTdVNzIp/sb+NinE217j4M/flzIPzaVUN3Wq9eBrG3vxeX2sLuyjXlpFhIjAvSJWW3/hkp7j4Pnfe69I/HJvjrWFTSwqbiRN3dUUdrUzcpJMXr5k/7b7LI5eXZLCf/eVk5pk1qjWKvpqQnIPQ436w+o76Zntqj34Zs5lSiK2ohKSznsj5bCBuq4tSwgklJvBJJ2HGQE0hiiosVKeUsPQtDHEXlzZyUf5tVid7l5ZnMJ7+RWoygKuRVtlDZZuXFBKlfPS8blUXh8YzHVbWqb7qKGLl2N709cWAD/2VtLl83Fv7epxYa/LmuhsrVHH2z6siwrmtV3LyPQbGRCTDBOt8Jl//cln/vkr7+7q5raDhvXzU/hEq8Adf60ODKigtnosz/a4Gkw9tV08PSmElWdfnU3D39SxLaSFr0Y7dHwMxpYOiGKLcVNvLi1jP/7/BDPbC7V/65d9DOTI0iJDGK6t/aJL9fOT+b8aXGcOTFG/0wIwYL0SLaXtdLe49DruiRbhq++ZnjV+SkJYWRGq0W/f7Y6n0v+/iUdvU7ezqmmrNnKq19XkBYVzPw09fz96eNCzEaD/uA+EmaTgWCzkRarg+2lrSyZEM3Ni9Kwudw88mmRnrv7dk4Vz20p48+fFPKb/+wf9n74oglFVa29bCtpISE8gEA/oy6mjARVbT1YHW4umqGmC2oF5dYVNNDQaWNXZZsaRZaonlOzycD/rJqE26Ow7VAzBXWd5FWpqTW3PL+djh4nte29PLa+WBcZ99V0EOhn1M8RwIzkCA42dlHd1sPemg49Bx7UmaZvL8/kre8s4eZFqewsa2VHWQtRwWZSI4P0CKQP82rpdbr53iu72FTUiNOt6LNnGgvSLZS39NDYZSOvqp2Zv/lUL76oKAp3vZzLtf/Ypi9fWNfF1IQwbl+Wgdlo4MWt5dhdbr4qbSE21B+bUxWPDtR1cv60eLJiQ5gYG8Kr2yup77SRbAkkPToIu8uD2WhAUdT2sppI9pvLp+FvMhw1DelI1LX3khAeoIu+Q50t3l/bQai/ibTIIC6ekcjmoiZd7LM53VS19tDcrRa57uh1cvFMVXzYWd7G5uImVk2NY25qhB6BpAlI+2s66HG4aOy0saeqHYOAf28r16/PtEg1AqmooYumLju3Lk0n3SsgaXWQ/pNXyxs7KocckVXeYtWdspAAE9tLW6lu6+WSmQlMSwxjf20niqKQV92hv6Sf3VLKA+/l88i6IkAVEYdTz0kjr7qdpIhArpqbDMC52XHcsUwVxOemWlRnoJ+A1Glz4XB7iAnxJ9l73i6YFo+iqKHOFS1WQgNMzPSGPGv3+uyUCK7yOvpqUf8IuuwuQgNMvPf9pUyJD+WxdUUD9mNvdQfJlkDOy1bTetWJBtXxSXZ0cm/NVzR12cmMDuYbi9PY5RWCRzJyUiLxRYtI0BjOAEGrJ9G/45LkyPgKO0O5r33r8gzn3PgKGmXjNI2ty6YO5nwnPLVIj3lp6qAuLMCP6xekAurg8XAKmzoZpU1M7Kpsw+NRaOq26wKS0SCYk2phV0UbrVYH7T1OMqODuXhGIvFhATy3RfWjcyvVtJepCaF6raAJXsEgJsSf5m67nlo1PSlMf39qPuJUb+R1U5dd72zlO0llc7rZV9PJgvRI5nv3yxJk1gWXTptTn7yeFBdKamTQgAikhIhAbl2Sjs3pwWQQpEYG8eNzJzE31aIKSF5/RPtepo+/B3D/hVN48faF3HfeZDJjQqhoserrjgwy65FWGpqAFBYwMAIJVGFn1dQ4ntp0iJr2Xr69IrPP9hLCAwetFdnrcOv+ev/nitPt6VP4ODzQjzivKKTVdNTSG32Pb6fNSXign14r1WgQ3LYsQ09ha7UOPrmqdezSIstmeschzXoKm4sAr3CWbAnCbDRQ0tyt2/1/N80h1N/Es18cHo9pf9t1Ep6ZWk3Rjl5nH4F61yDbfHV7JT0ON112FzvKWpnmHUPUtvdS1NCF1eFmfrqFhPBAfN2/4RT/13zNPd5SG0dCSxfNKW8jt7KNVVPjePab8/WMk/5RT3lVHXgU1ecrbujuk46pXYdWh0s/1m/urKKpy84/vyxnSWYU05PCj9h50Gp3E+QVoTOjQ+g0BdDip94r2i6c9jWQhBAXCCGKhBCHhBD3n6ztDAVt8HbDghT213ZS095LZUsP96/O597Xd7Pw9xv548eF/OTtPK5+ehu/eH8fwWYjF89MYHZyBNEh/vxrWzlmo4EHLpoCwCJvcbv+xIapkRyh/iYONnazp6qdt3ZWERpg4oLp8YN+R+PSWYk8cNEUehxu7n1jN41dNgrrO/nVB/tYnBnJhdPjuXpeMvPSLFw6K5GpCWF4vMXtMmOCj5iep4U0/vmTQs5/fAtFDV1cOUcdnKRGDZ4u1p8zJ8dQ096rv/D+ubWMlm47te29bD3UjBDo4ZeDceWcZJ65ZT4Gg+jz+RVzEmm1Olj12Bae9z4Ejyd8TxeQ4kPJjAlmX00nH+TVcqixm++9kku33aVHLGhd8FZMimFVdhz/umOBriofjehQf17bUUmX3cXSCepD4qaFqbz0VQUNnXbOnxZHYX0XT246RGiAiQ/21PLk54d4aE0BeVXt1HX08sePD1DjVeD/vvEgBUdJqdxd2a6r9ttKWshOCGNmcvgJR1L4ooXpXjhdFSZzKtowmwx021186987sbs83LgwlWne1MF5qRaWTIgi1N/Ee7tr+E9eHSaD4C/XzORAXRc3Pvc11z3zFU9sPMgjn6oD9oLaTrITw3QFH2BWcjgeBR78cD+KAnf5vPyDzEYswWYWZkSydEIUvU43H+XXMyc1AiEEYYHquXK4PCyfGE1jl427Xs4F0F9SGmdkqYKlNmvkdCv6bMWavXV8VthIXnUHRfVdON0eDjV2MyUhlJhQfy6bncg7udV8sLuWHodbt/Fh735dPDMBIQS3LUunsL4LRVGjbrQom5sWpRIR5MfmoibWFTQQE+rP/DQLq7Lj+I9XuNZm/vrz5cFm/vjxgT5h7rXtvSSGB+qi71ALae/3Hn+DQS0M73B7WLe/AUVRuOWF7Sx/+HMW/WGjHnV20Yx4zCYDD60poNfp5qq5ScxJtVDWbGVfTQcFdZ0snRCFy6Owu7JdT8f68bmTqO2w8fuPDjA5LlSPQAK4bn4yCzMiSYwIwGQQlLdYqevo5b6387h/dT7XP/uVHgZ+JA42dLGuoIErZqvPrhB/E83ddsxGA+dNi2daYrieypvvTZdNtgTq6b/bS1tptTq4+IkvuOf13QPWb3cN7OznS35NBzOSwlkxKZqFGZF8e3kmF89MYOmEKC6ZmUBGdDA17b19ugtqM4nRIf4snxTDGVnR/O7K6ZgMgpzyVspbekiPCibFoj6HC+o62VvdzpIJUVw3P4V5aRZWTY1jVop6XV8xO4kgs4kfnzuJ8pYe/vBRIQ+8l8//vLmH368tIKeilVnJESzIiMQgBkZW3lmXw6qpsfzg7CxWTorB5VG48smtzPnterYfoQujZPwxFvwvRVF44L18fvOfAkqbu/XOs76F5rceaub+d/fqAnJhfSc/eG2XLnycbAHpsfXFel0YUFNx+6dnjBQVLVbufjVX7+TaH4fLw4/f3DMgwvizwgZ++f6+QVNx386p0uupgVbPqEc/1kcbjG0pbuKB9/IpaeomLsxfT58aKqXNVp9zOr7S2FqtDu5+NZeCuk59QkpDi5zRBCSA25elYzQIgv1Nuq/4xMaDPLa+WL82u2wuDjZ209xt1zsDA8xPs1Dc2KX7bZkxwXpzmW0lLeRWtLKvpoN5aZF96wZ5BaToEDNNnXZKGtXztMI7CTspLkQXHrTI6+Zuuy5s7KlsZ39tB/e8vpud5a043B7mpVmYnhSOn1HoHW0BHl1XzN2v5urbzYwOZktxEzc//zV7azoI8FMnUL+xOI1APyOpkUH4GQ8PHxN90sW01DnfFLb+ZHony7Wo3oggP6JD/NlS3MTVT2/j6qe38dr2SgL9jJhN6nYOC0iHxwd3rcjEo6hi1TlTYvtsIyEigC6bixe+LOuT8v3OrmraepxMigthV2Vbn/uqqrUHl0fRr2tLkJnoEFUEunBGPMFmo14n8lBjN/trO7j71VxKm6xeAUld9tKZCSRFBOr1OFuOUOA8t1KdzNS2NyE2mEA/I/tq1PVWtvboEUhGgyAtKoiSxm5yK9sI9TcxJ8XCTYtS+Ti/jquf3sbqXdX6+c+rbmdfTQfXP/MV1zy97ajp6i9uLePqp7dxx7920mlz8nF+Hb/zlkr5q88z0lcgyilv45fv7+PzwkZ9mzkVqr9qd7l5cWu5vl89DjfTk8IwG9VUR209c1MtJHgFQbPJQFpUEKXN3fz8vXyufnobP/PW9n3y80O8tv1wY5u3dlbxtw0HD997dlefLI0Bx9mbhfDJvnqauuzM9d7bMaH+hPibBjQ/0dZrc6qCou+1rKWf9djd7KpoY2JsCD0ON5f/35fUd9r0cUJmTAjN3Y4B0WddNqf+DPFd7+Frzm/QsjJjkWOPmo8DIYQReBI4F6gGdgohPlQUpeDo3xxZ1PDneooaukmJDOTO5Zm8vqOKNXm11HfaMArBvasm8llhI/eek0V9h51/bi3D4fLw3TMn6Cd51dRY3thZxZmTY/j28kyyE8JZnDl4BFK8V61+5LpZ/OiNPdz/rvqCvmFhiq4kH4kAPyN3rZjAOVPjuPDxL7j7lV2UNVsJC/DjiRvnYDKqeZjvfm8poIola/PrmJMaQaCfsU9b+aYuO9EhZjUNa1MJFS09XDMvmXdyq1k1NZa/Xj+bbyxO6xMVcjS0l5bV4ebBS7P57ZoCVj6ySe8uoHWWGy5nT4njwx8s45fv7+P9PbUYhKq0DxffCKTmLjtrvJ1BkiIC2VbSQmZ0MLcuTefXH+4nKzYEk9HAS3csHNY2/nbDHF7fXklpc7d+PP7f+VP4dH894YF+PHzNLDYXb8Dm9PD2d5bwwzd285dPixBCfUAH+hnVwuetPZwzJY5H1xfz3BelvPStRcxOOTzQ6+hxEhJgYndVOxdMT+Dj/Dr1pRavzk49/0Up976+mzOyorlmXnIfUe6Vryuo77CxICOSnPJWXB6FC6bFMzNZjUTo6HESGmCivtPG05tK2FWpFrKbnRJBUoQ6Y3PDghTW7q1jX00nl85KZLI3queqOUmcNSVWz+1/dH0xIf4tLMuK5tr5KcSE+vOdl3MJ8DOyamocL31dwZVzk9lf28HV85L7HMuFGZFMiQ9lw4FGokPMXL8ghT98dACPorYs1ViUEYUQanrbnFT1oe97nf3grCz+94IpFNZ3ERnsp+fSa2QnhpGdEMbrO9QZAiHUYuslTd08tKaAibFqtNqavbVcMjMRh9tDttcZ+9YZGbyTW83/e3cvZpOBGxam8reNBylrtrLAO3OiHpdk/vJpEe09TlIsgWhn4/LZiTR32/lgTw0uj8L3Vk5ACMG185JZu7eO9QUNvPxVBTXtvbx252JdzG2zOrj3jd20Wh08s7mUBy6awm1LM2jospMQoUYgmQyCD/bUcvHMBLptLiKCzH0Euh6Hi2e3lDIlPpQDdZ3ctDANUM9zSmQg//yyjGCzkZ3lbdy+LJ2vS1v1lNvshDCmxoeSV93BD8+ZyLy0SD316l5vPbj7L5zC5U9uZUdZK3ur20mJDOR7K7MoqOskJTKIH50zCT+jgTMmxrCtpIX7L1RDhU1GA+nRwXy6v56a9l51kHnRFP78SRF/+uQAf7xq5hHvv8c3HCTIz8h3zpwAoM8Enzk5hvBAP13A/vJgM5WtPdy4MJUQfxNv51ZzXnYc6woaeGB1PqXeIqXr9tdznrdQf5fNyVVPbSPIbOTN7ywZ8Kxu8daguH5BCqEBfrz1nSX631779mJArSGmKOoMZU55K0II/VqKCfVnQXokr9y5CIBpSeF87HVmzp4SS0yoP/4mA89uKcWjqJGpKZFB+rN+WZYqWt22LB1Qo59mJYfzz61lhAaYsASZqe+04XB5mJOqTnq8+72lTIzrG5Hnp3h4/tYFgDrbGhZgorbdRlSImR+8vpt7z85iU1ETT9w4Z0iiumTsMVb8LyGEmr6fW4nD7eGuFZkcbOzWZ3sVReGhNQUU1ndxztQ4zs2O49F1xawvaGBuqoUr5iRR2mwlJtSfsmYrLd32AWUDToSDDV08sfEgEUF+XDQjHrvTwx/WHsDh9nDZrMQRr0PxxMZDfJRfz6S4UH60atKAv6/ZW8vq3TVUt/Xy1nfV54vbo/DQmgOUNVu5YHo8y7Ki9eWtdhcPrSmg0+bistmJTIgJoaKlB48C50yNo7ihm5Km7kEjwrVjf7CxmyCzkVnJEfT4dNc6FnaX6sd8e7l6TkvGWQTSi1vL+ChfTbfpH7W8amose6qSOcPnWKdEBvHARVOJC/MnMsjM9fNT2F3Vxt8/O0haZBAx3jSz3Io2veadxrw0C4oCv197AH+TgdneOj03Lkrl758d4qdv78XpVpiXZtFrBQFkeMWkOakW/v1VBZ/sr2dWcgRXzU2mrcfBxTMS+cYL24HDAlJDp509le26Pfe8tpvSZiv7vVkCc9MsBPgZ+cl5k/XC1QCv76gkMzqYy2Ylkp0Yxo0LU7G7PGwva8HpVvQ0aEuwmQcvy6Z/sEdCRAANXXbcHoXVu6pJjwrSx0KDoUVXaQN1S7CZGxel8G7u4bSrrNgQfeJEPS9xtHY79G7XoEaYf2dFJkuzogdMTmsTbb9fW4CCOkGfEhnEC1+UMislghsWpPCz1fneek1eIdR7HWv3T4S3BuwNC1K4YrZasmJfTeeA46vZMjEuhOvmJ/P9s7IAtcB4RnQwH+XXcdeKzD6Rbtr+h/qbePKmubzwZRkTYkKIDjXr4xeA5RMPX4eLM6N4c2cVMaH+zEmzYDAI7lyeSUmTlQN1nfx+7QGcbo9u372v76a+00aQ2cgf1h5gxcToATa0Wh38+ZNC4sICyK1o46Vt5by6vZK6DhuT40P528aDhAeqz8jcyjbMRgOBZiPPbimltNnK5uImatp7iQn1p6HTTo03qKC5287j18/mR2/uprnbQWJEIPHeVMeGThuxof4kWwL1Jk7pUUGkWILYVNREj8NNWlQQuRVtzEmJ4NF1RQT6qUEdRoPgobUFdNtdA+493xIWGrXtvdR6i5prE3rzvGMJIcSgqWa5lW19lvdNx9QEvaq2Hspbenjgoil09rrYU9XOyimxnDlJHRsuyVSDTFbvqtFLtxTUdlLe0qNHNPqmR2rX3HipfwQnSUACFgKHFEUpBRBCvAFcDpxSB6a6rYeP8uvptru8Ld9DWJwZyV8+LcJkFFwyM4F7z5nIvedM1L9z06LUAes5f3o8b+ys4rJZiQgh9HoVg3FudjwGITgvO45LZibwdm41l8xM4KfnTRmy3RNiQvjuygk8sfEgs5LDeeTaWXpnMF+0m2VOagRGIfgwr5bnvyjlndxqCuu7uHpuMudmx/H0pkNcPjuRR66dxc2LUvVBhe8My7FIiQxiYmwIBiG4dWk6LVYHe6raOXtKLBFBfnp45/EwLTGc1Xcvo7Klh6Zuu154bjjMT49kWVYUZ02O0V9K0xLDuP/CKdzywg6uW5DCtfOT+byokXO96R3DZXZKRB+hByA8yI+3v7sUk0Fug4ifAAAgAElEQVQQHujH91dmYXW4mZUSwSt3LqK23cbE2BAeXV9EfYc6M/X6jkp2lLUyOS6UXqeb65/5ih+fO4mzpsSybn89T2w8xLSkMFqtDpZkRlHZYiWvuoPJcWp01WeFDewsb+XDvFreya3m5sWpTIkP48O8Gp783Dt7+rk6YyFQW7eelx1HVIi67bgwf6x2NdoiMSKQK+ckE2g2khmjRlCc5Z3JeeXrCn606vC98dj1s/Xf7zozk/f21FDaZNXrraycHMuae84gwM9IeJAfqx7dzDVPb8PlUfQIJo3QAD8+/uFy9td2YjYZCA1QxZ/K1p4+joAl2Ex2gpqaNMd77EP9TQihhhfPS7NgMhoGdZI1rl+Qwq8/VNMJ7zk7i79/dohLnvgSBYUXbl3Anz8pZM3eOv1hrhV5n5oQxmt3LqKhy0ZaVDAh/mqq0dZDLfo+gzozdvOiVJ7aVEJ6dDBzUi2kRQUxJ9XCOVOtrNlbx40LU/npeWq3xuUTY0gMD+AX7++jvceJ2WTgmn9sY0FGJHGhAdS0qyHC735vCU9vKuGx9cXsr+3E7VFYmBFFgJ+RX12aza8+2M+Khz+nodPO8onRPHvLfALNRnVWf/VeqloPRyhp4ooQgl9dMo1vv5TDPa/vJtXrGO+v7eTKp7YSFexPVIg/18xPYVJcqP5snJ0SwcKMSJq67FwyM4GZyRFMjQ/jtR2VtFod3L5UnaF96uZ5A+4ZTWDR+PWl2dz57xxKmqzcvCiVu1ZMoLnbwbNbSjlzUiwxoWY+L2wiJMDEbUvTeTu3mn9vK+dQYzf3nJ2lPx80IVFL652aoM5w/fkTNUJsZnI489IsNHbZefS6WZz1yGY+2V9PamQQgX5GHvxwP5PjQ0mxBPG/7+6lpKkbjwK/fH+fHg5vMgjSo4L5+Xv7MBoEKyf1neX0RROxf/H+PixBfrg8il6HILrfwHdhuoXnvigjLsyfH54z0evIqGLm/14whUX9UqSjQ/z7iFZCCJ65ZT5lzVbmp1vwM6pRg7sq2vTmBJrgeiT8jAbe/d5SQgJMdPa6uOLJrfzyg/2kRQVR1daj3weScceY8L8A7lyewRveRhPZCWEkhgfqUTFfHmqmsL4Lo0Hw3JZSMmOC2XCgAaNB8MKXZbojfdvSdP7yaRG7KtuP+909GM9/UYbJIGjvcfJObjWdvU56nW6MBsGLW8v4+cXZI7at+g4bH+bVYDIIXvqqgu+eOaGPSK0oCs9uKcVoEOwob9U7w2440EBZsxWjQfDsltI+AtJbOVV02lwYDYLnvyjjj1fN0AdCZ0+J5R+bS44oCG0qbuJgYzdGg6DH4SYjJhibQ03VHgpVrapQNSUhlGRL4LDSTkabHoeLl7+uwGgQuD2KXkBbIzYsgIevmTXge9/yqd/552tm0thl44w/fU55Sw+3L0vnwz21fHmoCavDTXToYR92VkoEBqFGbN20KFV/f4UF+HHjwhSe+0ItGzDXW2s0LkwdiGvRCRfNSOBPHxdS32kjMyaYrNgQ/njVTGxON35GdR+0Qs/a9u8+K4u/fFpEqffaKW22kh4VpL+HtEkYrRC0EPD8rfP1gfKq7DhWZcdx31t5vLuruk9ElTb49SUhPBC3R2HN3lryqjt46IrpA4QKXzRxTIu2swSZWZAeyZVzko/4nUlxofzikr73pBCCn100ddDltQk+j4L+TFmWFUV5Sw9PXTCFid7JxtyKtsMCkjeSbtXUOJ7eVEJkkJkAPyN/unqmbve+mk6+sSiNJz47qB9ft0chPNAPf5Oxz7UjhOBbZ2Twi/f3saOslUWZfTNXcsrbmJ0awcS4UH0b0SH+VLX2YjIIXB6lz4TqHWdk8Mp2ddJRK4kSE+rP87fO56uSFm587msAfnrmBP38371yAhNiQrjv7Tw2FzexcnJfH+aVryuwOT1qg5v/FPDXDQdxexSMBsH9q/MxGYReBiS3vI3pSWFYgsxsLGzEaBB6yp/2nM4pb+O5L8rITghjWVYUc1MtrCtoIDE8UK1L1d5LQ5eN+ekWhBD6cz4zOoRkSyAbCxuJDDbz4ffP4JzHNvGz9/IRQmB1uHl9RyV+RgNd3udeeUsPty1NZ83eOnZVtPGNxWkDrgPtGtPsC/E36ZPi6naD+3TTdnsUdle0cdnsRD4vbKS2w9Yn0EITkL48qBa8npdmYV7awICSWSkRLEyP5IUvy/jmkjRMRgPPf1FKkNnITQvVeygxIhCzx4UHwZmTYnh6U8m4SV+DkycgJQFVPv+vBhadpG0dkduWZXDjolR2VbTr3bue++Z8bn9xJzkVbX0KOh+NlZNieOs7S1iQfmzB5eKZCXqh7F9dms03FqcxK+Xo9XUG415vobmFGZF9Igt8WZARyYpJMVw4PUHPP/7d2gPMTA7nqrlJvLurmnd3VTMrJYLfXj4dOPag4mi8cOsCjEaBEIL7vIPhkSQ1KmjIKXX9iQw28+qd6kDV6s1Nv2FhKssnxvDOd5cwMzkCs8nAv24fXtTRUPB9uNzjI0YmW4L0aKrfXTEDUPO6P8qvo7nbwcPXzGR6Ujg/f28ff/y4kD9+XAio7VK1Tn9z0yIobugir7qDSXGhZCeGse5/zkRRFN7KqeLRdcX88I09+javn5/CTy+YTH5NB7OSVWHx1R0V/G3DQZxuDzcvSqWl26G+HC6cQkrk4eM9JT6UnPI2FmdEMS/NwnXzUwYUENTwNxn5yzUzeXzDQc6fdtip9414eOOuxby2vZK9NR2cOcjAWwjRR/iZl2bRz50vyyfGcLChm5ne+8hgEEQF+3PW5BhMxmNn4V4+O5Hff3QAP4Pg+2dlsbm4iUON3bx420JmJIdzycwE7l+dz+MbijEbDX3CSpdm9RWL56Va2F7aqqf8afzwnEmcMzVOz5ef7x3EXzE7ibSoYGYnR+jCmNEguGZeMk98doiFGZH85rJpPPBePgfqOllf0IDDpc7Wz0uL5LeXB7Lqsc18sKeW25am67Mb31ySjr/JwNs51ayaGsdrOyq58qmtxIT688XBZjKig/n3HQt5bkspW0ua+zyDzs2O47tnTuAfm0v40aqJ+BkNzE6J4CfnTcbuTae7ZXEa+LyMA/yMfQQMUItoPv9lGZfPTuxz3R+L5RNjePH2BTy7pVQXqH54zkTW5NXy3VfUMHqDUB2/v288iNXhZk5qBL+9fBo3LjzsvEaHmgk2q9FuAEFmE0/ePJefrc73dtAJJzzQj4UZ6j2vRZLetjSdOakRfPOFHZz/+BbCA/1o6LTzswun0Glz8uTnJXraG6jh9e09Tn5+0dRBu0BqZMQEYzQIpiaE8vIdi2jutnP5k1vpcbj1MHiNq+clU9Jk5deXZuspj8/eMg8xjAjM+PAA4n2KLYb4m1gxKeYo3xiIdr8mhMP731+G26MwNSH0qM6/ZMwzJvwvgKzYUFZNjWXDgUYmxISQGRPM54WN3Pjs15S3qC3Nb1+WwZ8/KeS2F3fgZzTwm8um8bPV+fzyg32YDIKbF6Xy+IZifre2gH9623aPBDkVrdy4MJX9tR08tr4Yt1vhzElqx9WXv64YclOSodDUrUZnPHzNLL1UQphPJK3D7aGwvosHL83m0fXF3PP6blIsQZQ0dZNsCeTaeSn8dUMx1z/zFQbvvVlQ18n8NAuT4kN5J6ea8mar3ol3SnwoSRGB+mRVf8qarcSHBXDLkjT+8mkRmdHB2JxuVu+u4YZnv0Jw9Ptfq0+TGR1CZnQIm4rUczoe6Oh10t7j5JFrZ/HTd/L0SNbhEhsawJVzkngzp4r5aZFUt/Xq6dwxPhMGwf4mpiaEUVDXyZ39xhy3L8vgxa3lpEQG6dF1mdEh9DrcRHmFJrPJwB1npPOHjwr7REIE+BmZnhROVWsvQWYToQEmffuXzUrkpa/Kae9x8utLVf9i7iATxlqB6nOnxvVZt8ZdKzJ5d1f1gAmQ/mh1iX794X4ig81cM/fIQhCo/npEkJ9edsMSNPzshWOhFSJenBlJamQQb+ZU8en+elIiAzl/WjwCNULo8Q0HWb1LneipaLESGWxmRlI4RoMgIqjve1ur63TGxGg2Fjawt7qDh6+eyX1v5+nd4vpzzbxkHltfzI/fytO7tGkUNXQNKG2iXTsPXzOTH7+V16fAe0Z0MOdlx/Hp/oYBAQCLMyOZkRROfk0HF81I4PUdlTR02rhtaToRQWYe/rSQ+9/NH5B1kl/TwdlTYpkYF8q3V2Ty5aFmJsaGcM7UOP6xuYSbF6VSWN/FXzeoXaZvW5qOJVgVkH54zkTe3FlFTXsvNy5M5cnPD/H7jw7Q1KVGHwkhmJemCkgJ4QEkhgeyNr8Ou8vDrUvS+5ynzJhg3ff55pI0woP8uHVJOo+uL+bquck0dNp48vNDGIRgYUYkE2KCeX1HFfPSLNR19LKuoGHQZ1B1ew8BfgZuWpjKI+uK1IALnzF1ZkwI7++p1b/rdHvosruYl2ah0+aiNq9Wj5iDw0W0t5e1YDYaBpTN8OXbKzL59ks5XP30NoLMJnaWt/LNJel67TGjQZBua8MljHp3xONpIjVajFqMuhDiLuAugNTUgYr2SKF1UdAIDfDjlTsXUdLUfdQT74vwXrDDJTTA77jEI1BTPXztHozwQD89DSsuzJ/zsuNYOTmWGxemIIRgRlI4ORVt/OmqGceVXtaf4xV3TjWT40NZffdSZnsL0mmD+bFAeKAfv7h4KjvLWzlrcixCCJ69ZR47ylpp7nYQH+7PvLRIPthTw+biJibGhnLlnCTqO2x90rOEEFy/IJVr56Wwu6qd+g4boQEmzvCG8p7lM8tw98osLp2ZSK/T3SdsuT8/OHsi181PIdBsJBDjUaN6AOalRfLyt448LsmMCRkwY3Q07r9gKncuH5grfs/ZWVw+O7GPo/fGXYuIGSQqbzAigszce3YWRoPavev5b87H4fboL6sLZySwelcN7b0OblyY0ie3vz/fOXMCF85I6DMjB6qTN3cQcVYIMejnNy1KY1dlOw9eNo2s2BDeu3sZoKYl7K5sZ5E3RTYxIpA/XjWDzcVNPNBvpu36Ban6bODizCie3lRCY6edu1dO4N5zJhLgZ2RxZiSlTdYBQuD/O3+yXnhaQwu7Hio/OncSV85NGvJz1JelE6JZOuGwOBfsb+L97y9jZ3kbJqNgYXoke2s6eOrzQ1w7P4Wr5yYNEDXuPjOLa+el9Em1Ojc7joXpkdR32nTnWOMbi9No7LJz3YIUQvxNrPvxCh7+pAib060K/zMSUBQ1bVJLze22O/mssJG4sADuXH70CYewAD9Wf28pE2JDCPE3YQk28/j1s3l/T41eG0FjSnwY/7xtQZ/PUiJH9/k6Of7IzwbJfx+nygf76flTCAv0Y1JcKDcsSMXu9OD2KKRYgvjGkjTOmRLL7so22nuc3LY0g+vnp5BT3kZVaw/XzU8mIsjMd1ZMYEdZ61ELpQ6XxZlRfHflBGraenl0XREGIbjvvEkEe2urOV0jt63IIDOXrZrE1XOTyKtqp6i+q8++GIXg4pkJ3LgolUCzkXdza3B7FNKjg7ljWQZLJkSxt7qdLpsLt7dmy9SEUO47bzLxYQFUtfZgd6rF+s/IiiY0wI/blqazbn/DoMcsNTKIW5ems2JSNIcauzk3Ow67S21Vr+730fc9xN/EhdPjmZIQyg0LUuh1uEf03JxMQvxN3LokjavnJtHQaTuh5+4Pzs6ix+lm+aRoQgJMdHi7hC7uF2ly14pMKlt6Bog0iRGB/O8FU/q8q25ZkkZVa0+f992NC1M5UNfFqql9J+LuWp6pd/K8dUk6O8pamRAbTLIlkB+clYWCGoG9v7aDK7x1T31JjQzmqrlJfNcbkdSfyfGh/GjVxAFpfv2Zm2rhrMkxWO1url+QMqQaLt9alsEXB5tJjgwc8H4cCRIjArl+fgo3LUrFEmSmtt2Gw+3hW2dk6ALC3Wdl8dmBRv3aTbYEsWJSNGaTgR+clTVAdLt4ZgL1HTZmJodz5/JMyputXD0vmUNN3Sw8wjgjwM/ILy6eyhs7qgbcI2r9xMQ+n101N5kpCWFcNTeZ8mYrM/o1+PnJeZMJMpsGCEhCCH55STYf7KkhPSqIu1dm0et0653hfnlJNi9tqxhgw4ykcH58rppSu2JiNLcsTuPc7DimJYZR1dbD3WdlUdt++Bl5xZwkwgL8KKrv4tal6UxNCGNXZRuRwWbuXjmBLcXNLPbpOH7prEQO1HUyIzmcXqeb6vZe/E0GXThLigjk5kWpXDorkYggPy6fnchtS9MBdaK0qKGLe8/Joq3HyZ8+PgDAT8+fTFxYAN12NysmqSUM2nqcgz6DEsICuWZuCpZgM/eclTVgTH7etDi+Lm3B5S3TYBCClZNjWDk5lmRLELGh/n2ERH+TgRsWpFDaZGVRZuRRS9OcMyWWa+YlU9miFqhfMiGqT71XgG/V5eISBizBt3DnGRmcf4xayWMJMVhhvhNeqRBLgAcVRTnf+/+fASiK8sfBlp8/f76Sk5Mz4nZIJBKJRCIBVq5U/920adRMEELkKooyf9QMOA0Yrv8F0geTSCQSieSUc4r9spH0wU5WBNJOYKIQIgOoAW4AbjpJ25JIJBKJRHI0RlE4kpxSpP8lkUgkEslYZxz7ZSdFQFIUxSWE+AHwKWAE/qkoyv6TsS2JRCKRSCQSifS/JBKJRCKRnFxOSgrbsI0Qogmo6PdxONAxxFUcadlooHmE13kiyw5nnf1tP9XbP5Flj2T7aB/TwZY9UVtH85qKBpyjuP3jXedQru2xevzH4zNFs3msnP/hLnu062Ws75Ov7WPpmB6Nk/Hu0ZaNVxRFFlsaYwghuoAin4+Gcl6P53o+0Xt5pO+hofgEI7nNkbZ/NN6lx7Ofp8LPOt51DWbbWDhmgzEcn2+07ic/jn5NjoVzrnE89/qpvjZG+pwPdbmRfL6PtfvpZPllY/357gcEK4oyvG4rR0JRlDH5Azx7ossCOSO9zhNZdpjrzBnl7R/3skeyfQwc0wHLnqito3lNATnj7Jp+9mjHfDwc//H4TNFsHivnf7jLHu16Gev75Gv7WDqmQ7V5pLc/nHXLn1P3czzPteO5nk/0Xh7pe2goPsEIP4tH2v5T/i49nv08FX7W8a5rMNvGwjE70vkeC8fsaMsd65ocS/afqufeiSw30uf8ZO7nqbjPR8L+k+WXjfXn+0j7X8fugT16/OckLHsy1nmytj8c/hv3/3TeJ7l9uX25/f+udY6n7Q+H0d6+5OQwlHM10tfz6bDN0fAVx/sxG41tjnf7T5dtjnf7T5dtjnf7R2ubI7muEfe/xkQK28lCCJGjjNOOL9L2U8N4srU/49X28Wo3jE/bx6PNvoxn+8ej7SfT5vF4PE4HTtV5GQ/nfzzYqDFebB3Ldo5l2/ozHmwdDzZqjAdbx4ONGuPF1tPVzpFe31iOQBoJnh1tA04AafupYTzZ2p/xavt4tRvGp+3j0WZfxrP949H2k2nzeDwepwOn6ryMh/M/HmzUGC+2jmU7x7Jt/RkPto4HGzXGg63jwUaN8WLr6WrniK7vvzoCSSKRSCQSiUQikUgkEolEcuL8t0cgSSQSiUQikUgkEolEIpFITpBxKyAJIdxCiD1CiP1CiDwhxH1CiHG3P0KI7tG2Ybj4HHvtJ/0oy64UQqw5ddb12bYihHjF5/8mIUTTaNlzPAghrvDux5TRtuVY/Dccbxif96Qvx7JfCLFJCDFm8r/H0zXeHyHEz73voL3eZ+Gi0bZpKAghkoUQHwghDgohSoQQfxNCmI+y/I+EEEGn0kbJ+MJ7Dz/q8/+fCCEeHEWTBjBe/cax/k4aqz7hePRJxvL7cJwezzF97/gy1n23sXxt9mc8+Gbj3Q8b8y/Oo9CrKMpsRVGmAecCFwK/HmWbThe0Y6/9lI+2QUfACkwXQgR6/38uUDOcFQghTCNu1fC4EfjS+++QEUIYT445R+WEj7fktOS4rvHRRgixBLgEmKsoykxgFVA1ulYdGyGEAFYD7yuKMhGYBIQAvz/K134EjBnHRaIihCgXQuR7HeQc72eRQoj1Xqd0vRDCcorMsQNXCSGiT9H2jgfpN54cxqpPOB59wLHs80kf7/RmXPhq48E3+2/ww8ZEDaTo6GglPT19tM2QSCQSiURyksjNzW1WFCVmtO34b0EIUQ7MVxSl2eezh4FWRVH+JIS4H7AoivK/R1uP9MEkEolEIvnvZiR9sNGOrgAgPT2dnJyc0TZDIpFIJBLJSUIIUTHaNpwGXA6s9P7+b2ATcFQBSfpgEolEIpH8dzOSPth4TmGTSCQSiUQyTNwehcdvfoDGcy8ebVMkJ4YCrBNC5Aoh7vJ+FqcoSp3393ogbnRMkwyHmvZe9td2jLYZEolEIjmVrFyp/owzxkQEkkQikUgkklNDcUMXj6csI8rVwy2jbYzkRDhDUZQaIUQssF4IUej7R0VRFCHEoHUKvILTXQCpqakn31LJUXl8fTG7KtvYeN/K0TZFIpFIJJKjIiOQJBKJRCI5jahq7QGg0+g/ypZITgRFUWq8/zYC7wELgQYhRAKA99/GI3z3WUVR5iuKMj8mRpalGm2sDhdWu3u0zZBIJBKJ5JhIAUkikUgkktOIqrZeADpMAaNsieR4EUIECyFCtd+B84B9wIfArd7FbgU+GB0LJcPB4fLgdHtG2wyJRCKRSI6JTGGTSCQSieQ0QotAapcC0ngmDnhP7QaMCXhNUZRPhBA7gbeEEN8CKoDrRtFGyRBxuBUpIEkkEolkXCAFJIlEIpFITiM0AUlGII1fFEUpBWYN8nkLcM6pt0hyIjhcbpzuQctVSSQSiUQyppApbBKJRCKRnEZUtckIJIlkLOGUEUgSiUQiGSdIAUkikUgkktMERVGoavXWQDJKAUkiGQs43R5cHgWPR41Cqu+wUdzQNcpWSSQSiUQyECkgSSQSiURymtBiddDrVLs9dZgCcLk9/HtbOTan7AAlkYwWDpcafeT0qP8u/uNGzvvrltE0SSKRSCSSQZECkkQikUgkpwmV3vpHGb2tdJgC2F7Wyq8/3M9H+XWjbJlEcvri8KavyTpIEolEIhnrSAFJIpFIJJLTBK2A9nRrAz1GMxUt6v93lreOplkSybii2+6iscs2YuvTI5Bcsg6SRCKRSMY2xy0gCSFShBCfCyEKhBD7hRA/9H7+oBCiRgixx/tz0ciZK5FIJBKJ5HipblPrH023NgBQVN8JwI4yKSBJJEPlkU+LuOX5HSO2PqcegSQFpJNNQ6eNzcVNo22GRCKRjFtOJALJBdynKEo2sBj4vhAi2/u3vyqKMtv789EJWymRSCQSieSEUBSFzwobSYsKIt6hFugtrFf/LWmy0tJtH03zJJJR5/ENxRTUdh5zubqOXppH8H7RUtcc/QQkRZEpbSPNVU9t49Z/7pDHViKRSI6T4xaQFEWpUxRll/f3LuAAkDRShkkkEolEIhk5dpS1klvRxh3LMgh3qek3hfVdmI2qK5BT0Taa5kkko4rN6ebxDQe58qmtx1y2y+bS085GAj2FrV8NpP6CkuTEqWlXozDtMl1QIpFIjosRqYEkhEgH5gDbvR/9QAixVwjxTyGE5QjfuUsIkSOEyGlqkqGkEolEIpGcTJ7cVEJ0iJnrF6QQ7lajJzp6nSzKjMRsMrBTprFJTmPsTlVQGIqw0G13jagA4ThCCpvNKUWOk4XV7hptEyQSiWRccsICkhAiBHgX+JGiKJ3A08AEYDZQBzw62PcURXlWUZT5iqLMj4mJOVEzJBKJRCKRHIFeh5stxU1cvyCFAD8jEa5e/W9pUUFkJ4RRUHfs1B2JZCzzbm41ld7C8MPF5nIPedkumwuH24PHc+JpUIqi6BFI/aOa7MOwSTI8rPa+x1ZRFP75ZRkdPc5RskgikUjGByckIAkh/FDFo1cVRVkNoChKg6IobkVRPMBzwMITN1MikUgkEsnxUtehCkZZsSEAhLsO129JCA8kJtSfVqtjVGyTSAbj+S9KeW175ZCXd7k93Pd2Hm/mDP07vticwxOQYGRSzFw+IlT/CCS7jEAacQxC/dfq6BuBVNps5bdrCvhkf90oWCWRSCTjhxPpwiaAF4ADiqI85vN5gs9iVwL7jt88iUQikUgkJ0p9h1rzKD4sEIAw1+EW5PFhAUQGmaWAJBlT/G7tAR54L3/Iy/d4BSCr3Y3N6R60KHxjl+2ItYt6hyAgNXaq3++yqVEqI5HG5isa9a+BNJQIJK2mj2RomAzq0Mc3ha3T5tQj1zp6ZQSSRHI8PLHxIOn3rx1tMySngP/P3nmHx1Gcf/yz6r0Xy1WWe8EFjBu2sY3pBPhBAoFAKAECCUkgEEoICQkQShJaTOjddFNdMO69SbIs2VaX1ftJOl3T9f39cberO3XbkizJ83kePbqyezs3tzs7853v+86pOJDOA24GlkuSdNj9dxnwvCRJRyRJygKWAff3RkEFAoFAIBCcHNVuASkpMggAP2TC3S6kpMggokMDaDJZxcpEgkGLyR2SZLLaue6NfZzz1Gav951OmblPb+GPXxzucP/u8g1Z7U7m/nMLf1qdqQpHvRFi5ilonWgOpKOVzZz37FaOVTW3e29vkYZ3dhcLYbgNvm4LktHa+tvNeXIzt72fCggBSSA4WV7YlA+0b8cEQw+/k91RluXdgNTBW+tPvjh9z878ehaMi8Xft1fyhwsEAoFAMOCp0bkdSG4BCSDCYUbvF8iwyCBiQv2xOWQMFjvhQf6nq5gCwUljcockmawOsiraCypKyNLarGpW3th+/+5C2BTX0XeHq9TXemMlNqujcwGpO4FKcR9VNLUwbXik+rrZ5uDWd1PVz/7VorGnXM6hgp8iIHk4kDx/A12LSK4tEJwKerOdmNCA010MQR9yRqkohXV6fvnuQb5KrzjdRREIBAKBoN+obm4hOsSfIH9f9bUoe6uoFLbuAoYAACAASURBVBMaCCDcCoI+J6OsiYtf3Imhl1fBMrkdJS0ezhLPJNdtkya3pbsQNiXvkSdtQ9gcTvmEXXzeDqQ2IWzdOJAM7jLp2rhmduTXq6KIoYNyn8n4+bYXkDzRmQe2A0mWZezC4SEYwOgH+DUkOHXOKAGpvNE1U3NALFUsEAgEgjOIaq2ZYZHBXq9F2s1EBvsTEuBHTKjLdSQEJEFf88/1OeTV6jnSgUvoVFAEAc/kyJ6iUHeClcVj27ZupCajlaMdhIl5Cjx2h5N5/9zCV4cqT6jcnqKRzeH0EqC6WxlOGai1DbvalF1LdIg/PlLPcjsNVZxOmawKrddrvh3kQPJkoIewPfxVFuMf++F0F0MgaIfkjkvqSGwXDC2GtIB0vN7Aag+3kZID4qAQkAQCgUBwBlHdbGa4R/gawPiWBqaPiAAgOsRlN28yCQFJ0LcogklXeTI8XTldOXocTpn39xTTYnV06EDyFAm6E5A88w0pjh6r3cm7u4t5en0O936S0b6cHt+hucWGxmChsM7Q5XHaYmsTwub5mYpAdayqme15de32Vb6Trs2ArbTByMTEcMKD/GmxnrmDuVUHSrly5R52FdSrr/l1kAPJk7ZuroHGF2mucU2zaWCXU3Dm4e8WZwf6NSQ4dYa0gLQms5o/rc5UV+KocS9jXKltoUqsWiEQCASCM4Qandkr/xHA30q28v5tcwGIVUPYRMdP0Lc43GFlHbndjBY7932WQbHGqL7WVSLpI5XNPLEmm3VHqlXnkclDGHj4qyzSShrVz+4KT6eOEsb0+o4i/rE222sy0hNP15Iy636i4RueYpnV7vR6rjiQLn9lN7e+l9puX30nIWxVWjPDo4IJ9vc9ox1IVVrXxPGh0lYXktMtSCrnQ1u3WVsxbqChJAEvbjB2s6VA0L8o4aED/RoSnDpDWkBaOikeWYZdBRrANQPrbndJLREuJIFAIBAMfcw2B41Gq7oCm4IvsrqgRLQawtZ+6XOBoDdRHDcaQ/tzbU1mFd8eruK5Dbnqa57OoZpmM+P/vF4VhZrcIlR+rd5jFbZWQWBbXj0/fX1fu89py3t7inn06yPqcyWMacPRmi6/i2cOpFYBqeeDJ43B4iVg2Byyl4DUXQ4kvaW9gORwytTqzCRFBhES4OtVH2case5Evp6TxspvptRL25xHvRHCdueHaTzwReYpf05HxIe5xP4SjRCQBAMLpT8x0POICU6dIS0gnTUiktjQANX2W6MzM31EJOGBfqzJrGJHfr1YslggEAgEQ5padQW24E63CQv0w99XEg4kQZ+jCCYdOZAa3SGUnmFdJo8QrAPFDdidMq9uKwRaQy7za/UeDqSOBRxPB1LbJMRtUxtoTTbMNgfZ1bouv4un2KMMmjoaPFVqWzha6Z1DyWxzsOxf23l3T7H6ms3h9MqJZLY5vPqpbVd9Ux1IHsfUGCzYnTJJUcEE+ft2u7rcUEYRiSo9BCSlPhRBsa3gd6rhNzaHk03ZtXx1qG8W7Il2i2LFQkASDDD83Q4kkQNp6DOkBSQfH4klE+PZWaDB6ZSpbjYzIiqYBeNi2ZxTxy3vHmRLTvuYcoFAIBAIhgLljSZy3IPgtg4kTyRJIiY0QHV0CAR9gSzL1OpczqMGg+tcq9ObeXFTPk6nzPF616DYMxeXp3NIcYc0ufO/aN3/82v0qljQmePGU0DSthEJ2opZDQYrRfXd5zLydiDZ3P/bD55e2JjPbz4+1O6YeotddcmDOweSpwPJ7lS/K4C2TY4yQ5sk2kaLnT985srVNCKq9x1IOrON5zbkDhpRShEVC+sMyLJrhbxWB1LH4X8Wu/OUvt+Ryt5NDt8WRVwVApJgoKGEV4pV2IY+Q1pAAlcYW6PRSlZlM9XaFoZFBvHyz2ez/veLiQ0N4JuME1stQyAQCASCgUpOtc7LsXDdG/u4xz1wbZsDqS3RIQE0CAFJ0IfoLXY1J0+DO1zyka+O8PKWAjLKteTX6gEoqmsdHHsKIOWNJsAVygatgkpVs1l12lns7cO+zDYHBkvr52jbJCBumzy+3mBRy9IV5U0mrnt9H1XaFnQtHQsS4BLJ6vWtIXuyLKuilafgZHU4sTpay2mxO6loMrWWu81nt+ZAcv3fmV/P/uMuN1VSZDDBAb2bA+mptdm8tr2Irbmnd/K1p9EDSv3U6MzsKtB4nRvK+dCR4NfWRaaITz1h//EG9XFXieIBCmr13PzOgU5dc7k1unbvG9zlLW00caSimV+8vV8VRz3L2Nxi4/o39nGsg9UDBV1jdzi588M00kt7J91Jb0W7DPSoGcU9qbRHgqHLkBeQFk+IR5JccfVGq4OkyCCCA3yZOjyCK2YksTmnVsRqCgQCgWDQk17axKUv71IHkM0mG9XNZoL8fAkP9GN4FyFsgMuBJFZhE/Qh1e6kxgAatwNJyYVkstopqHW5fjxFD08HUnmjKxSpRmdmS06tlzsns9x7uXZPShtM3g6kNue5Z+hmeKAf9XoL+bUG/H0lZo6K6vRz/7etkIMljaxOr1D7kh0JEs0tNlpsDtXZcveqdK747+5229nsspfIYbY51O8Mrmt88uM/UFin9zqW6kDyENvUJNon6UCqaDK1W+krraQJQM0n2hPMNgfHe+Dm6ikvbMxj7KPrcTq7H0wbLHZGRAUzPDKIt3cXe9Vts/scUH63285L5tfnpwBQp/POz3X/54f53acZOJ1yu1DEtpRqWgW/jsI0PdlZoGFXgUY979uyNbeOXQUasqtaQymV66Gi0cQ9H6ezp7CBtNImCmr1jH10vbri3NHKZg4UN3Llyj1dlgFcwkTyI+t49ofcbrc9E6jTW9iUXevlDjxZbn3vIGc/uemUP+dIRTNT/rqBiiYT1/xvD69sKTjlz+xtlLZGOJCGPkNeQIoJDWDmyCi+dscie+aAuHr2CCx2Z4dJEos1xnax5gKBQCAQDFSy3TPNSt6WEvcqPf+5biY7H1pGcIBvl/tHixA2QR+yt0jDh/tKAJiSFKE6kJS+1veHq2ixORgXH+q1n8nDOVShNXH26CimJEXw6NdH0LbYCPJ3dWUzKzof2OfV6r2EKCWMbv2Raqq0LV7CaXx4oMuBVKMnJS6MYRGB7T4vPMgPaF1tKDo0oMtV2JTPV4SeH4/VdljOj/aX8tLm1oGhxe6ktLHVjbW7QIPZ5uSYW1BQvpMigijX76s3nk1ksP8pOZAWPbeNi17aoT6XZZnj7rCpE0k0fc+qdJb/Z0e3bpye8vqO4wBUNXe8mnKltoUNR6sBV0hfTGgA546NoURjxOJe1S4s0I+caj0tVof6u921JIXbFo5FkvBKbyHLMtvz60kraeL5H/O44r+7OVTW1Gn56j2Sw3u6zjqi2p2bSXHPtUVJlK2EqzmdMkarHT8fiQajlYom1/7HqprVscyOPJeApAizDqfslUTctW2113GU8+j1HUVdlvdMQQmvVf6fCtvz6mky2U7ZPZRe2ojZ5qSg1sDRKp2XqDgQkGVZbWtEDqShz5AXkMAVxqbMUnnmgJg1KoqxcaF8erCsne3z4pd2stKdpFEgEAgEgxOzzeEVAjKUKawzeP1XBKTxCWFq4tWuiA0NUJMYCwS9SbPJxo1vHeDjA2UE+fswb2yMOjhThIUv0yuIDvHnZ3NGee2rOIfe21PM0UodU4dHcNn0YdTpLdTqzEwaFkFIF+JogK8P+483YLTYiQ0NwM9H4mhVM41GK7/5+BA3v3MAh4ebJS48kJxqHXuLGpg9OorYsPYCUnyb174/XMnLbkeA0epol6Rba1RyN1m7dARpDC7ng4LZ5vBypyjisLI8vSIcmawObA4njSYr/r4Sl501DKDHOZDWZVXznkcyb8XdU+vhxKlubhU5TkRA2uYWNHrL3RgV4loxskTTcbt+1co93L3qEDaHE4PZTmigL8MigqjRmdVV7ZZOisfqcJJe2qSGHEYE+TMsMohzk2P4JqNC/Z0qmlrQmmzU6MyqwLIms6rT8tXrLUS4BcZuBSR3ndZ2sp3yHRUByWRzIMswOSnca7us8mbK3OGdMWGutt5TlKp2i235tXouf2U3d6865DXuaRvSeaajcYvbDb24Kml350J3lDS0ngtWu7NXy9YbWDpYUEAwdDkjBKRlkxLUx8MiWgUkSZK4/bxkMsq0HPBYgeNoZTNWu5OvD1UM+HhTgUDQPzicMumlTRw43tBpvgLBwOO/Wwu4+MWdJx3GMZgocicgVpL/KoOP0TEhPdo/OiQArcnWbvArEJwMDQYLe4s0nPPkJh7+Kkt93emEhIhATFYHJqvda9Wx+SmxpMR5O5CURMhv7XQ5Ty4/aziJ7r5cfq2emBB/JiSEdVqOheNj+eRAmUugCg1gclI4Ryqayapwhbwp141CfHggx+tdbpW7lqSoS8F7Ehvm/VpqibcjxdPtZHM40bufNxlt7XLSpLRxXHlisTvJq9EzNzkGaBUSqptbkGUZg1sUA5f41GS0Eh0SgCS5YsyC/H0x96Dt++0nh/j7mmz1uaeQrLQHnoKEIjjkVOuY8cSP7UT6lzcX8OjXR7xea+pkhUeHUz6hAaciIN30zgHV0eaJ4rxRkpSHBfqTEBGE1e5Uv8Oi8XH4+Uhsy6tD22LD10dSRci7FqdQ2mjika9d52xWG2dbSIBvh5ELnsefOjwC6F40UFxUdR04kJpNtta23D0ZoOQ/mjIsQt3ugskJHKlsptC9rZJ/xlP8Ux5vzqlt9xr0nrg3GLHYHe36dA1qeK13vWzNreX//rfnpO6Rx08x6bly7efW6LzK6EmDoW9EJZ3Z1q2D0FOo7i50UzD4OSMEpLNGRBIbGoAkoXY6FH42ZxRxYQG8tDmf9NJGWqwO9WZR0dRCemnnNlVwJUYcLKtR9BbljSYhrAnOOL5MK+fa1/Zy/Zv7eX5D3ukujqCHbDxWi9HqIKO8tS0vbTAOuDasxeo45RlKxXlU5P5f2mBkeGQQQf5dh64pxLgHom0T9QoEJ8Mv3z3IjW8doMFoZcOxGuLDXa6dJRPjiAt1PW4wWL3yEY2OCWHSMG93hcnqQG+2UdVs5k8XT2LBuFgS3GFlWpON6JAAdcDeEUsmxKuPyxtNnDUiit2FGt7dUwJAgJ93VzjOfR0sn5xISnwYI6KC8fWRePXGs7lwaiIAUSFdO/qUEI6d+fV8sLdEfV1rspLWpl85q4scS7oWG4X1BmaOiiTAt7WcVVozeosdWYaJieHqa41Gq3odg9uBZHN02d55DjqV7TzFIsX54Ck4KA6kd3cXozPb2yXV3pRTw6bsGq/+sTKobG6xefWtP9xXwtJ/be/xoDzQr7U9++t3xzrdrl5vwWCxER7kR6L7fCl1f5eY0AAunj6Mzw6WsaugngkJYarotmJqIjfOHc2m7FpsDqcqNCr8esk4qpvN7C7QqGKVgtMpozFYmJLkFpDc75c2GDtcNU3JCabU966CemwOJ/uKGpj5j43qogbK6oQGi6velc8Hl+haqW0ho8xVTuV6qtGZVbFNSTpf4lGG45pWZ5tnLrGBdm/sa55cm80v3j7g9VqjsVWE9GRHXj0ZZVqqtGYOuF2NXeE5cVVykgJSeaOJwjq9h4Dkyn/W9tz705eZnPPU5h6tHnki2BxOLnphJy9v7jrnkhK+5iO1F94Ol2vblXcgI8syO/Lrey3sdihyRghIPj4SF0xJYFR0SLuOQpC/L3csTmH/8UaufW0f/1ibzZFKLcMiggjy9+HDfaUcqWjuMFmf0ylzxSu7vWbWFKq0Ld5hcSZbt0nFKrUtPUoK2BfIskyltuN4ck/SSxtZ/Pw2tufX90OpzkxqdWbRaA1ANufUMiIqmDljotlbdOqJFU8Fg8XeLgmsoD2V2hYK3GJKarFrwJJVoeX8f21n5daBFaL83IZcrvjvrpO+Bxgsdmp0ZuLCXCupNRmtFDcYGRPbubuhLcrAU+RBEvQG81NivZ7PHBnFpvuX8OL1s1QHT6W2Rc0jBDAyJoRR0a2OufAgPzLKtOS7w7gmucUSz8nAqJAAfn/BBPx9pXb5kwBuWZjMR7+aC7gcPeeNd5Vrp7sf0zbfZY17MH+RWyy65uyRrLl3EZfPSFKdQOGBfl1+9+YWG80mG7989yBPrctRX28y2Vh/pJrhHukUzp8Yrw70PUmMCGRvUQNWu5OJieFe21Q3t6h5beYkR6uvNZlcDiSFYH9fHE7Zy+XVFiXpPni6V1oFJGU1ujq967XwID9VZFYGjZ51KMsyxfVGNAarl3tHGYy/s+s417+xT3V9HK3U0Wi0euUO6gpti3f75NlmatrkHzJaHIQF+qnnixLmFeTvy30XTMBkc3C0UsfCcXFen7lofBwmq4OsCi1ZFc2M93C4KY9veucAl728y2u/5hYbNofM6JgQIoL8VOHmxrcOsOzf272EM5vDSa27Tmt0FlJLGrn5nYO8tDmfJ74/pv7eU5MiKNYYsTuc6spxyXGua+SWBWM4a2Skd/24xaA6nZlJieEE+PqoxynWGBkR5coF6xkC6Nmf0LXJX3O4XMuXaeX0Ng0GC//6MbfLcMgqbQtv7izyGk+llzbx3eHeW0H7WJWO3Gq91zFacyB5n5OKi2hPkYbr39zPE993LmCC9/nYkYCo8GVaeaeGhb9+d5Rff5Suuvxyq13Xo85sV6+7wjoDX6a7cv0qE0gngtMp8+q2QvUa92R3oYYanZm8blalVMSy0TEhNBotaliwLMtc/eoeLnxhR1e7nxTHqpr57GDZKX+O1e7kqbXZPPtDLg6nzLoj1dzy7kFW7S/thVIOTc4IAQngrz+Zxhe/XtDhe3csGsund85nxZQE1mZWcahUy5zkaC6ZNozvM6v4ycrdfHzAdRJ5JqIrqDNQp7ewJrPKq2Eo1hhZ/Pw2vnU3cLIs8/O39nPfZ4c7Ld/2vDoWPbeVr9zJvk8FWZbVeOeesjG7lkXPbe02KdtqdwO1uxdWJhC0p9FoZem/tvOm26ovGBhY7A72FjWwbHI8SyfFk19rOK2D7Ae/yOSGtw50v+EZzvY816x4VIg/qSWuQdLXh1zt8ktbCrpMhNrf7Cqop1ZnUcMQThSl06g4JIrqDZQ2mEiO67mANC8lho/vmMfwqK5XaxMIesKCNgJSSnwoExLDCQ/yV/MKHWkTHjQqOhgfjyW+7liUwuacWnUhlIkdCEgjooNJigwm+x+X8P5tc9uVw9dHYvGEeG6aP5rHLpvCFTOGs/vhZVwze0SH5b5ryTjmjo3hshlJgMuhpDiclITdShJt8M6tqaBrsZFf137AdaTSJUjcsjBZfe3KmcNJe2xFu20nJoaroXBTkiK8nFnVzWZ1dba5Y12iVnUHDqTgAFc5G41WrzxPAE+vy+ar9AqvgWtaaSM3v3OAY5WtfUHF2VirM+PrI5ESH6bmDVJWK1OSOYPLdaOsBrcjv9WZpITFFdQZsDtlVcAodw+MlbxOuws03PdZRqdOGCWflCKwKIN6o8XuJejU6y0YzHbCgvxIDPcWkAL9fJiQGM5VM4cDsHCc97mqiJ97Chs4WtnM/JQYrpw5nBevn8momNb2sU5vUQfOD36ZqeaRigsLJDkulJIGI2abQ52g/dRjsFvTbEb5inU6szqO2JRdS16tnruWpJD75CX8+vwULHYnBXUGNYQtPMifwqcv5W8/mcb0Ea0C0qTEcDYcq+GiF3eQWtJEQkQQCRGB6u9UrDGxYFwsgX4+algceOdAqm5u4b9bCtTwwKtf3cOfVmf1aui+wymz4oUdvLqtiB1dTEh/llrOP9fneo2xVm4t4C/fHu3w/DhY3MglL+3sVtix2p3csyqdtJJGyhtbaLE5vIQsxUHT5A7plmUZWZbVOlMEtYJuxJo6D1fx/uMN7d7fXaDh+jf28afVWVz72l625dZx90fpXm68gjoDRfVGlMvX6vGeEnroOanpmausp6SVNvGvH/P4WweOvrWZ1e7P7XpcqbgNR8WE4JRb80d51mVn55DRYuf291PV1SU9eW17ES9vLiCvRs9t7x30cn1d/spuHvn6iNeku8Mp8/tPM7xyySl01qYcLtfy9u5iXt9RRHaVTk2i79muCbw5YwSksEA/hnVwkwfw8/VhwbhYblmYjN49iztjZCR/v2o6H9w+l5mjonh9x3E+2l/Kwme3srfQdaEedA9IfCSJNzxWLtiSU4vDKbPRvcrGsSodOdU6dhVoOrx4NAYLD36ZhSyjnvBF9QaOVjZ36lqy2p2dxpiuO1LNwme3touz74ofj9Ugy97x0W2x2B2sy3I1JMpgTNCeJqNVXenjRFl3pJoWm4ONxzqPr+8JLVZHu1mdtsvxagwWkeukE2p1Zq8bTWpxEyarg2WTEjjXPQPdNgyhvzDbHGzPryOnWkd545mRHLo7zDbvHAZOp0xOtY4NR2sYERXMT2YM51BZE2abgzWZVZw/MZ5hEUHc99nhXllutrGTa77tNeeJZzvRYLCoeVgOFp9c26oM8i6a5kqem1GmpdFoJTm2Z/mPABLCgzhvfByh3bgrBIKeMDclxut5socbTsnb8/KWAnw9BKORbveR8trti5IJD/Tj4wNlhAT4MjLaNXiP9nDjzHcfx9/Xh1Ee+b5+u2wc7916rvr8qavP4s4lKepxXrh+FrefNxYAPx+Jf/9sJh/cPpdzxkTzxa8XENbBdaCEg4YHtR5f6VvOGBnJ8z+dAbjcKT97fV+7/b8/7Eq+rAi94MrH6efbvjuuuK3AJSbds3Sc+rzRaFUnKacmRRAa4EtVcwtNJhvRoa1lC3aXd/4zW7j5ndZJB53Zxlu7inngy0yvEK1ffZDGrgKNKnTEhweSW6Njb6GGjDItCeGBRIf409ziWlVKEcmKNUZ14O7pbPFcBj27ytWnVcQAZTBe6R6kKRO0t7x3kG8PV7H/eKNXLilozSd1/4qJfH6Xa1J4n3tgvjG7hjq9hTljXI6sSm0LVoeTsEA/NeSx1H1M5Xd8+NLJ3H7eWBZN8HYgRYcGMCEhjG8yKtFb7MwYGcUrN8zm/2aP9HLIAby2vZCKJhOr0yt4xe1sjQ8PJDk2lGKNUQ05Aiio1asLO+wscAknc8ZEU9HUwtFKV59dcdstHBdHkL8vM0a6QhyzKrRqCFtogB9+vj74+Ehe5+kYd3uvfEZksMt9Vaszozfb0BgspMSHkhwbSp5HuTxzIOXXGvhgXwmfHChT3WcAaSW91+fZf7xBDZsr0Ri55n97+N2nGdgdTvVeVqwxtqsT5bHebFedgp6sy6oit0bPJwfKOnXz6s02vs2o5IejNfz5myOqS6hS28Kq/aWc8+QmCjyEjEaTlZ+9vo97Vh1Sz9VD7nBBf1+p/QE8UMLSr5w5nMyKZvX8U3hqXbZXDt6/fX+MDcdqGP/YDzz7Qy4Wu8PLuDCizeSOUva9hQ2MiAomwNfHa/v/bS9k/J/Xd9jXL6o3qKKy4i5qO6602B1szHaNR5Rwy85Q3IhKzkXlu5d75Ef74UjHY5vUkka25taxvoP3n9uQy4ub87n4pZ1sy6snvbSJSm2LV3isZ194TWYV32dWceeHaSQ/sk7NL7Yjv56Jf/mB9NJGL8edxmDxmkzMqdGxxT0Wbvt7KZRojB2mr1m5tYCrX93T4T5DjT4TkCRJukSSpDxJkgolSXqkr47TmywcF6fG6J81IorIYH/OnxjPfRdMoFLbwuPfHgVaXTipxY0kRgRy47zRfJFWzgsb87A5nGx3rzixu0CDzeHk2wzXTd7qjmsGl0Jar7cgyzIPrc5CZ7axICWWPYUaNmfXcsF/dnDFf3ez7N872NYmthxcjczy/2zvMPHgF2kVyHLrTDug3uw7wumUVSv39rw6ZFnucOCzPa8endnOzJGRHKvSdRj729EsF3Q9kGq73anEX/f0OH2F0WLnwhd38Jdvjp7U/sq5klXZ3GEyvBaro0fi1D0fp3PVyt3qTePrQxXMfnIjm90CZb3ewvnPb+P5HzvO5WO2OTrN7WW1O9uVrbt6dzrlTm3KsiwPqNjow+VaFjyzRbUDlzeaWJNZRYBbaJ45KooAX58ORdQWq6Ndh7e3OVDsWsoVYHt+fY/Pic7Qm20dXrO9jcFiPynBsrP2SKHF6uDKlbu54r+71Tbp3T3FXPryLnYVaLhgSgLnjo3BZHXw4qZ8GoxWfjFvNC//fBYVTSb+1s1MpUJnZdCbbax4YUe7mbusCi1znt7Eqx2s5mmw2Fnxwg71nqIk4PWRuhbnu/qtiuoN+PlILHTPLv/gXqb5RELYBEODgdL/igjy5+M75nHT/NEAjPVwwykhbAaLnf/zcAIpAtGuh5bx5d0LCA/y597l4wF49LIpqjtJyVcD3gmFwSUGAVx79kiWTU6gK5RyJEUF8dNzRnL+xPgutw92J1oO83AgKZfkb5aO47o5oxgVE4znZeqrltm1QltSZBBj40L5/t7z2PbgUnW77+89j+0ezyd6OI4C/HxYOC6Ot385h033L2FsXCjrsqoJ8vchJjSApKhgKpta0JqsxIR450BS2H+8Qb2vp3oMWo9V6Vg03ltAqWp2hcNOSAhj/ZEabnz7AHuLGogM9icq2J+simY+Ty1XnSs78uvJrdHz0f5S1fkJrgTUI6ODCQv049OD5fzs9X2qcFSsMWJzOFVnQ5W2ha/SK9Q27oa39vPXb737Uko/IirEn4mJYcwYGckbO4rYW6Thr98eY3hkEF/8egHhQX7qimlhgX4E+btWYjviFiQUl1ZSZDB//cnUDvPEnTUyUhW7Zo5szVPlGUp4ybRhvLK1kN9/muG178joYMbGhVKpbSHN3aZfNDWRgjoDD3yZyaLntvHYN0dJiQ/lwYsnYbDY+XBfa7hMaIAv092utzExIYQH+ZFV0UxejcGr/Aprf7eIH+9booYvXj4jibd+OYffLZ+ghkKu2u8SBcfFh3He+Dj2FTVwvN7AuqxqQjH9mQAAIABJREFUtCYbIQG+jIkN4dn1OWgMVnJr9Fz04k71GHuL2jtotCYr32R0veBQYZ2+ncvo+8NVhAb4EhMaQGa5lkNlWtZkVvH7zzJY8cIO9hU1cOELO9TcWgVugUNvtqlurqOVOj5PLfPq/2S6HY1Wh9NLuPDk4a+yeMidesQzEXVRvVHtI3iGXpY1mEgrbWLDsRra3n6V/GCyLPNNRoXal91VUE9+rZ56d0jYreclA67JeoWO+r5lHkLI6zuKeGFjvtcxFbehQlZFM0+vy2ZrXh2LJ8QxLDKIqmYzm7JreXVbIc9vyMPulNstFFDWYOLCF3bwearLSZVV7hLElAULZFlm1f5Snvj+GHqznXOTo2kwWjHbHGSWa9V+SkWTSU0orzjxFBFTcR4p4o6vj8TKbYVq2J3ObOO17UWsy6pWnajrsqq9nEMdhdS9sbOI857dyk0eeauUNsXucKqrYSrsdIvYH+8vxeaQufa1ffzs9X2qwHjHB2k8+0MuPpKrjF8fqlDDOD3D9pqMVv63vZB3dxdz0Us7O3Rrbc2tG3T5nk6WPhGQJEnyBV4FLgWmAjdIkjS1L47Vm/j6SFw9azgBvj5MG9HaIVk6KZ5pwyOIDvFnxZRENhyrwWS1k1rSyLnJMTx8yWSunj2CV7YW8vDqLA4WN5ISF4reYietpInvM6tYMjGeYH9ftufVU6wxcs1re5n/zBZufz+Vrbl1PHrpZG47Lxmj1cHDX2UxPDKIV288m7iwAG57P5VtHjfkSm0LX6a5btwf7fOOz6zTm9ldUI+vj8T3mVU4nDKFdQYWPrOFP612NZgag8VLmT9WpUNjsJISF8rhci2Pfn2Ec5/eTIaHIutwyry58zhxYQH8YcUEHE7ZS7F1OGXe2FHEvH9u5o9fHPa6mWw4WsPsJzfyvscSsR2RUdbEuU9v5pkfcrv9rRqNVvJr9V4X6ZacWmY/uZG3d3mHf/WWQNFgaI3p1RgsHd4wPzlQhsZg5euMSrXRtNqdnear8SxbeaOJ9NImLp0+DFlGnZ0y21wJRPVmG5e9sotrX9vbpWCQWa5le149JQ0m1mS5zoFXthTglOGhr7Ko05l5d08xRquDj/aVthODjBY7l7+yi6tf3dNORMqu0vGT/+5mwTNbeXvXcZxOmR+OVDP7yY18tK/Ea1unU6bBXU9//OIwi57d2i4GvMFg4a6P0pnz1GZ+OFLd6Xey2FsdVSarvdvEhafCyq2FOGV4dVshnxwoY/Hz2/g8rZz542IJCfBzzwhGsrdIQ2Fd6wyOxe7gujf2cd6zW1WnXkfU6c3k1+o7DIHTm23drha2Pa+OQD8fhkcGsT6rmste2cVPX9t3UiJSnc7Msn/v4Lb3U/s0/5rGYGH5v7fzy3cPditWGS3ev++/fsxjztObSC9tdM9O6imqN6jlfXp9Nvm1Boo1Rv6xJhuzzcEbO48zZ0w0b/9yDg9ePIl5Y2OQJHhj53GiQvxZOimBOckx3Lt8Al8fquT7LpZkBtiWW8fsJzfy5s6idu+t2l9Go9HK6vQKr5WIVm4txOaQeWFTvldbCvDJgVIajFa+OuRqJ1JLGgn08+GCKYleAztPqptbOP9f27nrw7R2bY8ycZESH0qgny+ThoWrM6QTEjtfnUow9Bho/a/zxsdx1awRjIgKZorH0uMhAa0CzOVnJXHvsvHEhAaoA/nhUcGq2/OuJSnsfWQ5N88f4/XZF0xO4OJpiV4hbwD/uW4mAAkRHbvOPVGcULHupN7dEaw6kFrLb3HfJ5XjRbdJsP3MNWcBqPmTZo+OQpIkZoyM8hLVZoyMIjkuVF0Cflx8WLtjrZiayITEcO5bMQEAs82JJEkkRQaxMbsWp+wtGnvm/XTKrv7e4XItd3yYpr7eYnNwwZRWoU1J1j0uPqxdCGyxxqiGxT3iXmVtsdu9c9aISCTgrV3HCQv0I9B97LFxoerESm6NXp0AyavRc/dH6eoA+f29JTzwZabX8b7OqORPX2aq93+lLxUV4o8kSfzp4klUNLVw41sH0Fvs3DhvND4+EnqzXV1WXGkDX7x+FlEhAfz5ssleTrXOmOEODQvw82GiRzvqKV6++ouz+dk5IzlUpiU2NIAf71vCpvuXMDI6hLFxocgyvLKlgBFRwSydlIDJ6vDqH9w4dzTzU2JZNsklXEYE+ZEUGcTrN5+jutJ8fCTmJsfw8YEyXt1eyAWTE9pFVEwfEcmkYeEEukMsJyaEc+HURBIjgjh7tMuR9dwGV9/6vPFxXDEzCavDyfL/7OC3nxxiU3YtcWGB/HbpeKo6CIEK9PPhu8OVmN0J2V/dVsiv3k/lzg/TuP/zTA6VNfHk2ux2eXycTpkVL+zklncPqufAd4cr+SK9nCtnDWfysHC2eEySKw6U332agd2jr/CfTfn86v1UvkxrTfPx+08zePirI3x6oIzXthdx63sHOVyuVa8zT4eV3mzjie+PcbSy2cvl0uDRD3vuh1wajFY1nPESt5v3f9tb7/vBHkLjxdMSqddb+DKtnOve2Mf9n2fy5NpsTFY7N79zkIte3MnKbYUkhAcyY0QkKfGhqokAlMTSVh6/YqrqlJw1KopbPcJb3/BIZxEV4s+CNqGWj359hLd2FTNteAQPXTKZpMgg8mv03LMqnX95TBBntkkEv7tQg1N25YH7Iq1cnTA9Wqnj2R9yOVDcyF++PcqnB8tJjg3h2rNHAq7wuKte3cPPXt9Hc4uNu1elc/eqdI5WNqsu8LYOJCUM7JWfz6ZYY+TuVemYbQ5W7S/luQ25/PaTQ2x2nwN5tXru/DCNP35+mDs/TGONO3zu9xdMUEOF9xS66tAzCkBJMv/JwTKKNUYud4cfQ2vooKebrqDOwH+3FvKbj9M57BbPkiKDmZAQpuaEu2XBGMobW9Tz9t09xTy/IY9/rM3Ganey+lCFV2J0m8PJMXcamLah2Qqe147nZGFlQDiPfJXVYQjfQKWvfOpzgUJZlo8DSJL0GXAVkN3lXgOABy6axLXnjCTCw54sSRIf/WoeVruTYo2RzTm1/G9bEdXNZuaOjSE00I8XrptFXFigmrvmoUsmc+8nh/jjF4ep01t44spR+LtFndXpFQT4+bBsUgKbc2pZOimeWxe6xCN/X4kGo5W/XzmNy2ckccGUBFf88ZeZvHfrXIIDfHlnt+sYM0dG8u7uYlZMSVRnuNZkVuGU4YEVE/jPpny+zajknd3FtNgcrE6vQNdiY1NOLQvHxfLopVMI8vfl+0yX6+XPl03hjg/T+Cy1HB8J7vv8MG/cfA5+Pj58m1FJemkTL1w3k3OTY/CRYEtOHUmRwbRYHTy9Ppv9xxsZFx/Kd4erOGdMNAvHxWGw2NWlUP+5PpfxCeEdhhLanU7u+/wwdqeTN3ce56wRkV6rTHiyq6Debe10EuDrwwMXTWTBuFgecgtkz23IZUJiOCOigjHbHDy3IZfdhRruXJzCdXNGAl1bTjti/ZFqXt5SwMyRkUwbHslH+0tZNimeBy+epK4I4pRl3trlKntejZ6XtxRw7dkjefy7o1Q2tfDny6d45YSw2B38+8c8tuXV88sFYzhS2YwkuX6H1JJGfjhSQ1RwAH/59igGi50pSeGUNBiRZfjnuhxuXpDcYVlf2VJARJAfCRFB/G9bEQaLg5IGEw9eNJGV2wq5/s391OstzB4dxeFyLa9uK+LGeaPV/V/fUcRxjes4T67N5ja3xX9rbi3//jGfyBB/5o+L5al1OWzOqSXHndDvyXU5jIsPIyEiCJPVzj/X53CwuJELpiSyKbsWHwn+8FkGL1w3E5AorNPzl2+PoWuxMSommEe+PsKwyCCv0ABw5Qn4y7dH0Bis3L5oLJ8eLEOWZf5x1XQ1H0ZvUaVtYXNOLeeMiSa9tInHvj3C/JQYbl2YrHbCwJUfYeW2Qla8sINzxkTzl8un8N3hKo5UNjMuPpTffnKILTkjuHvpOHw8Opsbjlbz0uYC7E6ZYH9fr3PiWFUzf/v+GMH+vjx19fROnSPb8+qZnxLL6JgQPtpfiiSBLMMz63O5qc0Aqzv+vuYYjUYLO/PrWbmtkMvOSup+p5Pg6XXZaAwW6vQWXt6cz5WzOs49opwTAE9eNQ0ZeG1HERLwh88OExnsr96g542NISU+jE8PlnHn4rH4+/rwv+1F5NToqNdbePnns9TEqBFB/qy+eyH1ejMp8WHqoOr3y8ezq6Cex745woioYCKD2yeybbE6+NNq16Dm+Q15TEwMV8NsnLLMO7uPM2NkJDnVOl7ZUsBdS8ZR02xmY3Ytty5MZlN2Lbe/n8rfr5rO1KQIdztRzFkjIsmtce1zrErHrFFRnDculk3ZtRw43qDmiFF4/NujaE1WtuTW8dqOIi6aOkx977ODZWRX63jtF2cDsPKGs8mubiYyOEAdhArOGAZc/+vc5Bj2PLK88/fHxrBscgIPXjypw/clSeowL9c7HuFpnlw1awRXddLGtEVxFMWFdb2qmoIicIUF+vHnyyYTGxrINxmVgJ4od/vx1NXTeXtXMaNighkbF8ZPzxnJdXNG0Wi08o81x7jVfU/tjI/vmM+H+0qYOTKSn54zkl943J8VVkxJ9Hp+4dREdhVoCPD14YqZre24srT2NWeP4OtDlezMr2dbXh2y7OpDKo6NS6YP4+9rXKfI4glxbMmt4+6l49SB0A1zRxEW6MesUdFeLgo/H4l7l40nItifp6+ezv2fH2ZbXj0/mZFInd7C7kINwzoQ8gL8fNoJ953lbvkyvYLwIH8unJrIDW/tB1pFusUT4nnp+llsza3jH1dNa7c63sHHLiDBnf9owbhYDv75Ai8BqCumuQWkRePj2u3z5NXTsTuc+PpIPHftDJKigokNDfDKU6WIgzqznYcumez1XuZfLyIsyE/tu79yw2we//YoV80ewbJJ7V1z9ywdx5bcOqx2J3+6pOPrBFodNZ55mu5YnMLU4RHc+NYBJiWGExbox+xRUVw1aziFdQaOVemo1LYwY2Qkl541THXnKFx+VhI/nTOS295L5a6P0skobULfZhLv+jf2Y3fK7C1q4H/u+xB4O25Wp5WzaEIcT67NYfaoKP72k2n8fU02e4saCPDzYcmEeJpMVtJLm9AYLAT7+6phUQBbcutUscnfV1Lfe3JdjtfE1DVnj+BgSSOpJY2UNZp4fUcRJqsDk9XB++4VEV+8fiYavZWn17cmuK/UtrB8cgLv3nouDqeMr4/EL989qLqg0v6ygpiQAL49XElRvYHpwyP58VitOjkP8N3hKr473HpeO5wyH98xHz9fHxaOi2XV/jIue3kXv1o0lmd+yCUuLJCrZg0nIsifK2Yk8atFY5k9OppHLp3Mn7854hVJMjYulJ+dM5KaZjMOp8zq9AoqtS08dMkk7jl/nNpOKiFxcWEBqgtof1GDKsgDqilhw7EaNufUEuDrw8LxsWzPq+f1HUW8ves4wf6+HHzsAsIC/VThS4mSAJj5943q4799fwwfyeWcm+3uKz/4ZSY2h5PcGj1xYQFcPiMJbct0HvvmKDOe2IjV4XStEml1uZo8+dp9HGXs8OslKfzxwolMeGw9NofMRVMT2Zhdy/kT4zlcruW9PSV8tL+U0gYTiyfE8ew1Z+FwuHJWrU6voMFgoaTBxONXTOW2hclc+vIuXtyc73XMRqOVOcnR5NbomZgYxpWzhvPBvlLe3nWcq2aNYG1WNXPHxjB7dBSBfr68ubOIf23M48GLXNdjicaoita3vZ/K5WclcbCkkbFxoVx79ghWbitEa7KpK3RWaltYeeNsnp34f2yOGQ+p5XyWWs7ExDA23n8+Ax2pL5ZrlCTpp8Alsizf4X5+MzBPluV7O9p+zpw5clpaWkdvDTicTplFz21VFfof71ui3hSsdifXvLaHEo2J9MdXcPv7qew/3si9y8bzhwsm8FlqOX/+5giLxsfx75/NZFhkEIfLtUxMDFNn425+54ArX9JDy9WOTV6Nnp+s3O21yoXSIbnujfYx9tNHRLD67oXMfXqzasN7/aZzeHNnEYfKtFw4NZE9hRq1YwEwc1QUX9/j2icmNIDHr5jKre8d9LJOXjlzOC//fBaSJHHVyt1qxwNcjcYTV07jmrNHcsOb+9X8UOBS7D/61VzuXnWoSyeQjwQf3D6Xf6zJ7jYx3fLJCVxz9gjWZlazwX2DCvTzYdUd8/jdJxlesdHB/r4snhDHxg4Sqp0IyycnkFrSiN5s5+JpiWzPq1cbC08+vmMea7Oq1RwCiRGBjI0L9VrpRCHQz4elk+L58Vgt4UF+PHPNWVwxYzgPfJGpJlQfGxdKRLA/meVafn/BBBqNFtWK3Bm/Wz6e8Qlh/MGduH1cfCib7j+f1JJG7v/8MFXNZtb+bhErtxaq9efJPUvHYbY5eM+9zLHCxdMSeeaaGUSH+PNFWrna4fzw9rncvSrda+nO0ABfFoyLY3NOLXPHxvDLBWO49xNvm/fkYeG8eP0sgvx9ufyVXV7npCcjooIZHhVEakkTExPD8PXxIae664TvJ0tIgC+7H17O9W/so95gYcMflrQTPQ0WO7sL6qluNvPCpnz1hvCLeaN54spp/HdrIa9uK+zQbfOTmcO5eFoin6eWe+WHANcMrtFqV2dTOuPvV05jdGwIt72X2uNzojOeuno6uwrq+fHYqV0f3fHET6aSWtLEui6cZuA6J6B1qdqU+FCevGo6v3z3IJHB/tx/4UQsNgcvbS7AaLVz5+IU/nTxJCRcs5Sv7yhilrs968lAoazBxGWv7Ooy9FBpW37/aUaHg5xP75zPNxkVfOExOxoS4Mueh5fTZLLyh88Oq6ETCp/cMY81WVV8etBlIf/9BRO47KxhXPKS96o+njx37Vn8eKy23ZLZANfPGcVz7vwrPWLpUtf/7dt7vs8pIklSuizLc/rtgGcgJ9r/gtPXB0t+ZB0AJc9e3u/HVthdoOGmdw7w2GVT1PxIXZFdpeOyV3bxyZ3zVIG6Tm/mx2O13DRvdI/Fid5gw9FqhkUGM2uUK7zq24xKRseGeE12WOwO3t9Twi0Lk1n27+1q+/X8tTNYNjmBc5/ezLyxMXz+6wUkP7IOf1+JrQ8sZVteHTfPH8M3GZX88YtMXv75LFWUK280sT2/noggP8bEhqrHB/gmo4L7P8/kvVvPJcDPh1+8fYD7V0zkzZ1FGK0OHrxoIi02B1OSIrj3kwxGRAVz47zR/HishqyKZhaOi2VvUQMPXDiRKUkRVDe3sPpQZbsB5g9/WNzpJCO4XAcmq53lkxM73aY7nE6Zt3cf56fnjGoXMtYTFPe3LMvcu3wCvj4Sb+ws4upZI05qoYIv0sqZmhThlTS7Lf/+MY+V2wpZ+7tF7bb7+EAp88bGMD7Be+LtNx+ns/5IDSumJPD2LedyzpObVGfO3LExfPHrBciyzCNfHeHztHJmjIzkhrmjkXC50AJ8fbzEgLasmJLA0UqdV7989d0LmJMcw9u7jvPUuhz+cMEE7r9wolqenfkaNv1xCd9mVDFrVJTL0S/BQ6uzWDElgf+bPZLUkkY0Bgtrs6oJD/Rjze8WsSW3jpvmj+biF3eq4WULUmKZmBhGo8nGGrdouf/RCyisM3DTOwdYND6O1JJGLHYnWx84nxSPSZfCOgMrXthBSIAv2f+4xOt7GSx2LnxhB9XNZu5cPJbzJyawNbeOd/cU4+cj8djlUzh/Yrz6eRuO1nD3qnR1/8SIQD65c36XkzwlGiO7CzW8uq2QJRPive7xdXoz3x+u4qb5Y1Rh+8VN+by8pYCR0cGs/d0iPjlYxva8+g5zK0aH+Kt5qLY+cD6xoYG8v7eEVQdKqddbuGJGEitvdImB5Y0mFj+/DXCJd/etmMgnB8qo1LZw47zR7olduHfZeB68eJLativMGRPN6nsWArDxWA3v7Slh3/EGHr9iKu/sOk5Vs5kPbp9LbrVOjUK5Z+k4XttexK8WjeXxK1wm2hve3M++4w1kPH4hn6WWc92ckdz1UTrppU0kRgTy83NHc/f549Tx87GqZl7fcZw1mVWMjQtl9d0LiA0LZMPRau5edcirjEsmxvPwJZP4Mq2C5ZMTWDIxnpvePsDuwtZ++rPXnMXP57oE/Wd+yOGNHe0XPFImdcG1YmNZowmr3UlKXCiLJ8QxaVgEoYG+6vjMV3ZytSabi/94CweLGwkO8OWBizoXiU+F3uyDnTYBSZKku4C7AEaPHn1OaengWSqvsM5AdrWO6BB/Fk/wjpdvNFqp1ZmZkhRBnc6M3mJXGweHUyajrImzR0e3s1wr1OrMmKwOL1szuKx3yoDKR3LNukQG+7O7QKOubKEwe1QUo2JCyK7SUVhvYERUMOeMiabZZKOkwcjMUVFUNJnUEAfPfQpq9USG+JMQHsTRymZ1dYsAXx+WTY5X3TalDUYvAWnOmGj1hmiw2NmRV4/DfW5NTYpgfEIYVdqWLhMPp8SFMn1EJI1GK3sKNXR2ZkaH+KszQrIss6+oAY3RypRh4UxIDKem2ewlYCnf7VBZ00ln1E8MD2ReSiy1OjO1OjMzRkZR1mDicBtbaFSwP0smxqM329iRX4+ExKLxcYQH+bGzoL7d8qizRkYxOjaEIxXNJEQEqivLKHXg5yNx/qR4Anx9SCtt4tzkGJyyzPa8eq+ZGU/8fCSWT04g0M+HLTl1mGwO9Tjgijsu1Zg4a2THdR0e6MeSifHIssyO/Hp1NZW40AAWjIv16iBXaVswWe2MTwhvd04p58Thci0p8aFEBPmTVtKoiq8Bvi7xTLnxFdUbVHdJ2++zeEIcIQF+7D/ewDljopEkOhXwThXlPKzTm7E55HZJC9tSqzNzsLiRIH9flk6Kx99tO8+r0bdb9jQhPFBd3cXplL3OiWD3/naHzI78OqydLLsc4CuxdJLr9z1Q3Nijc6IzlN/UYneyPa/zY54qMSEBnDdeOU691yoinijnhOfve964WGLDAjla2UxSZJDqzKnSttBotLbrJHu2YT2lWGNsJ/B4MnlYOBM7aFsA9T6gM9vYmV+viu7KeQStIWbK76O0E8o+Eq7rPCzQj10F9WqnzpP4sEDmp8Rgtrl+K5uHOBnk58PSSQle4SrdIgSkIUlPBaSB0AcrbzTh4yN128b2NakljZzTRb+sLWklje77UP+JRb1BTrWOvBo9Qf6+XDTVFfqXXtrEtOERBPn7UlhnIDLYX80FCq6Qi9SSJs5N7tn3dTplDhQ3Mj8lBklq/XytyYbF7vBy1ubW6EgMDyI6NICKJhNmm4OUuDBSSxqZ5+HW1pqsag6dc5NjKGkwsiAldtDVf39gtTs5WtXsJSJ2R73ewt4iDWePjmZUTAgNBgsagxWbw8mY2BDVFe50yuwvbmDOmBgC/HyQZZn9xxvdE6QNnD06mtwanZeIFBzgy/LJCRRrjOoqz3FhgWrScpPVztFKnVdunzq9Ga3J1s5hLssy6aVNzBwVpfazjBY7W3PrSIkPZdrw1r5AXo2enGodIe7j+/n64HTKbMyuJTLYFQrmdMrsO97AvLExFNUbiQj2IymyfVtUpzfTYnV06ArXm22UNpi8+iG1Otf2bcM/ZVnmkDsR/aGyJhakxPYozBZc7uzokIB2zuS2NLe4xh5Tk8JVoVBJj+GJJMG8sbFklDURHx7IHA93UmmDkcPlWq+8wOCK/mgwWBkVE8I5Y6Kx2B1kV+mYPTqazHIt5U0mVkxJJMjfl6OVzcSEBpBVocVsczJzlHe4rqsumpg1KpoanRmnU1bDSsvcwt/wqCAyyrXM8WhrtSYr1c1mL/G4WGMkq0LL4gnxnQq9h8u1jIkJIdr9viy7fvvxCWFo9K4x9Ijo9i505dqQZZdr8sKpieq5Z7Y52JRd6zVRHBsWQHJsKL4+EiUNRuaMiaGs0Uh2tZ7zJ8QT6c6fJssym3PqMFrsjH/sfqab6vqlLzYYBKQFwBOyLF/sfv4ogCzLz3S0/WByIAkEAoFAMOgRAtKQ5ET7XyD6YAKBQCAQnBb6sS/Wm32wvsqBlApMkCRpLFAJ/By4sY+OJRAIBAKB4EToR+FI0K+I/pdAIBAIBIOBQdoX6xMBSZZluyRJ9wI/Ar7Au7Is92ytZIFAIBAIBALBCSP6XwKBQCAQCPqSPglhO+FCSJIeyAPiAE0nm0UCnSep6P/t2pa1t4/bF5/ZVf325XFPZbuOyjyQ6rqzOh1IddiWOMDWy8c9kW1PZDt/uj9nB1pdn2zb0BvHPtHtlLIOtDrsarveuE+c7LFPdjvPMg+EOuyKnt4nTvTY/kCoLMvx3W0s6F8kSWoB+kJkOpHr8WQZDZzcCgI9oz++Q18fQ9RR9/R1HUHff4ehcL1B332PoVA/g/0cGsznT38eo6/qaZIsy72zfLUsy6f9D0jz/N/JNm/28LP6Zbu2Ze3t4/bRd+m0fgdqXXdU5oFU153V6UCqw47qdCDVYVfb9eScHWh1fbJtw+n4Lh5t74Cqw6626437RH9/F88yD4Q67Mk50dvHPpHPFX/9+wfU99Hn9vh6HGhl7+fv0KfHEHV0+uuon77DoL/e+vJ7DIX6Gezn0GA+f4ZCPfVmP+wElmw57aw5w7brq888Hccd6NudzmMPle1O57GHynan89hn2nan89gDfbsT4XQeW9B7aLvf5KToj9+9r8qu0B/foa+PIeqoe/q6jqDvv8NQuN6g777HUKifwX4ODebzpz+P0R/1dEoMlBC2NFmW5yj/T3d5esJgKquCKHPvM9DL1xGDqcyDqawKg6nMg6msCqLMfUtflXUw1cGZxmD+bQZz2fsLUUfdI+qoZ4h66hpRP10j6qdnDIZ+2EBxIL3Z5v9gYDCVVUGUufcZ6OXriMFU5sFUVoXBVObBVFYFUea+pa/KOpjq4ExjMP82g7ns/YWoo+4RddQzRD11jaifrhH10zMGfD9sQDiQBAKBQCAQCAQCgUAgEAgEA5eB4kCv40RuAAAgAElEQVQSCAQCgUAgEAgEAoFAIBAMUPpNQJIkSZYk6T8ezx+UJOmJ/jr+iSBJkkOSpMOSJB2TJClTkqQHJEkaNGKbJEmG012GnuJR18pfchfbLpUkaW3/lU49b1d5PPeTJKm+v8txokiSdLW77JNPd1k6Y7DWrcJgus4UuiuzJEnbJUk6rfHpg+HcbYskSY+57xdZ7nZs3ukuU1dIkjRSkqTvJEkqkCSpSJKklyVJCuhi+/skSQrpzzIKBAqDsU04XQyGNv50Idq9njMY+zf9hWiPeo5ojzpnsLdH/SmKWIBrJEmK68djniwtsizPkmV5GnAhcCnwt9NcpqGKUtfKX8npLlAbjMB0SZKC3c8vBCpP5AMkSfLr9VJ1zw3Abvf/HiNJkm/fFKdDTrluBUOSkzp3TxeSJC0ArgDOlmV5BrACKD+9peocSZIk4GvgW1mWJwATgTDg6S52uw8YMB0XwRnHYLifCQYwot0T9CKiPRKcEkOhPeq3HEhuFfJpIEyW5cckSXrQ/fiJuLg4OTk5uV/KIRAIBAKBoP9JT0/XyLIcf7rLIfBG9MEEAoFAIBja9GYfrL+dEa8CWZIkPe/5YnJyMmlpaf1cFIFAcCbwTUYFH+wt5dvfnne6iyIQnNFIklR6ussgaI/ogwkEAoFAMLTpzT7YKYWwSZL0riRJdZIkHfV4LUaSpE3umL5NkiRFK+/JsqwDPgR+fyrHFQgEgp6SWd7M4XItFrvjdBdFIBAIBAKBYEhitTspbzSd7mIIBiNLl7r+BIOCU82B9D5wSZvXHgG2uGP6trife/IS8Csg9BSPLRAIBN2ia7EBoDfbT3NJBII2iA6TQCAQCIYIH+wtYfl/tgsRSSAY4pySgCTL8k6gsc3LVwEfuB9/AFzdZp9G4AtcIpJAIBD0Kc1uAckgBCSBQCAQCASCPmFvkQabQ2bVfhGtLBAMZfpiFbZEWZar3Y9rgMQOtvmP+/W7JElKq6+v74NiCAQCAejMwoEkEAgEAoFA0Fc4nTLppU0AfJZaTotVpA0QCIYqfSEgqciuJd5k9+Mwj9drZVkOlGV5uCzLc+LjxaIsAoGgb9C1uIQjvVtIEggEAoFAIBD0HgV1BnRmO9fNGUlzi43vDlee7iIJBII+oi8EpFpJkpIA3P/r+uAYAoFA0COUEDadcCAJBAKBQCAQ9Dpppa6MJr9ZOp7Jw8L5YF8pLh+BQCAYavSFgPQ9cIv78S3Ad31wDIFAIOgRrSFswoEkEAgEAoFgaPL2ruOkl7ZNTds/pJU0ERcWyJjYEG5ZmExOtY7UkqbTUhaBQNC3nJKAJEnSp8A+YJIkSRWSJP0KeBa4UJKkAmCF+7lAIBD0OzaHE5M7Dl/kQBIIBAKBQDAUKWsw8dS6HJ7fkHdajp9W2sicMdFIksTVs0YQGezPB3tLTktZBAJB3+J3KjvLsnxDJ29dcCqfKxAIBL2BrqXVdSQEJIFAIBAIBEORbzJcOYcOljRSqzOTGBHUb8eu1Zkpb2zhlgXJAAQH+HL9uaN4Z3cx1c0tJEUGd7m/1e4kwK9P0/IKBIJeRFytAoGbwjrD6S6CoJfxzHtksIgQNoFAIBAIBEMLWZb5JqOC5NgQZBnWH6nufqdeJM0dqjYnOUZ97eb5Y3DKMh/vL+t0P1mWefzbo5z79GbKGkx9Xk6BQNA7CAFJIACOVDSz4oUdpJacnthxQd8gHEgCgWAwI0nSKEmStkmSlC1J0jFJkv7gfj1GkqRNkiQVuP9Hu1+XJEl6RZKkQkmSsiRJOvv0fgOBQNDXZJRrKWkw8ZtlrgTWa7P6WUAqbSTI34dpwyPU10bFhHDB5AQ+PViGxe7ocL8XN+Xz0f5S9GYbj3ydNSCTbjucA69MAsHpRghIAgFwXONyHxXXG09zSQS9SbMQkAQCweDGDjwgy/JUYD7wW0mSpgKPAFtkWZ4AbHE/B7gUmOD+uwt4rf+LLBAI+pOvD1UQ6OfDpdOH8ZOZw0kvbaJS29Jvx08raWLWqCj8fb2HlbcsTKbBaGVdB4LW+3uKeWVrIT8/dxRPXj2dvUUNfJZa3mdl3Fuk4Tcfp9NgsPRoe6dT5s/fHGH+M1sobxTuKIHAEyEgCQS44rcBatz/BUMDZQW20ABf9bFAIBAMFmRZrpZl+ZD7sR7IAUYAVwEfuDf7ALja/fgq4EPZxX4gSpKkpH4utkAg6Cesdidrs6q5eNowwoP8uWKG63Jfl1XVL8c3WuxkV+uYMyam3XuLxscxLj60XTLt7zOr+PvabC6amshTV0/nxrmjWZASy9Prcqhu7hvh6/kNeaw/UsMNb+2nXv//7J13eFNlG8Z/J+nepXuXtrTQQcveS6bIFnGLCm5FRf0U994TxYEDEQEBZa+y9x7ddFO6F226V5Lz/ZEmtDRd0ALi+V0XF5CeJG96cpL3vd/7uZ+WRSS1WuS19TGsOJ6OorKWp1ecoVap7pRxSUj8G5EEJAkJIKdEEpBuRkqrNK4jN1vTRg6kb3YlcSSl8HoNS0JCQqLdCILgDfQCjgNOoihqt/VzAaf6f7sBDbfxM+tvk5CQuAnZm5CPorKO6b01l7mXnTkhbtbXrIwtMkOBSi3S19u2yc8EQWD2YG8iM0s4m67JSTqYVMALqyPo592FhXf3wkAuQxAEPr49BJVa5NW10R1eyhaTVUJEhoKpYa5kFFVx1+Kj5Dcz3xdFkbc2xrLyRDpPjvTl27t7EZlZwkfbznXomCQk/s1IApKEBA0cSCWSgHQzoS1hc7MxpazegaRSi3yzO5F5KyMoqZRcSRISEjc+giBYAP8Az4miWNrwZ6JmtdWuFZcgCI8KgnBKEIRTBQUFHThSif8iCbllvLQmslHZuMS1Yd2ZLOwtjBnmZ6+7bVJPF6IyS7hwsfNjGU6mFSMI0NurqYAEMKO3OxbGBiw9kkZkhoLHlp3G18GCnx/oi4mhXHecl505L44PYG9CAesjsjp0jMuPX8DEUMa7U4NZ+nB/ckuquXPxsSZuJ1EUeXdzHMuOXeDR4T68ND6ACcEuPDjYmyWH09gek9uh45KQ+LciCUgSElwSjiQB6eaitLoOQ7mAo6UJ5TUaB1JRRS1qEQrLa/hwq7SjJCEhcWMjCIIhGvFouSiKa+tvztOWptX/nV9/exbg0eDu7vW3NUIUxcWiKPYVRbGvg4ND5w1e4qanTqXm+VURrDmdyRc7Eq73cP5TKCpr2R2fx5RQVwwa5A/dVl/Gdi1cSKcuFBHgZImViaHen1sYGzCzjztbonN4cMkJ7CyM+OPh/libNj3+wcHe9Pa04Z1Nca2WmbWV0uo61p/NZkqoK9amhvTv2oU/5vSnoKyGO386RmaxJt9IFEU+2hbPksNpPDykKwtu7Y4gCAAsmNidnu7WvPR3pJSHJCGBJCBJdCDNdVn4N5BXWlP/tyQg3UyUVtVhZWKIpYmBroRNOykJcLJk1akMqZRNQkLihkXQrGB+Bc6Jovhlgx9tBGbX/3s2sKHB7Q/Ud2MbCJQ0KHWTkOhwfj10nricUkI9bFh27ALRmSXXe0jXhfDYXF5dF0113bWbC2+OyqFOJTKjd+MqVXdbM3p52rRJQNqfWED2FQZuq9QiZ9MVesvXGvLAIC/qVCIyQeCPhwfgaGWi9zi5TODTmaFU1qp4a2PMFY3pctaezqSqTsX9A711t/Xx6sKfcwdQXFnLnT8dI6Ookk/DE1h8IJXZg7x4Y1IPnXgEYGwg57u7NQ0tpTwkCQlJQJLoIHJKqgh5awcnzhdd76G0G7VaJK+0GrlM4GJF7b9aCJNoTElVHdamhliaGFJZq0KpUlNY34Hj9Uk98LIz49Pt0o6phITEDcsQ4H7gFkEQIur/TAQ+BsYKgpAEjKn/P8BWIBVIBn4GnrwOY5b4j5BWWMFXOxMZF+jEsjn9sTM35vX10f+p1udFFbXMW3mWx5adZsXxdJYfT79mz73ubBb+ThYEuVo1+dmknq6cyyklpaC82fvvTchn9m8nmLv0FEpV+0WR+NxSymuUegO0G+LjYMGP9/Vh9eOD6Gpv3uKxfo4WPDu6G1ujc9kWfXXatyiK/Hk8nVB3a0LcrRv9LMzDhhVzB1Jeo+TWbw7yw74U7hngydtTghqJR1o87cz4bGbPZvOQapVqtkTlcP+vx7lt4UEqaqTOvxI3L5KAJNEhJOWVU6tSE5WpuN5DaTeFFTUo1SLdnS0ByC/tGNusxPWntFqJpakhFiYGAJTXKHUCkrutGcO7OXC+sPMzAiQkJCSuBFEUD4miKIii2FMUxbD6P1tFUbwoiuJoURS7iaI4RhTFovrjRVEUnxJF0VcUxRBRFE9d79cgcXMiiiKvrY/GSK7JlrEyMeT123oQmVnCXyevnYhyPdkek8u4r/azLSaH+WP9Gexrx/d7k6+JeJBWWMHpC8VM7+WuV/C4LcQFQYDNkfpFmPzSal5cHYm9hRFxOaX8eexCu8dw+oImGLs1BxLAhGBnfB0s2vS4jw73IdjNijc2xJJ+sRL1FQqSx88XkZxfzn0DvfT+PMTdmhWPDMDMSM49Azx5f2qw3t/lpdfQNA8pOb+MD7bEMfCj3Ty14gxJeeXEZpfy4/6UKxqzhMS/AYPrPQCJmwNt97LM4s5pv9mZ5JVoBIUwDxtis0vJLa3Go4vZdR6VREegKWEzwLJeQCqrVupK2BwsjXG2NqGkqo7qOlWjMEcJCQkJif8etUo14bG59O/aBadmymwkNPx9OpPDyRd5f1owztaa39XUMFf+OpnOp9sTmBDkjJ2F8XUeZedQVFHLWxtj2RSZTZCrFcvmDKCHixXDutkz/fsjLDl8nqdv6dapY1h3NgtBgGm9XPX+3NnahH5eXdgclc2zYxqPRa0Wmb86kopaJZueHsq7m+P4YkciE0Ncmi0v08fJtGKcrUxwszG9qtdyOYZyGZ/eHsqU7w4x/LO9GMoFXKxNcbUxwdXGFDcbU3q62zA20KnFx1l27ALWpoZMDtX/OwIIcrXm2ILRyGTNC0cNWTCxO2fSi3np70h+OZjKqQvFGMgExgY6cWc/D4Z1c+D5VREsPpDKXf09O/x30xYOJBYQ4maNrbnRNX9uif8GkgPpJmRvQj6x2de2Bj2vPny6M8LlymuU/HE0rcPbemrRil9hHjaa/0tB2jcNpfUlbFb1AlJpdR2F5TWYGMowN5LrFgjtPedrz2S2aAuXkJCQkPj38cO+FJ5ZeZaBH+3mnp+PsepkutRZTA8FZTW8v+Uc/bxtuae/p+52QRB4b2owFTVKPt4Wfx1HeHUcTCpgyMd7mPD1Ae5efIynlp/h9fXRfLkjgUV7kxn31X6217uO1j81hB4umhKyXp62jOnhyE8HUju1y6soiqw7m8VgXztcrJsXKCaFupCUX05Cblmj2386kMqh5ELenhxENydL3p0aTI1SzQftbCxyOq2IPt62Lbp2rpRAVys2Pj2U96YFM3eYD708bVCpRY6nFvH9vhQe+eMUS4+kNXv//LJqwmNymdnHvdUNwraKR3ApD8lAJlBUUcuCW7tzdMFofrivDyMDHJHLBF6+tTsAn1yHayCjqJIHfjvBC2si27xuUqlFFu1NJvUGndceSirUNcKRuDGQBKSbkJf/juLrXUnX9DlzOtGBtCEiizc3xBKbXdr6wVdAbn0bT62AJAVp3zyUVtdhVZ+BBFBeraSwvBZ7C2MEQcBZKyC145zXKFW8uCaSx5adlvKyJCQkJG4SCstrWHwghZEBDsy7pRvZiipe/ieafu/v4rFlp9gWnXPDfubXKtWUVl87oevdzXFU1ar4aEZIk8V3NydL5gzryprTmZxK+/flYqrUIu9vPodKLeLRxYw6lZpzuaVsicrh273JfBaegJOVCRufHsq80d0wlDdeSr0wLoCyaiWLD3ZeCdPpC8WkF1UyvZd7i8fdGuyCTIBNkdm6286mF/PFjgRuC3Hhzn6aho1d7c15fIQPGyKy29xYJEtRRXZJNf28Wi9fu1ICXa24f6AXL0/ozjd39WLN44M5/MotxL83gTE9nHh7Uyzhsbl677v6ZAZKtci9Azz1/vxq8LQz49iro9n9wggeG+GLg2Vjp52bjSmPDPNhY2Q2Z9KLO/z5W2Jj/bneE5/Pzri8Nt1nyeHzfBaewAdbbrzOxNGZJdz363E+D5fySm8kpBK2m4zqOhX5ZTXXvM2kzoFUXIkoih26G5GUp1HEM4oqCXazbuXo9pNbH6Dt42CBiaFMciDdJIiiSGmVUteFDS6VsGm/7LW2+/ac82xFNWoRkvPL+WFfCs+N8e/4wUtISEhIXFMW7k6iWqnmzUmB+DhY8NyYbkRllrAhIptNUdmEx+Yx0KcLy+cORN4Ox0JnE59bykNLTpJTUo2lsQGuNpdKfVxtTPGxN2dMoFMToeNK2ROfx6bIbJ4f44+fo6XeY+bd0o1NEdm8vj6Gzc8MbdRiXktuSTWpheUM9rXvkHF1FJujsknIK+O7e3oxqWfj0ieVWtQ5m5tzrfRwsWJyqCtLDqfx4OCuTcSFjmDt2SxMDeVMCHZu8TgHS2MG+dqxOSqbF8b5U1ajZN5fZ3GyMuHDGSGN5upPjvJjXUQWb6yPYduzwzEyaPn9ohUH+3q3HKDdGRjKZXx7dy/u/vkY81aeZeWjA+nteUnIUqlFVhxPZ6ifPT5tzF1qL8YGLbuanhjpy6pTGby3OY61TwzuFJeWPjZFZhPqYUN1rYp3NsUxtJs9ZkbNL/fTCiv4LDwBcyM5exLySb9YiafdjRPj8euhVADWnMpg/jh/rOo3hCWuL5ID6SZD6wDKLK7qtJIvfWgdHJW1Kooqajv0sbWlQhnFnSOK5ZbU4GhpjFymcaTkSA6km4LqOjW1KrWuCxtAWY2mhM3e4jIBqR3nXCvO+jiYs2hvMkl5Za3cQ0JCQkJCi0otEpGhuKZzlNY4X1jBiuPp3N3fQ7fgFASBUA8b3pwcyLEFo3lnShDHUov45WDqdR7tJY6nXuSOH4+iFkX+NyGA2/u442lnRn5ZDVujc/gsPIEnlp9h3FcH2B6Tc9W/8/IaJa+vi6GbowVPjPRt9jhzYwPenBxIfG4ZvzcoMyqprOOvE+ncvfgYgz7ezT0/H+dAYsFVjakjqVOp+XJnIj1crJgY7NLk53KZgK25UaslT8+P6UaNUs33+5I7fIw1ShVbonIYH+SEhXHrPoBJPV1Ju1hJbHYpr62LIVtRzcK7e2Ft2nghbmIo550pQaQUVPDrofOtPu7pC8WYG8l1DWiuNaZGcn6d3RdnaxPmLj1FWoOGKHvi88kuqW42PPtaYG5swEvjAzibrtC5gjqbpLwy4nPLmB7mynvTgslSVPHdnubfg2q1yMv/RGEkl7HikYHIBYE/jqZdk7G2hbzSajZH5TDEz46KWhWrT2Zc7yFJ1CMJSDcZWpGlvEaJohPrry8nr7Rat8tyeRlbbHYJt3y+j/yy5hfpeaXVjPxsLzFZTbObUvK1DqTOCejOK63WZeE4W5vo3FQSrbP4QAqP/nFjNvnR2vmtTBuHaDcUkCyMDbAwNmiXA0l7jX1zZy/MjQ3anRnwb6dGqeK2hQfZfa5t1uj/An+dSOfeX45d72FISNzwiKLI2xtjmbbo8DVtd94an4cnYGQgY95o/cHHcpnAA4O8mBDkzBc7EonP7ZyS+vawPSaX+387gYOlMf88MZgnR/rx9pQgfn6gL1vmDePsm+OIe3c8Pz/QF7lM4PE/zzDzx6OcvnDlZWWfhyeQU1rNx7eHtOpQGR/kzMgAB77amciaUxk8+scp+n2wi1fWRpNbWs2zo7vhYm3Cwt1JnSom5pVW88vBVGqVrbep//t0JhcuVvLiOP925eJcjo+DBbf3dmP5sXSyFR07d113JouSqjqm9265fE3LhCBnDGQCL66JZFNkNvPH+tOnmbKzW7o7MS7QiYW7k8hqZdyn0orp5Wmr1112rbCzMOb3h/oDMHvJCS7Wd9n989gFnK1MGNPD8bqNDWBmb3eCXK34ZFs81XXNl78WV9Q2yam6EjZFZiMTYGJPF/p37cKM3m78fDCV5Hz92UbLT6Rz/HwRr0/qQaiHDeODnVl9KoPK2hsjb+iPo2moRJEPp4fQv2sXlhxOQ6lq/TqW6HwkAekmo6F4c606otUoVRSW19Kvvo3n5U6hw8mFpBZWcCy1+UnL4eRC0i5W8vfpzEa3V9QoyS7R5it1jgMpp6RKl4XjbGXSLjfKfxlRFFl65AK7zuXdkLkQpfXBp1YmhrpdOkVlHRcrahtZyp2sjNuVe5VZXIWhXCDQ1YrbQlw4c6H4htpJ72zOF1YQm12qa2ErAbvj8zmcfFEqf5WQaIXfj6Sx7NgFrEwM+HxHAsUd7Fi+EiIyFGyJzmHuMB8cLZvvQCUIAh9MD8bK1JDnV0Ve1++9P49d4MnlpwlyteKfxwfjbqu/5MTMyICxgU5sf3YYH80IIb2oktt/OMoTf57mfAPHRlvYEpXD70fSmD3Imz5erZctCYLAO1OCqFOLvPR3FBEZCu4f5MXGp4ew54URPDfGnydG+nLqQjFHUy+2ayxtRRRF5q+O4P0t53h/S1yLx1bXqVi4O4nenjbc0v3qhQetGPntno7LJN2XkM8bG2Lo523LUL+2lf7ZmhsxxM+e+NwyBvva8fiI5p1jAG9ODkRE5N1Nsc0eU1ZdR3xuabNC1LWkq705v8zuS25JNXOWniIht4wDSQXc1d/juopboAnnfmNSINkl1Xqdi0qVmt8Pn2fEZ3u5beHBZoWetiCKIpuichjoY6f7HFtwaw9MDeW8uSGmyTw1S1HFx1vPMdTPnll9NVlYDw72prRayfqzV++Yutp5cVWtihXH0xnbwwkvO3PmDO1KlqKKHW3MdZLoXCQB6SYjs0H2UWeVfF1OfqlG8ddOKC53Cmk/ECPSFc0+RkSG5mfhsbmNPnS05WvGBjIyOkkQyyut0ZUyOVmbkF9a858SBK6UmKxSshRVqEVIK7y2mVttQds5x9rUEBNDOUZyGWkXKxBFcLC41NrU2bp9omFGUSWuNqbIZQJ+jhaUVispqN/1+i+gu54zmr+e/2uk6H4n1zYsU0Li38Tuc3m8tzmO8UFOrHpsEGXVSj7fcX2DUUVR5KOt57C3MOLR4T6tHm9nYcwnt4dwLqeUb1ppVlJRo+S1ddEs2pvcYXMKURT5cmcir6+PYWSAI8vnDmhTq24DuYy7+3uy/6WRzB/rz4HEAsZ+uZ9v2+j+Scgt46W/I+ntacOCid3bPF4vO3P+nDOAFXMHcHTBaN6YFEhPdxtdHsysvh44Whrz7e6OL/UCjaPocPJFerpb88fRC6w+1XwJzPLj6eSUVPPi+IAOyatxtzXjngGerD6V2ai86ko5nnqRx/88jb+TJb8+2K9dOVwPDPKiu7MlX90Z1ur93G3NmDe6G+GxeeyNz9d7zNl0BWoR+l2H/CN99Pa0ZeHdvYjMVDDzxyPIBIG7+3d8ePaVMNDHjvFBTny/L4X8BnPNoykXmfTtId7eFEewmzUmhnI+2X7lXdtis0s5X1jB5NBLuV0Olsa8ND6AIykX2RSVo7tdFEVeXRuNCHzUIAurr5ctgS5WLD1y5Z2vq2pVPLX8DKO/2E9V7ZWL7OvOZlFcWcecoV0BGNPDCc8uZvzWhvJKic5HEpA6gaS8smseYq0lo7hSV55zrcagdW/4Ophja2bYxCmkXXBGZja/4IzMUGAgE8gpqSYq81IZm/a+g3ztyKwP6G6NM+nFLZbLASTmlZFWWEF5jZLyGqVOQHK2MqFWpW6U41Rdp+JIctu6UtwInL5QfE3aDjfsfHE1uyadxaUSNk2dv6WJgW7HVXuNADhbmbbLOZJZXIVH/W6vn6MmK+NGfP2dhfa1JheUU9bBXX/UapFNkdn8dSKdVSfTG022WkJRWcvZyzqdRGYoml7Hbewu0x5qlWou1H/WRmQ0LcGVkJCAuOxSnll5liBXa766M4weLlbMHuTNihPpekvXrxV7E/I5fr6IeaO7tSlPBmB0Dyfu6ufBj/tTmi0HSy0oZ/r3mjK9z8I1rd+vFpVa5NV1MSzcncQdfdz56f4+LYbj6sPMyIB5o7ux76VRTAxx4YudiXy8Pb7FuVVJZR2PLjuFubEBP9zXp9Xw4Mvp37ULg/3s9QoXJoZyHhvhy9HUi5zs4I5tBWU1vL/lHP28bfnnicEM9bPn9XUxejc/KmqUfL83mSF+dh0a6v3kKF8M5QJf7Uq8qseJylQwZ+kp3GxM+ePh/u0OEh7dw4ntzw3XxTW0xtyhPvg6mPPyP1F8Fh7PvoT8Rl3+Tl0oRiZAmKdNu8bRmYwPcubtyUGUVSsZF+jU5td6LVhwaw/qVGo+35FAtqKKp1ac4e6fj1FWreTH+3qzfO4Anhjpy864PI5doRtvU2Q2BjKBWy8LVr9ngBchbta8vzlON2f750wW+xML+N/4ADy6XHIvCoLAg4O9Scgra7FqpDnyy6q5a/FRtsbkkFpYwdKjaVf0WkRR5LfD5wlytaJ/V41IKZdpxnbqQjGR0gbmdUcSkDoYtVrkgd9O8Oq66Ovy/JnFVfRwscTa1PCaOZC07g1naxPcbc0aOYVEUdQtOGOySqjTU7taXaciLqeUO/q6YyAT2H6ZMCGXCQz1s6e6Tk1hect297jsUu748Sjvb245l+bJ5We45+djOudAwxI2gJwGgsKqkxnc88vx6zrJbSslVXXM+ukoP+7vvPaxWrbH5tLL0wZBuDEFlNIqTQ23VX3+UUMBqWEJm7O1MfllNajUbdttySyuxN3WFLgkIKXcgK+/s9Cea1HUtFftSI6mXuSZlWd5ZW00L/8TzYdtzJdauDuZO386pqvbr65TMeuno3zdYNK+8kQ69/x8nNSCjj1XaRcrdO8dyYEkIdGU/NJq5iw9ibWpIb/M7qsTPZ4b2w07cyPe3OSfgpcAACAASURBVBCDuo2fv+2hvEbJ0iNpzWa5qNQin2xLwNvOrN1uhdcnBeJma8rzqyKpqGmcFxIem8uU7w5TUFbDsjn9mdHLjc93JLLk8NXtnH+3J5mVJ9J5cqQvn87seVVd1Rwsjfn6zjDuG+jJT/tTeX/LOb0ikkot8uyqs2Qrqvjh3t6dsii/p78n9hZGLNzdcaVeAO9ujqOqVsVHM0J0XbscrYx5fNlpCsoau4Z/P5LGxYpaXhwX0KFjcLQ04aEhXdkYmX3FGTcJuWU88NsJbM0NWT53IHYWHd/V7XKMDGR8OSsMFxtTftyfyoNLThL6zg5u/eYgb22IYUdsLoGuVm0WXa8Vswd78+vsvrw7Nfh6D6UR3vbmPDjYmzWnM7nli33sisvjuTHd2P3CCCYEuyAIAnOGdsXF2oQPt55r9+ehdvNtuL8DNmaNHYlymcD704IpKK/hq51J5JdW8+6mWPp62fLAIO8mjzUlzBVbM0OWNgi/bwtJeWVMX3SExLxyFt/fl5EBDvywL6WR8NhWDiQVkpxfzpyhXRu5AWf188DS2KBNIe83KkUVtcxfHdHh8+drjSQgdTCRmQpySqqJyFB0yoSoNTKKKvHoYoZHF9NrloGkdW+4WJlqnreB86mwvJbSaiW9PW2oUar1foGeyymlTiUywt+BQb52hMdcKmNLzi/Hy84MHwdzoOWyPJVaZMHaKFRqkT3x+c3mE5RU1pGcX052SbVO6NM5kOr/bpiJc6be2fBvyHyJylSgUoucudC5C9nk/DKS88uZ3ssNNxtTXanhjYTWhXXJgWSoC5Zv7EAyQaUWdeGLLVFZq6SwvFa3Y+NsZYKFsQEpBVdvT/+3kJxfTq/6XceIFlyFV4LWRbRr/gimhbmy+1x+m4JPz6QXU6tSE5utCbY9l1NKjVKtu3Y1xyjqn6Njx6wV1Hp72hCdWdJmIVJC4r9AZa2SOUtPUVpVx6+z+zUSIKxMDHl5QnfOpCtYezarw5/7tXXRvLUxlhGf7uXFNZEk5zeef/xzJpOEvDJeGt+93WKMhbEBX9wRRkZxpa6Rgkot8un2eB5bdhofB3M2zxvGsG4OfDqzJ+ODnHhnUxxrWiihaonY7BK+3ZPEtDBX/jehe4eUWMlkAu9NDebBwd78eug8b2+MbSIifb0rkX0JBbw1OajT2rWbGsl5ZJgPB5MKG31mXw174/PZFJnNk6N88XPUdAmzNTfip/v7oKiq5akVZ3QbmiWVdfy4P4UxPZzo5dnxmT6PDffBwtiAh38/2e7Xl1ZYwX2/HsdILmP5nIG6Oeq1INTDhg1PDSH67XGsmDuA50b7Y29hxJrTmcTnljHIx+6ajaU9jO7h1GiT8Ebh6Vu64WNvzqgAR3bN12SAmRhecvOZGMp5aXwAUZklbIpqXwbRmfRiskuqmRzatHMgaM7lPf09WXo0jcf/PE21Us0nM3vqDYo3MZRzZz9PdsTlthqkruVwciEzfjhCrUrN6scGMTbQiRfHBVBSVccvB9sv9vx66DwOlsZM6una6HYLYwPu7OfB1ugcckquzRq3I6moUfLQkhOsPZPFMyvPXFWJ3/VGEpA6GK17pqxaSWoH1Dy3h/IaJcWVdbjbmuJuY3bNSthyS6oxMZRhZWqAh60ZmYoqnXimXVzN7KMJaNNnHdZaEUM9bBgX5ExqYYXufikF5fg5WOgCIlt6Tb8fSSMys4Tbe7tTXqPkSLJ+G6i2lC7EzVq34HS2aiwgNczE0Y65oTPqRkWbMxWd1bkL2fBYTYjduEBn/BwtblAH0qUQbUDXiQ3AvlGIdtNz3hxZ9aKs1oEkCAK+DuY35OvvDFRqkfOFFfT1ssXbzqzFXLMrISJDga+DOX6OFkwJc6WsRtlq2VmNUkVc/XWsHY/2mo3PKdN1PtG6gzo6u0nrPpvR252KWtV/5r0gIdEaarXI86siiM0uYeHdvQh0tWpyzO293enlacPH285d0U51c2yIyGJDRDYPD+nKfQO92ByVzdivDvDYslNEZCiorlPx1c5EQj1smBji3PoD6qF/1y48OsyHFcfTWXsmk9m/neD7fSnc3d+D1Y8Nws1G8z1hIJex8O5eDOtmz8v/RLE1OqeVR25MrVLNC6sjsTU34u0pQVc01uYQBIG3JgfyyLCuLD16gdfWX3KDbY/J5ds9ydzZ14N7B3Runsx9A72wNTPk2w5wIVXUKHl9fQzdHC14YmTjwOggV2s+ub0nJ84X8cEWjfC3+GAK5TVKXhjnf9XPrQ8bMyOWzRmAIMCsH4+y+EBKmzaYc0qquPeX4yhVapbPHYCnnf6g9M7GzMiAwX72PDumG8vmDCDqrXFsf24Y88d2rFvrZsfa1JDdL4zkh/v6NCoba8i0MDeCXK34dHtCi13bLmdTZDbGBjLGBjb/Wfa/8d2xMTXkTLqC+WP98XWwaPbY+wZqrvflxy60+tyrT2Uw+7cTuFibsP6pIYS4WwMQ7GbNrcHO/HowtVGcQGsk5ZVxILGABwZ66e30OHuwN2pR5I+jrY/tRqJWqebxP08Tk13KU6N8SbtYyafhV555db35TwhI2Yoq7v3lGLd+c5CJ3xxkczuV3ZaIyFDw5PLTKCprEUWR8JhcPOs/GDp6oaLtJrEvQX+onTZ7yMP2kgPpSkLQ3t4Yy63fHOTWbw6yYG10q190uaXVOFuZIAgC7ram1CrVulDh5HpnysgAB+zMjfT+TiIyFDhZGeNibcr4QCcEATZGZlOnUnPhYiV+jha6BbvWVbVob3KjILX80mq+2JHAqAAHPpwRjKWxgc4xFJmh4OHfT1JebzOPzFAgCLD4gT64XOY8crAwRiZAjkIjJhRX1HLhYiWeXcxIzi9vsoPZFqIyFcxdevKa5BJpxbHKWhVJVzDWthIem0uYhw3O1ib4OliQWlh+XRx3WqIyFTzx5+lGX1Kl1XWYGsp1X0BaAcnUUI650aVdH51oeFkO0sfb4vnjaFqj27QOuIZf/r7tFNDUapH5qyI4kFjQ5vvcKGQVV1GjVOPnaEGYhw0RGYoODYeNyCgh1EPjbhrsa4+FsUGjrC19xOeUUVu/k6x1RGlFaaVaJDa7hIvlNbpw/5ay2K6E5IJy3GxMGeyr2Y2VytgkJDR8Eh5PeGwer98WyOgeTnqPkckE3p0SzMWKWr7e2TElTBlFlby+LoY+Xra8OrE7b08J4sgro3lmlB/HUouYtugw4746QE5JNQtuvTo3z/xx/gQ4WTJ/dSQn0or45PYQPprRs5GzAMDYQM5P9/ehj5ctz/51lr3NzOP08d2eJOJzy/hwekiT8pSOQBAEXp3YgydH+rLieDoL1kaTmFfGC6sjCPWw4Z2pQR3ieGoJc2MD5g7zYW9CwVWXdny+I4Hskio+vj1Eb17T1DA35g7tyu9H0lh8IIUlh9OY1NOVHi5NBc6OIszDhi3zhjGmhxMfbo1n7h+nml1UZyuq+GZXEtMWHaa0qo4/Hh5ANyfLThtbezGQy+jubIWpUfuysCRaRyYTeG1iD7IUVfzexhIypUrNlugcRvdwbLGk0NrMkC9mhXLPAE/m1gdTN4e7rRljejjx18mMZoWsOpWaz8Lj+d/fUQzytePvJwbrRHMt88f6U1Wnalesxm+H0zA2kHFPM6K1Rxczxgc5s+J4ui624EZHrRZ5cU0kB5MK+WhGCC+N787sQV78fiSN453UgbKzuekFJFEUeW1dNGcuKHC3NaWwvIafDzRtpXglVNepeH5VBFujc/lgyzkS8spIu1jJI/V21Y4O+YrOKmHtmaxm7YDaBZKmhM2MmgZCTlvJL63m9yNpyASwNTNk5Yl0VpxIb/E+eaXVOheHe5fGTqGU/HLMjeS4WJsQ6mGj93cSmVlCqLtm0ehoZcLYHk78cvA8h5IKUapF/BwtMDMywN7CiMziSqpqVXy7J4mFe5JQ1i8ct0TnUFmr4rXbAjE2kDOquyM7z+VRVati/uoI9sTns/ucxjWjcTlY4GJtynf39GLe6G66yZ72i1EbYqddkD4/VtOOVeu8aQ9/HL3ArnP5V9VdoS1oFuAKemvLizrYHaIlS1FFVGYJ44M0Ox1+jhZU16nbbHXtaLTX4baY3EZtekuq6rAyvfRlamGscSLZWxo1mgzrc51tj8nhx/0pvLMprlH2lfYa0wqaoHn9uaXVbQ6UjsoqYe3ZLH7W09L1Rie5QCNK+jlaEOphQ35ZTbs62LVElqKKwvIaetULSCaGckYGOLAzLq9FN51WlO7tadPIgaQtszubrtAF8/f2tOFcTmm7dvZaIzm/HF9HC7ztzLEyMZCCtCUk0EyYi8pruX+gFw8N8W7x2BB3a+6uL6+40pwYLSq1yAurIxGBr2aF6dp4dzE3Yv64AA6/cguv39aDWqWaiSHODLzKMhxjAzkL7+7FmB6O/P34IO7s17xTx8zIgF8f7EeAsyWPLzvdprDcmKwSFu1LYUZvN8YG6hfhOgJBEHhpfADzRndj1akMJn97CFMjOT/e17uJGNZZPDDICysTAxZeRdv7iAwFvx9J474BXrrOwPp45dbuDPa148Ot8dQo1Tw/ptsVP2dbsTY15If7evPOlCAOJRUy8ZuDnDivCSquU6nZHpPLg0tOMOSTPXy1KxF/J0v+nDtA5+iQ+G8w2M+e0d0dWbQnuU3OnWOpRRSW1zL5snIvfYwMcOTD6SG6z8WWeHCwN0UVtWyKbGq6OJtezJTvDrNobwp39fPgtwf76Q127+ZkybRebiw9ktYoGqQ5igxMWXsmk+m93FrM+np4aFdKqupYe6bjS587GlEUeXdzHBsjs3l5Qndm9dVU5Lx8a3c8bM146e+of40Q1pCbXkDaGJnN3oQCXhofwM8P9OWhIV2JzCzpkMXut3uSOF9YwXB/B9aczuSDLecQBBgf5ERPd+sOdyBpHTVHUy+iqGz6oaIVbdxtTXULXO2Ct62Ex2kEkq/vDGP53AEM9bPn423xLXapyimp1jl5PLTPW+/U0C6uBEEg1N2mSecmRWUt5wsrGnVyeGdqEHKZwPzVEcCloGI3WzMyiqrYn1hAdZ0aRWWd7st3e0wuAU6WumMnBDtTVFHLo8tOkVJQgamhnO312UqRmQqdYNXHqwvzxza2LY8PcuZ0fSc3rVtpbKAzoR42rbohLqdOpWbXuTxMDeWsOJ7eqUqzZgFey7RebliZGHS400JLeP37cHyQZjJ7vTuRfb83mZQCzXW49kyWztlTWqXE2vTSF5rWgWR/2ZeSvbkxBjJB9x4vqarjjQ2xdHe2pIu5ES//E6UTKjOLKzExlOHQ4DG0NuC25iDpruOUi5RUdr4rrSPRnmNfB40DCTpOqIysF160DiTQXMeF5bWcbiHTKzJDgaOlMROCnclSVJGcrxHyxwU642ptQmRmCWczFMgETZlEnUokLqe0Q8asVou6MluZTCC03pUlIfFfRyYT+HRmT96e0jb3ykvjArA0MeCtjTE6V2N1nYrjqRdZtDeZB5ecYPQX+1h7JrNF1+OP+1M4kVbEO1OC9Jb8WNQ7XY69OppF9/S+8hfYgABnS36Z3Y+e7q13pLIyMWTpQ/3x6GLGnN9Psu5s86+nRqnihdWR2FsY8dakji1d04cgCMwf68+L4/wxkstYdE9vXKxNW79jB2FpYsicoT7sjMvTlSW3hzqVmlf+icLJ0oT/TWi5vMqgPlTbx8Gc2YO88WmhnKcjEQSB2YO9WfvkYIwNZdz98zHmrTzLoI928/ifpzmXU8rTo/w4+L9RLJszoNH3ocR/hwUTu1NZp2pTsPymyGwsjA0Y1d2xQ8cwyNcOfycLlh5N031GlVXX8eaGGGb8cITiilp+ur8PH9/ecqD/c6P9UalFvm2DMLzCMZQapZqHW3FI9fWypae7Nb8dPt+u6ofyGiUL1kYx84cj1yzm5ft9Kfx+JI05Q7vy+Agf3e1mRgZ8fkcoGcWVfLLt31fKdlMLSMUVtby7KY5QDxtmD/YGLi16d7RBCFCpxWbbwZ/LKeWn/anc3tudxff3wdvOjINJhfT1ssXRUuO26eid7u2xubrA313nmtqfM4urMDWUY2dupGszri1ra4vyCxpxwMdek0EiCAIfTA9GqVbzxoaYRpOc8holZdV1iKJIfmkNTvUCkjarKLNeuErO1yyuQNPuUxRh/dksTqYVcTKtiHX1wZlhDSZeLtam/G9CAMX1i2vtAt3D1pSM4krCY3OxNjXExFBGeGwuheU1nEwrYnyD1pUj/B0wNpBxMKmQaWGuzOjtxr6EAlIKyiksr22x9eiEYGdEEXbG5RGRocDf0RILYwMmBDkTlVnC7nN5uvE3/JOY13Tn9MT5IhSVdXw4Ixh3W1MWrI3mxPmm9z2ZVkSSnvu3B+0CPMzDpn4h2z4nxOXvEe05vpzwWI1Yp51wac+vVlzIL61u9gM9Ob+8yetubYelpeswMa+MH/anML2XG4vv74OPgzmvrovmeOpFshRVjXZErJoRkGQyAUdLY52T5uNt8Vwsr+GzmaG8MyWI2OxSfqvvnpNRVIW7rVmjBdHlAlpaYUWT16htRy+KIuH117FSLbI7vv2OtqtB3znWjrEtonpyfjn2FkbYmBnRw8UKQ7lwVUHapdV1up2XiIxijAw0DkAtIwMcMTKQNQmwzyut1n0eRWQoCPWwIcxDE36qrYsP9bCuvw40LV/9nSx17Zkvd0IqVeomXXm0VNWqmhX6shRVVNepde+BMA8bEvPKWt1NOq99j1i6af6kFTX7Hm8LtUp1m0LgtTT3fVCnUjdbIi0h0V4EQdDbul0ftuZGvDgugGOpRTz7VwQzvj9MyNvh3Ln4GJ+FJ5CjqMbEUM781ZE8s/Ks3msyMkPBVzsTua2nCzN6u7VpfNcDOwtjls8dQHcXK55fFckjf5zWfUc0ZOHuJBLyyvh4Rk+szdrXtv1qePqWbkS8NY4B1yEk+cEh3lgaG/DdXv2LzRqlirTCCuKySzl9oZjDyYXsistjU2Q2b22MJT63jPemBWPZhjb3dhbG7Hx+BG9M6tHRL6NVgt2s2fzMUCaGuLAtJodenrb8Orsvh1++hRfGBTSbkSPx38DP0ZK7+nnw57ELLXaOrVWq2RaTw7hApw53CgqCwAODvInJKuVMejHbonMY8+V+lh27wOxB3uycP1xXidASnnZm3NXfg79OZLQo2tQKMv5w1mTF+bdSsqntWpdaUMH+NsZBnL5QzMRvDrLqZAbxuWVM+e4QR1Na39QXRZF1ZzP5LDy+3Zu+f51I57PwBKb3cuO1iT2afOf079qFhwZr8uday/u80ei0/ouCIEwAvgHkwC+iKH7cWc/VHIv2JlNSVcefM0J0kxgfBwv8nSwIj83loSEtK5wvrolkW0wOW+cNa7Q7oVKLvLI2GmtTQ16/rQcmhnI+nBHCPT8fZ2KIJgE/zMOmPn+jlD5eV9/VITm/jNSCCt6dGsQP+1IIj81lZh/3RsdkFFfi0cW0PovoUinZsmMXeGN9DN/e3YvJoc1bHBWVtRxLvcgjw310b3IvO3OeH+PPR9vi2R6Ty60hLlTXqZi26DBqtciyuQOoVal1IdQmhnJcrU04mFzIg0O8yS2txrd+cRXqbo2hXOCNDbGNntdILmti0b1vgBcbI7IpLK/BvL6m16OLGeGxuRRX1DIuyJmy6jrCY/Po7mKFWrwkDoKmnv6W7o4cS73IG5MCicspZfnxdL7dkww0Fqwux9/Jgq725myPySUmq0RnG58Q7Myn4fHMWXqq2ft+NrMnd9TbE0EjtpgYypgQ5IKduTEP/HaCWT8dbfb+X98ZxrRerU989dFwAd7Lw4bv9iZTWavUtUxuid8OnefdzXH8eF9vJgRrzvHU7w4hirD12WG6LyatWPf0KD/dfW3NjbAzNyI5v5yYrBKmf3+Ye/p78s5lbVS3RefwxPIzTZ7bztyInfNH0MVcf7bD//6OYnNUNlvmDdV1UwHNdfjyP1FYGBvorsOPpodw18/HuHPxMQBuC7nUkUI7odTXncPJ2oS80mqOp15k5Yl0HhnWlRB3a4LdrBjTw4kvdyYyIciFjOLKRuVrAF5dzDCUCyTnl3MkuZB7fz3O5RvKFsYGbH9uGJW1Ks4XVvDe1CAW7dVcxzN6N76OO4tfD53nvc1x/HhfHyYEO1Ndp2LKd4dIrXdOGcoFNjw1VG/QrZbk/HKdoGtiKCfYzZodsXnMH+uvN2uiJSpqlNy28CDmRgZsfHookRklBLlaNQpNtDA2YHg3BzZEZDFvtB82ZkacvlDErJ+OMXdYV54c4UdqYQW393En2M0KuUzg79OZCIImJD/Mw4ZtMblcrLd3O1ub4Gxl0sQl9OxfEexNyCf8ueGNJu51KjV3/HSE4oo6tj83rMmiRJvx5lvfJbK3py0qtci26Fxu76P/vO5PLODBJSc075GgezQ3/ngUSxMDdjw/vN07/qIoMvePU0RmKNj5/HAcW2mzHR6by2PLTvPGpEDmXLbL98vB83yyPZ5/nhjcId9bEhLt4e7+nqw5ncn2mFx6ulszZ6gP/bxt6eNli42ZESq1yI/7U/hqZyKnLxTzxaxQnShcUaPkuVUROFga8+G0kOsmDrUVJysTVj82iCWHz/NZeAJjvzrA21MCmRbmhiAIRGYo+GFfCrP6une4s6AttFX462isTQ15cIg33+1NZktUDhU1SpILyknJLyeloJz0okpaMhxM79W+Ur/r9TpBMyf59u5eqNVherthSfy3eW6MP+vPZvHJ9nh+ur+v3mMOJBZQWq1scW13NUzv5cYn2zXrHkVlHYEuViy+v2+7nXHP3NKNNacy+XpXEl/MCm3y8xqlih9cB5JvZMEnrbiPtNwa7MKHVuf4alcituZGhLpb6/3cV6rUfLsnme/2JuNsZcKqxwZhb2HM3KUnuf/X47w9JYj7BnrpfY7UgnJeWxfD0frqkZUnMnhpfACz+nq0+NlRXqPkrxPpfLj1HCMDNJ04m7vGXxofwN6EfP73dxTbnxveYo7VjUSnjFIQBDmwCBgLZAInBUHYKIpiXMv37FieH+vPED/7JsF444OcWbQ3mYvlNc3WWO5NyNe5YxasjWblIwN1J3/pkTQiMxR8c1cYtvWL3sG+9ux+YQRe9YsPbXlHZIaiQybi2h34cYHOpBZUsPJEOhU1Sp24AhqxSCscmRrJsbcw4mRasa78451NsQzrZt9sCOPuc/ko1SITLlOU5wztysbIbN7cGMtgP3t+OZiqc1u8ti4auNTFDODJUX68vj6GT7cnAJccRDZmRmyZN4z80sY75U5Wxk0WZjKZwJKH+umCr0FTmlenEqlTKZkQ5ExpvYD03Z5kPLqYEnjZef749p5U1aqwszBmoI8dViYGbIzMxshARoBz8+q2IAiMD3LmpwMpiOKlkpqu9uZsfmYoxRX6FeivdyXy/pZzjAxwxMHSGLVa4zYZ6e+IqZGc4f4O7Hx+OHml+p0Cn+9I4N3NcQz3d2hWTGmJhgvwUA8b1CLEZJXSv2vLrXcziir5LFxzrt7cEMsgX3t+PpCqK8lauDuJ/03oDsCuuDyNWBfc+D3i62BBQl4ZL/8TRZ1K5I9jF5gc6qpr+1tSWcebG2MJdrPilQmXdvsUVbU8vyqC9zfH8eWdYU3GdiCxgH/OZAKa63DVo4N01+Gfxy5wNl3BV3eG6q7jAT527Hx+hK4cLaiBGNJcCRto3r8x2SUsWBuNRxdTnq8vaxQEgfemBTH2ywO8ui6ajKJKel/W5tdALsPbzpzY7BK2xeTg1cWM96YFI6AZZ1Wdimf/Ossb62MI87CtL3N1Jjm/nFWnMtos8l0NGUWVfK47xzEM9rPjp/0ppBZU8OH0EFxtTHhxTSSvrI1i3ZND9H4xiqJIcn55o4nKs6O78eCSkyzam9KkFLQ1vtyZqCux/X5fMtFZJdzV36PJcfPH+jP5u0N8uPUc700L5uV/olGpRX4+kKorUQzzsMHMyAB/J0vO5ZTi72SBpYmh7tqtrFXpXIehHtaNHEjhsblsqe+K9Oq6aP54uL9uEvLrofPEZGlKKT4PT2giimo7sGkdSMP9HQjzsOGDrecY1d2xyXVcUaPk1bXR+Niba0p7XnhRc/tHn/DsX2d5c0Msi+/v067Fb8Oyzbc3xfL9vX2aPbakqo431sfoXs+4QCedYJZWWMHXuxKZEOQsiUf/cm6EDbwrQS4TWPPYIEREvYK0XCbw1Cg/hnWz57m/Irj3l+M8OsyH+eP8eX9LHGkXK1gxd+A1detcDXKZwNxhPtzS3ZGX/o7i+VWRbInK4a3JQbywJhInKxNenxR4vYd5zXl4SFd+O3Sep1ZoNpyMDGT42JsT5GrNlFBXPO3MsTA2wNRIjqlh/R8jGSaG8iYhvv8GJPFIQh8OlsY8MdKXz3cksvhAClPD3HR5s1o2RWVjY2bIED/7ThmDubEBswd58+uh87w2sQcPDfFuU37S5ThZmfDAIC9+PXSeJ0b66DaDK2qUrDyRzi8Hz5PrMYRhijRGdJvYpsc0MpDx0vjuvLo2mmmLDuNtZ8aUMDemhrnq1p1phRU8tyqCiAwFM3q58fbUIF1lwrqnhjBv5VleXx9DQm4Zb04O1JXi1ShV/LgvlUV7kzE2lPHB9GBC3W14d1McC9ZGs+J4Om9PCWoyV7pwsYI/jl5g9ckMymqUDPWz5/t7e7dY4mdqJNeYD346ykdbz/HB9JB2/36vB521aukPJIuimAogCMJfwFTgmgpI5s3UhI4PcubbPcnsOpenN/CwokbJ6+ti8HO0YPYgL97YEMuqUxnc3d+TzOJKPt+RwMgAB6Zcpvg2bInoZKV/p/tK2R6bSy9PTder8UHO/H4kjf2JBTrHkyiKZBVXMaCBWOBua8b+xAJMDTXdP55cfoYPtpzjszuaqr/a53CxNqHnZW4gA7mMj2f0ZOqiQzz711kOJRUyFDpnqgAAIABJREFUo5ebZrJ3WrO41wYRA9zT35MNEVksq2//qF1cAfg7WbZqTdRiaWLYSFjSluWZGckZ2s2emjo1BjKBLEUVjwzr2mTRZW1qqFtgGspljAl0Yu2ZLIIvcznoY0Kws65rQFgDpT3ItfkwQ2drEyZ+c5B3N8fx7d29iMhUkFdaw4QGYks3J8tmu2k4WBoz6duDzYopLaFUqYnOKuHOfpoFuHbhHJFR3KKAJIoir62PQSbAT/f34Yk/T186x73dkAkCiw+kMjlU06Fke2yuXrHO19GClfVh65/N7MnXu5J4ZW00W+YNxdhAzkfbzlFUUcuSB/sR7Nb4d5iYW8bCPclM7eXGCH8H3e2VtUpeWx+Nj4M5Dw/pyuvrY1hxIp37BnqRraji0+3xDPd3YFpYY8eWn6NFo/ecFp0DyaKpOOdsbcK2epF22Zz+jQQdF2tTXp4QoHPOeXRpOkH1c7TQ3X/FIwN0u+JaXhwXwLub4ziZVkxvT1scrTTX8dKjFziQWMCEYJcmj9lRiKLIq+uiG53jeSs15/j23u66ThdvTQ7imZVnWXL4PHOH+TR5nMLyWkqrlY0+50YGODItzJUf9iUzqadLm6/tyAwFSw6f576BnhRX1vHN7iREsfG1piXQ1YpHhvnw4/4UiirqSM4v55u7wnh/yzk+C0/QuI3qP7PC6kuHtRlnIW7WyARQi+huC/OwJTw2j+KKWuRygTc3xNDd2ZI7+nrw3uY41p3NYkZvd9IKK/hqZyLjg5xwsTZl6dE0poS5NZowpBSUY2tmqBMw5TKBj28PYdLCQ7y/JY4vZzW+jr/cmUiWooo1jw+in3cXKK1vQxvk3MTp2RYKy2t4b0scfbxsGenvwBc7E9kZl9fsDvwn2+MpLK/hx/v68MLqCJ1gBhrxzMhAxjtTOz9rRaLzuFE28K6U1r6bAXq627B53lA+2HKOnw6ksj02lwsXK3l8hC+DfK992dXV4uNg0ciNNPLzfajUIksf7q83mPZmx9bciJWPDuRieS2+Dha42ZpeV6eQhMT1Ys5QH3aey+fDrfF8uDWeMA8bxgc5My7ICVdrU3bG5TE1zK1Nn5tXyvyx/jx9i99Vl8g9MdKPFcfT+XJnIu9PC+H3I2ksPZJGSVUdg3zs+PT4MoaVpCHInmrzY87s487YQCfCY3LZEJmlabC0O4kQN2sGdO3CihPpGMgEvRU4ViaG/Dq7H59uj+enAxpjxPf39iYpv5wFa6NIKahgUk8X3pwciKOlZo276rGBbIzM5sOt57j9hyPM6O3GKxO6k5RfzpLD59kdn49cEJgY4sJDQ7zp5dm2zbi+3l2YO7QrPx88z4RgZ4Z1c2j9TteZzhKQ3ICMBv/PBAZ00nO1myBXK9xsTFm0N4WDSU1rDrMUVWQpqvj78UH08bJlS3QOH245x+HkQl3OzfvTglvdJQ7zsGF/YgFPr2hattMexHonySu3alwg/bxt6WJuxOc7Ethav3OuFkXKapSNyi88upgRkaFg/lh/xgc589hwH77fl0JZtRIDedOx708s4J7+nnpfV4i7NXPq39xdzI14fVIgMkHj1Cosr20kIMlkAh/NCGHiN4dQiyJeeoIsrwTtaxsV4IiJoRwTQzmDfO04mFTYpjrc8UHOrD2T1SbrZU83a5ytTFBU1RLQxkWxn6MFT43y46tdiVTXqchWVGEgE9psPw9wtuSJEb4s3JNMRa2yRcX6cqrrVFTVqXSdp+wtjHG3NeXPY+m6DlT6qKhRciCxgLcnBzI+yLnxOb4tEAHYl5DP43+eJsTNmsPJhcwe5N3kPaIVbMYGOjGzjzv2lsY8tOQk9/9ygi7mRmyPzeWx4T5NxCPQONY2R+fw0prIRmJXtqKKjKIqVj06kP5du7AtJoePt8VzLPUiSXnlqEX4oA3XoRatA0lfCZvWQTejl5veD+57B3ixPiKb0xeKdUKmvtc/q697E/EIYPZgbzZEZhOZodCVWvbv2gUbM0M+C09gc1ROm17DlVBeo+RgUiHvTAlifJAzDw/pyi+HzmNnbsTrt11yg03q6cK6s1l8sSNRr/BdUqVx3l0uzr0xKZD9iQU8+scpvedXHxEZChwsjfnfhO5U16k4WG/DDm2mtPS5Md3YFpPDrnN5TAl11UyY5DKeWH4GP0cL3SIrzMOalSfQuY3MjTWupAsXK/F3qi+l9dCM8ZmVZymrUVJQVsPi+/sS4mbNlqhs3tkUx574fM7llGIkl/Hu1GDMjQ3YEZvLvJVnddcYwPHzRU1+H92drXh8hC/f7U2moubSdSyKsC0mh3sHeGrEo8vQOj1fWx+jc0S1RmpBBRU1Sj6eEYK3vTlbonNYsDaKDRFNF9Eqtci2mFzmDu3KhGBn8kq789bGWB76/SSiCEdSLvLh9JAmO5wS/zpuiA28zsbMyIAPpocwKsCRl/+Joqe7dbtdkDcSDd1Ib2+KI9DFqtGGyn+NtgSSS0jc7JgayVn/5GCS88vZEZdHeGwun2yP55Pt8ThaGlNZq2JyaOdtQIJmTWciu/p8pS7mRswZ5sPC3UnsjS+gqk7FuEAnHh/pq3H2r3jlih7X2tSQWf08mNXPg7zSajZFZrMxMptfDp1nkI8dX8wKxbUZZ6JcJrBgYg/8nSxZsDaa0V/up6iiFjcbU5Y81I9RAY3Xb4IgMDXMjTE9nPhubzK/HjzP+rNZqEVNHMczo/y4d6DXFc2jXhgXwO74fF7+O4rdL4zE1OjadL+8Uq5boZ0gCI8CjwJ4ejbf9rSTnpvHR/qy5PD5ZrvxvDyhu6785uMZPXlhTSRxOaXIBI044q5nEXk503u7kVxQ3iEdf4LdrJgaplFPDeQyHhvuw6pTGY0eu7uzZaPF663BzsgEdC10543uRlJ+OYn5+sOafezNde0F9fH8WH8yiqqY1c9dV5rx2cxQlh9P16mzWvwcLXlzciDxuaXtEkJawsPWlLGBTo1aAj88tCsWxgZNyor0McLfgdHdHZs4x/Qhkwk8NcqXLEV1u+yaT4z0JSGvlPj6VsQPDvZu1AmsNZ4c5UdCXhlJV9DRrKe7daPzf+8AL9aczmj1/Tejtxv3D/IGLp3jO/t56M7x53eE8tHWeOJySvF1sGBWv6bvkRH+Duz1s+fdqZqOO6MCHHl6lB9bY3IorKhhTA9Hnhujf3JvYijny1lhvL4+uslYXxofoAvy/Gh6T+avjtBdhx/OCG5X0GSwmzXDutnrfa8M8bNnuL9Ds+UCMpnAJ7f35M0NMXrLe8b0cCIqs4RXJ+oP45TLBD6bqbn/1HrHlIFcxuMjfFl9qvVzdLXc3ttdV+M9f5w/mcWac2zboMRKEATenxbMc6simh1PL0+bJgKsnYUxn98RyqfbE9r8OiyMDXhjUiBWJoZYmRjy6cyebIjIblZs1r5Hvt+bzJuTNedoQrAzDw72xrPBe2BUgCND/ey5pYFoe99AL7IUVbrruJeHLf27diG7RFM+9+rEHrrX9OnMUF76W/NZLxcEPpnZUzcR+GJWGO9ujmv0Gi1NDHTnsyFP3+JHUn7T63hoNwdert8IuBwDuYzP7wjllX+i2vx7FIB3pgTrXI2f3xHKq+uaXkdaRnd3ZP44f93vJSqzhLMZmhLnO/t6cJeea1viX0ebNvCu5xysIxkT6MQhv1sQhLa5l250fBwsdK5ACQkJCUEQdNULT43yI1tRxa5zeeyIzaOrvTkDuv57XJdzh3Vlf0I+vo4WPDHCt9mKjCvFycqEucN8mDvMB0VlLVYmhm0qEb29jztdHcxZ8E80d/Rx59kx3VqMljA3NuDlCd2Z1deDP46mEeRqzaSeLlfl0jIxlPPFHaFkK6pvePEIQGipHeoVP6ggDALeFkVxfP3/FwCIoviRvuP79u0rnjrVfDCxhISEhITETcfIkZq/9+27nqO4ZgiCcFoURf1poBIdgiAIM4EJoijOrf///cAAURSfbu4+0hxMQkJCQuK68h+bD10POnIO1lkOpJNAN0EQugJZwF3APZ30XBISEhISEv8+pImSRMeTBTS0krnX3yYhISEhIXFjIs2H/lX8n733jo/rKvP/P2d6U5lRsy3JVrUd2+mJZac6jRRKIMB+CWEhkISFhYT9sr8t7C6wLMuXkATSCyEE0jaQhUACqe6OY1txr7K6LI3aSJrRFE2fOb8/7j137jRpRtZII+m8X695WZ655dxzz7n3nOd8nufJid6XUhoG8G0A7wFoAfAapfTk5HtxOBwOh8PhcM4CaQGPEKKBsID35hyXicPhcDgczgIhJy5sWReCEDeA1gw2LQKQPiLwwty/FMDoHJ07X/dndTJX58/X/Serl/lQ/lzsz/tP+v2z6Uf5WP5c7Z+qXuZT+XOx/3SeuanOv4pSOrNBDzhJEEJuAfAIACWA5ymlP5li+xEAYkrASdtKut/4PnwfAFgOoDdPy8b34fvkyz7p+kk+lI3vs/D2kbe3FZTSmcnOQCmd8w+AAxlu9+xZnmfe7c/qZj6WPVf7Z9pe8rX8udp/snqZD+XPxf68/6TfP5t+lI/lz9X+qeplPpU/R/tn/cxNdf6zPQ7/5P4zWVtJ9xvfh+8jfj+Sx2Xj+/B98mWflP0kT8rG91l4+6R9Lp/NZ76lrPjLIt5/Pped78/35/vz/fn+83f/s2Wuz8/JnMnuVbrf+D58HwAYn6Xz8H34PvN5n3T9JB/KxvdZePtM9lyeNvniwnaA8swsKeF1kwyvk9TwekmG10l6eN2khtdLMjNVJ7xuOZyFC+/fHM7U8H7CmU1y1d7yRYH07FwXII/hdZMMr5PU8HpJhtdJenjdpIbXSzIzVSe8bjmchQvv3xzO1PB+wplNctLe8kKBxOFwOBwOh8PhcDgcDofDyV/yRYHE4XA4HA6Hw+GAEPI8IcRGCDmR8P29hJDThJCThJAH5qp8qSCEVBNCthNCTonl+474/Y8JIccIIUcIIe8TQpbNdVnlEEJ0hJCPCCFHxXL/SPy+lhDSTAjpIIT8nhCimeuyyiGE3EQIaRXL96/id4QQ8hNCSBshpIUQct9cl1NOqnY9D9pHunZtIYRsJoS0i/+a57qsciYp9+/Fuj5CCOkhhByZ67LKSdOufy32z2OEkD8QQkxzXU45adp1vrePVGXO67YBpG/Xst//kRBCCSGlOS0HVyBxOBwOh8PhcPIFQshVADwAXqSUrhO/uwbAvwP4OKU0QAgpp5Ta5rKccgghSwEspZQeIoQUADgI4NMArJRSl7jNfQDWUEq/MYdFjYMQQgAYKaUeQogawG4A3wHwXQCvU0p/Rwh5BsBRSunTc1lWBiFECaANwA0ArAD2A7gdQBOAawDcSSmN5mEbSdWuC/O8faRr13cCsFNK7xcNHWZK6b/MYVHjSFduSukp2TY/B+CklP7XXJVTziTtWv4M+QUAG6X0/jkraAJp2vUDyO/2kVTmhN/zqm0wJmvXhJBqAM8BWA3gYkrpaK7KMSsKJNES9rLs/ypCyAgh5K+zcf75ACHk02I9rZ7rsswVvJ1kBiHEM9dlyEemqhdCyA5CyKIJXMifKekhhPy7uHLDVn2b5rpMcw0hpIoQ8oa4WthJCHmUTKI4IIT8AyHEMJtl5MSYjyu+2UAp3QXAnvD1NwHcTykNiNvkjWEAACilg5TSQ+LfbgAtACrZxE/ECCCvVm6pAHt/qsUPBXAtgD+I378AwWiQL6wH0EEp7aKUBgH8DsCtENrIf1FKo0BetpGkdj0P2kfKdg2hvl8QN8u39jFZuQFIhtO/AfDq3JQwJSnbtcx4RADokX9tJNXzOt/bR6oyA8jbtgFgynb9MIB/xiy0j1lRIIkTuw4AGymlPkLIzQB+CsGi+onS0lJaU1OT83JwOBwOh8OZGw4ePDhKKS2b63IsBGZyxZePwTgcDofDWdjM5BhMNRMHyZC3AXwcwmrG7RCselcCQE1NDQ4cODDjJzzQY0dztx3fuqZhxo/N4cw3hpx+dI14cFlDTt1iOZw5weUPYV/nGD62dslcF4WTBkLImbkuw0KBUrqLEFKT8PWtADaJf78AYAeAKQ1IuRqDcRYHHTY3vMEIzqsqnuuicDgcDicNMzkGm80g2r8D8AVCiA7AeQCac33CPZ1jePC9VoQi0VyfisPJe37zYTfueZFPEjgLkzcO9+PrLx3EoNM310XhcOaKCkrpoPj3EICKdBsSQr5OCDlACDkwMjIyO6XjLEjuf6cV//an43NdDA6Hw+HMErNmQKKUHgNQA0F99PZsnNOgUQIAvMHIbJyOw8lrXP4QJoIRRKJ55TrN4cwILn8YAHBmzDvHJeFw5h4qxCdI+7CnlD5LKb2EUnpJWRn3KuRMH6cvCKcvNNfF4HA4HM4sMZsKJAB4E8BDmKWgVHrRgOTjBiQORzKkeoPhOS4JhzPzsHbdZ+cGJM6iZVjM0MIyteRVAGHOwsTtD8Mb4ONsDoezANi0SfhwJmW2DUjPA/gRpXRWtK4xBRKfMHM4zIDEDaqchQhr330O7sLGWbS8CeAr4t9fAfDGHJYlie2tNnTY3HNdDM4M4wmE4QnwcTaHw+EsFmbVgEQptVJKH5ut8+nVQoxw7sLG4cQMR7w/cBYirH1buQKJswgghLwKYC+AVYQQKyHkLgD3A7iBENIO4Hrx/3nDv/zhGJ7c3jnXxeDMMJ5AGIFwFGEeb5TD4XAWBbOShY1Sakrx3Q4IGUJyBlMg+UJ8wszhMCUeNyBxFiIxBRI3IHEWPpTS29P8dN2sFiQLXP4Qhl3+uS4GZwahlMIjxp+bCEZQpJ9txwYOh8PhzDYL+knPg2hzODEkF7YQl5pzFh6SAcnOXdg4nHwjFInCH4rC5g7MdVE4M0ggHEVYTMwxwd3YOBwOZ1GwoA1IsSDa/KXG4TAlHjeochYizDA67PYjEOZtnMOZa57Z2YnnPugCEDMucAXSwsLtj42vebxRDofDWRzkzIBECKkmhGwnhJwihJwkhHxH/N5CCNlMCGkX/zXnqgwGDY+BxOEwvDwGEmcBw9o1pUA/D6TN4cw5O1pteP/kMICYocHtD8PPwwosGOTBsz08ExuHw+EsCnKpQAoD+EdK6RoAGwB8ixCyBsC/AthKKW0EsFX8f07gLmwcTgwfz8LGWcD4ghEUG9QAeCY2DicfKNSp4fKHAMQbGmwu7sa2UPDIFUjchY3D4XAWBTkxIBFCqgH8D4CXCSEnAXwNQAuASgC3AnhB3PQFAJ/ORRkAuQsbnzBzFjeUUklezoPKcxYivlAEKysKAAB9PBMbhzPnFOjUkvIozoDk5m5sCwV3ICT97eEGJA6Hw1kU5EqBlKg++g6ASwE0A6iglA6K2w0BqMhRGWBQcwUShwMAwUgUYpxL3h84CxJvMILaEiPUSsIzsU2XTZuED4czAxTqVXD5RAWSX25A4gqkhYL8vk5kEQMpEqV48L3T3JjI4XAWDSPuAB549zQibEI2j8mJAYlSOkgpPcT+C8AC4FlKqSthOyr+nhNUSgU0SgW8POvUosYfiuBo3/hcF2NOkavweFD56XGo14FwJJr29yGnH71j89twMej0zVv1ji8YgVGrQmWxHtYMMrHZJ4LosLlnoWSZ4w9FcNzqnOticDgzQqFODXcgjEiUwi1Tp/BA2gsHuepoIosYSF0jHjy5vVOKkcXhcDgLna0tw3hqRydah/Jr7DkdcpqFjRCiBvAWBCPRL8SvhwkhSwkhXyeEHAWgHxkZyVkZ9Bold2Fb5Lx2oA+feepDjHoW76qnXHXEFUjZ02f34ran9mDzqfSD3f/483Hc++qhtL/PB77/55P4x9eOznUxsoa5aBo0SlSa9RhwTm1A+sXmVtz+q+ZZKF3m/OGgFZ9+6kPYJ4JzXRQO56wp1AsxyTyBMFcgLVDiDUiZL06Ni8o0/qzjcDiLBfbcWwjKy1xmYSMQYhytBnCXTH30JoCvUEqfBfAqgMfKyspyVQwYNEo+YV7kdNo8iFLgzDxXh5wN3IB0drCH/WQTn86RCXSNTEAQVs5PbG7/vHyxBcKCi6Zeo0SxXgOnLzTlPp22CYy4A3D7p952trC5/IhEKc6MTcx1UTics6ZQJ2TCdflC8Iixcor0ah5EewHhjnNhy3xsMe7lBiQOh7O4YM+9hfAOzKUC6SoAtwOIAPgBIeQIIeQWAPcDuIEQ0g7gevH/OUOvUfKgwYsclpHJuojjosS7sPH+kC0uX1j8N7WxIRql6Hf44A6EMzJe5CsuXwgu//xzcWRt2qBRolCvTnuf5LA4SX0ZuLvNFqzueRY5zkKgQCcokFz+EDz+MAgBakoM89JIzUmNJxCGRqmAUaPMToHkFQxHY1kakPZ1jeGJbe1Z7cPhcDj5gNMnPO8WwjswV1nYCIC7ADxKKV1GKb1A/LxNKR2jlF5HKW2klF5PKbXnogwMA3dhW/SwmC7zNbbLTOCVxT3ycoNq1jCjUDrj0LDbj6AYHymfDBLZ4vSF4PSF5p2KirVpwYCkgssXnvQawpEoBp3CCzyfAm6z9rWYn1WchUOhnimQwnAHwjBpVSgv1GGEu7AtGDz+MEw6FQxaVVYGJKfkwpZdW/j9/j48trVj3r2jOBwOR1IgLYB3YK4USJcD+FsA14rKI6Y+mnUMalXc5JmzuKCUwiqu5s/nif3ZIjca8SDa2eMS3Zxcadyd5G0rnwwS2UAphcsvBLydb26OrE3rNSoU6dUIRqIIhNMHPB90+qUsGPlkrGHKqcWsluQsHApFBZJbVCAVaFUoL9DyINoLCI9oGDRpVdNyYRvzZKdA6nf4EIxE42IvcTgcznxgIbmwqXJxUErpbgAkF8fOFr1GKUllOYuPUU9QcmGcrxP7mYCp8Ap0qnlnHMgHnN7JFUhyI0Q+GSSywRuMSEYVpy8EozYnr4ecwNq0Qa2UJq1OXwg6tTLl9vJ7ZM0jd7GYAil/ysThTJciPXNhCwuGBp0K5QU6OLwhBMNRaFQ5zePCmQXcfsGApFBkG0RbGJdnGwOJGdftE0HJRZLD4XDmAzyI9jyCB9Fe3DCjUaFOtagNSKwPlJq0vD9MA0mB5Es9QO5zeEEIYNLO33YmN46lU1rlK15ZDCRp0jpJHKS450IeGfxYvc/XNsThyCmIC6LNXNi0AICRRZwVdTZ4akcHXj9kzfl5PIGQ4MKmyc6Fja3EO7zBjN3RQpEohkT1Wraxkzic2SQcieK7rx3BMev4tPbf3mrDv//pOHfVXGA4RUHLcIICaVfbCP7zzZNzUaRps+ANSHpuQFrUsMlhU10JBsb9CEfSu7UsZJiLT4lRw2OCTYOpYiD12X2oKNChptQwb9UjcqMRU1zNF1ib1otBtIH09woQ7pdSQXDxCnNeGWtYmQfGfZIajMOZr5hEFaPLHxKUKjo1KkQDko27seUMSime3dWF3+/vy/m5PAHBNVFwYcs+BlIoQjNO3DDk9IM9Fu1Zur5xOLPJ8X4nXj/Uj/dPDk9r/78cHcArzb3Ydto2wyXjzCVMgTTiDsQZB988OoDf7unBoHP+zB8WvAHJwLOwLWqYe8rGuhJEolQKnLvYYEbUEpMG3hCPHZAtUha2dDGQHF5UW/SoNhvyyiCRDXKj0XzLxBZTIKlkbjOTK5CWFulQU2pEn92XN6t8Lp8wGQtFqLTSzuHMV1RKBUxaFdyiC5sQA0kHIHkFljNzjE0EMe4NoX8895MRFkTbqFVhIpB9DCQgczc2ubtxtq5vHM5s0twt5Ieabh/sF9v6Y1vb82Z8wjk7AuEIvMEILEYNgpFo3CInu9/NXTnNKzajLAIDEg+ivZjps3tRYtRg1ZIC4f/zdHJ/trAJtoUrkKbFVAokq92LarMB1RYDrA4fovNQPSI3Gk2m3slH2DPeoFGiUHSbmVyBJN4vswG+UCQv3CGC4Sh8oQjWLCsEMH9jaXE4cgp1KsGFTYyVU14gurAtgBgQ+Ur7sAeAkCwg16pr5ppo1CizjoFkNgjG/kwzsckn4/nwzOZw0tHcNQZg+gkxrA4fCnQqHLU6sbNtZCaLxpkj2Ji0sdwEID4Tm3VcaCfN3WOzX7BpsuANSHq1Ev5QdF5O6DhnT5/DiyqLMFEEAOs8dS86W3yhCHRqBYwaHkR7OjA1iycQTnqWBMNRDLr8YjvTIxiOzsv4HnExkOaZAYmpTPVxMZDST2b6HD5BMWYRngv5YKxhbWztsiIA+VEmDudsKdCp4fKHpCDaJSYtFGRhpDHOVzpsbgBAJEoxnON6dscpkLKLgVRXJkykMs3ExibjGpUCY/PwHZvvnOh34oZf7MSmB7fjC8/uRXCSTKac9ESiFAd6HABiypJsCIuxvr7YtByVxXrc++phbHpwO/77r6dmuqgzBqUU9756GDtauctdOpjKf2WFIGhg2UgjUYrBceFvrkDKIwwaIQsPd2NbnPTZfag267G0WAcFWcwKpDAMGpXk0sklsdnBjCuUCgNmOQPjPlAKVJv1qMojg0S2yI1G80+BFAuiXaCbPAaSPxTBiDsgKsb0AASD0lzDyrt6aQEIyY8ycThnS6FeBYc3FkRbqSCoKNRhYJwrkHJFu80j/W3N4bsoGI4iEI6iQCsakIKRjBZrw5Eo3P4w6kqNADJ3R+t3+FBRqEWZSctd2HLAhx2jaLd5UGnWY1+XHUenGQB6sXNqwAV3IIzaUiOGXH6EslQBDrn8iEQpakuMuP+z5+La1eUghOCNowM5KvHZM+4N4S9HB/DWscG5LkrewuIfrawQFUiiG/ewy49wlKK21Iiu0Yl5Ex9w0RiQuOpi8RGJUgyM+1BtMUCtVGBpkX5aE/t0EtRQJCpZkOXnPNI3jv09dmmFjFIad4wRdwD+DAyao54A9vfYkz4OceBEKZ3Sv3rUI5zLG4xAr1ZCr1GBUsAfSv1CGxifGferQDiS9BAMR6IYmkYMqlT1ZZ8IzqprqssXigsIa58ISvdju7jiUi2v+0anAAAgAElEQVRTuuWLodIfisSlC7U6vJLxkF3D4V4HwjJ/bKNGGRc/aCIQltocwxeM4ICsTR63OqXjjriFdnu0bzwpEPSg0ye5VLj8IezvsePgGQcC4dT9IV3fC4bj+x57vutUSmhUCujVyrQqKnbMuPuVwXPB6QtllZ2uf9wX12+n6qusvKUmDZYW6qY18ctELk8pxYcdo3wFnzMrFOrU0nOfZWWrLNZP27WDMzXtwx5YjBoA8XGDZhqmOGIubEBmi7XMXVpSIGURA6myWI8Sk4a7sOWA/nEfCnUqPHH7RQBiblic7GBuSLddWIkoRdbjXqZaqjTrcWVjGR79woX49AWVGc8d5gI2vpEbrznxsLhvjaICialwWd3ddmElgFj8rHxnwRuQ9BphwMLjviw+Bp0+hKNUmiRWW/RZr+qfGnDhip9tx/6e5A796ke9uOahHXGGjDeO9OPTT36Izz+zF3/30kEAwI62EVz5wHb0jE6AUopbHvsAT23vmPLcd71wAJ9/Zm/S577fHQYAvHtiCFc/sH3Sl9OtT3yIh7e0wReMwKBRygyqycaXMU8Amx7cgTeO9k9Ztql47oNu3PDwrrj4C78/0IdrHtoBTxYyd0opPvn4bjy+rT3u+9uf3YefvNVy1uXMhGiUwh0Io8osqFWcvhC+9coh6X786C+nQAhQV2qUtsmXTGzP7OzELY9+AEopese8uOqB7ZLB6xsvH8Tnn9mLzzy1B3863A+XP4QCrQrFBk2ceufHfz2FL/26Oe64P3+/FZ+TtclPPrEbuztGAQB3vbAfn39mL2598kO8cyK2GuX0hbDpwR34o5ha+nuvH8fnn9mLzz69B8990J1U9uNWJ6742XYc7nUk/fbi3h5c9/OdkuHJFwxDr1ZCoSAAgCK9etKMeYDwPDBqVbAYNRlNZr/9P4fwj68dnXI7QGi3n3p8d1y/vfWJDydV/rHyFunVqLJkH4z95IBQXwfPTD74GHEHcMdzzXj7OF8p5OSeQn3MgMSM8FVm/awEeF6stNs8uLKxFMD0g/hmAnuXm3RqGMV7m4kb27iYynppkQ56tTJzBdK4D1VmAyxGDVcg5QCrQ6hfs1GD1UsK5s1ENt/Y12VHTYkBF68wA8h+QZEZfavEuYvwtzC2HMjT5yYbQ3XYPNzDIQ3suVdZrIdJq5IWd1nd3bhuCUxaFfbNE8PtgjcgSRNmnnlq0SGfKAIQMmRluarfNizEEjg96Er6rWXQBW8wEmcsaBv2QK0k+NiaCskSf3rQDUqFY41NBDHiDuD0kHvS81JK0T7sxs3rluDlu5qkz9Ury6QAmS1DboSjFB1pLP4uv5CFpXXIDa9oQNJPosjrGp1AMBLF6cHJy5YJp4fccPpCcfEXWgZd8IUiODM2kfFxnL4Qhlz+uDKFIlG029xT1uFM4Q6EBRc10T3N5Quh3ebBtavLpfvy1r1XorxQB51aifICbd64sLUMujDqCWLEE0DbsBtRCrSIddk+7Mb151RAo1Kgw+aB0xdCoV6NQr06Ln5Qy5AbbcPuODVRm82D+jIjXr6rCc986WLxeB6x3Xpwy7lLQEgsmCsAnBmbQCAcjTv/pTVmlBVoU7bhliGhz7WmuM8tg254AmFppY61b0ahXjVpxjwAMcOyWZ+Rwa9l0I3TQ8nPgVTYJ4IYmwjiKxtX4OW7mvC3G1Zg1BOY1DWQrcoX6tTisyq7gSKrp5Yp+i+7fuZuyeHkkgKdCkFxIcHEFEhm/awEeF6MOCaCGPUEsG5ZEcoKtDlVejF3bpNWBaNWeP5OZLBYy1w5igzqjI1BTFFeZdbPmgHpw45R/M0ze9MqZNPx3deO4KW9PTkp09ng8ofwqSd241CKRRlAUL5UioaKploLDp5xZO1+NR85Zh3HrU/shjtDhfEP3ziB7//5RMrfKKXY32NHU22JVJeTqQCP9I3jU0/sjhsbsO2XFumk79ix8tXwzsrsCYTjMsiOegL4+GMfoCXFHGq+8Iv3W3H/O6fP+jhO2XOvvEArubCx2LzLLYLRcb4Ybhe8AWmyCTNnYZM0UbQYYMtSAsoMAamUS2yCJzcW9Dm8qCzW4+IVZsnlhZWjz+Gb9HhyBBetCC6pseCKxlLpc0F1MYbdfgTCEcnFJd3qhnQuuxe+YAR6mQIplcy8b4rjZYP83LHvfHH/ZnYcX1KZBsf9iNLZizPEXItYOxp2+zHqCeCi5cXSfWGZswChneWLC5u8zlmZrA4vPIEwHN4QLl5hRlWxHn0OL1y+MAr1ahTpVXHuX1a7F6EIjXMZs9q9WLWkAFc0luLGtRXQq5Xoc3gx6gnCF4pgfY0FSwp1cfXAysLc6PrsPqyrLEJtqTHlvZysfcv7FACpfTMmVyB5oVUpUCZmg8pE7eMLRjDqCWBgPLNJLyvXFY1luKKxFJc3lIjnTt/25Qqkaote6ueZkqqvTLZdtZkbkDi5p1CMSQbIFUiGWQnwvBjpGBGM8Q0VppwrvZgCqUCnglGTuQKJBZMt1qszdkezuYU4IZVmPUqMGoxlmLntbNjSMoyPeuzoGsl80SsYjuLNIwN4+/hQDks2PfZ0jOGY1Yk3jyTH0mGhFpjSpamuBN5gBMf7nbNdzFln++kRHLU6caJ/aiNH65AbL+w9g5f2nUlpFBl0+uH0hXBuVRGWFulByOSBtN88MoBjVif2do5K3/WPe1FeoIVOHRvTVGVgjJpL5OWSLxzubB3ByQHXvFY8v3F0AG8eOXvPjHFvCEoFQYFWhbICraRA6h/3odQk3O/bLqrEzeuWzIvEXwvegGQQOyB3YVt8WO1eEAIsKxYVSJbsH8DSRDXFBDc2iY39ZrV7hdgqlljWN3Y+q8Mb+9vunVTmySag1eJLg1FtMYBSYGDcLx0rnSElNmH3YUIWRBtIbVCdjoEnHdYU9SY3YGRKrP59Un2x77I1Bk4XNrFn7eekOMioTqPgyFTRMhvI6zzWDn2yOEBC4O8+uw8ufwiFOhUKxaxJgDAZYIN7di+jUQqrwycZIAghqLboE44rxBeSZz2MlcUH+4RgaKo2C9ulNhKlb4/WBANlkgJJp06bha3PLqxiEyK4u1WbDRgY9yXFa4o7n1i+SJRiMIN4BqxcrM1UZRAbixntCvWCAonS7DK4SPU7RdtjZatKeLZwOLmgUK+S/mYxkKTJUJ4oNRcSbPLWWG4SY03l0oAkPLNMWpVkHMzERX3cJ7xTig0aUU00tTFI7tZjMWrhD0VzHgeRKWOzietyZmwC4SjNy1gwLDZPKoXDuDeEiWAEleJ4eX2tRdh2HmWFmi7tYtZClr1wMh7f1g6jRgmTVoUntiWHomD3vbHcBI1KgYoC3aR9kN2TfbJ6tsqUYIwlhTooFWRaWd1mg/5xn7QoJ2/7Upubp+3IH4qg1+7FgNOfsUItHeO+IIr0ahBCUF6ok2Igye/3rRdU4h8/tkoKx5DPLHwDkrgqwhVIi48+hw9LC3XQqIRmPp0Ax+lW9ZmcWr4NO2eV2RCLhePwyia7MRWIOxCe1J0lNgGNN1JUSzF2vEkqjETYpDcQjqLX7oVeo4RezfpD8sArlUFsOniDYYyKaXlZ2ZjRgZU9U9i2vlAkyZABzM5qTKIC6eSAYECqSqPgqLYYMOj0zbn02+kNSS4GVrn6ze6NU6FUm5kCKYQivTpOvSOvX3Yvbe4AgpFonAsUcw+VDJ8WA6os+gQFkuz8su2qLXoMu5KNgekUccFwFIOiGor95g1FpHh3wBQKJIc3rl9VW/QIRWic7DrVPqn+nmp7ufpRfk2pcPlC0KgU0KmVse2zMSBlqCDscySvbnI4uSJegST8zSap+bqaPp9pt7lh0CixrEiPKtE4nqvVbMmFTaeCQZt+bJHIuEyBZDFqYPdMrUCSAgsXCwokABjLYL+zgRnjOoYzd5dnk+dRTyAp+cRcwybxp4dckgqMwZRqbFxTatKiodwkGQAWMpkaCjtsbrx1fBBfvqwGd15Wg7dPDEphLhjt4v9ZoGRBBZj6nez0hXBKVDHJjXos1pcclVKBJYW6vE0+YHX4cG5lESxGTZwhjl3Xkb7xvA0APhmdIx6wtf7OLJSIqRj3hlCsF96BzIWNJUOajwt6C96ApJ8kaDBnYdNn98ZPciVVUPYKmMSB7rDLj1CEir8J20wEwrBPBFFt0UsTx94xb5wCKc7YNIlSwCqbYMth/+8a8UgT3nQvFHmZ3f4wDGqZC1sKgyo7zrg3dFaWdvkKCavrUU8AwXA0qVxTId9WrqBJLHMuYWqcJUXCCtCJAUHSzdQliVSbDYhSwdVuLkk03jBjRP+4T4pDxdRy414hXlYsBhIzIMmNdfEKMrk6rtpiiDNSVZmFPjDk8kv3nZ1/IhjBcTE9sLyvJAaHTHW/ASE4Pnuhs998wbCkNgUEFU/aGEh2b5z7ViaZ2FK1w8mwOnywGDVSYNkivRqFOtWk+woKMGFwwdpWNsbWdPWVSJ/dl1Y9x+HMNAVyA5KoQGKq4Fy6V33v9WP44Rup45TMB45Zx3HFz7YlZXqdirZhN+rLTFAoCCrNgnHcNkOugi/tO4MbH94ljaclFzatCiYxBpInEBtbfPU3H+GpHckqDWZAKtSrRXe04JSBd3vFZ2FlsV7KMJcYB4lSirt+u39G7rvLH5LGWNmoieTuO8ydMBf89J0W3PPigYwDFju9IbQMuXB5QwkoBT5KSAzD3uvyiWxTrQX7u+3S/X7ovVbc+ZuPJj1PMBzFrU9+iBf29KT8fWDchwv+633U/9vbOPeH72Wk+plpukY8uPz+begc8SAciUouivJ7Bwjt/fPP7JHq+Fe7uqFTKXH3FbW464pa6NVKPLurK26fDpsHJUaN1EYrzelVgAd67KAUuLyhRDLqRcXFaWZkl5OtS6rTG8KmB7djj8w9bia5+4UDeEJMcNMvuj82lJukehxy+nFmzIvLG0oQjERxuHdc2nf7aRtW/cc7qP+3t3HZT7emdX194N3T+Npv9ye187tfOIDHt7an3GcmkcfnbM/CkGxz+XHlA9twpC92zU5fCEUG4X1YUaiFLxSBzR1Av8OHqhT3O99Z8AakySbMnIVNnyN+olhm0kKjUmS8qh+ORDHo9MOgUSYZVdjEzqBRSseTjD5mA4oNapi0KhzqdSAYiQrb2b2wOrxSm5xMKdDn8MIsHkNORaEOaiVBc7fw4hGOm/p6+uzeOLee+CxsqV3Y2O9nszLMrkuoG2/a7zI9llRfMoVFrA5nQ4EkvNiKDYIRwO0PQ6dWoMykTbl9lSWmPptLrAl1bhXbQyhCcfCMA0aNEmaDWuojbn9YUiBNBCMIR6Lx7TxBjSc3QlSZ9fAEwjjR70SpSQODRiVzt4y5bbL7tqdTWNWsNhtSqm0C4QiG3ULfS0xdy8ph0CglA2VyEG013P5wkluaEJcsHGf8y0QdxOImKUhmBmjBSJXsfjq5C1sYRaK7T0WBDhqlIuM2FIpEMegU+q99IjhpHBLhuTj/Biuc+YnchY29z3RqZU4DPIciUbxxZAB/Otw/qWtqPvP28SFYHT7sbB3JeJ9wJIojveO4oLoYgDxuytnXszcYxsOb29A67Mb/NPcCADwyBRIzlnvFZ4/N7cf21hG8cTg53o7TJ7hLKxUEFqMWgXB0Si+BQ70ONJSboNcoYTGlNiB92DGGradteGnfGXSPnp1agE0cDRpldgYkUQEGJBskZgpKKf58uB+bTw1jb2dmCqH9orHi61fVQ6NSoDkh01PMRTD2brjtoipMBCN4ZV8vhpx+PLurCztaRzDqSW+Q/NNhK472jePNo8n3HQB2to1g3BvCHU3L4Q6EsbXFllH5Z5ItLcPoH/dh86lh9Nq90hg98T6/cbgf+3sc6BYzKO9sG8G155SjxKSF2ajBdedUYFfbSJxxo93mQUO5Sfp/lVmPoTQJA5q77dAoFfi7q+olo57NHUAoQlMqUiYzRqViT+coesa8eOvYzMcfsk8EsaVlWMrg6/KHUVmsx8oKE9qG3aCUSuq1b13TAEJi7myUUjzwXitKTVrcdmElBpz+lJmuWTvfdtqGD9pHk889A3GJpqJ92AOlgkCjVKRNWJSKHW0j6LP74jIRyxVI166uACHAA++2Cor+eTgmWzQGJO7CtrjwhyIYdgXiJooKBUGVWZ/xqv6g049IlEq+4ImuaoDgJ87iGcndzggRzrVXfEmvr7UIyot+Jy6tYcebfMKaSiWgVBBUFscfd9QTSGkg7XN4cYl4LgDQa1SSIi9xezYBjV3r9AecrJ7W11qS4iqx7zJdNeuze2P1JYurdF5VETQqxazE0HDKYtMUig//KrNBiqGTSCaKltlAXucnB1xwB8LS/d3bNSa1U3kfKdQJRjJAyArW5/BBr1Zi3bKiuHhUAOJWyFhb3ds1Jkmvq2VunMyFUX5+ptBJpbbpdwgqI7a9fALEyrG+1pI2iDa7BjbBidVJvGsZACwr1oGQyY2RTLWztEifkdHS6vAlZTmbKgsky4IHQFIPTBXPiDEw7kNUVl/pDE/MKM4VSJzZIlUQbSD71fRsON7vhDcYgcsfzjhzYr4hxUbJwoXoxIALE8EImuqE50DVDCq9XtnXC/tEECtKDPjlri74QxF4AmEoCKBXK6VwEUyV9JHoutI67E4y9Ix7gyg2CEagkjRqIjnhSBQHehxoEp9vkgubbB9KKR7d2obyAmGh8MntycqnbOgQjT/XrC5Hz+iEpKSdcj+bB+trLaJBIjfqmjNjXgyLGZwezVCF0dw9Bo1SgaZaCy6oLk6Kg2R1+GDUKFGkj/XXi1eYcUVDKX65qwuPbGmTsil+lCZLVCgSxRNivR+zjqcclzZ3jaHUpMWPPrUWdaXGOck4xVz5mrvGJKPRNavL49wOfcEIjopK6eZuO/rsPgy5/NhQGxtTN9VaYHMH0DMmvG9Z9uTGipgBqbLYgHCahAHNXWO4oLoY62stklGPjXUSYyABwrhzWKbqnvI6xbrNRR1/JD6XOkcmcKzPKZWvsbwALn8YI+4A9nXZUaBToam2BGuWFkr1vqXFhpZBF757w0r86Na1UClIyjJaHT4MiDEnH93aLs0bWPvrGpmQAlHninabGytKDKgrM2ZlSI61sdh1jftiz72GchM+cd4y/PGQFUDq+53vLHgDkjRhnoe+l5zpwwZMiZmG0gXsTQWb7F1WL2ZQSnAJIgRoqi2R4hnF4p6woN0GSarNjjHuDWHNskIU6dWTlkMepDiRVMdNXGFkWa4ay01SYDtBgZQ6TgHLbBa71rNQINm90KuVOL8qljGO1eWGupK4eEaTIWQF8WHVkgKUGDUyBYwPKyxGKXtYrnH5Q1AQwKRRSYOryRQcS0VXt7lWIPU5vCjQqbB2WWHKdhgz9MTaWZFeJUlsXb6QaMjUo8qijwtcXVEYH0OHHWPcG5KMEzFlj0+Km7SxLnZ+Voep1Das/UntMc710wuVguDSGouktklUILH7lBgHyZpCPaVVKYXYApMZdEXVTiYG6GiUoj9F/2WBxtMZT13+UNzgvcqceftm9ZOqvuQwozjPwMaZLZhR1KBRQikLDJoqwHMgLBgl2Ge6MTPkg/apgrcGw1F4AuG8Uql7g2EctwqTsmyCzzbLFpYAZJRGPBN8wQh+uasLVzSU4v7bzsOIO4CX952BfSIIk1YFQgiM4vN3QnRhk5c70eAw7guhWHzPWFIYgxI5NeiCJxBGk/j+iLmwxSble7vGsL/HgW9d04Avrl+BPx3uR9uwO6OscKlot7mhVSlwzapyhKNUcvueDOYOtaqiAA3lpqwUC9nAjIt3NC1Hc7cd+7qSjYzhSDSuL+3rsuOC6mLo1EpsqLXg5IATwy6/1MdY3J3EhbH7rmvEqCeA3+3vw20XVkKvVkrtLBqlcef440Er+uw+3NG0HKEIxaFeR9yxBFWKHU21FhBC0FQnuMglqgS9QeF42cSRjIhlmep+R6JUct870ONA65Bg5Ltp7RIAMbfDw70OKUxFc9eYZMhlbRAANtRZpN8BYMQdgMsfRmN5gbQNU5Z02DxxdWVz+3FiwIWmOgt0aiUurC7G3q4xyZ0u1RizqliPKBVcwzKBtYsOm2dS1dh0kAf9fl1mBGkU1VfH+51o7h7DpTUWKBUETbUlONTrgGMiiMe2tmO5xYBbL1gGg0aFc6uKkhRx8vLf0bQcB884JLWdPC5XOmNmtrA25wmE4VGoEYHQD9ptHjSWm9BYUZCVQZiV8Xi/U2qT4xPxY7x7r22Q/k4XUzWfWfAGJI1SAaWC8BhIi4z0MYQyz5DFJm+X1ZcK/0/IKLakUIe6MqP4m09yAWODm1iWKsHQJJXBbJi0HGwCWpUmxg570GiUCly8whxXVsaYlOVKL72I4lzYEgMWi/ufW1kMo+huN136RF/o5ZZYJikWuLehTHi5ZHL8EXcAgXBUmLhbDLA6vPCHIhhxB+Kyh+Uapy+EAp0aCgWRxahJ/7BXKRVYVqyb80xsLNaP3FjQVFsCNj5kyp9imatkoV4tXaNgFPVJxxgUV74SXUMBxLVVyTAkulv2OWIB31ctKZD6B1PopFLbxIy3Yt9LMC4tK9ZjRUksKL5XzDLIYJPWxDhI6VLYV5sNk06ymCJwKjc0ABh2+xGMRJNiZFVbDAiEoxhJE49EcOtQx22faT+c7FmVeB0A0j5bOJyZhqkBE92xEwM894xO4IIfbca6H74X9zmcMAllPL2jExt/ujVl1q/m7jHUlxlRbdFPGgTY5vLjkv8WznnOD97FO2eZavq+Vw/j//xyb0ojsT8UwVUPbMcvNrdNeZyDZxwIRymuXV2O/nFfShe0B949jWse2oFAOPYub+62o67MiPICHQAhiUyJUYPTQ/ETH5vLjwv+6328dqAvo+t69aNejHoC+M71jdhYX4L1tRb891steKW5V1pwUCkV0KoU0li7uXsMG+tKoFUpku7BuDc2kSoVF7gmM9AwYxRTf5i0KmiUijij02Nb21FeoMX/ubQa37i6DkoFwcce3oW1P3wPD73XmvK4LYMurPnBu/igXXAT3Nk2grU/eBenh1xot3lQX2bC6iWCMUCuPvjBGydw86MfSIaPr/12P+767X7JHaqh3BQXCyYTdsnOnYqfv9+KTQ9uhz8UQXOXHaUmDf7j42tQatLisQQVkj8UwbU/3xnXj473OyWDx4a6EkQp0PT/tmLtD9/DwTP2lJm/AMEYuaFOMAJ85/pGXLzCLKlF7nphf9w5/vX141iztBD/cvNqKIhgWBlxB3Dhf72P333Uiz67D4NOv6SQYwuwLYOxa371o16s+YFwvMvu35b0Dv/u74/ExSUCBKPQxx/7AOt++B7W/vA9/Ozd02nruWXQBbc/jGtXl8MdCOPNowOoLNZLbp/snu3rtkNBgKtWlqG5247mLjssRo1kIAGA+jITSk0aqT6kDGwyBRIbK37l+Y/i6mr9T7YiEqXYIBqkNtSV4OSAC//8x2Nx2aPlSC6pCUG5/aEIrnloBx6QXfe4N4jWYTeuXV0OQDC0HOp1YM0P3sWBFO5icn6xuQ1XPbA9yYB/z4sHpBhYzd12SWn3zokhqXwsePhdLxxA18iErM1ZEAhHceGPN+N4vxPfvqYBKqVggmiqLcExq1Nyk73ygW1CO++2o9igxvc/sQYVhVpJbdfcFTt3c5cdnkAYG3+6FU/v6Iwrb9uwG2t/8C62t8a7Sb57YhDn/vA99Ihurs990CW1uXU/fA/r1v8DbjrvTniDYZwZ86KxvACN5SZYHT7p+RYIR3DtQztStjXhme3DtavLEYkKISNCkSjcgbBkOAeAlRUFuOXcJSAEKWNe5TuqqTeZHoSQmwA8CkAJ4DlK6f25OtcU5YBBreQubIuMxDTajGqzQYyDEj9ZS30MH5QKglVLClCgjQ+Aa7X74ibnbJIclx7cElNYMEMT+77abEBrmoBsbAKaziLNXiKVZj2WW2IGrNTXL0x6D/WOQ69RQqtSgJBkFzZ5fVWLxprpwtx95LFtUn134XLz5MdhQR0tQqawE/3OOAXJoNOPY9bxyQ4xI7DsZEBM2TKVv3I2Srdc0efwiZOoWDuqKTViaaEOA06/1L6Yu+XpIbcUAwkQDBpWuxdNtZa4eEZ9dh8urYm/d4W6WPY2dlylgmBZsV7M+iZrj2Y97BPBuDpMVNv0ObzQKBU4Z2khtCpFvPFWVEXFXAV98IXiXdjYNbgSFEhMlVVkiO/7VRZ92lgSUtwkswHeYETKGJcuixnri4n9V56ZsbxQl7SfvJ0BQhtyeEPwBMJJk+/kcwqqrNVLCgQDcJq2l5gdjrMwyZfxFxALos0CaDPkAZ6XFOnwxPYORCnF925eDYX4Dn16Zyce2dKOF762Pm5fpy+Ep3Z0wO0P46W9Z/DNTfXSb8zd6VMXLEMwHMXWlmFEozRlWuRndnZhIhjBP924Cn88aMXPN7fhxrVLppVC+eSAU4r7srNtBJtWlcf9/upHvei1e/GrXV34ysYVKEkTQw8QJkhKBcHfb6rHttM2NHfZUXVxrM/a3H78enc3AuEo/veAFV/asAKRKMX+bjs+cf6yuGN94ryleKW5F9abVknPpGd3dWHcG8LDm9tw6wXLoFWlz8joD0XwzM5ObKwrkdzJH/rc+Xj/1BAoBc6tKpK2NWlV8IjJRNqGPfinGyul65Hj9MWUqmuXFaLKrMfzH/bgU+cvS+ka3tw9htpSo/TcJITEZW9r7hrDvi47fvCJNdCpldCplXj+K5eiZdCF7a02/Hp3N+68vAalCXX+2NZ2eIMRPPR+G65oKMVD77ViIhjB41s70D7swSU1ZtSXmUCIaFg4V3jWvtLci0iU4q/HBrC0SI9tp4UJar1oXGisKMCoJ4jXD/VnNNaklOJB2bmfvOOiuN9H3AH86oMu+ENRvHagT5q86zVKfOPqOvz3Wy3Y32OX7s9rB/rQa0FFO6AAACAASURBVPfiG1fXS+5+SgXBpy8U7seGuhLcf9u5cPvD+OWuTjy8uR39Dm/Se53x0OfPR9fIBFaUGNFUa8HPN7dh86lhbG8dwW0XVuKcpYXSttesLkehTo21y4qwr9sOfzgKhzeEh7e0ISwa3NiCKjMk7esaw7rKIgTCETy6pR1rlxXihjUVQt//sAf3XtcIAGgdcuP1w0Lcm22nbbjunAoAwF+PDeD0kBt3XlaDdpsbv/mwG1+7vFZS38thxp57r23AttM2dNg8uHplGSqL9dCrY26HzV1jWLOsEDecU45dbSN4/+QQLm8ojWufhBCsr7WguWtMcl8DEKdAqikx4Bd/c37KjIEFOpWkyr7zshoU6dWIRCmWlxjiFsQY6RSF/3vQiu7RCamdlxfo8JEYJ/XuK2qxt3MMzV1j6BqdgDcYwS82t+F/7tmQ6lZjzBPAr3Z1wReK4Hcf9eLOy2sBCEbtzaeGAQCbTw3j9JAL/3DdSmhVCnzQPgqdWoESowaEEDz5xYswMO6DSknw2YurAADXri7HTz6zDt5ABEatCrddVCmds6nOgmd2dmJLiw3Piud+9aNeNHePYX2NoND6xtX1+NFfTuH9k0NokZ27uXsML+7twaDTj6d2dOCODcul/vbY1nZMBCN46L1WbFpZBkIIIlGKh95vgzsQxpPbO/Cfn1qLJ7d34MLlxbhl3VIAwOCvX8LzSy/Bo1vaEYlSNFaYoFEqQKngNreusgh/OGhF1+gEnt/dja9eVhM3pmNqqr/fVI+dbSNo7h7D2mVCHynWxz8LfnzrOnzu4iophtx8IicKJEKIEsCTAG4GsAbA7YSQNbk4VyboNcq8kidzcg+bgFYUxE/UMgmYy7CKKiO1UoHKBNcVZiyqksVvSZfdqcqsR4FOLVmeq8wGIf5DGneWmEoiTZYvS+y4pSYNdGpF0vUwFyB2LkBQIKUzqPY5vFAqCJYU6kQ3nbMLol0luvsAYva5hO8yqX95PVSZDWL2sFimkCqz4awzxmWCEJuGKXRUYpkmn4AL8W7mToEkuP954+5/oU5wwUuMUQTEjB3yOE99Di/cgXDcfesem8CgM3UWL2YwjQtQbTagz+GTBjyVxfqUrnNVCfGBrHZhNVQpxS2Lz7xXVRy7ru5RD0IRGp+FTZfahS2xj8rLOeTyx63my/cRyhirh8liisTiLCUbr4Xfk/ellMLlD8cFHM4mE5vV4cPSYh1USoVYl+kC6wtG8aVFyQYszsIg38ZfGpUCOrUCBUkKJNaXvOgd8+JPh/txR9MK/N3V9bjnqjrhc2UddraNxGWyAYAX9vTA7Q9jZYUJv/qgK05hLrk71VrQVGuBwxtKGbvC5vbjleYz+MyFlfjWNQ34vzesRIfNI62mZ8sT2zpQoFVhaZEuLl4HEDPCNJab4A9H8Ovd3ZMeq7l7DOuWFeKi5WYU6dVJCp5f7epCKBJFfZkRT+/oRDAcxSkxzh1b8Wd8Y1M9FIRIq/OjngBebj6DVRUFGHT68YeD1knL8tqBPtjcAdwnTuIBYHmJAXdfKdyjDTKXHqNWBW8wIsVH2VBnQVOdBS0JaePHvUFpIqVWKvCtaxpwtG8cu9qTs0VFojG3JzkWo0aKm/T4tg6UmrS4ff1y6fcrGktxz1V1+PGn18EfjuC5D+LrvHXIjXdODGFVRQGO9o3jR385heP9TqyqKMDbJwbRPy6EANBrlKgy6yXXpqd2dECpIKgpMeDxbR14dGsbSk1C1q3nPhAycjWUmySlSiZubDtaR+LOnZga/rkPuhAMC8qmX2xuQ/+4TzLCfLFpOUqMGkmFFAhH8PSOTlxaY8a/3LRK6ktfu6JWUv8qFARfWL8c91xVh7+7qh67O0alIMipqDIbcNXKMgAxF65/+sNRlJo0+Mlnzo3116vqpADSTbUWHOkdx0t7hbY27ArgofdbYTaopbpZWiQo1ZlR57UDVgy5/Pi3W87BP1y/EtefU47ndndLKsPHt7XDqFGisliPx8Q+FolSPL6tA6sqCvCDT6zBj29dh2A4Kt2LRJq7xrDcYsCFy82SirmxXMhayNwO/aEIDveNo6m2RLpedyAsGbzkNNWWYMDph9XhQ7vNg2KDGqVikHdAMDLddlFVXB2xzxfWL5eM1WajBl+7ohb3XFWHG0V3ukSWFulBSHym42A4iqe3d6Ch3IRQJCq18+ZuOzQqBS6uMePiFWa8cXQAH7SPYlVFAfZ0jqUMWg0Az+3uhj8cQUO5CU/v7JRUSI9tbYfFqEGpSYt/+sNRUCoYflj/ryyOLZ5//LyluOeqOnz18lppLKZSKnBH0wrcc1Udvti0XFIfAcAlK8xQEEHZx8796NZ29Nl9Uv3fvn45Sk1a/PMfj8Wdu23Yg1/u7MLKChPc/jBe+LAHANBhc+Ot44NYVVGAkwMuycj7zolBdNg8WFVRgNcP9+On77TA4Q3hB59YI92X75/ZjnMmbPiVvD+LqrJ2mxvBcBRPbe9EfZkRoUg0KRNfc5cdhToVLlpuxrrKIjR32TEujkVZDCRGiUmLa1dXpLwX+U6uTF7rAXRQSrsAgBDyOwC3AjiVo/NNikGjxNhEMKcpYzn5RafNg0qzPmklkQ1aj1udSR05ke7RCdmk2IDOEQ/6x32IRCiGXH5UWQyS8qJ12A2rwxc3mEqMBSOon5xYVqyT3FlO9LukjCKME/3OuP0SYRNT5q9eZTagQywbg0mCWTp1ANCrhe6u16gw6gnEbd8+7MEy2QR0T6cQzC9doOh0TATCcItqDebCdGrAJQTuNRtg1KpgMWrQNuyesj/GrkFw+QtFKHa1jYh1ICiQAOBw77i08pcLRj1BSRnCjCtTBSGuMusx6gmga8QDbRqlSi5xTAThDwnuf8uK9VAQmeHRosdHPfHXwNq5XIF0oEdwHamSZUrbcdqGKE1tQKs2G3Ci3xVvRLXo8d7JYbQNu1FeIMRNqpL1Kfl2Dm8IHTYP9BolukYnpL5abTGge3QC/eM+BEIRjHqCqLYIqZwNGiWOirFC4hRIorG21+6Na2dnxrxxGVJi5xcUVkf7nEky/uOy/sgMr8es42kVSKeHXIIkOeE4zHDWMujCpQmTIV9QyBiXqEAChGdVoX7yFezu0Qlp+2qLHj1jEyn7V7vNjaVFurjBG2fBkVfjL0Aw6CYqkNh77ES/C0etvVAqCP7u6rq4bf524wr8clcnHtnShp985lwAQCAkGGCuP6cc39zUgM8+vQe/2tWNz10irHSzrE4b6koQCAkxVLa0DCed/9mdnQhFovjWNUIcilvOXYpHtrThsa3tOL+6KKt3X5/di3dODOG+axtQVqjD9/98Au+cGML5olvMX48OYNgVwMN/cwFe+agXL+zpwWcurIQhxapzKBzF0T4n7ry8Bgox1tu+LrvUnz3+MF7e14tbL6jErRcsw52/2Y8X9/ZIk2y5uzwgTDo/f0kV/veAFbevX44/HLQKk84vXYTvvnYUT23vxFWNZSlVV9EoxdM7OrG+xpJkmEqFQaPEqCeAHa0j0KkVOLeyGMEwBaXt2NwyjI31JaCUwimLgQQAn72oCo9vbcejW9qSns+dNg/c/uTJe4lJgyGXH9tP27C7YxT/fss5ce8ARn2ZCZ88bxle3NuDz14Uq/NHtrTBpFXhpbvX4zNP7sFv9/SgyqzHS3etx6aHdsAbjKBBVJKsLC/A6UEXjlud+MNBoR4vrbHg3lcPo8Pmwb/dshqRKPCzd0+jslgPk1YlTTgP9jhQkUJxKufRre2oLNbjpbvX45oHd+CRLW34948LNt+JQBgv7j2DT56/DJ+9qApffl5wIWL1YdCo8PWr6vDTd05je6sNHcMeDDr9eOBz52XUhu/YsBxP7+wUVcFTK1PPry6CVqXAuDeE7928OmWdC+UrwXO7u0GiwJN3XIh/+eNxHDzjwI1rK+LaWlOtBe+fGkaf3Yunt3fg4hVmKZbfvdc24tYnP8SzOztx5coyvHV8EN+8uh7VFgO+9/px/OXYILyBMDpsHjzxxQuhUBDUlZnwqfOX4cW9Z/DZBGUHpRT7e+yScqmp1iK4KFUw5ZgJu9tHsaN1BMFwFE21FjSUmWA2qOHwhpL6lvw+vH9qGKcGXWgsN2U9bs4UjUqBJYU6dNhi4/13jg9iwOnHC19bjz8dsuKlvWfw2YuqsKdzDBdWF0OrUqKp1oLdHaMwG9R45Z4m3PTILjyypQ0PfO78uON7A2G8uKcHHz93KW5fvxx3PNeMF/b0YPXSQuxsG8E/37QKaoUCP3m7BRqVAhdUF0tx7c4mhk+BTo11lUU4ZnXiE+fFzg1AMhwLKiRBbadRCudWied2+kJ4/s5L8dT2Djy3uxsfP28pHt7SDp1KiZfuWo/PPrMHj25tx6olBXh8awfqy4z4zVcvxaaHduDlfb24amVZnEcEAfAd6x58Y9WnoSDCM0SpIFApCI70jsMxEUL/uA+/+eql+MuRAbzcfAafu6RKUtvu6x7D+loLFAqCDbUWPP9hN04PCkbhRPX7fCZXBqRKAHLnaiuAphyda0qK9GpsPjUsye84i4NrVpUlfbfCYgQhwL++fjyjY9y+vhoAUFtqxOZTw7j8/m3Sb7WlwgOzptSI1w8JstqakvjU5ioFQW2p4GZWV2bEuC8IrUqJmhLhu08+sTvleVVitrVUrCgxQkGAOvG4NSVGbGmJLxsAlBdoYdSqUCfGHTIbmBuWCm8cGcAbR+LTrF7ZWCpdqzcYwRU/2z5p3UxGTakRSgXBcosBr4gpf2uk8hpSnj8VS4t00KmVqBXr64W9Z2DUCCmgWR2yAVUu+aToFlBm0kKpIFMakNi1XvvznTkv21TlUCsVWG4xSO2wvswEVcI11IkyfYtRA5NWSK/8J1EqXltqxJJCHXRqBV7Ye0Y6biJ1ZUZoVIo43/2aEiPsE0H89digFNi1vlRoj+yeyv++/hex+vryxhXSMXa0jsS175pSIwghqCkxSilq5caXYr0aCgL89J3T+Ok78T7qN6xJXu1hfflvfrk3VTWCiAa4gLga939/fzTldozKYn2SW4heIwTr/uWuLvxyV+rVUYsxJrlfbjGAEOCf/3hs0nMxvtgkrL4LzwNb0vOAwfo5Z8GSV+MvACg1aePaNiBkJ1IqCH745kkAQn9PnGibtCrcfUUtHnq/Lak933ddI86rKsYVDaV4eEsbHt4Siy1UV2pERaEOlFJUFuvx4HuteDBFHJxPX7BMei4qFQT3XdeI7/zuyLTefSatCl+7ohZ6jRJPbuvA379yKO73i1eYsbG+BCUmLd46NogbHt416fGYa8vG+pKk9zshQmrs+jIjzq8uxn+/1QJAfFanUBd+c1M9fr+/D594XBhv3HrBMtSVmfCd6xvx1d/sx5UPTH69mRojzAaNlG77ioZSaFQKXLi8GFqVAv/f/8Y/M5lrFSBMjL95TQO+/+cTaZ9biZP38gIdPmgfxVd/ux8WowZ3bFiecj9AcFf6y7GBpDr/+031KC/Q4Zub6vEffz6Bv9/UgPJCHb68sQbP7OzEKjH+0aolBdh62oZPPrEbaiXBN66uR0WhoDSzTwRxR5Pwrnp2V2yfKrMBBo0SP3m7BT95u2XKuvvJZ9ahvECHL19Wg6d3dOLt4zElHCHCNdSXmXDh8mL0jnmxUuYm9aUNK/DMzk589Tf7AQAXLhf6RSYYNCrcc2UdfvbuaUmRMxlalRKX1JhxasCFL21YkXa79WLw5JvXLUFDeQG+c10jvvz8R1K7ZmysL8H/HrRKbfD/3Xau1NbOry7GplVleGxbBx7b1gGDRom7r6yDSavCE9s6cN+rhwEIChHmfgQA3762AW8cHcDH0vQxVobL6kvx2gErVi0R3ItWLynA64f68Y2XD0JBIBkBNtaXYG/nmBQPS87KciHJy4//Ktjn72hK3w5nguUWA946Poi3ZPHazq8uxlWNpags1uONowO48RHhuv/hekE1eFlDCX6+Gbj7yjqUmrS450rB4Jiur917bSNWVphw8QqzNH4qNqjx5Y01UBAIasoKE3RqJc6rKoJBo4yb+0yHjfVCHCR27ktWmNEx4olzj/xi03I8vaMTDeXs3MUwaJS4aLmgsrrvOsHgyMbdX7+qDuWFOnxrUwP+9fXj0nP9kf9zAZYV6/GFS6vx4t4zuE8WzJrxMUc7Vi8pQDASlRYLG8pN0hj4/KoibFpZhhUWA/58pB83PfJB3P5/K/aNDfUl+OWuLnzrf4T3QakxvevyfINkmk47q4MS8jkAN1FK7xb//7cAmiil35Zt83UAXweA5cuXX3zmzJkZLwfj9JBLSjPIWTw01VmwoiR5ovtB+wgGxzPIYkCAq1eWoaJQhzFPANtO28C6i0alwE3rlkCnVqJ92I3DveNQKQk+tnZJXLySQ70ONJSbUKhTY8jph9MXwqolBYhEKd4+PpjWtbLaYsDG+uTVDsaBHjvWLCuEQaNCn92bMn7LyiUFuKC6GJRS7Okcw2X1JSCE4ES/E6cGkgM1XlprQW2pEROBMN47OYRwZHrPBq1agVvOXQq1UoGTA06c7HfF1VeHzY1DZzKLXbR6aQHOqypGJErxzolBeAMR1JUZcUmNBZRSvHdyCC5f7gPkX9ZQgiqzAZ5AGG3Dblw0RfymQDiCd08MSSvgc4Feo8TN65ZApVSgbdiNQp0aS4p0cPtDaBv2SAHYAcHF4mjfuCQX/rBjFP0OH4oManxsTQUIIfio246e0QkYtErcsm5p0oq10xtC99iEFIwSEIJYbz45jEiU4mIxnkQgHMGhM+Nx7TsYjuKdE4Ox+iLAplVlKC/QYcQdEIIgis1RqxbaklallJ7tahXBjWuXxMUN2N0+ioEEFQ4hgi9+YvyRaJTinRNDaTO4LC3W4cpGwSC9o9UGm2vyjCas3SZyzDourUQlolYR3LR2adyK7q62kcwyrhBg08oylBfqMOoJYLvsWZUI6+cp2bRJ+HfHjqnPOQ0IIQcppZfk5OAcAJmNv8TvZ20M1mHzwKBRJgWG3dMxCqvDB4WC4Ma1FdIKrpxAOIK3jw8iFI416PJCrRRjaNjlx862Een5AAhxedjEg72DEiEEuP6cCphlhoypngOTwd63gBC89Uhv/DvucnGCB6R+NsnRa5T4+LnCM9YbDOPdE/Hv4yqzHpeJBgKrw4s9HWNJ150Ie37Lr5tSivdPDce5lyViNmpw/TnlGRmQOmweHDojKFc31JVguTip3N9jR/dILEh2qrFSOBLFW8cHU74zK4p0uHpl/ILgwLgPu0Vj1drKQqxdVpS0nxz2TpOX4eZ1wvM2EqXY1T6Cq0Ullj8UwcEzDlwu1rFjIogtLcOgFKgtM0qxhnrHvPCFIpLRqG3YDYNGKakxDvTYpaxak6ET77cyzf2uNOulsgw6fbBPBJOuV97O2XglU8KRKPZ0juHKxtKM7nOfXbjulRXJBhU5B3rsaCwvkFQXH3aM4uIV5jj1rvzdX2xQ4wZxvMGwufzYIfbvxgqTpBRh424g9TuNPVsSkY8fIlGKvZ1juLxBGBu7/SG8L45X5H1s2OXHmCeINctS962jfeNCNjfZuCVXdI54cLAnPrGA/H6z61YqCG5YW4FCnRqUUuxqH8Vl9SVQKxUIhqN4+/ggguHkvrasWI8rxEWm/nEfPhT72JplhVhXKbS59mE3dGqltAh5ot+JJUW6pBhj2eD0htBuc+MSsW8Nu/wYcQekczISz320bxzLivVSvCs2PlMqCG4+VxgTRqIUbx0fhD8oxF+6eZ0Q524iEMbRvnHpPkuI4yDrn96GNxhr53Jbwsb6EqkMezpH45LAqJQEN60Tzh2NUrwtzl0KdCrctG5JzhRqmTCTY7BcGZA2AvhPSumN4v+/BwCU0p+m2v6SSy6hBw4cmPFycDgcDofDyRBuQJr3ZDv+AvgYjMPhcDgcADkfB80lMzkGy5UL234AjYSQWgD9AL4A4Is5OheHw+FwOJyzZQEOmBYhfPzF4XA4HM504OOgjMiJAYlSGiaEfBvAexDSyD5PKT2Zi3NxOBwOh8PhcPj4i8PhcDgcTm7JiQtb1oUgZARAKgf8IgDZBC/KdvtSAMl5Q2fu+NlsPxPHnux6cl2XuSz/fCh7Ktj15Hu7yWT7TPtKvtT9VNumup58Kns225cCCOVJWWZi+0zaWj72kXQkXs9cl+dsjn0278xSAEZKaXJ2A86cQghxA2hF9u0Bk+wzVVuZyXPlYr/ZvK7p7jcb55ruOGY65zqbfc52PzVyOx84m/1yda6ZGAfNxX7TfW/lU93n8lwzPYaaq/2ynWvNxrlmYr/pnivb8Zf8fOz5tmLGxmCU0rz9AHg2x9sfyJfyzMSxJ7ueWajLnJV/PpQ9zXYH5kO7yWT7TPtKvtT9VNumup58Kns22wM4kC9lmYntM2lr+dhHJrs/+VSeszz2tN+Z2e7LP7P3me67arJ9prrfM3muXOw3m9eVz/VxNm0jn68rcb+zebbN1/qYiXHQfKiPXDzf8uG60u0302OofK+Psx1j5et1TXWd2ZwvF+MvBfKbv+R4+2zJZXlyfa3zeft8Kku+bZ9PZcm37fOpLLnePp/K8v+zd95hUVzrH/+cpfcOAhZURFER7D0mthSNJVVjYno31eSX3NSbdpPclJuYxCSWqLHEksQaU6xRURRUEKRLB+m9s7vz+2OXFSIgIAji+TwPDzB7ZuY9M7MzZ77nLZ2tfWeypbO172zPTEnH0prz1dpzLPd1+evJfXXcem2+LyGEvRDiqfbalxDieSHEpcqzGdYRQjwghPi6qcZCiOuFEOPaysZ2XEfuq+P21dr15L7ahnbZX6cIYesohBAhSheqCHO19+dqt/+fdKX+dKW+QNfqT1fqC8j+dGYupy9d6Th0Ndrj3HTV891V+9UY10p/O0M/hRBewC5FUQa30/aTgBGKouTq/2+yz0KIB/TtFzXR5t9AqaIon7attW1HZzi3VxLZ365JZxt/dXYPpPZmWUcb0MZc7f252u3/J12pP12pL9C1+tOV+gKyP52Zy+lLVzoOXY32ODdd9Xx31X41xrXS387Qz4+AvkKIUCHEKiHELAAhxFYhxA/6vx8SQnyg//teIcQJffvvhRBG+uXThRDHhBCnhBBbhBDWQohnAQ/ggBDigH5/F/VZCPGgECJWCHECGF9n+a1CiONCiNNCiL1CCDe94PUE8ILeholCCBchxC9CiGD9z/h/7qMD6Azn9koi+9s16VTjr2vaA0kikUgkEolEIpFIOpK6HkhCiHnAcEVRXtaLOVpFUcYIIVYBG4EU4L/AbYqi1AghlgJBwG7gV+BmRVHKhBCvAGaKorz7Tw+kBvbvDhwHhqNL8nsAOK0oyiIhhANQqCiKIoR4BPBVFGXxPz2QhBAbgKWKohwRQvQE/lQUxbcdDpdEIulAjDvaAIlEIpFIJBKJRCKRAHAYeF4IMRCIBBz0As9Y4FngfnRCT7AQAsACyAbGAAOBQP1yU+BYM/c5GjioKEoOgBBiE+Cj/6w7sElvgymQ2Mg2pgID9fsGsBVCWCuKUtpMGyQSyVXANRHCJoToEjcuIYRG7yZa++PVRNvrhRC7rpx1TSOEUIQQ6+r8byyEyOlMNrYGIcQcfd8GdLQtraGrnpdausp3v5ZL9UcIcVAI0aljwa/270xDCCFeF0KcFUKc0d+bR3e0Ta1FCNFdCLFdCBEnhDgnhPhSCGHaRPvmJGaVdDGu5vFIU3T1Z2JjdMX7ci1X4zlVFCUdsAduAg6hE5TuQuftUwIIYI2iKAH6n/6Kovxbv3xP7XKgp6IoD7eBSV8BXyuK4gc8Dpg30k4FjKljl+eVFI+6whjpUnTl72pDdKXx1aW4msZf14SA1IWoqHNTDlAUJamjDWoBZcBgIYSF/v9pQHpLNiCE6Iwec/OBI/rfzaY2Vr0TcNnnRSJpIa36znRWhBBjgZnAMEVRhqCbgU3tWKtah9BNG/8KbFMUpR+62Wdr4IMmVnsekALStcfVPB5piq46VrkUV/tYpimulnFOCWBT5/8gdPfXWgHpJf1vgH3AHUIIVwAhhKMQopd+nfFCCO/ajQghar2I/rn9f3IcmCSEcBJCmAB31vnMjgvH7P4mbP4LeKbOvgOa2J+kdXSpMVRTdKXx1aW42sZfnSIHkrOzs+Ll5dXRZkgkEolEImknTp48masoiktH2yGpjxyDSSQSiUTStWnLMVinmCXx8vIiJCSko82QSCQSiUTSTgghkjvaBsnFyDGYRCKRXF2oNVq0Cpgay2AiSfNoyzGYvOquMKVVatILKzraDIlEIpF0NNdfr/uRSCQSiUQiaSavb43g4TXBHW1G50WOr9oVKSBdQbRahUfWBDPrqyNUq7UdbY5EIpFIJBKJRCKRSK4iQlMLOZtR3NFmSK5RpIB0BdkYnEpQQj55ZdX8HZvT0eZIJBKJRCKRSCQSieQqQatVSM4vI7+smsoaTUebI7kGkQLSFSKzqJIPd0cxurcjjlambA/tjAUgJBKJRCKRSCQSiUTSGckuqaKyRhfJkiHTokg6ACkgXQEUReHN7RFUa7R8fPsQZvi5szcqi9IqdUebJpFIJBKJRCKRSCSSq4CkvDLD3xmFlR1oieRaRQpIV4Dd4ZnsiczixWk+eDlbMTvAg8oaLXsiMzvaNIlEIpFIJBKJRCKRXAUk1xOQpAeS5MojBaR2prC8mrd3RODnacfDE3oDMKynA572Fmw7ndHB1kkkEolEIpFIJBKJ5GogOa8cY5VACGRlb0mHIAWkdub936IoKK/ho9v9MDbSHW6VSjArwIMj8bnkllZ1sIUSiUQikUiuJoQQPYQQB4QQkUKIs0KI5/TL/y2ESBdChOp/buloWyUSiUTSdiTnldPD0RJXGzPpgSTpEKSA1I4cis3h55NpPH5dHwZ52NX7bE6AJxqtwu7w8x1knUQiCnP83gAAIABJREFUkUgkkqsUNbBYUZSBwBjgaSHEQP1n/1MUJUD/s7vjTJRIJBJJW5OUV0YvJ0s87C3IKJICkuTKIwWkdqKsSs1rW8Pp42zFs1P6XfR5/242DOhmw7bTshqbRCKRSCSS5qMoynlFUU7p/y4BogDPjrVKIpFIJO2Joigk55Xj5WSlE5BkEm1JByAFpHbis79iSSuo4MPb/DA3MWqwzawAD06lFJKSV36FrZNIJBKJRNIVEEJ4AUOB4/pFi4QQZ4QQPwghHDrMMIlEIpG0KXll1ZRWqenlZImnvQXphRUoitLRZkmuMaSA1A6cTilg1dFEFozuyeg+To22m+XvAcDOMzKZtkQikUgkkpYhhLAGfgGeVxSlGPgW6AsEAOeBzxpZ7zEhRIgQIiQnJ+eK2SuRSCSS1lNbgc3LyQoPO3Oq1Vryyqo72CrJtYYUkNBVSmsrqtVaXv0lHDcbc169eUCTbbs7WDLSy4Ftp9OleiyRSCQSiaTZCCFM0IlH6xVF+RVAUZQsRVE0iqJogeXAqIbWVRRlmaIoIxRFGeHi4nLljJZIJBJJq0nK1UWt1OZAAmQibckV55oXkLadTmfoe3vYHto2uYi+PXiOmKwS3p8zGBtzk0u2nxXgSVx2KVHnS9pk/y2lRqPlq31xvLwljH1RWVSrtR1ih0QikUgkkuYhhBDASiBKUZTP6yx3r9NsLhBxpW2TSCQSSfuQnFeGSuicEKSA1Hkoq1Kz4XgKas218R5t3NEGdCRFFTW8/1skigJvbotgdG8nutmZt3p7cVklfH0gjlv9PZg60K1Z68zwc+edHWfZHpbOQA/bVu+7NSTnlfHsxlDCUguxMjViy8k0bM2NmT6oGzOHuDPe2xkTo2teY7zqKatSY2qskudSck1TVFGDncWlRX2J5CphPHAfEC6ECNUvew2YL4QIABQgCXi8Y8yTSCQSSVuTlFeOp4MFpsYqPPUCUrpMpN3hbA5J5Z2dkdiYG3OrPkVNV+aSb5T6JIzZQoiIOsschRB7hBBx+t8O+uVCCLFECBGvT+A4rD2Nv1w++yuG/LJqli4YRo1G4eWfw1odSlZZo+GlLWFYmRnz9q0DL72CHkcrU67zcWFnaAZa7ZULY9sems6MJUdIzCll6YJhnH5rOj88MIKpA934MyKTB1YFM+qDvfzr1zMExudeM4pqV0OjVbj926PMWHKYovKajjZHIukQDsXmMOy9Paw8ktjRpkgkbYKiKEcURRGKogxRFCVA/7NbUZT7FEXx0y+fpSjK+Y62VSKRSCRtQ3JeGV5OVgDYW5pgYWLEeemB1OEExucB8OOxpA6140rRHJeE1cBN/1j2KrBPUZR+wD79/wA3A/30P4+hS+bYKQlPK2JtUDILx3pxi587r8/w5XBcLuuOp7R4W4qi8Nqv4YSlFfHRbUNwtjZr0fqzAzzIKKokJLmgxftuKWVVahZvDuO5jaEM6GbD7ucmcoufO6bGKiYPcOPzuwIIfmMqy+4bzsR+LmwPzWDBiuOM+XAfH+6OokYKSVcVu8PPE51ZQmxWKY/+GEJljaajTZJIrigZhRU8t/E0Gq3C//bEklNS1e77VBSFogop2EokEolE0hm4Gt9fajRaNP9wLkjKK6eXkyUAQgg87M3JKNIJSFVqjcyp2wGoNVqOJ+RhY25McFIBkRnFHW1Su3NJAUlRlENA/j8WzwbW6P9eA8yps/xHRUcQYP+PePxOgVar8Mb2CJyszHhxug8AC0b35DofF/7zWxSJuWUt2t73hxL49XQ6L07z4abB3Vpsz1RfNyxMjNjWRnmYGiMivYiZXx1h6+k0np3Sj42PjaG7g+VF7cxNjJg+qBtL5g/l1JvT+HbBMEZ6OfL9oQSe3xgqvZGaIK+0iqzizuFKqigK3xyIp6+LFV/OC+BEUj7Pbwy96GEkkXRVajRaFm04RbVay4qFI6is0fD5nph23+9Hv0cz8v29BMbntvu+JBKJRCKRNE7U+WL6v/E7D646QUjSP19pOy93fneMJ9adNIhCkRnFFFXUGDyQADzsLUgvrCS/rJobPjnI53tiO8rca5Yz6UWUVKl59eYBmJuoWBuU1NEmtTutTYriVsctOhOoTfjjCaTWaZemX9ap2BicSlhqIW/M8MVWn+haCMF/bx+CqbGKFzc3XyTZF5XFx39EM3OIO89M9m6VPVZmxkwf5Mbu8PPtksRaq1VYcTiBuUsDqazRsOHRMbw4zQfjZuTEMTcx4mY/d769dzhvzPDlt/DzvLA5TIpIDRCUkMfUz//m5i8Pc76o491J90dnE51ZwlPXezM7wJM3Zw7kj7OZ/HvHWTlDIbkm+Oj3aE6lFPLxHUOYOtCNhWO92BicytmMonbb54nEfJYdTgABj6892a77kkgkEknHEpSQx7TP/5Zep8Dv4eeZ801gp5uoPJlcgFbR/b7ju2M8v/F0p/dIqlJrCE8vYk9kFuuPp1BZo+HFzaE4W5sxd+iFV2tPewvSCyr4169nyCiq5ETi1SOQdRUC43SThTcPdmdOgCdbT6d3+bQhl51VV9G9ibb4TiGEeEwIESKECMnJyblcM5pNXmkVH/8RzZg+jswOqJ/kqpudOe/NGczplEK+P5RwyW3FZpXw3MZQBnvY8ckd/uiKorSO2QEeFJbXcDiubY9FTkkVD64O5v3forihvyu7n53ImD5OrdrWIxP78OrNA9gZlsHLP59ptwdEcl4ZG46n8PmeWD7+I5r3dkXy1vYI/vXrGRZvDuPZn07z5LqTPLw6mM//iukUYsj648ncu+I4DpamVNVoeHLdKarUHRcupigKXx+Ip7uDBbP01/nDE3rz+HV9WBuUzDcH4jvMtrZkxeEEZiw53GKvQUnX5/fw86w8ksgD47yYOUT3HXhuSj/sLUx4d2dku9w3yqrUvLQljJ6Olvzx3ERszY15YFUwqfnlbb4viUQikVxZCsqqWfjDCRJySg3LDsbkEJddylHpccqhuFxCUws73TMvPrsUK1Mjgl6bwnNT+rEtNIMn1p7s1GkdknLL0WgV7C1NeP+3SF7++QzRmSV8cscQnOqkSvGwtyC3tIo/z2bhaGVKTFZJp3gvupYIPJfLQHdbHK1MuW9sLyprtHz797mONqtdaa2AlFUbmqb/na1fng70qNOuu37ZRSiKskxRlBGKooxwcXFppRkt5+M/oimrUvPe7MENCj6z/D2YOcSd/+2JJSK98ZnjgrJqHlkTgoWpEcsWDsfC1Oiy7JrYzwUHSxO2hWZc1nbqEpdVwq1fHeFYQh7vzRnM9/cNx8HK9LK2+cSkvrw03Yetp9N55ZczbZL4O7+sml1nMvjXr2eY+N/9TPrkIK9tDWfJvjhWHk5kU3AqO8My2BeVTVBCHuHpRZzLKSU5v5wl++NZG5R82Ta0lhqNlre2R/D61gjGezuzbdF4PrnTn9DUQt7fFdVhdh07l8fplEKemNS3XvW1V24awNyhnnz6VyybQ1Kb2EL7odUqrApM5Oi5yxtsLT+UwPu/RRF1vph5y47VG9BJWs6+qCye+el0px5QNZfE3DJe/vkMAT3see0WX8NyO0sTXpzmw/HEfP48m9nm+/3w9yhSC8r59E5/+rhY8+PDo6hWa1n4wwnySts/95JEIpFI2o8dYRkcis1hb1SWYVlMpi7fSeBljmm6Asl5usm8+OzONR6Lzy7F29UaS1NjXpjmw/tzBrM/JpuHVgdTVqXuaPMapPYY/u+uAMxNjNgZlsG9Y3pywwDXeu089JXYxvRxZNEN3hSW15B9BXI9SnRUVGs4lVzIeG+dc8YgDztuG+bJd3+f6zRODu2BcSvX2wHcD3yk/729zvJFQoiNwGigqDNVAAlJymdzSBqPT+pDPzebRtu9N3swJxLzWbw5jO2LxmNuUl8cqtFoeXL9STKLK9n02Bjc7Swu2zYTIxUzhrjz88k0yqrUWJm19tToiEgvYuEPJzBSCbY+NY5BHnaXbWMtiyb3Q61V+GJvHMYqwX/m+qFSNd/7qrJGQ3BSPkficwmMz+VsRjGKAjbmxozt48SjE/sw3tuZPs5WTXp1KYrCQ3rvqlG9HRnQzbYtutdsCsureWr9KY6ey+PRib159WZfjFSCW/zceXRib5YfTmRYL3vmDu1+Re0C+PpAPK42ZtwxvP6+VSrBx7cPIbe0in/9Go6ztSmTB7g1spW2p0qt4eUtZ9gRloGRSvDBnMHMG9Wzxdv54UgiH+yOYoafO0/d0Jf7Vp5g3rIgfnpsDH1drNvB8q5NZEYxizacpqJGg393Ox6Z2KejTQIgIaeU8PQiZvi5NyvkFnT3lyfXncTYSPDNgmGYGtdfb/6onqwLSuGD3VFc39/1ovt7azkSl8u6oBQemdCbkV6OAHi72rDy/hEsWHGch9aE8NOjo7E0vbx7u0QikbQneyKzcLUxw7+HfUeb0unYrs9VerZOktyYzBLgQhWmq4VNwSmM6u1Eb2erSzduJsl5Os+juOxSpg68cmPLSxGfXco47wvRF/eO6YWlqREvbQnjvpXHWfXgKOwsTC5ar7C8ml9PpTPe25n+3Rp/b2wP4rJLEALG9HFiybyh/HIqjddvubjK95g+jkz1deWd2YNJ0R//6MwS3GzNr6i91yrBSflUa7SM93Y2LPvkDn9MVCqW7I+nSqPlXzf7NrGFq5NLjsiFED8Bx4D+Qog0IcTD6ISjaUKIOGCq/n+A3UACEA8sB55qF6tbgVqj5Y1tEbjbmfPs5H5NtnWwMuXjO4YQk1XC/xpIRvbOzrMEJeTz8e1+DO3p0GY2zg7wpLJGy57IrEs3boLgpHzmLwvCwsSILY+PbVPxqJbnpvRj0Q3ebAxO5c3tEc1SWCMzinltazjD3tvDfStP8MORRKxMjVk8zYetT43j9JvTWLZwBAvHetHXxfqSIYFCCD650x9bcxOe2XCaiuor5zkRl1XC7G8CCUkq4NM7/Xl9xkCM6ohor9w0gNG9HfnXr+FEnW9dNv7SVs6KnEop4Oi5PB67rk+DL8emxiq+vXc4A91teWr9KU6ntH/1P4CSyhoeXBXMjrAMFk/zYYK3M6/+Gs6nf7ZMof/xWBLv7orkpkHd+GJeAIM87Pjp0TFotArzlwV1upmvzk5+WTWPrQ3B1sKYkV4OfH0gnuLKjo/dziisYN6yIJ7bGMrMr45w7FzzBudvbY8gJquEL+4OwNP+YnHf2EjFmzMHkppfwarApDaxtbiyhv/7OYy+Lla8dGP/ep+N8HLkq/lDCU8r5On1pzp93gWJRHLtotUqLN4cyn//jG6T7UVmFHeZikSp+eWcSilEJS4ISEUVNWQUVdLN1pzE3DIyWllOPTmvrMmoh7bmXE4pr/wSztI2TGdQWaMxVANraBym1mjZG5l1xZ+BxZU1ZBZX0s+1vgB027DuLF0wjPD0IuYvC6KgrNrwWWWNhg93RzH+o/28uyuSL/Y2PzF1SFJ+m3gcx2eX0t3BAgtTI67zceHLeUMbjHbp7mDJivtH4mlvwQC9yFXrFacoCnsisy7Ls7ysSs2B6OxLN2xnTiTm1ztHzSWtoLxd33MCz+ViYiQY1dvRsMxIJfjodj/mjezB938ndMkIieZUYZuvKIq7oigmiqJ0VxRlpaIoeYqiTFEUpZ+iKFMVRcnXt1UURXlaUZS+iqL4KYoS0v5daB4/HksmOrOEt2YObJZ3zw39XblndE+WHU6ol5Bs7bEk1gWl8PikPm3uWTK8pwOe9haGGY7WcCg2h/tWHsfFxowtT4zFqw1nFuoihGDxdB+emNSX9cdTGk3MXFmjYevpNG5bGsgtSw7zy8k0Zvi5s/rBkYS9PZ1Nj49l0eR+DO3p0GwPg7o4W5vx+V3+xGWX8v5vkW3RtUuyPzqLuUuPUlal4afHxlzk5QO6l9Sv7hmKrbkJT6w72aLkihXVGl7bGo7fv/9kSyvCzL7ZH4+9pQnzm/DssTYz5ocHRuJqY85Dq4Pb/eaWXVzJXd8HcSIxn8/v8ueZKf1Ycf8I5o/qwdcH4nlhU2izckZtOJ7CW9vPMtXXjSXzhxrC8/p3s+Gnx8agVRTmL5ciUnOp0Wh5ev0pskuq+P6+Ebx96yAKy2v4voNjt0sqa3hodTDl1RrevnUgJZVq5i8P4qn1J0kraDy3wubgVDaHpLHoBm+u7+/aaLsJ/ZyZ6uvG1/vjyC65/KqJ7++KJLO4kk/v9G9QtJ0+qBvvz/HjQEwOr/0a3mVdmiUSydVNUl4ZxZVqzqQVXXaKgsyiSuYvD2LRhlNtZF3HsiNMl2LitmHdScgppaJaQ2yWzvvo/nFeAK2uvPn2jrM8se5ks9vnllYZvE1aww59uoyj5/LqPY/OZhS1+vmUVlBO7arxDYwpfzmVxiM/hvD0+qZzhGYXV7bJc7mWc/rxoLfrxd7pNw12Z/nCEcRll9QTTZcePMf3hxKY4uvGeG8nQpILmnVcUvPLuev7Y9y/6kSziiIpikJEelGDAk98dulFotelcLAyxdXGjGi9V9zp1EIe/TGETcHNe5eotafud/+nEyk8uDqYOP213hip+eWtEniaw9H4XO5edoz/++VMk+3UGq3BI7CWD3+P5r6VzTsfreFQbC5Dezpc5F0uhODF6T6YGIkOTbXSXlx2Eu2rgaziSj7fE8skHxduGtyt2eu9fosvPR0tWbwllNIqNUfjc/n3zkimDHDl/24c0OZ2qlSCWQEeHIrLbZV6/UdEJo+sCaG3szWbnxhriIttL4QQvHJTfx6d2Js1x5J5b1eU4QabklfOh79HMfbDfbywKYzC8hrenDmQE69N5ZM7/bm+v2ubhXJc5+PC49f1Yf3xFP6IaL+ISUVR+P7vczy8JgQvZ0t2LBrP8F6Ne6C52pizdMEw0gsqWLw5rFmDsZjMEmZ/c4QNx1Po6WjJ61sjOJnc/IoKkRnF7IvO5qHxvS8plLrYmPHjQ6NQCcHCH06QXdx2D+y6nMsp5bZvj5KcV8bKB0Zy2zCd4GZipOI/c/14+cb+bAvN4P4fTjRZtWBzcCqvbQ3nhv4ufLNg6EWhST5uNvz06BgUBeYtCyI+u+mHnQQ++C2KYwl5fDjXj4Ae9gz2tONWfw9WHklst+vhUqg1WhZtOE1cdilLFwzjwfG92bd4Ei9O82F/dDZTPvubz/fEXuRxGJlRzJvbIxjX14nnp/pccj+vz/ClWqPl0z9jLsvefVFZbA5J48nr+zbpkXrP6J48N6UfW06m8dlfssyuRCLpfISlFQJQUqkmKa/1xSm0WoWXtoRRVFFDQm5Zl5iB3xGawYheDkwf6IZWgajMYsOL+q3+7jhbm7ZKQFIUhdMphaQVVDTb+/fp9aeY9OkBnlh7kvC0lnkuKYrCjrAMjFWC9MIKQ9hZYHwuM5YcYW9U67xNknJ12/Hvbse57NKLBJfDcbmYm6j4KzKLR9aEEJdVQnx26UWiwwOrgnly3eWJjkUVNYYxd5xeQOrXgIAEcH1/VxaM7sXmkDQSckrJK61i5eEEbvHrxpL5Q7nFz52ckipS6iQGLyxvWChZdzwZBYhIL+bLfY0/5xVF4Y+I88z6OpCZXx3hs7/qj0M0WoWE3LIGRa9L0b+bjUFE2auPaDmR1Lz3iC0n05j51RH+iryQI/KM/vo60sS1nVFYwYwlh3lpS1i95YXl1Zc9YVZUXsNi/Xb3RWWR3oSX37qgZG7+8lC9NuFpRZRWqTmeeMGLvaxK3SaFjtILK4g6X8yUAQ1PWLramHOL34X0NF2Ja0JA+uC3KKo1Wt6ZNahFldKszIz57E5/0gsqeHFTKE9tOEVfFyu+mBdQL1ypLZkd4IFGq7A7vGVCyK+n0nh6wykGe9qy8dExONfJ0N+eCCF47RZfHhzvxQ+Bifzfz2d4YNUJJn16gBWHExnd24n1j4xm3+JJPDyhN3aWF8cYtwWLp/dnSHc7XvklvNUuxE0Rk1nC0xtO8eHv0dzi586Wx8c1S6Ab4eXI6zN82RuV1WRGfkVRWBuUzKyvj5BfVsPah0ex/enxeNib8/jak03eMOvyzcF4rM2MuX+sV7PaezlbserBkeSXVTPnm0A++C2So/G5babUn04p4I5vj1JRrWHjY2OY5FM/Yb4Qgqdv8ObLeQGcTC7g9u+ONli94+eTabzy6xmu83Hh23uHY2bccN6afm42bHxsNKATkS41Y3ItszkkldVHk3hofG9ur+NF99J0H9QahS/3xV1xmxRF4d87z/J3bA7vzxnMdfrrxdzEiGen9GP/4uuZPqgbS/bFMeWzg+wMy0BRFIora3hq/UnsLU1YMn9os+7PvZ2teGCcF1tOprU6dKCwvJpXfw1nQDcbnp3SdGg0wPNT+xm87n48ltSqfUokEkl7EZZ64V5YKya1htVHkzgSn8vTN/QFYF8rRYnOQnRmMTFZJcwK8GCQpy4txNmMYmIyi7ExN8bT3oKxfZ0J/IdHT3NIzis3eKnHZl56zJJXWsWJpHwCethz9Fwus785wqkWhOiEpxeRmFvGwxN6AxeEgV9P6aIf/o5tpYCkFxyn+LpRWqUms84klFarcOxcHrcMdue/tw8hMD6Xaf87xNTP/2byZwcNL9fRmcVEni/mZHJBq72QckqqGPfhPn4ITAR0Hkimxip6OFo2us7TN3hjZqzif3vjWHrwHBU1Gl6cpgtHr81pGJykO8YJOaWM/GAvG0+k1NtGZY2GTcGp3DSoG3eN6M63B88R3Ihws/V0Ok+sO0VxZQ1DutuxKTiV8uoLAkNqfjnVam2rBKQB3WyIyy5FrdEavnchSfmXvC6T88p4Z8dZffsL19PZDN09obEcX7qw1zCKK9UcjM0xOEBkFFYw5sN9zapq3hRvbo8gp6SKbxcMA2B9E948f5zNRKtgCFkrNjI1CH+1x0KrVZj9TSAvbg5rdDvNZb8+mf4U38bzfS0c60VJpZptlxFd1Bnp8gJSYHwuO8IyeGJS31aFc43wcuTxSX35S6/irlg4Ehvz9hFBAAZ0s6W/mw3bQjOa/RBaeyyJFzeHMbq3I2sfHt1uIk1jCCF4a+ZA7hvTiy0n04g6X8yzk/sR+MpkvrtvOOO9nVsk3LUGU2MVX84bSo1Gy/ObQtG0QXU4rVZhb2QWC1YEceMXh9gfnc3LN/bn6/kNxyE3xgPjvJjl78Fnf8VwJO5iBb+wvJrH157kzW0RjOnjxB/PT2RiPxfsLU1Zcf9IqtRaHlkTUu/h0hDnckrZHX6e+8b2atE1MKS7PasfHEVfV2vWHE3mnhXHGfbeHp5Ye5JNwSmt9kTZF5XF/OVB2FqY8MuT4xjSvfGEnLMDPPnxodFkF1cyd+lRztQZuG47nc7LP4cxvq8zy+4bfsmkx96uNmx8bAxCCOYtCzK4mEsucDqlgDe2RjDe24nXbqnvTdnLyYp7RvdkY3DqFZ81Xnkk0RAi3FAIpoe9BV/NH8rmx8fiYGXKMz+d5u7vg3j2p9OkFlTw9T3DWiSePzOlH46Wpry7M7JVs2Rv7zhLQVk1n93l36ioWRchBO/NHsxUXzfe3nGW3x190CDIKanibEYRB2Ky2RycyjcH4nl7ewRPrjvJvGXHWhXKKpFIJC0lLK2QEb0csDQ1qicmtYSYzBI++iOaKQNceWl6fwZ0s6lXtayt0GoV7vruGB//0fx8TXd/f4xvWpH357cz5w1FUjzszLG3NCEyo4iYzBL6u9kghGCCtxM5JVUGj5fmUleoi26GgHQgJgdFgXdmDeLw/03G0cqU//4R3exn2PbQDEyMBE9d7427nTlHz+VSWaMxVCY92oBQcCqlgHEf7mNnWOOVopPzyrExNzYILnFZF45DdGYJeWXVjPd25q6RPdj+9ASWzB/KGzN8KSivYetp3cv1jjqVqJvKu5OQU8qw9/Y0mNtm44kUyqo1bAlJ09mRXUofZ6smJ5ZcbMx4aHxvdoZl8OOxJO4Y3t0g3ni7WGNnYUKIXgzaFppBjUa5yBN6Z1gGheU1LBzrxVu3DqK7gyWv/HymwfNyMCYHN1sz9r04iTdnDqS4Us32On2PayLs7lL072ZLtVrLkfhcYrJK6ONiRVZxFWkFjU9EqzVaXtgUikol6ONiZbgmy6vVJOSWYaQSHE/IQ91A/qqVRxI5lpDHQ+N76xwgInTX0frjyVTWaPnmQHyjHluX4u/YHHaEZfD81H7cNNidaQPd2Bic2mDIX1F5jUHkC0vV2R9pqfMMsrMwYW9UFoqi8HdsDvHZpfwefv6ilAiKovDsT6cZ/9F+VgUmXjK37t6obLycLOnr0ri+MKynPYM8bPnxaHKXSl/QpQWkarWuxHpPR0ueur5vq7fz/NR+PDjei5X3j6SnU+MKdlsxe6gHJ5MLGPH+Xhb+cIL//hHNb2fOk5xXdtHF9+3Bc7y5/SxTfV354YGRl129rbUIIXh39iB2PTOBI69M5oVpPnSzu7IVAHo7Wxkq6LVmgFBLaZWa1YGJTP7sII/8GEJCThmv3DSAoH9N4ekbvFsshgkh+PA2P7xdrXl24+l6HlLHE/K4+cvDHIjJ5o0Zvqx6YGS9F2BvV2u+mj+UmMziS4bBfXvwHKZGKsOsUksYpRcfT781jeULR3CrvwdhaYW88ks4o/6zjxlLDvPZXzEEJeSRVlB+SdfPzcGpPLb2JD5uNvzy5Lhmibdj+zrx61PjMDNWcff3QeyLymJnWAYvbg5lTG8nli8c0eyKWd6u1mx8bAxGKsH8ZUEXxURfy2QXV/LEupO42Znx9fxhDeYee2ZyP8yMVVc01OrPs5l8sDuKmwd345VLhAiP6u3IjkUT+PA2P+JzSjkYk8MrN/U3DFybi625CYun9+dEUj67wzMvvUIdfg8/z/bQDJ6Z3K9FhQqMjVR8NX8oQ3vY83S/W/EZ/SIjP9jLjCVHeHBVMP/3yxk++TOGX0+nE5tVQnZJFS//fIZ3dp5tcPAmkUjYIJ5IAAAgAElEQVQkbUG1WsvZjGKG9XLAz9OO0NSWeyBVqTU8vykUW3NjPr5jCEIIpvi6EpJc0GSIemNU1miYvyyI385c7JW/80wGJ5LyDWE6lyKruJLjifn1CtWUVqm567tjl0yyG5SQh5+nHc7WZgghGORhq/dAKjFU5xrXV1eF6b9/xLRo8iU0tRBzExXWZsbNmvDaH62rkjfYww47SxMW3eBNUEI+h+NyURSFr/fHMe7DfYz9cB8TPt7Ph7ujDBOBGq3CzrAMru/vip2lCeO9nTl6Lo+9UVmUVqmZPMCVhH8kAz96Lpd7Vxwno6iS1UeTGrUrKa8MLycr+rnpRI+6uSiPntNNntZWqvLrbscsfw8entCbQR62rD2WjFarsD00g+t8XPCwMzeE0lWrtSz84YQhBxXo8inll1Wz8UT9yRW1Rsv64ymYm6iIySohOrOY+OzSZgkxj17XBzsLEwSC5+qEwatUghG9HAjWe/HsCE3H096C7JIq1hzTHQ9FUVhzLAkfN2vG9HHE2syYp2/oS0JuGVHnLz6nIUn5jPRyxNhIxYheDvi627LmaJLhHS/+MgSk2kTaSw/qoh7+T1/YozFvqNq2p1IK+WCuH5N8XAhPL0Kt0RJ1vgRFgVuHuFNSpebMP7y1U/PL+eTPGG4c5MabM33xcbNmR2g6VWoNG0+kMtDdltIqNd/93TovpN/OZGBjbsxj1+ne4ReO9SK/rLrB+8HB2Gw0WgVbc2OD+H3WSucZ9PCE3qQVVBCbVcqPx5Jw0E+yrz9e34tsS0gaO8J0Aus7OyMZ//F+vt4fR1FFDedySnl5Sxj3LA+itEpNWZWaY+fymOLr1uR7oRCC+8d6EZNVwhj99/KVn8+0W06mK0WXrie84kgC53LKWPXAyMsq1WxmbMTbtw5qQ8ua5tGJfbA1NyEstZCzGcUsO5SAWi8c2JgZM9DDlkEedlSqNWw4nqLzbrnL35BQuKMQQjDYs+0rvrWE24Z5ciguhy/3xTGurxMjWvBCmZpfzuqjSWwOTqWkSs3QnvYsnt6fmwZ3u+xja2VmzHf3DmfW14E8uf4UGx8dw7d/n+Pr/XH0crJi61PjGz121/d35bVbfHn/tyi+2BfHi9Muzu+SVlDOttPp3Dum12WFL1qZGTNtoBvTBrqhKArRmSUciMnmQHQ23xyI56v9F4Q5e0sTXG3McLExw9XG3PB3ZlElK44k6sLNFgxrkajp7WrD1qfH8fDqEB79MQQhBCN6ObLygREt8voC6OuiE5HmLw9i/vIgvr5nqGGAd61Spdbw+LqTFFeo+fWpcThYmTbYzsXGjEcm9GbJ/ngeTyts0nusLTiTVshzG0/j392e/90dgKoZIWhGKsH8UT25xc+dUykFXP+P8MjmcvfIHqwNSuY/u6OY4uvarGdFbmkVr2+LwM/TjqduaPnkhIWpESvvH8myJ97DSFFweeoRXG3McLXVfZdcbMwMdqg1Wv6zO5ofAhOJzy7l6/nDrriXqUQi6RhCkvLZFprOqzf7Yt3OE4QxmSVUq7X4d7dHAKsCk6hWay/KN9gUn/8VS9T5YlbeP8IwFpni68Y3B85xMDab2QGeLbJp7bFkjiXkkZhbVu/+XKPR8rm+SnJ8TikllTWXjA6oDcuJzCg29Cs4MZ8TSflsCk5tNIddZY2GsNQi7h/Xy7BskIcdyw8noCgXXth7OFryzGRvlh1KYMrnWTw0vjdvzry47Po/CUstxM/TDq1S3wPpf3ti8XW3rZe7tVqt5VBsLrf6exiek/NH92T54UQ++TOGgzE5/BCYyARvZzzszckvq2b54QRWHU3Cv7sd1RqF7JIqZvl7ADDe24mfT6bx+V+xuNiYGXINBsbncueIHoQk5fPgqmB6OloyoZ8zqwKTSM0vbzAcLCW/HD9PO5ysTLG3NKnniRUYn0sfF6uLJpZrX67/75czfPv3OdILK1g83YfTKYX8fDKNyhoNm0NSORSbQ1p+OTP93BECg7fO7ojzvDtnkMEDeE9kFpnFlXx8ux+vbY1gU3AqqQXl3Dbs0tednYUJX9wdQEmV+qIKriO8HNkXnc3BmByS8sr57+1D2B1xnm8PnuO2YZ5sP51BRHox780ZbBATbtDnxdkXlcVAD1vDttILK8goquQxfQ5V3THoxau/hhOSXMBIL0fisktwszXDthURL96u1qiErmpZHxcrpg/sho25McFJBYYcpHUJTS3ky31xzA7wYJa/B4qisCowidisUiL14WuPTOzDttAMjsbnMqzO92RPZBbVGi1vzBiIEILZAZ588mcMyw8lkFdWzRfzAvjlZBqrjyby0HgvXG2b71ig1Srsj85hko+L4R40rq8TfV2s+DEouV7qBdCFqDlZmTJziDubQ9JQIzhr5YqLjRl3j+zB53ti+eFIIgdjc3h2cj+izhez8UQKz03ph7mJkS6Eb+dZxvbRpV45mVLA0gPxfPpXrCGs0dRIRbVGy3s7I7lhgCvVGi1TfBsv2FLLrAAPYrNKKK6soaxKw6aQVHJKq1i6YNhl6RMdSZcWkK73caWyWmP4El8tmBipuHdML+4do3tYVak1xGaWEpFRxNmMIiLSi9lwQucaOH9UD96f49duOZmuNoQQvD9nMKdSCnhuYyi7n5uInUXjN+Dc0ioOxuTwR0Qm+6OzUAmdi/KD472aTIjbGvq4WPPpnf48se4kEz7eT15ZNXcM7847swZdUmR5eEJvojNLWLIvjv5uNswY4l7v82WHEhACHruuT5vZK4TA190WX3dbnrrem6LyGk6lFJBVXEl2SRXZJZXklFSRXVLFicR8ckqqqNZ7SNw2zJOPbx/SKuHN1cacTY+P4eWfz1BSqWbpgmGtTrjex8WajY+N5aHVwSxYcZzHJvbhxek+zQo36mooisKb2yI4nVLI0gXD8HW3bbL9o9f1Yd3xFD76PZr1j4xutzDUtIJyHl4TgrO1GSvub76XWS12Fibc0ETFtUthpBK8OdOXe5YfZ+WRRJ6+wbvJ9oqi8MbWCEor1Zcl3DtYmfJK6mHdP+Peb7SdsZGKt24dyIBuNry+LZw5SwNZvnBEq2YmJRJJ+6Pz1K1osEJrS1l2KIG/IrOISC9mzYOj2lU8DtWHrQzprpvMqtZXNBrgbsPX++MZ5GHLVF+3RgX+4wl5LDucwD2je9bLCRLQ3R5na1P2RrVMQCqprGHpwXi8nCxJyitn7bFkHtWPcbaEpJGcV84D47xYfTSJ8PSiS04Q1XpgVGu0RGcWM6S7vWHZvuhstFqlwb5FpBdRrdHWm5Ac5GFrqDjWv9uFZ+ni6f1ZONaLd3dFsvJIIg9N6G0QI3aEZWBlalTv2NRotERkFLNwTC/KazT8duY8iqKQV1bNkv1x9HWx5sZBFzwcjifmUVqlZmqdl1YzYyNemObDS1vCCE8v4sHxXrw1c6BhnaTcMpYfTuBcTikWKsEMP10oEFzwmkrILePB8V4MdLfF2dqUo+fydOPTnZE4W5ux6fGxlFWpWRWYxI6wDJ6+wZuCsmo2nEjhgXFemBqrSCuo4NYhHggh6Odqbah+Vq3Wcjwxv9Hvw6wAD/7zexSf/RWDmbGK6YO64WhlytqgZPZHZ7NkXzy25sYk5JYReC4XS1Nj0goqmB3gwfbQDA7G5HDjIJ3ItuZYEp72FtwxvAe/R2Sy4XgKikKzq5k19r44wkv3PvDerkhMjVTcOLgbAz1smfnVESZ8dIBqjZZRvR25beiF69vVxhz/Hvbsjc7mmTo5EmtD4epeT7MDPPnP7iiWHUpgRC8HzrWiAlst5iZGeDlbkZBTZvi+Du/lYNhvXcqr1bywKRQ3GzPenT0YAH/9hGFYms6Jwd7ShEEetgx0t+VIfC6LJl/oy9FzuXg5WRoExVuHePDJnzF8vieWPs5WjO/rTE9HS3adOc+X++L4YK5fs/sRllZIbmkVU+t8X4QQ3D2yB//ZHU1aQTndHXT7rdFoORiTzfRB3RjWy4E1x5KJs3Qm0tKNQR62uNma4+dpx6aQVIxVgntG9yQ+u5S/IrP47cx5hva0N4TwfXaXPyqVYKSXI6seHMXZjCJ+PJqMi40ZD4z34ocjiSw9eI6TKQX1QjYvdU7eqCMmjzuezBvbIrjzu2MM6GaDkUrXr7Z+72xPurSANNDDtp7qe7ViZmyEX3c7/Lpf8FBRa7Tkl1W3SM29VrAxN2HJvKHc+d0xXtsaztfzhxoepFqtQnh6EfujszkYk02YvrqAq40ZT17fl/vGeLVr6N1Ng7vxzGRvVh9N4st5Ac0eTAkh+GDuYBJzy1i8JZReTpYGj6Xskko2Bqdy29Du7Vp5z87SpEkxVlEUiivUlFTV4GlvcVmCg6WpMd/cM6zV69elt7MVvz07gQ9+i+L7Qwkcisvly3kB+Li17uF8tfLjsWRDiftb/Nwv2d7GXOca/+6uSA7H5RoSWrclxZU1PLw6hMoaDT89OvqKJf//J+P6OnPjIDe+ORDPJB8XjI0EZVUayqrUlFerdX/rf6cWlPPH2UxevXnAFb2G7hrZg94uVjyx9iRzlwby1fyhXH8ZwplEImkf/r3jLPHZpVzXz/myxmhqjZZjCXkM8rAlMqOYecuDWPvwqAbvk/ujsxjsYXdZ+wtLLcTJypTuDhbUPr5D0wrZG5VlKKrg42bN6zMGXlQQQ6tVeHdXJJ72Frwxw7feZyqV4Ib+rvwRkcnX++MQ+om63pcIbV9xOJGC8hrWPDSKT/6MYenBeOaN6kFZlYYl++IY3suB56b0Y/XRJMJSLy0ghSTnG8SosFSdZ21IUgEqoUu8HJ5ehH+Pi71tQ5J1nksj6lTdHVTn3aL/P54DLjZmvDTdh51hGezU52DNK63ipc1h1Gi1vD9nMAtG6yaIDV5fPezJL6tmQ0UKWcVVHI7T5TmKzy4l6nyJ4V1mX1Q25iYqQyhYLXOHerI3MovBnrYXpVrwcrZq9MXdzdYcb1dr4rNLmR3giUolGNvXmSPxufwekUl4ehGf3umPo5UpjlamDO/lwI7QDJ66vi8v/3yGvVFZmBqpmDbQDY1WoZc+zYe3qzV/6HPhhKUVUl6tafT8mJsYcfeIHnx/KIGpvm5Ymxkzpo8TlqZGvLY1nMLyGjY8OppnNpxmzdFkPO3NMTNW8c6sQRyJy2VHaAY3DupG1PlighLyefXmARipBLMDPDgYk2Ow53Lw87TD1EhFQm4ZNw5yw87CBDtPOx6d2Jv47FIeu64vY/o4XjTunTrAlc/2xJJdUomrje67GZyUj7WZscFzDXReyY9O7MNne2J5a7vu/nHniB6ttndANxsScsqYrB+zj/Ry5GBMDAVl1fU8z9//LYqkvDI2PDLGMNney8kSO4sLUTCDPGwRQjDe24k1R5OpqNZgYWqEWqMlKCGfWQEehu31dLJkaE97TqcUct/YXqhUgl5OVtw7phdrjiUxY4h7syMB9kVlY6QSXN+//r1mqq8b/9kdzf7obBbqCwaFJBVQXKkTVmsF3RM23YmzdGKyfrJ0iq8r4elF3Di4G262uqiJvi5WvLPzLCVVakyNVHxxd8BF71GDPOz4+I4hhv+fn+rDobgcItKLudXfo1WTiAtG98LazJjP98QSGJ9rSLK9fOEIJvZr+7F2e9ClcyB1ZYyNVFI8aoKhPR14YZoPv505z5qjSew6k8HizWGM+s9eZn8TyJL9cRipBIun+bDrmQkE/WsKL9844IrkbVo8vT+hb01vsSu3mbER3907HEdLUx79McRQoWLl4UTUGi1PXkaer7ZACIGdpQndHSzbPWl6S7E0NeaDuX6sWDiC7OJKZn51hB+OJDaZU6orERify7u7Ipnq69pgCGRjLBjTk+4OFnz8R3SbH6sajZan15/iXE4p3987HO9Wzra1Fa/fMhC1RmHmV0e46YvD3P7tURb+cIIn1p1i8ZYw3tp+lo//iGbjiRSmDHDl0Ylt5+3XXEZ6ObJ90Xi6O1jy0OpgVhxO6FJJGSWSzkREepGhOlZzic0qITqzBLVWYcM/qjRdCo1WISjhQhWviIxiSirVPD6pLyvuH0Fibil3f3+MzKL6hS32RGbx0OoQXtsa0Wg/Gqpu+k/CUgvx72GPEAJPewucrU3ZHJzK1wfimRPgwRd3B1Ct1rJow6mLinrsjjjP2YxiFk/3adBjeM5QTypqNHz6Vyyf/BnD3KWB9Ypl/JO80ipWHE7g5sHdGNLdnpdv7E9BeQ3zlwcx8b/7ySur4l83D8DByhQvJ0tD0tzGKK1SE5mhe+FztjYlNLWIKrWG0LRC5g7tjkroQo0aIiRJFwrkVEe46+1sjYWJEe525g16hfVysiKgh70hKfTG4FSdF1MvB17fGsFyfWWq2jxTAT3sDbmUojOLDeE4xirB9jBdgmlFUdgblcUEb+eLPHWNVILv7hvOosn9Wjz+mhPgwbCe9vjrJ6lrk4G/tT0Cb1dr5tbxqpkd4EFMVgnv7opkb1QWNmbGrA1KJiFX521Um+/S29WGgvIa8kqrOBSbg0rA2D5Ojdpw31hd+oUFo3XFM8xNjJjYz5nC8hqmDHBlXF9n5o3qwb7oLLaeTmeqrxv2lqbMGOLO3qgsItKLeGRNCDbmxtylF16mDeyGuYkKI5XAy/ny8teamxgZPPPqjt1fnzGQVQ+OYmxfpwaP+2S9p1jdhOAhSQUM7Wl/Uf7JRZO9eXxSH9YGJVNWrbks0WuSjwv93WwMomft75PJF3J97YvKYsPxFB6b2IexfS+cGyEE/j3sCUkuICarxJDjcby3M9UaLSHJOk+msLQiSqvUTPiHmLlwbC+6O1jUCzH7v5v609vJipc2hzX7nro3KovhvRywt6yfaqGPizV9nK0MObJq+2JqpGJiPxe8nCyxNTdmi8tgNEJlsH/mEA+crEwNYzchBIsme2NspOKJSX058spkbm7G5KqpsYov7h6Ki41ZPY+zljI7wJO/X76Bo/+awoGXr8fLyYqHV4cYktl3drq0B5Lk2uaJSX0JjM/l3zsjAV2oyyQfFyYPcOU6HxccG8n/ciVobcihi40Zy+8fwR3fHuPxtSf5/t7hrAtKZuYQj1ZVGbzWmDrQjT96XMerv5zh3V2RHIjJ5tM7/XG7QmJsUUUNf53NZNeZ85xIzEclwMRYhYmRClMjFabGKkyMBCZGumWWpkbcP87L4J7dUhRF4YfAJD76PYrezlbNzi9Ui5mxES9O8+HFzWHsCj9vyJtwuWQXV/LvnWc5HJfLf+8Ywjjvjs9N1dPJkrUPjyIlvxwrM2Pdj6kRlqbGWJsZY2lmhJWpMeYmqg4VSLs7WPLzE2NZvDmM93+LIjqzhA/mDr4mwzIlkvYiIaeU2d8EMifAk8/u8m+0XW24Ua1X0I7QDIxUAj9PO9YfT+Gp672bnUNoxeEEPvw9mpX3j2CKrxuB+vLq4/o64Wxtxo8Pjeah1cHc+f1R1j08ml5OVuSUVPHqL2cwVgn2RWfVy09zND6Xr/bHcywhD1tzY9Y8NMoQIpFZVIm9pYlBiCitUhOfU8rMIbp7vBAC/+727IvOxtPegnfnDMbW3ARPBwvu/O4Y205ncI/+ZV+t0fL5X7H4uFkzy7/hF6rx3s5Ev3cTCpBWUMF9K49zz/LjfHLHENztLTBW6ULmjVSCovIaHl4TQpVaa5jwGNLdnlv9PfjzbCbzRvbksev6GPpZNxStMUJTCtEqOhE+MqOYM2mFutA0tZZpA91IyS9jb1Q2L07vX289rVYhJLmAGwfWfwYbqQQjezs2mSJhdoAH7+yMJDqzmPVByYz3dmLVA6N4YVMoH+yOorRKTXphBY56ry8bc90rWXhaEYfjcpg91JPzhRXsCjvPKzcOYFf4edIKKni2TghRW7Bocr96YUm1HiK5pdW8P2dwvfHqLX7uvLMzklWBSYz3duLukT159iedZxBQzwMJ4IFVwYSnFzGmj2OT4ZfdHSwJeWNqvWUzh3iwPzqbxfpzsmB0L749eI7iSrXB62V2gAc/Hktm7tJArM2M2fDIGMPY3trMmJlDPIjLKmmT5+MkHxeS8i549TSHge62hoTgd4/sSVF5DTFZJQ16gQshePWmAdiYGfPpX7EGwao13D2yJ3ePvFDJ1r+HPSZGguDkfKYOdCOnpIr/+/kMvu62vDj94knFgO52HIrVeW/VetuN6u2IuYmKX0+lM7GfC0fjcxENCINzh3Zn7tD64YqWpsb87+4Abv/2KG9tj+DLeUMbtDujsAJXGzMyiyuJziy5qEpwLVN8XVlzNJnSKjVGQrA9LINx3k6GdCD+Pew5XKmuZ7+3qzUn35x2SVubg7erNcGvT710w2bibG3GxsfGcP+qYN7YFsHEfs6tTt1xpejc1kkkl4GRSrBk/lB+PpnGiF4OBPS4WPG/GhnkYcfnd/nz5PpT3Pr1EcqqNa1K5Hut4mKjy7Wz4UQK7+2K5MYvDvHhXL9mzTy0hpLKGvZGZbEr7DyH4nKo0Sh0d7DgrhHdMTFSUaPRUq1RdL/VWmo0WsOy1PxyHl97ktuGevL2rYNalP+iqLyGl38O46/ILKb6uvHpnUMumWS0IWYHeLLsUAKf/RXDTYO6tSih6j8pr1az/FAi3x86R41Gy6s3DzDMFnYGRvdxYnQTs6SdBSszY5YuGMaX++L4cl8cCTmlvDlz4GWdm7r0dbG+ahM7SiRtwed7YnUVq85k8NotA+p5n9Tlg9+iWH00iY2PjWF4Lwe2h6Uzrq8TD43vzYOrg/nzbCa3NkN4L66s4du/dVWT1hxLNghIA7rZGMSpUb0d2fDoaBb+cIJp/zvEXSO6k5JfQUmVmpUPjOSh1cGsO57Mv272ZXf4eZ5afwpXGzNevrE/m0NSuXfFcV6b4cueyCwOxuTgYmPGoxN742Zrznd/6xJCj/S6EKY13MuB/THZfH6XvyGZb23FqB+PJTF/VA+EEPx8Mo2E3DKW3Te8ycmx2vFXb2crtjwxlgUrjvPk+lOGz/s4W/HwxN6sC0rhXHYp3ywYRr864WGf3enPh7f5XZRM3L+HPTvCMsgqrmx0Mig4STdhM7SnPaGp9uyPyTaEN43wciA5z40Pf48mo7ACD3sLQ5LtczmlFJbXGHLg1GXZfcNpai5hxhB33tsVyctbzpBRVMnbswZhaqxiyfyhWJga8eW+OEyMBBO8nRFCYG9piputGRv0Zein+rpSXKHm+U2h7DyTwRvbIhja075ZCaEvhx6OlvRxscLG3OSiyStnazMm+bhwMrmAT+/0x9naDFcbM/6OzcHS1AgX/bVam9clraCcF6b68MA4rxbbMXOIO9f1czGMezzsLbhpcDeOnsszhDUN6+mAl5Ml5dUa1j0y+qKw8v/M9UPTRt7TT93gzYMTerfo2SiEYLKvK7+cTKeyRsOplAIUhQavp9r2iyb3476xXk2Kky3F3MSIYT0dWBWYRGmlmtQC3X1jw90BDYprdUM5awUYS1Nj7h/rxbLDCboJ+nO5DHS3bbQYS0PbfG5KPz7bE0svR0temOZTbzIuLLWQuUsD8XSwYJC7Tjyrmy+sLlP+n73zjo+iTv/4eza9kUISEkioAUJHQLoiikqxnPXu7N7Z9Wx350/Ps56K9ez1wIooWBEpIr2EkgQSIL2Q3nvdPr8/dnfYzW6STU/g+3690Ozs7OyzszOz3/l8n+fzTBjC//adYl+6ydS8vF5j4185PTKAfRkV+Oo1DHdg+N4fCfB25+s75lBU09zvxSMQApLgDCfY14N7Fp154sqyKeE8vGQsb23PYMmEIUSHDXyvr95EkiRunDOCuaMH88i6BO79+ijXzIjgieXR3eLD06TVsyOljF+PF7ErrRyt3ki4vye3zhvJZdOGMi3C36ksFp3ByHs7M3lvVyYHsip45ZqpTvneJObXcP/ao5TUqvn3ign8deGoTmfNuKgkHls6nr98Hse3sXlKzXlHMBhlfjxawOvb0iit07B8Shj/tzSaEYNF1lxnUakkHrl4HOOG+PH37xK46oOYbtv274+cb3PjJhCcTSQV1fLr8WKWTwlj84kS1sXlc98F9ub6+zLKWbX/FC4qiUfWJ/DiH6aQX9XMQxeNY9G4EIYHefPVwVynBKRVe7OpadKxbHIYW06WkFJcR1xuNTfPHWGz3tSIADY+sJAPdmeyLjYfnUHmmctNnkSXTBzC+th8bpg9nCd+PMG0CH/W3T0PTzcXrp0ZwU2rDvPkTycZ7OPO3y6M4lheDS9tTgVgTIgP/71+mk026F8WjOKSiUNsyoutO0bF5lQT4O3Ga7+lMT0yQDFmdoZwfy823L/A5C8kmxqafHYghyd/Oomnm4pVt86y891zd1U5FMmnR5puNhPza7iklWzduNwqJoQPws/TjWmRAcgyrD2cx+hgH4J9PbhogklAen9XJnlVTRzOruKN66dRb85icGSU256QEOrnyXyzn9CwAC8uMmeuuKgkXr1mKj7uLnxxMNfGOHd82CD2ppfj6aZi/phgDEYZTzcVj65PxMPV5NHSGxOhX98xB09XF4fjhjeum0ajVk+4v8kr5sY5I3hzezojBvso6w8Z5MnWh85jWKBXp2+GLbYI1rx8zVRqm3SK6CFJEuvvnoe7q8qu1AnotkkVMH1vnemEuGTCENYcyuPOL+Pw9XDFVSUx3YHXljXdKR5ZeOtP03lnRwbr40zXjacvm6iUTbbE0nnXy82FUcGnS+nuWTSGtYfzeHFzCkdza7h9wcgOxXDf4igKqpt5Z2cmDRoDT102QTlmXvstDX8vN4J8PNiaVMLoYB/GhDgu45s5IpBBnq78dKyQw6eqWDw+xOYctRiBT2wq61DWfV/j6+E6YPxZhYAkEAxQHrxwLEP9vXrE3PhsYUyILz/cO593d2Tw3q5Mfk4o5IJxIVw1YxhLJgzp0ExTbZOOnWmlbEsqZVdaGWqdkVA/D26YPZzLp4VzTkFjfTMAACAASURBVGRgh3/I3FxUPHLxOJZMGMKj6xO47bNY/jx7OE+ucNzSWZZlPo/J4aXNKYT6ebL+nnk2LVc7y+LxocweFcQ7OzK4ZkZEu10DrdmfUcGLm1NIKa5jemQA798ww6b7iKBrrJgazpRh/qSU1HXbNnvDC05w5mMwyqgkulTyKcsyBzIr+WhPFnqjkQ9vnNnujLcsyzz580mSi+q487zRLJ0c1qGy8dfNNzIrr55KTZOOrw+ZfEKsb9xrmrT847tEokJ9ef6KSdy0+jD3ronH3VXFpZNMnY9umTeCFzal8J9fk7nr/NFUNmj5cE8W2eUNfPXXOUqpTUWDhlX7T7FiSjjPXDGR7Sml/OO7RLR6o52/CJgyRFZePZUHLxpLQl6NkiVy87wRbDlZwjUfxqDVG3nzj9OV37AhgzxZf/c89mdWsGTCELzcTcuPF9RQ3aTjvKhgu98nTzcXh950lo5Rr2xNJbu8AVcXFa9fN7XD37Ofp20HzWtnRnAgs5IgH/cONcCZNNQfF5VEYoFjAUlnMHIsr0bJdrV4/VQ2apUW3GNCfBg52JuvD+cR7OvB2CG+PPjtMUYEeRPs66GUZnWUK6YPZX9mBTfOHW5z/KhUEs9eMYkLJwyxyfqKDvNjb3o5C6NClO/u4olhbEws4tnLJ/XapItFHHJEoI+7zTn45zmRvLcrg5Et9lFPTEIM8nSza23f3/1gF40L4fFl0XyyN5uqRi3TIvz7JMMk3N+LlVdP5aGLxnEsr7pNa4QQPw+GBXgROsjD5toZ6OPOneeP5r+/pwN02H7ARSWx8uopeHu48OmBUzRp9bx41RQOZ1eyP7NCmfCMzaluU0Rzc1FxwfhQfkk0eYz9vUXp6VSzqDyxsczutYLuQQhIAsEARaWSuP7c/lP+M1Bxc1Hx6CXjuWL6UL6LL2DDsSJ2pJbh5+HK8inhXDVjGLNHBjkUf0pq1fyeXMJvSaUcyq5Eb5QJ9fPg2pkRXDZ1KOeODOq035U1UyL82fi3hby5PZ1P9mazL6Oc166dZmN8WNus4/++P87WpBKWTAjl9eumOZyR6wySJPH4smiu/iCG1ftP8eBF7XswpJfWs3JzCrvSyokI9OLdP5/DZVPD+53B+pnA8MHeDO/kDY7gzEOSpKXA24ALsEqW5Zd7OwajUeax74/j7irxwh+mtHodTC2p45kNSTRoTJkeSyYM4eElJiPgsno19605SlxuNaF+HtQ06/jTJ4f46o7ZSkcjgJ+PFbL1ZAkvXDWZYF8PNiQUsfZwHkE+7ty/9ihD/T0J9HFHkuC6mZHc2kY5ze/JpexKK+f/lkbj7+XGLfNGcs+aeLYmldCg1vN9fAHNOgPVjVqqGrWsvvVcJg/z5/7FUby7M5Nlk8OUUuEb5gwnuaiOzw6c4ouYHPRGGV8PVzR6A//68QQf3jQDWYaXNqeY/H4uGUeonyfLp4SzIaEIV5XE7FGti+3h/l6ETzl9oz9v9GDGhvqSUdbAS1dNYXSL2ftAH3e7bChLpkFH8HJ34Y/nRvK/facYFuDF13fM6RYPRkmSWDi24354nm4uRIf5kZhfqyzLKm/gkz3ZnCyqRWcw0qQ1KGVDAd7uSjc2y2SGJEmsvHoqeVWNXDl9GLIMd6+JZ296Ocsmh3X6d+uKaUOpbtRyY4tMMst7tuxmZ8k+WDLhtLD26MXjmDMqiOtmddyrpTcI9fPknT+do3hSCWyRJIl7Fo3h1nkj+TmhkHFDutYRrquE+Xs6Zdmw8uopeLvbT6L+ZeEovojJoU6tsxE/nUWlknj6son4erjy7s5MmrQG8qqaCPf35Ka5I5Cktq97Fi6aYBKQLpsarnSlthDq58lrWZuZW1fQ4fgEziH1VAeXjgxgZs2aJcfFxfVIHAKBQNARLJ1wfjxayNaTxTRqDQwL8OIP5wxVzPa2mUUjS+eX0cE+XDIpjEsmDWF6RECPpszG51bx9/WJ5FQ2cfuCkTx2aTQZZfXcv/YoxTVqHl8W3aWStba468s4DmRWsGJq24OPumY925JL8PFw5W8XRnHLvJHCU8cRF1xg+v/u3X0ZRa8hSVK8LMuz+jqOMxlJklyAdOBioACIBf4sy3Jya6/piTGYLMu8vi2N93dlceX0obx+3TRyKxv55kg+o0N8uGZGBGkl9dzy6RHcXFRMj/SntllHbE41f549nPsuGMPNqw9TWqfhyRUTuG5WBHE51dz5ZRyhfh48f+VkzhsbzFeHcnl6QxJgyiJ59dqp3PZpLOPD/Fh751y2p5SyMbEIncFIWb2G4wW1PHTRWEWksmbryWL+9s0xxob68cO985VW1ee/uosic+ez6DA/IgJNos2V04cpgozOYOTlLalcdc4wu5uZvMomvjqUQ4C3OzfNHcG62Dxe2pzKy1dP4WheNevjCnhgcRT/uNQ0ix6fW801H8Ywa0Qg3987v0P7PTanisPZlXat3Lub8noN7+3M4O5FY+zaXvcF//rpBD8eLWDx+FDq1XoOZFXg7qJi3pjBuKokfDxceeEPkxVx76Fvj7EhoYhd/7iAUa2IXxq9gfd2ZnJhdKhNmVlPUtOk5Y1t6Ty2dHynPAsFgt5ge3IpOZWN3NHFbrQf7s7ila2mMtqXr57Cn2YPb+cVp2nS6nlpcwr3XhDFMEfXoLNsfOUM3TkG6xEBqaMDGCEgCQSC/kiTVs+2pFJ+PFbI/oxyrL0Yp0X4c8mkMC6dNIQxIb69mlnTpNXz6tY0Po/JISLQi7I6DcG+7rx7wwxmjui5gW52eQMPrD1GdZO2zfVUksTFE4fw4EVj+7TbYb/nLBvgCAGp55EkaR7wrCzLl5ofPwEgy/LK1l7Tk2OwD3Zn8urWNEYF+5BT2YhKkjAYZUL8PGjWGgj0cWPtHXOJDPK2EZ3cXVV4uKr4/PZzmTni9Gx0fG419399lJI6NaODfciuaGTJhCHcOn8E9645SoNGj6+HK1seOs8uI8JglHn8h+N8F1/AiinhRASdvulo0hhYeySPaRH+fHb7bJvyiZ+PFbIxsYhb54/kvLHBXb7WG40yN646zMHsSgAevDDKxlBWlmWe+PEEC6KCnfJPEsCh7Eqe25iMwWhEJUlcGB3KXxaOatXTcF9GOT8eLeS/108TWbECQR/y7ZE8YrIq+e/107rX3+ssG185w0AQkDo0gBECkkAg6O+U1anZdKIYF5XEkglD+sWsa0xmBU/8dILxQ/x49dqp3VayJuglzrIBjhCQeh5Jkq4FlsqyfIf58c3AHFmWH2ix3l3AXQDDhw+fmZub22MxfXkwh492Z3HtzAhuWzCK1OI6PtidRW2zjv/dMsvOc+ujPVmsj83nnT+fY5fNA6bMkJ+OFrJ6/ymmRQaw8uopuLmoSMyv4ZH1CTy8ZBxXtCK8GI0yK7eksOZQHsYW49+FUcG88+dzOuTx1lmKapq57bMjXDczkjvP79osvkAgEAhacJaNr5xhIAhITg1gLAgBSSAQCDqHLMtiBnWgcpYNcISA1PN0dPwFYgwmEAgEgjOMs2x85QzdOQbrMxPtFrNffRWGQCAQDGiEeDSAEQMbQfdTCFh3V4gwLxMIBAKB4OxAjK96lG4sNrSh3QGMLMufyLI8S5blWSEhog25QCAQCAQCQReJBcZKkjRKkiR34E/AL30ck0AgEAgEgjOEniphc8Vkon0RJuEoFrhBluWkVtYvB1oW4PsDtQ5W76t1RExndtz9MSZn4x4O5PWzmPrjfupvMQ3UuPtjTAM17v4YkzPXk85ua4Qsy2LGqIeRJGk58BamLrifyrL8YjvrOxqDdQRnj/We2EYwUNHHMXTnNro7Bsv+6es4+uL1HdlGW/vpbNsXLbHeNwP5c/T0Njp6rvXXz9HT23C0nwbi5+ipGDp7zW4vjmDAp9vGYLIs98g/YDkmESkLeLITr/+kP60jYjqz4+6PMXUg7vJ+GFN/3E/9KqaBGnd/jGmgxt0fY3LmetLd2xL/BvY/Z4/1ntgGENfXMXTnNro7Bsv+6es4+nsMbe2ns21ftLVvBvLn6OltdPRc66+fo6e34Wg/DcTP0YMxdOqa3V4c3bFd63895oEky/JmYHMXNrGxn63T2+83UGMaqHH39vt1Z9w1vfh+A3Vf9vb7nclx9/b7nclx9/b7ObOOM9eT7t6WYGDj7LHek9voDzF0xzb6Qwz9ZRv9IYb+so3+EEN3bKM/xNBfttEfYugv2+gPMXTHNrojhu6gx+PokRI2gUDQe0iSFCeLzkYCgaAb6M7ribg2CXoacYy1jdg/ziH2U+uIfeMcYj85h9hPbdNT+6e7t9tTJtoCgaD3+KSvAxAIBGcM3Xk9EdcmQU8jjrG2EfvHOcR+ah2xb5xD7CfnEPupbXpq/3TrdkUGkkAgEAgEAoFAIBAIBAKBoE3OugwkSZI+lSSpTJKkk1bL/iNJ0nFJkhIkSdomSdLQvoyxJ5EkKVKSpF2SJCVLkpQkSdJD5uVBkiT9LklShvn/gX0da0/Rxj5YZz4GEiRJypEkKaGvY+1JJElaKklSmiRJmZIkPW5etlqSpETz+fC9JEm+fR1nT9HKteBsOg8cff6z5hxo7Tpg9fzfJUmSJUkK7qsYBQKBQCAQCASC/sRZl4EkSdL5QAPwpSzLk83LBsmyXGf++0FgoizL9/RhmD2GJEnhQLgsy0clSfID4oE/ALcBVbIsv2wWEwJlWf6/Pgy1x2htH8iynGy1zhtArSzLz/dVnD2JJEkumLokXgwUALHAn4ECq3Phv0CZLMsv91mgPUgr14JXOXvOA7vP3+L5M/0caPU6IElSJLAKiAZmyrLc1ZaqAoFAIBAIBALBgOesy0CSZXkvUNViWZ3VQx/gjFXVZFkulmX5qPnveiAFGAZcCXxhXu0LTKLSGUkb+wAASZIk4Hrgm76JsFeYDWTKspwty7IW+Ba40ko8kgAvzuxzwe5awNl1Hjj6/MDZcQ60cx14E3iMM/j4FwgGCpIk/cGcDRjd17H0F8z7Y43VY1dJksolSfq1L+Pqz0iS1NDXMQwE2ttPkiTtliTprDRBFtci55Ak6UlzZrelumdOX8fUn5AkKUKSpA3maocsSZLeliTJvY31H5Ykybs3Y2yPfpGBFBwcLI8cObKvwxAIBAKBQNBDxMfHV8iyHNLXcQhsEWMwgUAgEAjObLpzDObaHRvpKiNHjiQuLq6vwxAIBAKBQNBDSJKU29cxCOwRYzCBQCAQCM5sunMMdtaVsAkEgr6nUaPn4z1ZGI19nwEpEJz1XHCB6Z9A0E947bdUbl59uK/DEAgEAoGg+zhDxltCQBIIBL3Oyi0prNySyrbkkr4ORSAQCAT9jKO5NcTmVNEfbBYEAoFAIBCcRghIAoGg16lr1gOg0Rv7OBKBQCAQ9DdK6tSodUbKGzR9HYpAIBAIBAIrhIAkEAh6HTGnLBAIBAJHyLJMUU0zAPlVzX0cjUAgEAgEAmuEgCQQCHodUZYgEAgEnUeSpEhJknZJkpRsbpf8kHl5kCRJv5vbA/8uSVJgX8faUWqadEp2akF1Ux9HIxAIBAKBwBohIAkEgl7HIh9JktSncQgEAsEARQ/8XZblicBc4H5JkiYCjwM7ZFkeC+wwPx5QFNeqlb/zq4SAJBAIBAJBf0IISL3IlhPFnP/qLgyi85RAAICQjwQCgaDjyLJcLMvyUfPf9UAKMAy4EvjCvNoXwB/6JsLOU1x7umxNlLAJBAKBQNC/EAJSL/Kvn06QV9VETZO2r0MRCPoWoaEKBAJBtyBJ0kjgHOAwMESW5WLzUyXAkFZec5ckSXGSJMWVl5f3SpzOYslAGhbgRb4oYRMIBAKBoF/RaQGpjfr7ZyVJKpQkKcH8b3n3hTuw8XRzAUAtOk8JznJks4IkKtgEAoGg80iS5Av8ADwsy3Kd9XOyyWzOoVwvy/InsizPkmV5VkhISC9E6jwltWpcVBLnDA8QApKg29mdVsa1H8agM4ixuEAgEHSGrmQgtVZ/D/CmLMvTzf82dznKMwSLgNSk0fdxJAJB/0ASRWwCgUDQKSRJcsMkHn0ty/KP5sWlkiSFm58PB8r6Kr7OUlTbTKifByMH+1BUo0YvbvQF3ci3R/KJy62moFqURwoEAkFn6LSA1Eb9vaAVPFxNu7tRa+jjSASCvkU0YRMIBILOI5k6EKwGUmRZ/q/VU78At5r/vhXY0NuxdZWSWjXh/p5EBnlhMMo2ptoCQVfQ6o3sz6wAhEG7QCAQdJZu8UBqUX8P8IAkScclSfq0tRay/bn+vqdQBCSRgSQ4y7EISKKETSAQCDrFAuBm4MIWlgEvAxdLkpQBLDE/HlCYBCQvIgO9AUQZm6DbiMuposE8Bs8TApJAIBB0ii4LSA7q7z8ExgDTgWLgDUev68/19z2Fh7mErUEISIKzHFm4aAsEAkGnkWV5vyzLkizLU60tA2RZrpRl+SJZlsfKsrxEluWqvo61I8iyTFFtM2H+nkQGmQSkAtGJTdBN7Eorw91FhZuLJIRJgUAg6CRdEpAc1d/Lslwqy7JBlmUj8D9gdtfDPDMQGUgCgQlLBpLBKIQkgUAgEJiobdah1hkJ9/ck3N8TF5W40Rd0HztTy5gzOohhAV5CmBQIBIJO0pUubA7r7y3mjWauAk52PrwzC4uJthCQBGc7FtnIKMyQBAKBQGDG4ncU7u+Fq4uKcH9P4VUj6BbyKpvIKm9k8fhQIoO8hTApEAgEnaQrGUit1d+/KknSCUmSjgOLgUe6I9AzARez4YtGbyS/qombVx+mTq3r46gEgt5HZCAJBAKBoCXFtaaskDB/TwAiA73JF92yBN3A7nRTQ8LF0WYBSQiTAoFA0ClcO/tCWZb3g8Me3Js7H86ZjcUwWG+UeX1bGvsyKtiWVMq1MyP6NjCBoI8QApJAIBAILFgykIYGmAWkIC92pZ0djVYEPcvO1DJGDvZmVLAPkYHeVDfpaNDo8fXo9K2QQCAQnJV0Sxc2QevoDEZW7ctGqzeeFpAMRho1BgC8zGVtA40DmRUcy6vu6zAETrD1ZDGZZQ19HUYLTMKREJAEAoFAYKGkVo1KghBfD8CUgVRer0GtM/RxZIKBRINGj2xVIt+sNXAwq5LF0aGASZgERBbSAKZOrcMoxpACQZ8gBKQe5sejBbywKYUPd2chmRO29EZZ8UFq0g5MP6QbVx3mqg9i+joMgRPcs+YoS/67p6/DsEEpYRMeSAKBQCAwU1SjJtTPE1cX0/BU6cQm/GoETtKo0XPeKzu5afVhaptNNhGHsivR6I0sHm8WkAJNx5UQkAYm9WodC1buZF1cfl+HIhCclQgBqYdxVZl2cXZFg2IYrDfI6AxGAI7l1/RZbIKuk1XeoHyXgo4jZo8EAoFAYKGkrplwc/kaWGeKCB8kgXPEZFVS3aTjQGYl134YQ35VE7vSyvByc2H2qCDgtDAp/LUGJicKaqnX6InNqerrUASCsxIhIPUw/l5uAJTXa5SZEJ3RiIvKlI209nCeTZqtYOBQXNvMRW/s4cVNKX0dyoDDcsTrhYAkEAgEAjPFtWrC/a0EJEumiMhAEjjJztQyfNxd+PIvsymtU3PVBwfYfKKEBVGDlW7Igd5u+Li7iAykAUpCgWnyPa2kvo8jEQjOToSA1MNYbpBjsiqJyao0LTPIaPSns1as/xYMHKoatYApNbq/0l/FSUtcwgNJIBAIBGD6XSiuURM2yEtZFuLngYerStzoC5xClmV2p5WxcGww548L4cf7FuDl7kJFg0bxPwKQJInIIO8ztjTytd9SeXVrao+/z6mKRi5/dz8lZvP7lryxLY3//Jrc7e+bkGcSkDJKG9CLKgCBoNcRAlInGffvLbzgxEXRUXmT3mC0MYS0+CEJeo5GjZ6Rj29ifTfWS6vMruj9VKMBeleg+flYISMf36Rk2rWFJSpjf955AoFAIOg16pr1NOsMSgc2MN3oRwR6iRI2gVOkldZTXKvmQrNYFBXqy8/3LeD/lkZz1TnDbNaNCPQ+I48rWZZZF1vA+rj8Hp9E3JFSyonCWranlNo9ZzTKrDmUy1cHc6lTtz8u7AiJBTV4u7ugNRg5VdHYrdsWCATtIwSkTqLVG1m1/1S76+mN9gKSzmibgdSkFd1FepqSOtPsyEd7ssgsq2fByzspr9d0aZuKgET3/kCnltSx8JWdSoZTe+gNRq79MIYnfjxh95zOcDq22mYd57+6i5OFtd0WqzUf7ckCoLADngKihE0gEAgEAMV1pt+OMKsSNjD51YgSNoEz7EwtA+CC8aezjQb7enDvBWPwdne1WTcyyIv86qZ+m6ndWYpq1VQ0aKho0FJY07MCWYLZxzUmq8LuudSSeqqbdGgNRrYn2wtMnaWkVk1pnYbLpoYr7yMQCHoXISD1MDq9/Q+T3mBEozPg426qxW4cYJ3YBqLxsWV8IAGr9p2isKaZ37v4g2bJnunu3fH+riwKqpvZl1Hu1Pq1zTricqv55kie3XM6KwHzcHYleVVNXPbufuJ6wHjQso/NvvF8uv8UW0+WKM8bjDJP/HiCzLIGZd3eOJa+PpzLxsSiHn8fgWCgUubmw9/HLKNZTGYI+pDiGtNET7i/l83yyEBvUcJ2FvD5gVOs2pftVBZza+xOLWfS0EEMGeTZ7rqRgd40aQ1UOjlZ15cYjDIvb0klvbR9sSTRqjlPYn7PTBgq2zd7ER3MqrQbz1lEpQBvNzafKO6297SIVlfPiMBVJZFaUtdt2xYIBM4hBCQzZXVqPtmb5dRMREduelftz7ZbpjfIqPVGgnzdAWjUnB60VzVq+WB3JrIsozcYeXt7RodK3H6ILyCluGcupslFdfwQX4B2ANYbW0q5JEnCnDjU5cwhvcEiIHWvCGI5BiVLoO1gncF25JStMKS3ykCy3t61Hx3sSogOsewHCdP7PP9rMvesiVeeL6hu4psjedz66RFlz/fGofTkTyf52zfHHD4Xm1NlI3IJBGcbsiwze+Z9/BAymW3J4lwQ9B3FtRYBqWUGkhd1an2XhAVB/6a6UcvzvybzwqYU5q3cwVM/nySjtB61zqD8a8/rprZJR3xeNYutso/aQunE1o442R8ylBILavhoTxZ3fBFHbVPb50Fifg3uLircXVSKwNMTVDZoyK9qJjrMj+omnV0m0MGsSkYF+3DNjAj2pld0WxlbYkENriqJ6ZEBjAnxJbVYZCAJBL2NEJAwD6Bf2sFLm1NJL21od/22BJRdaWWU1anJrWxkW1KJw+39eKyQqkYtQT4eADRZZSD968cTvLo1jdican49Xsyb29N57bc0pz/L379LZNnb+5xevzU2nyi2E66Wv7OPv3+XiEY38AQki+eUZPXfro4JLMdBd48tlEwe5/QjGwHp+o9thaHeNBc0tmOMbfEDK6xpVr4PQw8OzBo1ejYdb3vW67qPDtqIXALB2UZG2enfKGdFa4GgJyipbUYlQaifh81ypRObyEI6Y9mbUY5RhpevnsLyKeGsi83n4jf3Ev3UVuXf7Jd2kFnWuliwL7Mcg1FmcXSIU+8ZGWTKdMtvo+w+pbiOha/sYndaWcc+UDdz0NyEp7i2mb9/l9DmRHZCfg0Thg5i4tBBSrZOT3C8wJTddM+iMYBtGZveYOTwqSrmjRnM8inhaA1GdjjwSeoMifk1TAgfhKebC+PD/EQJm0DQB5zxApLRKHM0r9rhcynFddQ269hilYFgbW5dXq8ht9LenK21rmlHTlVx+2ex3Lz6CIte281dX7V9Y+rlZtr91hlINc2mVNpmnUG58Fc3dS69trCmmeLajtc/pxTXcd/XR3nyJ3tPHQCN3rbMwWiU2ZlaSmmd4y4M/QHL96qyyUDqGhZx5lRFI9XdmALdMpOnPZpalEBaP7YWO9vbWlJRLU1aPeX1GnI6YUpo0YIcGceb4jp93FQ2mPynDA48wrqLJ386wf1rj/bY9gWCM4E6q6yOOpHhIehDimrVhPp54upiOzS1ZIqcqR2zBLA7rZwgH3eumxXJ69dNI+aJC3n+ykk8tnQ8jy0dzz8vHY/eYOS5jcmtZgTtTC0jwNuN6ZGBTr1ne8JknVrHvWviKaxpZs0he4uA3iQmq4LoMD/+vWIi21PK+NDsOdkSg1HmRGEt0yP8mR4ZwImC2h6bSEzIr0ElwcUThzAq2EcRuQBOFNbSoNEzf8xgzokMIGyQJ5uOdz3D1WiUOV5Qy/TIAACiw/0orGnudpNuwdlFYU0zJwp6ttzzTOOMF5A+PXCKqz+I4UCmrcFbdaOWZW/v47HvE23qn6uatDRp9egNRs59cTuLXtttt02tAwEpNqdKyf445UB0coRlO8260zf8lkmFlZtT+DwmB8DpjJ+WmR8LXt7JvJU7nXqtNZYb/ZxKxz+q1maWsixzLL+Gv3wex42rDvfbtuxq876WJCshpYvZL9YG0Fd/GGPepExZfdeENIuA5GwGUkvfkgarzDHrEraWWLddbdToWfHOfh7+NoG5K3dwweu7nQ/YjCXulgKSZfBiLSBllZvOkc6Ma5q1BoeDBVmWKbMSMfNaGRSWOSl01jRp7cTS3qSrx5FA4AwVDad//yob+r8XiODMpaRWbWegDdY3+mdexyyBaey6O62MReNCcDEPfIJ9Pbhl3kjuuyCK+y6I4v7FUTy8ZBz7MirYnmKfDWQ0yuxJK7fZRnv4eLgS5OPuUJiUZZl/rE+koLqZeaMHszejnPo+EinUOgNxOdXMHxPMLfNGcMW0obyxLc3uvgYgs6yBJq2BaZEBTIv0p1lnILO8/cqKzpBYUMO4IX74eLgyb8xgDp+qUsZ7MWYxad7owahUEsumhHXLPsyuaKBBo2eaWUCaEDYIgDSRhSToAk/8eIIbVh3q0zH/QOOMF5CSi0x+QEUtOhHsM194k4vrbISE2z+L5YLXdvPK1tRWt+kow6Ks7nRHLw9X53ar2iwMWWcgWdJirFMynfUccuZKmgAAIABJREFUciRsdQbLb29r3j7XfHi6TEprMFJjzpDKLGvgxU0p3RJDd6OUsHVjBpL1cWBpI7rmUC6zX9xBhhNGh61h0aUcVZM4mnlr2cXP+niy7gLY8vucu3KHIqZYOr4dyanqtAhoKUfTGow2cVpKMB0Z9FrHZHmNLMtteg5c9MZupj67zW6db47kM/ulHYqhoqNynEPZlcx+aYdTvkfTn/+d+9b0TQbT1pPFzH5xB4eyK9tfWSDoAhUNp3+7Khu71plSIOgKxbXNdv5HAP7ebvh5upLRRvlSZ6lu1HLPV/GdyroVdA+JBTVUN+lYHN22d9HN80YwNtSXFzYl293onSispbJRy4XtbKMlkYFeDoXJj/dmsy25lCeWT+Afl45Dqzeyw4Fw1Rscy6tBozcyf8xgJEli5dVTGBPiy4PfHLPr1msx0J4WGcC0iACbZd2JLMsk5tco7zF/zGAaNHpOmLv8HsyqJDrMj8G+pnLUFVPCu2UfJphNwadH+gOmDCSA1B7yfhWc+VQ3ajmQWUG9Ws/+DHtRVuCYM15AsmSJuLrY3kxaSmhcVSo7IaGsXtNmhy5HQo31jEe92jnT66hQX+B0yVF+VRNHHHTHckYRrWjQMOHprU69b3tYPp8zQoJWb7TJePn6cG6X3jsxv4aRj28iPtdx2WFnsfZAkrrJA8lRds+edFPntFOdHIy+sjVVOfa0Lba/PjafUU9stiuXa9K1FJBM30d5vYYl/92rLHckROaas3TKrc6HzmLRqnQG2abMc2NiESMf38RHDlKuLftQlmVGPbGZV7emMuqJzby8pXUBt8icOTXqic0stsqUsszGLX2rdQ+wTLPfy570tgcxluNlR2rfDBgPm83QTxaKlFpBz1Jebzr3Q7QNtpMZAkEPY52NIMsyxbVquw5sFi6ZGMb38QUO24V3hU8PnGJrUglv78jo1u0KnGdXahkqCc4fG9zmem4uKp6+fCK5lU2s3n/K5rmdqWVIEpw/1jn/IwsRQd42WfVgKhd7dWsqK6aE85cFIzknMtBUgtWNncQ6wsGsClxUEnNGBwGmzKm3/3QOlY1avo/Pt1k3oaCGQZ6ujBrsw6hgHwZ5uiqiS3eSV9VEdZNOyQSaO3owYMo8UusMxOZUMX/M6e9zxvCO70OjUbabeEzMr8HXw5XRwab7p7BBnvh7uZFyFmQg6Q2291uC7mFbcgkGo4ybi9Rn5/hA5IwXkAxKOZCtgGQReerVOodmdC3Lt67/+CDvmAcYjm7EW/rQtGTtHXNsHn9++7m8dPUUAF7anMp9X8dz3qu7HL62WWtgW1IJc17abuPRBPDzsUIWvrKzTcFizaGOiTrN5vdwJhFFrTPa3HS05g/VkrJ6NZOf+c1uZmR3Wrn5/+3fuFc1apnyzG9OiU2WuFSq0xlWXe2sYZ2B5OPuYt6m6bEl++VgViXTn9/mdPeYD3efFll0LfblW9vTAZj/sqks8a+fx/KfX5NpNh97l04aApwuYWuZ0utI+Lzuo4NklNYrpSvW1hMdTeVUStj0Rpvj1HI8HW7RIc7dRaV4IBWYTSw/MH/+j/dmK2KPNTevPmzz+FRFI7E5VZz/6i6bc9BodJzF5O/lBmA3ayfLMhsSCpn5n9+JzamyycroC5z1vxIIukpmeQPD1TUMMmhsyqkFgp5k84lipj23jWd/ScJglKlT62nSGhxmIAE8f+UkRpuzLqzLr7tCo0bPlwdzcXdR8UtikfBY6iN2pZUxc0QgAd7u7a573tgQlkwYwns7MymtU5NRWs+TP53g471ZzBweSKBP+9uwJjLQm6KaZmXCtEGj5+FvExgV7MMr105FkiSlBGtPet+UscVkVTJlmD9+nm7KsolDBzFjeADrYvNtxjqJ+TVMiwxApZKQJIlpkQE9koGUoGQ6mTKBgn09iA7z42BWpU3GlAWVSmLp5I7tw0fXJ7DotV0253tiQQ1TI/xRmQfykiQxPszvrChh+8+vyVz4+u527zcFHWPTiRKGB3lzxbRh/J5cKsrYnOSMFpA0eoPShanlzbPlJruiQcuzG5Pb3I7RKHPkVBX//T2d2z47wnVWLdBv+fQIN646xMnCttMn50cF8+lts5THF4wPxdfDFVfzRXDzidZLakrrNPzrp5OU1mmU2WILT/50goLqZipaLM+yqnn+988nefyH4+zLKLdZ5+3tGfx8rFB5/MrWVH5JLFJu/lOK69iZasqGaU1sadDo7bq1OUNMZiUNGj2f7Mu2Wa4YSDvRDSgup4p6jZ73d2W2u67G/JlOFtbxxUGToKazyvB5bmNSh7ts6KwUNsugxbLEIlK9vyuTmiYdx/Kq2ZBQyDUfxjjdSaZlqaQl86ZZZ0CWZXaklrF6/ylFwPvz7OHA6Qyk5hZiY2sljrd+eoR/fp8IQJOVGOhsJp0Faw8ktZVvl6NMtlHBPgwL9KLCLOS8aRbHrGnZUlyWZfY5SC/929pj5FU1kW0lojY4+IHVG4w8vC4BsBeQtAYjvyWVUNmo5WhuNX/65JDyXG5lIynFddy7Jt7uh+WdHbbnUHchd7nAsmM8s+Ek+zLK+ffPJ7p9hl/QfymobmLT8WLGNZXjZjSy+USJzW+HQNATZJY18M/vEgny8eDzmBzu+jJOOe4ceSCBKevio5tm0KQ1cN/X8Ta/Z0lFtXx24FSHB/7fHMmjtlnHW3+ajgSs2neq3dcIupeyOjUnC+u4YLzzpWdPXTYBvUHm8nf3c/Gbe/kuvoArpg3lzT9O7/D7Dw/yRmeQKTGX87+3M5Oyeg2vXzcNXw9XZb3l5hKsnb2cldyo0ZOQX2Mjxlj447mRZJU3Ko2C1DoDqSX1SlkZwPTIANJK6x1aCHSFxPxaPN1UjBvipyybN2YwsTlV7E43ZZTNNmdMWVgx1bQPf0tqvxtbTFYFPycUUVav4f61R83jSgMpxXVK1pOFCWYBqa3OdAOdsjo13xzJp6xew7rY/PZfIHCKmiYtMZkVLJ8SzoqpYdSr9Q69xQT2nNECkrWjerPOwImCWj42l9F0ZBah0epmdHdauU02yd70cg5kVvLpgfYHHhdGD7FbpnfigldU26x4U7T0u/H1NP3ApZfaDvofNd8oW/g2Np+bVx+xWfbm9nTlhhpM2S8PfnOMlOLTSv5fPo/jre3pvL4tzWFstc06m5TKQZ6uDtcDU5ndyi0p6A1GpaTwcHYVXx3M4f1dmaYfgA4YSFvKBh3twx+PFrD1ZDF//TyWFzcl24kpcDqTzGiU+exADrd9Fkt8bjX/25ttt64jrDtbFFQ38+vxIiV+vVFGqzey33whqm3W8fWhPOJzq/k21rluHtaZbi07Cd755ekOf29tT8dFJSmp/1+aBbKWx3hrXlpFtWpqmkzr1lt9l874BFlj+Rqyyht4cfNpLyyVgy/TRSUxNMCTYrM3WboDzyhXlYQsy7z5ezoZpfXUNTsWtCwDP2txtV6ttxMhd6WVK2JWUY3tDLZGb1S2vz+zQsmIAnj2lyRu+N8htpws4emfk2xe99/fbc8hC18dzCHWQTlqWxiNMv/5NZmvDuYoy5wRR7uKVm/ki4O53Lz6CGsO5XHD/w63/yJBv2HT8WJ+SSxqd73v4vLtJhEss8jn1eaS4W26Qfnnd4ndH6RAYKZRo+eeNfF4uLmw8W8L+M8fJrMrrYy/fh4LwNAAxwISQFSoH69cM5WjeTW8uCmZLSeKuf7jg6x4Zz/PbUy2K2tqC63eyOr9p5g9KojlU8K5cvow1sXmd2tHVUH7WLLOF3dAQBox2IeHlozF082Ff146nkNPXMSr105TuvV1hMgg07gpv6qJnIpGPt1/iqtnDOOc4bad3GYOD2TIIA9lUrq3iM2pQm+UbcrBLKyYOhRvdxdFUEgqqsVglG0ElmkRARiMMklF3VvGllhQw+Sh/rhZpa3PHxOMRm9k7aE8pkQEMMgqYwpM+zAq1Jd//3yC35JaH1/qDUae35jMsAAvXrt2KvG51azcnEpKcR06g2wjkAFEhw+iQaOnsObMNdn/LCYHvdFIVKgvq/adarXbsaBjbEsqRW+UWTElnIVRIfh5unZLt8CzgTNaQMouP52R8F1cAX/85CArt6RSr9ZR14Hsil1p5e2vBLg7aZ7dUWT5dGlUvVrHT8cKlJtlS0prWqltBlRiK+0INyQUUlzbbCdIHLN6vD7OVt1+a3sG7++y9a95YHEUYMrcsXjb3HvBGJq0BrOXQbPdTc0zvyTx8Z5s9mVUKJ3lKho0PLUhidd+S+PSt/Yq2TQtSw6t2ZZUQnZ5gyJc7U0vt8uQenR9IvesOcqO1DL+t++UwzI3S1aSdbbKNR/G8OLmFCVLKL20nl1WM07JRXXKTVhLD6QH1h5Tvie1zsAjVsLCT8cKyTF350tspR69ZZqx9Qzr1R/E2Dy3PeX0DE6dWo+Hqwo/s3hn8WFqWYbVMgPpX8ujGdrKbC+YMtc6guU7eH1bOhutvnuLOGWNq0piqL+XIuQ4KvGrbNByNK+at3dk8PyvyRTVtj04sBZXHQnED317TPm7sKaZYqvtaXRG5ZxqmVG3K62cavNnWGd1brQsJ7WgMxh5akOSTaZia2j1Rt7bmcGxvGpic6pYvf8UT21IUkrYqpt0PZ4y3zIbqzV2p5WR0gNGlWqdga8O5vRJB8eYzIoB3bpVbzBy/9qjPPjNsTbXk2WZf35/3GYSYXtyKYezTSLnsqp0vAym46zlJIVA0F3IsszjP54gu7yBd/98DuH+Xtw8dwSrbz1X+X0Ka8UDycLl04Zy+4KRfHEwl3u/PkpRTTNPLp/AhdGhSlmTM/ySWERxrZp7F40B4J5Fo2nWGfjiYE5XPuIZx+60sg5lTneUXWllhA3yZEK4X/srW3H/4ij2PraY+xdHEdTBsjVrTnf4a+KFTSm4uUg8vjTabj2VSmLZ5HB2p5crY0+jUeaNbWncvPpwpzLxneFgViXuLipmjgi0e87Xw5XLpw7l1+PFNGj0itfRtAh/ZZ2p5hKzhG4sY9MZjJwsrLXLBJo9KgiVZJqIdJQxpVJJfHPnXMaHDeKeNfGs2pftsLrhm9h8UkvqeXLFBK6bFcntC0by6YFTvLHNlKk+vcX7RoeZjp2eGJ+0xGCUeXR9Ais3p3TZBkOtM3DHF3FKYkNr1Kt1rDmUy7LJ4Ty+NJrCmuZeFzL7G0ajzFvb07lx1aEujZE3nSgmMsiLycMG4e6q4uKJQ/g9uaTbmlKdyZzRAlK51Q30icJaZWD86f4cdnagE0B7g3MLgd5uPLxkrOKH44gb5gxn9sigVp93hHVXt+zyRh5Zl8i5L27HaJQJMteM73FS5Hro2wTu+SreRpA4WVjLVVaPi53wFwg3zxJaap3B9GOmN8poDUZu/fQID35zzCY7qc4sEmj0Bja0MmNuyeRqmVWkNxjZlVaGLMvc9VU8F76xx0Z0sM7AcuSP4ChlVmNW8GsdCBwbj5viu+TNvdxunhkFWP7OPuUmzFFGj0WIq2rU2pix7U4rp8wsULTsCGjhyvcP2DzWOTDpbo0mrYHBvraDqJYtuVv6U/l7ubHymqmtbtOJKsI2t++IBVGmQYWLSiI8wIvSejXxuVUOu6CU1Wt4wdzVL9TPk9zK9o3JB5sHkh/tzrITBlreGH8XV6D8vSutTGl1297xvz+jgpomrd16RnMr4ra6+ZTXazhecHogF5dbxevb0vnHd4kcsfKIsi4javk9JubXKE0ALKh1BqV7xOHsSpsfVEtc1oOdEwW1lNdrqGjQ8PHetgcvYCp1uu2zWJa93bpBuTVZ5Q3K91Vap+bnY4Wt3oBc9UEMT21IYvX+bGJzquzE7e5gX0a5wxm7G1Yd5vL39vPzscIBOXtp3a2zrRIF2+w8HbtSy7jjyzi+MvvjDdKr0apMv1uNwl9B0APIsszq/afYmFjE3y8Zz4Ko0xkVi6ND+f7e+fzz0vFtTmpY+NfyCTyyZByf3DyTPf9czJ3nj+aZyyeiN8i80kYDBgtGo8zHe7KIDvPjgvEm0+WxQ/xYMiGUL2JyhMeImbzKJv72zTHic6u5Z018q5MmnUWrN7Ivo4LF0SFO2Rb0BEMDvJAkWBebz/aUUh64cCyhgxwfg8uVTmKlqHUGHvjmKO/uzGRfRgWP/3jCoaCQWdbgtAemI2KyKjlneABerdxXXH9uJE1aA5uOF5GQX8NQf0+b+EP9PBkW4NXqpHJnSCupR6M32glI/l5uTBlmEqwcCUgAIX4efHvnXJZOCuOFTSk8vSHJ5riqadLyxrY05o4OYtnkMMB0vs8aEcj+zAqGDPKwK3O1lNH1hg/S29vT+fFoIR/vze5yKdkzG5LYnlLKyi2pbG+jcdPaw3nUq/Xcs2gMF0aHMjbUl4/2ZHVZwBqoqHUGHlqXwFvbMziQWclj3x/v1L6oaTJ1X1s+OVy5/qyYEk6dKGNzih4TkCRJWipJUpokSZmSJD3eU+/TFvcvjiL9hWV2y9/cnu6wpKmrDA3w4uEl40h45hJlWcvfxJeumsL6e+Z1aLvXz4pU/s6zugn7vx+OE2++2WrswKxxRYsb0sve3d+heACHRpfe5h+4Ro1BEQQsJUo5FY1kmEWeZ39JZm9624JXclEt8bnVHMyqRKs38m1sPrd/FsvXh0+Xf1mXWFU0aDhV0UhWeQPnv+bYjLwlliwoRxkyLVs5tsyOkGVZKWGz/MgBSmZba3XyQwZ5UFTbbHexc3Txs1bAg82tUFvjimlD8XB14bGl4wFT2nNai7KwlgLMyME+LBoXwpaHzrPb3jUzIgjwcrNbXlTTTKNGT3YLn5T8qianPJMsM0fzxwxmWIAnsgzXfGjK1AmzGvSMDvHhp2OFHMsziS0Go9HmZrk1Rgb7APBzQlGrJXsAwb7uNufSY98fV77j9gSkm1Yf5smfTtp0SCurU/Phnixu+yyWd3eeLjsrrVOTWdaA0SiTXd7AZe/u44r3DigtcDebRcas8kabjm97rM6PgupmYjIrSMyvoVGj58r3D9hlN320J4ubVh/my4M5/PGTQ1xkJbA+tzGJ2z6L5ZO92RSav7/L39vP8nf2ce+aeD47kNPm5y2rV7PwlbbPqVMVjTbnyEVv7GHRa7sBWPLfPTy8LkFpEpBb2UheZRPppfUkFdUqs4YvbU7luo8OcvUHMTbloe1RWqemro0ZqKN51dy8+ggvbkppVSR6eF0CC8zm9M5QWNPcZU+JoppmhzeqDRq9kkWhMxjJq2xCqzfN+JbV2x6b1gPm7IrWvYtic06Lcpe9u99GFHdVSXjKBrQqUwZjQbX99UkwsOgP4y8LGr2BH+ILuOK9A7ywKYUlE0KVrB9rJoQP4v7FUU4JCW4uKh5aMpZLJoUppewjBvtwx3mj+PFYYbsi9M7UMjLKGrh70Wib97t70Riqm3SsFx4jqHUG7lkTj0qSeO6KSSQV1fHsL0ntv7ADxOVW0aDRd8j/qLtxd1URPsiTuNxqRgz25i8LR7a67qwRgYT6ebAuNp8/fWIqa//3ign889LxbEws4ouYHJv1Pz9wikve3MPcl3bw5E8nyHBQqt8WtU06ThbVOixfszBjeABRob58G5uvGGi3ZFqkf7caaSeaJ8GmR9i/l8XfddaI1ifKvdxdeP+GGdy9aDRfHcplwcs7eWNbGiW1at7ankFds45nLp+knJtuLireu2EGwb7unOtgAt7Hw5URg72dGiN2hZ2ppbyzM5NrZ0Zw3thgnv4lqdMZzOti81gXl89d549m8rBBPLI+gbxK+0k2jd7A6v2nWBA1mClm8/C7F40htaSe3e3cR52JVDVquXHVYTYmFvF/S6N5Ylk0W06WdKh82cK2ZFP52vIp4cqyhWOD8fNwFd3YnKB1w5ouIEmSC/A+cDFQAMRKkvSLLMttu1X3AG2VlT2xLJqVrcxWubuo+Mel43hps/3zz14+kWc3JvPr3xYyIXwQb/6eznu7Mgkx3+S7uajIfmk50H4WR5CPu00JyTnDA/jx3vmMemIzYMrYeO6KSdw8bwSXvLmXU1YiwHfxBXbbsyb9hWVsOVnMQ9/aerT4eLjgqpLwcnOx8bwB0+xAS6NuR/i3EBd+um8+GeauWY0aPR5uKpp1Bk4W1eKiklj61j7lhr6klRTzYF8Ppexqe0oZ281ZYs9fOYnkItNNpnVHuZisSuXvf3yX2O6N/yUTh7DNSuVPKa5DrTNQ02xfwlPU4gaxuLaZQVafubxBo2RJ+TnwfXJk9gwwZ9RgfkksIq+qiRGDfZTlSUX2qbeWjIlGjR4fDxemDAtxWE65/u55nDvSlN4c7GM6Bh2VT623yrhJfPoS/L1Nn8eS/jtlmD8/3TcfSZL4ZG82PxwtoF6tw8/TDaNRRq03KB3gAH7920ImD/NHqze22kEwbJCnzfe9YspQ7jpvDIO8XBV/KAujQ3woqVMzZZg/E8L9yC5vxMNVxahgH0rrNFQ0aBkd7MNvj5zP5Gd+Q6M38twVk3jGalA7boifU135hgV48X07509LHrxorNKJMaeyUanhV0kw+6Udynq7rMzYF7++myatgXOGByhiGMCGhCI776TWUswfXZ+gZK8NN3s8ZFc0Uq/W0aQ1EOrnwS8Jpoy5pzeY9kVZvYblb+/js9vPVUzjV25JZeWWVCVLq7ze3pTfQrPWgCSZsuxmv7jD5rncykZGDPahUaPH3VVFYn4N1350kH9eOp77zaWtFtQ6g42wWNukU4QlgKWTwnDEqYpGwvw9bbrOOMJglJnz0g5GDvZmy0Pno9Eb8HB1oU6tw9vdBVeVijLz8fd5TA6fx+SQ+eIy9EbZ4Wx6o0aPJIG3uys6g5FmnQFvNxeqGrUM8nJDJUmo9QYWvLyTxeNDeO+GGfh4OP4ZNZ23rkqjgVA/D2VA3KTVM//lnZw3Npiv/mrbofNPnxzkZGEdSc9dyqtbU/niYC7XzIjgh6Om4zX5+UvxdHWhvEFjIxIX16gZHeyLu6sKtc6At7sLTVoDzToDW06eHgzlthiktsz2lGVTCXTLMgHBwKA/jb/e2ZHBlwdzqGjQMibEh//8YTLXzYxw6IvXHdy3OIrv4wt47pckfrpvASqVRFm9mm+P5NtkdR7Lq2FYgBeXTR1q8/pzRwYxc0Qgn+zNZlpkgJ0PTk8hyzKHT1XxW1IJc0YFcfHE08JYX/H0hpMkF9fx2W3nsjg6lLJ6Ne/vymLG8ECuPzey/Q20QK0zsDGxiJisSsUrMrOsATcXiYVRrQskvUFEkDdFtWr+vWIiHq6tVxCYytjC+OJgLp5uKj68cSZLJ4dhNMocy6vmhU0pTInwZ3pkIP/5NZnPY3JYMiGUIB93vosv4OvDecwZFWSTQTPI041rZ0Y4FH4OnapElmF+lONsHjA1nPnjrEjFd/KGOcPt1pkWEcDmEyVUNWq7VO5nITG/hkBvN8U/ypr7F0dxw5zhrWZMWVCpJJ5YNoFF40L4dH8O7+3K5MPdWRhlmRvnjGBC+CCb9cP8Pfnt4fPxcHO83egwP1JKHJewVTZo+DY2385rc+aIQK6eEWFjlt4a+VVNPLIukYnhg3jhD5Np0hq47J193Pt1PL/+baHDDoKWYz69tJ4/nDOMSUNN2VknC2t5akMSC6OC+b+l0RTVNHPZu/u5Z008P943H0+rz/jzsULK6jW8cf00ZdkV04byxrY0Ptqd1SHvsIGMwSizM7WMFzYlU1yr5v0bZrBiajiyLHMsr4aVW1KZGhHA7FHOV/hsPlFMRKAXU61KPj1cXbh44hC2JZWgvWpKj1nTOKJOreO7uAJyKxt5/srJvfa+naVHBCRgNpApy3I2gCRJ3wJXAr0+gAHYcP8Cu/IgMLXBBJPxsyVz5PdHzufiN/cyP2owIX6mm/EHFkexYmo4EYFe6A0yAd5uXDwpjGEBpounJevB+kfB2QHSnn9eYMqGMo/h/b3dbGbEPr99NiqVpNRppzgQGlry1h+ns3h8KO6uKjuhB06Xey2ICmZrUgn+XqYfsNX7T7FoXAjfxxewMCqY62ZF8NC3CUyN8Oe4WWU/f1wIe9PLCfR25/C/LuLZX5LYcrKEYYFeioDTqNXj7eZCDToeWefYkPW8scFMjfC38VaKCvWx8+3xcnNhe0qZkrHUcoZh4wMLufy9/U6V3Z03LsRGQDp8qopbVh/h2lkRAKy9cw5RIb58sDuLtUfybH5sWmZgzH5xh3J8eLXyg+aIm+eN4JfEIn49XqzcbBuNMjeZ29OvumUWI4O9WfHOfnQGI5ll9Sz5714AQnw9OPLkRXY39MMCvZRjZogT6f+Jz1xic1xIksSxpy7GzVWFq9kQcWyoLwAZZQ3MGB7Iq7+lKV5XFtJL65k8zL/NzAfL9/nhjTMYGexjMyiwnD8Wxob6EpNVyeLoUCX7KTLImxA/D0WQu3vRaNxcVMweFcS+jAq7Acy5IwO56/zRLH59N2Dq+nHL3BH80aqrGpiyBdtL6Y4M8rIprTtn+OkBXlJRnSL6tbTusRZMLGVz1uIR4NB4G0ylfdfMGMb6uAJF8CyzEnmss6bOf3UX1U06HrporE0HOguFNc1c8uZeu+WVLTyPFo8PYdnkcB774biybOYLv9uV/N02fySfx+Rw46rDPHfFJP76RRweriqldPG139K4ZOIQGyPT+S2yeh5db/u5t7ZipHnxm3sZ7ONOzBMXtjmgP5RtEpFzKptY+MpO6tV6u8yzf6+YYPP45tVHOJhdiSMmPfMbYBJY714Tx6HsKgK93RQPLDcXSSkt3ZVWzqRnfmPvPxczfLCteevBrEr+/L9DPLA4ivfMRugvXz2FP5k7JVrE8X0ZFWxIKOTK6cOU11o6elpiARTxCGDi079x96LRfLzHZPZvEf1zKhu548s4fM2ilfU6jnBVSTbi0bSGIhJ9h/LNnXOZOsy/1dcJ+j39ZvyVXmrqCHXbgpEsjAru8TIlXw+zp/mKAAAgAElEQVRXHl8WzaPrE3lrezr55uYWOoPM8CBvpTmHi0ri75eMszEAtvDYpeO544s4rvoghmmRAdw+fyRLJ4cpHXO7E63ByMbEIj47kENqST0qCT47kMOwAC9umTeC62ZFttmYpKf4Pr6A9XEFPHhhFIujTTeoj148noT8Gp7acJIJ4YOc9iwqb9Cw9nAeaw/nUdmoZcggD5sx001zR7QqwvcWl08bSlSoL0smtH8zfvO8EWSUNfDY0mhFZFepJN64fjqXv7uf+74+yqSh/uxMLeOvC0fxr+UTcFFJPL5sAt8cyWNjYpGNT1dZvYavDuUyY3gAty0YxSUThyjH2oHMCrzcXOxMo1ty1YxhvLI1Fb3R3mAaUMSpY3nVLBoX4vR+aY0Ec6aTo/PZ3VXFkFZKAB0xf0ww88cEk1fZxJcHczhZVMujF49zuO7gNjLxo8MG8XtyKQ0aPZ7mm/7Uknq+iMlhQ2IRWr2RyCAvXMwxa/VGNiQU8drWNK6bFckt80YQEejYf01rMHLv1/HIssxHN83E080FTzcXPrhpJtd9FMMj6xL4+OZZyvWlvEHD14fyWHskj6pGLSoJ/rfPZNh/45zhvPZbGoN93Hn7T9NxUUlEBnnz1h+nc/vnsTz180lWXj0FMI0tP96bzaShg2xEVndXFX9dOIoXNqUQn1vV7vExkGnQ6Pk+voAvDuaQX9XMsAAvvrlzruIJJkkSr103lSveO8D9a4+y8YGFBPu2L5JaytRuXzDK7jhePiWcH48Vsj+znPPHdv18scf8fuaxam5VE1/G5PB9fAGNWgPnjgxEqzf2qnjVGaSeSFWXJOlaYKksy3eYH98MzJFl+QFH68+aNUuOi4vr9jis2ZVWhk5v5K6vTN2rfrh3PhqdgRtWHeamucO5Y+FoPNxUhPt7kZhfQ1SoL97uLhzKrmLu6KA2Bz5qnYHtKaUsGBOstHPvKrmVjbi6qGxusq/+4ABHW9yIrr1jDjFZlby3K5N/r5jA5GH+zB19erbiQGYFN64yiROPL4vmZauMq93/uIALXt/NzXNH8NwVkzh8qopZIwPZllTKuSMDCR3kSUxWBYM83ZQyt7QXlnKysJaZ5vRUtc5AUlEdM0cEsi+j3K7TG8Ct80YwPyoYV5XEX78wfc8PXhjFvRdEsSO1lAfWmjymrpsZwXfxBbx6zVTlZnZhVLCSqXL7gpFKuc2bf5zGOZGBRAZ5M+Zfm9vdn1/fMYf5YwYz9dltStbV/DGDlSymcH9PDvzfhahUEl8ezFEyOdpDkuD9G2Zw39dHAdPNeGum624uEukvLOOaD2M4mlejZKdZTsE7Fo7i35dNBGD689vsSutmjQjk+3vnc6rClJmTWlKHv5e7jbmi3mDk/V1ZvLndZDY4aaipLMAS3wt/mMxNc0e0+7nyq5qUrCJJOh2jo8/v6LmnL5vIwrHBXPX+ARq1BlL/s9RmVsWC9fF55F8XkVXeyOxRQeRVNbH49d0siBqMt7srv5uFv00PLmTSUH/q1TpyKpqQJNsSTMv7vLsjgzd+T+eu80fz6MXjiH5qq837tjwXAD6+eSbRYX5Khsyxpy6moLqZy98zbT/jxWWMfXKLzWsWjQuxKTez5ou/zOavn8fi6eZi4wVmzbt/Poc3t6crhv+HnrgIbw8XdqeVc2F0KLvTypTzoy1aigH/XjGBQG93/t5OR61wf082/m0hg33c+T259P/Ze+/4tq777v9zsDc4QYBLpERqkpZlyaJlechbVO00w07ipBnObpu2cfs8bTryJP09TZtf2idpRhMnT+I4u9l2HFPylockU6IsS6Qmp8QBECRBggCxgfP8cQcvBjFIgATJ83698CIB3HvOueeee3HO534HNlbq8e7vvJEysPaxz96Jr71wJc6SbSnct6MKz54fh1GjEEU3lVyWJAClW3MWi6dVYhvTXS+pvpfun+sxvf36anT05B70sa2xDF99z/Xwh6PY9ND9cMvVGPnxL8WnpIWAEHKaUrqnYBUwcp5/AYWbg3EZV5d3EhyLUbzrseM4c20GBrUCD+6uxQf3bcDGSkPWZXiDEfzm9Ah+eHwopTifb7ZajXhkfwPuv64ar/VO4onjg3hjILcsnvnm1uYKPPHI3jhLqClvEPd/I7sHdlIIAe7eVoVHbm7Avk3lKxbvqNCcH3Pjnd86jnA0hi+8bQc+uK8h4z6eQJhbIB8fwlAKF6bbNlfiRx/Zm7GcT/34NJ674MC5L9yXZFEzF4yg9QvPJj3sWgp/dVczHl1A6FkJjvTY8amfvJn0uVYpx7t21+BD+xrQXBUvep65No0njg/hmXP2rDJif/9De3DXtvhs2j9+4yo+lyLhjHTM76g241enh0URRCkn+OUn9yVZOH7lucv4+kvJmXe/8fAuPLAz3lpyLshZMS8lvtZqYm9DGT68v4ETWFP8plx2ePD2/zqWc3iaJ/98f5K1dTASxZ7//UKSh04hUclluH+nDR++uQHXFVAQzOccbMUEJELIJwB8AgDq6+t3X716NWVZ+ebs8AwouFgslFL86vQI3razOuXittg4P+bGsz0OzIWiuL6uBDJC8EfX2RAIR/HkmVE8uLs26cKilOLxY0PQqeR4eG89+pxe/Or0MB64rhotNWY89dYo9jdVpI2xE4tRPHF8CC015rTmgYFwFE8cH4KPv+ju3l6F7lE33rOnTmzXc+cdODfixp8e2CQ+dTo56IJWKUdNqRavXpnAH19fjUsOD6bnQjBqlHj+ggN1ZTo8uLsWPzw+hFA0ho/fOh+74NnzDtHd7PyYG/VlOvzRddV4vW8SFqMaZXqVGGRvfDaAn7xxFQe2VGJzlZErLxLDvk0V2McH/ZueC+Enb1xFOBpDuUGNWX8Yc6EoZnwhbK82wReKYtjlQ7lehYYKPd6xqwY/O3kN/lAUj+xvxJEeBwYnvTiwxYIXLo7jzq0WnBx0YfeGUuyqLxXPoxSdWoGP7G8UFecjPXbRbc/tD0OjkuMDN21AbWl2aWp/2nkVwy4/Htxdi02VejxxfAgxCjxyc0PW1nE/67wGhyRT2dRcCA3lehDCWcJIYySV6FTQq+WgFHD5Qnjk5kZoVXJcdngw6Q3GBUxNZNjlwyWHB/dsj/9hfuacHbs3lGLGH8KvukbQZDHgvTfWJU0+nzwzCpmM4Loas2gNmHhtH+mxY1d9KTyBCCY8QdywoQS/Pj0CrVIOuYxgR7UJTRZujBzutiMco3gb/4N9bcqHAf58dg5MYcztx7kRN/QqBd5/Uz2OXp5An9MLAm7SEI5yPtV7G8tEUUYIpDnrD4NSoESnRIVRjTu2WDA9F8IPjg1ib2M5bmlO7qeXLztRZdSgo9uOKKVw+8OoMKhRolVii9WIzoEpbLOZQAjQWGHAJcesaNHy4sVxTHk5s3XHbAByGUEgHEUwEkOJVon2VluSleLrvZM4MTAJTyACAoj3y3feUAt/KIrHjw0iGI5iai4kBs7fbjOhe9QtPi1XK+WiZWelQQ27O4A7tlbihQvjqDSqoZDL8ODuWhzvn0JNiQZjMwF0Dbnw0Vs34ndvjohWPtlk1xAs8CY8QdH6ptKoxhWHB6Eod5yzgQhqS7WglLue3P4wYpSiplSLD+5rwDPnxhCKUvQ7vYhRihKtEuEYxZQ3yAUhLdViaGoO0SiFPxyFXEZQolViai4kugQmInw3G4hgu82Eken4xUFtmQ5XHB4xdpxAjHIL2HA0hnK9CjP+MEq0ShzYakHngAsj09y9p7pEizF3AG/bWY3LDg8uO2bh8oVQquPcosv1KkzNhbDNZoLbH8btmyvRP+FFpUGNEwNTeGR/47w7w4ED3N+jRzP291JgAlLhyVZAWqk52HIw7PLhxMAU2lusGd1g0xGLUbzaO1GwTI2EALs3lKV8SHnRPouXLjkRW4HslBqlHO++sS6lBfvg5ByeOTeWtdCtUsjQ3mJLstJcq5wacoEA2JNjspxYjOKV3gn0JIy1+1qs4vw1HWMzflwYm8XdCfMogcPddvQ5F7YWzwW5nODde+oyxuZcTgLhKH7yxtW40BOlehUe2FmdchxLGZ8N4A/n7OLaJRXbq01J4hHAzTV/f3YsLn7RQmM+yic00SjlKefE0RjFr7qG40ILmHVKvL9tQ0qX1hP9U+gaWlmhudDIZAS3b65ESxZW0WeuTSfFr01HpVGN96RYUwBcdu98xg2L4/Hvc38/8lEAgEGjwP3XVYteLYVkNQhI+wB8gVJ6H//+7wGAUvpvqbZfDgskBoPBYDAYKWAC0poh1/kXwOZgDAaDwWAsC8s030pFPudghXI8PgWgmRDSCGAUwHsBvK9AdTEYDAaDwVgsKzCRYRQMNv9iMBgMBqMYWSPzrYIISJTSCCHk0wCeBSAH8DilNL/5PxkMBoPBYDAYImz+xWAwGAwGo5AUxIUt50YQ4gFwGYAZQC7O5oXefjnqKPT2FQCydwotvvav9u1z3acYx2ghx9BqP19s+8zkOn5yraPYjrfYts91n0KWv4VSml36JsayQQiZALDYIEiLGS9Scrk/LLWubFmuepazrkLWk3gO18IxrVRdxXJMi/ndXkw9+aRY+q5Y68l0TlfjMRVLXct5TEu5NvM3B6OUrvgLQBf/97s57lfQ7YuxTYvYvqvI2rOuts91nyIdowUbQ6v9fLHt8z9+cq2jCI+3qLYvdH/mss9ixgJ7FfdrMeMlYf+sx8RS6yq2etbKMSWew7VwTGvxPOVSVz7v1eut74q1nkzndDUeU7HUtczHtOhrM5/X9fLmV83M00W2/XLUsRzHUMjy2fb53WfFxighpIQQ8meLqD/b8j9DCElMxbJg2wkhHyaEfDPd9oSQA4SQm3NtSwaKbQyt9u0XQyGvmfW2fa77LMc1w1g7LOe5X6662DGtjrrYMa2OutZaPctZFzum1VHXupsDFYsLWxdlmVkKAutbRrYQQhoA/IFS2pLweV7GECFkCMAeSmlWppeEkA/z2386zTZfAOCllP7HUtvHKAzsHsQQYGOBkQgbE6sfdg7XHuycrj3YOV0bLOU85nMMFIsF0ndXugFrGNa3jGz5EoBNhJC3CCE/IIS8jf9cTgh5HAAIIR8hhHyR//9PCCEn+e2/QwiR85/fSwg5QQh5kxDyK0KIgRDylwCqAbxMCHl5oQYQQh4hhFwhhJwEsF/y+QOEkE5CyBlCyAuEkCpe8PoUgEf5NtxKCKkkhPyGEHKKf+1foCrG8sHuQQwBNhYYibAxsfph53Dtwc7p2oOd07XBUs5j3sZAUVggMRiMlUdqgUQIeS+A3ZTS/8mLOTFK6U2EkB8A+G8A1wB8GcA7KaVhQsi3ALwBoAPAbwG0U0rnCCF/B0BNKf3/MlkgEUJsADoB7AYXjO5lAGcopZ8mhJQCmKGUUkLIxwBso5T+TaIFEiHkZwC+RSl9nRBSD+BZSum2AnQXg8FgMBgMBoPBYKwrisUCKSsIId4M3x8lhDDzPEZK2PjJidcA3EoI2Q7gAoBxXuDZB+A4gLvACT2nCCFv8e83ArgJwHYAx/jPPwRgQ5Z1tgE4SimdoJSGAPxC8l0tgGcJId0A/ieAHQuUcTeAb/J1/x6AiRBiyPagM8HGEGMpsPHDYDAYDAaDwVjNLElAIoQ8TghxEkJ6JJ+VEUKeJ4T08n9Ll95MRiYyLUwYjCw4L/xDKR0FUALgIIBXwQlK7wZn7eMBQAD8kFJ6Pf/aQin9Av/585LPt1NKP5qHtn0DwDcppa0APglAs8B2MgA3SeqvoZSya2MZYPcgBoORCnZvWDswEXxtQAh5OyGEEkK2rnRbGPmDEPKPhJDzhJBzfGiHtpVuEyN3CCG1hJCneC2lnxDyNUKIKs32qZIUFZSlWiA9AW6BKeWzAF6klDYDeJF/nzf4rEt/kLz/Jh9sl8HICBs/aaEAjJL3bwD4DOYFpP/B/wW4a/tBQogFEIXjDfw++wkhTfznekLIZn4fT0L5iXQCuJ0QUk4IUQJ4SPKdGcAo//+HJJ8nlvkcgL8Q3hBCrk97xIuAjSHGUmDjh8FgMBgrzMMAXuf/MtYAhJB9AO4HcAOl9DpwFvnDK9sqRq4QQgi4UCBP8lrKZgAGAF9Ms9tnACyrgLTkGEgkIXMTIeQygAOUUjvv8nKUUrolXRkVFRW0oaFhSe1gMBgMBoNRvJw+fXqSUlq50u1gxMPmYAwGg8FgrG3yOQdT5KOQBKoopXb+fweAqkw7NDQ0oKurqwBNSc93XumHUi7DR25pXPa6GQwGg8FYTxBCrq50GxjJrNQcbLVydWoOn3vqPL75vl0waZQr3RwGg8FgMDKSzzlYQYNoU868KaWJEyHkE4SQLkJI18TERCGbsSC/Pj2Cp8+NrUjdDAaDwWAwGIzVxet9k3j1ygR6Rt0r3RQGg8FgMJadQghIQrYmIS23M9VGlNLvUkr3UEr3VFaujEW7wx3ArD+8InUzGAwGg8FgMFYXI9N+AMAo/5fBYDAYjPVEIQSk32M+yO2HADxVgDqWjCcQhicYgdsfWemmMBgMBoNROA4c4F4MBmPJCMLRCBOQGAwGg7EOWZKARAj5OYATALYQQkYIIR8F8CUA9xBCesFFgP/S0puZf8ZnAwCAWX8YSw0kzmAwGAwGg8FY+4zO+OP+MhgMBoOxnlhSEG1K6ULpH+9aSrnLgd3NCUihaAyBcAxalXyFW8RgMBgMBoPBKGZGmQsbg8FgMNYxBQ2iXcwIAhIAzAZYHCQGg8FgMBgMxsKEIjGMe7j5I7NAYjAYDMZ6ZN0KSA6JgORmgbQZDAaDwWAwGGmwu/2gFKg0qjE240c0xkIgMBgMBmN9sW4FJDsTkBhL5EiPHe/81jHEMkwgJzxBHPj3l3FuZGaZWlYcdI+4cfdXXln09fXJH3fhRyeG8tomBoPBYDAWi+C21tZYhkiMwukJZNiDwWAwGIy1xboVkBxuP+QyAgBw+5iAxMidE/1TePPaTEYXyEuOWQxN+fCLU8PL1LLi4MzwNPqcXvQ5PTnvG4tRvHTJic4BVwFaxmAwGAxG7ozMzAtIAIuDxGAwGIz1x7oVkOzuABor9ACYBRJjcQhWbFNzoay2e/b8+Loyd5/ycv0itfbLet+5EMJRiqm5YL6bxWAwGGsWQkgdIeRlQsgFQsh5QshfrXSb1hIj034QAuzewAtILA4Sg8FgMNYZ61ZAcswGsMVqBMCCaDMWh2OWE0ZcGQQkId7WpDeIrqH1Y1Ej9ItjEQKSsE+mvmUwGAxGHBEAf0Mp3Q7gJgB/TgjZvsJtWjOMTvthNWnQUKEDwAlKDAaDwWCsJ9algOQPRTHjC2NLFScgMQskxmIQLZC8mS2QjBoF1AoZDvc4lqNpRYEg/izGAsnu9seVwWAwGIzMUErtlNI3+f89AC4CqFnZVq0dRmd8qCnRQqdSoEyvYgISg8FgMPLDgQPcaxWgWOkGrASC5UhNiRZGtYIJSIycCUVimPRy7lWZLZD82FCuQ7VZi8M9dvyv+7dDxsffWssI7meLskDir9FpXxixGF0X/cVgMBj5hBDSAGAXgM6VbUn2/FvHRVywz6b8bnu1CX/fvi3us2Akii/8/gL+/I5NqC3VLVjuif4pfPuVflDKuZGX6FT49wevg0Ypj9vu35+9hHMjbvH9vdur8IF9DeL7kWk/dm8oBcDNIdO5sP32zRH87szogt+nghCCR25uwB1bLXGfn7k2jSM9Dny2fSsIYb+HDEYmuoZceL1vEp+5e/NKNyUOfyiKP/l+Jz59R1PSdc5grBbWpQWSYN1gM2tg0iqZgMTIGacnAH4eCleGOD12dwBWkwaHWm0Ynw3izPD0MrRw5Zm3QMr9Ca1gtRSNUXZ9MhgMRo4QQgwAfgPgM5TSJEWGEPIJQkgXIaRrYmJi+RuYgkA4iu+8OoCBiTl4g5G418DEHL776gBCkVjcPhfGZvHzk9fwm9PphZonjg+ia8gFbzAChzuAp8+OoWfUHbdNJBrDY68MoN/phTcYwWWHB197sU8UnaIxCoc7gJoSLQCgtlSL0WnfgnX+8MRVnB2eSTqWdK8zV6fx/dcHk8s6PoTvvDqAa66F62MwGPP8qmsE//lCLwLh6Eo3JY4zw9M4fXUaFOsnJipj7bE+LZD4xamVF5Bm/ZG8lT0bCMMf4m5WZq0y6elWMRCNUcgIMj7FisUoJrzJ4ohRo4BOlXnoRKIxKOSpNUpKKWIUYia81YbUqiZTEG3HbAB7Gkpx5zYLVHIZOrodYgBOYPX3xULkIwYSwPVvqV6Vt3atFtbquGAwGIWFEKIEJx79lFL621TbUEq/C+C7ALBnz56iWMkIDw4evWczHtxdG/fdL7uG8be/Pge7248N5Xrxc8EC6OTQFIDmlOVSSnFy0IX2Fhv+z7t3onfcg3u++ipGZ/zYI9nOMRtANEbxF3c14+G99fj5yWv4+992Y2ByDpsqDRifDSASo6KlU02JFi9fdoJSmnI+NTrtR3uLDf//g9dl3Qeff6oHv+waQTgag5KfP1FK0TnIxU/sHHTFHT+DwUiNcG+QJk0qBk4OukAIsKehLPPGDEaRsk4tkOYFJLNWgdk8WTg43AHs+d8voO1fX0Tbv76IP/r6a3kpN9/c+9VX8O1X+jNu96Ujl8Rjkb5u/tJLCEbSK/oOdwA7Pv8sTg6mDhr99Dk79vzL86LYttoQxhAh6V3YAmEu3pbNrIVJo8T+pnK8eHE8bpsn3xrF3i++UHRPSZZCLEYx7QuDEGDcE8w5+5zdzWW6AdZvHKRfnBrGvn97EZFoLPPGDAaDAYBwSsb3AVyklH5lpduTC6N8PCHBwkdKLf/ZaELMIeH96avTSdZJAn1OL6Z9YbRt5BZsNaVcWYnxixLrb2vkthfmMcKCVNi/plSLQDiW8iFSIBzFpDcobpstbRvL4Q9H0S2xjhqZ9otzjs6B9ZOIg8FYCsL1mnjPWGk6B1zYbjPBpFGudFMYjEWzLgUkhzsAs1YJnUoBcx5d2LpH3QhFY/iLO5tw7/Yq9E/MZRRalpspbxD9E3M4P5o6xoCUi/ZZbCjX4V/f0Sq+3t9WjxlfGEOT6c2oe50eBCMxnFog61jPqBvTvvCqTYErWMg0VujTChyitZtJAwDYZjNhZNofJ6h0j8xiai60KEudYsXtDyMao2is0CMao5hKYcmWjvHZoPjEKJOL4Fqle9QNpyeY0gqQwWAwFmA/gA8AuJMQ8hb/OrTSjcqG0RluXlGbQnQRRZ+EOYMwhwiEY3Gii5Q3eAFIEIR0KgVKdcqk+UeiQNRYoUeFQY3OgSmubt5dbd6FjbNESrVAHZtZWAxLx16+jVKh6A2+/k2Vet7SisFgpCMWo/MC0kzxuH2GIjG8eW0abY3lK90UBmNJrEsBye4OwGbmFvQmTf4EpF6nBwDwids24u5tVQAA52xxLf56nV4A2cWlsbsD2GY14X1t9eLr/W0b+HI8GfcFgN7x1NsJ369W0cTuDkCnkqOhXJ82C5twnMJ4s5k1iCQIKuN8wOjFZCsrVoQnsjuqzQByOzZKKexuv7hvJhfBtYpjlV8jDAZj+aGUvk4pJZTS6yil1/OvjpVuVzaMTPshI5x1eCI2sxaEJFsNjUz7xd/XhSyeTw66YDVpUF82H2S7plSbsixgXvQhhKBtYxk6B12glCZZKAl/Uz0IE8vK0QKpwqDmhKLBeaHo5KALJTol3te2AcMuvyhOMRiM1Ex6g6JFYjFlSjw3MoNgJCYKxQzGamVdCkiOWb84QcmnBVLfuBdWkwZGjVIsv9hEAUFAGs9C2Bp3B5Imchsr9ZARoHfcm3FfaX0LfS9k21ptCGOoTK9Kb4E0y/1wCf1oNXOTSem4EMS88VXaF6kQ+mS7zQQgt+vA7Q8jEI6J+7rSCHRrGeHaYAISg8FYD4xO+2E1acTYP1JUChmqjJqULmw7qs1othjQOZhsnUMpRefAFPY2lsXFKaot0SUFwB6d9qPCoI6LXdnWWAa7O4CRaT9GZ/yoMKigVXHfC+JQKgskQVRKZU2VibaN5egamhYtlTsHXdjbUIabNsa71DEYjNRILRWLyYVNiGXGBCTGamd9CkgSCySzVgl/OLqg73wu9Dq9aK4yAJi3OCk2gaSPtwga54NFLoQnEIYnGBGPQ0CjlKO+TIe+BYQhATt/3H1Ob8p67Lyw4lhEhq5iQLBiK9er4PKFxCwtqbYD5gWkVONCEAiKTWxcCoLb2Y5qTgTK5TwL/bChXAeDWrHuLZDW0rhgMBiMhRiZ8ae12Kkp1ca5o1DKuanUlmqxt7EsTnQRuDrlg9MTFOMfxZflj/vtHk1Rv+Bq0jnowsi0P84lzaxVwqhWiK5tUkan/ZDLiOi+ngttjWXwBCO4aJ+F3e3HNZcPexvLsNVqglGjSCmUMRiMeQTRqESnTHJ7XUk6B13YXGVA2TpMDMNYW6w7ASkYiWLSG4LVxE0CzDouiNlsYGlWSLEYRZ/TiyYLJyAJgkGxCSSCRVCiG1UigjVMKlPyJosxowubsPgNRmJJ6n8sRjHu5uperYtjhzsAq0mLMr0KoUgMcwsEA5fG2wKk42I+Tf24J8h/VlxjZSkIok+TxQCVXCYKitkgzZKYycJrrRIIR8U+LDYRmsFgMArBaIJAk0hNiTbOXWzWH4E3GEFNiRZtG8vhDUZwYSw+vqMgtrQlPPGvKeECYEt/X0Zn/GKwboFmiwElOiU6B6a49iUITIIQlXQsM5w11UKZaNMhiFZvDEyJ1kY3bSyHXEawt6FMtGJgMBipEdzW9mwoKxoLpEg0htNDLhb/iLEmWHcCkhCTSGqBBGDJbmyjM374w1E0W4wAAKNGCYNaUXQCSa/Ti3Je+U7XtvnYPcmTuSaLAYOTcwinyQ5ldwfEehLFJpcvhBC/72p0z4nGKJyeIGy8wAEs7GYljbcFAGU6FSeo8Mc96Z3PUFZsY06QSdIAACAASURBVGUpCP1RblDBatbkdJ6lcaPWq4AkjZ22lsYFg8FgpCISjcExGxADU6eiplQL+8y89fSIJOi2IBAlWud0DrpQrldhU6UhqSxg3tVMCLqbKBDJeNHmjcEp7vsEgak2RSwlILMYlg6rWYMN5TqcHHShc9AFo1qBbbxL997GMgxMzMHpYb8LDMZCjM74YNYqsdVqhGM2UBTZbC/YZzEXijL3NcaaYE0LSJ5AGMf7JuM+cyRY1ghpFLMVkCa9QfhCkaTPBZcuwYVNqEO6cI7GaFbBq6UEwlFMePITiNvtC2PCE8QtzRUAshWQki2Qmi0GhKMUV6cWzmzgcPuxv4mrJzEOktAnChlZlYtjQfSxmjUoN3AC0hTvskUpjTNndyTEkZLJCKrMatHayC7pi4UsTWYDYbh98eMzX+MiGMnf+JIyNReCQa2AWiGH1azJ6Tw73Fwg1UqDGuV6VZwL24wvhK4hF7qGXOgecSOWxg0zWxLdGBZixhfCXDD52i8Ewn1CISNryjJtOfGFIutSfGQwViMO3q0+nQtbbakWkRgVLaSlgaqrTBo0lOuSrHM6B1xJ8Y+EsqRlCEF3U8Us2ttYhmGXH8FILEkUSrSKEhiZ9i0q/pFYZ0MZTg658MbAFPY0lEIu49rftpGzXjg1OL3oshmMtc7oNOfaWlOqRTRGi8KSW8ismGgNyWCsRta0gPTNl/vwoR+cjFt89/NiRjU/CTDxFkizWQhI0RjF277xOv6142LSd4KVTZPkKZctYeH869PDOPDvRzGdw6LmWy/34eB/vpqXhXLfBNfGW5srAaR3mRJEHotJnfSdIJItFAcpEI5i2hfGFqsRVSZ1UsBtoU+2V5uK4qaeK/EWMlz/CAvVFy46ceuXXxbN6BMtkADAZtJKstBx52B7tWlBkeVTPz6NP/3p6bjPvvL8FbR/7dUlx+76r5f78za+pLjmQqJ1lm0RFkgWI2f6z1kgzQtcf/HzM3jwsRN48LETeOCbr+OFi+NLaufojB+3ffllHO5xZNz2g4+fxOee7FlSfdkiXBfpxgUjPV985iIeeuz4SjeDwWBkQWKGs1QkZj1L3GdvYxlODbnE37ORaR9GZ/wpF2y1Jbq4MoQ4Kanqv2njvMtJooVUbakOnkAk7iFkmLemyjUDm5S2jeWY8YUxMDGHvRKXlx3VJuhUchYHicFIg2AtKN4zisCNrXPQhcYKPSyLiIvGYBQba1pAam+xIRylcYvM5y6Mo6ZEi02VegC5ubB1Dbkw5g6ge8Sd9F2f04sKgxqlksBoVlP8wvmtYTeCkRguL5DaPhVnR9yYmgulfMKVK4KQ09ZYljEujd0dQIVBBbVCnvSdYAret0AcJDGGjUmDZosRfROJFkjcsVxfVwLXXAiBcOr4QcWK0H4rH0QbmI/5c25kBpQCz3SPIRSJYdIbFONtCVjNGlEgEMSBXXUlcWlHBcZnAzgxMIXuEXeclczZ4RlMekM43h9vYZcrZ4dn8ja+pEgFJMESLxsrH4ATTwSrrTID58Im7Ht+bBZ3bbXgiUduhIwAPQnxLnLl/Kgb0RjF2ZGZtNuFIjGcH5vNuF2+EMbF9XUlGJ8N5F3gWw+cG3Gjf2IOniXGt2MwGIUnm6xltQlZz0Zn/NAoZeJvTVsjJ7pc4ecmJ8WMR8kxR0xaBQxqRbIYlaL+bTYTjGpFyu9TZWJzuAOI0fRiWCakopc0ALhSLsPuDaUsExuDsQCcJwDnjproqrpSxGIUp4ZczPqIsWZY0wLSzlozqs0aHO6xA+BcgV7rnUB7i1U0ZzbnYIEkWCn0Ob1Ji+FepxfNlngfe5tZA6dn3vdWEFwWSm2fCsHKJ1PQ6mzodXqhVcpRU6LNGJfG4fanDKANAHq1AjUl2gWPQ2qh02QxoG/cE9dfdncAChlBS7UZwOpLXy+NDyXGQOIFJEGk6+h2iMeVaIEkuHRRSuFwB6BSyLDNZgKlSIpr8Ox5BygFPMEIxiVxcYRxcbg7s+VMOvI5vqRMzYVEcc1m0iAUjWXtTiS12irXqxCOUniCEUx5g3DNhbBvUzkObLHw2QCX1m5hDPeNp78mh6bmEI1RDE358pKxMRMOdwBGjQKbKjl30fWaiW6xCEkNAKB/Ym6FW8NgrE8ee6Uf33ttIKttBQGmOo3oUp3CAqmmRCvO54TYIv/8+wv47G/O4buvDsCkUWCr1ZhUFiEENSXz8YtG01ggyWUEexpKue8TBaSS5AWqWNYSLJBqS7WoNmugVcrFuZJAW2MZLjk8Ka3Zf3N6BGeuMfc2xvplxheGLxQtKguky+MeuP1hFv+IsWZY0wISIQQHW2x49cokPIEwXrroRDhK0d5qE7cxabmnSpkskGIxisM9dijlBHOhaJxbCaUUfePeuPhHAGA1axGjwIQ3CEqpuFjtz1JA8gYj4kRkIXexXOh1erHJoodMRjLGpbHzWcYWornKkOSaJuCYnbfQaa4yJPWXwx1AlUkjTq5Wm4uOIPqU6pTQqeRQK2TzApLTA6WcYHByDkevTABIzmRnNWkQisQw7QvDMcuJJTb+Ry5R1Ovo5sYcMD8GXHMhTM2FoJQTPHvBkTaYeTrm8jy+pLjmghILpNzOszRulOgi6A1J4oxxi4Emi3HJ7e4XBbT05Qj1cCJS4QUJu9sPm1mTlLWPkR1jbi6pAZD/sc1gMLLj5KALPzt5LattR6b9qDCooVEmWz0L6FQKlOtVYpzBkRlfnEtZbakWd261YGDSi5cvOzHtC+HhvfWQyUjK8rgA2HxZ01zQXSMfFzORd++pw307qsS4mQINFXoQAly0z1vDCqJUuoDgmSCE4P03bcD72+qhUsRP1QWLqlND8VZIgXAUf//bbvznC72LrpfBWO3MWzPqoFHKUWFQpwx0v5x0DnAup0xAYqwV1rSABACHWq0IRWN46ZITHd12WE0a7KorEb9XK+TQKGWYDaQPjntmeBrjs0E8tKcOQPyCc3w2CE8wgqYUFkgAt3Cemgthho/FlK21h1RoWkisyYW+cY+YJS5TXBpB2FiIZosB/RNeMRuKFEEosJo1YkwoaX/ZeYFgtS6OBQsZQggIIVygZ28IoUgMQ1M+vHNXLWQE+MGxQQDJFkjz48LPC3WauLEiMOEJ4uSgCw/uFsYcN26EBfGDu+sw4wuLgflypX8iv+NLgFKK6bkwygzzMZCA7M6zJxCGNxiJs0ACOIsmYQwJln7NVZmzAWZCKHN42gd/aGFXSmn/5LOvFoIT0bTzfbfKrPRWGun9Jt/WdQwGIzuEjGHZJGpIlQEtFTWSrGej0/H7EELw+IdvROc/3C2+/v7QtrRlJVozLUR7qw3f+cCepM+5TE+mOJcywdoh3RwqG/78jib80/3bkz7fWWeGWiFLChh+5toMQtEYuoZcRZF1isFYCeYFXO56ll7nK8XJIRdqSrRLEpUZjGJizQtIN9SXwmJU49enR/DKlQkcbLEmPY0ya5VJWa4SOdztgEouw6du2wQA6JXEMRIDaFsSLZDmF87CotNm1mS9ABUWQTazJie3t1R4AmGMuQNiG9PFpfGHopjxhRd0YQOAZosRwUgsLuOYgMMdgFmrhE6lEK1FpP0lxLixmpJFk9WAYEElwMXpCYpuTvs2lePGBm7iDABVKVzYhHIEaxuhPKnI8twFB2IU+MBNG1CiU4pjQBhvH7u1ETqVHB28i2auxI3JPFppeIMRhKIxUfwRjjddzC0B4fiF/pC6CPY5vdCr5OKkPJtsgOkQ3JxsZg0ojRfUEul1elBlUoOQ5REkOGFRLRkrKx8AcjXRJxnbmdwTGQxGYRDifWQTr2d0xp9V1jIh65kvFMG0L7ykOEM1JVp4AhHMBsJZC1ipaGssw+mr0+LDjNEZHyqN6a2ploJaIceu+pKkfhXez4WiuGBfWnxABmO1IqxLhHtD7QoLSJRSnBx0xcUyYzBWO2teQJLJCA62WPFa7ySCkRjaW6xJ25i1yrQubJRSHO5x4NbmCtSX61CuV8W5RQgLccG6R0BqVSLEajnYYoXTE8woWAGcpYlKLsMdWy0p4y7lghAHRLDesKaJS+NYIHaPlCbeXS+VGCZY1QCcACDtL0op555j0kCvVsCoUay6xbF91h/XN2V6NVxzIbEvmiwGHOLdJPUquRh8U8DGu3SNSQQkk0YBnUoeJ6Yd6XGgsUKPbTYjmi0GcSHcO84JKRsr9LhjqwXPnXektATLRC8/vu7Mw/iSIowpwf2swqCGPMt09NL4UlwZgoAURK/Tg6YqoxjvQrjeFhsHaXSGc3M6yN8T0glIfU4vdlSbUVeqK7hLVDgaw4Q3CKtZiwq9GgoZWXUi60rT6/SgwqDGDRtK8yqOMhiM7GmpMUOnkuNkhoxhsRjlBKQsxKCaEi1Gp/1JVgaLQRCMRlz+jBZI6WhrLIM/HEX3KJdgRcgAVUj2Npbj/Jgbs5IkAZ2DU+LcZLGWyQzGamd0xg+dSo4SHeduWsuLziuVjKR/Yg6T3hALoM1YUygyb7L6aW+x4UcnrqLCoMaehuQL2KSZF5DGZwNJma2cs0GMzvjx6D2bAXACQbyLhBclOiUqDKq4/cxaJdQKGRxuP4KRGIxqBW5pqsAPjg2hb8KD3RvKEI1RPHfegUCEc5/ZUW3G5qr5hXFjhR7brEb8LBjh3cq08IeieOHiOCKxeBNlrVKOe7ZbIZdYWL3eO4kJbwBvXuWyRwkWQVJxq9ygjivHLmQZS5NqUrBk+sO5MXiCYRjVSty1zQJCSFwMm8T+cvvDCIRj4vc2SSymSDSG5y6MIxiJdyVSyGS4Z3tVxqd5fU4v9Gq5KD4slsHJOagUspQTwFiMYtwdjDu+cr0KAxNe9Do9IITLUldpVOPzvz8PK+/qJqXSyAkqF8ZmEYrGYDNx23DZ2bi+n54L4Xj/FD5520YQQtBkMeJwj52Lt+X0osliACEEh1pseOacHaeGXHGphvucHhg1yjhLqdEZP4LhKDZKsug1Vuix1WbCTzuvieNLSv8EF3hdGth0dMafckFQW6rDjQ1lYsBnwQJJLiOoMqrRNTSN350ZgVohx73bq6CQz+vXx/snMT4bwKkhLvin6MJmkLiwjXtx2+ZKcZ9NFi6TYu+4FwdbkpqTRCxG8cbgFPZtLAchRBSC7tlWhR+duBonhnaPuFFfroNZq0QkGsPAxBxu31wJgviYOna3H75QVMxMmEjPqBs1Jdq47IypGJ8NYNYfRnOVEU5PEJRyfSCTEVSZ0rubLpVhlw/RGEVDhT7l92eHZ9BYqY+L/dHn9MCgVsZdB8MuH7quJi9a6sv02L2hdFFt6xpyoaXGnPOTfCGpQbPFgI5uO/yhKLSqzGUMu3ygFKgvnzczn/QGMeEJYpvNlHP7FwOlFCf6p7BvU3ncvePVKxOYmuNcgerLdNi9Yf63LBSJ4cy1abRtTM42lQsTniBeuTKB+3ZULRgLhsHIFiFjWKKrVSJCBtJsLIBqS7UIRmI4Ozwjvl8sgjvJ+TE35kLRRZclxDXpHHDhhvpSjEz70VpjzrDX0ripsQxfp8DpoWncsdWCUCSGN69N4+G99Xj5khOdgy58/LaNBW0Dg1GMjE5z1ozC72dNqVbMimxJs64pFJ38fLktRTZIBmO1si4EpL2NZagt1aK9JV5cETBrlaKI8bkne/DchfGkbXQqOe7ZVgWAE0SePjsGSikIIXhreAZbJJYRAoQQUSCZ8obQVGUQxaHecS92byjDM912/OXPz4j71JRo8frf3QFCCHqdXrTUmNFkmd/HZtbihyeG8KXDl1Ie6zfftwv3X1cNgFvk/cn3O8XvSnVK1PETJCGwscMdQEvCREdYrKZzYTNplNhUqceTb43hybfGAAA///hN2LepHHZ3ADuq5xdb22wm/LJrGIFwNMnCxGrWihZPT58bw6O/OJuyvs/dvx0fvaVxwfbEYhTv/94b2FRpwM8+ftOC22WCUooPPX4SFQYVfvtn+5O+H5yaQygaQ53Ej7lMrxJdrOpKddCq5NCq5Li1uQImbfIiTC4jsBjVYqYU4VxIxbTnL4wjGqOiJVOzxYCf+8J8LCAP9jdVAAAObKmERinD4W67KCBFYxTv/W4nttmM+PFH28R6/+rnZ+CYDeC1v40fX4JVmjC+pH36we+fRE2JFr/81D7x87/79Tm83hcvsgrH1fkPd8HlFSyQ5kWT5iojXrkyIS4k/uOhnXhwdy0AbtH+vv87P06NGgUsJk7U1KkU0ChlGJqcg9MTjMt0qFOlzwaYyFNnR/HoL87iiUduxIEtFtEVbZvNhIZynfjeNRfCO799DO+5sQ7/8vZWXHP5EIrGONGUAK/1TiISjUEhl+HRX7yFq1M+HPu7O5NcYz2BMN717eN4YGc1/uOhnWnb9re/PoeeUTc6/+Eu0VIrlchaCP7sp29iLhTBi399e9I9bMITxDu/fRwfuGkDvvC2HQAWHl+P/uItdF1Nzv6jkstw6p/uFjNeZkuf04sHHzuBv75nM/7yruas9xOSGrzjhho0W4yie2LifS4VH/9RFygFnn30NvGzz//+PF65PIGuf7q7YC4pUo70OPCnP30Tj/3JbtE67pJjFh98/KS4jVJOcPIf7haFyR+dGMK/PHMRT3/6FrTWLn7heqTHjs89dR47a29jAhIjL7Q1luE/nruCGV8IJbrUQvrITPbWRDX8b6/grlVTsviYIsJDIqGsxQpI5QY1miwGnBzkHvrYZwLitVsodtWXQikn6Bx04Y6tFnSPziAQjqGtsQy+YBRHzjsQi9EFA4gzGGuVkQRrQuH/kRn/ighIJwddsBjV2FDO4h8x1g7rQkCSywief/R2MZtVImatEpfHPfAGIzh6ZQLv2VOHPz2wKWkbM28O2WwxYDYQwYQnCH84iov2WfzTH6UO1CjEGhqa8uHOrZWoKdFCo5SJi96Oc3ZYjGr84pP78OLFcfzLMxdxbsSNLVYjrrl8eMeuGjG7W6+Ts8Do6LajtcaMbzy8S6yHAnjosRM43O0QBaSObgcIAZ78s/0wa5Uo1atEqw9bmrg09iwEJAB46tO3YNITRDgawwPffB2He+zYvaEUk954C527tlnwxPEhvHplAkq+fnFxbNKI2UueOeeAzazBzz5+E6Rn6lM/OY3D3fa0AtLpa1yQ8wlPEJPeICoSrKqypWd0FtdcPlxz+TA2409KKXykxwEAuHOrRfysTK+CLxRFz6g7TuD43of2QEZSjzmrWSM+QRXOhdWkFa3fOnrsqC3VikKcMAZOX+WOU3Df0qsVuH1zJQ73OPD5B3ZAJiM4OejCpDeI4/0hTM+FUKpXweEOiIv7pPFliR9fAmdHZjA648eY24/xWS7u05Q3iBMDU3hkfwM+tK9B3HZoag4f/sEpPH9hHHL+mKUC0nc+sFsUJt//vU4c7raLAtJhPobTrz61D5UGNUp1KqgV8wv1cr1atExKzHTYXGXIWkB65hx37jq67ZyANO5FhUGNUr0KzRYjrvAC0vMXHAhHKY70OPDPb2uZD97Ni8ShaAzXXD4YNUp0DrpAKXBmeCbJyualS04EIzE8d96B0DtakzLpCMz4QjjWN4lIjPOTd/k4AU4cF2YNzo8VJp7FtSmf6HZxedyDrdZ4K5vnLnDukR3ddvyv+7dnHF+fvH0jHr6xXtz/yrgHn/jxabx0aRzv2FWbU9sOd3PjoqPbnpOAJCQ1aLYYxPHS58wsIPVPeHHJIQSq96DJYoQ/FMVLF53wh6N49coE7t1R2EUhADwjOW5hEdrR7YCMAE/9+S2Y8AbwkSe68PzFcbybT+rQwe/zTLd9SQJSR7cDTRaDaKnKYCwVIWPYyUHXgtePEHQ6GzFIFH2GXFDKuYcxi6XCoIJaIcPJoaWLUW2NZfj9W2NwzAYQisaycsdbClqVHNfVlojWDcLDmRsbyjAXjOIXXcO4PO5ZNstJBqNYGJ3x44YN88mSBEvD0Wk/bqhfnDX0YqGUonPAhbaN5UkP6BiM1cyaj4EkoFXJ41xmpJj4GEgvXXIiFInhXbtr0VChj3uVJlhTANyi5DAvKCz0tMlm1uLKuAeTXm7RL5MRNFkM6HN6MReM4OXLTrS3WNFYocdDu+ugkBF09NjRP+EFpVycl3K9CqU6JfqcXgy7fDg34sb919ni2tdYocd9O6rw0iWnmE2qo9uOPRtKsbOuBA0V+jgLgHRxaaRBsNNhUCvQUKFHc5URd2yx4HCPA+Mp4ifdtLEcZq0SR3ocSfGVrGYNJr1BzPhCeLV3Au0tNjQm9P2hVhu6rk6ndePp6LZDRoAYBZ47n2xBli0dPVw5wLxYJOVwjx3X15XECUuCq9bQlE+MDQVwgS6VC4w5m1kDwR3bJrE0cXqCmJ7jBIVDrbakeD9Cm6RC1aFWG5yeIN7kLZoO88cQjVE8z1vTHeFFGhnhjnFgYm5+fBnUKNOrkmIJHe7hFq2UAs+e5+oVLKMeTLhGbt9ciQ3lOnR02+dd2CQunRqlXNxWiEkmxG7o6HagtcaMGxvKuHGqi7d8KNOrMDgpxPCKX9imywYoxRMI49XeCcgI8NyFcYSjMfRNeOMyul2d8iEYiYqL9UlvCKeGXKLLWhPvEgVwYtuz5x2glOtTQeyQIozJ2UAkyS1WyvMXxhGJUfHcCOPcZpJapvnzFqNKiiDeEcKdh6Tv+b7Idnw9tLsublzcva0KNrMmZdmZ6ODH3yWHJ218qkTmkxoY0VCuh1xGsgp8Lr3eD/PtfeUKJx7JCMR7fSEJhKN46ZITMgK8eHEcgXCUb48dNzaUobXWjDu2WFBbqhXHnN3tx5vXZvg22hc9Tqa8QXQOTqWME8hgLJaddWaoFLK0gbSFALfZZmEDgKtTPtjM2iVZ2BBCUFOiFRMxLDaINsBZunuCEbxwcXzJZeVSZ/eIG75QBCcHXWi2GFBuUIvBeoXU4QzGesEbjMDtD8eJwcK1uBKBtIddfjhmA6KbK4OxVlg3AlI6TFolPIEInjk3hkqjOmO8Duki8nC3HTtrzQumZrSaNZgNRADMB55uquQEpKOXJxCMxHCwhXNTMuuUuLmpAkd6HPOBuau4WDfNFiP6nB5xkdPO7yPlUKsN/nAUr1xxYoB/mp5qO2A+Lo3DnZxel4uFk5uZ58EWKyY8QfzhnJ0/7vnJk1Iuw73bq/D8xXFcnfKBEC4OEAAxA9bPTw4jFImhvTV58XKI/0wQMRKJxThrkTu3WtBYoRcXxblCKcXhbjv2N1Vgq9WYVM61KR96RmfF9gjEuWpZsntyb+XFAYWMiDGorGYNojGK/z41jHCUxi3kqkxqGNUKvMAv2KWWOHdutUAll6GjmzNZP9zjwL3bragt1YoZ2jp6HNhSZcQtzZU43O0QF9TNkjEpjQFEKWd1cvvmSjTxcWSEcjaU67A94akmIQTtLTac6J/CwIQXGqVsQQHyUKsVoWgML110YnTGj7eGZ9Ka+wv9q1Emx6VqthgRisQw7EqfiU0Qhz9260bM+MI40T+FvnHv/PFbDIjGKM4Ou3G8fxLva6sXXQP7nF5UmzUwqBXYZJm3aDncY8fGSj0O8OKpdOE+F4zg6OUJvOfGOhjUClGQSMXhHgdqSrQ42GLFkZ5xjM74oVXKYdJy/Vdl0iAQjqUN9L9YOnocuK7WjL0NZUki2PRcCCcGpvAnN22AShE/vu7ZXoW6svjxtbnKkJSJUkhi8MqVCXiDkazbNTg5h4v2WXxkP2d1mErMXQjpvVOlkHHuiVlkYuvotmNXfQn2bChFR49greZAmV6Ft++qwQsp4rPlm1euTMAXiuJjt27EXCiK13on0TvuQa/TK7qzcteaFa/3TcLtD4t987FbN+LqlG/R2ZeeuzCOGE3928JgLBa1Qo5ddSVp4yCNTPtg1iphUGc2ijdrlTBquO2WEv9IQFhc6lRylOoW77YpxDf5zZujfNsK767S1liGSIzi1NA0uoamReGotlSHmhKtaFnFYKwXRlME1zeoFTBrlSmzRheaN3gLwZuYgMRYYzABCRAtc1686MTBHanjJEmpNKph0ihw9LITZ0fcaG9deMItFWLmrR2MGJ3x41enh1GuV8Up04darLg65cPvz45BLiNoKOcC2zZVGXBl3Itnuu1oqTHFBXkVaGssQ6lOiY5uR0bLKABxQZulJAbBzoY7t1qgUsjwoxNDSccNcOKWJxDBU2+NotKgTnJl+9GJIViMauxOYV7aZOGykC0kDJ0dmYHdHcChVhvaW6w43j+F6RTZ5TJxyeHB0JSPL4ezenJKXPyOnOfqT1xgSS1tmi2pgyknIvRPlUkjjjebpC+qzRpcXzdvgksIQVOVAZ5gBGqFLG5yatQocdvmChzpsaPr6jQmPEEcus6GQ602HOubRP+EF6eGXGhvteJQixXXXD489Vby+OqVZGLrGZ3FyLQf7a02HGqx4uSgC/0TXhzvm0R7iy2lKe6hVisiMYpnuu0o1y/sVrCrrhRVJjU6uu0SQXThcSpYeDVZDElPm5skLkrpONLjgMWoxqN3b4ZeJccTx4dENydgXvh77JV+hKMUD+6uw4HNnDB02cFlfwO4iUhNiRZvDEzhjQEXDrVw/Tw648e5EbdYnyAO//H1Nbh7mwXPXXAgEo0ltWs2EMbrvZNob7HiUKsNk94gjvRwrpxCHwtxqfIdB2lk2oezwzNo54+h1+mNs0ITrM3evacOtzVXxo+vVhsOtSSMrwWEh0OtNoQiMbx0yZl124Rr/ZFbGrGrviQnUbhvwotSnVIcN80WI/oyWDBdm/Lh/NgsDrXY0N5qw0X7LC47PHjx4jju21GFB3ZWwxOM4FiK2F/55EiPAyU6Jf76ns0wa5U43G1PeS9vb7UhHKV48eI4Dnc7sNVqxCdv2wgZyU1sk9LRbUdDuQ7bbMx9jZFf2jZyGcM8gdQiuBD0NluEBwn5yHQm1FtTol2Si4nVQrcSYAAAGnpJREFUrMGGcp3oml7oLGwAsHtDKWQEeOLYILzBiOguCHDzwZODroJYrjIYxYogEiVaANaWakVxaTk5OehCmV6V9HCNwVjtFExAIoQcJIRcJoT0EUI+W6h68oEgIEViNKUFTCKEEDRXGfHy5QkA6Re/QiYznUqOan4hKNxIjl6ewH0Jgb3v5QWsly450VCuE+OmNFsMcPvDeItf8KVCIZfhvh1WvHTJiafPjmFXfUlSDB8pNrM25aLU7s7dAsmoUeK25soF4yfd3FQOo0aRVLZ0cXywxbqgOXp7qw0nB12Y8CRbTB3ucUApJ7hrWxUOtdo415qLubuxHeZdju7dXoVDrdY41y1g3tWqrixevCuTiCWbsvyRsEpc+BI/4/oiWaQRxI5NlYYkkbO9xYYxdwBfPnIJKoUMd261oL3FinCU4u9+fQ6Ucgv5TONrkg+A3dFjh0JGcO/2KrS32hCjXPDsSIwmWWAJtNaYUVOihS8UjbPKSkQm46yVXrkygd+dGcFWq1HMDJeKMokQkEiTxBpwIXwhzlX0YIsVWpUcd26rEsUMIUD9xko9ZISzVKo2a7Cz1oz2ViucniAu2GfjhMEmiwGv9U4iyt8v7tlWJbqeCnT02FFhUOHGhjK0t9ow7QunfAL/0kUnQtEY2lttuGOLBWqFDPYEAVf435EiXtlSkIp3gjghtZTq6LGjroyLw3Wo1Zo8vngRQzq+UrG7vhQWozqlm99CHO524Pq6EtSUaHGoxcbFJpvK7ulh37gXzZb5pAZS98QF6+PP3UFJX/zj77oxF4qivcWG/ZsqYNQoFuWKly3BSBQvXBjHvXzGScFq8w/nxrBnQ2lcRsXra0tgM2vw4zeu4tRVTrwrN6hx08ZyPNOduxvbjC+EE/1TaG9NLQ4zVhfFNv9qayxDjCJlkH0g97T3ouiTDwukkvyVJaTpLtEpoc/CmmqpGDVKtNSYxbmoNE343sYyTHpD6J+YK3g7GIxiQXBTS4xBVlOiXREXts7BKextKGO/q4w1R0EEJEKIHMB/AWgHsB3Aw4SQ7YWoKx8IAlKZXoW9DdmZGQoLyu02EzaUp05/DcwLJFLribj4NQliUJleJU4CpAtm6f/pBKuDLVZ4gxHefS29GCYE+JYuNoRUl4KLVS4IwoJeJYcxYfKkVsxnsUu1OAbSu060t1i5+EYX4hdwgqvVLU0VMGuV2FFtiosPkgsdPQ60NZaj3KBGc5URmyr14oJRcLVKJTAKAofg5pQNthQCkjQDWqp6miTxehK5mxcxuq5O47bmShjUCuzkF5ldV6exsVKPZosh4/jqdXpEV759m8pRolNhq9WIhnIduq5Oo6ZEu2B6YsG1RtonC3GwxYpgJMa7BKZ3mSkzzFsgJWLSKGE1adLGuDl6eQKBcEwUBqTXhdCXGqUc9bwwKIh3gmsgEH/NCv/Xl3GufILr6eFuzo3NH4ri5UtOUay7fXMldCq56AYopaPbjiqTGrvqSsSA6EDiuOAFpDxbIB3ucXAZ6Cr0qDJpsFviuuX2hXFMYm1217YqKOXC+KqAUaPEzlozqoXxVaHH5hTjEuAEw/t2WPHyZSd8ocxubMMuLrC3cJ5EcSsLKyRKKa44PXGxyAT3xKHJhQWojp55cbimRIuddSXoujoNs1aJfZvKoVLIcM+2Ki4geiTZkiwfHOubhCcYEe+D7a1WeAIRXBn3JlmSCn165toMKJ2/X7S32jAwMZd1YHkBIQ4Xi3+0+inG+dcNQsawgWQRnVKK0Wl/TgJOPi2QakrzV5ZgAbQc1kdinfyctaFcFycyt/FZWYUg2wzGemB02g+VXJaUSKeGt0BaTou8sRk/hl1+Fv+IsSYp1COSvQD6KKUDAEAI+W8AfwzgQoHqWxKCgHTfjqoFA20nIixmF7LGEBAWgk0SC4v6Mh1Uchn0arnosy6lvdWG4/1TcQtm4f9M1ho3b6qASaPAbCCSMZaFzayBLxTFV5+/Ih73HB+nJFcLJADiItMqcb+RcrDFit+eGY0TSkwaBXQqObRKedqb7FarEY0Vevzo+FVMeefd02b9YYxM+8UsTYQQHGq14QfHBvG1F3qRrejvC0XR5/TiQ/s2iJ8darXhv17uw1efv4Ir45xAkapPTRoFlHIiujllgzQLnUCpTgmVQoYSrTKlK58g8jSlOP9mnRL7myrwypUJcUwK8Wd+cGwIhyQWTanGlyCkPHFsCEcvT2BoyodP3MZlIiSEoL3Vhm8f7Ud7izXtk5T2Vhu+9/qg6D60EDc2lKHCoMKkN5TxGpK6sKWiyWJA54ALX3+xN+X3L15ycq6i/ET7wJZKaJQyaJTyuHY2WQy8CyPXHsE18IWLzpTXYnvrfF8carHis7/txr92XMSsPwJfKCqKwxqlHHds5dzhpBN8SrmYNw/vrRfF5UOtNjx3YTzu+qs0qiEjwB/OjaW0wFsMkRjF6avT+Jt7NouftbdY8S/PXMSXj1yC3R2Ii8Nl1nLj6+jlCfEaIITgYIsNjx8bjOuLVLS3WvHjN67i80+dT7LgS+T8mJtvD1dPXZkOrTVm/PepYQQziDfhaAwzvnDcNSKcr28f7Ut57wxHYzg7PIO/PbhF/OxQixVnh2dwz/Yq0d22vdWG354ZxT8/fT7uPOaLV69MwKhR4OYmbuG3v6kCRrWCE5VSiKyHWm144vgQNvHiMMD9hv2vp3rwpcOX4lxgUbOP+7vANXKEj8O1kDjMWFUU3fxLyBh2pMcOnUoe9104GsNcKJpTzCBh23zEGcpnWcLDmXzEZsq6zo3l+N7rg2IMJoGGch0sRjV+eWo4bs7EYKxlXu2dRE1pcnD92lId5kJRfOX5Kwsmt8k3A7zrfKp1HoOx2imUgFQDYFjyfgRAm3QDQsgnAHwCAOrr67GSNFboUWVS4yE+JXI23LSxHFUmNd62sybtduV6FbbbTHHp0RVyGW7fwgUnTnUja2+x4rGj/eJCAuCCKLfUmPCeDG1UKWR4eG89rox7Mi7UrqstgVJO8PWX+pLK2F6de+pXs1aJd+yqWVCEu40PyHyDJEg5IQQ3byrHdpspbewpQgjee2Md/u3wJVx+Pt7apFyvwr3bq8T379hVgx8eH8JXX7iSU/tLdEoxoDkA/PH1Nfjea4P4Gr/oumljGRorkq3NCCFoaywXrUeyocqkwZYqI/ZILN6EvthVV5rSle863uLj5qaKlGU+vLce/RNe3LVtvi8e3F2LP5yz4+275sepOL42zY8vi1GNzVUGPMcH6S7VKXHfjvly3rmrBr8+PYJ37U6fin1XXQmuryvBrvqStNvJZQTv21uPrqvTohvZQrTUcMe9qy51mbc0V+D1vkl85fmFz/efHtgkjkudSoGHdtdhLhiJEz1u21wJpycYl+b1fW31uOTwYKskaPjexjJYjGq864b5vrhvhxVffvYy/u9rgwC4e4p00vDQ7loc6XEktVEll+GdN8yfm7u2WdBQrotrg1Iuw/V1JTjWN4Vjffl7mqxTyfG266vF9/dfV42vvdiLbx3tBwBss5niRIiH99ajz+nF3dvjx9fT58bwjl3p74N7G8qwsVKPX50eyapttzRVxMV5e+/eOvzj73rSnmMBlUKGGyXX1aZKA2xmDZ58a2zBfQxqBR64br4vHthZje+/Poj33Dh/v721uQI1JVr8tPNaVsewGB7Z3wC1gltgqxVyvOfGOgxNzaW0aNi9oRQtNSa8Y1etOI4tRg1nKXVhPD7mVN0t3N80/fc/7t3MzOzXBhnnX8Dyz8EEgTrVNaySy3B9Xfbi5Z6GUtSUaLHFuvR4XZstRtSUaHFjw9LTe9eWarG3oSxJzCkkexvLUFuqTbJaFh6mPXF8CGcl8fkYjLXOu/ckz1OvrzNDJZfhGwnrnULTWKHHVmvu6ykGo9ghhTDnI4Q8COAgpfRj/PsPAGijlH461fZ79uyhXV1deW8HIzOxGEXiCCDAklLjFpJU6dpTtTfVcWUiUzkygjW9wKKUQujeYh4DqUg1LqRkCoyfDzKNlaVca9Jzky+We7zncgyp6s50jgVSHVemulfyPEjJxzhN2cY77+T+vvRSQevOBCHkNKV0T8ErWsfkOv8Clm8OttA1vNp+b1YT2d43GYy1wkJzl8WsCwrVFgYjJQcOcH+PHi1I8fmcgxXKAmkUgNRUppb/jFFkrLZJW7aLnHwd12rrn6VACIF8lR7ucix+M5FprCxlLC3XuSnkeF/qMSzlHOer/1bDNZKyjUdfXpG2MFaEop1/FcN9er3B+pzB4FhP83nGKqVAwlEhKJQj6CkAzYSQRkKICsB7Afy+QHUxGAwGg8FgMNj8i8FgMBgMRgEpiAsbABBCDgH4TwByAI9TSr+YZlsPgMs5VlEBYJL/3wwgH07ea70caZ8VQ3tWWzmZ+m+1Hlchy2HX6dLKWcw1uxqOa7nKSdV/a+G4ClnOUn8nBKTtEcrcQCnNPlgcY1HkMv/it58AcDXHahLHW77GTaqy80Whyi1k2fm67+Wj3Gwppr5YibILMe9JxWrr55Xoi2JZ9yxn2cVabrpzUaxtXomyC9nmLZTSpQcPBLh4CSv9AtC1lH0AfDdP7VjT5Symn1fDcS1XOZn6b7UeVyHLYdfp0spZ5L2x6I9rucpJ1X9r4bgKXM6SfidStSdfZbJX8bwSx1s+z3G+xvJylVtsbc7mXKyXvliJsgsx71kL/bwSfVEs65610M9LLTfduSjWNq/Gfl7sOcj1tTy5DAvP06wcVg4rh5XDymHlsHKKhmJrDyO/FPL8Fqps1ubCl1vIslmbl6fs1VZuIctmbS58uYUsm7W5QBTMhS2nRhDSRXOMCr6YfdY7rM+WBuu/3GF9tjRY/y0N1n+5U4g+Y+dh7cPOcfHAzsXKwvq/eGDnonhg52Llyec5KBYLpO8u0z7rHdZnS4P1X+6wPlsarP+WBuu/3ClEn7HzsPZh57h4YOdiZWH9Xzywc1E8sHOx8uTtHBSFBRKDwWAwGAwGg8FgMBgMBqN4KRYLJAaDwWAwGAwGg8FgMBgMRpHCBCQGg8FgMBgMBoPBYDAYDEZailpAIoS8nRBCCSFbV7otxQ7fTz+RvFcQQiYIIX9YyXatRggh3pVuw2olU98RQo4SQlgQPQnsPrd4CCH/SAg5Twg5Rwh5ixDSttJtWg0QQmoJIU8RQnoJIf2EkK8RQlRptv8MIUS3nG1kFAdsblG8sLnKysPmPCsLmz8VF2xOtrIs59yuqAUkAA8DeJ3/mzWEEHlhmlPUzAFoIYRo+ff3ABhdwfYwGIzsWNR9br1DCNkH4H4AN1BKrwNwN4DhlW1V8UMIIQB+C+BJSmkzgM0ADAC+mGa3zwBgAtL6hM0tGAxGscLmT0UCm5OtLMs9tytaAYkQYgBwC4CPAngv/9kBQsirhJBnCCGXCSGPEUJk/HdeQsj/IYScBbBv5Vq+onQA+CP+/4cB/Fz4ghCylxByghByhhBynBCyhf/8VULI9ZLtXieE7FzWVhch/Fj7g+T9NwkhH+b/HyKE/DMh5E1CSDd78hFPur5jxJPmPrfQ2DtECLlECDlNCPn6OrcCsAGYpJQGAYBSOkkpHSOE7CaEvML30bOEEBsgPgn+Gv9UrIcQsndFW79y3AkgQCn9AQBQSqMAHsX/a+/+Y++q6zuOP19aBEvlRw1joGDVybCyiStxFSTWaJaZqAyD/DA6GGHT6GAYWeaUGNTsl2Oa+AOHU5AsriIBI/sRpCNtQFNLLWUFygbGajdkA2UDuglBefvH+VSvX77f2zL6vefcfp+PpLn3fs65576/59577qufc87nwNlJ9k9ycVs/W5Kcm+Q84HBgbZK1Pdat/pgtBsqs0j8zTz/MT4NjJuvXRLPdYDuQgJOA66rqLuAHSVa09pcD5wLLgRcCb2rt+wMbquqlVfW1iVc7DF8ETk+yH/CrwIaRaf8KnFhVLwM+APxpa/8ccBZAkqOA/arqXyZW8fT6flX9GvBp4IK+i9HUmms79wTte30p8LqqWgEcMqEah+p64IgkdyW5JMmrkuwDfAI4pa2jy/j5vS+Lq+pY4J1t2kL0EmDTaENVPQRsB84BlgHHtj2IX6iqjwPfA15dVa+ecK0aBrPF9DKraG9lfhoWM1m/JprthtyBdAZdaKHd7jw88eaq+nbrWVtN1/sM8GPg6smWOCxVtYXuA3IG3R7DUQcCVyW5HfgY3QcN4Crg9e1Lfjbw+YkUO/2uabeb6Na59P8x13ZuNkcD366qbe3x6jHz7vWqagewAvg94H7gSuDtwDHAmiS3AhcCzx152ur23BuBA5IcNNGih28VcGlV/Qigqh7otxwNgdliqplVtLcyPw2ImWzQVrGHs92ip7qA+ZBkKd2hWL+SpICnAwX8Y7sdtfPxI61TaaG7FriY7sPy7JH2DwNrq+rkJMuAdQBV9X9J1tD15J9K9+UX/Iif72Ddb8b0R9vtjxno96hHu1p3Yux27iu4/nZL2+avA9YluQ14F3BHVc11GvNcvx8LyVbglNGGJAcARwLf6aMgTQWzxTCZVfpn5pkw89Mwmcl6NdFsN9QjkE4B/raqnldVy6rqCGAbcCLw8iTPTzf20Wl0g6fpZy4DPlhVt81oP5CfDXx51oxpnwU+Dmysqv+e3/KmxneB5Un2bT3ir+m7oCniuts9c23nnsbs6+/fgBe0/6RBt/1bsJL8cpIXjTQdC9wJHJJuMEeS7JPkJSPznNbaXwk8WFUPTqzg4bgBWJzkt+GnF534K7ojRL4KvD3JojZtaXvOw8CzJl+qBsRsMUz+3vbP92DyzE8DYybr3USz3VA7kM4Avjyj7erWvhH4JN2Hctss8y1oVfUf7bzGmT4C/FmSzczYC1VVm4CHgMsnUOKgtS/Xo1X178CXgNvb7eZeC5sCrrsnba7t3OnMsv6q6od054lfl2QT3YZ/If/YLgGuSLI1yRa6cfE+QBcs/yLdBRVuBY4fec4jbRv413QDby44VVXAycCbk9wN3AU8AryP7j/824Etbf29pT3tM3SfOwfRXqDMFsPi723/fA96ZX4aHjNZjyad7dK93nRIsgq4oKpe33cte5Mkh9Mdcnh0VT3eczm9SneVmL+pKq8G8CS57uZfkiVVtSNJgE8Bd1fVx/quaxokWUf3+/HNvmuRFgKzxfzx97Z/vgfTxfw0LGay6TbUI5A0Ie1Qtw3A+xd6wEvyDroB3S7su5Zp47qbmN9tAxHeQXfqyKU91yNJT2C2mD/+3vbP92AqmZ+kPWSqjkCSJEmSJEnS5A3mCKQkRyRZ286dvCPJH7T2pUnWJLm73R7c2o9Osj7Jo0kumLGsd7dl3J5kdRJH4ZckSdoNZjJJkjSbwXQg0V0G8z1VtRxYCbwryXLgvcANVfUiuhHG39vmfwA4j+6ysj+V5Dmt/biqOobu0o6nT+ZPkCRJmnpmMkmS9ASD6UCqqnur6pZ2/2G6q6w9BzgJuKLNdgXwW22e+6pqI/DYLItbBDyzXSFhMfC9eS5fkiRpr2AmkyRJsxlMB9KoJMuAl9ENwHhoVd3bJv0ncOi451bVPXR7wLYD9wIPVtX181asJEnSXspMJkmSdhpcB1KSJcDVwPlV9dDotOpG/B476nc7H/8k4PnA4cD+Sd46T+VKkiTtlcxkkiRp1KA6kJLsQxdUvlBV17Tm/0pyWJt+GHDfLhbzWmBbVd1fVY8B1wDHz1fNkiRJexszmSRJmmkwHUhJAnwOuLOqPjoy6VrgzHb/TOAru1jUdmBlksVtma+hO3dfkiRJu2AmkyRJs0l3BHL/krwSuAm4DXi8Nb+P7pz7LwFHAt8FTq2qB5L8IvBN4IA2/w5geVU9lOSDwGl0VxHZDJxTVY9O8u+RJEmaRmYySZI0m8F0IEmSJEmSJGmYBnMKmyRJkiRJkobJDiRJkiRJkiSNZQeSJEmSJEmSxrIDSZIkSZIkSWPZgSRJkiRJkqSx7ECSJEmSJEnSWHYgSQIgyUFJ3jmPyz8/yeInMf9ZST65i3lWJTn+qVcnSZLUDzOYpGlhB5KknQ4C5i28AOcDux1edtMqwPAiSZKmmRlM0lSwA0nSTn8OvDDJrUkuT/JGgCRfTnJZu392kj9p99+a5OY2/6VJnt7afyPJ+iS3JLkqyZIk5wGHA2uTrJ2rgCS/k+SuJDcDJ4y0vyHJhiSbk/xzkkOTLAPeAby71XBikkOSXJ1kY/t3whwvJUmSNBRmMElTIVXVdw2SBqCFgX+oqmOSnA6sqKo/bEHi8apameRy4IvAduAjwJuq6rEklwDfAP4JuAZ4XVX9b5I/Avatqg8l+Q5wXFV9f47XPwzYAKwAHgTWApur6veTHAz8T1VVknOAF1fVe5JcBOyoqovbMv4OuKSqvpbkSOCrVfXieVhdkiRJe4QZTNK0WNR3AZIG6Sbg/CTLga3AwS1cvAI4DziTLmRsTALwTOA+YCWwHPh6a38GsH43X/PXgXVVdT9AkiuBo9q05wJXthqeAWybYxmvBZa31wY4IMmSqtqxmzVIkiT1yQwmabDsQJL0BFV1T5KDgN8EbgSWAqfS7Wl6OF06uKKq/nj0eUneAKypqjP2cEmfAD5aVdcmWQVcNMd8TwNWVtUje/j1JUmS5p0ZTNKQOQaSpJ0eBp418vgbdIMu3ki3N+yCdgtwA3BKkl8ASLI0yfPac05I8kutff8kR82x/Jk2AK9K8uwk+wBvHpl2IHBPu3/mmJqvB87d+SDJsWP/YkmSpP6ZwSRNBTuQJAFQVT+gO+z59iR/SRdUFlXVt4Bb6PaA3dTm3QpcCFyfZAuwBjisHfp8FrC6ta8Hjm4v8RngurkGcKyqe+n2aq0Hvg7cOTL5IuCqJJuA0fP3/x44eecAjnSHdh+XZEuSrXQDPEqSJA2WGUzStHAQbUmSJEmSJI3lEUiSJEmSJEkay0G0JU1ckg3AvjOa31ZVt/VRjyRJ0kJgBpP0VHgKmyRJkiRJksbyFDZJkiRJkiSNZQeSJEmSJEmSxrIDSZIkSZIkSWPZgSRJkiRJkqSx7ECSJEmSJEnSWD8B+DdbwkE0Q8wAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, outer_ax = plt.subplots(user_limit//2, 2, 'none', figsize=(user_limit//5,user_limit/2))\n", + "\n", + "for (user, tweet_series), ax_pos in zip(user_tweet_series.groupby('user_id'), outer_ax.flat):\n", + " tweet_series['const'] = 1\n", + " notice_date = notice_twit_user[notice_twit_user['user_id']==user]['notice_date'].iloc[0]\n", + "# print(user, notice_date)\n", + " ax = tweet_series.set_index('tweet_date')['const'].resample('D').sum().plot(ax=ax_pos)\n", + " ymin, ymax = ax.get_ylim()\n", + " ax.vlines(x=[notice_date], ymin=ymin, ymax=ymax-1, color='r')\n", + "\n", + "\n", + "\n", + " plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "experiment_end_date = datetime.datetime(2018,10,2)\n", + "udf = None\n", + "\n", + "for uid, udf in user_tweet_series.groupby('user_id'):\n", + " udf = udf\n", + " break\n" + ] + }, + { + "cell_type": "code", + "execution_count": 148, + "metadata": {}, + "outputs": [], + "source": [ + "def count_before_all(udf):\n", + " return udf[udf['tweet_date'] < udf['notice_date']].count()['tweet_date']\n", + "\n", + "def count_after_all(udf):\n", + " return udf[udf['tweet_date'] >= udf['notice_date']].count()['tweet_date']\n", + "\n", + "def count_before_sym_range(udf):\n", + " return udf[(udf['notice_date'] - udf['tweet_date'] <= collection_range) & (udf['tweet_date'] < udf['notice_date'])].count()['tweet_date']" + ] + }, + { + "cell_type": "code", + "execution_count": 149, + "metadata": {}, + "outputs": [], + "source": [ + "user_tweet_before_all = user_tweet_series.groupby('user_id').apply(count_before_all)\n", + "user_tweet_before_sym_range = user_tweet_series.groupby('user_id').apply(count_before_sym_range)\n", + "user_tweet_after_all = user_tweet_series.groupby('user_id').apply(count_after_all)" + ] + }, + { + "cell_type": "code", + "execution_count": 159, + "metadata": {}, + "outputs": [], + "source": [ + "user_tweet_counts = pd.concat([user_tweet_before_all, user_tweet_before_sym_range, user_tweet_after_all], axis=1)\n", + "user_tweet_counts.columns = ['user_tweet_before_all', 'user_tweet_before_sym_range', 'user_tweet_after_all']" + ] + }, + { + "cell_type": "code", + "execution_count": 161, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "user_tweet_before_all 2080.38\n", + "user_tweet_before_sym_range 96.14\n", + "user_tweet_after_all 166.63\n", + "dtype: float64" + ] + }, + "execution_count": 161, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "user_tweet_counts.mean()" + ] + }, + { + "cell_type": "code", + "execution_count": 169, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[,\n", + " ],\n", + " [,\n", + " ]],\n", + " dtype=object)" + ] + }, + "execution_count": 169, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "user_tweet_counts.hist(figsize=(12,5), bins=30, sharex=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Pure SQL" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "lum_not_sql = '''SELECT date(date_received) as dr, count(date(date_received))\n", + "FROM lumen_notices\n", + "GROUP by dr\n", + "'''\n", + "lum_not_df = pd.read_sql(lum_not_sql, db_engine, parse_dates=['dr'])\n", + "\n", + "lum_not_df" + ] + }, + { + "cell_type": "code", + "execution_count": 171, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
CS_oldest_tweets_archivedcount(CS_oldest_tweets_archived)
019142
1246
2314713
\n", + "
" + ], + "text/plain": [ + " CS_oldest_tweets_archived count(CS_oldest_tweets_archived)\n", + "0 1 9142\n", + "1 2 46\n", + "2 3 14713" + ] + }, + "execution_count": 171, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "twit_user_processed = '''-- how many in process\n", + "SELECT CS_oldest_tweets_archived, count(CS_oldest_tweets_archived) from twitter_users\n", + "\tgroup by CS_oldest_tweets_archived\n", + "'''\n", + "twit_user_processed_df = pd.read_sql(twit_user_processed, db_engine)\n", + "twit_user_processed_df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "twit_user_rec_created = '''select date(record_created_at) as drca, COUNT(date(record_created_at)) from twitter_users\n", + "GROUP by drca\n", + "'''\n", + "twit_user_rec_created_df = pd.read_sql(twit_user_rec_created, db_engine, parse_dates=['drca'])\n", + "twit_user_rec_created_df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "lumen_twit = '''select notice_id, date_received, twitter_user_id from lumen_notice_to_twitter_user as lum_twit\n", + "left join (select id, date_received from lumen_notices) as lum_notice\n", + "on lum_twit.notice_id = lum_notice.id\n", + "'''\n", + "lumen_twit_df = pd.read_sql(lumen_twit, db_engine, parse_dates=['date_received'])\n", + "lumen_twit_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "twitid_complaints = lumen_twit_df.groupby('twitter_user_id').agg({'notice_id':len}).rename({'notice_id':'complaints_received'}, axis=1)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "len(twitid_complaints[twitid_complaints['complaints_received']>1])/len(twitid_complaints)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "twitter_rate_sql = '''select max(reset_time), user_id from twitter_ratestate\n", + "group by user_id'''\n", + "twitter_rate_df = pd.read_sql(twitter_rate_sql, db_engine, parse_dates=['max(reset_time)'])\n", + "twitter_rate_df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "before_after_tweets_sql = '''create TEMPORARY table notice_twit_user as\n", + "(\n", + "select n.date_received as notice_date, ltt.twitter_user_id as twitter_user_id from lumen_notices as n\n", + "join lumen_notice_to_twitter_user as ltt\n", + "on n.id = ltt.notice_id\n", + ")\n", + "\n", + "select * from notice_twit_user\n", + "\n", + "-- make this relation first and then later groupby\n", + "create TEMPORARY table notice_tweet as (\n", + "select notice_date, twitter_user_id, created_at as tweet_date\n", + "from notice_twit_user nt\n", + "join twitter_statuses ts\n", + "on nt.twitter_user_id = ts.user_id\n", + ")\n", + "\n", + "\n", + "select sum(before_tweet) as before_tweets, sum(after_tweet) as after_tweets, twitter_user_id \n", + "from \n", + " (select tweet_date, \n", + "\t\tnotice_date,\n", + "\t\tcase when tweet_date < notice_date then 1 else 0 end as before_tweet,\n", + "\t\tcase when tweet_date > notice_date then 1 else 0 end as after_tweet,\n", + "\t\ttwitter_user_id\n", + "\tfrom notice_tweet ) as tweet_timing\n", + "group by twitter_user_id\n", + "'''" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.5" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/utils/ipynb/url_unshortener bit.ly tiny.url tester.ipynb b/utils/ipynb/url_unshortener bit.ly tiny.url tester.ipynb new file mode 100644 index 0000000..13af5ab --- /dev/null +++ b/utils/ipynb/url_unshortener bit.ly tiny.url tester.ipynb @@ -0,0 +1,1310 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Logging to /home/paprika/workspace/CivilServant-twitter/utils/../logs/CivilServant_development.log\n" + ] + } + ], + "source": [ + "from url_unshortener import bulkUnshorten, bulkUnshortenLegacy\n", + "import pandas as pd\n", + "short_urls = ['http://bit.ly/f3xedD']\n", + "short_urls = ['http://bit.ly/AStarIsBornTickets', 'https://bit.ly/2lxnMPF', 'http://bit.ly/7POEiT5m', 'http://bit.ly/1L6Vn2e', 'https://bit.ly/2CoVkwIv', 'http://bit.ly/2SEa4ia', 'https://bit.ly/2T6Ri3vSorrentino', 'http://bit.ly/2EXJdur', 'http://bit.ly/KiSS925Player', 'http://bit.ly/2Muqvut']\n", + "short_urls_t = ['https://t.co/YnIMB743o2', 'https://t.co/Q01sW8PKes', 'https://t.co/KCvxyp5TfU', 'https://t.co/7JhHmDTBsN', 'https://t.co/iXuw5ompWq', 'https://t.co/eeilzwj2Mg', 'https://t.co/TCeDK4TTyR', 'https://t.co/Of14xVLiXC', 'https://t.co/3DMwnqQZ6L', 'https://t.co/yTHxD9ZALR']\n", + "short_urls_dup = ['https://t.co/3DMwnqQZ6L', 'https://t.co/3DMwnqQZ6L']" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Bulk Unshorten called with 2 urls. Num workers specified: 20\n", + "Hops limit is 5 and request Timeout Seconds = 10\n", + "Starting URLS before unshortening are: {'https://t.co/3DMwnqQZ6L': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'https://t.co/3DMwnqQZ6L'}}\n", + "Bulk Unshorten 2 called with 2 urls. Num workers specified: 20\n", + "Hops limit is 5 and request Timeout Seconds = 10\n", + "Starting URLS before unshortening are: [{'original_url': 'https://t.co/3DMwnqQZ6L', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'https://t.co/3DMwnqQZ6L'}, {'original_url': 'https://t.co/3DMwnqQZ6L', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'https://t.co/3DMwnqQZ6L'}]\n" + ] + } + ], + "source": [ + "unshort_dup = bulkUnshortenLegacy(short_urls_dup)\n", + "unshort_dup_2 = bulkUnshorten(short_urls_dup)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'https://t.co/3DMwnqQZ6L': {'hops': 3,\n", + " 'status_code': 200,\n", + " 'success': True,\n", + " 'final_url': 'http://player.kiss925.com/',\n", + " 'error': None,\n", + " 'original_url': 'https://t.co/3DMwnqQZ6L'}}" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "unshort_dup" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'original_url': 'https://t.co/3DMwnqQZ6L',\n", + " 'final_url': 'http://player.kiss925.com/',\n", + " 'hops': 3,\n", + " 'status_code': 200,\n", + " 'success': True,\n", + " 'error': None,\n", + " 'curr_url': 'http://player.kiss925.com/'},\n", + " {'original_url': 'https://t.co/3DMwnqQZ6L',\n", + " 'final_url': 'http://player.kiss925.com/',\n", + " 'hops': 3,\n", + " 'status_code': 200,\n", + " 'success': True,\n", + " 'error': None,\n", + " 'curr_url': 'http://player.kiss925.com/'}]" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "unshort_dup_2" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Bulk Unshorten called with 10 urls. Num workers specified: 20\n", + "Hops limit is 5 and request Timeout Seconds = 10\n", + "Starting URLS before unshortening are: {'http://bit.ly/AStarIsBornTickets': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'http://bit.ly/AStarIsBornTickets'}, 'https://bit.ly/2lxnMPF': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'https://bit.ly/2lxnMPF'}, 'http://bit.ly/7POEiT5m': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'http://bit.ly/7POEiT5m'}, 'http://bit.ly/1L6Vn2e': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'http://bit.ly/1L6Vn2e'}, 'https://bit.ly/2CoVkwIv': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'https://bit.ly/2CoVkwIv'}, 'http://bit.ly/2SEa4ia': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'http://bit.ly/2SEa4ia'}, 'https://bit.ly/2T6Ri3vSorrentino': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'https://bit.ly/2T6Ri3vSorrentino'}, 'http://bit.ly/2EXJdur': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'http://bit.ly/2EXJdur'}, 'http://bit.ly/KiSS925Player': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'http://bit.ly/KiSS925Player'}, 'http://bit.ly/2Muqvut': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'http://bit.ly/2Muqvut'}}\n", + "Bulk Unshorten called with 10 urls. Num workers specified: 20\n", + "Hops limit is 5 and request Timeout Seconds = 10\n", + "Starting URLS before unshortening are: {'https://t.co/YnIMB743o2': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'https://t.co/YnIMB743o2'}, 'https://t.co/Q01sW8PKes': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'https://t.co/Q01sW8PKes'}, 'https://t.co/KCvxyp5TfU': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'https://t.co/KCvxyp5TfU'}, 'https://t.co/7JhHmDTBsN': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'https://t.co/7JhHmDTBsN'}, 'https://t.co/iXuw5ompWq': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'https://t.co/iXuw5ompWq'}, 'https://t.co/eeilzwj2Mg': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'https://t.co/eeilzwj2Mg'}, 'https://t.co/TCeDK4TTyR': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'https://t.co/TCeDK4TTyR'}, 'https://t.co/Of14xVLiXC': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'https://t.co/Of14xVLiXC'}, 'https://t.co/3DMwnqQZ6L': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'https://t.co/3DMwnqQZ6L'}, 'https://t.co/yTHxD9ZALR': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'https://t.co/yTHxD9ZALR'}}\n", + "Bulk Unshorten 2 called with 10 urls. Num workers specified: 20\n", + "Hops limit is 5 and request Timeout Seconds = 10\n", + "Starting URLS before unshortening are: [{'original_url': 'http://bit.ly/AStarIsBornTickets', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'http://bit.ly/AStarIsBornTickets'}, {'original_url': 'https://bit.ly/2lxnMPF', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'https://bit.ly/2lxnMPF'}, {'original_url': 'http://bit.ly/7POEiT5m', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'http://bit.ly/7POEiT5m'}, {'original_url': 'http://bit.ly/1L6Vn2e', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'http://bit.ly/1L6Vn2e'}, {'original_url': 'https://bit.ly/2CoVkwIv', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'https://bit.ly/2CoVkwIv'}, {'original_url': 'http://bit.ly/2SEa4ia', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'http://bit.ly/2SEa4ia'}, {'original_url': 'https://bit.ly/2T6Ri3vSorrentino', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'https://bit.ly/2T6Ri3vSorrentino'}, {'original_url': 'http://bit.ly/2EXJdur', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'http://bit.ly/2EXJdur'}, {'original_url': 'http://bit.ly/KiSS925Player', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'http://bit.ly/KiSS925Player'}, {'original_url': 'http://bit.ly/2Muqvut', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'http://bit.ly/2Muqvut'}]\n", + "Bulk Unshorten 2 called with 10 urls. Num workers specified: 20\n", + "Hops limit is 5 and request Timeout Seconds = 10\n", + "Starting URLS before unshortening are: [{'original_url': 'https://t.co/YnIMB743o2', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'https://t.co/YnIMB743o2'}, {'original_url': 'https://t.co/Q01sW8PKes', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'https://t.co/Q01sW8PKes'}, {'original_url': 'https://t.co/KCvxyp5TfU', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'https://t.co/KCvxyp5TfU'}, {'original_url': 'https://t.co/7JhHmDTBsN', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'https://t.co/7JhHmDTBsN'}, {'original_url': 'https://t.co/iXuw5ompWq', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'https://t.co/iXuw5ompWq'}, {'original_url': 'https://t.co/eeilzwj2Mg', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'https://t.co/eeilzwj2Mg'}, {'original_url': 'https://t.co/TCeDK4TTyR', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'https://t.co/TCeDK4TTyR'}, {'original_url': 'https://t.co/Of14xVLiXC', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'https://t.co/Of14xVLiXC'}, {'original_url': 'https://t.co/3DMwnqQZ6L', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'https://t.co/3DMwnqQZ6L'}, {'original_url': 'https://t.co/yTHxD9ZALR', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'https://t.co/yTHxD9ZALR'}]\n" + ] + } + ], + "source": [ + "unshort = bulkUnshortenLegacy(short_urls)\n", + "unshort_t = bulkUnshortenLegacy(short_urls_t)\n", + "unshort_2 = bulkUnshorten(short_urls)\n", + "unshort_t_2 = bulkUnshorten(short_urls_t)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [], + "source": [ + "dfu2 = pd.DataFrame.from_records(unshort_2).set_index('original_url').sort_index()[['hops','status_code','success','final_url','error']]" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "dfu = pd.DataFrame.from_dict(unshort,orient='index').set_index('original_url').sort_index()" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
hopsstatus_codesuccessfinal_urlerror
original_url
http://bit.ly/1L6Vn2eTrueTrueTrueTrueFalse
http://bit.ly/2EXJdurTrueTrueTrueTrueFalse
http://bit.ly/2MuqvutTrueTrueTrueTrueFalse
http://bit.ly/2SEa4iaTrueTrueTrueTrueFalse
http://bit.ly/7POEiT5mTrueTrueTrueFalseFalse
http://bit.ly/AStarIsBornTicketsTrueTrueTrueTrueFalse
http://bit.ly/KiSS925PlayerTrueTrueTrueTrueFalse
https://bit.ly/2CoVkwIvTrueTrueTrueFalseFalse
https://bit.ly/2T6Ri3vSorrentinoTrueTrueTrueFalseFalse
https://bit.ly/2lxnMPFTrueTrueTrueFalseFalse
\n", + "
" + ], + "text/plain": [ + " hops status_code success final_url error\n", + "original_url \n", + "http://bit.ly/1L6Vn2e True True True True False\n", + "http://bit.ly/2EXJdur True True True True False\n", + "http://bit.ly/2Muqvut True True True True False\n", + "http://bit.ly/2SEa4ia True True True True False\n", + "http://bit.ly/7POEiT5m True True True False False\n", + "http://bit.ly/AStarIsBornTickets True True True True False\n", + "http://bit.ly/KiSS925Player True True True True False\n", + "https://bit.ly/2CoVkwIv True True True False False\n", + "https://bit.ly/2T6Ri3vSorrentino True True True False False\n", + "https://bit.ly/2lxnMPF True True True False False" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfu == dfu2" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
hopsstatus_codesuccessfinal_urlerror
original_url
http://bit.ly/1L6Vn2e1404Falsehttp://www.lonestarconference.org/news/2016/3/...None
http://bit.ly/2EXJdur1200Truehttps://www.90min.com/posts/6259374-ole-gunnar...None
http://bit.ly/2Muqvut1404Falsehttp://trigreview.com/sports/today-live-match/None
http://bit.ly/2SEa4ia1200Truehttp://cfile1.uf.tistory.com/image/99E21C4C5C3...None
http://bit.ly/7POEiT5m0404FalseNoneNone
http://bit.ly/AStarIsBornTickets1200Truehttps://www.fandango.com/a-star-is-born-2018-2...None
http://bit.ly/KiSS925Player2200Truehttp://player.kiss925.com/None
https://bit.ly/2CoVkwIv0404FalseNoneNone
https://bit.ly/2T6Ri3vSorrentino0404FalseNoneNone
https://bit.ly/2lxnMPF0404FalseNoneNone
\n", + "
" + ], + "text/plain": [ + " hops status_code success \\\n", + "original_url \n", + "http://bit.ly/1L6Vn2e 1 404 False \n", + "http://bit.ly/2EXJdur 1 200 True \n", + "http://bit.ly/2Muqvut 1 404 False \n", + "http://bit.ly/2SEa4ia 1 200 True \n", + "http://bit.ly/7POEiT5m 0 404 False \n", + "http://bit.ly/AStarIsBornTickets 1 200 True \n", + "http://bit.ly/KiSS925Player 2 200 True \n", + "https://bit.ly/2CoVkwIv 0 404 False \n", + "https://bit.ly/2T6Ri3vSorrentino 0 404 False \n", + "https://bit.ly/2lxnMPF 0 404 False \n", + "\n", + " final_url \\\n", + "original_url \n", + "http://bit.ly/1L6Vn2e http://www.lonestarconference.org/news/2016/3/... \n", + "http://bit.ly/2EXJdur https://www.90min.com/posts/6259374-ole-gunnar... \n", + "http://bit.ly/2Muqvut http://trigreview.com/sports/today-live-match/ \n", + "http://bit.ly/2SEa4ia http://cfile1.uf.tistory.com/image/99E21C4C5C3... \n", + "http://bit.ly/7POEiT5m None \n", + "http://bit.ly/AStarIsBornTickets https://www.fandango.com/a-star-is-born-2018-2... \n", + "http://bit.ly/KiSS925Player http://player.kiss925.com/ \n", + "https://bit.ly/2CoVkwIv None \n", + "https://bit.ly/2T6Ri3vSorrentino None \n", + "https://bit.ly/2lxnMPF None \n", + "\n", + " error \n", + "original_url \n", + "http://bit.ly/1L6Vn2e None \n", + "http://bit.ly/2EXJdur None \n", + "http://bit.ly/2Muqvut None \n", + "http://bit.ly/2SEa4ia None \n", + "http://bit.ly/7POEiT5m None \n", + "http://bit.ly/AStarIsBornTickets None \n", + "http://bit.ly/KiSS925Player None \n", + "https://bit.ly/2CoVkwIv None \n", + "https://bit.ly/2T6Ri3vSorrentino None \n", + "https://bit.ly/2lxnMPF None " + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfu" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
hopsstatus_codesuccessfinal_urlerror
original_url
http://bit.ly/1L6Vn2e1404Falsehttp://www.lonestarconference.org/news/2016/3/...ConnectTimeout
http://bit.ly/2EXJdur1200Truehttps://www.90min.com/posts/6259374-ole-gunnar...None
http://bit.ly/2Muqvut1404Falsehttp://trigreview.com/sports/today-live-match/ConnectTimeout
http://bit.ly/2SEa4ia1200Truehttp://cfile1.uf.tistory.com/image/99E21C4C5C3...None
http://bit.ly/7POEiT5m0404FalseNoneConnectTimeout
http://bit.ly/AStarIsBornTickets1200Truehttps://www.fandango.com/a-star-is-born-2018-2...None
http://bit.ly/KiSS925Player2200Truehttp://player.kiss925.com/None
https://bit.ly/2CoVkwIv0404FalseNoneConnectTimeout
https://bit.ly/2T6Ri3vSorrentino0404FalseNoneConnectTimeout
https://bit.ly/2lxnMPF0404FalseNoneConnectTimeout
\n", + "
" + ], + "text/plain": [ + " hops status_code success \\\n", + "original_url \n", + "http://bit.ly/1L6Vn2e 1 404 False \n", + "http://bit.ly/2EXJdur 1 200 True \n", + "http://bit.ly/2Muqvut 1 404 False \n", + "http://bit.ly/2SEa4ia 1 200 True \n", + "http://bit.ly/7POEiT5m 0 404 False \n", + "http://bit.ly/AStarIsBornTickets 1 200 True \n", + "http://bit.ly/KiSS925Player 2 200 True \n", + "https://bit.ly/2CoVkwIv 0 404 False \n", + "https://bit.ly/2T6Ri3vSorrentino 0 404 False \n", + "https://bit.ly/2lxnMPF 0 404 False \n", + "\n", + " final_url \\\n", + "original_url \n", + "http://bit.ly/1L6Vn2e http://www.lonestarconference.org/news/2016/3/... \n", + "http://bit.ly/2EXJdur https://www.90min.com/posts/6259374-ole-gunnar... \n", + "http://bit.ly/2Muqvut http://trigreview.com/sports/today-live-match/ \n", + "http://bit.ly/2SEa4ia http://cfile1.uf.tistory.com/image/99E21C4C5C3... \n", + "http://bit.ly/7POEiT5m None \n", + "http://bit.ly/AStarIsBornTickets https://www.fandango.com/a-star-is-born-2018-2... \n", + "http://bit.ly/KiSS925Player http://player.kiss925.com/ \n", + "https://bit.ly/2CoVkwIv None \n", + "https://bit.ly/2T6Ri3vSorrentino None \n", + "https://bit.ly/2lxnMPF None \n", + "\n", + " error \n", + "original_url \n", + "http://bit.ly/1L6Vn2e ConnectTimeout \n", + "http://bit.ly/2EXJdur None \n", + "http://bit.ly/2Muqvut ConnectTimeout \n", + "http://bit.ly/2SEa4ia None \n", + "http://bit.ly/7POEiT5m ConnectTimeout \n", + "http://bit.ly/AStarIsBornTickets None \n", + "http://bit.ly/KiSS925Player None \n", + "https://bit.ly/2CoVkwIv ConnectTimeout \n", + "https://bit.ly/2T6Ri3vSorrentino ConnectTimeout \n", + "https://bit.ly/2lxnMPF ConnectTimeout " + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfu2" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [], + "source": [ + "dfut = pd.DataFrame.from_dict(unshort_t,orient='index').set_index('original_url')\n", + "dfut2 = pd.DataFrame.from_records(unshort_t_2).set_index('original_url').sort_index()[['hops','status_code','success','final_url','error']]" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
hopsstatus_codesuccessfinal_urlerror
original_url
https://t.co/3DMwnqQZ6L3200Truehttp://player.kiss925.com/None
https://t.co/7JhHmDTBsN2404Falsehttp://www.lonestarconference.org/news/2016/3/...None
https://t.co/KCvxyp5TfU2404Falsehttp://bit.ly/7POEiT5mNone
https://t.co/Of14xVLiXC2200Truehttps://www.90min.com/posts/6259374-ole-gunnar...None
https://t.co/Q01sW8PKes1404Falsehttps://bit.ly/2lxnMPFNone
https://t.co/TCeDK4TTyR1404Falsehttps://bit.ly/2T6Ri3vSorrentinoNone
https://t.co/YnIMB743o22200Truehttps://www.fandango.com/a-star-is-born-2018-2...None
https://t.co/eeilzwj2Mg2200Truehttp://cfile1.uf.tistory.com/image/99E21C4C5C3...None
https://t.co/iXuw5ompWq1404Falsehttps://bit.ly/2CoVkwIvNone
https://t.co/yTHxD9ZALR2404Falsehttp://trigreview.com/sports/today-live-match/None
\n", + "
" + ], + "text/plain": [ + " hops status_code success \\\n", + "original_url \n", + "https://t.co/3DMwnqQZ6L 3 200 True \n", + "https://t.co/7JhHmDTBsN 2 404 False \n", + "https://t.co/KCvxyp5TfU 2 404 False \n", + "https://t.co/Of14xVLiXC 2 200 True \n", + "https://t.co/Q01sW8PKes 1 404 False \n", + "https://t.co/TCeDK4TTyR 1 404 False \n", + "https://t.co/YnIMB743o2 2 200 True \n", + "https://t.co/eeilzwj2Mg 2 200 True \n", + "https://t.co/iXuw5ompWq 1 404 False \n", + "https://t.co/yTHxD9ZALR 2 404 False \n", + "\n", + " final_url \\\n", + "original_url \n", + "https://t.co/3DMwnqQZ6L http://player.kiss925.com/ \n", + "https://t.co/7JhHmDTBsN http://www.lonestarconference.org/news/2016/3/... \n", + "https://t.co/KCvxyp5TfU http://bit.ly/7POEiT5m \n", + "https://t.co/Of14xVLiXC https://www.90min.com/posts/6259374-ole-gunnar... \n", + "https://t.co/Q01sW8PKes https://bit.ly/2lxnMPF \n", + "https://t.co/TCeDK4TTyR https://bit.ly/2T6Ri3vSorrentino \n", + "https://t.co/YnIMB743o2 https://www.fandango.com/a-star-is-born-2018-2... \n", + "https://t.co/eeilzwj2Mg http://cfile1.uf.tistory.com/image/99E21C4C5C3... \n", + "https://t.co/iXuw5ompWq https://bit.ly/2CoVkwIv \n", + "https://t.co/yTHxD9ZALR http://trigreview.com/sports/today-live-match/ \n", + "\n", + " error \n", + "original_url \n", + "https://t.co/3DMwnqQZ6L None \n", + "https://t.co/7JhHmDTBsN None \n", + "https://t.co/KCvxyp5TfU None \n", + "https://t.co/Of14xVLiXC None \n", + "https://t.co/Q01sW8PKes None \n", + "https://t.co/TCeDK4TTyR None \n", + "https://t.co/YnIMB743o2 None \n", + "https://t.co/eeilzwj2Mg None \n", + "https://t.co/iXuw5ompWq None \n", + "https://t.co/yTHxD9ZALR None " + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfut" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
hopsstatus_codesuccessfinal_urlerror
original_url
https://t.co/3DMwnqQZ6L3200Truehttp://player.kiss925.com/None
https://t.co/7JhHmDTBsN2404Falsehttp://www.lonestarconference.org/news/2016/3/...ConnectTimeout
https://t.co/KCvxyp5TfU2404Falsehttp://bit.ly/7POEiT5mConnectTimeout
https://t.co/Of14xVLiXC2200Truehttps://www.90min.com/posts/6259374-ole-gunnar...None
https://t.co/Q01sW8PKes1404Falsehttps://bit.ly/2lxnMPFConnectTimeout
https://t.co/TCeDK4TTyR1404Falsehttps://bit.ly/2T6Ri3vSorrentinoConnectTimeout
https://t.co/YnIMB743o22200Truehttps://www.fandango.com/a-star-is-born-2018-2...None
https://t.co/eeilzwj2Mg2200Truehttp://cfile1.uf.tistory.com/image/99E21C4C5C3...None
https://t.co/iXuw5ompWq1404Falsehttps://bit.ly/2CoVkwIvConnectTimeout
https://t.co/yTHxD9ZALR2404Falsehttp://trigreview.com/sports/today-live-match/ConnectTimeout
\n", + "
" + ], + "text/plain": [ + " hops status_code success \\\n", + "original_url \n", + "https://t.co/3DMwnqQZ6L 3 200 True \n", + "https://t.co/7JhHmDTBsN 2 404 False \n", + "https://t.co/KCvxyp5TfU 2 404 False \n", + "https://t.co/Of14xVLiXC 2 200 True \n", + "https://t.co/Q01sW8PKes 1 404 False \n", + "https://t.co/TCeDK4TTyR 1 404 False \n", + "https://t.co/YnIMB743o2 2 200 True \n", + "https://t.co/eeilzwj2Mg 2 200 True \n", + "https://t.co/iXuw5ompWq 1 404 False \n", + "https://t.co/yTHxD9ZALR 2 404 False \n", + "\n", + " final_url \\\n", + "original_url \n", + "https://t.co/3DMwnqQZ6L http://player.kiss925.com/ \n", + "https://t.co/7JhHmDTBsN http://www.lonestarconference.org/news/2016/3/... \n", + "https://t.co/KCvxyp5TfU http://bit.ly/7POEiT5m \n", + "https://t.co/Of14xVLiXC https://www.90min.com/posts/6259374-ole-gunnar... \n", + "https://t.co/Q01sW8PKes https://bit.ly/2lxnMPF \n", + "https://t.co/TCeDK4TTyR https://bit.ly/2T6Ri3vSorrentino \n", + "https://t.co/YnIMB743o2 https://www.fandango.com/a-star-is-born-2018-2... \n", + "https://t.co/eeilzwj2Mg http://cfile1.uf.tistory.com/image/99E21C4C5C3... \n", + "https://t.co/iXuw5ompWq https://bit.ly/2CoVkwIv \n", + "https://t.co/yTHxD9ZALR http://trigreview.com/sports/today-live-match/ \n", + "\n", + " error \n", + "original_url \n", + "https://t.co/3DMwnqQZ6L None \n", + "https://t.co/7JhHmDTBsN ConnectTimeout \n", + "https://t.co/KCvxyp5TfU ConnectTimeout \n", + "https://t.co/Of14xVLiXC None \n", + "https://t.co/Q01sW8PKes ConnectTimeout \n", + "https://t.co/TCeDK4TTyR ConnectTimeout \n", + "https://t.co/YnIMB743o2 None \n", + "https://t.co/eeilzwj2Mg None \n", + "https://t.co/iXuw5ompWq ConnectTimeout \n", + "https://t.co/yTHxD9ZALR ConnectTimeout " + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfut2" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
hops_1status_code_1success_1final_url_1error_1hops_2status_code_2success_2final_url_2error_2
original_url
https://t.co/3DMwnqQZ6L3200Truehttp://player.kiss925.com/None3200Truehttp://player.kiss925.com/None
https://t.co/7JhHmDTBsN2404Falsehttp://www.lonestarconference.org/news/2016/3/...None2404Falsehttp://www.lonestarconference.org/news/2016/3/...ConnectTimeout
https://t.co/KCvxyp5TfU2404Falsehttp://bit.ly/7POEiT5mNone2404Falsehttp://bit.ly/7POEiT5mConnectTimeout
https://t.co/Of14xVLiXC2200Truehttps://www.90min.com/posts/6259374-ole-gunnar...None2200Truehttps://www.90min.com/posts/6259374-ole-gunnar...None
https://t.co/Q01sW8PKes1404Falsehttps://bit.ly/2lxnMPFNone1404Falsehttps://bit.ly/2lxnMPFConnectTimeout
https://t.co/TCeDK4TTyR1404Falsehttps://bit.ly/2T6Ri3vSorrentinoNone1404Falsehttps://bit.ly/2T6Ri3vSorrentinoConnectTimeout
https://t.co/YnIMB743o22200Truehttps://www.fandango.com/a-star-is-born-2018-2...None2200Truehttps://www.fandango.com/a-star-is-born-2018-2...None
https://t.co/eeilzwj2Mg2200Truehttp://cfile1.uf.tistory.com/image/99E21C4C5C3...None2200Truehttp://cfile1.uf.tistory.com/image/99E21C4C5C3...None
https://t.co/iXuw5ompWq1404Falsehttps://bit.ly/2CoVkwIvNone1404Falsehttps://bit.ly/2CoVkwIvConnectTimeout
https://t.co/yTHxD9ZALR2404Falsehttp://trigreview.com/sports/today-live-match/None2404Falsehttp://trigreview.com/sports/today-live-match/ConnectTimeout
\n", + "
" + ], + "text/plain": [ + " hops_1 status_code_1 success_1 \\\n", + "original_url \n", + "https://t.co/3DMwnqQZ6L 3 200 True \n", + "https://t.co/7JhHmDTBsN 2 404 False \n", + "https://t.co/KCvxyp5TfU 2 404 False \n", + "https://t.co/Of14xVLiXC 2 200 True \n", + "https://t.co/Q01sW8PKes 1 404 False \n", + "https://t.co/TCeDK4TTyR 1 404 False \n", + "https://t.co/YnIMB743o2 2 200 True \n", + "https://t.co/eeilzwj2Mg 2 200 True \n", + "https://t.co/iXuw5ompWq 1 404 False \n", + "https://t.co/yTHxD9ZALR 2 404 False \n", + "\n", + " final_url_1 \\\n", + "original_url \n", + "https://t.co/3DMwnqQZ6L http://player.kiss925.com/ \n", + "https://t.co/7JhHmDTBsN http://www.lonestarconference.org/news/2016/3/... \n", + "https://t.co/KCvxyp5TfU http://bit.ly/7POEiT5m \n", + "https://t.co/Of14xVLiXC https://www.90min.com/posts/6259374-ole-gunnar... \n", + "https://t.co/Q01sW8PKes https://bit.ly/2lxnMPF \n", + "https://t.co/TCeDK4TTyR https://bit.ly/2T6Ri3vSorrentino \n", + "https://t.co/YnIMB743o2 https://www.fandango.com/a-star-is-born-2018-2... \n", + "https://t.co/eeilzwj2Mg http://cfile1.uf.tistory.com/image/99E21C4C5C3... \n", + "https://t.co/iXuw5ompWq https://bit.ly/2CoVkwIv \n", + "https://t.co/yTHxD9ZALR http://trigreview.com/sports/today-live-match/ \n", + "\n", + " error_1 hops_2 status_code_2 success_2 \\\n", + "original_url \n", + "https://t.co/3DMwnqQZ6L None 3 200 True \n", + "https://t.co/7JhHmDTBsN None 2 404 False \n", + "https://t.co/KCvxyp5TfU None 2 404 False \n", + "https://t.co/Of14xVLiXC None 2 200 True \n", + "https://t.co/Q01sW8PKes None 1 404 False \n", + "https://t.co/TCeDK4TTyR None 1 404 False \n", + "https://t.co/YnIMB743o2 None 2 200 True \n", + "https://t.co/eeilzwj2Mg None 2 200 True \n", + "https://t.co/iXuw5ompWq None 1 404 False \n", + "https://t.co/yTHxD9ZALR None 2 404 False \n", + "\n", + " final_url_2 \\\n", + "original_url \n", + "https://t.co/3DMwnqQZ6L http://player.kiss925.com/ \n", + "https://t.co/7JhHmDTBsN http://www.lonestarconference.org/news/2016/3/... \n", + "https://t.co/KCvxyp5TfU http://bit.ly/7POEiT5m \n", + "https://t.co/Of14xVLiXC https://www.90min.com/posts/6259374-ole-gunnar... \n", + "https://t.co/Q01sW8PKes https://bit.ly/2lxnMPF \n", + "https://t.co/TCeDK4TTyR https://bit.ly/2T6Ri3vSorrentino \n", + "https://t.co/YnIMB743o2 https://www.fandango.com/a-star-is-born-2018-2... \n", + "https://t.co/eeilzwj2Mg http://cfile1.uf.tistory.com/image/99E21C4C5C3... \n", + "https://t.co/iXuw5ompWq https://bit.ly/2CoVkwIv \n", + "https://t.co/yTHxD9ZALR http://trigreview.com/sports/today-live-match/ \n", + "\n", + " error_2 \n", + "original_url \n", + "https://t.co/3DMwnqQZ6L None \n", + "https://t.co/7JhHmDTBsN ConnectTimeout \n", + "https://t.co/KCvxyp5TfU ConnectTimeout \n", + "https://t.co/Of14xVLiXC None \n", + "https://t.co/Q01sW8PKes ConnectTimeout \n", + "https://t.co/TCeDK4TTyR ConnectTimeout \n", + "https://t.co/YnIMB743o2 None \n", + "https://t.co/eeilzwj2Mg None \n", + "https://t.co/iXuw5ompWq ConnectTimeout \n", + "https://t.co/yTHxD9ZALR ConnectTimeout " + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfut.join(dfut2, how='left', lsuffix='_1', rsuffix='_2')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.5" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/utils/ipynb/url_unshortener_frequency_count.ipynb b/utils/ipynb/url_unshortener_frequency_count.ipynb new file mode 100644 index 0000000..937cb64 --- /dev/null +++ b/utils/ipynb/url_unshortener_frequency_count.ipynb @@ -0,0 +1,146 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Getting 10,000 urls from DMCA-COX\n", + "- ssh -N dmca@cox.media.mit.edu -L 3311:cox.media.mit.edu:3306" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "from utils.common import DbEngine\n", + "import os\n", + "import inspect\n", + "from app.models import TwitterStatus, TwitterUnshortenedUrls\n", + "import json\n", + "from sqlalchemy.sql.expression import func as sqlfunc\n", + "\n", + "BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), \"..\")\n", + "ENV = 'production_over_ssh'\n", + "db_session = DbEngine(os.path.join(BASE_DIR, \"config\") + \"/{env}.json\".format(env=ENV)).new_session()\n", + "urls = db_session.query(TwitterUnshortenedUrls.unshortened_url).all()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "urlsf = [u[0] for u in urls]" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [], + "source": [ + "def domain_name(url):\n", + " try:\n", + " no_protocol = url.split('://')[1]\n", + " before_first_slash = no_protocol.split(\"/\")[0]\n", + " # domain_tld = before_first_slash.split(\".\")[-2:]\n", + " # '.'.join(domain_tld)\n", + " # doesn't work for things like .org.cn\n", + " return before_first_slash\n", + " except AttributeError:\n", + " print(url)" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [], + "source": [ + "domains = [domain_name(u) for u in urlsf if u]" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [], + "source": [ + "from collections import Counter\n", + "import pandas as pd" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [], + "source": [ + "domain_counts = Counter(domains)" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [], + "source": [ + "df = pd.DataFrame.from_dict(domain_counts, orient='index').reset_index().rename(columns={'index':'domain',\"0\":\"frequency\"})" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'df' is not defined", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mdf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mto_csv\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'domain_frequencies.csv'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;31mNameError\u001b[0m: name 'df' is not defined" + ], + "output_type": "error" + } + ], + "source": [ + "df.to_csv('domain_frequencies.csv')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.5" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/utils/ipynb/url_unshortener_prod_investigator.ipynb b/utils/ipynb/url_unshortener_prod_investigator.ipynb new file mode 100644 index 0000000..84aa3f8 --- /dev/null +++ b/utils/ipynb/url_unshortener_prod_investigator.ipynb @@ -0,0 +1,2417 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Getting 10,000 urls from DMCA-COX\n", + "- ssh -N dmca@cox.media.mit.edu -L 3310:cox.media.mit.edu:3306" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "from utils.common import DbEngine\n", + "import os\n", + "import inspect\n", + "from app.models import TwitterStatus\n", + "import json\n", + "from sqlalchemy.sql.expression import func as sqlfunc\n", + "from functools import reduce\n", + "from url_unshortener import bulkUnshorten\n", + "\n", + "BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), \"..\")\n", + "ENV = 'production_over_ssh'\n", + "db_session = DbEngine(os.path.join(BASE_DIR, \"config\") + \"/{env}.json\".format(env=ENV)).new_session()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1798" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# error_uid = 106946342\n", + "error_uid = 62259528\n", + "user_statuses = db_session.query(TwitterStatus).filter(TwitterStatus.user_id == str(error_uid)).all()\n", + "status_urls_flat = []\n", + "for user_status in user_statuses:\n", + " status_data = json.loads(user_status.status_data)\n", + " status_url_dicts = status_data['entities']['urls']\n", + " just_urls = [d['url'] for d in status_url_dicts]\n", + " status_urls_flat.extend(just_urls)\n", + "len(status_urls_flat)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" + ] + } + ], + "source": [ + "unshort = bulkUnshorten(status_urls_flat)" + ] + }, + { + "cell_type": "code", + "execution_count": 123, + "metadata": { + "collapsed": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[('https://t.co/PX5IKUYKE0',\n {'hops': 1,\n 'status_code': 301,\n 'success': False,\n 'final_url': 'http://m.net/',\n 'error': 'ReadTimeout',\n 'original_url': 'https://t.co/PX5IKUYKE0'}),\n ('https://t.co/KJzzP8gQz3',\n {'hops': 1,\n 'status_code': 301,\n 'success': False,\n 'final_url': 'https://mega.nz/#F!fa4VQQzJ!rnYplZGplWttT1p5nxvPkA',\n 'error': 'ReadTimeout',\n 'original_url': 'https://t.co/KJzzP8gQz3'}),\n ('https://t.co/aawzSKjhni',\n {'hops': 2,\n 'status_code': 301,\n 'success': False,\n 'final_url': 'https://mega.nz/#!K2pCnSQL!hni9k_ZTScEMdMP4H8WL9NzPKlcpLlCN6JjKIWt4wAE',\n 'error': 'ReadTimeout',\n 'original_url': 'https://t.co/aawzSKjhni'}),\n ('https://t.co/bbSw3kZjvW',\n {'hops': 2,\n 'status_code': 301,\n 'success': False,\n 'final_url': 'https://mega.nz/',\n 'error': 'ReadTimeout',\n 'original_url': 'https://t.co/bbSw3kZjvW'}),\n ('https://t.co/OVrDKccUEH',\n {'hops': 2,\n 'status_code': 301,\n 'success': False,\n 'final_url': 'https://item.rakuten.co.jp/musicstore/20190212-014/',\n 'error': 'ReadTimeout',\n 'original_url': 'https://t.co/OVrDKccUEH'})]" + ] + }, + "execution_count": 123, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "[(s,d) for s,d in unshort.items() if d['error'] is not None]" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "test_urls = ['https://t.co/xOPFen2beP', 'https://t.co/8df1GQUHmg', 'https://t.co/taGEIWlst9', 'https://t.co/ALHErdM85W', 'https://t.co/Cbt77SbVpu', 'https://t.co/VTJMCshR4V', 'https://t.co/Cy7uUN9Kew', 'https://support.twitter.com/articles/15795', 'https://t.co/LvAFLtkQIT', 'https://t.co/1wUlxjiV73', 'https://t.co/UDWXSdJmQy', 'https://t.co/zoxLTzb5kK', 'https://t.co/eRVV1a1hc0']\n", + "# test_urls = ['https://t.co/vaRwUGz11g', 'https://t.co/My1U9DF97m', 'https://t.co/VFJCtq0qgt', 'https://t.co/M0mn9VcRjP', 'https://t.co/Ck3bRRqh0a', 'https://t.co/El7lYetklr', 'https://t.co/ZSkc4zkM7g', 'https://t.co/QBt6yjOHYj', 'https://t.co/JpV2OpQcyL', 'https://t.co/YXfyoxeVdK', 'https://t.co/g0OTiAIYbY', 'https://t.co/AuLBnV3rMe', 'https://t.co/Ukh9znDaKG', 'https://t.co/FwQW1hYeJR', 'https://t.co/nDJwGzvKY5', 'https://t.co/uvT5WTDJ1E', 'https://t.co/RGmP3xNIZO', 'https://t.co/3VlZFFNVOK', 'https://t.co/J5nJLxotiv', 'https://t.co/lxIobWsMSY', 'https://t.co/exjNYVkgIZ', 'https://t.co/uvT5WTVjTc', 'https://t.co/JRxYLakUCs', 'https://t.co/bFgGYU4yLs', 'https://t.co/zsYvMFDGng', 'https://t.co/U5A27sgpWp', 'https://t.co/z7ATTi1Zd5', 'https://t.co/SG8pVmXqaN', 'https://t.co/N93nch5QyV', 'https://t.co/D2gWuJ7bfx', 'https://t.co/LKhOE4dLyt', 'https://t.co/YmxXESOe3A', 'https://t.co/3XqwpZeAFt', 'https://t.co/zcqVEz7JSc', 'https://t.co/MyTiloYZzT', 'https://t.co/3BS91Alrw2', 'https://t.co/uwtgRoBhz6', 'https://t.co/PWcMu07nEZ', 'https://t.co/2vNUjjJ1XC', 'https://t.co/8u4yNEVy48', 'https://t.co/5DL3WcZNwZ', 'https://t.co/mim5FYtyav', 'https://t.co/hGVp6ba0jE', 'https://t.co/NtOVV3bsQT', 'https://t.co/K72FQHk9Rl', 'https://t.co/ZcxczVTyHV', 'https://t.co/SOTsU9cY6J', 'https://t.co/yDUUdp1bmb', 'https://t.co/gmmLnVufxP', 'https://t.co/bajfKB6VKU', 'https://t.co/VAhGyptISQ', 'https://t.co/vteobfHsxo', 'https://t.co/oC8ZLeU3dD', 'https://t.co/Yv9eyH7Kgk', 'https://t.co/jaJhZSIUK3', 'https://t.co/woqFeUIhKT', 'https://t.co/WqXNdI2GZd', 'https://t.co/4iP96jIw3A', 'https://t.co/WxW61zSKL1', 'https://t.co/gPiGhCt2F6', 'https://t.co/6eIHxlH7qW', 'https://t.co/XK6U5ZOTV6', 'https://t.co/CmyCKPgfhf', 'https://t.co/FfZSmKSRfW', 'https://t.co/5m7tGhnLT9', 'https://t.co/I1bGpxKn7t', 'https://t.co/J2V2MdoVzm', 'https://t.co/YjQmmehDQU', 'https://t.co/pDkiHFqhyd', 'https://t.co/0ry6iSztoH', 'https://t.co/nAfvxqzz4S', 'https://t.co/mWXij2Hb9r', 'https://t.co/6Ta2jYzDAo', 'https://t.co/EvL8vk39gM', 'https://t.co/IxuzWMHBPT', 'https://t.co/wNZhh2ASpG', 'https://t.co/Hgdm52yc7s', 'https://t.co/QXFbhQEBoo']\n", + "# test_urls = ['https://t.co/ZaM9NxU448', 'https://t.co/JpcrcHwGsh', 'https://t.co/qbPsHoxNAs', 'https://t.co/4yTfEx4OMl', 'https://t.co/iIcMHOt4GZ', 'https://t.co/fd1sMV0JQo', 'https://t.co/bw7VAPXF8d', 'https://t.co/qw32fFijTF', 'https://t.co/NV4MfTsyjV', 'https://t.co/EiaZzYesjf', 'https://t.co/aXCgWnikAS', 'https://t.co/8OAq13oavE', 'https://t.co/4XVEhtMl8a', 'https://t.co/JjXqcja1VL', 'https://t.co/FDWgTVNxCG', 'https://t.co/pXAle8gPnU', 'https://t.co/fxp09wCryZ', 'https://t.co/bhQojME3RX', 'https://t.co/O6e2sTy7dn', 'https://t.co/qPktYFO2V5', 'https://t.co/Zkc6SgobZX', 'https://t.co/XHR6Fyaaeh', 'https://t.co/vJ4I95PvIm', 'https://t.co/IguncLlwEd']\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "there are 13 urls at the beggining\nthere are 13 urls in the middle\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "would pop\nredirect url is: https://twitter.com/i/web/status/1115431232513421316, result.url is https://t.co/1wUlxjiV73\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115431310510690305, result.url is https://t.co/VTJMCshR4V\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115431371583950848, result.url is https://t.co/Cbt77SbVpu\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam0xg/wrestlemania_35_livewrestlemania_35_watch_live/?ref=share&ref_source=twitter, result.url is https://t.co/Cy7uUN9Kew\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam5nx/wwe_wrestlemania_35_live_wwe_live_streamwwe/?ref=share&ref_source=twitter, result.url is https://t.co/LvAFLtkQIT\nwould pop\nredirect url is: http://bit.ly/2Uuj0Mp, result.url is https://t.co/taGEIWlst9\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam3ij/watchwwe_wrestlemania_35_livewwe_live_streamwwe/?ref=share&ref_source=twitter, result.url is https://t.co/zoxLTzb5kK\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115429407831797761, result.url is https://t.co/UDWXSdJmQy\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115430369405415424, result.url is https://t.co/eRVV1a1hc0\nwould pop\nredirect url is: https://help.twitter.com/articles/15795, result.url is https://support.twitter.com/articles/15795\nwould pop\nredirect url is: https://bit.ly/2G2mVWo, result.url is https://t.co/8df1GQUHmg\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam6xx/wrestlemania_35_livewrestlemania_35_watch_live/?ref=share&ref_source=twitter, result.url is https://t.co/xOPFen2beP\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam6mp/live_stream_wrestlemania_35_onlinewrestlemania/?ref=share&ref_source=twitter, result.url is https://t.co/ALHErdM85W\nthere are 13 urls in the middle\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "would pop\nredirect url is: https://twitter.com/i/web/status/1115429407831797761, result.url is https://t.co/UDWXSdJmQy\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115431232513421316, result.url is https://t.co/1wUlxjiV73\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115431371583950848, result.url is https://t.co/Cbt77SbVpu\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam0xg/wrestlemania_35_livewrestlemania_35_watch_live/?ref=share&ref_source=twitter, result.url is https://t.co/Cy7uUN9Kew\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115431310510690305, result.url is https://t.co/VTJMCshR4V\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam6xx/wrestlemania_35_livewrestlemania_35_watch_live/?ref=share&ref_source=twitter, result.url is https://t.co/xOPFen2beP\nwould pop\nredirect url is: http://bit.ly/2Uuj0Mp, result.url is https://t.co/taGEIWlst9\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam3ij/watchwwe_wrestlemania_35_livewwe_live_streamwwe/?ref=share&ref_source=twitter, result.url is https://t.co/zoxLTzb5kK\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam5nx/wwe_wrestlemania_35_live_wwe_live_streamwwe/?ref=share&ref_source=twitter, result.url is https://t.co/LvAFLtkQIT\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115430369405415424, result.url is https://t.co/eRVV1a1hc0\nwould pop\nredirect url is: https://help.twitter.com/articles/15795, result.url is https://support.twitter.com/articles/15795\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam6mp/live_stream_wrestlemania_35_onlinewrestlemania/?ref=share&ref_source=twitter, result.url is https://t.co/ALHErdM85W\nwould pop\nredirect url is: https://bit.ly/2G2mVWo, result.url is https://t.co/8df1GQUHmg\nthere are 13 urls in the middle\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "would pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam0xg/wrestlemania_35_livewrestlemania_35_watch_live/?ref=share&ref_source=twitter, result.url is https://t.co/Cy7uUN9Kew\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115430369405415424, result.url is https://t.co/eRVV1a1hc0\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115429407831797761, result.url is https://t.co/UDWXSdJmQy\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115431371583950848, result.url is https://t.co/Cbt77SbVpu\nwould pop\nredirect url is: http://bit.ly/2Uuj0Mp, result.url is https://t.co/taGEIWlst9\nwould pop\nredirect url is: https://bit.ly/2G2mVWo, result.url is https://t.co/8df1GQUHmg\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam6xx/wrestlemania_35_livewrestlemania_35_watch_live/?ref=share&ref_source=twitter, result.url is https://t.co/xOPFen2beP\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115431310510690305, result.url is https://t.co/VTJMCshR4V\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam3ij/watchwwe_wrestlemania_35_livewwe_live_streamwwe/?ref=share&ref_source=twitter, result.url is https://t.co/zoxLTzb5kK\nwould pop\nredirect url is: https://help.twitter.com/articles/15795, result.url is https://support.twitter.com/articles/15795\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115431232513421316, result.url is https://t.co/1wUlxjiV73\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam5nx/wwe_wrestlemania_35_live_wwe_live_streamwwe/?ref=share&ref_source=twitter, result.url is https://t.co/LvAFLtkQIT\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam6mp/live_stream_wrestlemania_35_onlinewrestlemania/?ref=share&ref_source=twitter, result.url is https://t.co/ALHErdM85W\nthere are 13 urls in the middle\nthere are 13 urls at the end\n" + ] + } + ], + "source": [ + "resp_urls = bulkUnshorten(test_urls)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(13, 13)" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(test_urls), len(resp_urls)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'https://t.co/xOPFen2beP': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam6xx/wrestlemania_35_livewrestlemania_35_watch_live/?ref=share&ref_source=twitter',\n 'error': None,\n 'original_url': 'https://t.co/xOPFen2beP'},\n 'https://t.co/8df1GQUHmg': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://bit.ly/2G2mVWo',\n 'error': None,\n 'original_url': 'https://t.co/8df1GQUHmg'},\n 'https://t.co/taGEIWlst9': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'http://bit.ly/2Uuj0Mp',\n 'error': None,\n 'original_url': 'https://t.co/taGEIWlst9'},\n 'https://t.co/ALHErdM85W': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam6mp/live_stream_wrestlemania_35_onlinewrestlemania/?ref=share&ref_source=twitter',\n 'error': None,\n 'original_url': 'https://t.co/ALHErdM85W'},\n 'https://t.co/Cbt77SbVpu': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://twitter.com/i/web/status/1115431371583950848',\n 'error': None,\n 'original_url': 'https://t.co/Cbt77SbVpu'},\n 'https://t.co/VTJMCshR4V': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://twitter.com/i/web/status/1115431310510690305',\n 'error': None,\n 'original_url': 'https://t.co/VTJMCshR4V'},\n 'https://t.co/Cy7uUN9Kew': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam0xg/wrestlemania_35_livewrestlemania_35_watch_live/?ref=share&ref_source=twitter',\n 'error': None,\n 'original_url': 'https://t.co/Cy7uUN9Kew'},\n 'https://support.twitter.com/articles/15795': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://help.twitter.com/articles/15795',\n 'error': None,\n 'original_url': 'https://support.twitter.com/articles/15795'},\n 'https://t.co/LvAFLtkQIT': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam5nx/wwe_wrestlemania_35_live_wwe_live_streamwwe/?ref=share&ref_source=twitter',\n 'error': None,\n 'original_url': 'https://t.co/LvAFLtkQIT'},\n 'https://t.co/1wUlxjiV73': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://twitter.com/i/web/status/1115431232513421316',\n 'error': None,\n 'original_url': 'https://t.co/1wUlxjiV73'},\n 'https://t.co/UDWXSdJmQy': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://twitter.com/i/web/status/1115429407831797761',\n 'error': None,\n 'original_url': 'https://t.co/UDWXSdJmQy'},\n 'https://t.co/zoxLTzb5kK': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam3ij/watchwwe_wrestlemania_35_livewwe_live_streamwwe/?ref=share&ref_source=twitter',\n 'error': None,\n 'original_url': 'https://t.co/zoxLTzb5kK'},\n 'https://t.co/eRVV1a1hc0': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://twitter.com/i/web/status/1115430369405415424',\n 'error': None,\n 'original_url': 'https://t.co/eRVV1a1hc0'}}" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "resp_urls" + ] + }, + { + "cell_type": "code", + "execution_count": 105, + "metadata": {}, + "outputs": [], + "source": [ + "left_overs = [l for l in test_urls if l not in resp_urls.keys()]" + ] + }, + { + "cell_type": "code", + "execution_count": 106, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['https://t.co/uvT5WTVjTc', 'https://t.co/5DL3WcZNwZ']" + ] + }, + "execution_count": 106, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "left_overs" + ] + }, + { + "cell_type": "code", + "execution_count": 107, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'https://t.co/uvT5WTVjTc': {'hops': 1,\n 'status_code': 200,\n 'success': True,\n 'final_url': 'https://realproductkeys.org/lumion-crack/',\n 'error': None,\n 'original_url': 'https://t.co/uvT5WTVjTc'},\n 'https://t.co/5DL3WcZNwZ': {'hops': 1,\n 'status_code': 200,\n 'success': True,\n 'final_url': 'https://crackproductkey.com/wondershare-mobiletrans-crack/',\n 'error': None,\n 'original_url': 'https://t.co/5DL3WcZNwZ'}}" + ] + }, + "execution_count": 107, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "bulkUnshorten(left_overs)" + ] + }, + { + "cell_type": "code", + "execution_count": 101, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'https://t.co/bw7VAPXF8d': {'hops': 2,\n 'status_code': 200,\n 'success': True,\n 'final_url': 'https://twitter.com/account/suspended',\n 'error': None,\n 'original_url': 'https://t.co/bw7VAPXF8d'}}" + ] + }, + "execution_count": 101, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "bulkUnshorten('https://t.co/bw7VAPXF8d')" + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['https://realproductkeys.org/hotspot-shield-elite-crack/',\n 'https://realproductkeys.org/lumion-crack/',\n 'https://crackproductkey.com/vmix-crack/',\n 'https://crackproductkey.com/wondershare-allmytube-crack/',\n 'https://realproductkeys.org/corel-draw-crack-crack/',\n 'https://realproductkeys.org/driverpack-solution-online-crack/',\n 'https://realproductkeys.org/psiphon-crack/',\n 'https://crackproductkey.com/daemon-tools-lite-crack/',\n 'https://realproductkeys.org/vmware-workstation-pro-crack/',\n 'https://crackproductkey.com/vsdc-free-video-editor-crack/',\n 'https://crackproductkey.com/minitool-partition-wizard-crack/',\n 'https://crackproductkey.com/keyshot-pro-crack/',\n 'https://realproductkeys.org/korg-pa-manager-crack/',\n 'https://realproductkeys.org/spyhunter-5-crack/',\n 'https://crackproductkey.com/global-mapper-crack/',\n 'https://realproductkeys.org/nitro-pro-crack/',\n 'https://realproductkeys.org/xshell-free-build-crack/',\n 'https://realproductkeys.org/unity-crack/',\n 'https://crackproductkey.com/wtfast-crack/',\n 'https://realproductkeys.org/advanced-system-repair-pro-crack/',\n 'https://realproductkeys.org/wondershare-recoverit-crack/',\n 'https://realproductkeys.org/home-designer-pro-crack/',\n 'https://realproductkeys.org/total-av-antivirus-crack/',\n 'https://realproductkeys.org/cardrecovery-key-crack/',\n 'https://crackproductkey.com/teamviewer-crack/',\n 'https://crackproductkey.com/internet-download-manager-crack/',\n 'https://crackproductkey.com/obs-studio-crack/',\n 'https://crackproductkey.com/autodesk-autocad-electrical-crack/',\n 'https://realproductkeys.org/wondershare-mobiletrans-crack/',\n 'https://realproductkeys.org/snapgene-crack/',\n 'https://realproductkeys.org/freemake-video-converter-crack-2/',\n 'https://crackproductkey.com/wondershare-mobiletrans-crack/',\n 'https://crackproductkey.com/xftp-free-build-crack/',\n 'https://crackproductkey.com/windows-repair-crack/',\n 'https://crackproductkey.com/sublime-text-crack/',\n 'https://crackproductkey.com/global-mapper-crack-2/',\n 'https://crackproductkey.com/4k-video-downloader-crack/',\n 'https://crackproductkey.com/camtasia-studio-crack/',\n 'https://www.youtube.com/watch?v=5nzlLCzDyDk&feature=youtu.be',\n 'https://www.youtube.com/watch?v=Y-7FD-GJJYI&feature=youtu.be',\n 'https://www.youtube.com/watch?v=kK3fP_aplTs&feature=youtu.be',\n 'https://www.youtube.com/watch?v=pujkEsgDLlg&feature=youtu.be',\n 'https://www.youtube.com/watch?v=oKWAsA_DNtY&feature=youtu.be',\n 'https://www.youtube.com/watch?v=aN7Hw5ULo9M&feature=youtu.be',\n 'https://www.youtube.com/watch?v=40NLMUxpHMM&feature=youtu.be',\n 'https://www.youtube.com/watch?v=xjwyGOM4ARg&feature=youtu.be',\n 'https://www.youtube.com/watch?v=qC--HO4XlU8&feature=youtu.be',\n 'https://www.youtube.com/watch?v=ev3VKjGClMw&feature=youtu.be',\n 'https://www.youtube.com/watch?v=ul6NOuog3Bk&feature=youtu.be',\n 'https://www.youtube.com/watch?v=e5ox7ZCzyHA&feature=youtu.be',\n 'https://www.youtube.com/watch?v=BTBPe6DUaCM&feature=youtu.be',\n 'https://www.youtube.com/watch?v=89qcBCDgbgk&feature=youtu.be',\n 'https://www.youtube.com/watch?v=TMwwf4v-Upw&feature=youtu.be',\n 'https://www.youtube.com/watch?v=SEzGAu-Dp1Q&feature=youtu.be',\n 'https://www.youtube.com/watch?v=pHi6zgIAPMY&feature=youtu.be',\n 'https://www.youtube.com/watch?v=VgivuBASIcw&feature=youtu.be',\n 'https://www.youtube.com/watch?v=FnWPY7Nra7w&feature=youtu.be',\n 'https://www.youtube.com/watch?v=X2UB1sZtJ2Q&feature=youtu.be',\n 'https://www.youtube.com/watch?v=BEG3uwcdzCw&feature=youtu.be',\n 'https://www.youtube.com/watch?v=KQrezACvYNQ&feature=youtu.be',\n 'https://www.youtube.com/watch?v=E3eOiE1KIHE&feature=youtu.be',\n 'https://www.youtube.com/watch?v=rmA0cyC1FuI&feature=youtu.be',\n 'https://www.youtube.com/watch?v=Oj1lpb8UA7w&feature=youtu.be',\n 'https://www.youtube.com/watch?v=cncjSOt0S-k&feature=youtu.be',\n 'https://www.youtube.com/watch?v=zmxHuTdacBg&feature=youtu.be',\n 'https://www.youtube.com/watch?v=i-KsSbotZ80&feature=youtu.be',\n 'https://www.youtube.com/watch?v=wOaaQzBuu3A&feature=youtu.be',\n 'https://www.youtube.com/watch?v=8iEeDHwiNwE&feature=youtu.be',\n 'https://www.youtube.com/watch?v=d0Wntq1oWhM&feature=youtu.be',\n 'https://www.youtube.com/watch?v=amsKpLeuxWA&feature=youtu.be',\n 'https://www.youtube.com/watch?v=At9TLC6-d7c&feature=youtu.be',\n 'https://www.youtube.com/watch?v=iTiu7XXY20c&feature=youtu.be',\n 'https://www.youtube.com/watch?v=89f-zHazpOY&feature=youtu.be',\n 'https://www.youtube.com/watch?v=oQRpFC1rSjI&feature=youtu.be',\n 'https://www.youtube.com/watch?v=JCCQqP1B8fI&feature=youtu.be',\n 'https://www.youtube.com/watch?v=BSl2GxuN5Ew&feature=youtu.be']" + ] + }, + "execution_count": 80, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "[v['final_url'] for k, v in resp_urls.items()]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.5" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/utils/ipynb/url_unshortener_profile.ipynb b/utils/ipynb/url_unshortener_profile.ipynb new file mode 100644 index 0000000..a0ea0fa --- /dev/null +++ b/utils/ipynb/url_unshortener_profile.ipynb @@ -0,0 +1,226 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Getting 10,000 urls from DMCA-COX\n", + "- ssh -N dmca@cox.media.mit.edu -L 3310:cox.media.mit.edu:3306\n", + "```\n", + "# import pandas as pd\n", + "# from sqlalchemy import create_engine\n", + "# constr= 'mysql://civilservant@localhost:3310/civilservant_production'\n", + "# con = create_engine(constr)\n", + "# con.execute('show tables;').fetchall()\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(2761, 10000)" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from utils.common import DbEngine\n", + "import os\n", + "import inspect\n", + "from app.models import TwitterStatus\n", + "import json\n", + "from sqlalchemy.sql.expression import func as sqlfunc\n", + "from functools import reduce\n", + "from url_unshortener import bulkUnshorten\n", + "\n", + "BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), \"..\")\n", + "ENV = 'development'\n", + "db_session = DbEngine(os.path.join(BASE_DIR, \"config\") + \"/{env}.json\".format(env=ENV)).new_session()\n", + "\n", + "STATUSES_TO_GET = 10000\n", + "json_fname = f'../tests/fixture_data/twitter_statuses_{STATUSES_TO_GET}.json'\n", + "try:\n", + " status_urls_flat = json.load(open(json_fname,'r'))\n", + "except FileNotFoundError:\n", + " def get_url_part(status):\n", + " try:\n", + " status_data = json.loads(status.status_data)\n", + " return status_data['entities']['urls']\n", + " except TypeError:\n", + " # print(status.id)\n", + " return []\n", + " \n", + " statuses = db_session.query(TwitterStatus).order_by(sqlfunc.rand()).limit(STATUSES_TO_GET).all()\n", + " assert len(statuses) == STATUSES_TO_GET\n", + " \n", + " status_urls = [get_url_part(status) for status in statuses]\n", + " \n", + " status_urls_flat = []\n", + " for status_url in status_urls:\n", + " for url_dict in status_url:\n", + " # print(url_dict)\n", + " status_urls_flat.append(url_dict['url'])\n", + " json.dump(status_urls_flat, open(json_fname,'w'))\n", + "\n", + "status_urls_flat[:5]\n", + "## proportion of statuses having urls\n", + "len(status_urls_flat), STATUSES_TO_GET" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%timeit -r 1 -n 1 bulkUnshorten(status_urls_flat[:10])\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "8.96 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n" + ] + } + ], + "source": [ + "%timeit -r 1 -n 1 bulkUnshorten(status_urls_flat[:100])" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1min 33s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n" + ] + } + ], + "source": [ + "%timeit -r 1 -n 1 bulkUnshorten(status_urls_flat[:1000])" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2min 21s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n" + ] + } + ], + "source": [ + "%timeit -r 1 -n 1 bulkUnshorten(status_urls_flat[:10000])" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "473243" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "db_session.query(TwitterStatus).count()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "270.0" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "total_tweets = 38000000\n", + "tweet_url_prop = 0.27\n", + "urls_per_second = 10 \n", + "urls_per_minute = 650\n", + "urls_per_hour = 38000\n", + "\n", + "total_tweets * tweet_url_prop / urls_per_hour" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.5" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/utils/ipynb/url_unshortener_verify.ipynb b/utils/ipynb/url_unshortener_verify.ipynb new file mode 100644 index 0000000..66dbbb6 --- /dev/null +++ b/utils/ipynb/url_unshortener_verify.ipynb @@ -0,0 +1,158 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Getting 10,000 urls from DMCA-COX\n", + "- ssh -N dmca@cox.media.mit.edu -L 3311:cox.media.mit.edu:3306" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "from utils.common import DbEngine\n", + "import os\n", + "import inspect\n", + "from app.models import TwitterStatus, TwitterUnshortenedUrls\n", + "import json\n", + "from sqlalchemy.sql.expression import func as sqlfunc\n", + "\n", + "BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), \"..\")\n", + "ENV = 'production_over_ssh'\n", + "db_session = DbEngine(os.path.join(BASE_DIR, \"config\") + \"/{env}.json\".format(env=ENV)).new_session()\n", + "\n", + "STATUSES_TO_GET = 100000\n", + "statuses = db_session.query(TwitterStatus.status_data).limit(STATUSES_TO_GET).all()\n", + "\n", + "def get_url_part(status_data):\n", + " try:\n", + " status_data = json.loads(status_data)\n", + " return status_data['entities']['urls']\n", + " except TypeError:\n", + " # print(status.id)\n", + " return []\n", + "\n", + "\n", + "status_urls = [get_url_part(status) for status in statuses]\n", + " \n", + "status_urls_flat = []\n", + "for status_url in status_urls:\n", + " for url_dict in status_url:\n", + " # print(url_dict)\n", + " status_urls_flat.append(url_dict['url'])" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "ename": "NotImplementedError", + "evalue": "Operator 'getitem' is not supported on this expression", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNotImplementedError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mdb_session\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mquery\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mTwitterStatus\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstatus_data\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'entities'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlimit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m10\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mall\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;32m~/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/sql/operators.py\u001b[0m in \u001b[0;36m__getitem__\u001b[0;34m(self, index)\u001b[0m\n\u001b[1;32m 409\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 410\u001b[0m \"\"\"\n\u001b[0;32m--> 411\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0moperate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mgetitem\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mindex\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 412\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 413\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__lshift__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mother\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/orm/attributes.py\u001b[0m in \u001b[0;36moperate\u001b[0;34m(self, op, *other, **kwargs)\u001b[0m\n\u001b[1;32m 178\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 179\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0moperate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mop\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0mother\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 180\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mop\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcomparator\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0mother\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 181\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 182\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mreverse_operate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mop\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mother\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/sql/operators.py\u001b[0m in \u001b[0;36m__getitem__\u001b[0;34m(self, index)\u001b[0m\n\u001b[1;32m 409\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 410\u001b[0m \"\"\"\n\u001b[0;32m--> 411\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0moperate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mgetitem\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mindex\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 412\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 413\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__lshift__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mother\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/orm/properties.py\u001b[0m in \u001b[0;36moperate\u001b[0;34m(self, op, *other, **kwargs)\u001b[0m\n\u001b[1;32m 268\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 269\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0moperate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mop\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0mother\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 270\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mop\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__clause_element__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0mother\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 271\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 272\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mreverse_operate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mop\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mother\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/sql/operators.py\u001b[0m in \u001b[0;36m__getitem__\u001b[0;34m(self, index)\u001b[0m\n\u001b[1;32m 409\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 410\u001b[0m \"\"\"\n\u001b[0;32m--> 411\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0moperate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mgetitem\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mindex\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 412\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 413\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__lshift__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mother\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/sql/elements.py\u001b[0m in \u001b[0;36moperate\u001b[0;34m(self, op, *other, **kwargs)\u001b[0m\n\u001b[1;32m 690\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 691\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0moperate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mop\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0mother\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 692\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mop\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcomparator\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0mother\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 693\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 694\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mreverse_operate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mop\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mother\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/sql/operators.py\u001b[0m in \u001b[0;36m__getitem__\u001b[0;34m(self, index)\u001b[0m\n\u001b[1;32m 409\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 410\u001b[0m \"\"\"\n\u001b[0;32m--> 411\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0moperate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mgetitem\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mindex\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 412\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 413\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__lshift__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mother\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m(self, op, *other, **kwargs)\u001b[0m\n", + "\u001b[0;32m~/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/sql/type_api.py\u001b[0m in \u001b[0;36moperate\u001b[0;34m(self, default_comparator, op, *other, **kwargs)\u001b[0m\n\u001b[1;32m 61\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0moperate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdefault_comparator\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mop\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0mother\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 62\u001b[0m \u001b[0mo\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdefault_comparator\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0moperator_lookup\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mop\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__name__\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 63\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mo\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexpr\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mop\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mother\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mo\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 64\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 65\u001b[0m \u001b[0;34m@\u001b[0m\u001b[0mutil\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdependencies\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'sqlalchemy.sql.default_comparator'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/sql/default_comparator.py\u001b[0m in \u001b[0;36m_getitem_impl\u001b[0;34m(expr, op, other, **kw)\u001b[0m\n\u001b[1;32m 190\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0m_binary_operate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mexpr\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mop\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mother\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkw\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 191\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 192\u001b[0;31m \u001b[0m_unsupported_impl\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mexpr\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mop\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mother\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkw\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 193\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 194\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/sql/default_comparator.py\u001b[0m in \u001b[0;36m_unsupported_impl\u001b[0;34m(expr, op, *arg, **kw)\u001b[0m\n\u001b[1;32m 195\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_unsupported_impl\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mexpr\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mop\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0marg\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkw\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 196\u001b[0m raise NotImplementedError(\"Operator '%s' is not supported on \"\n\u001b[0;32m--> 197\u001b[0;31m \"this expression\" % op.__name__)\n\u001b[0m\u001b[1;32m 198\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 199\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mNotImplementedError\u001b[0m: Operator 'getitem' is not supported on this expression" + ], + "output_type": "error" + } + ], + "source": [ + "db_session.query(TwitterStatus.status_data['entities']).limit(10).all()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "status_urls_flat" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [], + "source": [ + "unshortened_nested = db_session.query(TwitterUnshortenedUrls.short_url).limit(STATUSES_TO_GET).all()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "unshortened_flat = []\n", + "unimp = [unshortened_flat.extend(e) for e in unshortened_nested]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.5" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/utils/ipynb/url_unshortener_verify_unshorten_complete.ipynb b/utils/ipynb/url_unshortener_verify_unshorten_complete.ipynb new file mode 100644 index 0000000..b8db303 --- /dev/null +++ b/utils/ipynb/url_unshortener_verify_unshorten_complete.ipynb @@ -0,0 +1,817 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Getting 10,000 urls from DMCA-COX\n", + "- ssh -N dmca@cox.media.mit.edu -L 3311:cox.media.mit.edu:3306" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "from utils.common import DbEngine\n", + "import os\n", + "import inspect\n", + "from app.models import TwitterStatus, TwitterUnshortenedUrls\n", + "import json\n", + "from sqlalchemy.sql.expression import func as sqlfunc\n", + "\n", + "BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), \"..\")\n", + "ENV = 'production_over_ssh'\n", + "db_session = DbEngine(os.path.join(BASE_DIR, \"config\") + \"/{env}.json\".format(env=ENV)).new_session()\n", + "urls = db_session.query(TwitterUnshortenedUrls.unshortened_url).all()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "urlsf = [u[0] for u in urls]" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [], + "source": [ + "def domain_name(url):\n", + " try:\n", + " no_protocol = url.split('://')[1]\n", + " before_first_slash = no_protocol.split(\"/\")[0]\n", + " # domain_tld = before_first_slash.split(\".\")[-2:]\n", + " # '.'.join(domain_tld)\n", + " # doesn't work for things like .org.cn\n", + " return before_first_slash\n", + " except AttributeError:\n", + " print(url)" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [], + "source": [ + "domains = [domain_name(u) for u in urlsf if u]" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [], + "source": [ + "from collections import Counter\n", + "import pandas as pd" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [], + "source": [ + "domain_counts = Counter(domains)" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [], + "source": [ + "df = pd.DataFrame.from_dict(domain_counts, orient='index').reset_index()" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/ipykernel_launcher.py:1: FutureWarning: Using 'rename_axis' to alter labels is deprecated. Use '.rename' instead\n \"\"\"Entry point for launching an IPython kernel.\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
index0
0twitter.com5803217
1medium.com1447
24kputlocker.pro2
3123.nmaxmovies.com31
4online.realmedia.site11
5123.newflixmovies.me7
6moviestvhd.win10
7stream.canalsports.me1
8www.resdagboken.se11
9help.twitter.com21
10new.useehd.us3
11my.w.tt846
12hd.spacemove.us1
13alphabit.co4
14online.free6
15www.nookl.com8
16123.nmamovies.com1
17fancy.com5
18www.dailymail.co.uk492
19www.devex.com2
20www.thenation.com41
21www.globalresearch.ca10
22www.telesurenglish.net6
23www.democracynow.org20
24www.laiguana.tv6
25www.rt.com71
26mundo.sputniknews.com25
27www.commonspace.scot3
28www.mintpressnews.com7
29media.jornada.com.mx1
.........
81025grtribune.org1
81026serialyti.ru1
81027ribler.ru1
81028kuznica-adv.kz1
81029cosmetic-sun.ru1
81030basispolymer.ru1
81031arenda-it.ru1
81032grandspa-ufa.ru1
81033exclusive-shop.kz1
81034rx24.ru1
81035homecrm.ru1
81036globus.ru1
81037www.novosibirsk.kontaktor.su1
81038ibest.pro1
81039vitjaz.su1
81040max-inform.ru1
81041rassadacvetov.ru1
81042xn----7sbefefeb8cgfoa1a3qpb.xn--p1ai1
81043videotresh.ru1
81044uchet-gibdd24.ru1
81045makaihbeats.net2
81046www.realitypornking.com1
81047benggadora.com4
81048ligayangligayasiya.com.ph1
81049www.hdfilmoon.com3
81050www.chartsinfrance.net1
81051www.puretrend.com1
81052www.marieclaire.fr1
81053kimpetras.com1
81054thala.urbanup.com1
\n", + "

81055 rows × 2 columns

\n", + "
" + ], + "text/plain": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
index0
0twitter.com5803217
1medium.com1447
24kputlocker.pro2
3123.nmaxmovies.com31
4online.realmedia.site11
5123.newflixmovies.me7
6moviestvhd.win10
7stream.canalsports.me1
8www.resdagboken.se11
9help.twitter.com21
10new.useehd.us3
11my.w.tt846
12hd.spacemove.us1
13alphabit.co4
14online.free6
15www.nookl.com8
16123.nmamovies.com1
17fancy.com5
18www.dailymail.co.uk492
19www.devex.com2
20www.thenation.com41
21www.globalresearch.ca10
22www.telesurenglish.net6
23www.democracynow.org20
24www.laiguana.tv6
25www.rt.com71
26mundo.sputniknews.com25
27www.commonspace.scot3
28www.mintpressnews.com7
29media.jornada.com.mx1
.........
81025grtribune.org1
81026serialyti.ru1
81027ribler.ru1
81028kuznica-adv.kz1
81029cosmetic-sun.ru1
81030basispolymer.ru1
81031arenda-it.ru1
81032grandspa-ufa.ru1
81033exclusive-shop.kz1
81034rx24.ru1
81035homecrm.ru1
81036globus.ru1
81037www.novosibirsk.kontaktor.su1
81038ibest.pro1
81039vitjaz.su1
81040max-inform.ru1
81041rassadacvetov.ru1
81042xn----7sbefefeb8cgfoa1a3qpb.xn--p1ai1
81043videotresh.ru1
81044uchet-gibdd24.ru1
81045makaihbeats.net2
81046www.realitypornking.com1
81047benggadora.com4
81048ligayangligayasiya.com.ph1
81049www.hdfilmoon.com3
81050www.chartsinfrance.net1
81051www.puretrend.com1
81052www.marieclaire.fr1
81053kimpetras.com1
81054thala.urbanup.com1
\n", + "

81055 rows × 2 columns

\n", + "
" + ] + }, + "execution_count": 43, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.rename_axis({'index':'domain',\"0\":\"frequency\"})" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.5" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/utils/url_unshortener_frequency_count.py b/utils/url_unshortener_frequency_count.py new file mode 100644 index 0000000..7560b24 --- /dev/null +++ b/utils/url_unshortener_frequency_count.py @@ -0,0 +1,68 @@ + +# coding: utf-8 + +# ## Getting 10,000 urls from DMCA-COX +# - ssh -N dmca@cox.media.mit.edu -L 3311:cox.media.mit.edu:3306 + +# In[1]: + + +from utils.common import DbEngine +import os +import inspect +from app.models import TwitterStatus, TwitterUnshortenedUrls +import json +from sqlalchemy.sql.expression import func as sqlfunc + +BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), "..") +ENV = 'production_over_ssh' +db_session = DbEngine(os.path.join(BASE_DIR, "config") + "/{env}.json".format(env=ENV)).new_session() +urls = db_session.query(TwitterUnshortenedUrls.unshortened_url).all() + + +urlsf = [u[0] for u in urls] + + + +def domain_name(url): + try: + no_protocol = url.split('://')[1] + before_first_slash = no_protocol.split("/")[0] + # domain_tld = before_first_slash.split(".")[-2:] + # '.'.join(domain_tld) + # doesn't work for things like .org.cn + return before_first_slash + except AttributeError: + print(url) + + +# In[28]: + + +domains = [domain_name(u) for u in urlsf if u] + + +# In[34]: + + +from collections import Counter +import pandas as pd + + +# In[32]: + + +domain_counts = Counter(domains) + + +# In[39]: + + +df = pd.DataFrame.from_dict(domain_counts, orient='index').reset_index().rename(columns={'index':'domain',"0":"frequency"}) + + +# In[1]: + + +df.to_csv('domain_frequencies.csv', index=False) + From 761dc394f4f3e6cdfb7f87201969415bc5e671d6 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Fri, 29 Nov 2019 11:00:35 -0800 Subject: [PATCH 176/221] move ipynbs move --- utils/data_completeness_verification.ipynb | 2161 --------------- ...r_observational_analysis_controller2.ipynb | 1307 --------- utils/url_unshortener_prod_investigator.ipynb | 2417 ----------------- utils/url_unshortener_profile.ipynb | 226 -- 4 files changed, 6111 deletions(-) delete mode 100644 utils/data_completeness_verification.ipynb delete mode 100644 utils/twitter_observational_analysis_controller2.ipynb delete mode 100644 utils/url_unshortener_prod_investigator.ipynb delete mode 100644 utils/url_unshortener_profile.ipynb diff --git a/utils/data_completeness_verification.ipynb b/utils/data_completeness_verification.ipynb deleted file mode 100644 index b5f02b9..0000000 --- a/utils/data_completeness_verification.ipynb +++ /dev/null @@ -1,2161 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Goals\n", - "+ summaries\n", - "+ number of and backfills per user\n", - "+ number of wont_process\n", - "+ how many language changers\n", - "\n", - "`ssh -N dmca@cox.media.mit.edu -L 3308:cox.media.mit.edu:3306`\n" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "import sys\n", - "sys.path.append('/home/paprika/workspace/CivilServant-twitter/')\n", - "from utils.common import DbEngine\n", - "import os\n", - "import inspect\n", - "from app.models import TwitterStatus, TwitterFill, TwitterUser\n", - "import json\n", - "from sqlalchemy.sql.expression import func as sqlfunc\n", - "import datetime\n", - "\n", - "BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), \"..\")\n", - "ENV = 'production'\n", - "db_session = DbEngine(os.path.join(BASE_DIR, \"config\") + \"/{env}.json\".format(env=ENV)).new_session()\n", - "\n", - "import pandas as pd\n", - "from sqlalchemy import create_engine\n", - "constr= 'mysql://civilservant@0.0.0.0:3308/civilservant_production'\n", - "con = create_engine(constr)\n", - "# con.execute('show tables;').fetchall()\n" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "should_be_filled = pd.read_sql(\"select * from twitter_users where user_rand <=0.5 and lang in ('en', 'en-gb', 'en-GB')\", con)" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "metadata": {}, - "outputs": [], - "source": [ - "should_be_filled['id'] = should_be_filled['id'].apply(int)" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "fill_records = pd.read_sql(\"select * from twitter_fills\", con)" - ] - }, - { - "cell_type": "code", - "execution_count": 45, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/ipykernel_launcher.py:1: FutureWarning: Using 'rename_axis' to alter labels is deprecated. Use '.rename' instead\n", - " \"\"\"Entry point for launching an IPython kernel.\n" - ] - } - ], - "source": [ - "fill_records_users = pd.DataFrame(fill_records.groupby('user_id').size()).reset_index().rename_axis({0:\"num_fills\"},axis=1)" - ] - }, - { - "cell_type": "code", - "execution_count": 50, - "metadata": {}, - "outputs": [], - "source": [ - "user_fills = pd.merge(should_be_filled, fill_records_users, how='outer', left_on='id', right_on='user_id')" - ] - }, - { - "cell_type": "code", - "execution_count": 101, - "metadata": {}, - "outputs": [], - "source": [ - "complete_user_cands = user_fills[(pd.notnull(user_fills['id'])) & (pd.notnull(user_fills['user_id']))]" - ] - }, - { - "cell_type": "code", - "execution_count": 103, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(16370, 12)" - ] - }, - "execution_count": 103, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "complete_user_cands.shape" - ] - }, - { - "cell_type": "code", - "execution_count": 108, - "metadata": {}, - "outputs": [], - "source": [ - "complete_user_cands_enough_fills = complete_user_cands[complete_user_cands['num_fills'] >= 22]" - ] - }, - { - "cell_type": "code", - "execution_count": 110, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(16341, 12)" - ] - }, - "execution_count": 110, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "complete_user_cands_enough_fills.shape" - ] - }, - { - "cell_type": "code", - "execution_count": 111, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(29, 12)" - ] - }, - "execution_count": 111, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "complete_user_cands[complete_user_cands['num_fills'] <22].shape" - ] - }, - { - "cell_type": "code", - "execution_count": 105, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(16146, 12)" - ] - }, - "execution_count": 105, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "complete_user_cands_enough_fills.shape" - ] - }, - { - "cell_type": "code", - "execution_count": 113, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "23.0 8538\n", - "24.0 7608\n", - "22.0 195\n", - "Name: num_fills, dtype: int64" - ] - }, - "execution_count": 113, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "complete_user_cands_enough_fills['num_fills'].value_counts()" - ] - }, - { - "cell_type": "code", - "execution_count": 76, - "metadata": {}, - "outputs": [], - "source": [ - "#who had fills which aren't in should fill\n", - "sample_mystery_filled = list(user_fills[pd.isnull(user_fills['id'])]['user_id'].apply(int).values)\n", - "sample_mystery_filled_str = [str(x) for x in sample_mystery_filled]" - ] - }, - { - "cell_type": "code", - "execution_count": 77, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_00900ll_1549959062589'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_00moonmm_1550002438319'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_01010109?protected_redirect=tr..._1549418634754'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_01dtlz_1549115991045'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_0205_dance_1549397006851'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_0226arashic_1549353742920'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_031nuttynice_1547818936617'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_0721natsumi1021_1548132346322'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_07mj11_1549742930111'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_07uzuki20?protected_redirect=t..._1550099737549'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_08060516_aiiii_1548770096427'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_0829yudai_1549991673717'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_0gaga_kris6_1548153978473'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_0g_mas_1549991628921'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_0jitter_bug0_1550121314047'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_0stanislav__1548208036684'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_0utofthewoodss_1550002451868'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_0_1itanimulli_1550013210344'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1013_bts__jimin_1547233088130'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_10john05_1548478238966'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1244mami_1548856600463'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_130zzxxcc_1547829731647'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_13_artists_why_1549829347052'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_15sosdsae__1549407961194'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_170kg_pigwoman_1550077990341'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_17sbabe_1549483498993'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1991_esposito_1547667635823'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1998raph_1547732453900'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1999annv_1548326947129'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1999exo0417_1550077989170'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1999jolie_1547233113704'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1999redcorvette_1549029541481'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1baker9_1547494685682'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1bubbs3_1547548691003'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1cj0gjh8pty5fr3_1549537546580'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1d8s3?protected_redirect=true_1549526747396'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1dgpsofficial_1549342962267'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1d__mysweet_1550121292009'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1goma2goma3goma_1549959071741'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1kanebrownfan_1547624361725'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1o17jayy_1548153980391'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1p_cc_1549559103923'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1qwelh_1548208039103'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_1scorpinov_1549991660094'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_22xmonster_1550132007639'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_23nova_?protected_redirect=tru..._1550121312536'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_24335kao_1548348531825'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_25greeeen2_1548856594832'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_28moh82?protected_redirect=tru..._1548835006273'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_2bu5aled_1549407972144'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_2l7dxjpplrsfx4g_1547559528084'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_2nite_xo_1549407970346'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_2_7_k_1550013204489'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_2_tailz_1550121277907'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_30secondeuropop_1549688890095'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_327fq_1550132006493'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_3333dii_1548932224458'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_365days_hello_1548824111084'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_36708b5412ec424_1547581158951'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_383_yo__1547645979957'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_38ryannt_1549623996721'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_3almalkoora8_1549483502280'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_3boosh123_1549840168707'\")\n", - " cursor.execute(statement, parameters)\n", - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/sqlalchemy/engine/default.py:508: Warning: (1292, \"Truncated incorrect DOUBLE value: '_3cbeats_1549429402277'\")\n", - " cursor.execute(statement, parameters)\n" - ] - } - ], - "source": [ - "mystery_filled = pd.read_sql(f\"select * from twitter_users where id in ({','.join(sample_mystery_filled_str)}) \", con)" - ] - }, - { - "cell_type": "code", - "execution_count": 112, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(81, 10)" - ] - }, - "execution_count": 112, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "mystery_filled.shape #these users all have different languages now" - ] - }, - { - "cell_type": "code", - "execution_count": 81, - "metadata": {}, - "outputs": [], - "source": [ - "mystery_unfilled = user_fills[pd.isnull(user_fills['user_id'])]" - ] - }, - { - "cell_type": "code", - "execution_count": 83, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(278, 12)" - ] - }, - "execution_count": 83, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "mystery_unfilled.shape" - ] - }, - { - "cell_type": "code", - "execution_count": 87, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
idnot_found_idscreen_namecreated_atrecord_created_atlanguser_stateCS_oldest_tweets_archivedlast_attempted_processuser_randuser_idnum_fills
221.000721e+18Noneking3prince3522018-05-27 12:50:042019-02-14 14:14:13en1.01.02019-02-14 14:14:130.447045NaNNaN
1091.004758e+18Nonesaranvikaash22018-06-07 16:11:322019-01-11 18:56:04en1.02.02019-01-11 18:59:160.116588NaNNaN
1161.004938e+18Nonetfc_off2018-06-08 04:07:572019-01-11 18:55:49en1.02.02019-01-11 18:59:150.347281NaNNaN
2471.009778e+18<NOT_FOUND>_vmramkumar2_1551988407202vmramkumar22018-06-21 12:38:392019-02-14 17:14:47en2.01.02019-02-14 17:14:470.037664NaNNaN
2521.009929e+18Nonekp_six_2932018-06-21 22:41:592019-02-14 11:13:19en1.01.02019-02-14 11:13:190.484708NaNNaN
\n", - "
" - ], - "text/plain": [ - " id not_found_id screen_name \\\n", - "22 1.000721e+18 None king3prince352 \n", - "109 1.004758e+18 None saranvikaash2 \n", - "116 1.004938e+18 None tfc_off \n", - "247 1.009778e+18 _vmramkumar2_1551988407202 vmramkumar2 \n", - "252 1.009929e+18 None kp_six_293 \n", - "\n", - " created_at record_created_at lang user_state \\\n", - "22 2018-05-27 12:50:04 2019-02-14 14:14:13 en 1.0 \n", - "109 2018-06-07 16:11:32 2019-01-11 18:56:04 en 1.0 \n", - "116 2018-06-08 04:07:57 2019-01-11 18:55:49 en 1.0 \n", - "247 2018-06-21 12:38:39 2019-02-14 17:14:47 en 2.0 \n", - "252 2018-06-21 22:41:59 2019-02-14 11:13:19 en 1.0 \n", - "\n", - " CS_oldest_tweets_archived last_attempted_process user_rand user_id \\\n", - "22 1.0 2019-02-14 14:14:13 0.447045 NaN \n", - "109 2.0 2019-01-11 18:59:16 0.116588 NaN \n", - "116 2.0 2019-01-11 18:59:15 0.347281 NaN \n", - "247 1.0 2019-02-14 17:14:47 0.037664 NaN \n", - "252 1.0 2019-02-14 11:13:19 0.484708 NaN \n", - "\n", - " num_fills \n", - "22 NaN \n", - "109 NaN \n", - "116 NaN \n", - "247 NaN \n", - "252 NaN " - ] - }, - "execution_count": 87, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "mystery_unfilled.head()" - ] - }, - { - "cell_type": "code", - "execution_count": 92, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "2019-02-14 224\n", - "2019-01-11 54\n", - "Name: record_created_at, dtype: int64" - ] - }, - "execution_count": 92, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "mystery_unfilled['record_created_at'].apply(lambda ts: ts.date()).value_counts() #intersting that occured on two days" - ] - }, - { - "cell_type": "code", - "execution_count": 115, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
idnot_found_idscreen_namecreated_atrecord_created_atlanguser_stateCS_oldest_tweets_archivedlast_attempted_processuser_randuser_idnum_fills
221.000721e+18Noneking3prince3522018-05-27 12:50:042019-02-14 14:14:13en1.01.02019-02-14 14:14:130.447045NaNNaN
1091.004758e+18Nonesaranvikaash22018-06-07 16:11:322019-01-11 18:56:04en1.02.02019-01-11 18:59:160.116588NaNNaN
1161.004938e+18Nonetfc_off2018-06-08 04:07:572019-01-11 18:55:49en1.02.02019-01-11 18:59:150.347281NaNNaN
2521.009929e+18Nonekp_six_2932018-06-21 22:41:592019-02-14 11:13:19en1.01.02019-02-14 11:13:190.484708NaNNaN
2721.010537e+09Noneitslarisf2012-12-14 06:34:392019-02-14 08:13:08en1.01.02019-02-14 08:13:080.096393NaNNaN
2761.010776e+18Nonesamthejamyo2018-06-24 06:46:512019-02-14 17:14:47en1.01.02019-02-14 17:14:470.486690NaNNaN
3181.012276e+18Nonemovingirwins2018-06-28 10:07:052019-02-14 08:13:06en1.01.02019-02-14 08:13:060.089458NaNNaN
3551.013793e+18Noneshoh__kp2018-07-02 14:34:422019-02-14 14:14:13en1.01.02019-02-14 14:14:130.379994NaNNaN
4391.016940e+18Noneyyalkz2018-07-11 06:57:342019-02-14 14:14:10en1.01.02019-02-14 14:14:100.117191NaNNaN
6881.026455e+18Nonemichieda_aya2018-08-06 13:10:212019-02-14 14:14:11en1.01.02019-02-14 14:14:110.364396NaNNaN
7161.027504e+18Nonesonusha525299982018-08-09 10:36:292019-02-14 17:14:47en1.01.02019-02-14 17:14:470.469065NaNNaN
7341.028311e+18Nonejason_leal162018-08-11 16:05:322019-02-14 08:13:06en1.01.02019-02-14 08:13:060.406665NaNNaN
8821.034379e+08Nonek1rk692010-01-10 01:08:092019-02-14 08:13:08en1.01.02019-02-14 08:13:080.480976NaNNaN
8891.034945e+09Nonebrittttlyon2012-12-25 14:50:312019-02-14 08:13:06en1.01.02019-02-14 08:13:060.330158NaNNaN
11231.044797e+18Noneyasmeen741801842018-09-26 03:52:372019-02-14 17:14:52en1.01.02019-02-14 17:14:520.156612NaNNaN
11331.045257e+18Nonerakulpreetfc_102018-09-27 10:21:022019-02-14 08:13:06en1.01.02019-02-14 08:13:060.076495NaNNaN
12131.048741e+09Nonehayleyychandler2012-12-30 20:23:242019-02-14 08:13:09en1.01.02019-02-14 08:13:090.312503NaNNaN
12231.049140e+18Nonentranteypichhi2018-10-08 03:30:352019-01-11 18:56:04en1.02.02019-01-11 18:59:160.232001NaNNaN
12621.050721e+18Noneanandnandu9992018-10-12 12:13:512019-02-14 14:14:12en1.01.02019-02-14 14:14:120.154438NaNNaN
14111.055296e+18Noneiharisakthi_2018-10-25 03:11:522019-01-11 18:56:04en1.02.02019-01-11 18:59:160.451444NaNNaN
14711.056942e+18Nonesasitha491690992018-10-29 16:14:492019-01-11 18:55:53en1.02.02019-01-11 18:59:150.351245NaNNaN
15881.060391e+18Noneeditslibin2018-11-08 04:38:582019-02-14 14:14:10en1.01.02019-02-14 14:14:100.460377NaNNaN
15901.060412e+18Nonenishavfc2018-11-08 06:03:052019-01-11 18:56:01en1.02.02019-01-11 18:59:150.404630NaNNaN
16031.060586e+18Nonesanthuoffl2018-11-08 17:31:082019-01-11 18:55:50en1.02.02019-01-11 18:59:150.137992NaNNaN
16071.060641e+18Noneyaivelle2018-11-08 21:13:332019-01-11 18:55:55en1.02.02019-01-11 18:59:150.131699NaNNaN
20071.072082e+18Nonenaniwa______ok2018-12-10 10:54:322019-02-14 14:14:12en1.01.02019-02-14 14:14:120.113851NaNNaN
20211.072787e+18Noneninja2020_2018-12-12 09:36:512019-02-14 14:14:11en1.01.02019-02-14 14:14:110.300609NaNNaN
20451.073321e+18Nonesowhatboya2018-12-13 20:55:322019-01-11 18:55:57en1.02.02019-01-11 18:59:150.064703NaNNaN
20991.074598e+18Nonenanthinioffical2018-12-17 09:29:522019-02-14 14:14:10en1.01.02019-02-14 14:14:100.023110NaNNaN
23011.079729e+18None1dott32018-12-31 13:18:392019-01-11 18:55:57en1.02.02019-01-11 18:59:150.062495NaNNaN
.......................................
143048.494336e+07Nonelucieeverity2009-10-24 21:33:102019-02-14 08:13:12en1.01.02019-02-14 08:13:120.043008NaNNaN
143708.562510e+17Nonewaanderlusst2017-04-23 20:58:462019-02-14 17:14:51en1.01.02019-02-14 17:14:510.097205NaNNaN
143838.578108e+17Noneshuaib649796082017-04-28 04:16:372019-01-11 18:56:01en1.02.02019-01-11 18:59:150.320781NaNNaN
146208.741099e+17Noneratxhetz2017-06-12 03:43:412019-02-14 17:14:55en1.01.02019-02-14 17:14:550.260612NaNNaN
146678.772602e+17Noneinimitablearts2017-06-20 20:21:532019-01-11 18:55:52en1.02.02019-01-11 18:59:150.316613NaNNaN
147728.849808e+17Nonebrittbearmua2017-07-12 03:40:342019-02-14 17:14:47en1.01.02019-02-14 17:14:470.368819NaNNaN
147848.855415e+17Nonekrishna480693932017-07-13 16:48:522019-01-11 18:56:00en1.02.02019-01-11 18:59:150.084215NaNNaN
149208.936912e+08Noneabrianaawhite2012-10-20 17:38:312019-02-14 08:13:07en1.01.02019-02-14 08:13:070.067116NaNNaN
149618.956578e+17Noneameeshahamed2017-08-10 14:47:122019-01-11 18:55:58en1.02.02019-01-11 18:59:150.296250NaNNaN
150619.007341e+17Noneilluminatewdw2017-08-24 14:58:352019-02-14 08:13:14en1.01.02019-02-14 08:13:140.205326NaNNaN
152099.107607e+08Nonemarie_alvarez292012-10-28 17:36:082019-02-14 17:14:50en1.01.02019-02-14 17:14:500.169447NaNNaN
152279.122273e+17Noneiibrachu2017-09-25 08:08:332019-02-14 08:13:07en1.01.02019-02-14 08:13:070.196728NaNNaN
154179.250636e+17Noneconniexspinosa2017-10-30 18:15:192019-01-11 18:55:58en1.02.02019-01-11 18:59:150.287486NaNNaN
154569.272566e+17Noneaestheticaly_me2017-11-05 19:29:432019-02-14 08:13:06en1.01.02019-02-14 08:13:060.384002NaNNaN
156439.399361e+17Nonescarredweeb2017-12-10 19:13:332019-02-14 17:14:48en1.01.02019-02-14 17:14:480.276382NaNNaN
157629.487091e+17Nonemo_ba62018-01-04 00:14:172019-02-14 17:14:46en1.01.02019-02-14 17:14:460.126411NaNNaN
157729.491636e+17Nonejhaymee82018-01-05 06:20:042019-02-14 08:13:14en1.01.02019-02-14 08:13:140.364309NaNNaN
157799.497305e+17Nonejust_vamshi2018-01-06 19:53:022019-01-11 18:55:50en1.02.02019-01-11 18:59:150.310727NaNNaN
158339.527134e+17Nonemovietime24x72018-01-15 01:25:552019-01-11 18:55:58en1.02.02019-01-11 18:59:150.403430NaNNaN
161019.693521e+17Noneid6lls2018-03-01 23:21:562019-02-14 17:14:48en1.01.02019-02-14 17:14:480.138714NaNNaN
161689.729692e+17Noneklcroline2018-03-11 22:55:142019-02-14 17:14:55en1.01.02019-02-14 17:14:550.398556NaNNaN
162009.756704e+08Nonesulianafonofehi2012-11-28 08:41:502019-02-14 08:13:06en1.01.02019-02-14 08:13:060.258526NaNNaN
162829.798986e+17Noneyouquerbaby2018-03-31 01:50:122019-02-14 17:14:47en1.01.02019-02-14 17:14:470.118254NaNNaN
162839.798989e+17Noneaaliyahjanell2018-03-31 01:51:262019-01-11 18:55:51en1.02.02019-01-11 18:59:150.117534NaNNaN
163129.822648e+17Nonesportvision_2018-04-06 14:32:382019-01-11 18:56:04en1.02.02019-01-11 18:59:160.438239NaNNaN
163139.822750e+17Nonemassmani33332018-04-06 15:13:092019-02-14 14:14:10en1.01.02019-02-14 14:14:100.331496NaNNaN
163619.852701e+17Noneislaphavx2018-04-14 21:34:352019-01-11 18:55:51en1.02.02019-01-11 18:59:150.344640NaNNaN
163929.862534e+17Nonemarvin362006172018-04-17 14:41:502019-01-11 18:56:04en1.02.02019-01-11 18:59:160.155409NaNNaN
164579.908752e+06Nonerviddy2007-11-03 06:31:062019-02-14 08:13:08en1.01.02019-02-14 08:13:080.348572NaNNaN
164759.917771e+17Nonetaekookvocal2018-05-02 20:30:512019-02-14 17:14:48en1.01.02019-02-14 17:14:480.325590NaNNaN
\n", - "

263 rows × 12 columns

\n", - "
" - ], - "text/plain": [ - " id not_found_id screen_name created_at \\\n", - "22 1.000721e+18 None king3prince352 2018-05-27 12:50:04 \n", - "109 1.004758e+18 None saranvikaash2 2018-06-07 16:11:32 \n", - "116 1.004938e+18 None tfc_off 2018-06-08 04:07:57 \n", - "252 1.009929e+18 None kp_six_293 2018-06-21 22:41:59 \n", - "272 1.010537e+09 None itslarisf 2012-12-14 06:34:39 \n", - "276 1.010776e+18 None samthejamyo 2018-06-24 06:46:51 \n", - "318 1.012276e+18 None movingirwins 2018-06-28 10:07:05 \n", - "355 1.013793e+18 None shoh__kp 2018-07-02 14:34:42 \n", - "439 1.016940e+18 None yyalkz 2018-07-11 06:57:34 \n", - "688 1.026455e+18 None michieda_aya 2018-08-06 13:10:21 \n", - "716 1.027504e+18 None sonusha52529998 2018-08-09 10:36:29 \n", - "734 1.028311e+18 None jason_leal16 2018-08-11 16:05:32 \n", - "882 1.034379e+08 None k1rk69 2010-01-10 01:08:09 \n", - "889 1.034945e+09 None brittttlyon 2012-12-25 14:50:31 \n", - "1123 1.044797e+18 None yasmeen74180184 2018-09-26 03:52:37 \n", - "1133 1.045257e+18 None rakulpreetfc_10 2018-09-27 10:21:02 \n", - "1213 1.048741e+09 None hayleyychandler 2012-12-30 20:23:24 \n", - "1223 1.049140e+18 None ntranteypichhi 2018-10-08 03:30:35 \n", - "1262 1.050721e+18 None anandnandu999 2018-10-12 12:13:51 \n", - "1411 1.055296e+18 None iharisakthi_ 2018-10-25 03:11:52 \n", - "1471 1.056942e+18 None sasitha49169099 2018-10-29 16:14:49 \n", - "1588 1.060391e+18 None editslibin 2018-11-08 04:38:58 \n", - "1590 1.060412e+18 None nishavfc 2018-11-08 06:03:05 \n", - "1603 1.060586e+18 None santhuoffl 2018-11-08 17:31:08 \n", - "1607 1.060641e+18 None yaivelle 2018-11-08 21:13:33 \n", - "2007 1.072082e+18 None naniwa______ok 2018-12-10 10:54:32 \n", - "2021 1.072787e+18 None ninja2020_ 2018-12-12 09:36:51 \n", - "2045 1.073321e+18 None sowhatboya 2018-12-13 20:55:32 \n", - "2099 1.074598e+18 None nanthinioffical 2018-12-17 09:29:52 \n", - "2301 1.079729e+18 None 1dott3 2018-12-31 13:18:39 \n", - "... ... ... ... ... \n", - "14304 8.494336e+07 None lucieeverity 2009-10-24 21:33:10 \n", - "14370 8.562510e+17 None waanderlusst 2017-04-23 20:58:46 \n", - "14383 8.578108e+17 None shuaib64979608 2017-04-28 04:16:37 \n", - "14620 8.741099e+17 None ratxhetz 2017-06-12 03:43:41 \n", - "14667 8.772602e+17 None inimitablearts 2017-06-20 20:21:53 \n", - "14772 8.849808e+17 None brittbearmua 2017-07-12 03:40:34 \n", - "14784 8.855415e+17 None krishna48069393 2017-07-13 16:48:52 \n", - "14920 8.936912e+08 None abrianaawhite 2012-10-20 17:38:31 \n", - "14961 8.956578e+17 None ameeshahamed 2017-08-10 14:47:12 \n", - "15061 9.007341e+17 None illuminatewdw 2017-08-24 14:58:35 \n", - "15209 9.107607e+08 None marie_alvarez29 2012-10-28 17:36:08 \n", - "15227 9.122273e+17 None iibrachu 2017-09-25 08:08:33 \n", - "15417 9.250636e+17 None conniexspinosa 2017-10-30 18:15:19 \n", - "15456 9.272566e+17 None aestheticaly_me 2017-11-05 19:29:43 \n", - "15643 9.399361e+17 None scarredweeb 2017-12-10 19:13:33 \n", - "15762 9.487091e+17 None mo_ba6 2018-01-04 00:14:17 \n", - "15772 9.491636e+17 None jhaymee8 2018-01-05 06:20:04 \n", - "15779 9.497305e+17 None just_vamshi 2018-01-06 19:53:02 \n", - "15833 9.527134e+17 None movietime24x7 2018-01-15 01:25:55 \n", - "16101 9.693521e+17 None id6lls 2018-03-01 23:21:56 \n", - "16168 9.729692e+17 None klcroline 2018-03-11 22:55:14 \n", - "16200 9.756704e+08 None sulianafonofehi 2012-11-28 08:41:50 \n", - "16282 9.798986e+17 None youquerbaby 2018-03-31 01:50:12 \n", - "16283 9.798989e+17 None aaliyahjanell 2018-03-31 01:51:26 \n", - "16312 9.822648e+17 None sportvision_ 2018-04-06 14:32:38 \n", - "16313 9.822750e+17 None massmani3333 2018-04-06 15:13:09 \n", - "16361 9.852701e+17 None islaphavx 2018-04-14 21:34:35 \n", - "16392 9.862534e+17 None marvin36200617 2018-04-17 14:41:50 \n", - "16457 9.908752e+06 None rviddy 2007-11-03 06:31:06 \n", - "16475 9.917771e+17 None taekookvocal 2018-05-02 20:30:51 \n", - "\n", - " record_created_at lang user_state CS_oldest_tweets_archived \\\n", - "22 2019-02-14 14:14:13 en 1.0 1.0 \n", - "109 2019-01-11 18:56:04 en 1.0 2.0 \n", - "116 2019-01-11 18:55:49 en 1.0 2.0 \n", - "252 2019-02-14 11:13:19 en 1.0 1.0 \n", - "272 2019-02-14 08:13:08 en 1.0 1.0 \n", - "276 2019-02-14 17:14:47 en 1.0 1.0 \n", - "318 2019-02-14 08:13:06 en 1.0 1.0 \n", - "355 2019-02-14 14:14:13 en 1.0 1.0 \n", - "439 2019-02-14 14:14:10 en 1.0 1.0 \n", - "688 2019-02-14 14:14:11 en 1.0 1.0 \n", - "716 2019-02-14 17:14:47 en 1.0 1.0 \n", - "734 2019-02-14 08:13:06 en 1.0 1.0 \n", - "882 2019-02-14 08:13:08 en 1.0 1.0 \n", - "889 2019-02-14 08:13:06 en 1.0 1.0 \n", - "1123 2019-02-14 17:14:52 en 1.0 1.0 \n", - "1133 2019-02-14 08:13:06 en 1.0 1.0 \n", - "1213 2019-02-14 08:13:09 en 1.0 1.0 \n", - "1223 2019-01-11 18:56:04 en 1.0 2.0 \n", - "1262 2019-02-14 14:14:12 en 1.0 1.0 \n", - "1411 2019-01-11 18:56:04 en 1.0 2.0 \n", - "1471 2019-01-11 18:55:53 en 1.0 2.0 \n", - "1588 2019-02-14 14:14:10 en 1.0 1.0 \n", - "1590 2019-01-11 18:56:01 en 1.0 2.0 \n", - "1603 2019-01-11 18:55:50 en 1.0 2.0 \n", - "1607 2019-01-11 18:55:55 en 1.0 2.0 \n", - "2007 2019-02-14 14:14:12 en 1.0 1.0 \n", - "2021 2019-02-14 14:14:11 en 1.0 1.0 \n", - "2045 2019-01-11 18:55:57 en 1.0 2.0 \n", - "2099 2019-02-14 14:14:10 en 1.0 1.0 \n", - "2301 2019-01-11 18:55:57 en 1.0 2.0 \n", - "... ... ... ... ... \n", - "14304 2019-02-14 08:13:12 en 1.0 1.0 \n", - "14370 2019-02-14 17:14:51 en 1.0 1.0 \n", - "14383 2019-01-11 18:56:01 en 1.0 2.0 \n", - "14620 2019-02-14 17:14:55 en 1.0 1.0 \n", - "14667 2019-01-11 18:55:52 en 1.0 2.0 \n", - "14772 2019-02-14 17:14:47 en 1.0 1.0 \n", - "14784 2019-01-11 18:56:00 en 1.0 2.0 \n", - "14920 2019-02-14 08:13:07 en 1.0 1.0 \n", - "14961 2019-01-11 18:55:58 en 1.0 2.0 \n", - "15061 2019-02-14 08:13:14 en 1.0 1.0 \n", - "15209 2019-02-14 17:14:50 en 1.0 1.0 \n", - "15227 2019-02-14 08:13:07 en 1.0 1.0 \n", - "15417 2019-01-11 18:55:58 en 1.0 2.0 \n", - "15456 2019-02-14 08:13:06 en 1.0 1.0 \n", - "15643 2019-02-14 17:14:48 en 1.0 1.0 \n", - "15762 2019-02-14 17:14:46 en 1.0 1.0 \n", - "15772 2019-02-14 08:13:14 en 1.0 1.0 \n", - "15779 2019-01-11 18:55:50 en 1.0 2.0 \n", - "15833 2019-01-11 18:55:58 en 1.0 2.0 \n", - "16101 2019-02-14 17:14:48 en 1.0 1.0 \n", - "16168 2019-02-14 17:14:55 en 1.0 1.0 \n", - "16200 2019-02-14 08:13:06 en 1.0 1.0 \n", - "16282 2019-02-14 17:14:47 en 1.0 1.0 \n", - "16283 2019-01-11 18:55:51 en 1.0 2.0 \n", - "16312 2019-01-11 18:56:04 en 1.0 2.0 \n", - "16313 2019-02-14 14:14:10 en 1.0 1.0 \n", - "16361 2019-01-11 18:55:51 en 1.0 2.0 \n", - "16392 2019-01-11 18:56:04 en 1.0 2.0 \n", - "16457 2019-02-14 08:13:08 en 1.0 1.0 \n", - "16475 2019-02-14 17:14:48 en 1.0 1.0 \n", - "\n", - " last_attempted_process user_rand user_id num_fills \n", - "22 2019-02-14 14:14:13 0.447045 NaN NaN \n", - "109 2019-01-11 18:59:16 0.116588 NaN NaN \n", - "116 2019-01-11 18:59:15 0.347281 NaN NaN \n", - "252 2019-02-14 11:13:19 0.484708 NaN NaN \n", - "272 2019-02-14 08:13:08 0.096393 NaN NaN \n", - "276 2019-02-14 17:14:47 0.486690 NaN NaN \n", - "318 2019-02-14 08:13:06 0.089458 NaN NaN \n", - "355 2019-02-14 14:14:13 0.379994 NaN NaN \n", - "439 2019-02-14 14:14:10 0.117191 NaN NaN \n", - "688 2019-02-14 14:14:11 0.364396 NaN NaN \n", - "716 2019-02-14 17:14:47 0.469065 NaN NaN \n", - "734 2019-02-14 08:13:06 0.406665 NaN NaN \n", - "882 2019-02-14 08:13:08 0.480976 NaN NaN \n", - "889 2019-02-14 08:13:06 0.330158 NaN NaN \n", - "1123 2019-02-14 17:14:52 0.156612 NaN NaN \n", - "1133 2019-02-14 08:13:06 0.076495 NaN NaN \n", - "1213 2019-02-14 08:13:09 0.312503 NaN NaN \n", - "1223 2019-01-11 18:59:16 0.232001 NaN NaN \n", - "1262 2019-02-14 14:14:12 0.154438 NaN NaN \n", - "1411 2019-01-11 18:59:16 0.451444 NaN NaN \n", - "1471 2019-01-11 18:59:15 0.351245 NaN NaN \n", - "1588 2019-02-14 14:14:10 0.460377 NaN NaN \n", - "1590 2019-01-11 18:59:15 0.404630 NaN NaN \n", - "1603 2019-01-11 18:59:15 0.137992 NaN NaN \n", - "1607 2019-01-11 18:59:15 0.131699 NaN NaN \n", - "2007 2019-02-14 14:14:12 0.113851 NaN NaN \n", - "2021 2019-02-14 14:14:11 0.300609 NaN NaN \n", - "2045 2019-01-11 18:59:15 0.064703 NaN NaN \n", - "2099 2019-02-14 14:14:10 0.023110 NaN NaN \n", - "2301 2019-01-11 18:59:15 0.062495 NaN NaN \n", - "... ... ... ... ... \n", - "14304 2019-02-14 08:13:12 0.043008 NaN NaN \n", - "14370 2019-02-14 17:14:51 0.097205 NaN NaN \n", - "14383 2019-01-11 18:59:15 0.320781 NaN NaN \n", - "14620 2019-02-14 17:14:55 0.260612 NaN NaN \n", - "14667 2019-01-11 18:59:15 0.316613 NaN NaN \n", - "14772 2019-02-14 17:14:47 0.368819 NaN NaN \n", - "14784 2019-01-11 18:59:15 0.084215 NaN NaN \n", - "14920 2019-02-14 08:13:07 0.067116 NaN NaN \n", - "14961 2019-01-11 18:59:15 0.296250 NaN NaN \n", - "15061 2019-02-14 08:13:14 0.205326 NaN NaN \n", - "15209 2019-02-14 17:14:50 0.169447 NaN NaN \n", - "15227 2019-02-14 08:13:07 0.196728 NaN NaN \n", - "15417 2019-01-11 18:59:15 0.287486 NaN NaN \n", - "15456 2019-02-14 08:13:06 0.384002 NaN NaN \n", - "15643 2019-02-14 17:14:48 0.276382 NaN NaN \n", - "15762 2019-02-14 17:14:46 0.126411 NaN NaN \n", - "15772 2019-02-14 08:13:14 0.364309 NaN NaN \n", - "15779 2019-01-11 18:59:15 0.310727 NaN NaN \n", - "15833 2019-01-11 18:59:15 0.403430 NaN NaN \n", - "16101 2019-02-14 17:14:48 0.138714 NaN NaN \n", - "16168 2019-02-14 17:14:55 0.398556 NaN NaN \n", - "16200 2019-02-14 08:13:06 0.258526 NaN NaN \n", - "16282 2019-02-14 17:14:47 0.118254 NaN NaN \n", - "16283 2019-01-11 18:59:15 0.117534 NaN NaN \n", - "16312 2019-01-11 18:59:16 0.438239 NaN NaN \n", - "16313 2019-02-14 14:14:10 0.331496 NaN NaN \n", - "16361 2019-01-11 18:59:15 0.344640 NaN NaN \n", - "16392 2019-01-11 18:59:16 0.155409 NaN NaN \n", - "16457 2019-02-14 08:13:08 0.348572 NaN NaN \n", - "16475 2019-02-14 17:14:48 0.325590 NaN NaN \n", - "\n", - "[263 rows x 12 columns]" - ] - }, - "execution_count": 115, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "mystery_unfilled[mystery_unfilled['user_state']==1]" - ] - }, - { - "cell_type": "code", - "execution_count": 95, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "1.0 263\n", - "3.0 7\n", - "4.0 5\n", - "2.0 3\n", - "Name: user_state, dtype: int64" - ] - }, - "execution_count": 95, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "mystery_unfilled['user_state'].value_counts()" - ] - }, - { - "cell_type": "code", - "execution_count": 98, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
idnot_found_idscreen_namecreated_atrecord_created_atlanguser_stateCS_oldest_tweets_archivedlast_attempted_processuser_randuser_idnum_fills
2471.009778e+18<NOT_FOUND>_vmramkumar2_1551988407202vmramkumar22018-06-21 12:38:392019-02-14 17:14:47en2.01.02019-02-14 17:14:470.037664NaNNaN
28521.093075e+18<NOT_FOUND>__cameo_rk_1550433114537_cameo_rk2019-02-06 09:14:382019-02-14 14:14:11en2.01.02019-02-14 14:14:110.213607NaNNaN
149588.955346e+17<NOT_FOUND>_muskaan15__1551124306881muskaan15_2017-08-10 06:37:332019-02-14 17:14:48en2.01.02019-02-14 17:14:480.090239NaNNaN
18471.067934e+18<NOT_FOUND>_tamilrockers_01_1547494461960tamilrockers_012018-11-29 00:11:452019-01-11 18:55:58en3.02.02019-01-11 18:59:150.041074NaNNaN
33511.307436e+09<NOT_FOUND>_traceylife_1551729254111traceylife2013-03-27 12:58:362019-02-14 08:13:07en3.01.02019-02-14 08:13:070.137036NaNNaN
37481.469993e+08<NOT_FOUND>_rickthesizz1er_1550519488314rickthesizz1er2010-05-22 23:21:432019-02-14 08:13:14en3.01.02019-02-14 08:13:140.048442NaNNaN
66162.657943e+07<NOT_FOUND>_djdonnied_1550519526685djdonnied2009-03-25 20:12:162019-02-14 08:13:08en3.01.02019-02-14 08:13:080.027175NaNNaN
85013.219255e+09<NOT_FOUND>_loveumovies_1548790812012loveumovies2015-05-18 10:50:462019-01-11 18:55:51en3.02.02019-01-11 18:59:150.496116NaNNaN
96323.760950e+08<NOT_FOUND>_prim_primmie_1551210895369prim_primmie2011-09-19 09:09:092019-02-14 14:14:11en3.01.02019-02-14 14:14:110.268401NaNNaN
121427.087539e+17<NOT_FOUND>_arabiciggy_1550260335380arabiciggy2016-03-12 20:37:582019-02-14 17:14:55en3.01.02019-02-14 17:14:550.221282NaNNaN
28931.094552e+18Nonerkvgajinfna0m5u2019-02-10 11:02:162019-02-14 14:14:13en4.01.02019-02-14 14:14:130.235414NaNNaN
36331.416038e+09Noneshadescools2013-05-09 17:16:292019-02-14 17:14:53en4.01.02019-02-14 17:14:530.320844NaNNaN
70592.791191e+09Nonegeckovo2014-09-29 10:47:212019-02-14 17:14:50en4.01.02019-02-14 17:14:500.473073NaNNaN
110034.853050e+09Nonebts_ggtt03162016-01-27 09:22:252019-02-14 14:14:11en4.01.02019-02-14 14:14:110.246455NaNNaN
162439.776882e+08Nonepiiyyaaaa2012-11-29 05:53:252019-01-11 18:55:59en4.02.02019-01-11 18:59:150.132669NaNNaN
\n", - "
" - ], - "text/plain": [ - " id not_found_id \\\n", - "247 1.009778e+18 _vmramkumar2_1551988407202 \n", - "2852 1.093075e+18 __cameo_rk_1550433114537 \n", - "14958 8.955346e+17 _muskaan15__1551124306881 \n", - "1847 1.067934e+18 _tamilrockers_01_1547494461960 \n", - "3351 1.307436e+09 _traceylife_1551729254111 \n", - "3748 1.469993e+08 _rickthesizz1er_1550519488314 \n", - "6616 2.657943e+07 _djdonnied_1550519526685 \n", - "8501 3.219255e+09 _loveumovies_1548790812012 \n", - "9632 3.760950e+08 _prim_primmie_1551210895369 \n", - "12142 7.087539e+17 _arabiciggy_1550260335380 \n", - "2893 1.094552e+18 None \n", - "3633 1.416038e+09 None \n", - "7059 2.791191e+09 None \n", - "11003 4.853050e+09 None \n", - "16243 9.776882e+08 None \n", - "\n", - " screen_name created_at record_created_at lang \\\n", - "247 vmramkumar2 2018-06-21 12:38:39 2019-02-14 17:14:47 en \n", - "2852 _cameo_rk 2019-02-06 09:14:38 2019-02-14 14:14:11 en \n", - "14958 muskaan15_ 2017-08-10 06:37:33 2019-02-14 17:14:48 en \n", - "1847 tamilrockers_01 2018-11-29 00:11:45 2019-01-11 18:55:58 en \n", - "3351 traceylife 2013-03-27 12:58:36 2019-02-14 08:13:07 en \n", - "3748 rickthesizz1er 2010-05-22 23:21:43 2019-02-14 08:13:14 en \n", - "6616 djdonnied 2009-03-25 20:12:16 2019-02-14 08:13:08 en \n", - "8501 loveumovies 2015-05-18 10:50:46 2019-01-11 18:55:51 en \n", - "9632 prim_primmie 2011-09-19 09:09:09 2019-02-14 14:14:11 en \n", - "12142 arabiciggy 2016-03-12 20:37:58 2019-02-14 17:14:55 en \n", - "2893 rkvgajinfna0m5u 2019-02-10 11:02:16 2019-02-14 14:14:13 en \n", - "3633 shadescools 2013-05-09 17:16:29 2019-02-14 17:14:53 en \n", - "7059 geckovo 2014-09-29 10:47:21 2019-02-14 17:14:50 en \n", - "11003 bts_ggtt0316 2016-01-27 09:22:25 2019-02-14 14:14:11 en \n", - "16243 piiyyaaaa 2012-11-29 05:53:25 2019-01-11 18:55:59 en \n", - "\n", - " user_state CS_oldest_tweets_archived last_attempted_process \\\n", - "247 2.0 1.0 2019-02-14 17:14:47 \n", - "2852 2.0 1.0 2019-02-14 14:14:11 \n", - "14958 2.0 1.0 2019-02-14 17:14:48 \n", - "1847 3.0 2.0 2019-01-11 18:59:15 \n", - "3351 3.0 1.0 2019-02-14 08:13:07 \n", - "3748 3.0 1.0 2019-02-14 08:13:14 \n", - "6616 3.0 1.0 2019-02-14 08:13:08 \n", - "8501 3.0 2.0 2019-01-11 18:59:15 \n", - "9632 3.0 1.0 2019-02-14 14:14:11 \n", - "12142 3.0 1.0 2019-02-14 17:14:55 \n", - "2893 4.0 1.0 2019-02-14 14:14:13 \n", - "3633 4.0 1.0 2019-02-14 17:14:53 \n", - "7059 4.0 1.0 2019-02-14 17:14:50 \n", - "11003 4.0 1.0 2019-02-14 14:14:11 \n", - "16243 4.0 2.0 2019-01-11 18:59:15 \n", - "\n", - " user_rand user_id num_fills \n", - "247 0.037664 NaN NaN \n", - "2852 0.213607 NaN NaN \n", - "14958 0.090239 NaN NaN \n", - "1847 0.041074 NaN NaN \n", - "3351 0.137036 NaN NaN \n", - "3748 0.048442 NaN NaN \n", - "6616 0.027175 NaN NaN \n", - "8501 0.496116 NaN NaN \n", - "9632 0.268401 NaN NaN \n", - "12142 0.221282 NaN NaN \n", - "2893 0.235414 NaN NaN \n", - "3633 0.320844 NaN NaN \n", - "7059 0.473073 NaN NaN \n", - "11003 0.246455 NaN NaN \n", - "16243 0.132669 NaN NaN " - ] - }, - "execution_count": 98, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "mystery_unfilled[mystery_unfilled['user_state']!=1].sort_values('user_state') #4 is wont process, the other have not_found ids" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.6.5" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/utils/twitter_observational_analysis_controller2.ipynb b/utils/twitter_observational_analysis_controller2.ipynb deleted file mode 100644 index 55542a2..0000000 --- a/utils/twitter_observational_analysis_controller2.ipynb +++ /dev/null @@ -1,1307 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Goals\n", - "+ summaries\n", - "+ lumen notices\n", - " + lumen notices per day\n", - "+ twitter users\n", - " + twitter users by CS_oldest_archived (should be all completed --3)\n", - " + twitter users by date added\n", - "+ twitter statuses\n", - " + count by record_created_at\n", - " + by user\n", - " + indicator before lumen notice served\n", - " + user | notice time | tweets per day before (1day) | tweets per day after (1day)\n", - "+ twitter rate_state by checkin due\n", - " \n", - " \n", - "+ pivoted tables\n", - " + date by\n", - " + lumen notices\n", - " + twitter user added\n", - " + twitter statuses collected" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Populating the interactive namespace from numpy and matplotlib\n" - ] - } - ], - "source": [ - "import os, inspect, json\n", - "import pandas as pd\n", - "import datetime\n", - "%pylab inline\n", - "BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), \"..\")\n", - "\n", - "ENV = 'production'\n", - "\n", - "if ENV == 'production':\n", - " pass\n", - "# os.system('ssh -L 3306:127.0.0.1:3306 dmca-cox &')" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'database': 'civilservant_production', 'user': 'civilservant', 'host': '127.0.0.1', 'password': '', 'client_id': '', 'client_secret': '', 'redirect_uri': ''}\n" - ] - } - ], - "source": [ - "with open(os.path.join(BASE_DIR, \"config\") + \"/{env}.json\".format(env=ENV), \"r\") as config:\n", - " DBCONFIG = json.loads(config.read())\n", - "\n", - "### LOAD SQLALCHEMY\n", - "from sqlalchemy import create_engine\n", - "from sqlalchemy.orm import sessionmaker\n", - "db_engine = create_engine(\"mysql://{user}:{password}@{host}/{database}\".format(\n", - " host=DBCONFIG['host'],\n", - " user=DBCONFIG['user'],\n", - " password=DBCONFIG['password'],\n", - " database=DBCONFIG['database']))\n", - "\n", - "print(DBCONFIG)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
count(*)
058578
\n", - "
" - ], - "text/plain": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
count(*)
058578
\n", - "
" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "pd.read_sql('select count(*) from twitter_users;', db_engine)" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/usr/local/lib/python3.6/dist-packages/sqlalchemy/engine/default.py:509: Warning: (1051, \"Unknown table 'civilservant_production.notice_twit_user'\")\n", - " cursor.execute(statement, parameters)\n" - ] - } - ], - "source": [ - "# notice_twit_user_table_dropsql = '''drop table if exists notice_twit_user'''\n", - "# notice_twit_user_table_sql = '''create TEMPORARY table notice_twit_user as\n", - "# (\n", - "# select n.date_received as notice_date, ltt.twitter_user_id as user_id from lumen_notices as n\n", - "# join lumen_notice_to_twitter_user as ltt\n", - "# on n.id = ltt.notice_id\n", - "# );'''\n", - "# with db_engine.connect() as con:\n", - "# con.execute(notice_twit_user_table_dropsql)\n", - "# con.execute(notice_twit_user_table_sql)\n", - "# \n", - "# notice_twit_user = pd.read_sql('select * from notice_twit_user', db_engine, parse_dates=['notice_date'])" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [], - "source": [ - "user_limit = 100\n", - "randusers_sql = '''select id, screen_name, record_created_at, last_attempted_process from twitter_users where CS_oldest_tweets_archived = 3 and lang = 'en' order by rand(42) limit {};'''.format(user_limit)\n", - "randusers = pd.read_sql(randusers_sql, db_engine)\n", - "# randusers" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [], - "source": [ - "quoted_user_ids = ', '.join([str(\"'{}'\".format(x)) for x in (randusers['id'])])" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
idscreen_namerecord_created_atlast_attempted_process
01032223709938032640jackson030812018-09-20 19:40:162018-10-01 12:52:33
1980425091581280256fcbmumbai2018-09-27 04:48:342018-10-01 13:26:04
280428622sylvana82018-09-27 22:49:122018-10-01 14:39:08
3707263861846454272stmdance2018-09-14 10:17:152018-10-03 18:15:44
4881373339801047041f_27a2018-09-26 16:47:432018-10-01 12:58:16
52810603348choodlumt2018-09-13 18:43:442018-10-03 18:01:36
61030961457037549568jaelaflare2018-09-28 16:50:112018-10-01 15:31:59
73286029776shaianne_foster2018-09-18 13:37:142018-10-01 10:54:44
81046012505947066368aaoo33032018-09-29 22:51:302018-10-01 14:19:11
91661059892asadnane2018-09-13 18:42:212018-10-03 17:40:56
10371181972selsnipple2018-09-28 04:49:442018-10-01 15:09:32
1152401801rawiyah2018-09-28 04:49:442018-10-01 15:09:32
122765952876jungkookpetals2018-09-19 07:38:322018-10-01 11:11:32
13352293943mikeswazyy2018-09-28 04:49:442018-10-01 15:08:56
14976188936937705472505thh2018-09-15 19:33:422018-10-03 18:33:59
15452492502lilvlex2018-09-21 13:41:172018-10-01 13:43:10
16163597532_trustissuesx2018-09-13 18:43:182018-10-03 17:57:46
172976120663aaliaqueen9382018-09-14 17:43:412018-10-03 18:18:17
18807215491022323712bumbllebee9002018-09-28 04:49:522018-10-01 15:20:38
191031267980611440640sarkarvijayfan2018-09-22 10:42:152018-10-01 14:14:24
20978833154743169024alannah_dugan2018-09-16 01:34:032018-10-03 18:38:08
21334699392thusombedu2018-09-17 10:35:442018-10-03 18:48:35
221897718317_jazlynscott2018-09-13 18:41:362018-10-03 17:28:33
231001910932186972160crenews2018-09-26 19:47:422018-10-01 13:21:31
241366757954sarkar_loveking2018-09-22 10:42:152018-10-01 14:14:24
25776304391167041536so8vishal30092018-09-30 19:52:292018-10-01 14:34:30
261229337397dchimhavi2018-09-20 16:40:112018-10-01 12:50:20
274741342766isabelluviano_2018-09-25 19:46:312018-10-01 11:32:04
28262070435ijumanaj2018-09-24 01:44:302018-10-01 08:54:37
291037976316241473536sportks234625242018-09-20 01:39:232018-10-01 11:57:38
...............
704237767198gagassonn2018-09-19 19:39:322018-10-01 11:51:36
71496981768yaamirahh2018-09-26 16:47:512018-10-01 13:18:19
721045138180230574080putlocker_cl2018-09-27 19:49:172018-10-01 14:32:48
73296757643fkanormani2018-09-25 10:46:182018-10-01 11:04:03
74407250798krackkids2018-09-17 19:36:082018-10-03 18:54:12
75945677807438483458fanofdannyx2018-09-21 04:40:512018-10-01 13:25:51
76412358282harpreetb12018-09-19 10:38:512018-10-01 11:25:11
773320486610therealcozyyy2018-09-20 22:40:302018-10-01 13:11:41
781020992030405783552mendesarmybb12018-09-19 19:39:122018-10-01 11:31:59
792453213724angeletisabella2018-09-28 13:49:562018-10-01 15:30:59
802856098712macgregorwill972018-09-30 22:52:452018-10-01 16:58:56
81169165677pisces_d332018-09-28 19:50:162018-10-01 15:35:54
82901292430942654464beardedbrwnguy2018-09-21 04:40:502018-10-01 13:24:39
833246075198shewinsnj2018-09-27 19:49:192018-10-01 14:35:01
84895811673692536834mzz667492018-09-17 19:36:072018-10-03 18:52:52
85825914120214044673stranger_beebo2018-09-15 19:33:402018-10-03 18:32:32
86703339988mariahkson2018-09-26 16:47:512018-10-01 13:18:19
872611488746bitchachoashlee2018-09-15 19:33:402018-10-03 18:31:38
882940743141sarahjames9652018-09-14 17:43:442018-10-03 18:18:58
89992066834697474049truehiphophere2018-09-19 04:38:052018-10-01 11:09:19
901621419223reflextunes2018-09-28 22:50:192018-10-01 15:38:12
91397733135jordanbwilliams2018-09-28 04:49:512018-10-01 15:18:59
924042441820alrightokshawn2018-09-27 10:48:452018-10-01 13:47:56
9319635369markradulich2018-09-20 10:40:332018-10-01 12:22:36
94632365371breahardinn2018-09-13 18:43:532018-10-03 18:04:06
95251767844neenbowen2018-09-13 18:41:352018-10-03 17:27:56
96932684118998917120iamsinghaniya12018-09-25 19:46:342018-10-01 11:46:26
97897056528015818752kettavan_memes2018-09-27 10:48:482018-10-01 13:51:37
98877450410704855040scooperng2018-09-20 16:40:112018-10-01 12:51:00
99839367390saucethebosss2018-09-18 07:38:212018-10-01 10:45:18
\n", - "

100 rows × 4 columns

\n", - "
" - ], - "text/plain": [ - " id screen_name record_created_at \\\n", - "0 1032223709938032640 jackson03081 2018-09-20 19:40:16 \n", - "1 980425091581280256 fcbmumbai 2018-09-27 04:48:34 \n", - "2 80428622 sylvana8 2018-09-27 22:49:12 \n", - "3 707263861846454272 stmdance 2018-09-14 10:17:15 \n", - "4 881373339801047041 f_27a 2018-09-26 16:47:43 \n", - "5 2810603348 choodlumt 2018-09-13 18:43:44 \n", - "6 1030961457037549568 jaelaflare 2018-09-28 16:50:11 \n", - "7 3286029776 shaianne_foster 2018-09-18 13:37:14 \n", - "8 1046012505947066368 aaoo3303 2018-09-29 22:51:30 \n", - "9 1661059892 asadnane 2018-09-13 18:42:21 \n", - "10 371181972 selsnipple 2018-09-28 04:49:44 \n", - "11 52401801 rawiyah 2018-09-28 04:49:44 \n", - "12 2765952876 jungkookpetals 2018-09-19 07:38:32 \n", - "13 352293943 mikeswazyy 2018-09-28 04:49:44 \n", - "14 976188936937705472 505thh 2018-09-15 19:33:42 \n", - "15 452492502 lilvlex 2018-09-21 13:41:17 \n", - "16 163597532 _trustissuesx 2018-09-13 18:43:18 \n", - "17 2976120663 aaliaqueen938 2018-09-14 17:43:41 \n", - "18 807215491022323712 bumbllebee900 2018-09-28 04:49:52 \n", - "19 1031267980611440640 sarkarvijayfan 2018-09-22 10:42:15 \n", - "20 978833154743169024 alannah_dugan 2018-09-16 01:34:03 \n", - "21 334699392 thusombedu 2018-09-17 10:35:44 \n", - "22 1897718317 _jazlynscott 2018-09-13 18:41:36 \n", - "23 1001910932186972160 crenews 2018-09-26 19:47:42 \n", - "24 1366757954 sarkar_loveking 2018-09-22 10:42:15 \n", - "25 776304391167041536 so8vishal3009 2018-09-30 19:52:29 \n", - "26 1229337397 dchimhavi 2018-09-20 16:40:11 \n", - "27 4741342766 isabelluviano_ 2018-09-25 19:46:31 \n", - "28 262070435 ijumanaj 2018-09-24 01:44:30 \n", - "29 1037976316241473536 sportks23462524 2018-09-20 01:39:23 \n", - ".. ... ... ... \n", - "70 4237767198 gagassonn 2018-09-19 19:39:32 \n", - "71 496981768 yaamirahh 2018-09-26 16:47:51 \n", - "72 1045138180230574080 putlocker_cl 2018-09-27 19:49:17 \n", - "73 296757643 fkanormani 2018-09-25 10:46:18 \n", - "74 407250798 krackkids 2018-09-17 19:36:08 \n", - "75 945677807438483458 fanofdannyx 2018-09-21 04:40:51 \n", - "76 412358282 harpreetb1 2018-09-19 10:38:51 \n", - "77 3320486610 therealcozyyy 2018-09-20 22:40:30 \n", - "78 1020992030405783552 mendesarmybb1 2018-09-19 19:39:12 \n", - "79 2453213724 angeletisabella 2018-09-28 13:49:56 \n", - "80 2856098712 macgregorwill97 2018-09-30 22:52:45 \n", - "81 169165677 pisces_d33 2018-09-28 19:50:16 \n", - "82 901292430942654464 beardedbrwnguy 2018-09-21 04:40:50 \n", - "83 3246075198 shewinsnj 2018-09-27 19:49:19 \n", - "84 895811673692536834 mzz66749 2018-09-17 19:36:07 \n", - "85 825914120214044673 stranger_beebo 2018-09-15 19:33:40 \n", - "86 703339988 mariahkson 2018-09-26 16:47:51 \n", - "87 2611488746 bitchachoashlee 2018-09-15 19:33:40 \n", - "88 2940743141 sarahjames965 2018-09-14 17:43:44 \n", - "89 992066834697474049 truehiphophere 2018-09-19 04:38:05 \n", - "90 1621419223 reflextunes 2018-09-28 22:50:19 \n", - "91 397733135 jordanbwilliams 2018-09-28 04:49:51 \n", - "92 4042441820 alrightokshawn 2018-09-27 10:48:45 \n", - "93 19635369 markradulich 2018-09-20 10:40:33 \n", - "94 632365371 breahardinn 2018-09-13 18:43:53 \n", - "95 251767844 neenbowen 2018-09-13 18:41:35 \n", - "96 932684118998917120 iamsinghaniya1 2018-09-25 19:46:34 \n", - "97 897056528015818752 kettavan_memes 2018-09-27 10:48:48 \n", - "98 877450410704855040 scooperng 2018-09-20 16:40:11 \n", - "99 839367390 saucethebosss 2018-09-18 07:38:21 \n", - "\n", - " last_attempted_process \n", - "0 2018-10-01 12:52:33 \n", - "1 2018-10-01 13:26:04 \n", - "2 2018-10-01 14:39:08 \n", - "3 2018-10-03 18:15:44 \n", - "4 2018-10-01 12:58:16 \n", - "5 2018-10-03 18:01:36 \n", - "6 2018-10-01 15:31:59 \n", - "7 2018-10-01 10:54:44 \n", - "8 2018-10-01 14:19:11 \n", - "9 2018-10-03 17:40:56 \n", - "10 2018-10-01 15:09:32 \n", - "11 2018-10-01 15:09:32 \n", - "12 2018-10-01 11:11:32 \n", - "13 2018-10-01 15:08:56 \n", - "14 2018-10-03 18:33:59 \n", - "15 2018-10-01 13:43:10 \n", - "16 2018-10-03 17:57:46 \n", - "17 2018-10-03 18:18:17 \n", - "18 2018-10-01 15:20:38 \n", - "19 2018-10-01 14:14:24 \n", - "20 2018-10-03 18:38:08 \n", - "21 2018-10-03 18:48:35 \n", - "22 2018-10-03 17:28:33 \n", - "23 2018-10-01 13:21:31 \n", - "24 2018-10-01 14:14:24 \n", - "25 2018-10-01 14:34:30 \n", - "26 2018-10-01 12:50:20 \n", - "27 2018-10-01 11:32:04 \n", - "28 2018-10-01 08:54:37 \n", - "29 2018-10-01 11:57:38 \n", - ".. ... \n", - "70 2018-10-01 11:51:36 \n", - "71 2018-10-01 13:18:19 \n", - "72 2018-10-01 14:32:48 \n", - "73 2018-10-01 11:04:03 \n", - "74 2018-10-03 18:54:12 \n", - "75 2018-10-01 13:25:51 \n", - "76 2018-10-01 11:25:11 \n", - "77 2018-10-01 13:11:41 \n", - "78 2018-10-01 11:31:59 \n", - "79 2018-10-01 15:30:59 \n", - "80 2018-10-01 16:58:56 \n", - "81 2018-10-01 15:35:54 \n", - "82 2018-10-01 13:24:39 \n", - "83 2018-10-01 14:35:01 \n", - "84 2018-10-03 18:52:52 \n", - "85 2018-10-03 18:32:32 \n", - "86 2018-10-01 13:18:19 \n", - "87 2018-10-03 18:31:38 \n", - "88 2018-10-03 18:18:58 \n", - "89 2018-10-01 11:09:19 \n", - "90 2018-10-01 15:38:12 \n", - "91 2018-10-01 15:18:59 \n", - "92 2018-10-01 13:47:56 \n", - "93 2018-10-01 12:22:36 \n", - "94 2018-10-03 18:04:06 \n", - "95 2018-10-03 17:27:56 \n", - "96 2018-10-01 11:46:26 \n", - "97 2018-10-01 13:51:37 \n", - "98 2018-10-01 12:51:00 \n", - "99 2018-10-01 10:45:18 \n", - "\n", - "[100 rows x 4 columns]" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "randusers" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "select created_at as tweet_date, user_id from twitter_statuses \n", - "where user_id in ('1032223709938032640', '980425091581280256', '80428622', '707263861846454272', '881373339801047041', '2810603348', '1030961457037549568', '3286029776', '1046012505947066368', '1661059892', '371181972', '52401801', '2765952876', '352293943', '976188936937705472', '452492502', '163597532', '2976120663', '807215491022323712', '1031267980611440640', '978833154743169024', '334699392', '1897718317', '1001910932186972160', '1366757954', '776304391167041536', '1229337397', '4741342766', '262070435', '1037976316241473536', '947474480842059776', '410210908', '960531545055551490', '1031512184138883072', '742125408125095937', '177792516', '883087172559028224', '283864571', '772349498529947648', '494579546', '941719871313788930', '938385496815947776', '1007452869057044480', '134941948', '2371175997', '773780636', '2514017069', '760742144017469440', '244197854', '967038273209208832', '904503944', '926568920642965509', '1024419919042109440', '2998710924', '767126530719907840', '87371735', '982380127865720832', '790282472', '749786561777135616', '2989595736', '1013262185227694086', '896315308834607104', '1338257053', '553882377', '922144764467777536', '1167861439', '2475322258', '1012520610549960704', '83730981', '829423770079227904', '4237767198', '496981768', '1045138180230574080', '296757643', '407250798', '945677807438483458', '412358282', '3320486610', '1020992030405783552', '2453213724', '2856098712', '169165677', '901292430942654464', '3246075198', '895811673692536834', '825914120214044673', '703339988', '2611488746', '2940743141', '992066834697474049', '1621419223', '397733135', '4042441820', '19635369', '632365371', '251767844', '932684118998917120', '897056528015818752', '877450410704855040', '839367390');\n", - "CPU times: user 1.98 s, sys: 143 ms, total: 2.12 s\n", - "Wall time: 42min 43s\n" - ] - } - ], - "source": [ - "%%time\n", - "userstatus_sql = '''select created_at as tweet_date, user_id from twitter_statuses \n", - "where user_id in ({});'''.format(quoted_user_ids)\n", - "print(userstatus_sql)\n", - "userstatuses = pd.read_sql(userstatus_sql, db_engine, parse_dates=['tweet_date'])\n", - "userstatuses.to_pickle('logs/userstatus.pickle')" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [], - "source": [ - "user_tweet_series = userstatuses.merge(notice_twit_user, on='user_id')" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(224701, 3)" - ] - }, - "execution_count": 21, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "user_tweet_series.shape" - ] - }, - { - "cell_type": "code", - "execution_count": 145, - "metadata": { - "scrolled": false - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:4: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame.\n", - "Try using .loc[row_indexer,col_indexer] = value instead\n", - "\n", - "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", - " after removing the cwd from sys.path.\n", - "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:4: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame.\n", - "Try using .loc[row_indexer,col_indexer] = value instead\n", - "\n", - "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", - " after removing the cwd from sys.path.\n", - "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:4: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame.\n", - "Try using .loc[row_indexer,col_indexer] = value instead\n", - "\n", - "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", - " after removing the cwd from sys.path.\n", - "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:4: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame.\n", - "Try using .loc[row_indexer,col_indexer] = value instead\n", - "\n", - "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", - " after removing the cwd from sys.path.\n", - "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:4: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame.\n", - "Try using .loc[row_indexer,col_indexer] = value instead\n", - "\n", - "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", - " after removing the cwd from sys.path.\n", - "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:4: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame.\n", - "Try using .loc[row_indexer,col_indexer] = value instead\n", - "\n", - "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", - " after removing the cwd from sys.path.\n", - "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:4: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame.\n", - "Try using .loc[row_indexer,col_indexer] = value instead\n", - "\n", - "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", - " after removing the cwd from sys.path.\n", - "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:4: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame.\n", - "Try using .loc[row_indexer,col_indexer] = value instead\n", - "\n", - "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", - " after removing the cwd from sys.path.\n", - "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:4: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame.\n", - "Try using .loc[row_indexer,col_indexer] = value instead\n", - "\n", - "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", - " after removing the cwd from sys.path.\n", - "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:4: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame.\n", - "Try using .loc[row_indexer,col_indexer] = value instead\n", - "\n", - "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", - " after removing the cwd from sys.path.\n", - "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:4: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame.\n", - "Try using .loc[row_indexer,col_indexer] = value instead\n", - "\n", - "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", - " after removing the cwd from sys.path.\n", - "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:4: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame.\n", - "Try using .loc[row_indexer,col_indexer] = value instead\n", - "\n", - "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", - " after removing the cwd from sys.path.\n" - ] - }, - { - "data": { - "image/png": "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hOiqZAwkP2W1230dghBCCCGEaKGjp8q4/c2N3LkgjdBAIwvnTuTZ60a3OHnkcsnw7rw3dyLFFVaufnkNaemn2ihiIURX9cqKw1z83ArWHMzzdSjCxySB5KdkgEQhhBBCCP9TabXxr6UHmP7sctYdzuf3M4aw+JfnMKFvTJvtY2yvaBb9fDJRIQHc9Op6Fm/PbrOyhRBdh9aaf367jye+2sOx02Xc/Np6nv5mLxabNGboqlqVQFJKpSuldiiltiql0pzLuimlvldKHXD+jm6bUIUnSSAJIYQQQviXFftzueT5lTz7/X6mD0lgyUPncee5fTEbGdKo0gAAIABJREFU2/473d4xoXxyz2RG9ojk3nc3M2/FIbSW+0chRNNorfnLl7v5z48HuT61J+sevYDrU3vy8rJDXPPyGjLyS30dovCBtvhvNU1rPVprnep8/jCwVGs9AFjqfC7amCSQhBBCCCH8Q3ZhOfe+s5lbX98AwII543nx5rEkRgZ7db/RoQG8fccELhuRyN++2sufP98l95BCiEbZ7JqHP97BG6vTmXN2H566egThQWaeunokL908liN5pcx4YSWfbD4miekuxhuDaM8EpjofzweWAb/zwn66NKv88xdCCCGE6NAsNjtvrk7nuSX7sdk1D104kLnn9SXQZGy3GILMRv594xiSo4P534rDHC8o5183jiEkQObSEULUZrHZeXDhVr7cns0vz+/PgxcOrDb794wRiYzqGcWD72/lVx9sY/n+XB6/YjgRQWYfRi3aS2tbIGngO6XUJqXUXOeyBK21q6P1CSChrg2VUnOVUmlKqbTc3NxWhuE9ucWV3P/+Fkorrb4OpRr59kgIIYQQouPKKargqpfW8MRXe5jUN4YlvzqPX1wwoF2TRy4Gg+KRGUN4fOYwftibww3z1pFTXNHucQghOrYKi42739rEl9uzeeTSwfzqokHVkkcuPaKCeW/uRH514UC+3J7NZf9ayebM0z6IWLS31iaQpmitxwKXAvcqpc71fFE72rPVmenQWs/TWqdqrVPj4uJaGYb3PPPdPj7bepzPth5v0fbzVhxiye6TbRyVJJCEEEIIITqq9LxSrv7vGg7llvDfW8by2m1n0bNbiK/DYtakFObNSuXAyRKuemkNB3OKvb7P4goLO44VUmm1eX1fQoiWK620MufNjfywL4e/XjGcu87r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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "fig, outer_ax = plt.subplots(user_limit//2, 2, 'none', figsize=(user_limit//5,user_limit/2))\n", - "\n", - "for (user, tweet_series), ax_pos in zip(user_tweet_series.groupby('user_id'), outer_ax.flat):\n", - " tweet_series['const'] = 1\n", - " notice_date = notice_twit_user[notice_twit_user['user_id']==user]['notice_date'].iloc[0]\n", - "# print(user, notice_date)\n", - " ax = tweet_series.set_index('tweet_date')['const'].resample('D').sum().plot(ax=ax_pos)\n", - " ymin, ymax = ax.get_ylim()\n", - " ax.vlines(x=[notice_date], ymin=ymin, ymax=ymax-1, color='r')\n", - "\n", - "\n", - "\n", - " plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [], - "source": [ - "experiment_end_date = datetime.datetime(2018,10,2)\n", - "udf = None\n", - "\n", - "for uid, udf in user_tweet_series.groupby('user_id'):\n", - " udf = udf\n", - " break\n" - ] - }, - { - "cell_type": "code", - "execution_count": 148, - "metadata": {}, - "outputs": [], - "source": [ - "def count_before_all(udf):\n", - " return udf[udf['tweet_date'] < udf['notice_date']].count()['tweet_date']\n", - "\n", - "def count_after_all(udf):\n", - " return udf[udf['tweet_date'] >= udf['notice_date']].count()['tweet_date']\n", - "\n", - "def count_before_sym_range(udf):\n", - " return udf[(udf['notice_date'] - udf['tweet_date'] <= collection_range) & (udf['tweet_date'] < udf['notice_date'])].count()['tweet_date']" - ] - }, - { - "cell_type": "code", - "execution_count": 149, - "metadata": {}, - "outputs": [], - "source": [ - "user_tweet_before_all = user_tweet_series.groupby('user_id').apply(count_before_all)\n", - "user_tweet_before_sym_range = user_tweet_series.groupby('user_id').apply(count_before_sym_range)\n", - "user_tweet_after_all = user_tweet_series.groupby('user_id').apply(count_after_all)" - ] - }, - { - "cell_type": "code", - "execution_count": 159, - "metadata": {}, - "outputs": [], - "source": [ - "user_tweet_counts = pd.concat([user_tweet_before_all, user_tweet_before_sym_range, user_tweet_after_all], axis=1)\n", - "user_tweet_counts.columns = ['user_tweet_before_all', 'user_tweet_before_sym_range', 'user_tweet_after_all']" - ] - }, - { - "cell_type": "code", - "execution_count": 161, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "user_tweet_before_all 2080.38\n", - "user_tweet_before_sym_range 96.14\n", - "user_tweet_after_all 166.63\n", - "dtype: float64" - ] - }, - "execution_count": 161, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "user_tweet_counts.mean()" - ] - }, - { - "cell_type": "code", - "execution_count": 169, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[,\n", - " ],\n", - " [,\n", - " ]],\n", - " dtype=object)" - ] - }, - "execution_count": 169, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "user_tweet_counts.hist(figsize=(12,5), bins=30, sharex=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Pure SQL" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "lum_not_sql = '''SELECT date(date_received) as dr, count(date(date_received))\n", - "FROM lumen_notices\n", - "GROUP by dr\n", - "'''\n", - "lum_not_df = pd.read_sql(lum_not_sql, db_engine, parse_dates=['dr'])\n", - "\n", - "lum_not_df" - ] - }, - { - "cell_type": "code", - "execution_count": 171, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
CS_oldest_tweets_archivedcount(CS_oldest_tweets_archived)
019142
1246
2314713
\n", - "
" - ], - "text/plain": [ - " CS_oldest_tweets_archived count(CS_oldest_tweets_archived)\n", - "0 1 9142\n", - "1 2 46\n", - "2 3 14713" - ] - }, - "execution_count": 171, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "twit_user_processed = '''-- how many in process\n", - "SELECT CS_oldest_tweets_archived, count(CS_oldest_tweets_archived) from twitter_users\n", - "\tgroup by CS_oldest_tweets_archived\n", - "'''\n", - "twit_user_processed_df = pd.read_sql(twit_user_processed, db_engine)\n", - "twit_user_processed_df" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "twit_user_rec_created = '''select date(record_created_at) as drca, COUNT(date(record_created_at)) from twitter_users\n", - "GROUP by drca\n", - "'''\n", - "twit_user_rec_created_df = pd.read_sql(twit_user_rec_created, db_engine, parse_dates=['drca'])\n", - "twit_user_rec_created_df" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "lumen_twit = '''select notice_id, date_received, twitter_user_id from lumen_notice_to_twitter_user as lum_twit\n", - "left join (select id, date_received from lumen_notices) as lum_notice\n", - "on lum_twit.notice_id = lum_notice.id\n", - "'''\n", - "lumen_twit_df = pd.read_sql(lumen_twit, db_engine, parse_dates=['date_received'])\n", - "lumen_twit_df.head()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "twitid_complaints = lumen_twit_df.groupby('twitter_user_id').agg({'notice_id':len}).rename({'notice_id':'complaints_received'}, axis=1)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "len(twitid_complaints[twitid_complaints['complaints_received']>1])/len(twitid_complaints)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "twitter_rate_sql = '''select max(reset_time), user_id from twitter_ratestate\n", - "group by user_id'''\n", - "twitter_rate_df = pd.read_sql(twitter_rate_sql, db_engine, parse_dates=['max(reset_time)'])\n", - "twitter_rate_df" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "before_after_tweets_sql = '''create TEMPORARY table notice_twit_user as\n", - "(\n", - "select n.date_received as notice_date, ltt.twitter_user_id as twitter_user_id from lumen_notices as n\n", - "join lumen_notice_to_twitter_user as ltt\n", - "on n.id = ltt.notice_id\n", - ")\n", - "\n", - "select * from notice_twit_user\n", - "\n", - "-- make this relation first and then later groupby\n", - "create TEMPORARY table notice_tweet as (\n", - "select notice_date, twitter_user_id, created_at as tweet_date\n", - "from notice_twit_user nt\n", - "join twitter_statuses ts\n", - "on nt.twitter_user_id = ts.user_id\n", - ")\n", - "\n", - "\n", - "select sum(before_tweet) as before_tweets, sum(after_tweet) as after_tweets, twitter_user_id \n", - "from \n", - " (select tweet_date, \n", - "\t\tnotice_date,\n", - "\t\tcase when tweet_date < notice_date then 1 else 0 end as before_tweet,\n", - "\t\tcase when tweet_date > notice_date then 1 else 0 end as after_tweet,\n", - "\t\ttwitter_user_id\n", - "\tfrom notice_tweet ) as tweet_timing\n", - "group by twitter_user_id\n", - "'''" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.6.5" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/utils/url_unshortener_prod_investigator.ipynb b/utils/url_unshortener_prod_investigator.ipynb deleted file mode 100644 index 84aa3f8..0000000 --- a/utils/url_unshortener_prod_investigator.ipynb +++ /dev/null @@ -1,2417 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Getting 10,000 urls from DMCA-COX\n", - "- ssh -N dmca@cox.media.mit.edu -L 3310:cox.media.mit.edu:3306" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "collapsed": false - }, - "outputs": [], - "source": [ - "from utils.common import DbEngine\n", - "import os\n", - "import inspect\n", - "from app.models import TwitterStatus\n", - "import json\n", - "from sqlalchemy.sql.expression import func as sqlfunc\n", - "from functools import reduce\n", - "from url_unshortener import bulkUnshorten\n", - "\n", - "BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), \"..\")\n", - "ENV = 'production_over_ssh'\n", - "db_session = DbEngine(os.path.join(BASE_DIR, \"config\") + \"/{env}.json\".format(env=ENV)).new_session()\n" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "1798" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# error_uid = 106946342\n", - "error_uid = 62259528\n", - "user_statuses = db_session.query(TwitterStatus).filter(TwitterStatus.user_id == str(error_uid)).all()\n", - "status_urls_flat = []\n", - "for user_status in user_statuses:\n", - " status_data = json.loads(user_status.status_data)\n", - " status_url_dicts = status_data['entities']['urls']\n", - " just_urls = [d['url'] for d in status_url_dicts]\n", - " status_urls_flat.extend(just_urls)\n", - "len(status_urls_flat)" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - } - ], - "source": [ - "unshort = bulkUnshorten(status_urls_flat)" - ] - }, - { - "cell_type": "code", - "execution_count": 123, - "metadata": { - "collapsed": true - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[('https://t.co/PX5IKUYKE0',\n {'hops': 1,\n 'status_code': 301,\n 'success': False,\n 'final_url': 'http://m.net/',\n 'error': 'ReadTimeout',\n 'original_url': 'https://t.co/PX5IKUYKE0'}),\n ('https://t.co/KJzzP8gQz3',\n {'hops': 1,\n 'status_code': 301,\n 'success': False,\n 'final_url': 'https://mega.nz/#F!fa4VQQzJ!rnYplZGplWttT1p5nxvPkA',\n 'error': 'ReadTimeout',\n 'original_url': 'https://t.co/KJzzP8gQz3'}),\n ('https://t.co/aawzSKjhni',\n {'hops': 2,\n 'status_code': 301,\n 'success': False,\n 'final_url': 'https://mega.nz/#!K2pCnSQL!hni9k_ZTScEMdMP4H8WL9NzPKlcpLlCN6JjKIWt4wAE',\n 'error': 'ReadTimeout',\n 'original_url': 'https://t.co/aawzSKjhni'}),\n ('https://t.co/bbSw3kZjvW',\n {'hops': 2,\n 'status_code': 301,\n 'success': False,\n 'final_url': 'https://mega.nz/',\n 'error': 'ReadTimeout',\n 'original_url': 'https://t.co/bbSw3kZjvW'}),\n ('https://t.co/OVrDKccUEH',\n {'hops': 2,\n 'status_code': 301,\n 'success': False,\n 'final_url': 'https://item.rakuten.co.jp/musicstore/20190212-014/',\n 'error': 'ReadTimeout',\n 'original_url': 'https://t.co/OVrDKccUEH'})]" - ] - }, - "execution_count": 123, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "[(s,d) for s,d in unshort.items() if d['error'] is not None]" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "test_urls = ['https://t.co/xOPFen2beP', 'https://t.co/8df1GQUHmg', 'https://t.co/taGEIWlst9', 'https://t.co/ALHErdM85W', 'https://t.co/Cbt77SbVpu', 'https://t.co/VTJMCshR4V', 'https://t.co/Cy7uUN9Kew', 'https://support.twitter.com/articles/15795', 'https://t.co/LvAFLtkQIT', 'https://t.co/1wUlxjiV73', 'https://t.co/UDWXSdJmQy', 'https://t.co/zoxLTzb5kK', 'https://t.co/eRVV1a1hc0']\n", - "# test_urls = ['https://t.co/vaRwUGz11g', 'https://t.co/My1U9DF97m', 'https://t.co/VFJCtq0qgt', 'https://t.co/M0mn9VcRjP', 'https://t.co/Ck3bRRqh0a', 'https://t.co/El7lYetklr', 'https://t.co/ZSkc4zkM7g', 'https://t.co/QBt6yjOHYj', 'https://t.co/JpV2OpQcyL', 'https://t.co/YXfyoxeVdK', 'https://t.co/g0OTiAIYbY', 'https://t.co/AuLBnV3rMe', 'https://t.co/Ukh9znDaKG', 'https://t.co/FwQW1hYeJR', 'https://t.co/nDJwGzvKY5', 'https://t.co/uvT5WTDJ1E', 'https://t.co/RGmP3xNIZO', 'https://t.co/3VlZFFNVOK', 'https://t.co/J5nJLxotiv', 'https://t.co/lxIobWsMSY', 'https://t.co/exjNYVkgIZ', 'https://t.co/uvT5WTVjTc', 'https://t.co/JRxYLakUCs', 'https://t.co/bFgGYU4yLs', 'https://t.co/zsYvMFDGng', 'https://t.co/U5A27sgpWp', 'https://t.co/z7ATTi1Zd5', 'https://t.co/SG8pVmXqaN', 'https://t.co/N93nch5QyV', 'https://t.co/D2gWuJ7bfx', 'https://t.co/LKhOE4dLyt', 'https://t.co/YmxXESOe3A', 'https://t.co/3XqwpZeAFt', 'https://t.co/zcqVEz7JSc', 'https://t.co/MyTiloYZzT', 'https://t.co/3BS91Alrw2', 'https://t.co/uwtgRoBhz6', 'https://t.co/PWcMu07nEZ', 'https://t.co/2vNUjjJ1XC', 'https://t.co/8u4yNEVy48', 'https://t.co/5DL3WcZNwZ', 'https://t.co/mim5FYtyav', 'https://t.co/hGVp6ba0jE', 'https://t.co/NtOVV3bsQT', 'https://t.co/K72FQHk9Rl', 'https://t.co/ZcxczVTyHV', 'https://t.co/SOTsU9cY6J', 'https://t.co/yDUUdp1bmb', 'https://t.co/gmmLnVufxP', 'https://t.co/bajfKB6VKU', 'https://t.co/VAhGyptISQ', 'https://t.co/vteobfHsxo', 'https://t.co/oC8ZLeU3dD', 'https://t.co/Yv9eyH7Kgk', 'https://t.co/jaJhZSIUK3', 'https://t.co/woqFeUIhKT', 'https://t.co/WqXNdI2GZd', 'https://t.co/4iP96jIw3A', 'https://t.co/WxW61zSKL1', 'https://t.co/gPiGhCt2F6', 'https://t.co/6eIHxlH7qW', 'https://t.co/XK6U5ZOTV6', 'https://t.co/CmyCKPgfhf', 'https://t.co/FfZSmKSRfW', 'https://t.co/5m7tGhnLT9', 'https://t.co/I1bGpxKn7t', 'https://t.co/J2V2MdoVzm', 'https://t.co/YjQmmehDQU', 'https://t.co/pDkiHFqhyd', 'https://t.co/0ry6iSztoH', 'https://t.co/nAfvxqzz4S', 'https://t.co/mWXij2Hb9r', 'https://t.co/6Ta2jYzDAo', 'https://t.co/EvL8vk39gM', 'https://t.co/IxuzWMHBPT', 'https://t.co/wNZhh2ASpG', 'https://t.co/Hgdm52yc7s', 'https://t.co/QXFbhQEBoo']\n", - "# test_urls = ['https://t.co/ZaM9NxU448', 'https://t.co/JpcrcHwGsh', 'https://t.co/qbPsHoxNAs', 'https://t.co/4yTfEx4OMl', 'https://t.co/iIcMHOt4GZ', 'https://t.co/fd1sMV0JQo', 'https://t.co/bw7VAPXF8d', 'https://t.co/qw32fFijTF', 'https://t.co/NV4MfTsyjV', 'https://t.co/EiaZzYesjf', 'https://t.co/aXCgWnikAS', 'https://t.co/8OAq13oavE', 'https://t.co/4XVEhtMl8a', 'https://t.co/JjXqcja1VL', 'https://t.co/FDWgTVNxCG', 'https://t.co/pXAle8gPnU', 'https://t.co/fxp09wCryZ', 'https://t.co/bhQojME3RX', 'https://t.co/O6e2sTy7dn', 'https://t.co/qPktYFO2V5', 'https://t.co/Zkc6SgobZX', 'https://t.co/XHR6Fyaaeh', 'https://t.co/vJ4I95PvIm', 'https://t.co/IguncLlwEd']\n" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "there are 13 urls at the beggining\nthere are 13 urls in the middle\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "would pop\nredirect url is: https://twitter.com/i/web/status/1115431232513421316, result.url is https://t.co/1wUlxjiV73\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115431310510690305, result.url is https://t.co/VTJMCshR4V\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115431371583950848, result.url is https://t.co/Cbt77SbVpu\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam0xg/wrestlemania_35_livewrestlemania_35_watch_live/?ref=share&ref_source=twitter, result.url is https://t.co/Cy7uUN9Kew\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam5nx/wwe_wrestlemania_35_live_wwe_live_streamwwe/?ref=share&ref_source=twitter, result.url is https://t.co/LvAFLtkQIT\nwould pop\nredirect url is: http://bit.ly/2Uuj0Mp, result.url is https://t.co/taGEIWlst9\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam3ij/watchwwe_wrestlemania_35_livewwe_live_streamwwe/?ref=share&ref_source=twitter, result.url is https://t.co/zoxLTzb5kK\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115429407831797761, result.url is https://t.co/UDWXSdJmQy\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115430369405415424, result.url is https://t.co/eRVV1a1hc0\nwould pop\nredirect url is: https://help.twitter.com/articles/15795, result.url is https://support.twitter.com/articles/15795\nwould pop\nredirect url is: https://bit.ly/2G2mVWo, result.url is https://t.co/8df1GQUHmg\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam6xx/wrestlemania_35_livewrestlemania_35_watch_live/?ref=share&ref_source=twitter, result.url is https://t.co/xOPFen2beP\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam6mp/live_stream_wrestlemania_35_onlinewrestlemania/?ref=share&ref_source=twitter, result.url is https://t.co/ALHErdM85W\nthere are 13 urls in the middle\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "would pop\nredirect url is: https://twitter.com/i/web/status/1115429407831797761, result.url is https://t.co/UDWXSdJmQy\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115431232513421316, result.url is https://t.co/1wUlxjiV73\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115431371583950848, result.url is https://t.co/Cbt77SbVpu\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam0xg/wrestlemania_35_livewrestlemania_35_watch_live/?ref=share&ref_source=twitter, result.url is https://t.co/Cy7uUN9Kew\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115431310510690305, result.url is https://t.co/VTJMCshR4V\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam6xx/wrestlemania_35_livewrestlemania_35_watch_live/?ref=share&ref_source=twitter, result.url is https://t.co/xOPFen2beP\nwould pop\nredirect url is: http://bit.ly/2Uuj0Mp, result.url is https://t.co/taGEIWlst9\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam3ij/watchwwe_wrestlemania_35_livewwe_live_streamwwe/?ref=share&ref_source=twitter, result.url is https://t.co/zoxLTzb5kK\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam5nx/wwe_wrestlemania_35_live_wwe_live_streamwwe/?ref=share&ref_source=twitter, result.url is https://t.co/LvAFLtkQIT\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115430369405415424, result.url is https://t.co/eRVV1a1hc0\nwould pop\nredirect url is: https://help.twitter.com/articles/15795, result.url is https://support.twitter.com/articles/15795\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam6mp/live_stream_wrestlemania_35_onlinewrestlemania/?ref=share&ref_source=twitter, result.url is https://t.co/ALHErdM85W\nwould pop\nredirect url is: https://bit.ly/2G2mVWo, result.url is https://t.co/8df1GQUHmg\nthere are 13 urls in the middle\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "would pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam0xg/wrestlemania_35_livewrestlemania_35_watch_live/?ref=share&ref_source=twitter, result.url is https://t.co/Cy7uUN9Kew\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115430369405415424, result.url is https://t.co/eRVV1a1hc0\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115429407831797761, result.url is https://t.co/UDWXSdJmQy\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115431371583950848, result.url is https://t.co/Cbt77SbVpu\nwould pop\nredirect url is: http://bit.ly/2Uuj0Mp, result.url is https://t.co/taGEIWlst9\nwould pop\nredirect url is: https://bit.ly/2G2mVWo, result.url is https://t.co/8df1GQUHmg\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam6xx/wrestlemania_35_livewrestlemania_35_watch_live/?ref=share&ref_source=twitter, result.url is https://t.co/xOPFen2beP\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115431310510690305, result.url is https://t.co/VTJMCshR4V\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam3ij/watchwwe_wrestlemania_35_livewwe_live_streamwwe/?ref=share&ref_source=twitter, result.url is https://t.co/zoxLTzb5kK\nwould pop\nredirect url is: https://help.twitter.com/articles/15795, result.url is https://support.twitter.com/articles/15795\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115431232513421316, result.url is https://t.co/1wUlxjiV73\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam5nx/wwe_wrestlemania_35_live_wwe_live_streamwwe/?ref=share&ref_source=twitter, result.url is https://t.co/LvAFLtkQIT\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam6mp/live_stream_wrestlemania_35_onlinewrestlemania/?ref=share&ref_source=twitter, result.url is https://t.co/ALHErdM85W\nthere are 13 urls in the middle\nthere are 13 urls at the end\n" - ] - } - ], - "source": [ - "resp_urls = bulkUnshorten(test_urls)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(13, 13)" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "len(test_urls), len(resp_urls)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'https://t.co/xOPFen2beP': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam6xx/wrestlemania_35_livewrestlemania_35_watch_live/?ref=share&ref_source=twitter',\n 'error': None,\n 'original_url': 'https://t.co/xOPFen2beP'},\n 'https://t.co/8df1GQUHmg': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://bit.ly/2G2mVWo',\n 'error': None,\n 'original_url': 'https://t.co/8df1GQUHmg'},\n 'https://t.co/taGEIWlst9': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'http://bit.ly/2Uuj0Mp',\n 'error': None,\n 'original_url': 'https://t.co/taGEIWlst9'},\n 'https://t.co/ALHErdM85W': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam6mp/live_stream_wrestlemania_35_onlinewrestlemania/?ref=share&ref_source=twitter',\n 'error': None,\n 'original_url': 'https://t.co/ALHErdM85W'},\n 'https://t.co/Cbt77SbVpu': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://twitter.com/i/web/status/1115431371583950848',\n 'error': None,\n 'original_url': 'https://t.co/Cbt77SbVpu'},\n 'https://t.co/VTJMCshR4V': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://twitter.com/i/web/status/1115431310510690305',\n 'error': None,\n 'original_url': 'https://t.co/VTJMCshR4V'},\n 'https://t.co/Cy7uUN9Kew': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam0xg/wrestlemania_35_livewrestlemania_35_watch_live/?ref=share&ref_source=twitter',\n 'error': None,\n 'original_url': 'https://t.co/Cy7uUN9Kew'},\n 'https://support.twitter.com/articles/15795': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://help.twitter.com/articles/15795',\n 'error': None,\n 'original_url': 'https://support.twitter.com/articles/15795'},\n 'https://t.co/LvAFLtkQIT': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam5nx/wwe_wrestlemania_35_live_wwe_live_streamwwe/?ref=share&ref_source=twitter',\n 'error': None,\n 'original_url': 'https://t.co/LvAFLtkQIT'},\n 'https://t.co/1wUlxjiV73': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://twitter.com/i/web/status/1115431232513421316',\n 'error': None,\n 'original_url': 'https://t.co/1wUlxjiV73'},\n 'https://t.co/UDWXSdJmQy': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://twitter.com/i/web/status/1115429407831797761',\n 'error': None,\n 'original_url': 'https://t.co/UDWXSdJmQy'},\n 'https://t.co/zoxLTzb5kK': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam3ij/watchwwe_wrestlemania_35_livewwe_live_streamwwe/?ref=share&ref_source=twitter',\n 'error': None,\n 'original_url': 'https://t.co/zoxLTzb5kK'},\n 'https://t.co/eRVV1a1hc0': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://twitter.com/i/web/status/1115430369405415424',\n 'error': None,\n 'original_url': 'https://t.co/eRVV1a1hc0'}}" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "resp_urls" - ] - }, - { - "cell_type": "code", - "execution_count": 105, - "metadata": {}, - "outputs": [], - "source": [ - "left_overs = [l for l in test_urls if l not in resp_urls.keys()]" - ] - }, - { - "cell_type": "code", - "execution_count": 106, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "['https://t.co/uvT5WTVjTc', 'https://t.co/5DL3WcZNwZ']" - ] - }, - "execution_count": 106, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "left_overs" - ] - }, - { - "cell_type": "code", - "execution_count": 107, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'https://t.co/uvT5WTVjTc': {'hops': 1,\n 'status_code': 200,\n 'success': True,\n 'final_url': 'https://realproductkeys.org/lumion-crack/',\n 'error': None,\n 'original_url': 'https://t.co/uvT5WTVjTc'},\n 'https://t.co/5DL3WcZNwZ': {'hops': 1,\n 'status_code': 200,\n 'success': True,\n 'final_url': 'https://crackproductkey.com/wondershare-mobiletrans-crack/',\n 'error': None,\n 'original_url': 'https://t.co/5DL3WcZNwZ'}}" - ] - }, - "execution_count": 107, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "bulkUnshorten(left_overs)" - ] - }, - { - "cell_type": "code", - "execution_count": 101, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'https://t.co/bw7VAPXF8d': {'hops': 2,\n 'status_code': 200,\n 'success': True,\n 'final_url': 'https://twitter.com/account/suspended',\n 'error': None,\n 'original_url': 'https://t.co/bw7VAPXF8d'}}" - ] - }, - "execution_count": 101, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "bulkUnshorten('https://t.co/bw7VAPXF8d')" - ] - }, - { - "cell_type": "code", - "execution_count": 80, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "['https://realproductkeys.org/hotspot-shield-elite-crack/',\n 'https://realproductkeys.org/lumion-crack/',\n 'https://crackproductkey.com/vmix-crack/',\n 'https://crackproductkey.com/wondershare-allmytube-crack/',\n 'https://realproductkeys.org/corel-draw-crack-crack/',\n 'https://realproductkeys.org/driverpack-solution-online-crack/',\n 'https://realproductkeys.org/psiphon-crack/',\n 'https://crackproductkey.com/daemon-tools-lite-crack/',\n 'https://realproductkeys.org/vmware-workstation-pro-crack/',\n 'https://crackproductkey.com/vsdc-free-video-editor-crack/',\n 'https://crackproductkey.com/minitool-partition-wizard-crack/',\n 'https://crackproductkey.com/keyshot-pro-crack/',\n 'https://realproductkeys.org/korg-pa-manager-crack/',\n 'https://realproductkeys.org/spyhunter-5-crack/',\n 'https://crackproductkey.com/global-mapper-crack/',\n 'https://realproductkeys.org/nitro-pro-crack/',\n 'https://realproductkeys.org/xshell-free-build-crack/',\n 'https://realproductkeys.org/unity-crack/',\n 'https://crackproductkey.com/wtfast-crack/',\n 'https://realproductkeys.org/advanced-system-repair-pro-crack/',\n 'https://realproductkeys.org/wondershare-recoverit-crack/',\n 'https://realproductkeys.org/home-designer-pro-crack/',\n 'https://realproductkeys.org/total-av-antivirus-crack/',\n 'https://realproductkeys.org/cardrecovery-key-crack/',\n 'https://crackproductkey.com/teamviewer-crack/',\n 'https://crackproductkey.com/internet-download-manager-crack/',\n 'https://crackproductkey.com/obs-studio-crack/',\n 'https://crackproductkey.com/autodesk-autocad-electrical-crack/',\n 'https://realproductkeys.org/wondershare-mobiletrans-crack/',\n 'https://realproductkeys.org/snapgene-crack/',\n 'https://realproductkeys.org/freemake-video-converter-crack-2/',\n 'https://crackproductkey.com/wondershare-mobiletrans-crack/',\n 'https://crackproductkey.com/xftp-free-build-crack/',\n 'https://crackproductkey.com/windows-repair-crack/',\n 'https://crackproductkey.com/sublime-text-crack/',\n 'https://crackproductkey.com/global-mapper-crack-2/',\n 'https://crackproductkey.com/4k-video-downloader-crack/',\n 'https://crackproductkey.com/camtasia-studio-crack/',\n 'https://www.youtube.com/watch?v=5nzlLCzDyDk&feature=youtu.be',\n 'https://www.youtube.com/watch?v=Y-7FD-GJJYI&feature=youtu.be',\n 'https://www.youtube.com/watch?v=kK3fP_aplTs&feature=youtu.be',\n 'https://www.youtube.com/watch?v=pujkEsgDLlg&feature=youtu.be',\n 'https://www.youtube.com/watch?v=oKWAsA_DNtY&feature=youtu.be',\n 'https://www.youtube.com/watch?v=aN7Hw5ULo9M&feature=youtu.be',\n 'https://www.youtube.com/watch?v=40NLMUxpHMM&feature=youtu.be',\n 'https://www.youtube.com/watch?v=xjwyGOM4ARg&feature=youtu.be',\n 'https://www.youtube.com/watch?v=qC--HO4XlU8&feature=youtu.be',\n 'https://www.youtube.com/watch?v=ev3VKjGClMw&feature=youtu.be',\n 'https://www.youtube.com/watch?v=ul6NOuog3Bk&feature=youtu.be',\n 'https://www.youtube.com/watch?v=e5ox7ZCzyHA&feature=youtu.be',\n 'https://www.youtube.com/watch?v=BTBPe6DUaCM&feature=youtu.be',\n 'https://www.youtube.com/watch?v=89qcBCDgbgk&feature=youtu.be',\n 'https://www.youtube.com/watch?v=TMwwf4v-Upw&feature=youtu.be',\n 'https://www.youtube.com/watch?v=SEzGAu-Dp1Q&feature=youtu.be',\n 'https://www.youtube.com/watch?v=pHi6zgIAPMY&feature=youtu.be',\n 'https://www.youtube.com/watch?v=VgivuBASIcw&feature=youtu.be',\n 'https://www.youtube.com/watch?v=FnWPY7Nra7w&feature=youtu.be',\n 'https://www.youtube.com/watch?v=X2UB1sZtJ2Q&feature=youtu.be',\n 'https://www.youtube.com/watch?v=BEG3uwcdzCw&feature=youtu.be',\n 'https://www.youtube.com/watch?v=KQrezACvYNQ&feature=youtu.be',\n 'https://www.youtube.com/watch?v=E3eOiE1KIHE&feature=youtu.be',\n 'https://www.youtube.com/watch?v=rmA0cyC1FuI&feature=youtu.be',\n 'https://www.youtube.com/watch?v=Oj1lpb8UA7w&feature=youtu.be',\n 'https://www.youtube.com/watch?v=cncjSOt0S-k&feature=youtu.be',\n 'https://www.youtube.com/watch?v=zmxHuTdacBg&feature=youtu.be',\n 'https://www.youtube.com/watch?v=i-KsSbotZ80&feature=youtu.be',\n 'https://www.youtube.com/watch?v=wOaaQzBuu3A&feature=youtu.be',\n 'https://www.youtube.com/watch?v=8iEeDHwiNwE&feature=youtu.be',\n 'https://www.youtube.com/watch?v=d0Wntq1oWhM&feature=youtu.be',\n 'https://www.youtube.com/watch?v=amsKpLeuxWA&feature=youtu.be',\n 'https://www.youtube.com/watch?v=At9TLC6-d7c&feature=youtu.be',\n 'https://www.youtube.com/watch?v=iTiu7XXY20c&feature=youtu.be',\n 'https://www.youtube.com/watch?v=89f-zHazpOY&feature=youtu.be',\n 'https://www.youtube.com/watch?v=oQRpFC1rSjI&feature=youtu.be',\n 'https://www.youtube.com/watch?v=JCCQqP1B8fI&feature=youtu.be',\n 'https://www.youtube.com/watch?v=BSl2GxuN5Ew&feature=youtu.be']" - ] - }, - "execution_count": 80, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "[v['final_url'] for k, v in resp_urls.items()]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.6.5" - } - }, - "nbformat": 4, - "nbformat_minor": 1 -} diff --git a/utils/url_unshortener_profile.ipynb b/utils/url_unshortener_profile.ipynb deleted file mode 100644 index a0ea0fa..0000000 --- a/utils/url_unshortener_profile.ipynb +++ /dev/null @@ -1,226 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Getting 10,000 urls from DMCA-COX\n", - "- ssh -N dmca@cox.media.mit.edu -L 3310:cox.media.mit.edu:3306\n", - "```\n", - "# import pandas as pd\n", - "# from sqlalchemy import create_engine\n", - "# constr= 'mysql://civilservant@localhost:3310/civilservant_production'\n", - "# con = create_engine(constr)\n", - "# con.execute('show tables;').fetchall()\n", - "```" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": true - }, - "outputs": [ - { - "data": { - "text/plain": [ - "(2761, 10000)" - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from utils.common import DbEngine\n", - "import os\n", - "import inspect\n", - "from app.models import TwitterStatus\n", - "import json\n", - "from sqlalchemy.sql.expression import func as sqlfunc\n", - "from functools import reduce\n", - "from url_unshortener import bulkUnshorten\n", - "\n", - "BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), \"..\")\n", - "ENV = 'development'\n", - "db_session = DbEngine(os.path.join(BASE_DIR, \"config\") + \"/{env}.json\".format(env=ENV)).new_session()\n", - "\n", - "STATUSES_TO_GET = 10000\n", - "json_fname = f'../tests/fixture_data/twitter_statuses_{STATUSES_TO_GET}.json'\n", - "try:\n", - " status_urls_flat = json.load(open(json_fname,'r'))\n", - "except FileNotFoundError:\n", - " def get_url_part(status):\n", - " try:\n", - " status_data = json.loads(status.status_data)\n", - " return status_data['entities']['urls']\n", - " except TypeError:\n", - " # print(status.id)\n", - " return []\n", - " \n", - " statuses = db_session.query(TwitterStatus).order_by(sqlfunc.rand()).limit(STATUSES_TO_GET).all()\n", - " assert len(statuses) == STATUSES_TO_GET\n", - " \n", - " status_urls = [get_url_part(status) for status in statuses]\n", - " \n", - " status_urls_flat = []\n", - " for status_url in status_urls:\n", - " for url_dict in status_url:\n", - " # print(url_dict)\n", - " status_urls_flat.append(url_dict['url'])\n", - " json.dump(status_urls_flat, open(json_fname,'w'))\n", - "\n", - "status_urls_flat[:5]\n", - "## proportion of statuses having urls\n", - "len(status_urls_flat), STATUSES_TO_GET" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "%timeit -r 1 -n 1 bulkUnshorten(status_urls_flat[:10])\n" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "8.96 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n" - ] - } - ], - "source": [ - "%timeit -r 1 -n 1 bulkUnshorten(status_urls_flat[:100])" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": { - "collapsed": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "1min 33s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n" - ] - } - ], - "source": [ - "%timeit -r 1 -n 1 bulkUnshorten(status_urls_flat[:1000])" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2min 21s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n" - ] - } - ], - "source": [ - "%timeit -r 1 -n 1 bulkUnshorten(status_urls_flat[:10000])" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "473243" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "db_session.query(TwitterStatus).count()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "270.0" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "total_tweets = 38000000\n", - "tweet_url_prop = 0.27\n", - "urls_per_second = 10 \n", - "urls_per_minute = 650\n", - "urls_per_hour = 38000\n", - "\n", - "total_tweets * tweet_url_prop / urls_per_hour" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.6.5" - } - }, - "nbformat": 4, - "nbformat_minor": 1 -} From 1ba57d962d48d4c5f0916d476eaeebf53ba1e117 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Fri, 20 Mar 2020 14:56:52 -0700 Subject: [PATCH 177/221] first version of comparison onboarder --- ..._add_twitteruser_column_for_comparison_.py | 71 + app/controller.py | 21 + app/controllers/twitter_controller.py | 195 +- app/models.py | 17 +- utils/common.py | 6 + ...l_unshortener bit.ly tiny.url tester.ipynb | 1310 --------- .../url_unshortener_frequency_count.ipynb | 146 - .../url_unshortener_prod_investigator.ipynb | 2417 ----------------- utils/ipynb/url_unshortener_profile.ipynb | 226 -- ...nshortener_verify_unshorten_complete.ipynb | 817 ------ 10 files changed, 263 insertions(+), 4963 deletions(-) create mode 100644 alembic/versions/8694114d18e2_add_twitteruser_column_for_comparison_.py delete mode 100644 utils/ipynb/url_unshortener bit.ly tiny.url tester.ipynb delete mode 100644 utils/ipynb/url_unshortener_frequency_count.ipynb delete mode 100644 utils/ipynb/url_unshortener_prod_investigator.ipynb delete mode 100644 utils/ipynb/url_unshortener_profile.ipynb delete mode 100644 utils/ipynb/url_unshortener_verify_unshorten_complete.ipynb diff --git a/alembic/versions/8694114d18e2_add_twitteruser_column_for_comparison_.py b/alembic/versions/8694114d18e2_add_twitteruser_column_for_comparison_.py new file mode 100644 index 0000000..a31abdf --- /dev/null +++ b/alembic/versions/8694114d18e2_add_twitteruser_column_for_comparison_.py @@ -0,0 +1,71 @@ +"""add twitteruser column for comparison group + +Revision ID: 8694114d18e2 +Revises: 80bd0e8a9b03 +Create Date: 2020-03-19 16:00:14.187029 + +""" + +# revision identifiers, used by Alembic. +revision = '8694114d18e2' +down_revision = '80bd0e8a9b03' +branch_labels = None +depends_on = None + +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import mysql + +def upgrade(engine_name): + globals()["upgrade_%s" % engine_name]() + + +def downgrade(engine_name): + globals()["downgrade_%s" % engine_name]() + + +def upgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + op.add_column('twitter_users', sa.Column('created_type', sa.Integer(), nullable=True)) + op.add_column('twitter_users', sa.Column('last_status_dt', sa.DateTime(), nullable=True)) + op.add_column('twitter_users', sa.Column('metadata_json', mysql.MEDIUMTEXT(), nullable=True)) + # ### end Alembic commands ### + + +def downgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_column('twitter_users', 'metadata_json') + op.drop_column('twitter_users', 'last_status_dt') + op.drop_column('twitter_users', 'created_type') + # ### end Alembic commands ### + +def upgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.add_column('twitter_users', sa.Column('created_type', sa.Integer(), nullable=True)) + op.add_column('twitter_users', sa.Column('last_status_dt', sa.DateTime(), nullable=True)) + op.add_column('twitter_users', sa.Column('metadata_json', mysql.MEDIUMTEXT(), nullable=True)) + # ### end Alembic commands ### + + +def downgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_column('twitter_users', 'metadata_json') + op.drop_column('twitter_users', 'last_status_dt') + op.drop_column('twitter_users', 'created_type') + # ### end Alembic commands ### + +def upgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.add_column('twitter_users', sa.Column('created_type', sa.Integer(), nullable=True)) + op.add_column('twitter_users', sa.Column('last_status_dt', sa.DateTime(), nullable=True)) + op.add_column('twitter_users', sa.Column('metadata_json', mysql.MEDIUMTEXT(), nullable=True)) + # ### end Alembic commands ### + + +def downgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_column('twitter_users', 'metadata_json') + op.drop_column('twitter_users', 'last_status_dt') + op.drop_column('twitter_users', 'created_type') + # ### end Alembic commands ### + diff --git a/app/controller.py b/app/controller.py index cbce74e..1e82922 100644 --- a/app/controller.py +++ b/app/controller.py @@ -219,6 +219,27 @@ def fetch_twitter_tweets(backfill=False, collection_seconds=None, user_rand_frac log.info("Finished fetch_twitter_tweets, backfill={0}. PID={1}".format(backfill, str(os.getpid()))) +def twitter_generate_random_id_users(daily_limit=500000): + """ + Create users for comparison making sure + """ + log.info("Starting to generate users from random IDs, PID={0}".format( str(os.getpid()))) + t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) + t.generate_random_id_users(daily_limit=daily_limit) + twitter_conn.checkin_endpoint() + log.info("Finished generating users from random IDs, PID={0}".format( str(os.getpid()))) + + +def match_comparison_group(): + """ + Match dmca-receiving and randomly generated users. + """ + log.info("Starting to match comparison group, PID={0}".format( str(os.getpid()))) + t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) + t.match_lumen_and_random_id_users() + twitter_conn.checkin_endpoint() + log.info("Finished matching comparison group, PID={0}".format( str(os.getpid()))) + def unshorten_twitter_urls(): """ unshorten all the twitter statuses urls diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 95c8dfe..e7330e6 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -1,18 +1,22 @@ import math import random -from operator import eq +from operator import eq, ne import redis import twitter import simplejson as json import datetime + +from twitter import TwitterError + from app.models import Base, TwitterUser, TwitterStatus, LumenNoticeToTwitterUser, TwitterUserSnapshot, TwitterFill, \ TwitterUnshortenedUrls, TwitterStatusUrls import requests import sqlalchemy from sqlalchemy import and_, or_, func, distinct import utils.common -from utils.common import TwitterUserState, NOT_FOUND_TWITTER_USER_STR, CS_JobState, neq, EXPERIMENT_LANGUAGES, TwitterUrlKey +from utils.common import TwitterUserState, NOT_FOUND_TWITTER_USER_STR, CS_JobState, neq, EXPERIMENT_LANGUAGES, \ + TwitterUrlKey import sys, warnings, os from collections import defaultdict @@ -615,12 +619,17 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, collect batch_attempt_counter = 0 while not all_filled: fill_query = self.db_session.query(TwitterUser). \ - filter(and_( - eq(TwitterUser.CS_oldest_tweets_archived, target_JobState.value), # back or front - TwitterUser.lang.in_(EXPERIMENT_LANGUAGES), # correct language - or_(eq(TwitterUser.last_attempted_process, None), TwitterUser.last_attempted_process < fill_start_time).self_group(), # or never been attempted yet - collection_condition, - user_rand_condition)). \ + filter( + and_( + eq(TwitterUser.CS_oldest_tweets_archived, target_JobState.value), # back or front + TwitterUser.lang.in_(EXPERIMENT_LANGUAGES), # correct language + or_(eq(TwitterUser.last_attempted_process, None), + TwitterUser.last_attempted_process < fill_start_time).self_group(), + # or never been attempted yet + collection_condition, + user_rand_condition), + ne(TwitterUser.user_state, utils.common.TwitterUserState.NOT_FOUND) + ). \ order_by(order_strat). \ with_for_update(skip_locked=True). \ limit(batch_size) @@ -646,7 +655,8 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, collect # try to archive the users tweets try: self.with_user_records_archive_tweets(unarchived_users, backfill=backfill, is_test=is_test, - test_exception=test_exception, fill_start_time=fill_start_time) # backfill hacky + test_exception=test_exception, + fill_start_time=fill_start_time) # backfill hacky # TODO if the user has become invalid then mark this except sqlalchemy.orm.exc.DetachedInstanceError: self.log.error("Encountered deatched instance error.") @@ -656,7 +666,7 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, collect utils.common.reset_CS_JobState_In_Progress(unarchived_users, "CS_oldest_tweets_archived", self.db_session, self.log) # if still marked IN_PROGRESS (e.g. because of - # unchecked exception), reset it to NOT_PROCESSED + # unchecked exception), reset it to NOT_PROCESSED self.db_session.close() self.log.info( @@ -668,9 +678,8 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, collect batch_attempt_counter += 1 - def with_user_records_archive_tweets(self, user_records, backfill=False, is_test=False, test_exception=False, - fill_start_time=None): + fill_start_time=None): """ user_records: list of TwitterUser records @@ -870,7 +879,6 @@ def archive_user_tweets(self, user, backfill=False, is_test=False): job_state = CS_JobState.PROCESSED return job_state - def unshorten_urls(self, unshorten_batch_size=1000, idempotent=True): # iterate over twitter_status_urls converting expanded urls to unshortened urls # get the max and minimum status ids @@ -884,10 +892,10 @@ def unshorten_urls(self, unshorten_batch_size=1000, idempotent=True): self.log.info('status_url_id_min is {status_url_id_min}'.format(status_url_id_min=status_url_id_min)) self.log.info('status_url_id_cnt is {status_url_id_cnt}'.format(status_url_id_cnt=status_url_id_cnt)) - num_batches = math.ceil((status_url_id_max-status_url_id_min)/unshorten_batch_size) + num_batches = math.ceil((status_url_id_max - status_url_id_min) / unshorten_batch_size) for batch_i in range(num_batches): start_id = status_url_id_min + (batch_i * unshorten_batch_size) - end_id = status_url_id_min + ((batch_i+1) * unshorten_batch_size) + end_id = status_url_id_min + ((batch_i + 1) * unshorten_batch_size) self.log.debug('working on status url ids {start_id} --- {end_id}'.format(start_id=start_id, end_id=end_id)) batch_status_urls_a = self.db_session.query(TwitterStatusUrls) \ .filter(and_(TwitterStatusUrls.id >= start_id, TwitterStatusUrls.id < end_id)).all() @@ -899,7 +907,8 @@ def unshorten_urls(self, unshorten_batch_size=1000, idempotent=True): batch_status_urls = batch_status_urls_a self.log.info('Working on batch:{batch_i} {len_batch_status_urls} status urls'.format(batch_i=batch_i, - len_batch_status_urls=len(batch_status_urls))) + len_batch_status_urls=len( + batch_status_urls))) urls_to_unshorten = [su.expanded_url for su in batch_status_urls] if urls_to_unshorten: @@ -908,10 +917,10 @@ def unshorten_urls(self, unshorten_batch_size=1000, idempotent=True): warnings.simplefilter("ignore") unshort_results = bulkUnshorten(urls_to_unshorten) - #stich these back up + # stich these back up for unshort_res in unshort_results: # find the db objects associated - matching_sus = [su for su in batch_status_urls if unshort_res['original_url']==su.expanded_url] + matching_sus = [su for su in batch_status_urls if unshort_res['original_url'] == su.expanded_url] for matching_su in matching_sus: matching_su.unshortened_url = unshort_res['final_url'] matching_su.error_unshortening = unshort_res['error'] if not unshort_res['success'] else None @@ -919,7 +928,6 @@ def unshorten_urls(self, unshorten_batch_size=1000, idempotent=True): self.db_session.add_all(batch_status_urls) self.db_session.commit() - def output_unshorten_urls(self): # deprecated based on new way unshortening is happening r = redis.Redis() @@ -928,11 +936,11 @@ def output_unshorten_urls(self): status_user_ids = [user_tup[0] for user_tup in status_users_res if user_tup[0]] for i, status_user_id in enumerate(status_user_ids): - self.log.info('Unshortening URLS for user id {0}. {1} of {2}'.format(status_user_id, i, len(status_user_ids))) - user_statuses = self.db_session.query(TwitterStatus).filter(TwitterStatus.user_id==status_user_id).all() + self.log.info( + 'Unshortening URLS for user id {0}. {1} of {2}'.format(status_user_id, i, len(status_user_ids))) + user_statuses = self.db_session.query(TwitterStatus).filter(TwitterStatus.user_id == status_user_id).all() status_urls_flat = [] - def extract_urls(self, twitter_uid=None): if twitter_uid is None: @@ -945,7 +953,7 @@ def extract_urls(self, twitter_uid=None): self.log.info('Extracting URLS for user id {0}. {1} of {2}'.format(status_user_id, i, len(status_user_ids))) # get all user's tweets - user_statuses = self.db_session.query(TwitterStatus).filter(TwitterStatus.user_id==status_user_id).all() + user_statuses = self.db_session.query(TwitterStatus).filter(TwitterStatus.user_id == status_user_id).all() for user_status in user_statuses: status_data = json.loads(user_status.status_data) @@ -953,7 +961,6 @@ def extract_urls(self, twitter_uid=None): self.db_session.add_all(url_rows) self.db_session.commit() - # returns list of TwitterStatusUrls def extract_urls_from_status_data(self, status_id, status_data, default_key): url_rows = [] @@ -964,13 +971,13 @@ def extract_urls_from_status_data(self, status_id, status_data, default_key): for url in urls: url_row = TwitterStatusUrls( - twitter_status_id = status_id, - status_data_key = key.value, - raw_url = url['url'] if 'url' in url else None, - expanded_url = url['expanded_url'] if 'expanded_url' in url else None, - unwound_url = url['unwound']['url'] if 'unwound' in url and 'url' in data['unwound'] else None) + twitter_status_id=status_id, + status_data_key=key.value, + raw_url=url['url'] if 'url' in url else None, + expanded_url=url['expanded_url'] if 'expanded_url' in url else None, + unwound_url=url['unwound']['url'] if 'unwound' in url and 'url' in data['unwound'] else None) - #self.log.info('...status id {0}: got url={1}; total={2}'.format(status_id, url['url'], len(url_rows)+1)) + # self.log.info('...status id {0}: got url={1}; total={2}'.format(status_id, url['url'], len(url_rows)+1)) url_rows.append(url_row) if 'extended_entities' in status_data and 'media' in status_data['extended_entities']: @@ -983,25 +990,133 @@ def extract_urls_from_status_data(self, status_id, status_data, default_key): for media in urls: url_row = TwitterStatusUrls( - twitter_status_id = status_id, - status_data_key = key.value, - raw_url = media['url'] if 'url' in media else None, - expanded_url = media['expanded_url'] if 'expanded_url' in media else None, - unwound_url = media['unwound']['url'] if 'unwound' in media and 'url' in media['unwound'] else None) + twitter_status_id=status_id, + status_data_key=key.value, + raw_url=media['url'] if 'url' in media else None, + expanded_url=media['expanded_url'] if 'expanded_url' in media else None, + unwound_url=media['unwound']['url'] if 'unwound' in media and 'url' in media['unwound'] else None) - #self.log.info('...user id {0}: got url; total={1}'.format(status_id, len(url_rows)+1)) + # self.log.info('...user id {0}: got url; total={1}'.format(status_id, len(url_rows)+1)) url_rows.append(url_row) if 'retweeted_status' in status_data: retweeted_url_rows = self.extract_urls_from_status_data(status_id, - status_data['retweeted_status'], - TwitterUrlKey.RETWEETED_ENTITY) + status_data['retweeted_status'], + TwitterUrlKey.RETWEETED_ENTITY) url_rows += retweeted_url_rows if 'quoted_status' in status_data: quoted_url_rows = self.extract_urls_from_status_data(status_id, - status_data['quoted_status'], - TwitterUrlKey.QUOTED_ENTITY) + status_data['quoted_status'], + TwitterUrlKey.QUOTED_ENTITY) url_rows += quoted_url_rows return url_rows + + def make_random_integers(self): + # valid ranges are in beginning,end tups + VALID_RANGES = ((10008932, 3308208032), + (695135704930783232, 1095781403323707393)) + + random_user_ids = [] + for i in range(100): + rand_range_i = random.randrange(0, len(VALID_RANGES)) + # print(rand_range_i) + rand_range_low, rand_range_high = VALID_RANGES[rand_range_i] + + rand_user_int = random.randrange(rand_range_low, rand_range_high) + random_user_ids.append(rand_user_int) + random_user_ids = list(set(random_user_ids)) # to make sure we aren't sending duplicates to the API + return random_user_ids + + def save_random_id_users(self, random_users_dict): + """ + there should be a user id for every user that was guessed, if they existed they have a non-None user-detail dict. + :param random_users_dict: + :return: + """ + twitter_users_to_add = [] + for user_id, user_details in random_users_dict.items(): + user_state = utils.common.TwitterUserState.FOUND.value \ + if user_details else utils.common.TwitterUserState.NOT_FOUND.value + not_found_id = None if user_details else '{0}_{1}'.format(utils.common.NOT_FOUND_TWITTER_USER_STR, user_id) + screen_name = user_details.screen_name if user_details else None + created_at = datetime.datetime.strptime(user_details.created_at, utils.common.TWITTER_STRPTIME) \ + if user_details else None + lang = user_details.lang if user_details else None + last_status_dt = datetime.datetime.strptime(user_details.status.created_at, utils.common.TWITTER_STRPTIME) \ + if user_details and hasattr(user_details.status, 'created_at') \ + else None + metadata_json = user_details._json if user_details else None + rand_twitter_user = dict( + id=user_id, + not_found_id=not_found_id, + user_state=user_state, + screen_name=screen_name, + created_at=created_at, + lang=lang, + last_status_dt=last_status_dt, + metadata_json=metadata_json, + created_type=utils.common.TwitterUserCreateType.RANDOMLY_GENERATED.value, + CS_oldest_tweets_archived=utils.common.CS_JobState.NOT_PROCESSED.value + ) + twitter_users_to_add.append(rand_twitter_user) + + try: + with warnings.catch_warnings(): + warnings.filterwarnings("ignore", r"\(1062, \"Duplicate entry") + self.db_session.execute(TwitterUser.__table__.insert().prefix_with("IGNORE"), twitter_users_to_add) + self.db_session.commit() + except sqlalchemy.exc.SQLAlchemyError: + self.log.error("Error while saving random id twitter users for user ids: {}.".format( + [u['id'] for u in twitter_users_to_add]), exc_info=True) + + return len(twitter_users_to_add) + + def num_random_id_generated_so_far_today(self): + now = datetime.datetime.utcnow() + yesterday = now - datetime.timedelta(days=1) + today_guessed_q = self.db_session.query(TwitterUser).filter( + TwitterUser.created_type == utils.common.TwitterUserCreateType.RANDOMLY_GENERATED). \ + filter(TwitterUser.record_created_at > yesterday) + num_guessed_today = today_guessed_q.count() + return num_guessed_today + + def generate_random_id_users(self, daily_limit=500000): + ''' + https://github.com/SMAPPNYU/smapputil/blob/master/py/query_twitter/old_queries/generate_random_twitter_potential_ids.py + from twitter : These IDs are unique 64-bit unsigned integers, which are based on time, instead of being sequential. The full ID is composed of a timestamp, a worker number, and a sequence number. When consuming the API using JSON, it is important to always use the field id_str instead of id. + https://developer.twitter.com/en/docs/basics/twitter-ids + Use a bloom filter to know what IDs have already been tried. + Don't create more than daily limit number of users. + ''' + # Get the number guessed today. + if self.num_random_id_generated_so_far_today() >= daily_limit: + return 0 # zero made in this batch + + random_user_ids = self.make_random_integers() + # TODO use a bloom filter here + # Get the IDs of those already guessed or Lumen-onboarded + try: + users_lookup_result = self.t.query(self.t.api.UsersLookup, user_id=random_user_ids) + except TwitterError as e: + if e.message[0]['code'] in (50, 63): + pass + else: + raise e + random_users_dict = {ruid: None for ruid in random_user_ids} + for random_exist_user in users_lookup_result: + random_users_dict[random_exist_user.id] = random_exist_user + + num_generated = self.save_random_id_users(random_users_dict) + self.log.info("Persisted {num_generated} random ID users. {num_exist} actually existed.".format( + num_generated=num_generated, + num_exist=len(users_lookup_result))) + return num_generated + + def match_lumen_and_random_id_users(self, batch_size=100): + """Select all the twitter_users that are not part of a matched pair and pair them. + matching criteria should be day added + if matches can't be made, report that, but don't error.""" + num_matched = 0 + return num_matched diff --git a/app/models.py b/app/models.py index 03b639b..2dd3ae3 100644 --- a/app/models.py +++ b/app/models.py @@ -243,11 +243,14 @@ class TwitterUser(Base): screen_name = Column(String(256), index = True) # if not found, # if not found, NOT_FOUND_TWITTER_USER_STR created_at = Column(DateTime) record_created_at = Column(DateTime, default=datetime.datetime.utcnow) + created_type = Column(Integer, default=1) lang = Column(String(32)) user_state = Column(Integer) # utils/common.py CS_oldest_tweets_archived = Column(Integer, default=1) # see CS_JobState Enum last_attempted_process = Column(DateTime, default=datetime.datetime.utcnow) + last_status_dt = Column(DateTime, default=None) user_rand = Column(Float, default=random.random) # a random number created for each new user. + metadata_json = Column(MEDIUMTEXT) class TwitterUserSnapshot(Base): __tablename__ = 'twitter_user_snapshots' @@ -280,15 +283,15 @@ class TwitterStatusUrls(Base): __tablename__ = 'twitter_status_urls' id = Column(BigInteger, primary_key = True) twitter_status_id = Column(BigInteger, index = True) - status_data_key = Column(Integer) # enum TwitterUrlKey - raw_url = Column(TEXT) - expanded_url = Column(TEXT) + status_data_key = Column(Integer) # enum TwitterUrlKey + raw_url = Column(TEXT) + expanded_url = Column(TEXT) unwound_url = Column(TEXT) - needs_unshorten = Column(Boolean(), default = False) - unshortened_url = Column(TEXT) - error_unshortening = Column(TINYTEXT) + needs_unshorten = Column(Boolean(), default = False) + unshortened_url = Column(TEXT) + error_unshortening = Column(TINYTEXT) tld_text = Column(TEXT) - record_created_at = Column(DateTime, default=datetime.datetime.utcnow, index=True) # need this index for fast counting + record_created_at = Column(DateTime, default=datetime.datetime.utcnow, index=True) # need this index for fast counting class TwitterTlds(Base): __tablename__ = 'twitter_tlds' diff --git a/utils/common.py b/utils/common.py index 1f3346b..0b0d9e8 100644 --- a/utils/common.py +++ b/utils/common.py @@ -9,6 +9,8 @@ EXPERIMENT_LANGUAGES = ['en', 'en-gb', 'en-GB'] +TWITTER_STRPTIME = '%a %b %d %H:%M:%S %z %Y' + class PageType(Enum): TOP = 1 CONTR = 2 # controversial @@ -29,6 +31,10 @@ class TwitterUserState(Enum): SUSPENDED = 3 PROTECTED = 4 +class TwitterUserCreateType(Enum): + LUMEN_NOTICE = 1 + RANDOMLY_GENERATED = 2 + # for model fields CS_* class CS_JobState(Enum): NOT_PROCESSED = 1 # haven't run yet; need to run diff --git a/utils/ipynb/url_unshortener bit.ly tiny.url tester.ipynb b/utils/ipynb/url_unshortener bit.ly tiny.url tester.ipynb deleted file mode 100644 index 13af5ab..0000000 --- a/utils/ipynb/url_unshortener bit.ly tiny.url tester.ipynb +++ /dev/null @@ -1,1310 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Logging to /home/paprika/workspace/CivilServant-twitter/utils/../logs/CivilServant_development.log\n" - ] - } - ], - "source": [ - "from url_unshortener import bulkUnshorten, bulkUnshortenLegacy\n", - "import pandas as pd\n", - "short_urls = ['http://bit.ly/f3xedD']\n", - "short_urls = ['http://bit.ly/AStarIsBornTickets', 'https://bit.ly/2lxnMPF', 'http://bit.ly/7POEiT5m', 'http://bit.ly/1L6Vn2e', 'https://bit.ly/2CoVkwIv', 'http://bit.ly/2SEa4ia', 'https://bit.ly/2T6Ri3vSorrentino', 'http://bit.ly/2EXJdur', 'http://bit.ly/KiSS925Player', 'http://bit.ly/2Muqvut']\n", - "short_urls_t = ['https://t.co/YnIMB743o2', 'https://t.co/Q01sW8PKes', 'https://t.co/KCvxyp5TfU', 'https://t.co/7JhHmDTBsN', 'https://t.co/iXuw5ompWq', 'https://t.co/eeilzwj2Mg', 'https://t.co/TCeDK4TTyR', 'https://t.co/Of14xVLiXC', 'https://t.co/3DMwnqQZ6L', 'https://t.co/yTHxD9ZALR']\n", - "short_urls_dup = ['https://t.co/3DMwnqQZ6L', 'https://t.co/3DMwnqQZ6L']" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Bulk Unshorten called with 2 urls. Num workers specified: 20\n", - "Hops limit is 5 and request Timeout Seconds = 10\n", - "Starting URLS before unshortening are: {'https://t.co/3DMwnqQZ6L': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'https://t.co/3DMwnqQZ6L'}}\n", - "Bulk Unshorten 2 called with 2 urls. Num workers specified: 20\n", - "Hops limit is 5 and request Timeout Seconds = 10\n", - "Starting URLS before unshortening are: [{'original_url': 'https://t.co/3DMwnqQZ6L', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'https://t.co/3DMwnqQZ6L'}, {'original_url': 'https://t.co/3DMwnqQZ6L', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'https://t.co/3DMwnqQZ6L'}]\n" - ] - } - ], - "source": [ - "unshort_dup = bulkUnshortenLegacy(short_urls_dup)\n", - "unshort_dup_2 = bulkUnshorten(short_urls_dup)" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'https://t.co/3DMwnqQZ6L': {'hops': 3,\n", - " 'status_code': 200,\n", - " 'success': True,\n", - " 'final_url': 'http://player.kiss925.com/',\n", - " 'error': None,\n", - " 'original_url': 'https://t.co/3DMwnqQZ6L'}}" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "unshort_dup" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[{'original_url': 'https://t.co/3DMwnqQZ6L',\n", - " 'final_url': 'http://player.kiss925.com/',\n", - " 'hops': 3,\n", - " 'status_code': 200,\n", - " 'success': True,\n", - " 'error': None,\n", - " 'curr_url': 'http://player.kiss925.com/'},\n", - " {'original_url': 'https://t.co/3DMwnqQZ6L',\n", - " 'final_url': 'http://player.kiss925.com/',\n", - " 'hops': 3,\n", - " 'status_code': 200,\n", - " 'success': True,\n", - " 'error': None,\n", - " 'curr_url': 'http://player.kiss925.com/'}]" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "unshort_dup_2" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Bulk Unshorten called with 10 urls. Num workers specified: 20\n", - "Hops limit is 5 and request Timeout Seconds = 10\n", - "Starting URLS before unshortening are: {'http://bit.ly/AStarIsBornTickets': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'http://bit.ly/AStarIsBornTickets'}, 'https://bit.ly/2lxnMPF': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'https://bit.ly/2lxnMPF'}, 'http://bit.ly/7POEiT5m': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'http://bit.ly/7POEiT5m'}, 'http://bit.ly/1L6Vn2e': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'http://bit.ly/1L6Vn2e'}, 'https://bit.ly/2CoVkwIv': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'https://bit.ly/2CoVkwIv'}, 'http://bit.ly/2SEa4ia': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'http://bit.ly/2SEa4ia'}, 'https://bit.ly/2T6Ri3vSorrentino': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'https://bit.ly/2T6Ri3vSorrentino'}, 'http://bit.ly/2EXJdur': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'http://bit.ly/2EXJdur'}, 'http://bit.ly/KiSS925Player': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'http://bit.ly/KiSS925Player'}, 'http://bit.ly/2Muqvut': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'http://bit.ly/2Muqvut'}}\n", - "Bulk Unshorten called with 10 urls. Num workers specified: 20\n", - "Hops limit is 5 and request Timeout Seconds = 10\n", - "Starting URLS before unshortening are: {'https://t.co/YnIMB743o2': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'https://t.co/YnIMB743o2'}, 'https://t.co/Q01sW8PKes': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'https://t.co/Q01sW8PKes'}, 'https://t.co/KCvxyp5TfU': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'https://t.co/KCvxyp5TfU'}, 'https://t.co/7JhHmDTBsN': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'https://t.co/7JhHmDTBsN'}, 'https://t.co/iXuw5ompWq': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'https://t.co/iXuw5ompWq'}, 'https://t.co/eeilzwj2Mg': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'https://t.co/eeilzwj2Mg'}, 'https://t.co/TCeDK4TTyR': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'https://t.co/TCeDK4TTyR'}, 'https://t.co/Of14xVLiXC': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'https://t.co/Of14xVLiXC'}, 'https://t.co/3DMwnqQZ6L': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'https://t.co/3DMwnqQZ6L'}, 'https://t.co/yTHxD9ZALR': {'hops': 0, 'status_code': None, 'success': None, 'final_url': None, 'error': None, 'original_url': 'https://t.co/yTHxD9ZALR'}}\n", - "Bulk Unshorten 2 called with 10 urls. Num workers specified: 20\n", - "Hops limit is 5 and request Timeout Seconds = 10\n", - "Starting URLS before unshortening are: [{'original_url': 'http://bit.ly/AStarIsBornTickets', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'http://bit.ly/AStarIsBornTickets'}, {'original_url': 'https://bit.ly/2lxnMPF', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'https://bit.ly/2lxnMPF'}, {'original_url': 'http://bit.ly/7POEiT5m', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'http://bit.ly/7POEiT5m'}, {'original_url': 'http://bit.ly/1L6Vn2e', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'http://bit.ly/1L6Vn2e'}, {'original_url': 'https://bit.ly/2CoVkwIv', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'https://bit.ly/2CoVkwIv'}, {'original_url': 'http://bit.ly/2SEa4ia', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'http://bit.ly/2SEa4ia'}, {'original_url': 'https://bit.ly/2T6Ri3vSorrentino', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'https://bit.ly/2T6Ri3vSorrentino'}, {'original_url': 'http://bit.ly/2EXJdur', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'http://bit.ly/2EXJdur'}, {'original_url': 'http://bit.ly/KiSS925Player', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'http://bit.ly/KiSS925Player'}, {'original_url': 'http://bit.ly/2Muqvut', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'http://bit.ly/2Muqvut'}]\n", - "Bulk Unshorten 2 called with 10 urls. Num workers specified: 20\n", - "Hops limit is 5 and request Timeout Seconds = 10\n", - "Starting URLS before unshortening are: [{'original_url': 'https://t.co/YnIMB743o2', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'https://t.co/YnIMB743o2'}, {'original_url': 'https://t.co/Q01sW8PKes', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'https://t.co/Q01sW8PKes'}, {'original_url': 'https://t.co/KCvxyp5TfU', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'https://t.co/KCvxyp5TfU'}, {'original_url': 'https://t.co/7JhHmDTBsN', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'https://t.co/7JhHmDTBsN'}, {'original_url': 'https://t.co/iXuw5ompWq', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'https://t.co/iXuw5ompWq'}, {'original_url': 'https://t.co/eeilzwj2Mg', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'https://t.co/eeilzwj2Mg'}, {'original_url': 'https://t.co/TCeDK4TTyR', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'https://t.co/TCeDK4TTyR'}, {'original_url': 'https://t.co/Of14xVLiXC', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'https://t.co/Of14xVLiXC'}, {'original_url': 'https://t.co/3DMwnqQZ6L', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'https://t.co/3DMwnqQZ6L'}, {'original_url': 'https://t.co/yTHxD9ZALR', 'final_url': None, 'hops': 0, 'status_code': None, 'success': None, 'error': None, 'curr_url': 'https://t.co/yTHxD9ZALR'}]\n" - ] - } - ], - "source": [ - "unshort = bulkUnshortenLegacy(short_urls)\n", - "unshort_t = bulkUnshortenLegacy(short_urls_t)\n", - "unshort_2 = bulkUnshorten(short_urls)\n", - "unshort_t_2 = bulkUnshorten(short_urls_t)" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": {}, - "outputs": [], - "source": [ - "dfu2 = pd.DataFrame.from_records(unshort_2).set_index('original_url').sort_index()[['hops','status_code','success','final_url','error']]" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [], - "source": [ - "dfu = pd.DataFrame.from_dict(unshort,orient='index').set_index('original_url').sort_index()" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
hopsstatus_codesuccessfinal_urlerror
original_url
http://bit.ly/1L6Vn2eTrueTrueTrueTrueFalse
http://bit.ly/2EXJdurTrueTrueTrueTrueFalse
http://bit.ly/2MuqvutTrueTrueTrueTrueFalse
http://bit.ly/2SEa4iaTrueTrueTrueTrueFalse
http://bit.ly/7POEiT5mTrueTrueTrueFalseFalse
http://bit.ly/AStarIsBornTicketsTrueTrueTrueTrueFalse
http://bit.ly/KiSS925PlayerTrueTrueTrueTrueFalse
https://bit.ly/2CoVkwIvTrueTrueTrueFalseFalse
https://bit.ly/2T6Ri3vSorrentinoTrueTrueTrueFalseFalse
https://bit.ly/2lxnMPFTrueTrueTrueFalseFalse
\n", - "
" - ], - "text/plain": [ - " hops status_code success final_url error\n", - "original_url \n", - "http://bit.ly/1L6Vn2e True True True True False\n", - "http://bit.ly/2EXJdur True True True True False\n", - "http://bit.ly/2Muqvut True True True True False\n", - "http://bit.ly/2SEa4ia True True True True False\n", - "http://bit.ly/7POEiT5m True True True False False\n", - "http://bit.ly/AStarIsBornTickets True True True True False\n", - "http://bit.ly/KiSS925Player True True True True False\n", - "https://bit.ly/2CoVkwIv True True True False False\n", - "https://bit.ly/2T6Ri3vSorrentino True True True False False\n", - "https://bit.ly/2lxnMPF True True True False False" - ] - }, - "execution_count": 24, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "dfu == dfu2" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
hopsstatus_codesuccessfinal_urlerror
original_url
http://bit.ly/1L6Vn2e1404Falsehttp://www.lonestarconference.org/news/2016/3/...None
http://bit.ly/2EXJdur1200Truehttps://www.90min.com/posts/6259374-ole-gunnar...None
http://bit.ly/2Muqvut1404Falsehttp://trigreview.com/sports/today-live-match/None
http://bit.ly/2SEa4ia1200Truehttp://cfile1.uf.tistory.com/image/99E21C4C5C3...None
http://bit.ly/7POEiT5m0404FalseNoneNone
http://bit.ly/AStarIsBornTickets1200Truehttps://www.fandango.com/a-star-is-born-2018-2...None
http://bit.ly/KiSS925Player2200Truehttp://player.kiss925.com/None
https://bit.ly/2CoVkwIv0404FalseNoneNone
https://bit.ly/2T6Ri3vSorrentino0404FalseNoneNone
https://bit.ly/2lxnMPF0404FalseNoneNone
\n", - "
" - ], - "text/plain": [ - " hops status_code success \\\n", - "original_url \n", - "http://bit.ly/1L6Vn2e 1 404 False \n", - "http://bit.ly/2EXJdur 1 200 True \n", - "http://bit.ly/2Muqvut 1 404 False \n", - "http://bit.ly/2SEa4ia 1 200 True \n", - "http://bit.ly/7POEiT5m 0 404 False \n", - "http://bit.ly/AStarIsBornTickets 1 200 True \n", - "http://bit.ly/KiSS925Player 2 200 True \n", - "https://bit.ly/2CoVkwIv 0 404 False \n", - "https://bit.ly/2T6Ri3vSorrentino 0 404 False \n", - "https://bit.ly/2lxnMPF 0 404 False \n", - "\n", - " final_url \\\n", - "original_url \n", - "http://bit.ly/1L6Vn2e http://www.lonestarconference.org/news/2016/3/... \n", - "http://bit.ly/2EXJdur https://www.90min.com/posts/6259374-ole-gunnar... \n", - "http://bit.ly/2Muqvut http://trigreview.com/sports/today-live-match/ \n", - "http://bit.ly/2SEa4ia http://cfile1.uf.tistory.com/image/99E21C4C5C3... \n", - "http://bit.ly/7POEiT5m None \n", - "http://bit.ly/AStarIsBornTickets https://www.fandango.com/a-star-is-born-2018-2... \n", - "http://bit.ly/KiSS925Player http://player.kiss925.com/ \n", - "https://bit.ly/2CoVkwIv None \n", - "https://bit.ly/2T6Ri3vSorrentino None \n", - "https://bit.ly/2lxnMPF None \n", - "\n", - " error \n", - "original_url \n", - "http://bit.ly/1L6Vn2e None \n", - "http://bit.ly/2EXJdur None \n", - "http://bit.ly/2Muqvut None \n", - "http://bit.ly/2SEa4ia None \n", - "http://bit.ly/7POEiT5m None \n", - "http://bit.ly/AStarIsBornTickets None \n", - "http://bit.ly/KiSS925Player None \n", - "https://bit.ly/2CoVkwIv None \n", - "https://bit.ly/2T6Ri3vSorrentino None \n", - "https://bit.ly/2lxnMPF None " - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "dfu" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
hopsstatus_codesuccessfinal_urlerror
original_url
http://bit.ly/1L6Vn2e1404Falsehttp://www.lonestarconference.org/news/2016/3/...ConnectTimeout
http://bit.ly/2EXJdur1200Truehttps://www.90min.com/posts/6259374-ole-gunnar...None
http://bit.ly/2Muqvut1404Falsehttp://trigreview.com/sports/today-live-match/ConnectTimeout
http://bit.ly/2SEa4ia1200Truehttp://cfile1.uf.tistory.com/image/99E21C4C5C3...None
http://bit.ly/7POEiT5m0404FalseNoneConnectTimeout
http://bit.ly/AStarIsBornTickets1200Truehttps://www.fandango.com/a-star-is-born-2018-2...None
http://bit.ly/KiSS925Player2200Truehttp://player.kiss925.com/None
https://bit.ly/2CoVkwIv0404FalseNoneConnectTimeout
https://bit.ly/2T6Ri3vSorrentino0404FalseNoneConnectTimeout
https://bit.ly/2lxnMPF0404FalseNoneConnectTimeout
\n", - "
" - ], - "text/plain": [ - " hops status_code success \\\n", - "original_url \n", - "http://bit.ly/1L6Vn2e 1 404 False \n", - "http://bit.ly/2EXJdur 1 200 True \n", - "http://bit.ly/2Muqvut 1 404 False \n", - "http://bit.ly/2SEa4ia 1 200 True \n", - "http://bit.ly/7POEiT5m 0 404 False \n", - "http://bit.ly/AStarIsBornTickets 1 200 True \n", - "http://bit.ly/KiSS925Player 2 200 True \n", - "https://bit.ly/2CoVkwIv 0 404 False \n", - "https://bit.ly/2T6Ri3vSorrentino 0 404 False \n", - "https://bit.ly/2lxnMPF 0 404 False \n", - "\n", - " final_url \\\n", - "original_url \n", - "http://bit.ly/1L6Vn2e http://www.lonestarconference.org/news/2016/3/... \n", - "http://bit.ly/2EXJdur https://www.90min.com/posts/6259374-ole-gunnar... \n", - "http://bit.ly/2Muqvut http://trigreview.com/sports/today-live-match/ \n", - "http://bit.ly/2SEa4ia http://cfile1.uf.tistory.com/image/99E21C4C5C3... \n", - "http://bit.ly/7POEiT5m None \n", - "http://bit.ly/AStarIsBornTickets https://www.fandango.com/a-star-is-born-2018-2... \n", - "http://bit.ly/KiSS925Player http://player.kiss925.com/ \n", - "https://bit.ly/2CoVkwIv None \n", - "https://bit.ly/2T6Ri3vSorrentino None \n", - "https://bit.ly/2lxnMPF None \n", - "\n", - " error \n", - "original_url \n", - "http://bit.ly/1L6Vn2e ConnectTimeout \n", - "http://bit.ly/2EXJdur None \n", - "http://bit.ly/2Muqvut ConnectTimeout \n", - "http://bit.ly/2SEa4ia None \n", - "http://bit.ly/7POEiT5m ConnectTimeout \n", - "http://bit.ly/AStarIsBornTickets None \n", - "http://bit.ly/KiSS925Player None \n", - "https://bit.ly/2CoVkwIv ConnectTimeout \n", - "https://bit.ly/2T6Ri3vSorrentino ConnectTimeout \n", - "https://bit.ly/2lxnMPF ConnectTimeout " - ] - }, - "execution_count": 26, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "dfu2" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "metadata": {}, - "outputs": [], - "source": [ - "dfut = pd.DataFrame.from_dict(unshort_t,orient='index').set_index('original_url')\n", - "dfut2 = pd.DataFrame.from_records(unshort_t_2).set_index('original_url').sort_index()[['hops','status_code','success','final_url','error']]" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
hopsstatus_codesuccessfinal_urlerror
original_url
https://t.co/3DMwnqQZ6L3200Truehttp://player.kiss925.com/None
https://t.co/7JhHmDTBsN2404Falsehttp://www.lonestarconference.org/news/2016/3/...None
https://t.co/KCvxyp5TfU2404Falsehttp://bit.ly/7POEiT5mNone
https://t.co/Of14xVLiXC2200Truehttps://www.90min.com/posts/6259374-ole-gunnar...None
https://t.co/Q01sW8PKes1404Falsehttps://bit.ly/2lxnMPFNone
https://t.co/TCeDK4TTyR1404Falsehttps://bit.ly/2T6Ri3vSorrentinoNone
https://t.co/YnIMB743o22200Truehttps://www.fandango.com/a-star-is-born-2018-2...None
https://t.co/eeilzwj2Mg2200Truehttp://cfile1.uf.tistory.com/image/99E21C4C5C3...None
https://t.co/iXuw5ompWq1404Falsehttps://bit.ly/2CoVkwIvNone
https://t.co/yTHxD9ZALR2404Falsehttp://trigreview.com/sports/today-live-match/None
\n", - "
" - ], - "text/plain": [ - " hops status_code success \\\n", - "original_url \n", - "https://t.co/3DMwnqQZ6L 3 200 True \n", - "https://t.co/7JhHmDTBsN 2 404 False \n", - "https://t.co/KCvxyp5TfU 2 404 False \n", - "https://t.co/Of14xVLiXC 2 200 True \n", - "https://t.co/Q01sW8PKes 1 404 False \n", - "https://t.co/TCeDK4TTyR 1 404 False \n", - "https://t.co/YnIMB743o2 2 200 True \n", - "https://t.co/eeilzwj2Mg 2 200 True \n", - "https://t.co/iXuw5ompWq 1 404 False \n", - "https://t.co/yTHxD9ZALR 2 404 False \n", - "\n", - " final_url \\\n", - "original_url \n", - "https://t.co/3DMwnqQZ6L http://player.kiss925.com/ \n", - "https://t.co/7JhHmDTBsN http://www.lonestarconference.org/news/2016/3/... \n", - "https://t.co/KCvxyp5TfU http://bit.ly/7POEiT5m \n", - "https://t.co/Of14xVLiXC https://www.90min.com/posts/6259374-ole-gunnar... \n", - "https://t.co/Q01sW8PKes https://bit.ly/2lxnMPF \n", - "https://t.co/TCeDK4TTyR https://bit.ly/2T6Ri3vSorrentino \n", - "https://t.co/YnIMB743o2 https://www.fandango.com/a-star-is-born-2018-2... \n", - "https://t.co/eeilzwj2Mg http://cfile1.uf.tistory.com/image/99E21C4C5C3... \n", - "https://t.co/iXuw5ompWq https://bit.ly/2CoVkwIv \n", - "https://t.co/yTHxD9ZALR http://trigreview.com/sports/today-live-match/ \n", - "\n", - " error \n", - "original_url \n", - "https://t.co/3DMwnqQZ6L None \n", - "https://t.co/7JhHmDTBsN None \n", - "https://t.co/KCvxyp5TfU None \n", - "https://t.co/Of14xVLiXC None \n", - "https://t.co/Q01sW8PKes None \n", - "https://t.co/TCeDK4TTyR None \n", - "https://t.co/YnIMB743o2 None \n", - "https://t.co/eeilzwj2Mg None \n", - "https://t.co/iXuw5ompWq None \n", - "https://t.co/yTHxD9ZALR None " - ] - }, - "execution_count": 32, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "dfut" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
hopsstatus_codesuccessfinal_urlerror
original_url
https://t.co/3DMwnqQZ6L3200Truehttp://player.kiss925.com/None
https://t.co/7JhHmDTBsN2404Falsehttp://www.lonestarconference.org/news/2016/3/...ConnectTimeout
https://t.co/KCvxyp5TfU2404Falsehttp://bit.ly/7POEiT5mConnectTimeout
https://t.co/Of14xVLiXC2200Truehttps://www.90min.com/posts/6259374-ole-gunnar...None
https://t.co/Q01sW8PKes1404Falsehttps://bit.ly/2lxnMPFConnectTimeout
https://t.co/TCeDK4TTyR1404Falsehttps://bit.ly/2T6Ri3vSorrentinoConnectTimeout
https://t.co/YnIMB743o22200Truehttps://www.fandango.com/a-star-is-born-2018-2...None
https://t.co/eeilzwj2Mg2200Truehttp://cfile1.uf.tistory.com/image/99E21C4C5C3...None
https://t.co/iXuw5ompWq1404Falsehttps://bit.ly/2CoVkwIvConnectTimeout
https://t.co/yTHxD9ZALR2404Falsehttp://trigreview.com/sports/today-live-match/ConnectTimeout
\n", - "
" - ], - "text/plain": [ - " hops status_code success \\\n", - "original_url \n", - "https://t.co/3DMwnqQZ6L 3 200 True \n", - "https://t.co/7JhHmDTBsN 2 404 False \n", - "https://t.co/KCvxyp5TfU 2 404 False \n", - "https://t.co/Of14xVLiXC 2 200 True \n", - "https://t.co/Q01sW8PKes 1 404 False \n", - "https://t.co/TCeDK4TTyR 1 404 False \n", - "https://t.co/YnIMB743o2 2 200 True \n", - "https://t.co/eeilzwj2Mg 2 200 True \n", - "https://t.co/iXuw5ompWq 1 404 False \n", - "https://t.co/yTHxD9ZALR 2 404 False \n", - "\n", - " final_url \\\n", - "original_url \n", - "https://t.co/3DMwnqQZ6L http://player.kiss925.com/ \n", - "https://t.co/7JhHmDTBsN http://www.lonestarconference.org/news/2016/3/... \n", - "https://t.co/KCvxyp5TfU http://bit.ly/7POEiT5m \n", - "https://t.co/Of14xVLiXC https://www.90min.com/posts/6259374-ole-gunnar... \n", - "https://t.co/Q01sW8PKes https://bit.ly/2lxnMPF \n", - "https://t.co/TCeDK4TTyR https://bit.ly/2T6Ri3vSorrentino \n", - "https://t.co/YnIMB743o2 https://www.fandango.com/a-star-is-born-2018-2... \n", - "https://t.co/eeilzwj2Mg http://cfile1.uf.tistory.com/image/99E21C4C5C3... \n", - "https://t.co/iXuw5ompWq https://bit.ly/2CoVkwIv \n", - "https://t.co/yTHxD9ZALR http://trigreview.com/sports/today-live-match/ \n", - "\n", - " error \n", - "original_url \n", - "https://t.co/3DMwnqQZ6L None \n", - "https://t.co/7JhHmDTBsN ConnectTimeout \n", - "https://t.co/KCvxyp5TfU ConnectTimeout \n", - "https://t.co/Of14xVLiXC None \n", - "https://t.co/Q01sW8PKes ConnectTimeout \n", - "https://t.co/TCeDK4TTyR ConnectTimeout \n", - "https://t.co/YnIMB743o2 None \n", - "https://t.co/eeilzwj2Mg None \n", - "https://t.co/iXuw5ompWq ConnectTimeout \n", - "https://t.co/yTHxD9ZALR ConnectTimeout " - ] - }, - "execution_count": 33, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "dfut2" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
hops_1status_code_1success_1final_url_1error_1hops_2status_code_2success_2final_url_2error_2
original_url
https://t.co/3DMwnqQZ6L3200Truehttp://player.kiss925.com/None3200Truehttp://player.kiss925.com/None
https://t.co/7JhHmDTBsN2404Falsehttp://www.lonestarconference.org/news/2016/3/...None2404Falsehttp://www.lonestarconference.org/news/2016/3/...ConnectTimeout
https://t.co/KCvxyp5TfU2404Falsehttp://bit.ly/7POEiT5mNone2404Falsehttp://bit.ly/7POEiT5mConnectTimeout
https://t.co/Of14xVLiXC2200Truehttps://www.90min.com/posts/6259374-ole-gunnar...None2200Truehttps://www.90min.com/posts/6259374-ole-gunnar...None
https://t.co/Q01sW8PKes1404Falsehttps://bit.ly/2lxnMPFNone1404Falsehttps://bit.ly/2lxnMPFConnectTimeout
https://t.co/TCeDK4TTyR1404Falsehttps://bit.ly/2T6Ri3vSorrentinoNone1404Falsehttps://bit.ly/2T6Ri3vSorrentinoConnectTimeout
https://t.co/YnIMB743o22200Truehttps://www.fandango.com/a-star-is-born-2018-2...None2200Truehttps://www.fandango.com/a-star-is-born-2018-2...None
https://t.co/eeilzwj2Mg2200Truehttp://cfile1.uf.tistory.com/image/99E21C4C5C3...None2200Truehttp://cfile1.uf.tistory.com/image/99E21C4C5C3...None
https://t.co/iXuw5ompWq1404Falsehttps://bit.ly/2CoVkwIvNone1404Falsehttps://bit.ly/2CoVkwIvConnectTimeout
https://t.co/yTHxD9ZALR2404Falsehttp://trigreview.com/sports/today-live-match/None2404Falsehttp://trigreview.com/sports/today-live-match/ConnectTimeout
\n", - "
" - ], - "text/plain": [ - " hops_1 status_code_1 success_1 \\\n", - "original_url \n", - "https://t.co/3DMwnqQZ6L 3 200 True \n", - "https://t.co/7JhHmDTBsN 2 404 False \n", - "https://t.co/KCvxyp5TfU 2 404 False \n", - "https://t.co/Of14xVLiXC 2 200 True \n", - "https://t.co/Q01sW8PKes 1 404 False \n", - "https://t.co/TCeDK4TTyR 1 404 False \n", - "https://t.co/YnIMB743o2 2 200 True \n", - "https://t.co/eeilzwj2Mg 2 200 True \n", - "https://t.co/iXuw5ompWq 1 404 False \n", - "https://t.co/yTHxD9ZALR 2 404 False \n", - "\n", - " final_url_1 \\\n", - "original_url \n", - "https://t.co/3DMwnqQZ6L http://player.kiss925.com/ \n", - "https://t.co/7JhHmDTBsN http://www.lonestarconference.org/news/2016/3/... \n", - "https://t.co/KCvxyp5TfU http://bit.ly/7POEiT5m \n", - "https://t.co/Of14xVLiXC https://www.90min.com/posts/6259374-ole-gunnar... \n", - "https://t.co/Q01sW8PKes https://bit.ly/2lxnMPF \n", - "https://t.co/TCeDK4TTyR https://bit.ly/2T6Ri3vSorrentino \n", - "https://t.co/YnIMB743o2 https://www.fandango.com/a-star-is-born-2018-2... \n", - "https://t.co/eeilzwj2Mg http://cfile1.uf.tistory.com/image/99E21C4C5C3... \n", - "https://t.co/iXuw5ompWq https://bit.ly/2CoVkwIv \n", - "https://t.co/yTHxD9ZALR http://trigreview.com/sports/today-live-match/ \n", - "\n", - " error_1 hops_2 status_code_2 success_2 \\\n", - "original_url \n", - "https://t.co/3DMwnqQZ6L None 3 200 True \n", - "https://t.co/7JhHmDTBsN None 2 404 False \n", - "https://t.co/KCvxyp5TfU None 2 404 False \n", - "https://t.co/Of14xVLiXC None 2 200 True \n", - "https://t.co/Q01sW8PKes None 1 404 False \n", - "https://t.co/TCeDK4TTyR None 1 404 False \n", - "https://t.co/YnIMB743o2 None 2 200 True \n", - "https://t.co/eeilzwj2Mg None 2 200 True \n", - "https://t.co/iXuw5ompWq None 1 404 False \n", - "https://t.co/yTHxD9ZALR None 2 404 False \n", - "\n", - " final_url_2 \\\n", - "original_url \n", - "https://t.co/3DMwnqQZ6L http://player.kiss925.com/ \n", - "https://t.co/7JhHmDTBsN http://www.lonestarconference.org/news/2016/3/... \n", - "https://t.co/KCvxyp5TfU http://bit.ly/7POEiT5m \n", - "https://t.co/Of14xVLiXC https://www.90min.com/posts/6259374-ole-gunnar... \n", - "https://t.co/Q01sW8PKes https://bit.ly/2lxnMPF \n", - "https://t.co/TCeDK4TTyR https://bit.ly/2T6Ri3vSorrentino \n", - "https://t.co/YnIMB743o2 https://www.fandango.com/a-star-is-born-2018-2... \n", - "https://t.co/eeilzwj2Mg http://cfile1.uf.tistory.com/image/99E21C4C5C3... \n", - "https://t.co/iXuw5ompWq https://bit.ly/2CoVkwIv \n", - "https://t.co/yTHxD9ZALR http://trigreview.com/sports/today-live-match/ \n", - "\n", - " error_2 \n", - "original_url \n", - "https://t.co/3DMwnqQZ6L None \n", - "https://t.co/7JhHmDTBsN ConnectTimeout \n", - "https://t.co/KCvxyp5TfU ConnectTimeout \n", - "https://t.co/Of14xVLiXC None \n", - "https://t.co/Q01sW8PKes ConnectTimeout \n", - "https://t.co/TCeDK4TTyR ConnectTimeout \n", - "https://t.co/YnIMB743o2 None \n", - "https://t.co/eeilzwj2Mg None \n", - "https://t.co/iXuw5ompWq ConnectTimeout \n", - "https://t.co/yTHxD9ZALR ConnectTimeout " - ] - }, - "execution_count": 39, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "dfut.join(dfut2, how='left', lsuffix='_1', rsuffix='_2')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.6.5" - } - }, - "nbformat": 4, - "nbformat_minor": 1 -} diff --git a/utils/ipynb/url_unshortener_frequency_count.ipynb b/utils/ipynb/url_unshortener_frequency_count.ipynb deleted file mode 100644 index 937cb64..0000000 --- a/utils/ipynb/url_unshortener_frequency_count.ipynb +++ /dev/null @@ -1,146 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Getting 10,000 urls from DMCA-COX\n", - "- ssh -N dmca@cox.media.mit.edu -L 3311:cox.media.mit.edu:3306" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "collapsed": true - }, - "outputs": [], - "source": [ - "from utils.common import DbEngine\n", - "import os\n", - "import inspect\n", - "from app.models import TwitterStatus, TwitterUnshortenedUrls\n", - "import json\n", - "from sqlalchemy.sql.expression import func as sqlfunc\n", - "\n", - "BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), \"..\")\n", - "ENV = 'production_over_ssh'\n", - "db_session = DbEngine(os.path.join(BASE_DIR, \"config\") + \"/{env}.json\".format(env=ENV)).new_session()\n", - "urls = db_session.query(TwitterUnshortenedUrls.unshortened_url).all()" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "urlsf = [u[0] for u in urls]" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [], - "source": [ - "def domain_name(url):\n", - " try:\n", - " no_protocol = url.split('://')[1]\n", - " before_first_slash = no_protocol.split(\"/\")[0]\n", - " # domain_tld = before_first_slash.split(\".\")[-2:]\n", - " # '.'.join(domain_tld)\n", - " # doesn't work for things like .org.cn\n", - " return before_first_slash\n", - " except AttributeError:\n", - " print(url)" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [], - "source": [ - "domains = [domain_name(u) for u in urlsf if u]" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "metadata": {}, - "outputs": [], - "source": [ - "from collections import Counter\n", - "import pandas as pd" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "metadata": {}, - "outputs": [], - "source": [ - "domain_counts = Counter(domains)" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "metadata": {}, - "outputs": [], - "source": [ - "df = pd.DataFrame.from_dict(domain_counts, orient='index').reset_index().rename(columns={'index':'domain',\"0\":\"frequency\"})" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "ename": "NameError", - "evalue": "name 'df' is not defined", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mdf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mto_csv\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'domain_frequencies.csv'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[0;31mNameError\u001b[0m: name 'df' is not defined" - ], - "output_type": "error" - } - ], - "source": [ - "df.to_csv('domain_frequencies.csv')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.6.5" - } - }, - "nbformat": 4, - "nbformat_minor": 1 -} diff --git a/utils/ipynb/url_unshortener_prod_investigator.ipynb b/utils/ipynb/url_unshortener_prod_investigator.ipynb deleted file mode 100644 index 84aa3f8..0000000 --- a/utils/ipynb/url_unshortener_prod_investigator.ipynb +++ /dev/null @@ -1,2417 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Getting 10,000 urls from DMCA-COX\n", - "- ssh -N dmca@cox.media.mit.edu -L 3310:cox.media.mit.edu:3306" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "collapsed": false - }, - "outputs": [], - "source": [ - "from utils.common import DbEngine\n", - "import os\n", - "import inspect\n", - "from app.models import TwitterStatus\n", - "import json\n", - "from sqlalchemy.sql.expression import func as sqlfunc\n", - "from functools import reduce\n", - "from url_unshortener import bulkUnshorten\n", - "\n", - "BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), \"..\")\n", - "ENV = 'production_over_ssh'\n", - "db_session = DbEngine(os.path.join(BASE_DIR, \"config\") + \"/{env}.json\".format(env=ENV)).new_session()\n" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "1798" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# error_uid = 106946342\n", - "error_uid = 62259528\n", - "user_statuses = db_session.query(TwitterStatus).filter(TwitterStatus.user_id == str(error_uid)).all()\n", - "status_urls_flat = []\n", - "for user_status in user_statuses:\n", - " status_data = json.loads(user_status.status_data)\n", - " status_url_dicts = status_data['entities']['urls']\n", - " just_urls = [d['url'] for d in status_url_dicts]\n", - " status_urls_flat.extend(just_urls)\n", - "len(status_urls_flat)" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\nUnicode error: b'http://m.utusan.com.my/bisnes/korporat/avasb-satssb-bangunkan-kemudahan-mro-di-senai-1.452956#.WL3zw4QPWvs.twitter\\xe8' for obj:\n" - ] - } - ], - "source": [ - "unshort = bulkUnshorten(status_urls_flat)" - ] - }, - { - "cell_type": "code", - "execution_count": 123, - "metadata": { - "collapsed": true - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[('https://t.co/PX5IKUYKE0',\n {'hops': 1,\n 'status_code': 301,\n 'success': False,\n 'final_url': 'http://m.net/',\n 'error': 'ReadTimeout',\n 'original_url': 'https://t.co/PX5IKUYKE0'}),\n ('https://t.co/KJzzP8gQz3',\n {'hops': 1,\n 'status_code': 301,\n 'success': False,\n 'final_url': 'https://mega.nz/#F!fa4VQQzJ!rnYplZGplWttT1p5nxvPkA',\n 'error': 'ReadTimeout',\n 'original_url': 'https://t.co/KJzzP8gQz3'}),\n ('https://t.co/aawzSKjhni',\n {'hops': 2,\n 'status_code': 301,\n 'success': False,\n 'final_url': 'https://mega.nz/#!K2pCnSQL!hni9k_ZTScEMdMP4H8WL9NzPKlcpLlCN6JjKIWt4wAE',\n 'error': 'ReadTimeout',\n 'original_url': 'https://t.co/aawzSKjhni'}),\n ('https://t.co/bbSw3kZjvW',\n {'hops': 2,\n 'status_code': 301,\n 'success': False,\n 'final_url': 'https://mega.nz/',\n 'error': 'ReadTimeout',\n 'original_url': 'https://t.co/bbSw3kZjvW'}),\n ('https://t.co/OVrDKccUEH',\n {'hops': 2,\n 'status_code': 301,\n 'success': False,\n 'final_url': 'https://item.rakuten.co.jp/musicstore/20190212-014/',\n 'error': 'ReadTimeout',\n 'original_url': 'https://t.co/OVrDKccUEH'})]" - ] - }, - "execution_count": 123, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "[(s,d) for s,d in unshort.items() if d['error'] is not None]" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "test_urls = ['https://t.co/xOPFen2beP', 'https://t.co/8df1GQUHmg', 'https://t.co/taGEIWlst9', 'https://t.co/ALHErdM85W', 'https://t.co/Cbt77SbVpu', 'https://t.co/VTJMCshR4V', 'https://t.co/Cy7uUN9Kew', 'https://support.twitter.com/articles/15795', 'https://t.co/LvAFLtkQIT', 'https://t.co/1wUlxjiV73', 'https://t.co/UDWXSdJmQy', 'https://t.co/zoxLTzb5kK', 'https://t.co/eRVV1a1hc0']\n", - "# test_urls = ['https://t.co/vaRwUGz11g', 'https://t.co/My1U9DF97m', 'https://t.co/VFJCtq0qgt', 'https://t.co/M0mn9VcRjP', 'https://t.co/Ck3bRRqh0a', 'https://t.co/El7lYetklr', 'https://t.co/ZSkc4zkM7g', 'https://t.co/QBt6yjOHYj', 'https://t.co/JpV2OpQcyL', 'https://t.co/YXfyoxeVdK', 'https://t.co/g0OTiAIYbY', 'https://t.co/AuLBnV3rMe', 'https://t.co/Ukh9znDaKG', 'https://t.co/FwQW1hYeJR', 'https://t.co/nDJwGzvKY5', 'https://t.co/uvT5WTDJ1E', 'https://t.co/RGmP3xNIZO', 'https://t.co/3VlZFFNVOK', 'https://t.co/J5nJLxotiv', 'https://t.co/lxIobWsMSY', 'https://t.co/exjNYVkgIZ', 'https://t.co/uvT5WTVjTc', 'https://t.co/JRxYLakUCs', 'https://t.co/bFgGYU4yLs', 'https://t.co/zsYvMFDGng', 'https://t.co/U5A27sgpWp', 'https://t.co/z7ATTi1Zd5', 'https://t.co/SG8pVmXqaN', 'https://t.co/N93nch5QyV', 'https://t.co/D2gWuJ7bfx', 'https://t.co/LKhOE4dLyt', 'https://t.co/YmxXESOe3A', 'https://t.co/3XqwpZeAFt', 'https://t.co/zcqVEz7JSc', 'https://t.co/MyTiloYZzT', 'https://t.co/3BS91Alrw2', 'https://t.co/uwtgRoBhz6', 'https://t.co/PWcMu07nEZ', 'https://t.co/2vNUjjJ1XC', 'https://t.co/8u4yNEVy48', 'https://t.co/5DL3WcZNwZ', 'https://t.co/mim5FYtyav', 'https://t.co/hGVp6ba0jE', 'https://t.co/NtOVV3bsQT', 'https://t.co/K72FQHk9Rl', 'https://t.co/ZcxczVTyHV', 'https://t.co/SOTsU9cY6J', 'https://t.co/yDUUdp1bmb', 'https://t.co/gmmLnVufxP', 'https://t.co/bajfKB6VKU', 'https://t.co/VAhGyptISQ', 'https://t.co/vteobfHsxo', 'https://t.co/oC8ZLeU3dD', 'https://t.co/Yv9eyH7Kgk', 'https://t.co/jaJhZSIUK3', 'https://t.co/woqFeUIhKT', 'https://t.co/WqXNdI2GZd', 'https://t.co/4iP96jIw3A', 'https://t.co/WxW61zSKL1', 'https://t.co/gPiGhCt2F6', 'https://t.co/6eIHxlH7qW', 'https://t.co/XK6U5ZOTV6', 'https://t.co/CmyCKPgfhf', 'https://t.co/FfZSmKSRfW', 'https://t.co/5m7tGhnLT9', 'https://t.co/I1bGpxKn7t', 'https://t.co/J2V2MdoVzm', 'https://t.co/YjQmmehDQU', 'https://t.co/pDkiHFqhyd', 'https://t.co/0ry6iSztoH', 'https://t.co/nAfvxqzz4S', 'https://t.co/mWXij2Hb9r', 'https://t.co/6Ta2jYzDAo', 'https://t.co/EvL8vk39gM', 'https://t.co/IxuzWMHBPT', 'https://t.co/wNZhh2ASpG', 'https://t.co/Hgdm52yc7s', 'https://t.co/QXFbhQEBoo']\n", - "# test_urls = ['https://t.co/ZaM9NxU448', 'https://t.co/JpcrcHwGsh', 'https://t.co/qbPsHoxNAs', 'https://t.co/4yTfEx4OMl', 'https://t.co/iIcMHOt4GZ', 'https://t.co/fd1sMV0JQo', 'https://t.co/bw7VAPXF8d', 'https://t.co/qw32fFijTF', 'https://t.co/NV4MfTsyjV', 'https://t.co/EiaZzYesjf', 'https://t.co/aXCgWnikAS', 'https://t.co/8OAq13oavE', 'https://t.co/4XVEhtMl8a', 'https://t.co/JjXqcja1VL', 'https://t.co/FDWgTVNxCG', 'https://t.co/pXAle8gPnU', 'https://t.co/fxp09wCryZ', 'https://t.co/bhQojME3RX', 'https://t.co/O6e2sTy7dn', 'https://t.co/qPktYFO2V5', 'https://t.co/Zkc6SgobZX', 'https://t.co/XHR6Fyaaeh', 'https://t.co/vJ4I95PvIm', 'https://t.co/IguncLlwEd']\n" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "there are 13 urls at the beggining\nthere are 13 urls in the middle\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "would pop\nredirect url is: https://twitter.com/i/web/status/1115431232513421316, result.url is https://t.co/1wUlxjiV73\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115431310510690305, result.url is https://t.co/VTJMCshR4V\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115431371583950848, result.url is https://t.co/Cbt77SbVpu\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam0xg/wrestlemania_35_livewrestlemania_35_watch_live/?ref=share&ref_source=twitter, result.url is https://t.co/Cy7uUN9Kew\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam5nx/wwe_wrestlemania_35_live_wwe_live_streamwwe/?ref=share&ref_source=twitter, result.url is https://t.co/LvAFLtkQIT\nwould pop\nredirect url is: http://bit.ly/2Uuj0Mp, result.url is https://t.co/taGEIWlst9\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam3ij/watchwwe_wrestlemania_35_livewwe_live_streamwwe/?ref=share&ref_source=twitter, result.url is https://t.co/zoxLTzb5kK\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115429407831797761, result.url is https://t.co/UDWXSdJmQy\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115430369405415424, result.url is https://t.co/eRVV1a1hc0\nwould pop\nredirect url is: https://help.twitter.com/articles/15795, result.url is https://support.twitter.com/articles/15795\nwould pop\nredirect url is: https://bit.ly/2G2mVWo, result.url is https://t.co/8df1GQUHmg\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam6xx/wrestlemania_35_livewrestlemania_35_watch_live/?ref=share&ref_source=twitter, result.url is https://t.co/xOPFen2beP\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam6mp/live_stream_wrestlemania_35_onlinewrestlemania/?ref=share&ref_source=twitter, result.url is https://t.co/ALHErdM85W\nthere are 13 urls in the middle\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "would pop\nredirect url is: https://twitter.com/i/web/status/1115429407831797761, result.url is https://t.co/UDWXSdJmQy\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115431232513421316, result.url is https://t.co/1wUlxjiV73\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115431371583950848, result.url is https://t.co/Cbt77SbVpu\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam0xg/wrestlemania_35_livewrestlemania_35_watch_live/?ref=share&ref_source=twitter, result.url is https://t.co/Cy7uUN9Kew\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115431310510690305, result.url is https://t.co/VTJMCshR4V\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam6xx/wrestlemania_35_livewrestlemania_35_watch_live/?ref=share&ref_source=twitter, result.url is https://t.co/xOPFen2beP\nwould pop\nredirect url is: http://bit.ly/2Uuj0Mp, result.url is https://t.co/taGEIWlst9\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam3ij/watchwwe_wrestlemania_35_livewwe_live_streamwwe/?ref=share&ref_source=twitter, result.url is https://t.co/zoxLTzb5kK\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam5nx/wwe_wrestlemania_35_live_wwe_live_streamwwe/?ref=share&ref_source=twitter, result.url is https://t.co/LvAFLtkQIT\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115430369405415424, result.url is https://t.co/eRVV1a1hc0\nwould pop\nredirect url is: https://help.twitter.com/articles/15795, result.url is https://support.twitter.com/articles/15795\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam6mp/live_stream_wrestlemania_35_onlinewrestlemania/?ref=share&ref_source=twitter, result.url is https://t.co/ALHErdM85W\nwould pop\nredirect url is: https://bit.ly/2G2mVWo, result.url is https://t.co/8df1GQUHmg\nthere are 13 urls in the middle\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "would pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam0xg/wrestlemania_35_livewrestlemania_35_watch_live/?ref=share&ref_source=twitter, result.url is https://t.co/Cy7uUN9Kew\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115430369405415424, result.url is https://t.co/eRVV1a1hc0\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115429407831797761, result.url is https://t.co/UDWXSdJmQy\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115431371583950848, result.url is https://t.co/Cbt77SbVpu\nwould pop\nredirect url is: http://bit.ly/2Uuj0Mp, result.url is https://t.co/taGEIWlst9\nwould pop\nredirect url is: https://bit.ly/2G2mVWo, result.url is https://t.co/8df1GQUHmg\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam6xx/wrestlemania_35_livewrestlemania_35_watch_live/?ref=share&ref_source=twitter, result.url is https://t.co/xOPFen2beP\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115431310510690305, result.url is https://t.co/VTJMCshR4V\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam3ij/watchwwe_wrestlemania_35_livewwe_live_streamwwe/?ref=share&ref_source=twitter, result.url is https://t.co/zoxLTzb5kK\nwould pop\nredirect url is: https://help.twitter.com/articles/15795, result.url is https://support.twitter.com/articles/15795\nwould pop\nredirect url is: https://twitter.com/i/web/status/1115431232513421316, result.url is https://t.co/1wUlxjiV73\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam5nx/wwe_wrestlemania_35_live_wwe_live_streamwwe/?ref=share&ref_source=twitter, result.url is https://t.co/LvAFLtkQIT\nwould pop\nredirect url is: https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam6mp/live_stream_wrestlemania_35_onlinewrestlemania/?ref=share&ref_source=twitter, result.url is https://t.co/ALHErdM85W\nthere are 13 urls in the middle\nthere are 13 urls at the end\n" - ] - } - ], - "source": [ - "resp_urls = bulkUnshorten(test_urls)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(13, 13)" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "len(test_urls), len(resp_urls)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'https://t.co/xOPFen2beP': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam6xx/wrestlemania_35_livewrestlemania_35_watch_live/?ref=share&ref_source=twitter',\n 'error': None,\n 'original_url': 'https://t.co/xOPFen2beP'},\n 'https://t.co/8df1GQUHmg': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://bit.ly/2G2mVWo',\n 'error': None,\n 'original_url': 'https://t.co/8df1GQUHmg'},\n 'https://t.co/taGEIWlst9': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'http://bit.ly/2Uuj0Mp',\n 'error': None,\n 'original_url': 'https://t.co/taGEIWlst9'},\n 'https://t.co/ALHErdM85W': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam6mp/live_stream_wrestlemania_35_onlinewrestlemania/?ref=share&ref_source=twitter',\n 'error': None,\n 'original_url': 'https://t.co/ALHErdM85W'},\n 'https://t.co/Cbt77SbVpu': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://twitter.com/i/web/status/1115431371583950848',\n 'error': None,\n 'original_url': 'https://t.co/Cbt77SbVpu'},\n 'https://t.co/VTJMCshR4V': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://twitter.com/i/web/status/1115431310510690305',\n 'error': None,\n 'original_url': 'https://t.co/VTJMCshR4V'},\n 'https://t.co/Cy7uUN9Kew': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam0xg/wrestlemania_35_livewrestlemania_35_watch_live/?ref=share&ref_source=twitter',\n 'error': None,\n 'original_url': 'https://t.co/Cy7uUN9Kew'},\n 'https://support.twitter.com/articles/15795': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://help.twitter.com/articles/15795',\n 'error': None,\n 'original_url': 'https://support.twitter.com/articles/15795'},\n 'https://t.co/LvAFLtkQIT': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam5nx/wwe_wrestlemania_35_live_wwe_live_streamwwe/?ref=share&ref_source=twitter',\n 'error': None,\n 'original_url': 'https://t.co/LvAFLtkQIT'},\n 'https://t.co/1wUlxjiV73': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://twitter.com/i/web/status/1115431232513421316',\n 'error': None,\n 'original_url': 'https://t.co/1wUlxjiV73'},\n 'https://t.co/UDWXSdJmQy': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://twitter.com/i/web/status/1115429407831797761',\n 'error': None,\n 'original_url': 'https://t.co/UDWXSdJmQy'},\n 'https://t.co/zoxLTzb5kK': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://old.reddit.com/r/WrestleManiaLivePPV/comments/bam3ij/watchwwe_wrestlemania_35_livewwe_live_streamwwe/?ref=share&ref_source=twitter',\n 'error': None,\n 'original_url': 'https://t.co/zoxLTzb5kK'},\n 'https://t.co/eRVV1a1hc0': {'hops': 3,\n 'status_code': 301,\n 'success': None,\n 'final_url': 'https://twitter.com/i/web/status/1115430369405415424',\n 'error': None,\n 'original_url': 'https://t.co/eRVV1a1hc0'}}" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "resp_urls" - ] - }, - { - "cell_type": "code", - "execution_count": 105, - "metadata": {}, - "outputs": [], - "source": [ - "left_overs = [l for l in test_urls if l not in resp_urls.keys()]" - ] - }, - { - "cell_type": "code", - "execution_count": 106, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "['https://t.co/uvT5WTVjTc', 'https://t.co/5DL3WcZNwZ']" - ] - }, - "execution_count": 106, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "left_overs" - ] - }, - { - "cell_type": "code", - "execution_count": 107, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'https://t.co/uvT5WTVjTc': {'hops': 1,\n 'status_code': 200,\n 'success': True,\n 'final_url': 'https://realproductkeys.org/lumion-crack/',\n 'error': None,\n 'original_url': 'https://t.co/uvT5WTVjTc'},\n 'https://t.co/5DL3WcZNwZ': {'hops': 1,\n 'status_code': 200,\n 'success': True,\n 'final_url': 'https://crackproductkey.com/wondershare-mobiletrans-crack/',\n 'error': None,\n 'original_url': 'https://t.co/5DL3WcZNwZ'}}" - ] - }, - "execution_count": 107, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "bulkUnshorten(left_overs)" - ] - }, - { - "cell_type": "code", - "execution_count": 101, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'https://t.co/bw7VAPXF8d': {'hops': 2,\n 'status_code': 200,\n 'success': True,\n 'final_url': 'https://twitter.com/account/suspended',\n 'error': None,\n 'original_url': 'https://t.co/bw7VAPXF8d'}}" - ] - }, - "execution_count": 101, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "bulkUnshorten('https://t.co/bw7VAPXF8d')" - ] - }, - { - "cell_type": "code", - "execution_count": 80, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "['https://realproductkeys.org/hotspot-shield-elite-crack/',\n 'https://realproductkeys.org/lumion-crack/',\n 'https://crackproductkey.com/vmix-crack/',\n 'https://crackproductkey.com/wondershare-allmytube-crack/',\n 'https://realproductkeys.org/corel-draw-crack-crack/',\n 'https://realproductkeys.org/driverpack-solution-online-crack/',\n 'https://realproductkeys.org/psiphon-crack/',\n 'https://crackproductkey.com/daemon-tools-lite-crack/',\n 'https://realproductkeys.org/vmware-workstation-pro-crack/',\n 'https://crackproductkey.com/vsdc-free-video-editor-crack/',\n 'https://crackproductkey.com/minitool-partition-wizard-crack/',\n 'https://crackproductkey.com/keyshot-pro-crack/',\n 'https://realproductkeys.org/korg-pa-manager-crack/',\n 'https://realproductkeys.org/spyhunter-5-crack/',\n 'https://crackproductkey.com/global-mapper-crack/',\n 'https://realproductkeys.org/nitro-pro-crack/',\n 'https://realproductkeys.org/xshell-free-build-crack/',\n 'https://realproductkeys.org/unity-crack/',\n 'https://crackproductkey.com/wtfast-crack/',\n 'https://realproductkeys.org/advanced-system-repair-pro-crack/',\n 'https://realproductkeys.org/wondershare-recoverit-crack/',\n 'https://realproductkeys.org/home-designer-pro-crack/',\n 'https://realproductkeys.org/total-av-antivirus-crack/',\n 'https://realproductkeys.org/cardrecovery-key-crack/',\n 'https://crackproductkey.com/teamviewer-crack/',\n 'https://crackproductkey.com/internet-download-manager-crack/',\n 'https://crackproductkey.com/obs-studio-crack/',\n 'https://crackproductkey.com/autodesk-autocad-electrical-crack/',\n 'https://realproductkeys.org/wondershare-mobiletrans-crack/',\n 'https://realproductkeys.org/snapgene-crack/',\n 'https://realproductkeys.org/freemake-video-converter-crack-2/',\n 'https://crackproductkey.com/wondershare-mobiletrans-crack/',\n 'https://crackproductkey.com/xftp-free-build-crack/',\n 'https://crackproductkey.com/windows-repair-crack/',\n 'https://crackproductkey.com/sublime-text-crack/',\n 'https://crackproductkey.com/global-mapper-crack-2/',\n 'https://crackproductkey.com/4k-video-downloader-crack/',\n 'https://crackproductkey.com/camtasia-studio-crack/',\n 'https://www.youtube.com/watch?v=5nzlLCzDyDk&feature=youtu.be',\n 'https://www.youtube.com/watch?v=Y-7FD-GJJYI&feature=youtu.be',\n 'https://www.youtube.com/watch?v=kK3fP_aplTs&feature=youtu.be',\n 'https://www.youtube.com/watch?v=pujkEsgDLlg&feature=youtu.be',\n 'https://www.youtube.com/watch?v=oKWAsA_DNtY&feature=youtu.be',\n 'https://www.youtube.com/watch?v=aN7Hw5ULo9M&feature=youtu.be',\n 'https://www.youtube.com/watch?v=40NLMUxpHMM&feature=youtu.be',\n 'https://www.youtube.com/watch?v=xjwyGOM4ARg&feature=youtu.be',\n 'https://www.youtube.com/watch?v=qC--HO4XlU8&feature=youtu.be',\n 'https://www.youtube.com/watch?v=ev3VKjGClMw&feature=youtu.be',\n 'https://www.youtube.com/watch?v=ul6NOuog3Bk&feature=youtu.be',\n 'https://www.youtube.com/watch?v=e5ox7ZCzyHA&feature=youtu.be',\n 'https://www.youtube.com/watch?v=BTBPe6DUaCM&feature=youtu.be',\n 'https://www.youtube.com/watch?v=89qcBCDgbgk&feature=youtu.be',\n 'https://www.youtube.com/watch?v=TMwwf4v-Upw&feature=youtu.be',\n 'https://www.youtube.com/watch?v=SEzGAu-Dp1Q&feature=youtu.be',\n 'https://www.youtube.com/watch?v=pHi6zgIAPMY&feature=youtu.be',\n 'https://www.youtube.com/watch?v=VgivuBASIcw&feature=youtu.be',\n 'https://www.youtube.com/watch?v=FnWPY7Nra7w&feature=youtu.be',\n 'https://www.youtube.com/watch?v=X2UB1sZtJ2Q&feature=youtu.be',\n 'https://www.youtube.com/watch?v=BEG3uwcdzCw&feature=youtu.be',\n 'https://www.youtube.com/watch?v=KQrezACvYNQ&feature=youtu.be',\n 'https://www.youtube.com/watch?v=E3eOiE1KIHE&feature=youtu.be',\n 'https://www.youtube.com/watch?v=rmA0cyC1FuI&feature=youtu.be',\n 'https://www.youtube.com/watch?v=Oj1lpb8UA7w&feature=youtu.be',\n 'https://www.youtube.com/watch?v=cncjSOt0S-k&feature=youtu.be',\n 'https://www.youtube.com/watch?v=zmxHuTdacBg&feature=youtu.be',\n 'https://www.youtube.com/watch?v=i-KsSbotZ80&feature=youtu.be',\n 'https://www.youtube.com/watch?v=wOaaQzBuu3A&feature=youtu.be',\n 'https://www.youtube.com/watch?v=8iEeDHwiNwE&feature=youtu.be',\n 'https://www.youtube.com/watch?v=d0Wntq1oWhM&feature=youtu.be',\n 'https://www.youtube.com/watch?v=amsKpLeuxWA&feature=youtu.be',\n 'https://www.youtube.com/watch?v=At9TLC6-d7c&feature=youtu.be',\n 'https://www.youtube.com/watch?v=iTiu7XXY20c&feature=youtu.be',\n 'https://www.youtube.com/watch?v=89f-zHazpOY&feature=youtu.be',\n 'https://www.youtube.com/watch?v=oQRpFC1rSjI&feature=youtu.be',\n 'https://www.youtube.com/watch?v=JCCQqP1B8fI&feature=youtu.be',\n 'https://www.youtube.com/watch?v=BSl2GxuN5Ew&feature=youtu.be']" - ] - }, - "execution_count": 80, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "[v['final_url'] for k, v in resp_urls.items()]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.6.5" - } - }, - "nbformat": 4, - "nbformat_minor": 1 -} diff --git a/utils/ipynb/url_unshortener_profile.ipynb b/utils/ipynb/url_unshortener_profile.ipynb deleted file mode 100644 index a0ea0fa..0000000 --- a/utils/ipynb/url_unshortener_profile.ipynb +++ /dev/null @@ -1,226 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Getting 10,000 urls from DMCA-COX\n", - "- ssh -N dmca@cox.media.mit.edu -L 3310:cox.media.mit.edu:3306\n", - "```\n", - "# import pandas as pd\n", - "# from sqlalchemy import create_engine\n", - "# constr= 'mysql://civilservant@localhost:3310/civilservant_production'\n", - "# con = create_engine(constr)\n", - "# con.execute('show tables;').fetchall()\n", - "```" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": true - }, - "outputs": [ - { - "data": { - "text/plain": [ - "(2761, 10000)" - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from utils.common import DbEngine\n", - "import os\n", - "import inspect\n", - "from app.models import TwitterStatus\n", - "import json\n", - "from sqlalchemy.sql.expression import func as sqlfunc\n", - "from functools import reduce\n", - "from url_unshortener import bulkUnshorten\n", - "\n", - "BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), \"..\")\n", - "ENV = 'development'\n", - "db_session = DbEngine(os.path.join(BASE_DIR, \"config\") + \"/{env}.json\".format(env=ENV)).new_session()\n", - "\n", - "STATUSES_TO_GET = 10000\n", - "json_fname = f'../tests/fixture_data/twitter_statuses_{STATUSES_TO_GET}.json'\n", - "try:\n", - " status_urls_flat = json.load(open(json_fname,'r'))\n", - "except FileNotFoundError:\n", - " def get_url_part(status):\n", - " try:\n", - " status_data = json.loads(status.status_data)\n", - " return status_data['entities']['urls']\n", - " except TypeError:\n", - " # print(status.id)\n", - " return []\n", - " \n", - " statuses = db_session.query(TwitterStatus).order_by(sqlfunc.rand()).limit(STATUSES_TO_GET).all()\n", - " assert len(statuses) == STATUSES_TO_GET\n", - " \n", - " status_urls = [get_url_part(status) for status in statuses]\n", - " \n", - " status_urls_flat = []\n", - " for status_url in status_urls:\n", - " for url_dict in status_url:\n", - " # print(url_dict)\n", - " status_urls_flat.append(url_dict['url'])\n", - " json.dump(status_urls_flat, open(json_fname,'w'))\n", - "\n", - "status_urls_flat[:5]\n", - "## proportion of statuses having urls\n", - "len(status_urls_flat), STATUSES_TO_GET" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "%timeit -r 1 -n 1 bulkUnshorten(status_urls_flat[:10])\n" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "8.96 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n" - ] - } - ], - "source": [ - "%timeit -r 1 -n 1 bulkUnshorten(status_urls_flat[:100])" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": { - "collapsed": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "1min 33s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n" - ] - } - ], - "source": [ - "%timeit -r 1 -n 1 bulkUnshorten(status_urls_flat[:1000])" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2min 21s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n" - ] - } - ], - "source": [ - "%timeit -r 1 -n 1 bulkUnshorten(status_urls_flat[:10000])" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "473243" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "db_session.query(TwitterStatus).count()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "270.0" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "total_tweets = 38000000\n", - "tweet_url_prop = 0.27\n", - "urls_per_second = 10 \n", - "urls_per_minute = 650\n", - "urls_per_hour = 38000\n", - "\n", - "total_tweets * tweet_url_prop / urls_per_hour" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.6.5" - } - }, - "nbformat": 4, - "nbformat_minor": 1 -} diff --git a/utils/ipynb/url_unshortener_verify_unshorten_complete.ipynb b/utils/ipynb/url_unshortener_verify_unshorten_complete.ipynb deleted file mode 100644 index b8db303..0000000 --- a/utils/ipynb/url_unshortener_verify_unshorten_complete.ipynb +++ /dev/null @@ -1,817 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Getting 10,000 urls from DMCA-COX\n", - "- ssh -N dmca@cox.media.mit.edu -L 3311:cox.media.mit.edu:3306" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "collapsed": true - }, - "outputs": [], - "source": [ - "from utils.common import DbEngine\n", - "import os\n", - "import inspect\n", - "from app.models import TwitterStatus, TwitterUnshortenedUrls\n", - "import json\n", - "from sqlalchemy.sql.expression import func as sqlfunc\n", - "\n", - "BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), \"..\")\n", - "ENV = 'production_over_ssh'\n", - "db_session = DbEngine(os.path.join(BASE_DIR, \"config\") + \"/{env}.json\".format(env=ENV)).new_session()\n", - "urls = db_session.query(TwitterUnshortenedUrls.unshortened_url).all()" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "urlsf = [u[0] for u in urls]" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [], - "source": [ - "def domain_name(url):\n", - " try:\n", - " no_protocol = url.split('://')[1]\n", - " before_first_slash = no_protocol.split(\"/\")[0]\n", - " # domain_tld = before_first_slash.split(\".\")[-2:]\n", - " # '.'.join(domain_tld)\n", - " # doesn't work for things like .org.cn\n", - " return before_first_slash\n", - " except AttributeError:\n", - " print(url)" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [], - "source": [ - "domains = [domain_name(u) for u in urlsf if u]" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "metadata": {}, - "outputs": [], - "source": [ - "from collections import Counter\n", - "import pandas as pd" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "metadata": {}, - "outputs": [], - "source": [ - "domain_counts = Counter(domains)" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "metadata": {}, - "outputs": [], - "source": [ - "df = pd.DataFrame.from_dict(domain_counts, orient='index').reset_index()" - ] - }, - { - "cell_type": "code", - "execution_count": 43, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/paprika/workspace/py-flask/lib/python3.6/site-packages/ipykernel_launcher.py:1: FutureWarning: Using 'rename_axis' to alter labels is deprecated. Use '.rename' instead\n \"\"\"Entry point for launching an IPython kernel.\n" - ] - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
index0
0twitter.com5803217
1medium.com1447
24kputlocker.pro2
3123.nmaxmovies.com31
4online.realmedia.site11
5123.newflixmovies.me7
6moviestvhd.win10
7stream.canalsports.me1
8www.resdagboken.se11
9help.twitter.com21
10new.useehd.us3
11my.w.tt846
12hd.spacemove.us1
13alphabit.co4
14online.free6
15www.nookl.com8
16123.nmamovies.com1
17fancy.com5
18www.dailymail.co.uk492
19www.devex.com2
20www.thenation.com41
21www.globalresearch.ca10
22www.telesurenglish.net6
23www.democracynow.org20
24www.laiguana.tv6
25www.rt.com71
26mundo.sputniknews.com25
27www.commonspace.scot3
28www.mintpressnews.com7
29media.jornada.com.mx1
.........
81025grtribune.org1
81026serialyti.ru1
81027ribler.ru1
81028kuznica-adv.kz1
81029cosmetic-sun.ru1
81030basispolymer.ru1
81031arenda-it.ru1
81032grandspa-ufa.ru1
81033exclusive-shop.kz1
81034rx24.ru1
81035homecrm.ru1
81036globus.ru1
81037www.novosibirsk.kontaktor.su1
81038ibest.pro1
81039vitjaz.su1
81040max-inform.ru1
81041rassadacvetov.ru1
81042xn----7sbefefeb8cgfoa1a3qpb.xn--p1ai1
81043videotresh.ru1
81044uchet-gibdd24.ru1
81045makaihbeats.net2
81046www.realitypornking.com1
81047benggadora.com4
81048ligayangligayasiya.com.ph1
81049www.hdfilmoon.com3
81050www.chartsinfrance.net1
81051www.puretrend.com1
81052www.marieclaire.fr1
81053kimpetras.com1
81054thala.urbanup.com1
\n", - "

81055 rows × 2 columns

\n", - "
" - ], - "text/plain": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
index0
0twitter.com5803217
1medium.com1447
24kputlocker.pro2
3123.nmaxmovies.com31
4online.realmedia.site11
5123.newflixmovies.me7
6moviestvhd.win10
7stream.canalsports.me1
8www.resdagboken.se11
9help.twitter.com21
10new.useehd.us3
11my.w.tt846
12hd.spacemove.us1
13alphabit.co4
14online.free6
15www.nookl.com8
16123.nmamovies.com1
17fancy.com5
18www.dailymail.co.uk492
19www.devex.com2
20www.thenation.com41
21www.globalresearch.ca10
22www.telesurenglish.net6
23www.democracynow.org20
24www.laiguana.tv6
25www.rt.com71
26mundo.sputniknews.com25
27www.commonspace.scot3
28www.mintpressnews.com7
29media.jornada.com.mx1
.........
81025grtribune.org1
81026serialyti.ru1
81027ribler.ru1
81028kuznica-adv.kz1
81029cosmetic-sun.ru1
81030basispolymer.ru1
81031arenda-it.ru1
81032grandspa-ufa.ru1
81033exclusive-shop.kz1
81034rx24.ru1
81035homecrm.ru1
81036globus.ru1
81037www.novosibirsk.kontaktor.su1
81038ibest.pro1
81039vitjaz.su1
81040max-inform.ru1
81041rassadacvetov.ru1
81042xn----7sbefefeb8cgfoa1a3qpb.xn--p1ai1
81043videotresh.ru1
81044uchet-gibdd24.ru1
81045makaihbeats.net2
81046www.realitypornking.com1
81047benggadora.com4
81048ligayangligayasiya.com.ph1
81049www.hdfilmoon.com3
81050www.chartsinfrance.net1
81051www.puretrend.com1
81052www.marieclaire.fr1
81053kimpetras.com1
81054thala.urbanup.com1
\n", - "

81055 rows × 2 columns

\n", - "
" - ] - }, - "execution_count": 43, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "df.rename_axis({'index':'domain',\"0\":\"frequency\"})" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.6.5" - } - }, - "nbformat": 4, - "nbformat_minor": 1 -} From c6f4689bb9125a29e960e65065a3bf6014941769 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Fri, 20 Mar 2020 16:36:38 -0700 Subject: [PATCH 178/221] set up queries to match --- app/controller.py | 4 +-- app/controllers/twitter_controller.py | 43 ++++++++++++++++++++++++--- utils/common.py | 1 + 3 files changed, 42 insertions(+), 6 deletions(-) diff --git a/app/controller.py b/app/controller.py index 1e82922..51365db 100644 --- a/app/controller.py +++ b/app/controller.py @@ -219,7 +219,7 @@ def fetch_twitter_tweets(backfill=False, collection_seconds=None, user_rand_frac log.info("Finished fetch_twitter_tweets, backfill={0}. PID={1}".format(backfill, str(os.getpid()))) -def twitter_generate_random_id_users(daily_limit=500000): +def fetch_twitter_random_id_users(daily_limit=500000): """ Create users for comparison making sure """ @@ -230,7 +230,7 @@ def twitter_generate_random_id_users(daily_limit=500000): log.info("Finished generating users from random IDs, PID={0}".format( str(os.getpid()))) -def match_comparison_group(): +def twitter_match_comparison_groups(): """ Match dmca-receiving and randomly generated users. """ diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index e7330e6..27cf0ac 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -10,7 +10,7 @@ from twitter import TwitterError from app.models import Base, TwitterUser, TwitterStatus, LumenNoticeToTwitterUser, TwitterUserSnapshot, TwitterFill, \ - TwitterUnshortenedUrls, TwitterStatusUrls + TwitterUnshortenedUrls, TwitterStatusUrls, ExperimentThing import requests import sqlalchemy from sqlalchemy import and_, or_, func, distinct @@ -1013,13 +1013,13 @@ def extract_urls_from_status_data(self, status_id, status_data, default_key): return url_rows - def make_random_integers(self): + def make_random_integers(self, num_to_make=100): # valid ranges are in beginning,end tups VALID_RANGES = ((10008932, 3308208032), (695135704930783232, 1095781403323707393)) random_user_ids = [] - for i in range(100): + for i in range(num_to_make): rand_range_i = random.randrange(0, len(VALID_RANGES)) # print(rand_range_i) rand_range_low, rand_range_high = VALID_RANGES[rand_range_i] @@ -1114,9 +1114,44 @@ def generate_random_id_users(self, daily_limit=500000): num_exist=len(users_lookup_result))) return num_generated + def filter_matchable_users(self, unmatched_users): + # find just those who have had a status in the last n-days + # just those + # TODO make this configurable + now = datetime.datetime.utcnow() + period_ago = now -datetime.timedelta(days=7) + + return valid_unmatched_users, invalid_unmatched_users + def match_lumen_and_random_id_users(self, batch_size=100): """Select all the twitter_users that are not part of a matched pair and pair them. matching criteria should be day added if matches can't be made, report that, but don't error.""" - num_matched = 0 + + # find the unmatched twitter users of both create types + # query-index in experiment-things to know users are matched + # object-type # don't use or make the randomization-block id + # metadata keep randomization-block-id and block sizes other match data here + # TODO how to make randomization block ids + + join_clause = and_(TwitterUser.id == ExperimentThing.query_index) + filter_clause = and_(ExperimentThing.id == None, + TwitterUser.user_state == utils.common.TwitterUserState.FOUND.value)# want to find the users that have not been matched and eligible + + unmatched_users = self.db_session.query(TwitterUser, ExperimentThing)\ + .outerjoin(ExperimentThing, join_clause)\ + .filter(filter_clause)\ + .all() + + valid_unmatched_users, invalid_unmatched_users = self.filter_matchable_users(unmatched_users) + + self.invalidate_not_qualifying_users(invalid_unmatched_users) + + matches, still_unmatched = self.make_matches(valid_unmatched_users) + + self.log.info('There were {} matches and {} left unmatched'.format(len(matches), len(still_unmatched))) + + self.save_matches(matches) + + num_matched = len(matches) return num_matched diff --git a/utils/common.py b/utils/common.py index 0b0d9e8..83c40a9 100644 --- a/utils/common.py +++ b/utils/common.py @@ -30,6 +30,7 @@ class TwitterUserState(Enum): NOT_FOUND = 2 # deleted (or never existed) SUSPENDED = 3 PROTECTED = 4 + NOT_QUALIFYING = 5 class TwitterUserCreateType(Enum): LUMEN_NOTICE = 1 From 4c7c1247432dfa1caad33dfdd4d90a9346267971 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Thu, 26 Mar 2020 15:21:42 -0700 Subject: [PATCH 179/221] write matching code simplest version --- app/controller.py | 134 +++++--- app/controllers/twitter_controller.py | 297 +----------------- app/controllers/twitter_match_controller.py | 144 +++++++++ .../twitter_random_user_controller.py | 120 +++++++ .../twitter_unshorten_controller.py | 163 ++++++++++ config/experiments/dmca_experiment.yml | 32 ++ 6 files changed, 552 insertions(+), 338 deletions(-) create mode 100644 app/controllers/twitter_match_controller.py create mode 100644 app/controllers/twitter_random_user_controller.py create mode 100644 app/controllers/twitter_unshorten_controller.py create mode 100644 config/experiments/dmca_experiment.yml diff --git a/app/controller.py b/app/controller.py index 51365db..51f2df9 100644 --- a/app/controller.py +++ b/app/controller.py @@ -1,4 +1,5 @@ import inspect, os, sys, yaml + ### LOAD ENVIRONMENT VARIABLES BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), "..") ENV = os.environ['CS_ENV'] @@ -16,9 +17,8 @@ import app.controllers.stylesheet_experiment_controller import app.controllers.sticky_comment_experiment_controller import app.controllers.lumen_controller -import app.controllers.twitter_controller -import app.controllers.twitter_analysis_controller -import app.controllers.twitter_observational_analysis_controller +from app.controllers import twitter_controller, twitter_match_controller, twitter_unshorten_controller, \ + twitter_analysis_controller, twitter_observational_analysis_controller, twitter_random_user_controller from utils.common import PageType, DbEngine import app.cs_logger from app.models import Base, SubredditPage, Subreddit, Post, ModAction, Experiment @@ -38,57 +38,67 @@ conn = app.connections.reddit_connect.RedditConnect() lumen_conn = app.connections.lumen_connect.LumenConnect(log) -twitter_conn = app.connections.twitter_connect.TwitterConnect(log=log, db_session = db_session_twit_conn) +twitter_conn = app.connections.twitter_connect.TwitterConnect(log=log, db_session=db_session_twit_conn) + def fetch_reddit_front(page_type=PageType.TOP): r = conn.connect(controller="FetchRedditFront") fp = app.controllers.front_page_controller.FrontPageController(db_session, r, log) fp.archive_reddit_front_page(page_type) -def fetch_subreddit_front(sub_name, page_type = PageType.TOP): + +def fetch_subreddit_front(sub_name, page_type=PageType.TOP): r = conn.connect(controller="FetchSubredditFront") sp = app.controllers.subreddit_controller.SubredditPageController(sub_name, db_session, r, log) - sp.archive_subreddit_page(pg_type = page_type) + sp.archive_subreddit_page(pg_type=page_type) + def fetch_post_comments(post_id): r = conn.connect(controller="FetchComments") cc = app.controllers.comment_controller.CommentController(db_session, r, log) cc.archive_missing_post_comments(post_id) + def fetch_missing_subreddit_post_comments(subreddit_id): r = conn.connect(controller="FetchComments") cc = app.controllers.comment_controller.CommentController(db_session, r, log) cc.archive_all_missing_subreddit_post_comments(subreddit_id) -def fetch_mod_action_history(subreddit, after_id = None): + +def fetch_mod_action_history(subreddit, after_id=None): r = conn.connect(controller="ModLog") mac = app.controllers.moderator_controller.ModeratorController(subreddit, db_session, r, log) subreddit_id = db_session.query(Subreddit).filter(Subreddit.name == subreddit).first().id first_action_count = db_session.query(ModAction).filter(ModAction.subreddit_id == subreddit_id).count() log.info("Fetching Moderation Action History for {subreddit}. {n} actions are currently in the archive.".format( - subreddit = subreddit, - n = first_action_count)) + subreddit=subreddit, + n=first_action_count)) after_id = mac.archive_mod_action_page(after_id) db_session.commit() - num_actions_stored = db_session.query(ModAction).filter(ModAction.subreddit_id == subreddit_id).count() - first_action_count + num_actions_stored = db_session.query(ModAction).filter( + ModAction.subreddit_id == subreddit_id).count() - first_action_count - while(num_actions_stored > 0): + while (num_actions_stored > 0): pre_action_count = db_session.query(ModAction).filter(ModAction.subreddit_id == subreddit_id).count() after_id = mac.archive_mod_action_page(after_id) db_session.commit() - num_actions_stored = db_session.query(ModAction).filter(ModAction.subreddit_id == subreddit_id).count() - pre_action_count + num_actions_stored = db_session.query(ModAction).filter( + ModAction.subreddit_id == subreddit_id).count() - pre_action_count + + log.info( + "Finished Fetching Moderation Action History for {subreddit}. {stored} actions were stored, with a total of {total}.".format( + subreddit=subreddit, + stored=pre_action_count - first_action_count, + total=pre_action_count)) - log.info("Finished Fetching Moderation Action History for {subreddit}. {stored} actions were stored, with a total of {total}.".format( - subreddit = subreddit, - stored = pre_action_count - first_action_count, - total = pre_action_count)) def fetch_last_thousand_comments(subreddit_name): r = conn.connect(controller="FetchComments") cc = app.controllers.comment_controller.CommentController(db_session, r, log) cc.archive_last_thousand_comments(subreddit_name) + def get_experiment_class(experiment_name): experiment_file_path = os.path.join(BASE_DIR, "config", "experiments", experiment_name) + ".yml" with open(experiment_file_path, 'r') as f: @@ -98,13 +108,13 @@ def get_experiment_class(experiment_name): log.error("Failure loading experiment yaml {0}".format(experiment_file_path), str(exc)) sys.exit(1) - if(ENV not in experiment_config_all.keys()): + if (ENV not in experiment_config_all.keys()): log.error("Cannot find experiment settings for {0} in {1}".format(ENV, experiment_file_path)) sys.exit(1) experiment_config = experiment_config_all[ENV] ## this is a hack. needs to be improved - if(experiment_config['controller'] == "StylesheetExperimentController"): + if (experiment_config['controller'] == "StylesheetExperimentController"): c = getattr(app.controllers.stylesheet_experiment_controller, experiment_config['controller']) else: c = getattr(app.controllers.sticky_comment_experiment_controller, experiment_config['controller']) @@ -116,46 +126,50 @@ def conduct_sticky_comment_experiment(experiment_name): sce = initialize_sticky_comment_experiment(experiment_name) sce.update_experiment() + # not to be run as a job, just to store and get a sce object def initialize_sticky_comment_experiment(experiment_name): c = get_experiment_class(experiment_name) r = conn.connect(controller=experiment_name) sce = c( - experiment_name = experiment_name, - db_session = db_session, - r = r, - log = log + experiment_name=experiment_name, + db_session=db_session, + r=r, + log=log ) return sce + def remove_experiment_replies(experiment_name): r = conn.connect(controller=experiment_name) sce = app.controllers.sticky_comment_experiment_controller.StickyCommentExperimentController( - experiment_name = experiment_name, - db_session = db_session, - r = r, - log = log + experiment_name=experiment_name, + db_session=db_session, + r=r, + log=log ) sce.remove_replies_to_treatments() + def archive_experiment_submission_metadata(experiment_name): r = conn.connect(controller=experiment_name) c = get_experiment_class(experiment_name) sce = c( - experiment_name = experiment_name, - db_session = db_session, - r = r, - log = log + experiment_name=experiment_name, + db_session=db_session, + r=r, + log=log ) sce.archive_experiment_submission_metadata() + def update_stylesheet_experiment(experiment_name): r = conn.connect(controller=app.controllers.stylesheet_experiment_controller.StylesheetExperimentController) sce = app.controllers.stylesheet_experiment_controller.StylesheetExperimentController( - experiment_name = experiment_name, - db_session = db_session, - r = r, - log = log + experiment_name=experiment_name, + db_session=db_session, + r=r, + log=log ) sce.update_experiment() @@ -167,8 +181,9 @@ def fetch_lumen_notices(num_days=2): log.info("Calling fetch_lumen_notices, num_days={0}, PID={1}".format(num_days, str(os.getpid()))) l = app.controllers.lumen_controller.LumenController(db_session, lumen_conn, log) - topics = ["Copyright"] # "Government Requests", #["Defamation","Protest, Parody and Criticism Sites","Law Enforcement Requests","International","Government Requests","DMCA Subpoenas","Court Orders"] - date = datetime.datetime.utcnow() - datetime.timedelta(days=int(float(num_days))) # now-2days + topics = [ + "Copyright"] # "Government Requests", #["Defamation","Protest, Parody and Criticism Sites","Law Enforcement Requests","International","Government Requests","DMCA Subpoenas","Court Orders"] + date = datetime.datetime.utcnow() - datetime.timedelta(days=int(float(num_days))) # now-2days l.archive_lumen_notices(topics, date) log.info("Finished fetch_lumen_notices, num_days={0}, PID={1}".format(num_days, str(os.getpid()))) @@ -199,13 +214,15 @@ def fetch_twitter_snapshot_and_tweets(max_time_delta_min=60): """ For all TwitterUserSnapshot.created_at older than x min, fetch another snapshot """ - log.info("Calling fetch_twitter_snapshot_and_tweets, max_time_delta_min={0} PID={1}".format(max_time_delta_min, str(os.getpid()))) + log.info("Calling fetch_twitter_snapshot_and_tweets, max_time_delta_min={0} PID={1}".format(max_time_delta_min, + str(os.getpid()))) t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) now = datetime.datetime.utcnow() - date = now - datetime.timedelta(minutes=int(float(max_time_delta_min))) # now-1hour + date = now - datetime.timedelta(minutes=int(float(max_time_delta_min))) # now-1hour t.query_and_archive_user_snapshots_and_tweets(date) twitter_conn.checkin_endpoint() - log.info("Finished fetch_twitter_snapshot_and_tweets, max_time_delta_min={0} PID={1}".format(max_time_delta_min, str(os.getpid()))) + log.info("Finished fetch_twitter_snapshot_and_tweets, max_time_delta_min={0} PID={1}".format(max_time_delta_min, + str(os.getpid()))) def fetch_twitter_tweets(backfill=False, collection_seconds=None, user_rand_frac=None, fill_start_time=None): @@ -214,7 +231,8 @@ def fetch_twitter_tweets(backfill=False, collection_seconds=None, user_rand_frac """ log.info("Calling fetch_twitter_tweets, backfill={0}. PID={1}".format(backfill, str(os.getpid()))) t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) - t.query_and_archive_tweets(backfill=backfill, fill_start_time=fill_start_time, collection_seconds=collection_seconds, user_rand_frac=user_rand_frac) + t.query_and_archive_tweets(backfill=backfill, fill_start_time=fill_start_time, + collection_seconds=collection_seconds, user_rand_frac=user_rand_frac) twitter_conn.checkin_endpoint() log.info("Finished fetch_twitter_tweets, backfill={0}. PID={1}".format(backfill, str(os.getpid()))) @@ -223,75 +241,87 @@ def fetch_twitter_random_id_users(daily_limit=500000): """ Create users for comparison making sure """ - log.info("Starting to generate users from random IDs, PID={0}".format( str(os.getpid()))) - t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) + log.info("Starting to generate users from random IDs, PID={0}".format(str(os.getpid()))) + t = app.controllers.twitter_random_user_controller.TwitterRandomUserController(db_session, twitter_conn, log) t.generate_random_id_users(daily_limit=daily_limit) twitter_conn.checkin_endpoint() - log.info("Finished generating users from random IDs, PID={0}".format( str(os.getpid()))) + log.info("Finished generating users from random IDs, PID={0}".format(str(os.getpid()))) def twitter_match_comparison_groups(): """ Match dmca-receiving and randomly generated users. """ - log.info("Starting to match comparison group, PID={0}".format( str(os.getpid()))) - t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) + log.info("Starting to match comparison group, PID={0}".format(str(os.getpid()))) + experiment_file_path = os.path.join(BASE_DIR, "config", "experiments", 'dmca_experiment.yml') + with open(experiment_file_path) as f: + experiment_config = yaml.safe_load(f) + t = app.controllers.twitter_match_controller.TwitterMatchController(db_session, twitter_conn, log, + experiment_config) t.match_lumen_and_random_id_users() twitter_conn.checkin_endpoint() - log.info("Finished matching comparison group, PID={0}".format( str(os.getpid()))) + log.info("Finished matching comparison group, PID={0}".format(str(os.getpid()))) + def unshorten_twitter_urls(): """ unshorten all the twitter statuses urls """ - t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) + t = app.controllers.twitter_unshorten_controller.TwitterUnshortenController(db_session, twitter_conn, log) log.info('Starting unshorten twitter urls') t.unshorten_urls() # twitter_conn.checkin_endpoint() log.info("Finished unshorten twitter urls") + def output_unshorten_urls(): """ unshorten all the twitter statuses urls """ - t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) + t = app.controllers.twitter_unshorten_controller.TwitterUnshortenController(db_session, twitter_conn, log) log.info('Starting unshorten twitter urls') t.output_unshorten_urls() # twitter_conn.checkin_endpoint() log.info("Finished unshorten twitter urls") + def extract_twitter_urls2(): """ extract all the twitter statuses urls """ - t = app.controllers.twitter_analysis_controller.TwitterAnalysisController(db_session, db_session_write, twitter_conn, log) + t = app.controllers.twitter_analysis_controller.TwitterAnalysisController(db_session, db_session_write, + twitter_conn, log) log.info('Starting extract twitter urls') t.extract_urls2() # twitter_conn.checkin_endpoint() log.info("Finished extract twitter urls") + # example usage: `python3 app/controller.py get_tlds 1400 1700` def get_tlds(start, end): """ get tlds from unshortened twitter status urls """ - t = app.controllers.twitter_analysis_controller.TwitterAnalysisController(db_session, db_session_write, twitter_conn, log) + t = app.controllers.twitter_analysis_controller.TwitterAnalysisController(db_session, db_session_write, + twitter_conn, log) log.info('Starting get tlds') t.get_tlds(int(start), int(end)) log.info('Finishing get tlds') + def extract_twitter_urls(twitter_uid=None): """ extract all the twitter statuses urls """ - t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) + t = app.controllers.twitter_unshorten_controller.TwitterUnshortenController(db_session, twitter_conn, log) log.info('Starting exract twitter urls') t.extract_urls(twitter_uid) # twitter_conn.checkin_endpoint() log.info("Finished extract twitter urls") + def twitter_observational_analysis_basic_profiling(): tb = app.controllers.twitter_observational_analysis_controller.TwitterBasicProfilingController( "/home/mmou/Dropbox/Documents/Chronos/MIT/CM/CivilServant", db_session, log) @@ -311,5 +341,5 @@ def twitter_observational_analysis(start_date, end_date, min_observed_days, outp if __name__ == "__main__": fnc = sys.argv[1] - args = sys.argv[2:] + args = sys.argv[2:] locals()[fnc](*args) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 27cf0ac..dcdeb94 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -22,8 +22,6 @@ from utils.url_unshortener import bulkUnshorten -TWITTER_DATETIME_STR_FORMAT = "%a %b %d %H:%M:%S %z %Y" - """ Some notes about twitter users: @@ -74,10 +72,11 @@ class TwitterController(): - def __init__(self, db_session, t, log): + def __init__(self, db_session, t, log, config=None): self.t = t self.db_session = db_session self.log = log + self.config = config ######################################################### ################### ARCHIVE NEW USERS CODE @@ -222,7 +221,7 @@ def commit_users_failed(user): if uid not in all_existing_ids and screen_name in left_users: # if uid not in all_existing_ids: if this id hasn't been seen before. need to do this if querying off usernames, since usernames can change. # if (uid in left_users or screen_name in left_users): then we haven't seen this screen_name before. else, don't archive. actually this is a redundant check - created_at = datetime.datetime.strptime(user_json["created_at"], TWITTER_DATETIME_STR_FORMAT) + created_at = datetime.datetime.strptime(user_json["created_at"], utils.common.TWITTER_STRPTIME) # determine user state user_state = TwitterUserState.FOUND if not user_json[ @@ -237,8 +236,11 @@ def commit_users_failed(user): screen_name=screen_name, # usernames change! index/search on id when possible. created_at=created_at, # is UTC; expected string format: "Mon Nov 29 21:18:15 +0000 2010" + created_type=utils.common.TwitterUserCreateType.LUMEN_NOTICE.value, record_created_at=now, - lang=user_json["lang"], + lang=user_json["status"]["lang"] if 'status' in user_json.keys() and 'lang' in user_json['status'].keys() else None, + last_status_dt=datetime.datetime.strptime(user_json["status"]["created_at"], utils.common.TWITTER_STRPTIME) if 'status' in user_json.keys() and 'created_at' in user_json['status'].keys() else None, + metadata_json=user_json if user_json else None, user_state=user_state.value, CS_oldest_tweets_archived=CS_JobState.NOT_PROCESSED.value) self.db_session.add(user_record) @@ -472,7 +474,7 @@ def archive_old_users(self, key_to_users, has_ids=True): screen_name = user_json["screen_name"].lower() user_state = TwitterUserState.FOUND if not user_json["protected"] else TwitterUserState.PROTECTED - created_at = datetime.datetime.strptime(user_json["created_at"], TWITTER_DATETIME_STR_FORMAT) + created_at = datetime.datetime.strptime(user_json["created_at"], utils.common.TWITTER_STRPTIME) now = datetime.datetime.utcnow() # get TwitterUser record @@ -501,7 +503,7 @@ def archive_old_users(self, key_to_users, has_ids=True): user.screen_name = screen_name user.created_at = created_at # user.record_updated_at = now # THIS SHOULDN'T BE UPDATED. old TwitterUser records probably have wrong record_updated_at - user.lang = user_json["lang"] + user.lang = user_json["status"]["lang"] if 'status' in user_json.keys() and 'lang' in user_json['status'].keys() else None user.user_state = user_state.value # create TwitterUserSnapshot record @@ -822,7 +824,7 @@ def archive_user_tweets(self, user, backfill=False, is_test=False): statuses_jsons = [json.loads(json.dumps(status._json).encode("utf-8", "replace")) if type( status) is twitter.models.Status else status for status in statuses] # to accomodate test fixture data] sorted_statuses_jsons = sorted(statuses_jsons, key=lambda s: datetime.datetime.strptime(s["created_at"], - TWITTER_DATETIME_STR_FORMAT)) + utils.common.TWITTER_STRPTIME)) prev_new_seen_statuses_length = len(new_seen_statuses) this_oldest_id = min([status_json["id"] for status_json in sorted_statuses_jsons]) @@ -830,7 +832,7 @@ def archive_user_tweets(self, user, backfill=False, is_test=False): for i, status_json in enumerate(sorted_statuses_jsons): # go through statuses from oldest to newest status_id = status_json["id"] - created_at = datetime.datetime.strptime(status_json["created_at"], TWITTER_DATETIME_STR_FORMAT) + created_at = datetime.datetime.strptime(status_json["created_at"], utils.common.TWITTER_STRPTIME) # if status hasn't been stored before, store if status_id not in seen_statuses and status_id not in new_seen_statuses: try: @@ -878,280 +880,3 @@ def archive_user_tweets(self, user, backfill=False, is_test=False): job_state = CS_JobState.PROCESSED return job_state - - def unshorten_urls(self, unshorten_batch_size=1000, idempotent=True): - # iterate over twitter_status_urls converting expanded urls to unshortened urls - # get the max and minimum status ids - # batch between those # 10,000 items - # run the url unshortener on the batch - # re-insert the results based on table id or expanded_url - status_url_id_max = self.db_session.query(func.max(TwitterStatusUrls.id)).one()[0] - status_url_id_min = self.db_session.query(func.min(TwitterStatusUrls.id)).one()[0] - status_url_id_cnt = self.db_session.query(func.count(TwitterStatusUrls.id)).one()[0] - self.log.info('status_url_id_max is {status_url_id_max}'.format(status_url_id_max=status_url_id_max)) - self.log.info('status_url_id_min is {status_url_id_min}'.format(status_url_id_min=status_url_id_min)) - self.log.info('status_url_id_cnt is {status_url_id_cnt}'.format(status_url_id_cnt=status_url_id_cnt)) - - num_batches = math.ceil((status_url_id_max - status_url_id_min) / unshorten_batch_size) - for batch_i in range(num_batches): - start_id = status_url_id_min + (batch_i * unshorten_batch_size) - end_id = status_url_id_min + ((batch_i + 1) * unshorten_batch_size) - self.log.debug('working on status url ids {start_id} --- {end_id}'.format(start_id=start_id, end_id=end_id)) - batch_status_urls_a = self.db_session.query(TwitterStatusUrls) \ - .filter(and_(TwitterStatusUrls.id >= start_id, TwitterStatusUrls.id < end_id)).all() - - if idempotent: - batch_status_urls = [su for su in batch_status_urls_a if - (su.unshortened_url is None and su.error_unshortening is None)] - else: - batch_status_urls = batch_status_urls_a - - self.log.info('Working on batch:{batch_i} {len_batch_status_urls} status urls'.format(batch_i=batch_i, - len_batch_status_urls=len( - batch_status_urls))) - urls_to_unshorten = [su.expanded_url for su in batch_status_urls] - - if urls_to_unshorten: - # run them through the unshortener - with warnings.catch_warnings(): - warnings.simplefilter("ignore") - unshort_results = bulkUnshorten(urls_to_unshorten) - - # stich these back up - for unshort_res in unshort_results: - # find the db objects associated - matching_sus = [su for su in batch_status_urls if unshort_res['original_url'] == su.expanded_url] - for matching_su in matching_sus: - matching_su.unshortened_url = unshort_res['final_url'] - matching_su.error_unshortening = unshort_res['error'] if not unshort_res['success'] else None - - self.db_session.add_all(batch_status_urls) - self.db_session.commit() - - def output_unshorten_urls(self): - # deprecated based on new way unshortening is happening - r = redis.Redis() - - status_users_res = self.db_session.query(distinct(TwitterStatus.user_id)).all() - status_user_ids = [user_tup[0] for user_tup in status_users_res if user_tup[0]] - - for i, status_user_id in enumerate(status_user_ids): - self.log.info( - 'Unshortening URLS for user id {0}. {1} of {2}'.format(status_user_id, i, len(status_user_ids))) - user_statuses = self.db_session.query(TwitterStatus).filter(TwitterStatus.user_id == status_user_id).all() - status_urls_flat = [] - - def extract_urls(self, twitter_uid=None): - - if twitter_uid is None: - status_users_res = self.db_session.query(distinct(TwitterStatus.user_id)).all() - status_user_ids = [user_tup[0] for user_tup in status_users_res if user_tup[0]] - else: - status_user_ids = [int(twitter_uid)] - - for i, status_user_id in enumerate(status_user_ids): - self.log.info('Extracting URLS for user id {0}. {1} of {2}'.format(status_user_id, i, len(status_user_ids))) - # get all user's tweets - - user_statuses = self.db_session.query(TwitterStatus).filter(TwitterStatus.user_id == status_user_id).all() - - for user_status in user_statuses: - status_data = json.loads(user_status.status_data) - url_rows = self.extract_urls_from_status_data(user_status.id, status_data, None) - self.db_session.add_all(url_rows) - self.db_session.commit() - - # returns list of TwitterStatusUrls - def extract_urls_from_status_data(self, status_id, status_data, default_key): - url_rows = [] - - if 'entities' in status_data and 'urls' in status_data['entities']: - urls = status_data['entities']['urls'] - key = default_key if default_key is not None else TwitterUrlKey.ENTITY - - for url in urls: - url_row = TwitterStatusUrls( - twitter_status_id=status_id, - status_data_key=key.value, - raw_url=url['url'] if 'url' in url else None, - expanded_url=url['expanded_url'] if 'expanded_url' in url else None, - unwound_url=url['unwound']['url'] if 'unwound' in url and 'url' in data['unwound'] else None) - - # self.log.info('...status id {0}: got url={1}; total={2}'.format(status_id, url['url'], len(url_rows)+1)) - url_rows.append(url_row) - - if 'extended_entities' in status_data and 'media' in status_data['extended_entities']: - urls = status_data['extended_entities']['media'] - key = default_key if default_key is not None else TwitterUrlKey.EXTENDED - if key is TwitterUrlKey.RETWEETED_ENTITY: - key = TwitterUrlKey.RETWEETED_EXTENDED - elif key is TwitterUrlKey.QUOTED_ENTITY: - key = TwitterUrlKey.QUOTED_EXTENDED - - for media in urls: - url_row = TwitterStatusUrls( - twitter_status_id=status_id, - status_data_key=key.value, - raw_url=media['url'] if 'url' in media else None, - expanded_url=media['expanded_url'] if 'expanded_url' in media else None, - unwound_url=media['unwound']['url'] if 'unwound' in media and 'url' in media['unwound'] else None) - - # self.log.info('...user id {0}: got url; total={1}'.format(status_id, len(url_rows)+1)) - url_rows.append(url_row) - - if 'retweeted_status' in status_data: - retweeted_url_rows = self.extract_urls_from_status_data(status_id, - status_data['retweeted_status'], - TwitterUrlKey.RETWEETED_ENTITY) - url_rows += retweeted_url_rows - - if 'quoted_status' in status_data: - quoted_url_rows = self.extract_urls_from_status_data(status_id, - status_data['quoted_status'], - TwitterUrlKey.QUOTED_ENTITY) - url_rows += quoted_url_rows - - return url_rows - - def make_random_integers(self, num_to_make=100): - # valid ranges are in beginning,end tups - VALID_RANGES = ((10008932, 3308208032), - (695135704930783232, 1095781403323707393)) - - random_user_ids = [] - for i in range(num_to_make): - rand_range_i = random.randrange(0, len(VALID_RANGES)) - # print(rand_range_i) - rand_range_low, rand_range_high = VALID_RANGES[rand_range_i] - - rand_user_int = random.randrange(rand_range_low, rand_range_high) - random_user_ids.append(rand_user_int) - random_user_ids = list(set(random_user_ids)) # to make sure we aren't sending duplicates to the API - return random_user_ids - - def save_random_id_users(self, random_users_dict): - """ - there should be a user id for every user that was guessed, if they existed they have a non-None user-detail dict. - :param random_users_dict: - :return: - """ - twitter_users_to_add = [] - for user_id, user_details in random_users_dict.items(): - user_state = utils.common.TwitterUserState.FOUND.value \ - if user_details else utils.common.TwitterUserState.NOT_FOUND.value - not_found_id = None if user_details else '{0}_{1}'.format(utils.common.NOT_FOUND_TWITTER_USER_STR, user_id) - screen_name = user_details.screen_name if user_details else None - created_at = datetime.datetime.strptime(user_details.created_at, utils.common.TWITTER_STRPTIME) \ - if user_details else None - lang = user_details.lang if user_details else None - last_status_dt = datetime.datetime.strptime(user_details.status.created_at, utils.common.TWITTER_STRPTIME) \ - if user_details and hasattr(user_details.status, 'created_at') \ - else None - metadata_json = user_details._json if user_details else None - rand_twitter_user = dict( - id=user_id, - not_found_id=not_found_id, - user_state=user_state, - screen_name=screen_name, - created_at=created_at, - lang=lang, - last_status_dt=last_status_dt, - metadata_json=metadata_json, - created_type=utils.common.TwitterUserCreateType.RANDOMLY_GENERATED.value, - CS_oldest_tweets_archived=utils.common.CS_JobState.NOT_PROCESSED.value - ) - twitter_users_to_add.append(rand_twitter_user) - - try: - with warnings.catch_warnings(): - warnings.filterwarnings("ignore", r"\(1062, \"Duplicate entry") - self.db_session.execute(TwitterUser.__table__.insert().prefix_with("IGNORE"), twitter_users_to_add) - self.db_session.commit() - except sqlalchemy.exc.SQLAlchemyError: - self.log.error("Error while saving random id twitter users for user ids: {}.".format( - [u['id'] for u in twitter_users_to_add]), exc_info=True) - - return len(twitter_users_to_add) - - def num_random_id_generated_so_far_today(self): - now = datetime.datetime.utcnow() - yesterday = now - datetime.timedelta(days=1) - today_guessed_q = self.db_session.query(TwitterUser).filter( - TwitterUser.created_type == utils.common.TwitterUserCreateType.RANDOMLY_GENERATED). \ - filter(TwitterUser.record_created_at > yesterday) - num_guessed_today = today_guessed_q.count() - return num_guessed_today - - def generate_random_id_users(self, daily_limit=500000): - ''' - https://github.com/SMAPPNYU/smapputil/blob/master/py/query_twitter/old_queries/generate_random_twitter_potential_ids.py - from twitter : These IDs are unique 64-bit unsigned integers, which are based on time, instead of being sequential. The full ID is composed of a timestamp, a worker number, and a sequence number. When consuming the API using JSON, it is important to always use the field id_str instead of id. - https://developer.twitter.com/en/docs/basics/twitter-ids - Use a bloom filter to know what IDs have already been tried. - Don't create more than daily limit number of users. - ''' - # Get the number guessed today. - if self.num_random_id_generated_so_far_today() >= daily_limit: - return 0 # zero made in this batch - - random_user_ids = self.make_random_integers() - # TODO use a bloom filter here - # Get the IDs of those already guessed or Lumen-onboarded - try: - users_lookup_result = self.t.query(self.t.api.UsersLookup, user_id=random_user_ids) - except TwitterError as e: - if e.message[0]['code'] in (50, 63): - pass - else: - raise e - random_users_dict = {ruid: None for ruid in random_user_ids} - for random_exist_user in users_lookup_result: - random_users_dict[random_exist_user.id] = random_exist_user - - num_generated = self.save_random_id_users(random_users_dict) - self.log.info("Persisted {num_generated} random ID users. {num_exist} actually existed.".format( - num_generated=num_generated, - num_exist=len(users_lookup_result))) - return num_generated - - def filter_matchable_users(self, unmatched_users): - # find just those who have had a status in the last n-days - # just those - # TODO make this configurable - now = datetime.datetime.utcnow() - period_ago = now -datetime.timedelta(days=7) - - return valid_unmatched_users, invalid_unmatched_users - - def match_lumen_and_random_id_users(self, batch_size=100): - """Select all the twitter_users that are not part of a matched pair and pair them. - matching criteria should be day added - if matches can't be made, report that, but don't error.""" - - # find the unmatched twitter users of both create types - # query-index in experiment-things to know users are matched - # object-type # don't use or make the randomization-block id - # metadata keep randomization-block-id and block sizes other match data here - # TODO how to make randomization block ids - - join_clause = and_(TwitterUser.id == ExperimentThing.query_index) - filter_clause = and_(ExperimentThing.id == None, - TwitterUser.user_state == utils.common.TwitterUserState.FOUND.value)# want to find the users that have not been matched and eligible - - unmatched_users = self.db_session.query(TwitterUser, ExperimentThing)\ - .outerjoin(ExperimentThing, join_clause)\ - .filter(filter_clause)\ - .all() - - valid_unmatched_users, invalid_unmatched_users = self.filter_matchable_users(unmatched_users) - - self.invalidate_not_qualifying_users(invalid_unmatched_users) - - matches, still_unmatched = self.make_matches(valid_unmatched_users) - - self.log.info('There were {} matches and {} left unmatched'.format(len(matches), len(still_unmatched))) - - self.save_matches(matches) - - num_matched = len(matches) - return num_matched diff --git a/app/controllers/twitter_match_controller.py b/app/controllers/twitter_match_controller.py new file mode 100644 index 0000000..3688364 --- /dev/null +++ b/app/controllers/twitter_match_controller.py @@ -0,0 +1,144 @@ +import datetime + +from app.controllers.twitter_controller import TwitterController +from app.models import Base, TwitterUser, TwitterStatus, LumenNoticeToTwitterUser, TwitterUserSnapshot, TwitterFill, \ + TwitterUnshortenedUrls, TwitterStatusUrls, ExperimentThing +from sqlalchemy import and_, or_, func, distinct +import utils.common + +TWITTER_DATETIME_STR_FORMAT = "%a %b %d %H:%M:%S %z %Y" + + +class TwitterMatchController(TwitterController): + def __init__(self): + super.__init__() + self.now = datetime.datetime.utcnow() + self.period_ago = self.now - datetime.timedelta( + days=self.config['match_criteria']['random_user_active_within_days']) + self.match_id = self.now.strftime('%Y%m%d%H%M%S') + + def match_lumen_and_random_id_users(self, batch_size=100): + """Select all the twitter_users that are not part of and experiment group and group them + - want to match random_id_users who tweeted most K-hours (say 48) within the the lumen notice date as the + - so the date range is essentially the block. + - want the comparison (random-id) group to be larger maybe 1.25 to 1.5 times the lumen-group. + - report how large the groups are""" + + # DMCA notice offense was issued + # doesn't need to do direct pair matching, can be around + # are we blocking? no + + unmatched_users = self.get_unmatched_users() + + valid_unmatched_users, invalid_unmatched_users = self.filter_matchable_users(unmatched_users) + + self.invalidate_not_qualifying_users(invalid_unmatched_users) + + matches, still_unmatched = self.make_matches(valid_unmatched_users) + + self.log.info('There were {} matches and {} left unmatched'.format(len(matches), len(still_unmatched))) + + self.save_matches(matches) + + self.report_matching_status() + + num_matched = len(matches) + return num_matched + + def get_unmatched_users(self): + join_clause = and_(TwitterUser.id == ExperimentThing.query_index) + filter_clause = and_(ExperimentThing.id == None, + TwitterUser.user_state == utils.common.TwitterUserState.FOUND.value) # want to find the users that have not been matched and eligible + + unmatched_users_ret = self.db_session.query(TwitterUser, ExperimentThing) \ + .outerjoin(ExperimentThing, join_clause) \ + .filter(filter_clause) \ + .all() + + # since the experimenthing ought to be null, don't return it + unmatched_users = [unmatched_user_tup[0] for unmatched_user_tup in unmatched_users_ret] + + return unmatched_users + + def filter_matchable_users(self, unmatched_users): + # find just those who have had a status in the last n-days + valid_unmatched_users = [] + invalid_unmatched_users = [] + + random_id_users = [u for u in unmatched_users if + u.created_type == utils.common.TwitterUserCreateType.RANDOMLY_GENERATED.value] + dmca_users = [u for u in unmatched_users if + u.created_type == utils.common.TwitterUserCreateType.LUMEN_NOTICE.value] + + # first do random users + for ru in random_id_users: + if ru.last_status_dt >= self.period_ago and ru.lang in self.config['match_criteria']['langs']: + valid_unmatched_users.append(ru) + else: + invalid_unmatched_users.append(ru) + + for du in dmca_users: + if du.lang in self.config['match_criteria']['lang']: + valid_unmatched_users.append(du) + else: + invalid_unmatched_users.append(du) + + return valid_unmatched_users, invalid_unmatched_users + + def invalidate_not_qualifying_users(self, invalid_unmatched_users): + """ + set the user states on these random-id users to TwitterUserState.not-qualifying so they don't show in queries any more. + """ + # invalidate by creating a negative-1 randomization arm + self.insert_ETs(invalid_unmatched_users, randomization_arm=-1, block_id=-1) + + def insert_ETs(self, twitter_users, randomization_arm, block_id): + ETs_to_add = [] + for tu in twitter_users: + # query-index in experiment-things to know users are matched + # object-type # don't use or make the randomization-block id + # metadata keep randomization-block-id and block sizes other match data here + metadata = {'block_id': block_id, 'randomization_arm': randomization_arm} + et = ExperimentThing(query_index=tu.id, + object_type=randomization_arm, + metadata_json=metadata) + ETs_to_add.append(et) + self.db_session.add_all(ETs_to_add) + self.db_session.commit() + + def make_matches(self, valid_unmatched_users): + """ + this is where matching between comparison and control occur. + note there's no guarantee that the groups will be the same size so we return matches, still_unmatched tuple + """ + matches = [valid_unmatched_users] # list of matches but bypassing for now + still_unmatched = [] + return matches, still_unmatched + + def save_matches(self, matches): + """ + Simply persist the matches and their ids to the ET table. + Note the way we are marking something as matched is that the query-id in ET will be a Twitter ID. + """ + random_id_users = [] + dmca_users = [] + for match in matches: + random_id_match = [u for u in match if + u.created_type == utils.common.TwitterUserCreateType.RANDOMLY_GENERATED.value] + random_id_users.extend(random_id_match) + dmca_match = [u for u in match if + u.created_type == utils.common.TwitterUserCreateType.LUMEN_NOTICE.value] + dmca_users.extend(dmca_match) + + self.insert_ETs(random_id_users, + randomization_arm=utils.common.TwitterUserCreateType.RANDOMLY_GENERATED.value, + block_id=self.match_id) + self.insert_ETs(dmca_users, + randomization_arm=utils.common.TwitterUserCreateType.LUMEN_NOTICE.value, + block_id=self.match_id) + + def report_matching_status(self): + """ + how many users are in each arm, and in each dategroup. + :return: + """ diff --git a/app/controllers/twitter_random_user_controller.py b/app/controllers/twitter_random_user_controller.py new file mode 100644 index 0000000..802ea75 --- /dev/null +++ b/app/controllers/twitter_random_user_controller.py @@ -0,0 +1,120 @@ +import math +import random +import datetime + +from twitter import TwitterError + +from app.controllers.twitter_controller import TwitterController +from app.models import Base, TwitterUser, TwitterStatus, LumenNoticeToTwitterUser, TwitterUserSnapshot, TwitterFill, \ + TwitterUnshortenedUrls, TwitterStatusUrls, ExperimentThing +import sqlalchemy +import utils.common +from utils.common import TwitterUserState, NOT_FOUND_TWITTER_USER_STR, CS_JobState, neq, EXPERIMENT_LANGUAGES, \ + TwitterUrlKey +import sys, warnings, os + +TWITTER_DATETIME_STR_FORMAT = "%a %b %d %H:%M:%S %z %Y" + + + +class TwitterRandomUserController(TwitterController): + def make_random_integers(self, num_to_make=100): + # valid ranges are in beginning,end tups + VALID_RANGES = ((10008932, 3308208032), + (695135704930783232, 1095781403323707393)) + + random_user_ids = [] + for i in range(num_to_make): + rand_range_i = random.randrange(0, len(VALID_RANGES)) + # print(rand_range_i) + rand_range_low, rand_range_high = VALID_RANGES[rand_range_i] + + rand_user_int = random.randrange(rand_range_low, rand_range_high) + random_user_ids.append(rand_user_int) + random_user_ids = list(set(random_user_ids)) # to make sure we aren't sending duplicates to the API + return random_user_ids + + def save_random_id_users(self, random_users_dict): + """ + there should be a user id for every user that was guessed, if they existed they have a non-None user-detail dict. + :param random_users_dict: + :return: + """ + twitter_users_to_add = [] + for user_id, user_details in random_users_dict.items(): + user_state = utils.common.TwitterUserState.FOUND.value \ + if user_details else utils.common.TwitterUserState.NOT_FOUND.value + not_found_id = None if user_details else '{0}_{1}'.format(utils.common.NOT_FOUND_TWITTER_USER_STR, user_id) + screen_name = user_details.screen_name if user_details else None + created_at = datetime.datetime.strptime(user_details.created_at, utils.common.TWITTER_STRPTIME) \ + if user_details else None + lang = user_details.status.lang if hasattr(user_details, 'status') and hasattr(user_details.status,'lang') else None + last_status_dt = datetime.datetime.strptime(user_details.status.created_at, utils.common.TWITTER_STRPTIME) \ + if user_details and hasattr(user_details.status, 'created_at') \ + else None + metadata_json = user_details._json if user_details else None + rand_twitter_user = dict( + id=user_id, + not_found_id=not_found_id, + user_state=user_state, + screen_name=screen_name, + created_at=created_at, + lang=lang, + last_status_dt=last_status_dt, + metadata_json=metadata_json, + created_type=utils.common.TwitterUserCreateType.RANDOMLY_GENERATED.value, + CS_oldest_tweets_archived=utils.common.CS_JobState.NOT_PROCESSED.value + ) + twitter_users_to_add.append(rand_twitter_user) + + try: + with warnings.catch_warnings(): + warnings.filterwarnings("ignore", r"\(1062, \"Duplicate entry") + self.db_session.execute(TwitterUser.__table__.insert().prefix_with("IGNORE"), twitter_users_to_add) + self.db_session.commit() + except sqlalchemy.exc.SQLAlchemyError: + self.log.error("Error while saving random id twitter users for user ids: {}.".format( + [u['id'] for u in twitter_users_to_add]), exc_info=True) + + return len(twitter_users_to_add) + + def num_random_id_generated_so_far_today(self): + now = datetime.datetime.utcnow() + yesterday = now - datetime.timedelta(days=1) + today_guessed_q = self.db_session.query(TwitterUser).filter( + TwitterUser.created_type == utils.common.TwitterUserCreateType.RANDOMLY_GENERATED). \ + filter(TwitterUser.record_created_at > yesterday) + num_guessed_today = today_guessed_q.count() + return num_guessed_today + + def generate_random_id_users(self, daily_limit=500000): + ''' + https://github.com/SMAPPNYU/smapputil/blob/master/py/query_twitter/old_queries/generate_random_twitter_potential_ids.py + from twitter : These IDs are unique 64-bit unsigned integers, which are based on time, instead of being sequential. The full ID is composed of a timestamp, a worker number, and a sequence number. When consuming the API using JSON, it is important to always use the field id_str instead of id. + https://developer.twitter.com/en/docs/basics/twitter-ids + Use a bloom filter to know what IDs have already been tried. + Don't create more than daily limit number of users. + ''' + # Get the number guessed today. + if self.num_random_id_generated_so_far_today() >= daily_limit: + return 0 # zero made in this batch + + random_user_ids = self.make_random_integers() + # TODO use a bloom filter here + # Get the IDs of those already guessed or Lumen-onboarded + try: + users_lookup_result = self.t.query(self.t.api.UsersLookup, user_id=random_user_ids) + except TwitterError as e: + if e.message[0]['code'] in (50, 63): + pass + else: + raise e + random_users_dict = {ruid: None for ruid in random_user_ids} + for random_exist_user in users_lookup_result: + random_users_dict[random_exist_user.id] = random_exist_user + + num_generated = self.save_random_id_users(random_users_dict) + self.log.info("Persisted {num_generated} random ID users. {num_exist} actually existed.".format( + num_generated=num_generated, + num_exist=len(users_lookup_result))) + return num_generated diff --git a/app/controllers/twitter_unshorten_controller.py b/app/controllers/twitter_unshorten_controller.py new file mode 100644 index 0000000..ee8384a --- /dev/null +++ b/app/controllers/twitter_unshorten_controller.py @@ -0,0 +1,163 @@ +import math +import random +from operator import eq, ne + +import redis +import twitter +import simplejson as json +import datetime + +from twitter import TwitterError + +from app.controllers.twitter_controller import TwitterController +from app.models import Base, TwitterUser, TwitterStatus, LumenNoticeToTwitterUser, TwitterUserSnapshot, TwitterFill, \ + TwitterUnshortenedUrls, TwitterStatusUrls, ExperimentThing +import requests +import sqlalchemy +from sqlalchemy import and_, or_, func, distinct +import utils.common +from utils.common import TwitterUserState, NOT_FOUND_TWITTER_USER_STR, CS_JobState, neq, EXPERIMENT_LANGUAGES, \ + TwitterUrlKey +import sys, warnings, os +from collections import defaultdict + +from utils.url_unshortener import bulkUnshorten + +TWITTER_DATETIME_STR_FORMAT = "%a %b %d %H:%M:%S %z %Y" + + + +class TwitterUnshortenController(TwitterController): + def unshorten_urls(self, unshorten_batch_size=1000, idempotent=True): + # iterate over twitter_status_urls converting expanded urls to unshortened urls + # get the max and minimum status ids + # batch between those # 10,000 items + # run the url unshortener on the batch + # re-insert the results based on table id or expanded_url + status_url_id_max = self.db_session.query(func.max(TwitterStatusUrls.id)).one()[0] + status_url_id_min = self.db_session.query(func.min(TwitterStatusUrls.id)).one()[0] + status_url_id_cnt = self.db_session.query(func.count(TwitterStatusUrls.id)).one()[0] + self.log.info('status_url_id_max is {status_url_id_max}'.format(status_url_id_max=status_url_id_max)) + self.log.info('status_url_id_min is {status_url_id_min}'.format(status_url_id_min=status_url_id_min)) + self.log.info('status_url_id_cnt is {status_url_id_cnt}'.format(status_url_id_cnt=status_url_id_cnt)) + + num_batches = math.ceil((status_url_id_max - status_url_id_min) / unshorten_batch_size) + for batch_i in range(num_batches): + start_id = status_url_id_min + (batch_i * unshorten_batch_size) + end_id = status_url_id_min + ((batch_i + 1) * unshorten_batch_size) + self.log.debug('working on status url ids {start_id} --- {end_id}'.format(start_id=start_id, end_id=end_id)) + batch_status_urls_a = self.db_session.query(TwitterStatusUrls) \ + .filter(and_(TwitterStatusUrls.id >= start_id, TwitterStatusUrls.id < end_id)).all() + + if idempotent: + batch_status_urls = [su for su in batch_status_urls_a if + (su.unshortened_url is None and su.error_unshortening is None)] + else: + batch_status_urls = batch_status_urls_a + + self.log.info('Working on batch:{batch_i} {len_batch_status_urls} status urls'.format(batch_i=batch_i, + len_batch_status_urls=len( + batch_status_urls))) + urls_to_unshorten = [su.expanded_url for su in batch_status_urls] + + if urls_to_unshorten: + # run them through the unshortener + with warnings.catch_warnings(): + warnings.simplefilter("ignore") + unshort_results = bulkUnshorten(urls_to_unshorten) + + # stich these back up + for unshort_res in unshort_results: + # find the db objects associated + matching_sus = [su for su in batch_status_urls if unshort_res['original_url'] == su.expanded_url] + for matching_su in matching_sus: + matching_su.unshortened_url = unshort_res['final_url'] + matching_su.error_unshortening = unshort_res['error'] if not unshort_res['success'] else None + + self.db_session.add_all(batch_status_urls) + self.db_session.commit() + + def output_unshorten_urls(self): + # deprecated based on new way unshortening is happening + r = redis.Redis() + + status_users_res = self.db_session.query(distinct(TwitterStatus.user_id)).all() + status_user_ids = [user_tup[0] for user_tup in status_users_res if user_tup[0]] + + for i, status_user_id in enumerate(status_user_ids): + self.log.info( + 'Unshortening URLS for user id {0}. {1} of {2}'.format(status_user_id, i, len(status_user_ids))) + user_statuses = self.db_session.query(TwitterStatus).filter(TwitterStatus.user_id == status_user_id).all() + status_urls_flat = [] + + def extract_urls(self, twitter_uid=None): + + if twitter_uid is None: + status_users_res = self.db_session.query(distinct(TwitterStatus.user_id)).all() + status_user_ids = [user_tup[0] for user_tup in status_users_res if user_tup[0]] + else: + status_user_ids = [int(twitter_uid)] + + for i, status_user_id in enumerate(status_user_ids): + self.log.info('Extracting URLS for user id {0}. {1} of {2}'.format(status_user_id, i, len(status_user_ids))) + # get all user's tweets + + user_statuses = self.db_session.query(TwitterStatus).filter(TwitterStatus.user_id == status_user_id).all() + + for user_status in user_statuses: + status_data = json.loads(user_status.status_data) + url_rows = self.extract_urls_from_status_data(user_status.id, status_data, None) + self.db_session.add_all(url_rows) + self.db_session.commit() + + # returns list of TwitterStatusUrls + def extract_urls_from_status_data(self, status_id, status_data, default_key): + url_rows = [] + + if 'entities' in status_data and 'urls' in status_data['entities']: + urls = status_data['entities']['urls'] + key = default_key if default_key is not None else TwitterUrlKey.ENTITY + + for url in urls: + url_row = TwitterStatusUrls( + twitter_status_id=status_id, + status_data_key=key.value, + raw_url=url['url'] if 'url' in url else None, + expanded_url=url['expanded_url'] if 'expanded_url' in url else None, + unwound_url=url['unwound']['url'] if 'unwound' in url and 'url' in data['unwound'] else None) + + # self.log.info('...status id {0}: got url={1}; total={2}'.format(status_id, url['url'], len(url_rows)+1)) + url_rows.append(url_row) + + if 'extended_entities' in status_data and 'media' in status_data['extended_entities']: + urls = status_data['extended_entities']['media'] + key = default_key if default_key is not None else TwitterUrlKey.EXTENDED + if key is TwitterUrlKey.RETWEETED_ENTITY: + key = TwitterUrlKey.RETWEETED_EXTENDED + elif key is TwitterUrlKey.QUOTED_ENTITY: + key = TwitterUrlKey.QUOTED_EXTENDED + + for media in urls: + url_row = TwitterStatusUrls( + twitter_status_id=status_id, + status_data_key=key.value, + raw_url=media['url'] if 'url' in media else None, + expanded_url=media['expanded_url'] if 'expanded_url' in media else None, + unwound_url=media['unwound']['url'] if 'unwound' in media and 'url' in media['unwound'] else None) + + # self.log.info('...user id {0}: got url; total={1}'.format(status_id, len(url_rows)+1)) + url_rows.append(url_row) + + if 'retweeted_status' in status_data: + retweeted_url_rows = self.extract_urls_from_status_data(status_id, + status_data['retweeted_status'], + TwitterUrlKey.RETWEETED_ENTITY) + url_rows += retweeted_url_rows + + if 'quoted_status' in status_data: + quoted_url_rows = self.extract_urls_from_status_data(status_id, + status_data['quoted_status'], + TwitterUrlKey.QUOTED_ENTITY) + url_rows += quoted_url_rows + + return url_rows diff --git a/config/experiments/dmca_experiment.yml b/config/experiments/dmca_experiment.yml new file mode 100644 index 0000000..ae5bdc2 --- /dev/null +++ b/config/experiments/dmca_experiment.yml @@ -0,0 +1,32 @@ +match_criteria: + random_user_active_within_days: 10 + langs: + - en + - en-gb + + +#test: +# subreddit: science +# subreddit_id: mouw +# username: CivilServantBot +# conditions: +# ama: +# randomizations: sticky_comment_science_0_ama.conditions.csv +# next_randomization: 0 +# arms: +# arm_0: null +# arm_1: | +# This is arm 1 of the 1st condition. +# nonama: +# randomizations: sticky_comment_science_0_nonama.conditions.csv +# next_randomization: 0 +# arms: +# arm_0: null +# arm_1: | +# This is arm 1 of the 2nd condition. +# controller: AMAStickyCommentExperimentController +# start_time: 06/25/2016 00:00:00 UTC +# end_time: 12/30/2020 23:59:59 UTC +# max_eligibility_age: 300 +# min_eligibility_age: 120 +# From 73cf061224d525239bd0e1c27a5961d4a28c6a6a Mon Sep 17 00:00:00 2001 From: Max Klein Date: Fri, 27 Mar 2020 11:35:26 -0700 Subject: [PATCH 180/221] finishe reporting logic --- app/controllers/twitter_match_controller.py | 96 ++++++++++++++++--- .../twitter_random_user_controller.py | 3 + 2 files changed, 84 insertions(+), 15 deletions(-) diff --git a/app/controllers/twitter_match_controller.py b/app/controllers/twitter_match_controller.py index 3688364..fd94229 100644 --- a/app/controllers/twitter_match_controller.py +++ b/app/controllers/twitter_match_controller.py @@ -10,13 +10,6 @@ class TwitterMatchController(TwitterController): - def __init__(self): - super.__init__() - self.now = datetime.datetime.utcnow() - self.period_ago = self.now - datetime.timedelta( - days=self.config['match_criteria']['random_user_active_within_days']) - self.match_id = self.now.strftime('%Y%m%d%H%M%S') - def match_lumen_and_random_id_users(self, batch_size=100): """Select all the twitter_users that are not part of and experiment group and group them - want to match random_id_users who tweeted most K-hours (say 48) within the the lumen notice date as the @@ -24,6 +17,11 @@ def match_lumen_and_random_id_users(self, batch_size=100): - want the comparison (random-id) group to be larger maybe 1.25 to 1.5 times the lumen-group. - report how large the groups are""" + self.now = datetime.datetime.utcnow() + self.period_ago = self.now - datetime.timedelta( + days=self.config['match_criteria']['random_user_active_within_days']) + self.match_id = self.now.strftime('%Y%m%d%H%M%S') + # DMCA notice offense was issued # doesn't need to do direct pair matching, can be around # are we blocking? no @@ -40,13 +38,12 @@ def match_lumen_and_random_id_users(self, batch_size=100): self.save_matches(matches) - self.report_matching_status() + num_matched = self.report_matching_status() - num_matched = len(matches) return num_matched def get_unmatched_users(self): - join_clause = and_(TwitterUser.id == ExperimentThing.query_index) + join_clause = and_(TwitterUser.id == ExperimentThing.id) filter_clause = and_(ExperimentThing.id == None, TwitterUser.user_state == utils.common.TwitterUserState.FOUND.value) # want to find the users that have not been matched and eligible @@ -72,13 +69,19 @@ def filter_matchable_users(self, unmatched_users): # first do random users for ru in random_id_users: - if ru.last_status_dt >= self.period_ago and ru.lang in self.config['match_criteria']['langs']: - valid_unmatched_users.append(ru) + has_last_status = ru.last_status_dt is not None + if has_last_status: + recently_active = ru.last_status_dt >= self.period_ago + correct_lang = ru.lang in self.config['match_criteria']['langs'] + if has_last_status and recently_active and correct_lang: + valid_unmatched_users.append(ru) + else: + invalid_unmatched_users.append(ru) else: invalid_unmatched_users.append(ru) for du in dmca_users: - if du.lang in self.config['match_criteria']['lang']: + if du.lang in self.config['match_criteria']['langs']: valid_unmatched_users.append(du) else: invalid_unmatched_users.append(du) @@ -90,6 +93,7 @@ def invalidate_not_qualifying_users(self, invalid_unmatched_users): set the user states on these random-id users to TwitterUserState.not-qualifying so they don't show in queries any more. """ # invalidate by creating a negative-1 randomization arm + self.insert_ETs(invalid_unmatched_users, randomization_arm=-1, block_id=-1) def insert_ETs(self, twitter_users, randomization_arm, block_id): @@ -99,9 +103,11 @@ def insert_ETs(self, twitter_users, randomization_arm, block_id): # object-type # don't use or make the randomization-block id # metadata keep randomization-block-id and block sizes other match data here metadata = {'block_id': block_id, 'randomization_arm': randomization_arm} - et = ExperimentThing(query_index=tu.id, + id = tu.id + et = ExperimentThing(id=id, object_type=randomization_arm, - metadata_json=metadata) + metadata_json=metadata, + query_index=block_id) ETs_to_add.append(et) self.db_session.add_all(ETs_to_add) self.db_session.commit() @@ -142,3 +148,63 @@ def report_matching_status(self): how many users are in each arm, and in each dategroup. :return: """ + REPORT_LOG_STR = 'MATCHING_REPORT' + # how many blocks there are in total + num_block_q = self.db_session.query(ExperimentThing.query_index, + func.count(ExperimentThing.query_index)) \ + .group_by(ExperimentThing.query_index) + num_block_r = num_block_q.all() + total_blocks = len(num_block_r) + invalid_users = [b for b in num_block_r if b[0] == '-1'][0][1] + most_recent_block = sorted(num_block_r, reverse=True)[0] + self.log.info('{RLS}: There are {total_blocks} matching blocks already made.'.format(total_blocks=total_blocks, + RLS=REPORT_LOG_STR)) + self.log.info( + '{RLS}: There are {invalid_users} invalid users.'.format(invalid_users=invalid_users, RLS=REPORT_LOG_STR)) + self.log.info('{RLS}: Most-recent-block is {most_recent_block} .'.format(most_recent_block=most_recent_block[0], + RLS=REPORT_LOG_STR)) + self.log.info( + '{RLS}: Most-recent-block count {most_recent_block} .'.format(most_recent_block=most_recent_block[1], + RLS=REPORT_LOG_STR)) + + # over all ratio of ratio of items in + created_type_count_q = self.db_session.query(ExperimentThing.object_type, + func.count(ExperimentThing.object_type)) \ + .group_by(ExperimentThing.object_type) + created_type_count_r = created_type_count_q.all() + + random_id_row = [c for c in created_type_count_r if c[0] == utils.common.TwitterUserCreateType.RANDOMLY_GENERATED.value] + lumen_id_row = [c for c in created_type_count_r if c[0] == utils.common.TwitterUserCreateType.LUMEN_NOTICE.value] + random_id_count = random_id_row[0][1] if random_id_row else 0 + lumen_id_count = lumen_id_row[0][1] if lumen_id_row else 0 + + created_type_ratio = random_id_count / lumen_id_count + self.log.info('{RLS}: The overall random to group ratio is {created_type_ratio}'.format(RLS=REPORT_LOG_STR, + created_type_ratio=created_type_ratio)) + + # over all ratio of ratio of items in this match + recent_created_type_count_q = self.db_session.query(ExperimentThing.object_type, + func.count(ExperimentThing.object_type)) \ + .filter(ExperimentThing.query_index == self.match_id) \ + .group_by(ExperimentThing.object_type) + recent_created_type_count_r = recent_created_type_count_q.all() + + recent_random_id_row = [c for c in recent_created_type_count_r if c[0] == utils.common.TwitterUserCreateType.RANDOMLY_GENERATED.value] + recent_lumen_id_row = [c for c in recent_created_type_count_r if c[0] == utils.common.TwitterUserCreateType.LUMEN_NOTICE.value] + random_id_count = random_id_row[0][1] if recent_random_id_row else 0 + lumen_id_count = lumen_id_row[0][1] if recent_lumen_id_row else 0 + + recent_created_type_ratio = random_id_count / lumen_id_count if lumen_id_count != 0 else float('nan') + self.log.info('{RLS}: The recent random to group ratio is {recent_created_type_ratio} for {match_id}'.format( + RLS=REPORT_LOG_STR, + recent_created_type_ratio=recent_created_type_ratio, + match_id=self.match_id)) + self.log.info( + '{RLS}: The total recent random count {random_id_count} and lumen count {lumen_id_count} for {match_id}'.format( + RLS=REPORT_LOG_STR, + random_id_count=random_id_count, + lumen_id_count=lumen_id_count, + match_id=self.match_id)) + + return recent_created_type_ratio + diff --git a/app/controllers/twitter_random_user_controller.py b/app/controllers/twitter_random_user_controller.py index 802ea75..f0ab646 100644 --- a/app/controllers/twitter_random_user_controller.py +++ b/app/controllers/twitter_random_user_controller.py @@ -12,6 +12,9 @@ from utils.common import TwitterUserState, NOT_FOUND_TWITTER_USER_STR, CS_JobState, neq, EXPERIMENT_LANGUAGES, \ TwitterUrlKey import sys, warnings, os +from collections import defaultdict + +from utils.url_unshortener import bulkUnshorten TWITTER_DATETIME_STR_FORMAT = "%a %b %d %H:%M:%S %z %Y" From 42f039c920b7642aae1dcbc735f71d84b43cbde8 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Tue, 14 Apr 2020 14:35:14 -0700 Subject: [PATCH 181/221] add twitter commands to dmca cmd --- dmca-cmd.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/dmca-cmd.sh b/dmca-cmd.sh index addae04..aa8f8c0 100755 --- a/dmca-cmd.sh +++ b/dmca-cmd.sh @@ -42,7 +42,13 @@ python schedule_twitter_jobs.py --function fetch_twitter_tweets --interval 86400 ## Fetch Twitter Account Snapshots & Tweet Counts: every 24 hours, get new snapshots for users who haven't had a snapshot in the last 23.3 hours echo "Fetch Twitter Account Snapshots & Tweet Counts: every 24 hours, get new snapshots for users who haven't had a snapshot in the last 23.3 hours" -python schedule_twitter_jobs.py --function fetch_twitter_snapshot_and_tweets --snapshot_delta_min 1400 --interval 86400 2> $logfile + + +echo "Generate random ID users every half and ten minutes" +python schedule_twitter_jobs.py --function twitter_generate_random_id_users --interval 600 2> $logfile + +echo "Match ID groups twice per day" +python schedule_twitter_jobs.py --function twitter_match_comparison_groups --interval 43200 2> $logfile python manage_scheduled_jobs.py show all 2> $logfile From 634113fb6e5875944199db7ce8211d02799b7f15 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Fri, 24 Apr 2020 16:51:05 -0700 Subject: [PATCH 182/221] allow generation to happen in a loop --- app/controller.py | 4 +- .../twitter_random_user_controller.py | 53 +++++++++++++------ 2 files changed, 39 insertions(+), 18 deletions(-) diff --git a/app/controller.py b/app/controller.py index 51f2df9..91e744e 100644 --- a/app/controller.py +++ b/app/controller.py @@ -237,13 +237,13 @@ def fetch_twitter_tweets(backfill=False, collection_seconds=None, user_rand_frac log.info("Finished fetch_twitter_tweets, backfill={0}. PID={1}".format(backfill, str(os.getpid()))) -def fetch_twitter_random_id_users(daily_limit=500000): +def fetch_twitter_random_id_users(daily_limit=500000, target_additions=500): """ Create users for comparison making sure """ log.info("Starting to generate users from random IDs, PID={0}".format(str(os.getpid()))) t = app.controllers.twitter_random_user_controller.TwitterRandomUserController(db_session, twitter_conn, log) - t.generate_random_id_users(daily_limit=daily_limit) + t.generate_random_id_users(daily_limit=daily_limit, target_additions=target_additions) twitter_conn.checkin_endpoint() log.info("Finished generating users from random IDs, PID={0}".format(str(os.getpid()))) diff --git a/app/controllers/twitter_random_user_controller.py b/app/controllers/twitter_random_user_controller.py index f0ab646..731a4b2 100644 --- a/app/controllers/twitter_random_user_controller.py +++ b/app/controllers/twitter_random_user_controller.py @@ -19,7 +19,6 @@ TWITTER_DATETIME_STR_FORMAT = "%a %b %d %H:%M:%S %z %Y" - class TwitterRandomUserController(TwitterController): def make_random_integers(self, num_to_make=100): # valid ranges are in beginning,end tups @@ -51,7 +50,8 @@ def save_random_id_users(self, random_users_dict): screen_name = user_details.screen_name if user_details else None created_at = datetime.datetime.strptime(user_details.created_at, utils.common.TWITTER_STRPTIME) \ if user_details else None - lang = user_details.status.lang if hasattr(user_details, 'status') and hasattr(user_details.status,'lang') else None + lang = user_details.status.lang if hasattr(user_details, 'status') and hasattr(user_details.status, + 'lang') else None last_status_dt = datetime.datetime.strptime(user_details.status.created_at, utils.common.TWITTER_STRPTIME) \ if user_details and hasattr(user_details.status, 'created_at') \ else None @@ -84,30 +84,50 @@ def save_random_id_users(self, random_users_dict): def num_random_id_generated_so_far_today(self): now = datetime.datetime.utcnow() yesterday = now - datetime.timedelta(days=1) - today_guessed_q = self.db_session.query(TwitterUser).filter( - TwitterUser.created_type == utils.common.TwitterUserCreateType.RANDOMLY_GENERATED). \ - filter(TwitterUser.record_created_at > yesterday) - num_guessed_today = today_guessed_q.count() - return num_guessed_today - - def generate_random_id_users(self, daily_limit=500000): + today_guessed_existed_q = self.db_session.query(TwitterUser).filter( + TwitterUser.created_type == utils.common.TwitterUserCreateType.RANDOMLY_GENERATED.value) \ + .filter(TwitterUser.user_state == utils.common.TwitterUserState.FOUND.value) \ + .filter(TwitterUser.record_created_at > yesterday) + num_guessed_existed_today = today_guessed_existed_q.count() + return num_guessed_existed_today + + def generate_random_id_users(self, daily_limit=500000, target_additions=500): ''' https://github.com/SMAPPNYU/smapputil/blob/master/py/query_twitter/old_queries/generate_random_twitter_potential_ids.py from twitter : These IDs are unique 64-bit unsigned integers, which are based on time, instead of being sequential. The full ID is composed of a timestamp, a worker number, and a sequence number. When consuming the API using JSON, it is important to always use the field id_str instead of id. https://developer.twitter.com/en/docs/basics/twitter-ids Use a bloom filter to know what IDs have already been tried. Don't create more than daily limit number of users. + num_additions is the number of valid id users to target adding. ''' + num_exist = 0 + num_generated = 0 # Get the number guessed today. if self.num_random_id_generated_so_far_today() >= daily_limit: - return 0 # zero made in this batch - - random_user_ids = self.make_random_integers() + return num_exist # zero made in this batch + else: + round = 0 + while num_exist < target_additions: + self.log.debug("Getting random users in rounds. round is {round}".format(round=round)) + num_exist_round, num_generated_round = self._generate_single_round_of_random_users() + num_exist += num_exist_round + num_generated += num_generated_round + round += 1 + self.log.info("New existing users target met...." + "Persisted {num_generated} random ID users. {num_exist} actually existed." + "Proportion existing={prop}".format( + num_generated=num_generated, num_exist=num_exist, prop='{0:.2f}'.format(num_exist/num_generated) )) + return num_exist + + def _generate_single_round_of_random_users(self): + # twitter api doesn't allow more than 100 ids per query. + random_user_ids = self.make_random_integers(100) # TODO use a bloom filter here # Get the IDs of those already guessed or Lumen-onboarded try: users_lookup_result = self.t.query(self.t.api.UsersLookup, user_id=random_user_ids) except TwitterError as e: + self.log.error(e) if e.message[0]['code'] in (50, 63): pass else: @@ -116,8 +136,9 @@ def generate_random_id_users(self, daily_limit=500000): for random_exist_user in users_lookup_result: random_users_dict[random_exist_user.id] = random_exist_user - num_generated = self.save_random_id_users(random_users_dict) + num_generated_round = self.save_random_id_users(random_users_dict) + num_exist_round = len(users_lookup_result) self.log.info("Persisted {num_generated} random ID users. {num_exist} actually existed.".format( - num_generated=num_generated, - num_exist=len(users_lookup_result))) - return num_generated + num_generated=num_generated_round, + num_exist=num_exist_round)) + return num_exist_round, num_generated_round From ddc2136182cfbb4f689c10107e1663b7ea8766e0 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Wed, 6 May 2020 15:57:29 -0700 Subject: [PATCH 183/221] update db email report --- app/controllers/twitter_match_controller.py | 8 +- config/experiments/dmca_experiment.yml | 3 +- utils/email_db_report.py | 365 +++++++++++++++++--- 3 files changed, 319 insertions(+), 57 deletions(-) diff --git a/app/controllers/twitter_match_controller.py b/app/controllers/twitter_match_controller.py index fd94229..6c7f01e 100644 --- a/app/controllers/twitter_match_controller.py +++ b/app/controllers/twitter_match_controller.py @@ -69,16 +69,18 @@ def filter_matchable_users(self, unmatched_users): # first do random users for ru in random_id_users: + # check there's a last status has_last_status = ru.last_status_dt is not None - if has_last_status: + if not has_last_status: + invalid_unmatched_users.append(ru) + else: + # are they recently active and correct language recently_active = ru.last_status_dt >= self.period_ago correct_lang = ru.lang in self.config['match_criteria']['langs'] if has_last_status and recently_active and correct_lang: valid_unmatched_users.append(ru) else: invalid_unmatched_users.append(ru) - else: - invalid_unmatched_users.append(ru) for du in dmca_users: if du.lang in self.config['match_criteria']['langs']: diff --git a/config/experiments/dmca_experiment.yml b/config/experiments/dmca_experiment.yml index ae5bdc2..f35a03d 100644 --- a/config/experiments/dmca_experiment.yml +++ b/config/experiments/dmca_experiment.yml @@ -1,8 +1,9 @@ match_criteria: random_user_active_within_days: 10 - langs: + langs: # favour this instead of utils.common.EXPERIMENT_LANGUAGES, but still not changed. - en - en-gb + max_block_size: 8 #test: diff --git a/utils/email_db_report.py b/utils/email_db_report.py index 894ea91..014444d 100644 --- a/utils/email_db_report.py +++ b/utils/email_db_report.py @@ -55,7 +55,10 @@ def run_query_for_days(query_str, today, days=7): today_str = date_to_str(today, by_day=False) last_week = today - datetime.timedelta(days=days) last_week_str = date_to_str(last_week, by_day=False) - result = db_session.execute(query_str, {"from_date": last_week_str, "to_date": today_str}).fetchall() + q_params = {"from_date": last_week_str, + "to_date": today_str, + "user_rand_frac": DBCONFIG['user_rand_frac']} + result = db_session.execute(query_str, q_params).fetchall() return result @@ -275,11 +278,8 @@ def generate_lumen_notices(today=datetime.datetime.utcnow(), days=7, html=True, FROM lumen_notices WHERE date_received <= :to_date and date_received >= :from_date GROUP BY YEAR(date_received), MONTH(date_received), DAY(date_received);""" result = run_query_for_days(query_str, today, days=days) - if not html: - return result - return generate_html_table(result, - str_to_date(date_to_str(today)), - label) # to make everything 00:00:00 + return generate_html_table(result, str_to_date(date_to_str(today)), + label) if html else result # to make everything 00:00:00 def generate_lumen_notice_to_twitter_user(today=datetime.datetime.utcnow(), days=7, html=True, @@ -289,25 +289,8 @@ def generate_lumen_notice_to_twitter_user(today=datetime.datetime.utcnow(), days FROM lumen_notice_to_twitter_user WHERE record_created_at <= :to_date and record_created_at >= :from_date GROUP BY YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at);""" result = run_query_for_days(query_str, today, days=days) - if not html: - return result - return generate_html_table(result, - str_to_date(date_to_str(today)), - label) # to make everything 00:00:00 - - -def generate_twitter_users(today=datetime.datetime.utcnow(), days=7, html=True, label="Twitter Users"): - query_str = """ - SELECT 'lumen', YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) - FROM twitter_users WHERE record_created_at <= :to_date and record_created_at >= :from_date - AND LANG IN("en", "en-gb", NULL) - GROUP BY YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at);""" - result = run_query_for_days(query_str, today, days=days) - if not html: - return result - return generate_html_table(result, - str_to_date(date_to_str(today)), - label) # to make everything 00:00:00 + return generate_html_table(result, str_to_date(date_to_str(today)), + label) if html else result # to make everything 00:00:00 def generate_twitter_fills(today=datetime.datetime.utcnow(), days=7, html=True, fill_type='backfill'): @@ -341,11 +324,8 @@ def generate_twitter_user_snapshots(today=datetime.datetime.utcnow(), days=7, ht FROM twitter_user_snapshots WHERE record_created_at <= :to_date and record_created_at >= :from_date GROUP BY YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at);""" result = run_query_for_days(query_str, today, days=days) - if not html: - return result - return generate_html_table(result, - str_to_date(date_to_str(today)), - label) # to make everything 00:00:00 + return generate_html_table(result, str_to_date(date_to_str(today)), + label) if html else result # to make everything 00:00:00 ##### TOO EXPENSIVE.... @@ -355,11 +335,276 @@ def generate_tweets(today=datetime.datetime.utcnow(), days=7, html=True, label=" FROM twitter_statuses WHERE record_created_at <= :to_date and record_created_at >= :from_date GROUP BY YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at);""" result = run_query_for_days(query_str, today, days=days) + return generate_html_table(result, str_to_date(date_to_str(today)), + label) if html else result # to make everything 00:00:00 + + +def generate_guessed(today=datetime.datetime.utcnow(), days=7, html=True, label="Guessed IDs"): + query_str = """ + SELECT 'All random users', YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) + FROM twitter_users + WHERE record_created_at <= :to_date and record_created_at >= :from_date + and created_type=2 + GROUP BY YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at);""" + result = run_query_for_days(query_str, today, days=days) + return generate_html_table(result, str_to_date(date_to_str(today)), label) if html else result + + +def generate_noticed_users_including_non_existing(today=datetime.datetime.utcnow(), days=7, html=True, + label="Notice Users Language Twitter"): + query_str = """ + SELECT 'lumen', YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) + FROM twitter_users + WHERE record_created_at <= :to_date and record_created_at >= :from_date + and created_type = 1 + GROUP BY YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at);""" + result = run_query_for_days(query_str, today, days=days) + return generate_html_table(result, str_to_date(date_to_str(today)), label) if html else result + + +def generate_noticed_users(today=datetime.datetime.utcnow(), days=7, html=True, + label="Existing Notice Users Language Twitter "): + query_str = """ + SELECT 'lumen', YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) + FROM twitter_users + WHERE record_created_at <= :to_date and record_created_at >= :from_date + and created_type = 1 + and user_state = 1 + GROUP BY YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at);""" + result = run_query_for_days(query_str, today, days=days) + return generate_html_table(result, str_to_date(date_to_str(today)), label) if html else result + + +def generate_noticed_users_en(today=datetime.datetime.utcnow(), days=7, html=True, + label="Correct Language Twitter Users"): + query_str = """ + SELECT 'lumen', YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) + FROM twitter_users + WHERE record_created_at <= :to_date and record_created_at >= :from_date + and created_type = 1 + and user_state = 1 + AND LANG IN("en", "en-gb") + GROUP BY YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at);""" + result = run_query_for_days(query_str, today, days=days) + return generate_html_table(result, str_to_date(date_to_str(today)), label) if html else result + + +def generate_noticed_users_en_subsampled(today=datetime.datetime.utcnow(), days=7, html=True, label=None): + label = "Correct Language Twitter Users random subsample {}".format(DBCONFIG['user_rand_frac']) + query_str = """ + SELECT 'lumen', YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) + FROM twitter_users + WHERE record_created_at <= :to_date and record_created_at >= :from_date + and created_type = 1 + and user_state = 1 + AND LANG IN("en", "en-gb") + and user_rand < :user_rand_frac + GROUP BY YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at);""" + result = run_query_for_days(query_str, today, days=days) + return generate_html_table(result, str_to_date(date_to_str(today)), label) if html else result + + +def generate_guessed_existed(today=datetime.datetime.utcnow(), days=7, html=True, label="Guessed and Existed"): + query_str = """ + SELECT '', YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) + FROM twitter_users + WHERE record_created_at <= :to_date and record_created_at >= :from_date + and created_type=2 # randomly generated + and user_state = 1 # found + GROUP BY YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at);""" + result = run_query_for_days(query_str, today, days=days) + return generate_html_table(result, str_to_date(date_to_str(today)), label) if html else result + + +def generate_guessed_existed_active(today=datetime.datetime.utcnow(), days=7, html=True, + label="Guessed and Existed and Tweeted Once"): + query_str = """ + SELECT '', YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) + FROM twitter_users + WHERE record_created_at <= :to_date and record_created_at >= :from_date + and created_type=2 # randomly generated + and user_state = 1 # found + and last_status_dt is not null + GROUP BY YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at);""" + result = run_query_for_days(query_str, today, days=days) + return generate_html_table(result, str_to_date(date_to_str(today)), label) if html else result + + +def generate_guessed_existed_active_10day(today=datetime.datetime.utcnow(), days=7, html=True, + label="Guessed and Existed and Tweeted Last 10 days"): + query_str = """ + SELECT '', YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) + FROM twitter_users + WHERE record_created_at <= :to_date and record_created_at >= :from_date + and created_type=2 # randomly generated + and user_state = 1 # found + and last_status_dt > date_sub(record_created_at, interval 7 day) + GROUP BY YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at);""" + result = run_query_for_days(query_str, today, days=days) + return generate_html_table(result, str_to_date(date_to_str(today)), label) if html else result + + +def generate_guessed_existed_active_2day(today=datetime.datetime.utcnow(), days=7, html=True, + label="Guessed and Existed and Tweeted 2 days ago or less"): + query_str = """ + SELECT '', YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) + FROM twitter_users + WHERE record_created_at <= :to_date and record_created_at >= :from_date + and created_type=2 # randomly generated + and user_state = 1 # found + and last_status_dt > date_sub(record_created_at, interval 2 day) + GROUP BY YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at);""" + result = run_query_for_days(query_str, today, days=days) + return generate_html_table(result, str_to_date(date_to_str(today)), label) if html else result + + +def generate_guessed_existed_active_2day_en(today=datetime.datetime.utcnow(), days=7, html=True, + label="Guessed and Existed and Tweeted 2 days ago or less in English"): + query_str = """ + SELECT '', YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) + FROM twitter_users + WHERE record_created_at <= :to_date and record_created_at >= :from_date + and created_type=2 # randomly generated + and user_state = 1 # found + and last_status_dt > date_sub(record_created_at, interval 2 day) + and lang = 'en' + GROUP BY YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at);""" + result = run_query_for_days(query_str, today, days=days) + return generate_html_table(result, str_to_date(date_to_str(today)), label) if html else result + + +def generate_matchable(today=datetime.datetime.utcnow(), days=7, html=True, + label="Matchability. Notice and Random Users meeting match criteria"): + query_str = """select 'matchable, notice - rand', notice_match.`YEAR(record_created_at)`, notice_match.`MONTH(record_created_at)`, notice_match.`DAY(record_created_at)`, num_notice_matchable - num_rand_matchable from + (SELECT 'match' as matchable, YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) as num_rand_matchable +FROM twitter_users +WHERE record_created_at <= :to_date and record_created_at >= :from_date + and created_type=2 # randomly generated + and user_state = 1 # found + and last_status_dt > date_sub(record_created_at, interval 2 day) + and lang = 'en' +GROUP BY YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at)) rand_match +join + (SELECT 'match' as matchable, YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) as num_notice_matchable + FROM twitter_users + WHERE record_created_at <= :to_date and record_created_at >= :from_date + and created_type = 1 + and user_state = 1 + AND LANG IN("en", "en-gb") + and user_rand < :user_rand_frac + GROUP BY YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at)) notice_match +on notice_match.matchable = rand_match.matchable;""" + result = run_query_for_days(query_str, today, days=days) + return generate_html_table(result, str_to_date(date_to_str(today)), label) if html else result + + +def generate_randomization_ratio_recent(today=datetime.datetime.utcnow(), days=7, html=True, + label="Ratio of matched users by day, recent"): + query_str = """select 'matched, rand/noticed', notice_match.`YEAR(created_at)`, notice_match.`MONTH(created_at)`, notice_match.`DAY(created_at)`, num_rand_matched/num_notice_matched +from +(SELECT 'match' as matchable, YEAR(created_at), MONTH(created_at), DAY(created_at), count(*) num_rand_matched + FROM experiment_things + WHERE created_at <= :to_date and created_at >= :from_date + and object_type = 2 + GROUP BY YEAR(created_at), MONTH(created_at), DAY(created_at)) rand_match + join +(SELECT 'match' as matchable, YEAR(created_at), MONTH(created_at), DAY(created_at), count(*) num_notice_matched + FROM experiment_things + WHERE created_at <= :to_date and created_at >= :from_date + and object_type = 1 + GROUP BY YEAR(created_at), MONTH(created_at), DAY(created_at)) notice_match +on notice_match.matchable = rand_match.matchable;""" + result = run_query_for_days(query_str, today, days=days) if not html: return result - return generate_html_table(result, - str_to_date(date_to_str(today)), - label) # to make everything 00:00:00 + return generate_html_table(result, str_to_date(date_to_str(today)), label) + + +def generate_randomization_ratio_all(today=datetime.datetime.utcnow(), days=7, html=True, + label="Ratio of matched users by day, all experiment"): + query_str = """select 'matched, rand/noticed', notice_match.`YEAR(created_at)`, notice_match.`MONTH(created_at)`, notice_match.`DAY(created_at)`, num_rand_matched/num_notice_matched +from +(SELECT 'match' as matchable, YEAR(created_at), MONTH(created_at), DAY(created_at), count(*) num_rand_matched + FROM experiment_things + WHERE object_type = 2 + GROUP BY YEAR(created_at), MONTH(created_at), DAY(created_at)) rand_match + join +(SELECT 'match' as matchable, YEAR(created_at), MONTH(created_at), DAY(created_at), count(*) num_notice_matched + FROM experiment_things + WHERE object_type = 1 + GROUP BY YEAR(created_at), MONTH(created_at), DAY(created_at)) notice_match +on notice_match.matchable = rand_match.matchable;""" + result = run_query_for_days(query_str, today, days=days) + if not html: + return result + return generate_html_table(result, str_to_date(date_to_str(today)), label) + + +def generate_randomization_total_rand_recent(today=datetime.datetime.utcnow(), days=7, html=True, + label="total_rand of matched users by day, recent"): + query_str = """SELECT 'random_id_user included', YEAR(created_at), MONTH(created_at), DAY(created_at), count(*) + FROM experiment_things + WHERE created_at <= :to_date and created_at >= :from_date + and object_type = 2 + GROUP BY YEAR(created_at), MONTH(created_at), DAY(created_at);""" + result = run_query_for_days(query_str, today, days=days) + if not html: + return result + return generate_html_table(result, str_to_date(date_to_str(today)), label) + + +def generate_randomization_total_rand_all(today=datetime.datetime.utcnow(), days=7, html=True, + label="total_rand of matched users by day, all experiment"): + query_str = """SELECT 'random_id_user included', YEAR(created_at), MONTH(created_at), DAY(created_at), count(*) + FROM experiment_things + WHERE object_type = 2 + GROUP BY YEAR(created_at), MONTH(created_at), DAY(created_at)""" + result = run_query_for_days(query_str, today, days=days) + if not html: + return result + return generate_html_table(result, str_to_date(date_to_str(today)), label) + + +def generate_randomization_total_notice_recent(today=datetime.datetime.utcnow(), days=7, html=True, + label="total_notice of matched users by day, recent"): + query_str = """SELECT 'notice included', YEAR(created_at), MONTH(created_at), DAY(created_at), count(*) + FROM experiment_things + WHERE created_at <= :to_date and created_at >= :from_date + and object_type = 1 + GROUP BY YEAR(created_at), MONTH(created_at), DAY(created_at);""" + result = run_query_for_days(query_str, today, days=days) + if not html: + return result + return generate_html_table(result, str_to_date(date_to_str(today)), label) + + +def generate_randomization_total_notice_all(today=datetime.datetime.utcnow(), days=7, html=True, + label="total_notice of matched users by day, all experiment"): + query_str = """SELECT 'notice included', YEAR(created_at), MONTH(created_at), DAY(created_at), count(*) + FROM experiment_things + WHERE object_type = 1 + GROUP BY YEAR(created_at), MONTH(created_at), DAY(created_at)""" + result = run_query_for_days(query_str, today, days=days) + if not html: + return result + return generate_html_table(result, str_to_date(date_to_str(today)), label) + + +###################################################################### +######### RATESTATE ########################################### +###################################################################### + +def generate_ratestate_users_lookup_exhausted(today=datetime.datetime.utcnow(), days=7, html=True, + label="number of users_lookup exhausted endpoints"): + query_str = """SELECT 'num_exhausted', YEAR(checkin_due), MONTH(checkin_due), DAY(checkin_due), count(*) + FROM twitter_ratestate + WHERE endpoint= '/users/lookup' + and checkin_due <= :to_date and checkin_due >= :from_date + GROUP BY YEAR(checkin_due), MONTH(checkin_due), DAY(checkin_due)""" + result = run_query_for_days(query_str, today, days=days) + if not html: + return result + return generate_html_table(result, str_to_date(date_to_str(today)), label) ###################################################################### @@ -436,11 +681,7 @@ def generate_experiment_action(today=datetime.datetime.utcnow(), days=7, html=Tr GROUP BY experiment_id, action, YEAR(created_at), MONTH(created_at), DAY(created_at)""" result = run_query_for_days(query_str, today, days=days) result = [("({0}, {1})".format(a, b), c, d, e, f) for (a, b, c, d, e, f) in result] - if not html: - return result - return generate_html_table(result, - str_to_date(date_to_str(today)), - "ExperimentAction count, by (experiment, action)") # to make everything 00:00:00 + return generate_html_table(result, str_to_date(date_to_str(today)), "Experiment Action") if html else result ###################################################################### @@ -472,19 +713,36 @@ def generate_experiment_action(today=datetime.datetime.utcnow(), days=7, html=Tr """ -def generate_report(today=datetime.datetime.utcnow(), days=7): +def generate_report(today=datetime.datetime.utcnow(), days=1): html = "" + css + "" html += "

Number of records stored per day

" # html += "

Reddit:

" html += "" html += "

Lumen Twitter Data Collection

" - html += generate_lumen_notices(today, days) - html += generate_lumen_notice_to_twitter_user(today, days) - html += generate_twitter_users(today, days) - html += generate_twitter_user_snapshots(today, days) - html += generate_tweets(today, days) - html += generate_twitter_backfills(today, days) - html += generate_twitter_frontfills(today, days) + # html += generate_lumen_notices(today, days) + # html += generate_lumen_notice_to_twitter_user(today, days) + # html += generate_twitter_user_snapshots(today, days) + # html += generate_tweets(today, days) + # html += generate_twitter_backfills(today, days) + # html += generate_twitter_frontfills(today, days) + html += generate_noticed_users_including_non_existing(today, days) + html += generate_noticed_users(today, days) + html += generate_noticed_users_en(today, days) + html += generate_noticed_users_en_subsampled(today, days) + html += generate_guessed(today, days) + html += generate_guessed_existed(today, days) + html += generate_guessed_existed_active(today, days) + html += generate_guessed_existed_active_10day(today, days) + html += generate_guessed_existed_active_2day(today, days) + html += generate_guessed_existed_active_2day_en(today, days) + html += generate_matchable(today, days) + html += generate_randomization_ratio_recent(today, days) + html += generate_randomization_ratio_all(today, days) + html += generate_randomization_total_rand_recent(today, days) + html += generate_randomization_total_rand_all(today, days) + html += generate_randomization_total_notice_recent(today, days) + html += generate_randomization_total_notice_all(today, days) + html += generate_ratestate_users_lookup_exhausted(today, days) # html += generate_reddit_front_page(today, days) # html += generate_reddit_subreddit_page(today, days) # html += generate_reddit_subreddit(today, days) @@ -492,12 +750,12 @@ def generate_report(today=datetime.datetime.utcnow(), days=7): # html += generate_reddit_comment(today, days) # html += generate_reddit_user(today, days) # html += generate_reddit_mod_action(today, days) - html += "

Experiment:

" - html += generate_experiment_new(today, days) - html += generate_experiment_active(today, days) - html += generate_experiment_thing(today, days) - html += generate_experiment_thing_snapshot(today, days) - html += generate_experiment_action(today, days) + # html += "

Experiment:

" + # html += generate_experiment_new(today, days) + # html += generate_experiment_active(today, days) + # html += generate_experiment_thing(today, days) + # html += generate_experiment_thing_snapshot(today, days) + # html += generate_experiment_action(today, days) html += "
" html += "" return html @@ -510,7 +768,8 @@ def generate_report(today=datetime.datetime.utcnow(), days=7): if __name__ == "__main__": now = datetime.datetime.utcnow() end = datetime.datetime.combine(now, datetime.time()) - today = end - datetime.timedelta(seconds=1) + # today = end - datetime.timedelta(seconds=1) # this won't allow todays partial day + today = end - datetime.timedelta(seconds=1) + datetime.timedelta(days=1) # this will include the very day executed html = generate_report(today, days=7) subject = "CivilServant Database Report: {0}".format(date_to_str(today)) send_report(subject, html) From d795505b20b8c4b8dfe781e26f0ba8e066127151 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Fri, 8 May 2020 22:55:09 +0000 Subject: [PATCH 184/221] ugg mysqldb needs to be an old version --- requirements.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 40d727f..9696b7a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,7 +6,7 @@ redis rq rq-scheduler==0.7.0 rq-dashboard -mysqlclient +mysqlclient==1.3.12 sqlalchemy alembic airbrake==1.3.3 @@ -19,3 +19,4 @@ retrying requests requests_futures pandas +tldextract From 13df32b0eefd82384fe260b243a51029fcdd4bcb Mon Sep 17 00:00:00 2001 From: Max Klein Date: Fri, 22 May 2020 11:59:24 -0700 Subject: [PATCH 185/221] need matching args in scheduler code --- dmca-cmd.sh | 8 ++++++++ schedule_twitter_jobs.py | 30 +++++++++++++++++++++++++----- 2 files changed, 33 insertions(+), 5 deletions(-) diff --git a/dmca-cmd.sh b/dmca-cmd.sh index aa8f8c0..e438435 100755 --- a/dmca-cmd.sh +++ b/dmca-cmd.sh @@ -62,6 +62,14 @@ killall rqworker killall rqscheduler } +if [ -z ${1} ]; + then + echo "no verb specified, exiting..." + exit + else + echo "verb is $1" +fi + if [ -z $CS_ENV ] then echo "trying to source environment variables." diff --git a/schedule_twitter_jobs.py b/schedule_twitter_jobs.py index c41d165..ea84889 100644 --- a/schedule_twitter_jobs.py +++ b/schedule_twitter_jobs.py @@ -52,7 +52,8 @@ def main(): required=True, choices=["fetch_lumen_notices", "parse_lumen_notices_for_twitter_accounts", "fetch_twitter_users", "fetch_twitter_snapshot_and_tweets", "fetch_twitter_tweets", - "report_calculations", + "report_calculations", "twitter_generate_random_id_users", + "twitter_match_comparison_groups" ], help="The controller function to call.") @@ -118,6 +119,8 @@ def main(): experiment_collection_days = int(config["experiment_collection_days"]) experiment_start_date = datetime.strptime(config["experiment_start_date"], '%Y-%m-%d') user_rand_frac = config["user_rand_frac"] + random_users_daily_limit = config["random_users_daily_limit"] + random_users_target_additions = config["random_users_target_additions"] today = datetime.utcnow() log.info('Loaded experiment start date: {}. Today is :{}'.format(experiment_start_date, today)) time_til_experiment = experiment_start_date - today @@ -203,10 +206,27 @@ def main(): repeat=repeats, result_ttl=ttl, timeout=timeout) - elif args.function == "report_calculations": - calc_str = str(('onboarding_repeats',onboarding_repeats, - "total_experiment_repeats",total_experiment_repeats)) - sys.stdout.write(calc_str) + elif args.function == "twitter_generate_random_id_users": + scheduler.schedule( + scheduled_time=datetime.utcnow(), + func=app.controller.fetch_twitter_random_id_users, + args=[random_users_daily_limit, random_users_target_additions], + interval=int(args.interval), + repeat=None, + result_ttl=ttl, + timeout=timeout) + elif args.function == "twitter_match_comparison_groups": + scheduler.schedule( + scheduled_time=datetime.utcnow(), + func=app.controller.twitter_match_comparison_groups, + args=[], + interval=int(args.interval), + repeat=None, + result_ttl=ttl, + timeout=timeout) + else: + raise NotImplementedError("Unimplimented function: {}".format(args.function)) + def schedule_fetch_tweets(args, ttl, timeout, queue_name, repeats, collection_seconds, user_rand_frac): From cab646b3c4a030a7ca0108f28550e34616f22c1c Mon Sep 17 00:00:00 2001 From: Max Klein Date: Fri, 22 May 2020 13:25:14 -0700 Subject: [PATCH 186/221] new way to check for empty copyrighted urls --- app/controllers/lumen_controller.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/lumen_controller.py b/app/controllers/lumen_controller.py index c88c3a3..1cb11ea 100644 --- a/app/controllers/lumen_controller.py +++ b/app/controllers/lumen_controller.py @@ -150,7 +150,7 @@ def parse_notices_archive_users(self, unparsed_notices, test_exception = False): else: self.log.info('There was no url for url_obj: {0}'.format(url_obj)) - if len(work["copyrighted_urls"]) > 0: # I've only seen this empty + if work["copyrighted_urls"] != [{'url': 'No URL submitted'}]: # I've only seen this empty self.log.error("method helper_parse_notices_archive_users: maybe missed something in notice_json['works']['copyrighted_urls']; notice id = {0}".format(notice_json["id"])) job_state = CS_JobState.NEEDS_RETRY if work["description"]: # I've only seen this null From 6ce2e9d988faafa13c24b987ad8b04d34aa518ce Mon Sep 17 00:00:00 2001 From: Max Klein Date: Sat, 23 May 2020 15:22:09 -0700 Subject: [PATCH 187/221] do some validation --- app/controllers/lumen_controller.py | 4 +++- dmca-cmd.sh | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/app/controllers/lumen_controller.py b/app/controllers/lumen_controller.py index 1cb11ea..23f461d 100644 --- a/app/controllers/lumen_controller.py +++ b/app/controllers/lumen_controller.py @@ -127,7 +127,9 @@ def parse_notices_archive_users(self, unparsed_notices, test_exception = False): with warnings.catch_warnings(): warnings.filterwarnings("ignore", category=ResourceWarning, message="unclosed.*") - unshortened_urls = self.bulk_unshorten(notice.id, [x['url'] for x in work['infringing_urls']]) + urls_to_unshorten = [x['url'] for x in work['infringing_urls']] + valid_urls_to_unshorten = [u for u in urls_to_unshorten if u.startswith('http')] + unshortened_urls = self.bulk_unshorten(notice.id, valid_urls_to_unshorten) infringing_urls = [] for url_dict in unshortened_urls.values(): if(url_dict['final_url'] is not None): diff --git a/dmca-cmd.sh b/dmca-cmd.sh index e438435..5d27670 100755 --- a/dmca-cmd.sh +++ b/dmca-cmd.sh @@ -1,7 +1,6 @@ #!/usr/bin/env bash start_standard(){ -### Fetch lumen notices every 3 hours echo "starting with $1 threads" echo "launch workers" @@ -11,6 +10,7 @@ rqscheduler & # the unadorned-queuename queue has just one worker rqworker $CS_ENV & +# the tweet filling needs mutliprocessing for i in $(seq $1 $END) do echo "Launching concurrent worker $i " From fd1f8aadfa6a0dcf7047c997e35f107119593420 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Fri, 29 May 2020 16:52:08 -0700 Subject: [PATCH 188/221] don't log failed tries and report more on ratestate --- .../twitter_random_user_controller.py | 35 ++++++++++--------- utils/email_db_report.py | 14 ++++++++ 2 files changed, 33 insertions(+), 16 deletions(-) diff --git a/app/controllers/twitter_random_user_controller.py b/app/controllers/twitter_random_user_controller.py index 731a4b2..9df4ec7 100644 --- a/app/controllers/twitter_random_user_controller.py +++ b/app/controllers/twitter_random_user_controller.py @@ -38,24 +38,27 @@ def make_random_integers(self, num_to_make=100): def save_random_id_users(self, random_users_dict): """ - there should be a user id for every user that was guessed, if they existed they have a non-None user-detail dict. + to save on space, only saving existing users. :param random_users_dict: :return: """ twitter_users_to_add = [] - for user_id, user_details in random_users_dict.items(): - user_state = utils.common.TwitterUserState.FOUND.value \ - if user_details else utils.common.TwitterUserState.NOT_FOUND.value - not_found_id = None if user_details else '{0}_{1}'.format(utils.common.NOT_FOUND_TWITTER_USER_STR, user_id) - screen_name = user_details.screen_name if user_details else None - created_at = datetime.datetime.strptime(user_details.created_at, utils.common.TWITTER_STRPTIME) \ - if user_details else None - lang = user_details.status.lang if hasattr(user_details, 'status') and hasattr(user_details.status, - 'lang') else None - last_status_dt = datetime.datetime.strptime(user_details.status.created_at, utils.common.TWITTER_STRPTIME) \ - if user_details and hasattr(user_details.status, 'created_at') \ - else None - metadata_json = user_details._json if user_details else None + # subest to just users who had responses + existing_users = {user_id: user_details for user_id, user_details in random_users_dict.items() if user_details} + for user_id, user_details in existing_users.items(): + user_state = utils.common.TwitterUserState.FOUND.value + not_found_id = None + screen_name = user_details.screen_name + created_at = datetime.datetime.strptime(user_details.created_at, utils.common.TWITTER_STRPTIME) + lang = user_details.status.lang if hasattr(user_details, 'status') \ + and hasattr(user_details.status, 'lang') \ + else None + last_status_dt = datetime.datetime.strptime(user_details.status.created_at, + utils.common.TWITTER_STRPTIME) \ + if hasattr(user_details.status, 'created_at') \ + else None + metadata_json = user_details._json + rand_twitter_user = dict( id=user_id, not_found_id=not_found_id, @@ -67,7 +70,7 @@ def save_random_id_users(self, random_users_dict): metadata_json=metadata_json, created_type=utils.common.TwitterUserCreateType.RANDOMLY_GENERATED.value, CS_oldest_tweets_archived=utils.common.CS_JobState.NOT_PROCESSED.value - ) + ) twitter_users_to_add.append(rand_twitter_user) try: @@ -116,7 +119,7 @@ def generate_random_id_users(self, daily_limit=500000, target_additions=500): self.log.info("New existing users target met...." "Persisted {num_generated} random ID users. {num_exist} actually existed." "Proportion existing={prop}".format( - num_generated=num_generated, num_exist=num_exist, prop='{0:.2f}'.format(num_exist/num_generated) )) + num_generated=num_generated, num_exist=num_exist, prop='{0:.2f}'.format(num_exist / num_generated))) return num_exist def _generate_single_round_of_random_users(self): diff --git a/utils/email_db_report.py b/utils/email_db_report.py index 014444d..96a9baa 100644 --- a/utils/email_db_report.py +++ b/utils/email_db_report.py @@ -606,6 +606,19 @@ def generate_ratestate_users_lookup_exhausted(today=datetime.datetime.utcnow(), return result return generate_html_table(result, str_to_date(date_to_str(today)), label) +def generate_ratestate_users_lookup_exhausted_recency(today=datetime.datetime.utcnow(), days=7, html=True, + label="averagetime until checkin due"): + query_str = """SELECT 'num_exhausted', YEAR(checkin_due), MONTH(checkin_due), DAY(checkin_due), +avg(timestampdiff(MINUTE, now(), checkin_due )) + FROM twitter_ratestate + WHERE endpoint= '/users/lookup' + and checkin_due <= :to_date and checkin_due >= :from_date + GROUP BY YEAR(checkin_due), MONTH(checkin_due), DAY(checkin_due)""" + result = run_query_for_days(query_str, today, days=days) + if not html: + return result + return generate_html_table(result, str_to_date(date_to_str(today)), label) + ###################################################################### ######### EXPERIMENT ########################################### @@ -743,6 +756,7 @@ def generate_report(today=datetime.datetime.utcnow(), days=1): html += generate_randomization_total_notice_recent(today, days) html += generate_randomization_total_notice_all(today, days) html += generate_ratestate_users_lookup_exhausted(today, days) + html += generate_ratestate_users_lookup_exhausted_recency(today, days) # html += generate_reddit_front_page(today, days) # html += generate_reddit_subreddit_page(today, days) # html += generate_reddit_subreddit(today, days) From a571cbd69c499c3aff47c86c9f6dd12bb7dbdcd9 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Mon, 1 Jun 2020 15:11:37 -0700 Subject: [PATCH 189/221] give more info about fialing random id users --- app/controllers/twitter_random_user_controller.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/app/controllers/twitter_random_user_controller.py b/app/controllers/twitter_random_user_controller.py index 9df4ec7..da52829 100644 --- a/app/controllers/twitter_random_user_controller.py +++ b/app/controllers/twitter_random_user_controller.py @@ -78,9 +78,10 @@ def save_random_id_users(self, random_users_dict): warnings.filterwarnings("ignore", r"\(1062, \"Duplicate entry") self.db_session.execute(TwitterUser.__table__.insert().prefix_with("IGNORE"), twitter_users_to_add) self.db_session.commit() - except sqlalchemy.exc.SQLAlchemyError: - self.log.error("Error while saving random id twitter users for user ids: {}.".format( - [u['id'] for u in twitter_users_to_add]), exc_info=True) + except sqlalchemy.exc.SQLAlchemyError as e: + self.log.error("Error {} while saving random id twitter users for user ids: {}.".format( + e, [u['id'] for u in twitter_users_to_add]), exc_info=True) + return len(twitter_users_to_add) From 6960f7f337474a48b36972c30b5f194c8b756096 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Tue, 2 Jun 2020 15:40:11 -0700 Subject: [PATCH 190/221] give more info about fialing random id users --- app/controllers/lumen_controller.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/controllers/lumen_controller.py b/app/controllers/lumen_controller.py index 23f461d..a95dc3f 100644 --- a/app/controllers/lumen_controller.py +++ b/app/controllers/lumen_controller.py @@ -156,8 +156,9 @@ def parse_notices_archive_users(self, unparsed_notices, test_exception = False): self.log.error("method helper_parse_notices_archive_users: maybe missed something in notice_json['works']['copyrighted_urls']; notice id = {0}".format(notice_json["id"])) job_state = CS_JobState.NEEDS_RETRY if work["description"]: # I've only seen this null - self.log.error("method helper_parse_notices_archive_users: maybe missed something in notice_json['works']['description']; notice id = {0}".format(notice_json["id"])) - job_state = CS_JobState.NEEDS_RETRY + self.log.info("method helper_parse_notices_archive_users: maybe missed something in notice_json['works']['description']; notice id = {0}; description is {1}".format(notice_json["id"], work['description'])) + # I don't believe there's a need to retry just becaus there is a description added. + # job_state = CS_JobState.NEEDS_RETRY if notice_json["body"]: # I've only seen this null self.log.error("method helper_parse_notices_archive_users: maybe missed something in notice_json['body']; notice id = {0}".format(notice_json["id"])) job_state = CS_JobState.NEEDS_RETRY From b39725724c4bf4e29adb478612147d25fb07bfc4 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Wed, 3 Jun 2020 15:19:59 -0700 Subject: [PATCH 191/221] add retryable logic to twitter branch --- utils/common.py | 119 +++++++++++++++++++++---------------- utils/retry.py | 153 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 222 insertions(+), 50 deletions(-) create mode 100755 utils/retry.py diff --git a/utils/common.py b/utils/common.py index 83c40a9..9e1872c 100644 --- a/utils/common.py +++ b/utils/common.py @@ -2,10 +2,14 @@ from operator import eq, not_ import simplejson as json +import sqlalchemy.orm.session +import warnings from collections import namedtuple import datetime NOT_FOUND_TWITTER_USER_STR = "" +LOGS_DIR = str(pathlib.Path(BASE_DIR, "logs")) +pathlib.Path(LOGS_DIR).mkdir(parents=True, exist_ok=True) EXPERIMENT_LANGUAGES = ['en', 'en-gb', 'en-GB'] @@ -18,11 +22,11 @@ class PageType(Enum): HOT = 4 class ThingType(Enum): - SUBMISSION = 1 - COMMENT = 2 - SUBREDDIT = 3 - USER = 4 - STYLESHEET = 5 + SUBMISSION = 1 + COMMENT = 2 + SUBREDDIT = 3 + USER = 4 + STYLESHEET = 5 # not formalized... class TwitterUserState(Enum): @@ -115,63 +119,78 @@ class EventWhen(Enum): BEFORE = 1 AFTER = 2 -class DbEngine: - def __init__(self, config_path): - self.config_path = config_path - - def new_session(self): - with open(self.config_path, "r") as config: - DBCONFIG = json.loads(config.read()) +class RetryableDbSession(sqlalchemy.orm.session.Session): + @retryable(backoff=True) + def execute_retryable(self, clause, params=None, commit=True): + with warnings.catch_warnings(): + warnings.filterwarnings("ignore", r"\(1062, \"Duplicate entry") + self.execute(clause, params) + if commit: + self.commit() + + def insert_retryable(self, model, params, commit=True, ignore_dupes=True): + clause = model.__table__.insert() + if ignore_dupes: + clause = clause.prefix_with("IGNORE") + self.execute_retryable(clause, params, commit) - from sqlalchemy import create_engine - from sqlalchemy.orm import sessionmaker - from app.models import Base +class DbEngine: + def __init__(self, config_path): + self.config_path = config_path + + def new_session(self): + with open(self.config_path, "r") as config: + DBCONFIG = json.loads(config.read()) + + from sqlalchemy import create_engine + from sqlalchemy.orm import sessionmaker + from app.models import Base db_engine = create_engine("mysql://{user}:{password}@{host}/{database}?charset=utf8mb4".format( - host = DBCONFIG['host'], - user = DBCONFIG['user'], - password = DBCONFIG['password'], + host = DBCONFIG['host'], + user = DBCONFIG['user'], + password = DBCONFIG['password'], database = DBCONFIG['database']), pool_recycle=3600, encoding='utf8') - Base.metadata.bind = db_engine + Base.metadata.bind = db_engine DBSession = sessionmaker(bind=db_engine) - db_session = DBSession() - return db_session + db_session = DBSession() + return db_session def _json_object_hook(dobj): - dobj['json_dict'] = dobj.copy() - X = namedtuple('X', dobj.keys(), rename=True) - X.remove = lambda x: None - return(X(*dobj.values())) + dobj['json_dict'] = dobj.copy() + X = namedtuple('X', dobj.keys(), rename=True) + X.remove = lambda x: None + return(X(*dobj.values())) def json2obj(data): - return json.loads(data, object_hook=_json_object_hook) + return json.loads(data, object_hook=_json_object_hook) class CommentNode: - def __init__(self, id, data, link_id = None, toplevel = False, parent=None): - self.id = id - self.children = list() - self.parent = parent - self.link_id = link_id - self.toplevel = toplevel - self.data = data - - def add_child(self, child): - self.children.append(child) - - def set_parent(self,parent): - self.parent = parent - - def get_all_children(self): - all_children = self.children - for child in self.children: - all_children = all_children + child.get_all_children() - if(len(all_children)>0): - return all_children - else: - return [] - - def __str__(self): + def __init__(self, id, data, link_id = None, toplevel = False, parent=None): + self.id = id + self.children = list() + self.parent = parent + self.link_id = link_id + self.toplevel = toplevel + self.data = data + + def add_child(self, child): + self.children.append(child) + + def set_parent(self,parent): + self.parent = parent + + def get_all_children(self): + all_children = self.children + for child in self.children: + all_children = all_children + child.get_all_children() + if(len(all_children)>0): + return all_children + else: + return [] + + def __str__(self): return str(self.id) diff --git a/utils/retry.py b/utils/retry.py new file mode 100755 index 0000000..0a0e566 --- /dev/null +++ b/utils/retry.py @@ -0,0 +1,153 @@ +#!/usr/bin/env python3 + +import argparse +import functools +import os +import random +import subprocess +import sys +import time +from pathlib import Path + +import app.cs_logger + +ENV = os.environ["CS_ENV"] +BASE_DIR = str(Path(__file__).parents[1]) +_log = app.cs_logger.get_logger(ENV, BASE_DIR) + +RETRY = True +RETRY_MAX_TIMES = 5 +RETRY_WAIT = 3 +BACKOFF = False +BACKOFF_BASE = 5 +BACKOFF_MAX_EXP = 4 +BACKOFF_MAX_TIMES = 5 + +def retryable(fn=None, retry=RETRY, backoff=BACKOFF, retry_wait=RETRY_WAIT, + retry_max_times=RETRY_MAX_TIMES, backoff_base=BACKOFF_BASE, + backoff_max_exp=BACKOFF_MAX_EXP, + backoff_max_times=BACKOFF_MAX_TIMES, _testing=False): + if fn is None: + return functools.partial(retryable, retry=retry, backoff=backoff, + retry_wait=retry_wait, + retry_max_times=retry_max_times, + backoff_base=backoff_base, + backoff_max_exp=backoff_max_exp, + backoff_max_times=backoff_max_times) + + def _backoff_exps(): + valid_exp = lambda i: i if i < backoff_max_exp else backoff_max_exp + yield from (valid_exp(i) for i in range(backoff_max_times)) + retryable._backoff_exps = _backoff_exps + + def _log_attempt(from_backoff, attempt_num, attempt_max, sleep_time): + attempt_type = "Backoff" if from_backoff else "Retry" + msg = "%s attempt %d of %d failed. Sleeping for %d seconds." + _log.info(msg, attempt_type, attempt_num, attempt_max, sleep_time) + + def _wait(): + if not retry and not backoff: + yield 0 + + if retry: + for i in range(retry_max_times): + yield retry_wait + _log_attempt(False, i+1, retry_max_times, retry_wait) + time.sleep(retry_wait if not _testing else 0) + + if backoff: + for i, exp in enumerate(_backoff_exps()): + wait = backoff_base + random.randrange(0, backoff_base**exp) + yield wait + _log_attempt(True, i+1, backoff_max_times, wait) + time.sleep(wait if not _testing else 0) + + @functools.wraps(fn) + def _retry(*args, **kwargs): + _retry._retryable_last_exception = None + _retry._retryable_sleep_periods = [] + + for next_sleep_period in _wait(): + _retry._retryable_sleep_periods.append(next_sleep_period) + try: + result = fn(*args, **kwargs) + _retry.retryable_last_exception = None + return result + except Exception as e: + _retry._retryable_last_exception = e + _log.exception("Exception encountered in a retryable function") + + if _retry._retryable_last_exception: + raise _retry._retryable_last_exception + + return _retry + +def parse_args(): + parser = argparse.ArgumentParser() + parser.add_argument("path", + help="The path of the executable to retry on failure.") + parser.add_argument("arguments", + nargs="*", + help="Arguments to pass to the executable.") + parser.add_argument("--retry", + action="store_true", + default=RETRY, + help="Whether retry loops are enabled.") + parser.add_argument("--retry-max-times", + type=int, + default=RETRY_MAX_TIMES, + help="The maximum number of retry attempts.") + parser.add_argument("--retry-wait", + type=int, + default=RETRY_WAIT, + help="The wait period between retries in seconds.") + parser.add_argument("--backoff", + action="store_true", + default=BACKOFF, + help="Whether exponential backoff is enabled.") + parser.add_argument("--backoff-base", + type=int, + default=BACKOFF_BASE, + help=("The base for exponential backoff, i.e. the " + + "the minimum wait window size.")) + parser.add_argument("--backoff-max-exp", + type=int, + default=BACKOFF_MAX_EXP, + help=("The exponent for exponential backoff, i.e. " + + "the maximum wait window size.")) + parser.add_argument("--backoff-max-times", + type=int, + default=BACKOFF_MAX_TIMES, + help="The maximum number of backoff attempts.") + + args = parser.parse_args() + return args + +def run_subprocess(**kwargs): + kwargs.setdefault("retry", RETRY) + kwargs.setdefault("retry_max_times", RETRY_MAX_TIMES) + kwargs.setdefault("retry_wait", RETRY_WAIT) + kwargs.setdefault("backoff", BACKOFF) + kwargs.setdefault("backoff_base", BACKOFF_BASE) + kwargs.setdefault("backoff_max_exp", BACKOFF_MAX_EXP) + kwargs.setdefault("backoff_max_times", BACKOFF_MAX_TIMES) + + path = kwargs.pop("path") + arguments = kwargs.pop("arguments", []) + + @retryable(**kwargs) + def _exec(): + statement = [args.path] + args.arguments + completed = subprocess.run(statement) + return completed.returncode + + returncode = _exec() + sys.exit(returncode) + +if __name__ == "__main__": + try: + args = parse_args() + run_subprocess(**vars(args)) + except KeyboardInterrupt: + pass + From 6b8c1a837e6577ade7666904a797940a81296f00 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Wed, 3 Jun 2020 16:05:33 -0700 Subject: [PATCH 192/221] pipe in retryable --- app/controller.py | 1 + app/controllers/twitter_controller.py | 2 +- app/controllers/twitter_match_controller.py | 1 + .../twitter_random_user_controller.py | 6 +- utils/common.py | 186 +++++++++++------- 5 files changed, 117 insertions(+), 79 deletions(-) diff --git a/app/controller.py b/app/controller.py index 91e744e..3f34383 100644 --- a/app/controller.py +++ b/app/controller.py @@ -229,6 +229,7 @@ def fetch_twitter_tweets(backfill=False, collection_seconds=None, user_rand_frac """ For all TwitterUsers with CS_most_tweets_queried=False, fetch tweets """ + fill_start_time = datetime.datetime.utcnow() if not fill_start_time else fill_start_time log.info("Calling fetch_twitter_tweets, backfill={0}. PID={1}".format(backfill, str(os.getpid()))) t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) t.query_and_archive_tweets(backfill=backfill, fill_start_time=fill_start_time, diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index dcdeb94..95af77f 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -643,7 +643,7 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, collect last_attempted_process = datetime.datetime.utcnow() for unarchived_user in unarchived_users: unarchived_user.last_attempted_process = last_attempted_process - self.db_session.add(unarchived_user) + self.db_session.add_retryable(unarchived_user) self.db_session.commit() self.log.info( "About to query and archive tweets {0} users; backfill={1}".format(len(unarchived_users), backfill)) diff --git a/app/controllers/twitter_match_controller.py b/app/controllers/twitter_match_controller.py index 6c7f01e..45f7fbf 100644 --- a/app/controllers/twitter_match_controller.py +++ b/app/controllers/twitter_match_controller.py @@ -43,6 +43,7 @@ def match_lumen_and_random_id_users(self, batch_size=100): return num_matched def get_unmatched_users(self): + ### needs to get a lot more efficient join_clause = and_(TwitterUser.id == ExperimentThing.id) filter_clause = and_(ExperimentThing.id == None, TwitterUser.user_state == utils.common.TwitterUserState.FOUND.value) # want to find the users that have not been matched and eligible diff --git a/app/controllers/twitter_random_user_controller.py b/app/controllers/twitter_random_user_controller.py index da52829..9456300 100644 --- a/app/controllers/twitter_random_user_controller.py +++ b/app/controllers/twitter_random_user_controller.py @@ -74,15 +74,11 @@ def save_random_id_users(self, random_users_dict): twitter_users_to_add.append(rand_twitter_user) try: - with warnings.catch_warnings(): - warnings.filterwarnings("ignore", r"\(1062, \"Duplicate entry") - self.db_session.execute(TwitterUser.__table__.insert().prefix_with("IGNORE"), twitter_users_to_add) - self.db_session.commit() + self.db_session.insert_retryable(TwitterUser, twitter_users_to_add) except sqlalchemy.exc.SQLAlchemyError as e: self.log.error("Error {} while saving random id twitter users for user ids: {}.".format( e, [u['id'] for u in twitter_users_to_add]), exc_info=True) - return len(twitter_users_to_add) def num_random_id_generated_so_far_today(self): diff --git a/utils/common.py b/utils/common.py index 9e1872c..d15aec4 100644 --- a/utils/common.py +++ b/utils/common.py @@ -1,3 +1,6 @@ +import contextlib +import pathlib +import sys from enum import Enum from operator import eq, not_ @@ -7,63 +10,74 @@ from collections import namedtuple import datetime -NOT_FOUND_TWITTER_USER_STR = "" +from utils.retry import retryable + +BASE_DIR = str(pathlib.Path(__file__).parents[1]) LOGS_DIR = str(pathlib.Path(BASE_DIR, "logs")) pathlib.Path(LOGS_DIR).mkdir(parents=True, exist_ok=True) +NOT_FOUND_TWITTER_USER_STR = "" EXPERIMENT_LANGUAGES = ['en', 'en-gb', 'en-GB'] TWITTER_STRPTIME = '%a %b %d %H:%M:%S %z %Y' + class PageType(Enum): TOP = 1 - CONTR = 2 # controversial + CONTR = 2 # controversial NEW = 3 HOT = 4 + class ThingType(Enum): - SUBMISSION = 1 - COMMENT = 2 - SUBREDDIT = 3 - USER = 4 - STYLESHEET = 5 + SUBMISSION = 1 + COMMENT = 2 + SUBREDDIT = 3 + USER = 4 + STYLESHEET = 5 + # not formalized... class TwitterUserState(Enum): FOUND = 1 - NOT_FOUND = 2 # deleted (or never existed) + NOT_FOUND = 2 # deleted (or never existed) SUSPENDED = 3 PROTECTED = 4 NOT_QUALIFYING = 5 + class TwitterUserCreateType(Enum): LUMEN_NOTICE = 1 RANDOMLY_GENERATED = 2 + # for model fields CS_* class CS_JobState(Enum): - NOT_PROCESSED = 1 # haven't run yet; need to run - IN_PROGRESS = 2 # also means it was at least attempted - PROCESSED = 3 # finished running - FAILED = 4 # in_progress but never succeeded processing; because e.g. internet went down or system crashed - NEEDS_RETRY = 5 # for flagging purposes... - WONT_PROCESS = 6 # decide not process because they were never existing in the first place. + NOT_PROCESSED = 1 # haven't run yet; need to run + IN_PROGRESS = 2 # also means it was at least attempted + PROCESSED = 3 # finished running + FAILED = 4 # in_progress but never succeeded processing; because e.g. internet went down or system crashed + NEEDS_RETRY = 5 # for flagging purposes... + WONT_PROCESS = 6 # decide not process because they were never existing in the first place. + class TwitterUrlKey(Enum): ENTITY = 1 - EXTENDED = 2 # extended entity, aka media + EXTENDED = 2 # extended entity, aka media RETWEETED_ENTITY = 3 RETWEETED_EXTENDED = 4 QUOTED_ENTITY = 5 QUOTED_EXTENDED = 6 + def generate_not_found_twitter_user_id(screen_name=""): - capped_screen_name = screen_name if len(screen_name)<30 else screen_name[:30] + "..." + capped_screen_name = screen_name if len(screen_name) < 30 else screen_name[:30] + "..." return "{0}_{1}_{2}".format( NOT_FOUND_TWITTER_USER_STR, capped_screen_name, time_since_epoch_ms(datetime.datetime.utcnow()) - ) + ) + def update_all_CS_JobState(row_to_state, field, db_session, log): if len(row_to_state) == 0: @@ -75,9 +89,11 @@ def update_all_CS_JobState(row_to_state, field, db_session, log): try: db_session.commit() - log.info("Updated {0} {1} {2} fields to new CS_JobState.".format(len(row_to_state), type(list(row_to_state.keys())[0]), field)) + log.info("Updated {0} {1} {2} fields to new CS_JobState.".format(len(row_to_state), + type(list(row_to_state.keys())[0]), field)) except: - log.error("Error while saving DB Session for updating {0} {1} {2} fields to new CS_JobState.".format(len(row_to_state), type(list(row_to_state.keys())[0]), field), extra=sys.exc_info()[0]) + log.error("Error while saving DB Session for updating {0} {1} {2} fields to new CS_JobState.".format( + len(row_to_state), type(list(row_to_state.keys())[0]), field), extra=sys.exc_info()[0]) def update_CS_JobState(rows, field, to_state, db_session, log): @@ -91,7 +107,11 @@ def update_CS_JobState(rows, field, to_state, db_session, log): db_session.commit() log.info("Updated {0} {1} {2} fields to {3}.".format(len(rows), type(rows[0]), field, to_state)) except: - log.error("Error while saving DB Session for updating {0} {1} {2} fields to {3}.".format(len(rows), type(rows[0]), field, to_state), extra=sys.exc_info()[0]) + log.error( + "Error while saving DB Session for updating {0} {1} {2} fields to {3}.".format(len(rows), type(rows[0]), + field, to_state), + extra=sys.exc_info()[0]) + def reset_CS_JobState_In_Progress(rows, field, db_session, log): if len(rows) == 0: @@ -106,9 +126,12 @@ def reset_CS_JobState_In_Progress(rows, field, db_session, log): try: db_session.commit() - log.info("Updated {0} {1} {2} fields to CS_JobState NOT_PROCESSED.".format(len(changed_rows), type(rows[0]), field)) + log.info( + "Updated {0} {1} {2} fields to CS_JobState NOT_PROCESSED.".format(len(changed_rows), type(rows[0]), field)) except: - log.error("Error while saving DB Session for updating {0} {1} {2} fields to CS_JobState NOT_PROCESSED.".format(len(changed_rows), type(rows[0]), field), extra=sys.exc_info()[0]) + log.exception( + "Error while saving DB Session for updating {0} {1} {2} fields to CS_JobState NOT_PROCESSED.".format( + len(changed_rows), type(rows[0]), field)) class ParseUsernameSuspendedUserFound(Exception): @@ -119,79 +142,96 @@ class EventWhen(Enum): BEFORE = 1 AFTER = 2 + class RetryableDbSession(sqlalchemy.orm.session.Session): - @retryable(backoff=True) + # TODO Move commit logic into retryable for consistency now that it handles rollbacks + + def add_retryable(self, one_or_many, commit=True, rollback=True): + @retryable(backoff=True) + def _perform_add(): + try: + self.add_all(one_or_many) + except TypeError: + self.add(one_or_many) + if commit: + self.commit() + return one_or_many + + _perform_add() + + @retryable(backoff=False) def execute_retryable(self, clause, params=None, commit=True): with warnings.catch_warnings(): warnings.filterwarnings("ignore", r"\(1062, \"Duplicate entry") - self.execute(clause, params) + result = self.execute(clause, params) if commit: self.commit() + return result def insert_retryable(self, model, params, commit=True, ignore_dupes=True): clause = model.__table__.insert() if ignore_dupes: clause = clause.prefix_with("IGNORE") - self.execute_retryable(clause, params, commit) + return self.execute_retryable(clause, params, commit) + class DbEngine: - def __init__(self, config_path): - self.config_path = config_path - - def new_session(self): - with open(self.config_path, "r") as config: - DBCONFIG = json.loads(config.read()) - - from sqlalchemy import create_engine - from sqlalchemy.orm import sessionmaker - from app.models import Base + def __init__(self, config_path): + self.config_path = config_path + + def new_session(self): + with open(self.config_path, "r") as config: + DBCONFIG = json.loads(config.read()) + + from sqlalchemy import create_engine + from sqlalchemy.orm import sessionmaker + from app.models import Base db_engine = create_engine("mysql://{user}:{password}@{host}/{database}?charset=utf8mb4".format( - host = DBCONFIG['host'], - user = DBCONFIG['user'], - password = DBCONFIG['password'], - database = DBCONFIG['database']), pool_recycle=3600, encoding='utf8') + host=DBCONFIG['host'], + user=DBCONFIG['user'], + password=DBCONFIG['password'], + database=DBCONFIG['database']), pool_recycle=3600) + + Base.metadata.bind = db_engine + DBSession = sessionmaker(bind=db_engine, class_=RetryableDbSession) + db_session = DBSession() + return db_session - Base.metadata.bind = db_engine - DBSession = sessionmaker(bind=db_engine) - db_session = DBSession() - return db_session def _json_object_hook(dobj): - dobj['json_dict'] = dobj.copy() - X = namedtuple('X', dobj.keys(), rename=True) - X.remove = lambda x: None - return(X(*dobj.values())) + dobj['json_dict'] = dobj.copy() + X = namedtuple('X', dobj.keys(), rename=True) + X.remove = lambda x: None + return (X(*dobj.values())) + def json2obj(data): - return json.loads(data, object_hook=_json_object_hook) + return json.loads(data, object_hook=_json_object_hook) class CommentNode: - def __init__(self, id, data, link_id = None, toplevel = False, parent=None): - self.id = id - self.children = list() - self.parent = parent - self.link_id = link_id - self.toplevel = toplevel - self.data = data - - def add_child(self, child): - self.children.append(child) - - def set_parent(self,parent): - self.parent = parent - - def get_all_children(self): - all_children = self.children - for child in self.children: - all_children = all_children + child.get_all_children() - if(len(all_children)>0): - return all_children - else: - return [] - - def __str__(self): - return str(self.id) + def __init__(self, id, data, link_id=None, toplevel=False, parent=None): + self.id = id + self.children = list() + self.parent = parent + self.link_id = link_id + self.toplevel = toplevel + self.data = data + + def add_child(self, child): + self.children.append(child) + + def set_parent(self, parent): + self.parent = parent + + def get_all_children(self): + all_children = self.children + for child in self.children: + all_children = all_children + child.get_all_children() + if (len(all_children) > 0): + return all_children + else: + return [] def time_since_epoch_ms(dt): From 21bb21b32c4f78d34ccbfa09def91c305b5dfa56 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Thu, 11 Jun 2020 15:24:06 -0700 Subject: [PATCH 193/221] as most recent et speedup --- app/controllers/twitter_match_controller.py | 29 ++++++++++++++------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/app/controllers/twitter_match_controller.py b/app/controllers/twitter_match_controller.py index 45f7fbf..fd6b2de 100644 --- a/app/controllers/twitter_match_controller.py +++ b/app/controllers/twitter_match_controller.py @@ -21,6 +21,7 @@ def match_lumen_and_random_id_users(self, batch_size=100): self.period_ago = self.now - datetime.timedelta( days=self.config['match_criteria']['random_user_active_within_days']) self.match_id = self.now.strftime('%Y%m%d%H%M%S') + self.batch_size = batch_size # DMCA notice offense was issued # doesn't need to do direct pair matching, can be around @@ -44,14 +45,19 @@ def match_lumen_and_random_id_users(self, batch_size=100): def get_unmatched_users(self): ### needs to get a lot more efficient + ## ways to optimize: determine the last match_id, and only look for users generated more recently than that. + most_recent_et_dt = self.db_session.query(func.max(ExperimentThing.created_at)).one() + join_clause = and_(TwitterUser.id == ExperimentThing.id) filter_clause = and_(ExperimentThing.id == None, - TwitterUser.user_state == utils.common.TwitterUserState.FOUND.value) # want to find the users that have not been matched and eligible + TwitterUser.user_state == utils.common.TwitterUserState.FOUND.value, + TwitterUser.record_created_at >= most_recent_et_dt) # want to find the users that have not been matched and eligible - unmatched_users_ret = self.db_session.query(TwitterUser, ExperimentThing) \ + unmatched_users_q = self.db_session.query(TwitterUser, ExperimentThing) \ .outerjoin(ExperimentThing, join_clause) \ - .filter(filter_clause) \ - .all() + .filter(filter_clause) + # TODO batch here + unmatched_users_ret = unmatched_users_q.all() # since the experimenthing ought to be null, don't return it unmatched_users = [unmatched_user_tup[0] for unmatched_user_tup in unmatched_users_ret] @@ -176,14 +182,16 @@ def report_matching_status(self): .group_by(ExperimentThing.object_type) created_type_count_r = created_type_count_q.all() - random_id_row = [c for c in created_type_count_r if c[0] == utils.common.TwitterUserCreateType.RANDOMLY_GENERATED.value] - lumen_id_row = [c for c in created_type_count_r if c[0] == utils.common.TwitterUserCreateType.LUMEN_NOTICE.value] + random_id_row = [c for c in created_type_count_r if + c[0] == utils.common.TwitterUserCreateType.RANDOMLY_GENERATED.value] + lumen_id_row = [c for c in created_type_count_r if + c[0] == utils.common.TwitterUserCreateType.LUMEN_NOTICE.value] random_id_count = random_id_row[0][1] if random_id_row else 0 lumen_id_count = lumen_id_row[0][1] if lumen_id_row else 0 created_type_ratio = random_id_count / lumen_id_count self.log.info('{RLS}: The overall random to group ratio is {created_type_ratio}'.format(RLS=REPORT_LOG_STR, - created_type_ratio=created_type_ratio)) + created_type_ratio=created_type_ratio)) # over all ratio of ratio of items in this match recent_created_type_count_q = self.db_session.query(ExperimentThing.object_type, @@ -192,8 +200,10 @@ def report_matching_status(self): .group_by(ExperimentThing.object_type) recent_created_type_count_r = recent_created_type_count_q.all() - recent_random_id_row = [c for c in recent_created_type_count_r if c[0] == utils.common.TwitterUserCreateType.RANDOMLY_GENERATED.value] - recent_lumen_id_row = [c for c in recent_created_type_count_r if c[0] == utils.common.TwitterUserCreateType.LUMEN_NOTICE.value] + recent_random_id_row = [c for c in recent_created_type_count_r if + c[0] == utils.common.TwitterUserCreateType.RANDOMLY_GENERATED.value] + recent_lumen_id_row = [c for c in recent_created_type_count_r if + c[0] == utils.common.TwitterUserCreateType.LUMEN_NOTICE.value] random_id_count = random_id_row[0][1] if recent_random_id_row else 0 lumen_id_count = lumen_id_row[0][1] if recent_lumen_id_row else 0 @@ -210,4 +220,3 @@ def report_matching_status(self): match_id=self.match_id)) return recent_created_type_ratio - From f8d9b33596cc18776516a05672740c69d0084289 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Thu, 11 Jun 2020 16:48:26 -0700 Subject: [PATCH 194/221] skinny column version of try fix --- app/controllers/twitter_match_controller.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/app/controllers/twitter_match_controller.py b/app/controllers/twitter_match_controller.py index fd6b2de..e4d9bf6 100644 --- a/app/controllers/twitter_match_controller.py +++ b/app/controllers/twitter_match_controller.py @@ -47,20 +47,22 @@ def get_unmatched_users(self): ### needs to get a lot more efficient ## ways to optimize: determine the last match_id, and only look for users generated more recently than that. most_recent_et_dt = self.db_session.query(func.max(ExperimentThing.created_at)).one() - + most_recent_et_dt = most_recent_et_dt if most_recent_et_dt[0] else datetime.datetime(2020,1,1,0,0,0) + self.log.info('Most recent et was: {}'.format(most_recent_et_dt)) join_clause = and_(TwitterUser.id == ExperimentThing.id) - filter_clause = and_(ExperimentThing.id == None, + filter_clause = and_(TwitterUser.record_created_at >= most_recent_et_dt, TwitterUser.user_state == utils.common.TwitterUserState.FOUND.value, - TwitterUser.record_created_at >= most_recent_et_dt) # want to find the users that have not been matched and eligible + ExperimentThing.id == None, + ) # want to find the users that have not been matched and eligible - unmatched_users_q = self.db_session.query(TwitterUser, ExperimentThing) \ + unmatched_users_q = self.db_session.query(TwitterUser.id, TwitterUser.created_type, TwitterUser.last_status_dt, TwitterUser.lang) \ .outerjoin(ExperimentThing, join_clause) \ .filter(filter_clause) - # TODO batch here unmatched_users_ret = unmatched_users_q.all() # since the experimenthing ought to be null, don't return it - unmatched_users = [unmatched_user_tup[0] for unmatched_user_tup in unmatched_users_ret] + # unmatched_users = [unmatched_user_tup[0] for unmatched_user_tup in unmatched_users_ret] + unmatched_users = unmatched_users_ret return unmatched_users From e0563e19b8c8d03cb03c2decc8a73e819c83f581 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Fri, 12 Jun 2020 11:41:39 -0700 Subject: [PATCH 195/221] abandon tu-et join strategy, use internal guratantee instead --- ..._index_on_twitteruser_record_created_at.py | 59 +++++++++++++++++++ app/controllers/twitter_match_controller.py | 56 ++++++++++++------ app/models.py | 8 +-- 3 files changed, 100 insertions(+), 23 deletions(-) create mode 100644 alembic/versions/511fd28e1e06_index_on_twitteruser_record_created_at.py diff --git a/alembic/versions/511fd28e1e06_index_on_twitteruser_record_created_at.py b/alembic/versions/511fd28e1e06_index_on_twitteruser_record_created_at.py new file mode 100644 index 0000000..e134b0b --- /dev/null +++ b/alembic/versions/511fd28e1e06_index_on_twitteruser_record_created_at.py @@ -0,0 +1,59 @@ +"""index on TwitterUser record_created_at + +Revision ID: 511fd28e1e06 +Revises: 8694114d18e2 +Create Date: 2020-06-12 09:23:42.684544 + +""" + +# revision identifiers, used by Alembic. +revision = '511fd28e1e06' +down_revision = '8694114d18e2' +branch_labels = None +depends_on = None + +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import mysql + +def upgrade(engine_name): + globals()["upgrade_%s" % engine_name]() + + +def downgrade(engine_name): + globals()["downgrade_%s" % engine_name]() + + +def upgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_index(op.f('ix_twitter_users_record_created_at'), 'twitter_users', ['record_created_at'], unique=False) + # ### end Alembic commands ### + + +def downgrade_production(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index(op.f('ix_twitter_users_record_created_at'), table_name='twitter_users') + # ### end Alembic commands ### + +def upgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_index(op.f('ix_twitter_users_record_created_at'), 'twitter_users', ['record_created_at'], unique=False) + # ### end Alembic commands ### + + +def downgrade_development(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index(op.f('ix_twitter_users_record_created_at'), table_name='twitter_users') + # ### end Alembic commands ### + +def upgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_index(op.f('ix_twitter_users_record_created_at'), 'twitter_users', ['record_created_at'], unique=False) + # ### end Alembic commands ### + + +def downgrade_test(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index(op.f('ix_twitter_users_record_created_at'), table_name='twitter_users') + # ### end Alembic commands ### + diff --git a/app/controllers/twitter_match_controller.py b/app/controllers/twitter_match_controller.py index e4d9bf6..ee8c783 100644 --- a/app/controllers/twitter_match_controller.py +++ b/app/controllers/twitter_match_controller.py @@ -1,5 +1,7 @@ import datetime +import sqlalchemy + from app.controllers.twitter_controller import TwitterController from app.models import Base, TwitterUser, TwitterStatus, LumenNoticeToTwitterUser, TwitterUserSnapshot, TwitterFill, \ TwitterUnshortenedUrls, TwitterStatusUrls, ExperimentThing @@ -44,25 +46,28 @@ def match_lumen_and_random_id_users(self, batch_size=100): return num_matched def get_unmatched_users(self): - ### needs to get a lot more efficient - ## ways to optimize: determine the last match_id, and only look for users generated more recently than that. most_recent_et_dt = self.db_session.query(func.max(ExperimentThing.created_at)).one() - most_recent_et_dt = most_recent_et_dt if most_recent_et_dt[0] else datetime.datetime(2020,1,1,0,0,0) - self.log.info('Most recent et was: {}'.format(most_recent_et_dt)) - join_clause = and_(TwitterUser.id == ExperimentThing.id) - filter_clause = and_(TwitterUser.record_created_at >= most_recent_et_dt, - TwitterUser.user_state == utils.common.TwitterUserState.FOUND.value, - ExperimentThing.id == None, - ) # want to find the users that have not been matched and eligible - - unmatched_users_q = self.db_session.query(TwitterUser.id, TwitterUser.created_type, TwitterUser.last_status_dt, TwitterUser.lang) \ - .outerjoin(ExperimentThing, join_clause) \ - .filter(filter_clause) - unmatched_users_ret = unmatched_users_q.all() - + most_recent_et_dt = most_recent_et_dt if most_recent_et_dt[0] else datetime.datetime(2020, 1, 1, 0, 0, 0) + self.log.debug('Most recent et was: {}'.format(most_recent_et_dt)) + recent_tu_clause = and_(TwitterUser.record_created_at >= most_recent_et_dt, + TwitterUser.user_state == utils.common.TwitterUserState.FOUND.value) + # #To inefficient for now, going to try and use a gaurantee instead + # join_clause = and_(TwitterUser.id == ExperimentThing.id) + # et_none_clause = ExperimentThing.id == None # want to find the users that have not been matched and eligible + # unmatched_users_q = self.db_session.query(TwitterUser, ExperimentThing) \ + # .outerjoin(ExperimentThing, join_clause) \ + # .filter(recent_tu_clause).filter(et_none_clause) + # unmatched_users_ret = unmatched_users_q.all() + # # since the experimenthing ought to be null, don't return it # unmatched_users = [unmatched_user_tup[0] for unmatched_user_tup in unmatched_users_ret] - unmatched_users = unmatched_users_ret + + # #In this version, we rely on the assumption, that we need to match all the users that whose record + # #was created since the last match + recent_tu_q = self.db_session.query(TwitterUser.id, TwitterUser.created_type, TwitterUser.last_status_dt, + TwitterUser.lang, TwitterUser.record_created_at)\ + .filter(recent_tu_clause) + unmatched_users = recent_tu_q.all() return unmatched_users @@ -115,13 +120,16 @@ def insert_ETs(self, twitter_users, randomization_arm, block_id): # metadata keep randomization-block-id and block sizes other match data here metadata = {'block_id': block_id, 'randomization_arm': randomization_arm} id = tu.id - et = ExperimentThing(id=id, + et = dict(id=id, object_type=randomization_arm, metadata_json=metadata, query_index=block_id) ETs_to_add.append(et) - self.db_session.add_all(ETs_to_add) - self.db_session.commit() + try: + self.db_session.insert_retryable(ExperimentThing, ETs_to_add) + except sqlalchemy.exc.SQLAlchemyError as e: + self.log.error("Error {} while saving random id twitter users for user ids: {}.".format( + e, [u['id'] for u in ETs_to_add]), exc_info=True) def make_matches(self, valid_unmatched_users): """ @@ -221,4 +229,14 @@ def report_matching_status(self): lumen_id_count=lumen_id_count, match_id=self.match_id)) + # check that no user is in two blocks + # # do i need to do this, since the id is the twitter user id and is also a unique primary. + + # check that the number of found users and randomized users are close + found_users = self.db_session.query(TwitterUser).filter( + TwitterUser.user_state==utils.common.TwitterUserState.FOUND.value).count() + et_users = self.db_session.query(ExperimentThing).count() + self.log.info( + '{RLS}: There were found_users?=et_users: {found_users}?={et_users}'.format(RLS=REPORT_LOG_STR, found_users=found_users, et_users=et_users)) + return recent_created_type_ratio diff --git a/app/models.py b/app/models.py index 2dd3ae3..b403e49 100644 --- a/app/models.py +++ b/app/models.py @@ -237,12 +237,12 @@ class LumenNoticeToTwitterUser(Base): # most up to date knowledge about a user at a current time class TwitterUser(Base): __tablename__ = 'twitter_users' - id = Column(String(64), primary_key = True) # should be lowercase; if not found, # if not found, NOT_FOUND_TWITTER_USER_STR_[date] - not_found_id = Column(String(64), index = True, default=None) # if a user ever goes between e.g. FOUND and NOT_FOUND (either direction), + id = Column(String(64), primary_key=True) # should be lowercase; if not found, # if not found, NOT_FOUND_TWITTER_USER_STR_[date] + not_found_id = Column(String(64), index=True, default=None) # if a user ever goes between e.g. FOUND and NOT_FOUND (either direction), # we want to be able to map between the actual id and the ... id - screen_name = Column(String(256), index = True) # if not found, # if not found, NOT_FOUND_TWITTER_USER_STR + screen_name = Column(String(256), index=True) # if not found, # if not found, NOT_FOUND_TWITTER_USER_STR created_at = Column(DateTime) - record_created_at = Column(DateTime, default=datetime.datetime.utcnow) + record_created_at = Column(DateTime, default=datetime.datetime.utcnow, index=True) created_type = Column(Integer, default=1) lang = Column(String(32)) user_state = Column(Integer) # utils/common.py From ee1b1111846876c017bdccabab94d20e1c8e1ad4 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Fri, 12 Jun 2020 16:53:27 -0700 Subject: [PATCH 196/221] update email db report --- app/controllers/twitter_match_controller.py | 8 +++-- utils/email_db_report.py | 36 +++++++++++++++------ 2 files changed, 32 insertions(+), 12 deletions(-) diff --git a/app/controllers/twitter_match_controller.py b/app/controllers/twitter_match_controller.py index ee8c783..580da14 100644 --- a/app/controllers/twitter_match_controller.py +++ b/app/controllers/twitter_match_controller.py @@ -48,7 +48,7 @@ def match_lumen_and_random_id_users(self, batch_size=100): def get_unmatched_users(self): most_recent_et_dt = self.db_session.query(func.max(ExperimentThing.created_at)).one() most_recent_et_dt = most_recent_et_dt if most_recent_et_dt[0] else datetime.datetime(2020, 1, 1, 0, 0, 0) - self.log.debug('Most recent et was: {}'.format(most_recent_et_dt)) + self.log.info('Most recent et was: {}'.format(most_recent_et_dt)) recent_tu_clause = and_(TwitterUser.record_created_at >= most_recent_et_dt, TwitterUser.user_state == utils.common.TwitterUserState.FOUND.value) # #To inefficient for now, going to try and use a gaurantee instead @@ -82,6 +82,7 @@ def filter_matchable_users(self, unmatched_users): u.created_type == utils.common.TwitterUserCreateType.LUMEN_NOTICE.value] # first do random users + self.log.info('Period ago, last statuses should be after {}'.format(self.period_ago)) for ru in random_id_users: # check there's a last status has_last_status = ru.last_status_dt is not None @@ -109,8 +110,8 @@ def invalidate_not_qualifying_users(self, invalid_unmatched_users): set the user states on these random-id users to TwitterUserState.not-qualifying so they don't show in queries any more. """ # invalidate by creating a negative-1 randomization arm - - self.insert_ETs(invalid_unmatched_users, randomization_arm=-1, block_id=-1) + if len(invalid_unmatched_users)>0: + self.insert_ETs(invalid_unmatched_users, randomization_arm=-1, block_id=-1) def insert_ETs(self, twitter_users, randomization_arm, block_id): ETs_to_add = [] @@ -173,6 +174,7 @@ def report_matching_status(self): func.count(ExperimentThing.query_index)) \ .group_by(ExperimentThing.query_index) num_block_r = num_block_q.all() + num_block_r = [(block_id, block_count) for (block_id, block_count) in num_block_r if block_id] # strange thing with a null block total_blocks = len(num_block_r) invalid_users = [b for b in num_block_r if b[0] == '-1'][0][1] most_recent_block = sorted(num_block_r, reverse=True)[0] diff --git a/utils/email_db_report.py b/utils/email_db_report.py index 96a9baa..b5225e9 100644 --- a/utils/email_db_report.py +++ b/utils/email_db_report.py @@ -341,7 +341,7 @@ def generate_tweets(today=datetime.datetime.utcnow(), days=7, html=True, label=" def generate_guessed(today=datetime.datetime.utcnow(), days=7, html=True, label="Guessed IDs"): query_str = """ - SELECT 'All random users', YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) + SELECT 'Random users that were saved.', YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) FROM twitter_users WHERE record_created_at <= :to_date and record_created_at >= :from_date and created_type=2 @@ -392,7 +392,7 @@ def generate_noticed_users_en(today=datetime.datetime.utcnow(), days=7, html=Tru def generate_noticed_users_en_subsampled(today=datetime.datetime.utcnow(), days=7, html=True, label=None): label = "Correct Language Twitter Users random subsample {}".format(DBCONFIG['user_rand_frac']) query_str = """ - SELECT 'lumen', YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) + SELECT 'Twitter users', YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) FROM twitter_users WHERE record_created_at <= :to_date and record_created_at >= :from_date and created_type = 1 @@ -406,7 +406,7 @@ def generate_noticed_users_en_subsampled(today=datetime.datetime.utcnow(), days= def generate_guessed_existed(today=datetime.datetime.utcnow(), days=7, html=True, label="Guessed and Existed"): query_str = """ - SELECT '', YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) + SELECT 'User is found', YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) FROM twitter_users WHERE record_created_at <= :to_date and record_created_at >= :from_date and created_type=2 # randomly generated @@ -467,15 +467,17 @@ def generate_guessed_existed_active_2day_en(today=datetime.datetime.utcnow(), da and created_type=2 # randomly generated and user_state = 1 # found and last_status_dt > date_sub(record_created_at, interval 2 day) - and lang = 'en' + and lang in ('en', 'en-gb') GROUP BY YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at);""" result = run_query_for_days(query_str, today, days=days) return generate_html_table(result, str_to_date(date_to_str(today)), label) if html else result def generate_matchable(today=datetime.datetime.utcnow(), days=7, html=True, - label="Matchability. Notice and Random Users meeting match criteria"): - query_str = """select 'matchable, notice - rand', notice_match.`YEAR(record_created_at)`, notice_match.`MONTH(record_created_at)`, notice_match.`DAY(record_created_at)`, num_notice_matchable - num_rand_matchable from + label="Random user surplus, in twitter_users table. " + "random users minus notice users, meeting match criteria." + "Should be positive."): + query_str = """select '[num_rand_users] - [num_notice_users_subsampled]', notice_match.`YEAR(record_created_at)`, notice_match.`MONTH(record_created_at)`, notice_match.`DAY(record_created_at)`, num_notice_matchable - num_rand_matchable from (SELECT 'match' as matchable, YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) as num_rand_matchable FROM twitter_users WHERE record_created_at <= :to_date and record_created_at >= :from_date @@ -499,7 +501,8 @@ def generate_matchable(today=datetime.datetime.utcnow(), days=7, html=True, def generate_randomization_ratio_recent(today=datetime.datetime.utcnow(), days=7, html=True, - label="Ratio of matched users by day, recent"): + label="Ratio of matched users, daily. ExperimentThings table." + "Should be 1.5x or higher"): query_str = """select 'matched, rand/noticed', notice_match.`YEAR(created_at)`, notice_match.`MONTH(created_at)`, notice_match.`DAY(created_at)`, num_rand_matched/num_notice_matched from (SELECT 'match' as matchable, YEAR(created_at), MONTH(created_at), DAY(created_at), count(*) num_rand_matched @@ -595,7 +598,7 @@ def generate_randomization_total_notice_all(today=datetime.datetime.utcnow(), da ###################################################################### def generate_ratestate_users_lookup_exhausted(today=datetime.datetime.utcnow(), days=7, html=True, - label="number of users_lookup exhausted endpoints"): + label="number of users_lookup endpoints used checked out in the last day"): query_str = """SELECT 'num_exhausted', YEAR(checkin_due), MONTH(checkin_due), DAY(checkin_due), count(*) FROM twitter_ratestate WHERE endpoint= '/users/lookup' @@ -606,8 +609,22 @@ def generate_ratestate_users_lookup_exhausted(today=datetime.datetime.utcnow(), return result return generate_html_table(result, str_to_date(date_to_str(today)), label) +def generate_ratestate_users_lookup(today=datetime.datetime.utcnow(), days=7, html=True, + label="number of users_lookup total endpoints"): + query_str = """SELECT 'num_exhausted', YEAR(checkin_due), MONTH(checkin_due), DAY(checkin_due), count(*) + FROM twitter_ratestate + WHERE endpoint= '/users/lookup' + GROUP BY YEAR(checkin_due), MONTH(checkin_due), DAY(checkin_due)""" + result = run_query_for_days(query_str, today, days=days) + if not html: + return result + return generate_html_table(result, str_to_date(date_to_str(today)), label) + + def generate_ratestate_users_lookup_exhausted_recency(today=datetime.datetime.utcnow(), days=7, html=True, - label="averagetime until checkin due"): + label="average time in minutes that checkins are compared to now. " + "negative indicates most of the checkin times existed in past (not used)." + " should be highly negative if we have token overhead"): query_str = """SELECT 'num_exhausted', YEAR(checkin_due), MONTH(checkin_due), DAY(checkin_due), avg(timestampdiff(MINUTE, now(), checkin_due )) FROM twitter_ratestate @@ -755,6 +772,7 @@ def generate_report(today=datetime.datetime.utcnow(), days=1): html += generate_randomization_total_rand_all(today, days) html += generate_randomization_total_notice_recent(today, days) html += generate_randomization_total_notice_all(today, days) + html += generate_ratestate_users_lookup(today, days) html += generate_ratestate_users_lookup_exhausted(today, days) html += generate_ratestate_users_lookup_exhausted_recency(today, days) # html += generate_reddit_front_page(today, days) From 2aba95832937d5d9862a5fbd880c40ada1a03200 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Fri, 12 Jun 2020 23:58:49 +0000 Subject: [PATCH 197/221] use
to make readable --- utils/email_db_report.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/utils/email_db_report.py b/utils/email_db_report.py index b5225e9..38982f1 100644 --- a/utils/email_db_report.py +++ b/utils/email_db_report.py @@ -474,8 +474,8 @@ def generate_guessed_existed_active_2day_en(today=datetime.datetime.utcnow(), da def generate_matchable(today=datetime.datetime.utcnow(), days=7, html=True, - label="Random user surplus, in twitter_users table. " - "random users minus notice users, meeting match criteria." + label="Random user surplus, in twitter_users table.
" + "random users minus notice users, meeting match criteria.
" "Should be positive."): query_str = """select '[num_rand_users] - [num_notice_users_subsampled]', notice_match.`YEAR(record_created_at)`, notice_match.`MONTH(record_created_at)`, notice_match.`DAY(record_created_at)`, num_notice_matchable - num_rand_matchable from (SELECT 'match' as matchable, YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) as num_rand_matchable @@ -622,9 +622,9 @@ def generate_ratestate_users_lookup(today=datetime.datetime.utcnow(), days=7, ht def generate_ratestate_users_lookup_exhausted_recency(today=datetime.datetime.utcnow(), days=7, html=True, - label="average time in minutes that checkins are compared to now. " - "negative indicates most of the checkin times existed in past (not used)." - " should be highly negative if we have token overhead"): + label="average time in minutes that checkins are compared to now.
" + "negative indicates most of the checkin times existed in past (not used).
" + "should be highly negative if we have token overhead"): query_str = """SELECT 'num_exhausted', YEAR(checkin_due), MONTH(checkin_due), DAY(checkin_due), avg(timestampdiff(MINUTE, now(), checkin_due )) FROM twitter_ratestate From 2ed1416a00cfa7110e9417b24082808abe487900 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Mon, 15 Jun 2020 17:08:11 -0700 Subject: [PATCH 198/221] report fixes and schedule fixes --- dmca-cmd.sh | 4 +-- utils/email_db_report.py | 55 ++++------------------------------------ 2 files changed, 7 insertions(+), 52 deletions(-) diff --git a/dmca-cmd.sh b/dmca-cmd.sh index 5d27670..84268c3 100755 --- a/dmca-cmd.sh +++ b/dmca-cmd.sh @@ -47,8 +47,8 @@ echo "Fetch Twitter Account Snapshots & Tweet Counts: every 24 hours, get new sn echo "Generate random ID users every half and ten minutes" python schedule_twitter_jobs.py --function twitter_generate_random_id_users --interval 600 2> $logfile -echo "Match ID groups twice per day" -python schedule_twitter_jobs.py --function twitter_match_comparison_groups --interval 43200 2> $logfile +echo "Match ID groups twice every three hours, like notice onboarding" +python schedule_twitter_jobs.py --function twitter_match_comparison_groups --interval 10800 2> $logfile python manage_scheduled_jobs.py show all 2> $logfile diff --git a/utils/email_db_report.py b/utils/email_db_report.py index 38982f1..6228d81 100644 --- a/utils/email_db_report.py +++ b/utils/email_db_report.py @@ -477,7 +477,7 @@ def generate_matchable(today=datetime.datetime.utcnow(), days=7, html=True, label="Random user surplus, in twitter_users table.
" "random users minus notice users, meeting match criteria.
" "Should be positive."): - query_str = """select '[num_rand_users] - [num_notice_users_subsampled]', notice_match.`YEAR(record_created_at)`, notice_match.`MONTH(record_created_at)`, notice_match.`DAY(record_created_at)`, num_notice_matchable - num_rand_matchable from + query_str = """select '[num_rand_users] - [num_notice_users_subsampled]', notice_match.`YEAR(record_created_at)`, notice_match.`MONTH(record_created_at)`, notice_match.`DAY(record_created_at)`, num_rand_matchable - num_notice_matchable from (SELECT 'match' as matchable, YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) as num_rand_matchable FROM twitter_users WHERE record_created_at <= :to_date and record_created_at >= :from_date @@ -523,28 +523,9 @@ def generate_randomization_ratio_recent(today=datetime.datetime.utcnow(), days=7 return generate_html_table(result, str_to_date(date_to_str(today)), label) -def generate_randomization_ratio_all(today=datetime.datetime.utcnow(), days=7, html=True, - label="Ratio of matched users by day, all experiment"): - query_str = """select 'matched, rand/noticed', notice_match.`YEAR(created_at)`, notice_match.`MONTH(created_at)`, notice_match.`DAY(created_at)`, num_rand_matched/num_notice_matched -from -(SELECT 'match' as matchable, YEAR(created_at), MONTH(created_at), DAY(created_at), count(*) num_rand_matched - FROM experiment_things - WHERE object_type = 2 - GROUP BY YEAR(created_at), MONTH(created_at), DAY(created_at)) rand_match - join -(SELECT 'match' as matchable, YEAR(created_at), MONTH(created_at), DAY(created_at), count(*) num_notice_matched - FROM experiment_things - WHERE object_type = 1 - GROUP BY YEAR(created_at), MONTH(created_at), DAY(created_at)) notice_match -on notice_match.matchable = rand_match.matchable;""" - result = run_query_for_days(query_str, today, days=days) - if not html: - return result - return generate_html_table(result, str_to_date(date_to_str(today)), label) - def generate_randomization_total_rand_recent(today=datetime.datetime.utcnow(), days=7, html=True, - label="total_rand of matched users by day, recent"): + label="total rand of matched users"): query_str = """SELECT 'random_id_user included', YEAR(created_at), MONTH(created_at), DAY(created_at), count(*) FROM experiment_things WHERE created_at <= :to_date and created_at >= :from_date @@ -556,20 +537,8 @@ def generate_randomization_total_rand_recent(today=datetime.datetime.utcnow(), d return generate_html_table(result, str_to_date(date_to_str(today)), label) -def generate_randomization_total_rand_all(today=datetime.datetime.utcnow(), days=7, html=True, - label="total_rand of matched users by day, all experiment"): - query_str = """SELECT 'random_id_user included', YEAR(created_at), MONTH(created_at), DAY(created_at), count(*) - FROM experiment_things - WHERE object_type = 2 - GROUP BY YEAR(created_at), MONTH(created_at), DAY(created_at)""" - result = run_query_for_days(query_str, today, days=days) - if not html: - return result - return generate_html_table(result, str_to_date(date_to_str(today)), label) - - def generate_randomization_total_notice_recent(today=datetime.datetime.utcnow(), days=7, html=True, - label="total_notice of matched users by day, recent"): + label="total notice matched users"): query_str = """SELECT 'notice included', YEAR(created_at), MONTH(created_at), DAY(created_at), count(*) FROM experiment_things WHERE created_at <= :to_date and created_at >= :from_date @@ -581,18 +550,6 @@ def generate_randomization_total_notice_recent(today=datetime.datetime.utcnow(), return generate_html_table(result, str_to_date(date_to_str(today)), label) -def generate_randomization_total_notice_all(today=datetime.datetime.utcnow(), days=7, html=True, - label="total_notice of matched users by day, all experiment"): - query_str = """SELECT 'notice included', YEAR(created_at), MONTH(created_at), DAY(created_at), count(*) - FROM experiment_things - WHERE object_type = 1 - GROUP BY YEAR(created_at), MONTH(created_at), DAY(created_at)""" - result = run_query_for_days(query_str, today, days=days) - if not html: - return result - return generate_html_table(result, str_to_date(date_to_str(today)), label) - - ###################################################################### ######### RATESTATE ########################################### ###################################################################### @@ -609,8 +566,9 @@ def generate_ratestate_users_lookup_exhausted(today=datetime.datetime.utcnow(), return result return generate_html_table(result, str_to_date(date_to_str(today)), label) + def generate_ratestate_users_lookup(today=datetime.datetime.utcnow(), days=7, html=True, - label="number of users_lookup total endpoints"): + label="number of users_lookup total endpoints"): query_str = """SELECT 'num_exhausted', YEAR(checkin_due), MONTH(checkin_due), DAY(checkin_due), count(*) FROM twitter_ratestate WHERE endpoint= '/users/lookup' @@ -767,11 +725,8 @@ def generate_report(today=datetime.datetime.utcnow(), days=1): html += generate_guessed_existed_active_2day_en(today, days) html += generate_matchable(today, days) html += generate_randomization_ratio_recent(today, days) - html += generate_randomization_ratio_all(today, days) html += generate_randomization_total_rand_recent(today, days) - html += generate_randomization_total_rand_all(today, days) html += generate_randomization_total_notice_recent(today, days) - html += generate_randomization_total_notice_all(today, days) html += generate_ratestate_users_lookup(today, days) html += generate_ratestate_users_lookup_exhausted(today, days) html += generate_ratestate_users_lookup_exhausted_recency(today, days) From c6c07525f19084ae5bdbd683c77c76800365ac8c Mon Sep 17 00:00:00 2001 From: Max Klein Date: Thu, 25 Jun 2020 11:10:50 -0700 Subject: [PATCH 199/221] handle error where twitter response may have changed --- app/controllers/twitter_controller.py | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 95af77f..8a60cd3 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -238,8 +238,12 @@ def commit_users_failed(user): # is UTC; expected string format: "Mon Nov 29 21:18:15 +0000 2010" created_type=utils.common.TwitterUserCreateType.LUMEN_NOTICE.value, record_created_at=now, - lang=user_json["status"]["lang"] if 'status' in user_json.keys() and 'lang' in user_json['status'].keys() else None, - last_status_dt=datetime.datetime.strptime(user_json["status"]["created_at"], utils.common.TWITTER_STRPTIME) if 'status' in user_json.keys() and 'created_at' in user_json['status'].keys() else None, + lang=user_json["status"]["lang"] if 'status' in user_json.keys() and 'lang' in + user_json['status'].keys() else None, + last_status_dt=datetime.datetime.strptime(user_json["status"]["created_at"], + utils.common.TWITTER_STRPTIME) if 'status' in user_json.keys() and 'created_at' in + user_json[ + 'status'].keys() else None, metadata_json=user_json if user_json else None, user_state=user_state.value, CS_oldest_tweets_archived=CS_JobState.NOT_PROCESSED.value) @@ -503,7 +507,8 @@ def archive_old_users(self, key_to_users, has_ids=True): user.screen_name = screen_name user.created_at = created_at # user.record_updated_at = now # THIS SHOULDN'T BE UPDATED. old TwitterUser records probably have wrong record_updated_at - user.lang = user_json["status"]["lang"] if 'status' in user_json.keys() and 'lang' in user_json['status'].keys() else None + user.lang = user_json["status"]["lang"] if 'status' in user_json.keys() and 'lang' in \ + user_json['status'].keys() else None user.user_state = user_state.value # create TwitterUserSnapshot record @@ -728,12 +733,15 @@ def get_statuses_user_state(self, user_id, count=200, max_id=None, user_state=Tw self.t.try_counter = 0 ## this line prevents the retry code from looping self.log.info(e) # TODO: un-jankify this error handling/parsing code. might not get much better though - if e.message == "Not authorized.": - # Account is either protected or suspended - self.log.info(user_state is TwitterUserState.PROTECTED) - if user_state is not TwitterUserState.PROTECTED: - user_state = TwitterUserState.SUSPENDED - elif e.message[0]['code'] == 34: # message = "Sorry, that page does not exist." + if isinstance(e.message, str): + if e.message == "Not authorized.": + # Account is either protected or suspended + self.log.info(user_state is TwitterUserState.PROTECTED) + if user_state is not TwitterUserState.PROTECTED: + user_state = TwitterUserState.SUSPENDED + elif isinstance(e.messaege, list) and e.message[0]['code'] == 34: # message = "Sorry, that page does not exist." + user_state = TwitterUserState.NOT_FOUND + elif isinstance(e.message, dict) and e.message['code'] == 34: user_state = TwitterUserState.NOT_FOUND else: self.log.error( From cbe38d021df88963acc422930586b548ed180544 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Thu, 25 Jun 2020 11:35:12 -0700 Subject: [PATCH 200/221] add failed queue count to db report --- utils/email_db_report.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/utils/email_db_report.py b/utils/email_db_report.py index 6228d81..1638d0c 100644 --- a/utils/email_db_report.py +++ b/utils/email_db_report.py @@ -1,6 +1,8 @@ import os, sys import datetime import simplejson as json +from redis import Redis +from rq import Queue if __name__ == "__main__" and len(sys.argv) > 1: os.environ["CS_ENV"] = sys.argv[1] @@ -523,7 +525,6 @@ def generate_randomization_ratio_recent(today=datetime.datetime.utcnow(), days=7 return generate_html_table(result, str_to_date(date_to_str(today)), label) - def generate_randomization_total_rand_recent(today=datetime.datetime.utcnow(), days=7, html=True, label="total rand of matched users"): query_str = """SELECT 'random_id_user included', YEAR(created_at), MONTH(created_at), DAY(created_at), count(*) @@ -672,6 +673,14 @@ def generate_experiment_action(today=datetime.datetime.utcnow(), days=7, html=Tr return generate_html_table(result, str_to_date(date_to_str(today)), "Experiment Action") if html else result +def generate_failed_queue_count(today, days): + q = Queue(connection=Redis(), name='failed') + failed_job_ids = q.get_job_ids() + num_failed_jobs = len(failed_job_ids) + failed_queue_d = {'Num failed jobs': {today: num_failed_jobs}} + return generate_html_table_from_dict(failed_queue_d, str_to_date(date_to_str(today)), 'Failed Queue Count') + + ###################################################################### ######### GENERATE REPORT ########################################### ###################################################################### @@ -730,6 +739,7 @@ def generate_report(today=datetime.datetime.utcnow(), days=1): html += generate_ratestate_users_lookup(today, days) html += generate_ratestate_users_lookup_exhausted(today, days) html += generate_ratestate_users_lookup_exhausted_recency(today, days) + html += generate_failed_queue_count(today, days) # html += generate_reddit_front_page(today, days) # html += generate_reddit_subreddit_page(today, days) # html += generate_reddit_subreddit(today, days) From fe2d30140c4e0be662379a7e87d3904615f39ddd Mon Sep 17 00:00:00 2001 From: Max Klein Date: Mon, 29 Jun 2020 16:41:38 -0700 Subject: [PATCH 201/221] dynamic control group sizes --- app/controller.py | 26 ++++++++---- app/controllers/twitter_controller.py | 5 ++- .../twitter_random_user_controller.py | 41 ++++++++++++++----- 3 files changed, 52 insertions(+), 20 deletions(-) diff --git a/app/controller.py b/app/controller.py index 3f34383..da12bd7 100644 --- a/app/controller.py +++ b/app/controller.py @@ -28,10 +28,22 @@ BASE_DIR = os.path.join(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))), "..") ENV = os.environ['CS_ENV'] +config_path = os.path.join(BASE_DIR, "config") + "/{env}.json".format(env=ENV) +with open(config_path, 'r') as config_f: + json_config = json.load(config_f) + +experiment_file_path = os.path.join(BASE_DIR, "config", "experiments", 'dmca_experiment.yml') +try: + with open(experiment_file_path) as f: + experiment_config = yaml.safe_load(f) +except FileNotFoundError: + experiment_config = None + + ### LOAD SQLALCHEMY SESSION -db_session = DbEngine(os.path.join(BASE_DIR, "config") + "/{env}.json".format(env=ENV)).new_session() -db_session_write = DbEngine(os.path.join(BASE_DIR, "config") + "/{env}.json".format(env=ENV)).new_session() -db_session_twit_conn = DbEngine(os.path.join(BASE_DIR, "config") + "/{env}.json".format(env=ENV)).new_session() +db_session = DbEngine(config_path).new_session() +db_session_write = DbEngine(config_path).new_session() +db_session_twit_conn = DbEngine(config_path).new_session() # LOAD LOGGER log = app.cs_logger.get_logger(ENV, BASE_DIR) @@ -238,12 +250,13 @@ def fetch_twitter_tweets(backfill=False, collection_seconds=None, user_rand_frac log.info("Finished fetch_twitter_tweets, backfill={0}. PID={1}".format(backfill, str(os.getpid()))) -def fetch_twitter_random_id_users(daily_limit=500000, target_additions=500): +def fetch_twitter_random_id_users(daily_limit=None, target_additions=None): """ Create users for comparison making sure """ log.info("Starting to generate users from random IDs, PID={0}".format(str(os.getpid()))) - t = app.controllers.twitter_random_user_controller.TwitterRandomUserController(db_session, twitter_conn, log) + t = app.controllers.twitter_random_user_controller.TwitterRandomUserController(db_session, twitter_conn, log, + experiment_config, json_config) t.generate_random_id_users(daily_limit=daily_limit, target_additions=target_additions) twitter_conn.checkin_endpoint() log.info("Finished generating users from random IDs, PID={0}".format(str(os.getpid()))) @@ -254,9 +267,6 @@ def twitter_match_comparison_groups(): Match dmca-receiving and randomly generated users. """ log.info("Starting to match comparison group, PID={0}".format(str(os.getpid()))) - experiment_file_path = os.path.join(BASE_DIR, "config", "experiments", 'dmca_experiment.yml') - with open(experiment_file_path) as f: - experiment_config = yaml.safe_load(f) t = app.controllers.twitter_match_controller.TwitterMatchController(db_session, twitter_conn, log, experiment_config) t.match_lumen_and_random_id_users() diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 8a60cd3..7cef433 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -72,11 +72,12 @@ class TwitterController(): - def __init__(self, db_session, t, log, config=None): + def __init__(self, db_session, t, log, config=None, json_config=None): self.t = t self.db_session = db_session self.log = log - self.config = config + self.config = config # this is the yaml one we want to switch to. + self.json_config = json_config ######################################################### ################### ARCHIVE NEW USERS CODE diff --git a/app/controllers/twitter_random_user_controller.py b/app/controllers/twitter_random_user_controller.py index 9456300..2dd8562 100644 --- a/app/controllers/twitter_random_user_controller.py +++ b/app/controllers/twitter_random_user_controller.py @@ -1,3 +1,4 @@ +import inspect import math import random import datetime @@ -12,14 +13,14 @@ from utils.common import TwitterUserState, NOT_FOUND_TWITTER_USER_STR, CS_JobState, neq, EXPERIMENT_LANGUAGES, \ TwitterUrlKey import sys, warnings, os -from collections import defaultdict - -from utils.url_unshortener import bulkUnshorten - -TWITTER_DATETIME_STR_FORMAT = "%a %b %d %H:%M:%S %z %Y" class TwitterRandomUserController(TwitterController): + def __init__(self, db_session, twitter_conn, log, experiment_config, json_config): + super().__init__(db_session, twitter_conn, log, experiment_config, json_config) + self.now = datetime.datetime.utcnow() + self.yesterday = self.now - datetime.timedelta(days=1) + def make_random_integers(self, num_to_make=100): # valid ranges are in beginning,end tups VALID_RANGES = ((10008932, 3308208032), @@ -82,16 +83,24 @@ def save_random_id_users(self, random_users_dict): return len(twitter_users_to_add) def num_random_id_generated_so_far_today(self): - now = datetime.datetime.utcnow() - yesterday = now - datetime.timedelta(days=1) today_guessed_existed_q = self.db_session.query(TwitterUser).filter( TwitterUser.created_type == utils.common.TwitterUserCreateType.RANDOMLY_GENERATED.value) \ .filter(TwitterUser.user_state == utils.common.TwitterUserState.FOUND.value) \ - .filter(TwitterUser.record_created_at > yesterday) + .filter(TwitterUser.record_created_at > self.yesterday) num_guessed_existed_today = today_guessed_existed_q.count() return num_guessed_existed_today - def generate_random_id_users(self, daily_limit=500000, target_additions=500): + def num_notice_users_found_so_far_today(self): + today_notice_users_q = self.db_session.query(TwitterUser).filter( + TwitterUser.created_type == utils.common.TwitterUserCreateType.LUMEN_NOTICE.value) \ + .filter(TwitterUser.user_state == utils.common.TwitterUserState.FOUND.value) \ + .filter(TwitterUser.record_created_at > self.yesterday) \ + .filter(TwitterUser.lang.in_(self.config['match_criteria']['langs'])) \ + .filter(TwitterUser.user_rand<1) + num_noticed_today = today_notice_users_q.count() + return num_noticed_today + + def generate_random_id_users(self, daily_limit=None, target_additions=None): ''' https://github.com/SMAPPNYU/smapputil/blob/master/py/query_twitter/old_queries/generate_random_twitter_potential_ids.py from twitter : These IDs are unique 64-bit unsigned integers, which are based on time, instead of being sequential. The full ID is composed of a timestamp, a worker number, and a sequence number. When consuming the API using JSON, it is important to always use the field id_str instead of id. @@ -103,7 +112,18 @@ def generate_random_id_users(self, daily_limit=500000, target_additions=500): num_exist = 0 num_generated = 0 # Get the number guessed today. + num_noticed_today = self.num_notice_users_found_so_far_today() + num_generated_today = self.num_random_id_generated_so_far_today() + self.log.debug('Number of users noticed last day: {num_noticed_today}.' + 'Number of users generated last day: {num_generated_today}.' + 'Daily limit set to: {dl}'.format(num_noticed_today=num_noticed_today, + num_generated_today=num_generated_today, + dl=daily_limit)) + if daily_limit == -1 or daily_limit: + # if the flag is set to match use this. + daily_limit = num_noticed_today if self.num_random_id_generated_so_far_today() >= daily_limit: + self.log.debug('reached daily limit') return num_exist # zero made in this batch else: round = 0 @@ -136,7 +156,8 @@ def _generate_single_round_of_random_users(self): for random_exist_user in users_lookup_result: random_users_dict[random_exist_user.id] = random_exist_user - num_generated_round = self.save_random_id_users(random_users_dict) + num_generated_round = self.save_random_id_users(random_users_dict) #not actually the numebr that existed any more + num_generated_round = len(random_users_dict) num_exist_round = len(users_lookup_result) self.log.info("Persisted {num_generated} random ID users. {num_exist} actually existed.".format( num_generated=num_generated_round, From be1d36dde98ea06479d2bfff12766fa289874333 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Mon, 29 Jun 2020 17:00:37 -0700 Subject: [PATCH 202/221] fix misspelling --- app/controllers/twitter_controller.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 7cef433..a1d22b0 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -740,7 +740,7 @@ def get_statuses_user_state(self, user_id, count=200, max_id=None, user_state=Tw self.log.info(user_state is TwitterUserState.PROTECTED) if user_state is not TwitterUserState.PROTECTED: user_state = TwitterUserState.SUSPENDED - elif isinstance(e.messaege, list) and e.message[0]['code'] == 34: # message = "Sorry, that page does not exist." + elif isinstance(e.message, list) and e.message[0]['code'] == 34: # message = "Sorry, that page does not exist." user_state = TwitterUserState.NOT_FOUND elif isinstance(e.message, dict) and e.message['code'] == 34: user_state = TwitterUserState.NOT_FOUND From 94d126ddeb34d3b8e2516b06c874053bcf90f259 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Tue, 30 Jun 2020 12:20:53 -0700 Subject: [PATCH 203/221] need a mu --- app/controllers/twitter_random_user_controller.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/app/controllers/twitter_random_user_controller.py b/app/controllers/twitter_random_user_controller.py index 2dd8562..444b368 100644 --- a/app/controllers/twitter_random_user_controller.py +++ b/app/controllers/twitter_random_user_controller.py @@ -119,12 +119,19 @@ def generate_random_id_users(self, daily_limit=None, target_additions=None): 'Daily limit set to: {dl}'.format(num_noticed_today=num_noticed_today, num_generated_today=num_generated_today, dl=daily_limit)) - if daily_limit == -1 or daily_limit: + + # think about what the daily limit ought to be + if daily_limit < 0: # if the flag is set to match use this. - daily_limit = num_noticed_today + random_to_notice_ratio = 1.1 + if 'random_to_notice_ratio' in self.json_config: + random_to_notice_ratio = self.json_config['random_to_notice_ratio'] + daily_limit = num_noticed_today * random_to_notice_ratio + # check if we've reached the daily limit if self.num_random_id_generated_so_far_today() >= daily_limit: self.log.debug('reached daily limit') return num_exist # zero made in this batch + # we need to make random id users else: round = 0 while num_exist < target_additions: From f4ae664bf7a0257f73102587ff279ce670605905 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Tue, 30 Jun 2020 14:22:50 -0700 Subject: [PATCH 204/221] some extra add retryables --- app/controllers/twitter_controller.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index a1d22b0..3e8bad5 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -704,7 +704,7 @@ def with_user_records_archive_tweets(self, user_records, backfill=False, is_test # users's user_state can change by executing the next line. job_state = self.archive_user_tweets(user, backfill=backfill, is_test=is_test) user.CS_oldest_tweets_archived = job_state.value - self.db_session.add(user) + self.db_session.add_retryable(user) self.db_session.commit() fill_record = TwitterFill(user_id=user.id, @@ -712,7 +712,7 @@ def with_user_records_archive_tweets(self, user_records, backfill=False, is_test fill_type='backfill' if backfill else 'frontfill', job_state=job_state.value, user_state=user.user_state) - self.db_session.add(fill_record) + self.db_session.add_retryable(fill_record) self.db_session.commit() if test_exception: From 209c271d04bca5ccb9728c877ab1c461a233672a Mon Sep 17 00:00:00 2001 From: Max Klein Date: Fri, 3 Jul 2020 15:06:15 -0700 Subject: [PATCH 205/221] run the filler more often for les time --- app/controller.py | 2 +- app/controllers/twitter_controller.py | 5 ++++- dmca-cmd.sh | 8 ++++---- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/app/controller.py b/app/controller.py index da12bd7..015b5ba 100644 --- a/app/controller.py +++ b/app/controller.py @@ -243,7 +243,7 @@ def fetch_twitter_tweets(backfill=False, collection_seconds=None, user_rand_frac """ fill_start_time = datetime.datetime.utcnow() if not fill_start_time else fill_start_time log.info("Calling fetch_twitter_tweets, backfill={0}. PID={1}".format(backfill, str(os.getpid()))) - t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log) + t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log, experiment_config, json_config) t.query_and_archive_tweets(backfill=backfill, fill_start_time=fill_start_time, collection_seconds=collection_seconds, user_rand_frac=user_rand_frac) twitter_conn.checkin_endpoint() diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 3e8bad5..4c28f31 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -625,7 +625,10 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, collect # fill_start_time, lets us know if that user has been attempted *this round*. The CS_JobState state let's us # know if every item was either processed successfully or failed batch_attempt_counter = 0 - while not all_filled: + users_per_run = self.json_config['users_per_fill_run'] + max_batches = users_per_run / batch_size + self.log.debug('users per run are {}, batch size is {} = max batches {}'.format(users_per_run, batch_size, max_batches)) + while not all_filled and batch_attempt_counter <= max_batches: fill_query = self.db_session.query(TwitterUser). \ filter( and_( diff --git a/dmca-cmd.sh b/dmca-cmd.sh index 84268c3..15280cd 100755 --- a/dmca-cmd.sh +++ b/dmca-cmd.sh @@ -33,12 +33,12 @@ echo Fetch Twitter Users: every 3 hours python schedule_twitter_jobs.py --function fetch_twitter_users --interval 10800 2> $logfile # Backfill Twitter tweets: Every 12 hours -echo "Backfill Twitter tweets: Every 12 hours" -python schedule_twitter_jobs.py --function fetch_twitter_tweets --statuses_backfill --interval 43200 --n_tasks $1 2> $logfile +echo "Backfill Twitter tweets: Every 30 mins" +python schedule_twitter_jobs.py --function fetch_twitter_tweets --statuses_backfill --interval 1800 --n_tasks $1 2> $logfile # Fetch Twitter Tweets: Every twenty-four hours (once a day) -echo "Fetch Twitter Tweets: Every twenty-four hours (once a day)" -python schedule_twitter_jobs.py --function fetch_twitter_tweets --interval 86400 --n_tasks $1 2> $logfile +echo "Fetch Twitter Tweets: Every 15 mins" +python schedule_twitter_jobs.py --function fetch_twitter_tweets --interval 900 --n_tasks $1 2> $logfile ## Fetch Twitter Account Snapshots & Tweet Counts: every 24 hours, get new snapshots for users who haven't had a snapshot in the last 23.3 hours echo "Fetch Twitter Account Snapshots & Tweet Counts: every 24 hours, get new snapshots for users who haven't had a snapshot in the last 23.3 hours" From cc8c7e86f001470f8174716c4340e9215406d5ca Mon Sep 17 00:00:00 2001 From: Max Klein Date: Fri, 3 Jul 2020 15:32:42 -0700 Subject: [PATCH 206/221] run the filler more often for les time --- schedule_twitter_jobs.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/schedule_twitter_jobs.py b/schedule_twitter_jobs.py index ea84889..529d87e 100644 --- a/schedule_twitter_jobs.py +++ b/schedule_twitter_jobs.py @@ -1,9 +1,10 @@ import inspect +import random import sys from redis import Redis from rq_scheduler import Scheduler -from datetime import datetime +from datetime import datetime, timedelta import app.controller import os, argparse import schedule_twitter_jobs @@ -121,6 +122,7 @@ def main(): user_rand_frac = config["user_rand_frac"] random_users_daily_limit = config["random_users_daily_limit"] random_users_target_additions = config["random_users_target_additions"] + fetch_tweets_schedule_random_offset = config["fetch_tweets_schedule_random_offset"] today = datetime.utcnow() log.info('Loaded experiment start date: {}. Today is :{}'.format(experiment_start_date, today)) time_til_experiment = experiment_start_date - today @@ -201,7 +203,7 @@ def main(): scheduler.schedule( scheduled_time=datetime.utcnow(), func=schedule_twitter_jobs.schedule_fetch_tweets, - args=(args, ttl, timeout, queue_name, repeats, collection_seconds, user_rand_frac), + args=(args, ttl, timeout, queue_name, repeats, collection_seconds, user_rand_frac, fetch_tweets_schedule_random_offset), interval=int(args.interval), repeat=repeats, result_ttl=ttl, @@ -229,13 +231,14 @@ def main(): -def schedule_fetch_tweets(args, ttl, timeout, queue_name, repeats, collection_seconds, user_rand_frac): +def schedule_fetch_tweets(args, ttl, timeout, queue_name, repeats, collection_seconds, user_rand_frac, random_offset): fill_start_time = datetime.utcnow() scheduler_concurrent = Scheduler(queue_name=queue_name+'_concurrent', connection=Redis()) log.info('FILLTASKS: n_tasks is {}'.format(args.n_tasks)) for task in range(args.n_tasks): + random_offset_seconds = random.randint(1, random_offset) scheduler_concurrent.schedule( - scheduled_time=datetime.utcnow(), + scheduled_time=datetime.utcnow() + timedelta(random_offset_seconds), func=app.controller.fetch_twitter_tweets, args=[args.statuses_backfill, collection_seconds, user_rand_frac, fill_start_time], interval=int(args.interval), From 1cd4c637f6b6e71905c5642479cc399de834d17b Mon Sep 17 00:00:00 2001 From: Max Klein Date: Sat, 4 Jul 2020 09:45:14 -0700 Subject: [PATCH 207/221] timedelta needs seconds --- schedule_twitter_jobs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schedule_twitter_jobs.py b/schedule_twitter_jobs.py index 529d87e..8551679 100644 --- a/schedule_twitter_jobs.py +++ b/schedule_twitter_jobs.py @@ -238,7 +238,7 @@ def schedule_fetch_tweets(args, ttl, timeout, queue_name, repeats, collection_se for task in range(args.n_tasks): random_offset_seconds = random.randint(1, random_offset) scheduler_concurrent.schedule( - scheduled_time=datetime.utcnow() + timedelta(random_offset_seconds), + scheduled_time=datetime.utcnow() + timedelta(seconds=random_offset_seconds), func=app.controller.fetch_twitter_tweets, args=[args.statuses_backfill, collection_seconds, user_rand_frac, fill_start_time], interval=int(args.interval), From a5513a9969d6bbae996bc0a72a13f6e5e26c1c3a Mon Sep 17 00:00:00 2001 From: Max Klein Date: Mon, 6 Jul 2020 15:29:00 -0700 Subject: [PATCH 208/221] add retryable to fill query --- app/controllers/twitter_controller.py | 14 ++++++++++---- dmca-cmd.sh | 5 ++--- schedule_twitter_jobs.py | 16 ++++++++-------- utils/retry.py | 27 +++++++++++++++++++-------- 4 files changed, 39 insertions(+), 23 deletions(-) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 4c28f31..4a279b5 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -21,7 +21,7 @@ from collections import defaultdict from utils.url_unshortener import bulkUnshorten - +from utils.retry import retryable """ Some notes about twitter users: @@ -646,7 +646,11 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, collect limit(batch_size) # self.log.info('Fill query is: {}'.format(str(fill_query.statement.compile()))) - unarchived_users = fill_query.all() + @retryable(backoff=False, rollback=True, session=self.db_session) + def _execute_fill_query(): + return fill_query.all() + + unarchived_users = _execute_fill_query() # mark in the database that we're claiming these items last_attempted_process = datetime.datetime.utcnow() @@ -672,6 +676,8 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, collect except sqlalchemy.orm.exc.DetachedInstanceError: self.log.error("Encountered deatched instance error.") # finally reset in_progress and log + except: + self.db_session.rollback() finally: self.log.info('RESET CS_oldest_tweets_archived attempting.') utils.common.reset_CS_JobState_In_Progress(unarchived_users, "CS_oldest_tweets_archived", @@ -743,9 +749,9 @@ def get_statuses_user_state(self, user_id, count=200, max_id=None, user_state=Tw self.log.info(user_state is TwitterUserState.PROTECTED) if user_state is not TwitterUserState.PROTECTED: user_state = TwitterUserState.SUSPENDED - elif isinstance(e.message, list) and e.message[0]['code'] == 34: # message = "Sorry, that page does not exist." + elif isinstance(e.message, list) and 'code' in e.message[0] and e.message[0]['code'] == 34: # message = "Sorry, that page does not exist." user_state = TwitterUserState.NOT_FOUND - elif isinstance(e.message, dict) and e.message['code'] == 34: + elif isinstance(e.message, dict) and 'code' in e.message and e.message['code'] == 34: user_state = TwitterUserState.NOT_FOUND else: self.log.error( diff --git a/dmca-cmd.sh b/dmca-cmd.sh index 15280cd..e0caad5 100755 --- a/dmca-cmd.sh +++ b/dmca-cmd.sh @@ -36,9 +36,8 @@ python schedule_twitter_jobs.py --function fetch_twitter_users --interval 10800 echo "Backfill Twitter tweets: Every 30 mins" python schedule_twitter_jobs.py --function fetch_twitter_tweets --statuses_backfill --interval 1800 --n_tasks $1 2> $logfile -# Fetch Twitter Tweets: Every twenty-four hours (once a day) -echo "Fetch Twitter Tweets: Every 15 mins" -python schedule_twitter_jobs.py --function fetch_twitter_tweets --interval 900 --n_tasks $1 2> $logfile +echo "Fetch Twitter Tweets: Every 30 mins" +python schedule_twitter_jobs.py --function fetch_twitter_tweets --interval 1800 --n_tasks $1 2> $logfile ## Fetch Twitter Account Snapshots & Tweet Counts: every 24 hours, get new snapshots for users who haven't had a snapshot in the last 23.3 hours echo "Fetch Twitter Account Snapshots & Tweet Counts: every 24 hours, get new snapshots for users who haven't had a snapshot in the last 23.3 hours" diff --git a/schedule_twitter_jobs.py b/schedule_twitter_jobs.py index 8551679..379dbb1 100644 --- a/schedule_twitter_jobs.py +++ b/schedule_twitter_jobs.py @@ -22,7 +22,6 @@ # LOAD LOGGER log = app.cs_logger.get_logger(ENV, BASE_DIR) - # documentation at # https://github.com/ui/rq-scheduler @@ -109,7 +108,7 @@ def main(): SECONDS_IN_DAY = 60 * 60 * 24 - ttl = max(2*SECONDS_IN_DAY, int(args.interval) + 3600) # max of (2days in seconds, args.interval + 1 hr) + ttl = max(2 * SECONDS_IN_DAY, int(args.interval) + 3600) # max of (2days in seconds, args.interval + 1 hr) timeout = max(SECONDS_IN_DAY, int(args.interval) + 300) # max of (3hrs in seconds, args.interval + 50min) # LOAD Experiment details @@ -161,7 +160,6 @@ def main(): log.error(e) sys.exit(1) - if args.function == "fetch_lumen_notices": scheduler.schedule( scheduled_time=datetime.utcnow(), @@ -203,7 +201,8 @@ def main(): scheduler.schedule( scheduled_time=datetime.utcnow(), func=schedule_twitter_jobs.schedule_fetch_tweets, - args=(args, ttl, timeout, queue_name, repeats, collection_seconds, user_rand_frac, fetch_tweets_schedule_random_offset), + args=(args, ttl, timeout, queue_name, repeats, collection_seconds, user_rand_frac, + fetch_tweets_schedule_random_offset), interval=int(args.interval), repeat=repeats, result_ttl=ttl, @@ -230,23 +229,24 @@ def main(): raise NotImplementedError("Unimplimented function: {}".format(args.function)) - def schedule_fetch_tweets(args, ttl, timeout, queue_name, repeats, collection_seconds, user_rand_frac, random_offset): fill_start_time = datetime.utcnow() - scheduler_concurrent = Scheduler(queue_name=queue_name+'_concurrent', connection=Redis()) + scheduler_concurrent = Scheduler(queue_name=queue_name + '_concurrent', connection=Redis()) log.info('FILLTASKS: n_tasks is {}'.format(args.n_tasks)) for task in range(args.n_tasks): random_offset_seconds = random.randint(1, random_offset) scheduler_concurrent.schedule( scheduled_time=datetime.utcnow() + timedelta(seconds=random_offset_seconds), func=app.controller.fetch_twitter_tweets, - args=[args.statuses_backfill, collection_seconds, user_rand_frac, fill_start_time], + kwargs={"backfill": args.statuses_backfill, + "fill_start_time": fill_start_time, + "collection_seconds": collection_seconds, + "user_rand_frac": user_rand_frac}, interval=int(args.interval), repeat=0, result_ttl=ttl, timeout=timeout) - if __name__ == '__main__': main() diff --git a/utils/retry.py b/utils/retry.py index 0a0e566..7a4e842 100755 --- a/utils/retry.py +++ b/utils/retry.py @@ -23,21 +23,25 @@ BACKOFF_MAX_EXP = 4 BACKOFF_MAX_TIMES = 5 + def retryable(fn=None, retry=RETRY, backoff=BACKOFF, retry_wait=RETRY_WAIT, retry_max_times=RETRY_MAX_TIMES, backoff_base=BACKOFF_BASE, backoff_max_exp=BACKOFF_MAX_EXP, - backoff_max_times=BACKOFF_MAX_TIMES, _testing=False): + backoff_max_times=BACKOFF_MAX_TIMES, rollback=False, + session=None, _testing=False): if fn is None: return functools.partial(retryable, retry=retry, backoff=backoff, retry_wait=retry_wait, retry_max_times=retry_max_times, backoff_base=backoff_base, backoff_max_exp=backoff_max_exp, - backoff_max_times=backoff_max_times) + backoff_max_times=backoff_max_times, + session=session, rollback=rollback) def _backoff_exps(): valid_exp = lambda i: i if i < backoff_max_exp else backoff_max_exp yield from (valid_exp(i) for i in range(backoff_max_times)) + retryable._backoff_exps = _backoff_exps def _log_attempt(from_backoff, attempt_num, attempt_max, sleep_time): @@ -52,14 +56,14 @@ def _wait(): if retry: for i in range(retry_max_times): yield retry_wait - _log_attempt(False, i+1, retry_max_times, retry_wait) + _log_attempt(False, i + 1, retry_max_times, retry_wait) time.sleep(retry_wait if not _testing else 0) - + if backoff: for i, exp in enumerate(_backoff_exps()): - wait = backoff_base + random.randrange(0, backoff_base**exp) + wait = backoff_base + random.randrange(0, backoff_base ** exp) yield wait - _log_attempt(True, i+1, backoff_max_times, wait) + _log_attempt(True, i + 1, backoff_max_times, wait) time.sleep(wait if not _testing else 0) @functools.wraps(fn) @@ -76,12 +80,17 @@ def _retry(*args, **kwargs): except Exception as e: _retry._retryable_last_exception = e _log.exception("Exception encountered in a retryable function") + if session and rollback: + msg = "Calling rollback on retryable session %s." + _log.error(msg, hex(id(session))) + session.rollback() if _retry._retryable_last_exception: raise _retry._retryable_last_exception return _retry + def parse_args(): parser = argparse.ArgumentParser() parser.add_argument("path", @@ -119,10 +128,11 @@ def parse_args(): type=int, default=BACKOFF_MAX_TIMES, help="The maximum number of backoff attempts.") - + args = parser.parse_args() return args + def run_subprocess(**kwargs): kwargs.setdefault("retry", RETRY) kwargs.setdefault("retry_max_times", RETRY_MAX_TIMES) @@ -140,10 +150,11 @@ def _exec(): statement = [args.path] + args.arguments completed = subprocess.run(statement) return completed.returncode - + returncode = _exec() sys.exit(returncode) + if __name__ == "__main__": try: args = parse_args() From edca2c0f34da99ffcbf6569e03adfea333b86180 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Wed, 8 Jul 2020 12:06:27 -0700 Subject: [PATCH 209/221] add fills --- utils/email_db_report.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/utils/email_db_report.py b/utils/email_db_report.py index 1638d0c..59ad128 100644 --- a/utils/email_db_report.py +++ b/utils/email_db_report.py @@ -551,6 +551,33 @@ def generate_randomization_total_notice_recent(today=datetime.datetime.utcnow(), return generate_html_table(result, str_to_date(date_to_str(today)), label) +def generate_backfills_count(today=datetime.datetime.utcnow(), days=7, html=True, + label="total notice matched users"): + query_str = """SELECT 'backfills count', YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) + FROM twitter_fills + WHERE record_created_at <= :to_date and record_created_at >= :from_date + and job_state = 3 + and fill_type = 'backfill' + GROUP BY YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at);""" + result = run_query_for_days(query_str, today, days=days) + if not html: + return result + return generate_html_table(result, str_to_date(date_to_str(today)), label) + +def generate_frontfills_count(today=datetime.datetime.utcnow(), days=7, html=True, + label="total notice matched users"): + query_str = """SELECT 'frontfills count', YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) + FROM twitter_fills + WHERE record_created_at <= :to_date and record_created_at >= :from_date + and job_state = 3 + and fill_type = 'frontfill' + GROUP BY YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at);""" + result = run_query_for_days(query_str, today, days=days) + if not html: + return result + return generate_html_table(result, str_to_date(date_to_str(today)), label) + + ###################################################################### ######### RATESTATE ########################################### ###################################################################### From 10de0d7502f4ace45bb869f2d0a668c456aaafe7 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Wed, 8 Jul 2020 12:06:27 -0700 Subject: [PATCH 210/221] add in backfills --- utils/email_db_report.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/utils/email_db_report.py b/utils/email_db_report.py index 1638d0c..18d6a51 100644 --- a/utils/email_db_report.py +++ b/utils/email_db_report.py @@ -551,6 +551,33 @@ def generate_randomization_total_notice_recent(today=datetime.datetime.utcnow(), return generate_html_table(result, str_to_date(date_to_str(today)), label) +def generate_backfills_count(today=datetime.datetime.utcnow(), days=7, html=True, + label="total notice matched users"): + query_str = """SELECT 'backfills count', YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) + FROM twitter_fills + WHERE record_created_at <= :to_date and record_created_at >= :from_date + and job_state = 3 + and fill_type = 'backfill' + GROUP BY YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at);""" + result = run_query_for_days(query_str, today, days=days) + if not html: + return result + return generate_html_table(result, str_to_date(date_to_str(today)), label) + +def generate_frontfills_count(today=datetime.datetime.utcnow(), days=7, html=True, + label="total notice matched users"): + query_str = """SELECT 'frontfills count', YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at), count(*) + FROM twitter_fills + WHERE record_created_at <= :to_date and record_created_at >= :from_date + and job_state = 3 + and fill_type = 'frontfill' + GROUP BY YEAR(record_created_at), MONTH(record_created_at), DAY(record_created_at);""" + result = run_query_for_days(query_str, today, days=days) + if not html: + return result + return generate_html_table(result, str_to_date(date_to_str(today)), label) + + ###################################################################### ######### RATESTATE ########################################### ###################################################################### @@ -736,6 +763,8 @@ def generate_report(today=datetime.datetime.utcnow(), days=1): html += generate_randomization_ratio_recent(today, days) html += generate_randomization_total_rand_recent(today, days) html += generate_randomization_total_notice_recent(today, days) + html += generate_backfills_count(today, days) + html += generate_frontfills_count(today, days) html += generate_ratestate_users_lookup(today, days) html += generate_ratestate_users_lookup_exhausted(today, days) html += generate_ratestate_users_lookup_exhausted_recency(today, days) From 99a86c1ff7aa5af138680b007291f3b5d335b25e Mon Sep 17 00:00:00 2001 From: Max Klein Date: Thu, 9 Jul 2020 13:21:06 -0700 Subject: [PATCH 211/221] log exceptions with log.exceptions --- utils/common.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/utils/common.py b/utils/common.py index d15aec4..1f33b71 100644 --- a/utils/common.py +++ b/utils/common.py @@ -92,8 +92,8 @@ def update_all_CS_JobState(row_to_state, field, db_session, log): log.info("Updated {0} {1} {2} fields to new CS_JobState.".format(len(row_to_state), type(list(row_to_state.keys())[0]), field)) except: - log.error("Error while saving DB Session for updating {0} {1} {2} fields to new CS_JobState.".format( - len(row_to_state), type(list(row_to_state.keys())[0]), field), extra=sys.exc_info()[0]) + log.exception("Error while saving DB Session for updating {0} {1} {2} fields to new CS_JobState.".format( + len(row_to_state), type(list(row_to_state.keys())[0]), field)) def update_CS_JobState(rows, field, to_state, db_session, log): @@ -107,10 +107,9 @@ def update_CS_JobState(rows, field, to_state, db_session, log): db_session.commit() log.info("Updated {0} {1} {2} fields to {3}.".format(len(rows), type(rows[0]), field, to_state)) except: - log.error( + log.exception( "Error while saving DB Session for updating {0} {1} {2} fields to {3}.".format(len(rows), type(rows[0]), - field, to_state), - extra=sys.exc_info()[0]) + field, to_state)) def reset_CS_JobState_In_Progress(rows, field, db_session, log): From a3796e3cf0075096aa79212459eacb3a3bc98eec Mon Sep 17 00:00:00 2001 From: Max Klein Date: Mon, 13 Jul 2020 15:07:20 -0700 Subject: [PATCH 212/221] log info on shorter running things --- app/controllers/twitter_controller.py | 2 +- app/controllers/twitter_random_user_controller.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 4a279b5..1874d33 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -627,7 +627,7 @@ def query_and_archive_tweets(self, backfill=False, fill_start_time=None, collect batch_attempt_counter = 0 users_per_run = self.json_config['users_per_fill_run'] max_batches = users_per_run / batch_size - self.log.debug('users per run are {}, batch size is {} = max batches {}'.format(users_per_run, batch_size, max_batches)) + self.log.info('users per run are {}, batch size is {} = max batches {}'.format(users_per_run, batch_size, max_batches)) while not all_filled and batch_attempt_counter <= max_batches: fill_query = self.db_session.query(TwitterUser). \ filter( diff --git a/app/controllers/twitter_random_user_controller.py b/app/controllers/twitter_random_user_controller.py index 444b368..c26c802 100644 --- a/app/controllers/twitter_random_user_controller.py +++ b/app/controllers/twitter_random_user_controller.py @@ -114,7 +114,7 @@ def generate_random_id_users(self, daily_limit=None, target_additions=None): # Get the number guessed today. num_noticed_today = self.num_notice_users_found_so_far_today() num_generated_today = self.num_random_id_generated_so_far_today() - self.log.debug('Number of users noticed last day: {num_noticed_today}.' + self.log.info('Number of users noticed last day: {num_noticed_today}.' 'Number of users generated last day: {num_generated_today}.' 'Daily limit set to: {dl}'.format(num_noticed_today=num_noticed_today, num_generated_today=num_generated_today, @@ -123,7 +123,7 @@ def generate_random_id_users(self, daily_limit=None, target_additions=None): # think about what the daily limit ought to be if daily_limit < 0: # if the flag is set to match use this. - random_to_notice_ratio = 1.1 + random_to_notice_ratio = 133 # because about 0.0075% of random ids end up being active in english last 2 days if 'random_to_notice_ratio' in self.json_config: random_to_notice_ratio = self.json_config['random_to_notice_ratio'] daily_limit = num_noticed_today * random_to_notice_ratio From e502b1374d885a4a9fda01df7fa55b344c51a377 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Mon, 10 Aug 2020 16:10:32 -0700 Subject: [PATCH 213/221] start adding things for the new observation study --- app/controller.py | 20 +- ...twitter_longitudinal_dataset_controller.py | 186 ++++++++++++++++++ .../twitter_random_user_controller.py | 7 +- 3 files changed, 207 insertions(+), 6 deletions(-) create mode 100644 app/controllers/twitter_longitudinal_dataset_controller.py diff --git a/app/controller.py b/app/controller.py index 015b5ba..1b8a304 100644 --- a/app/controller.py +++ b/app/controller.py @@ -18,7 +18,8 @@ import app.controllers.sticky_comment_experiment_controller import app.controllers.lumen_controller from app.controllers import twitter_controller, twitter_match_controller, twitter_unshorten_controller, \ - twitter_analysis_controller, twitter_observational_analysis_controller, twitter_random_user_controller + twitter_analysis_controller, twitter_observational_analysis_controller, twitter_random_user_controller, \ + twitter_longitudinal_dataset_controller from utils.common import PageType, DbEngine import app.cs_logger from app.models import Base, SubredditPage, Subreddit, Post, ModAction, Experiment @@ -39,7 +40,6 @@ except FileNotFoundError: experiment_config = None - ### LOAD SQLALCHEMY SESSION db_session = DbEngine(config_path).new_session() db_session_write = DbEngine(config_path).new_session() @@ -243,7 +243,8 @@ def fetch_twitter_tweets(backfill=False, collection_seconds=None, user_rand_frac """ fill_start_time = datetime.datetime.utcnow() if not fill_start_time else fill_start_time log.info("Calling fetch_twitter_tweets, backfill={0}. PID={1}".format(backfill, str(os.getpid()))) - t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log, experiment_config, json_config) + t = app.controllers.twitter_controller.TwitterController(db_session, twitter_conn, log, experiment_config, + json_config) t.query_and_archive_tweets(backfill=backfill, fill_start_time=fill_start_time, collection_seconds=collection_seconds, user_rand_frac=user_rand_frac) twitter_conn.checkin_endpoint() @@ -274,6 +275,19 @@ def twitter_match_comparison_groups(): log.info("Finished matching comparison group, PID={0}".format(str(os.getpid()))) +def generate_twitter_longitudinal_dataset(): + """ + Create JP's longitudinal dataset + """ + log.info("Starting to generate longitudinal dataset, PID={0}".format(str(os.getpid()))) + t = app.controllers.twitter_longitudinal_dataset_controller.TwitterLongitudinalController(db_session, twitter_conn, + log, experiment_config, + json_config) + t.run() + twitter_conn.checkin_endpoint() + log.info("Finished generating longitudinal dataset, PID={0}".format(str(os.getpid()))) + + def unshorten_twitter_urls(): """ unshorten all the twitter statuses urls diff --git a/app/controllers/twitter_longitudinal_dataset_controller.py b/app/controllers/twitter_longitudinal_dataset_controller.py new file mode 100644 index 0000000..cc6c53c --- /dev/null +++ b/app/controllers/twitter_longitudinal_dataset_controller.py @@ -0,0 +1,186 @@ +import inspect +import math +import os +import random +import datetime +import csv +import time + +import redis +from sqlalchemy import and_, func + +from app.controllers.twitter_controller import TwitterController +from app.models import Base, TwitterUser, TwitterStatus, LumenNoticeToTwitterUser, TwitterUserSnapshot, TwitterFill, \ + TwitterUnshortenedUrls, TwitterStatusUrls, ExperimentThing, LumenNotice +import sqlalchemy +import utils.common +from utils.common import TwitterUserState, NOT_FOUND_TWITTER_USER_STR, CS_JobState, neq, EXPERIMENT_LANGUAGES, \ + TwitterUrlKey + + +class TwitterLongitudinalController(TwitterController): + def __init__(self, db_session, twitter_conn, log, experiment_config, json_config): + super().__init__(db_session, twitter_conn, log, experiment_config, json_config) + self.now = datetime.datetime.utcnow() + self.yesterday = self.now - datetime.timedelta(days=1) + self.data_dir = self.json_config['data_dir'] + self.done_users = redis.Redis() + self.rand_min = json_config['user_rand_frac_min'] + self.rand_max = json_config['user_rand_frac_max'] + print('computing users with rand between ({rand_min},{rand_max})') + self.users_per_csv = json_config['users_per_output_csv'] if 'user_per_output_csv' in json_config.keys() else 100 + self.out_fields = ['twitter_user_id', 'twitter_user_created_at', 'notice_date', 'language', 'lumen_notice', + 'date', 'day_num', 'num_lumen_notices', 'prev_lumen_notices', 'num_tweets', 'num_links', + 'num_civic_links'] + + def get_done_users(self): + # TODO switch this to redis or make an output table, but going quickly for now + csvs = [f for f in os.listdir(self.data_dir) if f.endswith('.csv')] + done_users = set() + for csv in csvs: + with open(os.path.join(self.data_dir, csv), 'r') as duf: + lg_reader = csv.reader(duf) + for row in lg_reader: + # assuming the twitter_user_id is in column 0 + done_users.add(row[0]) + return done_users + + def to_day(self, date): + return datetime.date(date.year, date.month, date.day) + + def start_user_records_batch(self, batch_id): + batch_csv_f = os.path.join(self.data_dir, 'min_{}_max_{}_part_{}'.format(self.rand_min, self.rand_max, batch_id)) + self.batch_csv = open(batch_csv_f, 'a') + self.batch_csv_writer = csv.DictWriter(self.batch_csv, fieldnames=self.out_fields) + self.batch_csv_writer.writeheader() + + def close_user_records_batch(self, batch_id): + self.batch_csv.close() + + def write_user_records(self, user_records): + for user_record in user_records: + self.batch_csv_writer.writerow(user_record) + + + + def process_users_batch(self, users, batch_id): + done_users = self.get_done_users() + now_time = time.time() + self.start_user_records_batch(batch_id) + for i, user in enumerate(users): + if user.id in done_users: + print('already did: {}'.format(user.id)) + continue + if i % 20 == 0: + print("...in process_users: completed {0}/{1} users".format(i, len(users))) + print("last user took {} secs".format(time.time() - now_time)) + now_time = time.time() + user_records = self.process_user(user) + self.write_user_records(user_records) + self.close_user_records_batch() + + def process_user(self, user): + (user_id, user_created_at, language) = (user[0], user[1], user[2]) + # (notice id, notice date received) + # TODO switch this to twitter_statuses_recent, may require manual SQL + lumen_notice_dates = self.db_session \ + .query(LumenNoticeToTwitterUser.notice_id, LumenNotice.date_received) \ + .join(LumenNotice, LumenNoticeToTwitterUser.notice_id == LumenNotice.id) \ + .filter(LumenNoticeToTwitterUser.twitter_user_id == user_id) \ + .all() + + lumen_notices_by_day = {} + for l in lumen_notice_dates: + this_day = self.to_day(l.date_received) + if this_day not in lumen_notices_by_day: + lumen_notices_by_day[this_day] = set([]) + lumen_notices_by_day[this_day].add(l) + + # (status id, status created at, status expanded url, status unshortened url, domain, status tld, status tld is civic) + # essentially: 1st filter by tld matching, 2nd filter by checking that expanded/unshortened_url is a subdomain of normalized domain + # TODO: if you want to identify media only vs text only tweets, you'd query for the tweet json here + tweet_urls = self.db_session \ + .query(TwitterStatus.id.label("status_id"), TwitterStatus.created_at, + TwitterStatusUrls.id.label("status_url_id"), TwitterStatusUrls.expanded_url, + TwitterStatusUrls.unshortened_url,) \ + .filter(TwitterStatus.user_id == user_id) \ + .all() + + tweet_just_urls_by_day = {} # counting unique (tweet id, url)s where url is not null + tweet_urls_by_day = {} # (tweet id, url, whitelist info)s for determining is_civic, where url is not null + tweets_by_day = {} # counting unique tweet ids + for t in tweet_urls: + this_day = self.to_day(t.created_at) + if t.expanded_url or t.unshortened_url: + # if has url + if this_day not in tweet_urls_by_day: + tweet_urls_by_day[this_day] = set([]) + tweet_urls_by_day[this_day].add(t) + if this_day not in tweet_just_urls_by_day: + tweet_just_urls_by_day[this_day] = set([]) + tweet_just_urls_by_day[this_day].add((t.status_id, t.status_url_id)) + + if this_day not in tweets_by_day: + tweets_by_day[this_day] = set([]) + tweets_by_day[this_day].add(t.status_id) + sorted_notices = sorted(lumen_notice_dates, key=lambda e: e[1]) + + (earliest_notice, earliest_date) = sorted_notices[0] + earliest_day = self.to_day(earliest_date) + + prev_notices = 0 + records = [] + for day_offset in range(-23, 24): + today = earliest_day + datetime.timedelta(days=day_offset) + # print("{2}: day_offset = {0}, today = {1}".format(day_offset, today, user_id)) + + num_notices = len(lumen_notices_by_day[today]) if today in lumen_notices_by_day else 0 + prev_notices += num_notices + num_tweets = len(tweets_by_day[today]) if today in tweets_by_day else 0 + num_links = len(tweet_just_urls_by_day[today]) if today in tweet_just_urls_by_day else 0 + num_civic_links = self.get_num_civic_links(tweet_urls_by_day[today]) if today in tweet_urls_by_day else 0 + record = dict( + user_id=user_id, + user_created_at=user_created_at, + earliest_date=earliest_date, + language=language, + earliest_notice=earliest_notice, + today=today, + day_offset=day_offset, + num_notices=num_notices, + prev_notices=prev_notices, + num_tweets=num_tweets, + num_links=num_links, + num_civic_links=num_civic_links,) + records.append(record) + return records + + def get_num_civil_links(self, tweet_urls): + # TODO implement + return None + def run(self): + # TODO: if you want to include info from user json, you can include that in this query + # e.g. other user info: created_at, default_profile_image, default_name_field, + # default_account_description, default_account_website + user_incl_cond = and_(TwitterUser.user_rand < self.rand_max, + TwitterUser.user_rand > self.rand_min, + TwitterUser.lang.in_(("en", "en-gb", "en-GB"))) + + users = self.db_session \ + .query(TwitterUser.id, TwitterUser.created_at, TwitterUser.lang) \ + .filter(user_incl_cond) + + count = self.db_session \ + .query(func.count(TwitterUser.id)) \ + .filter(user_incl_cond) \ + .first()[0] + + print("Processing {0} twitter users".format(count)) + + for i in range(0, count, self.users_per_csv): + print("..completed users count = ", i) + batch_users = users[i:i + self.users_per_csv] + + self.process_users_batch(users=batch_users, batch_id=i) + + print("writing complete") diff --git a/app/controllers/twitter_random_user_controller.py b/app/controllers/twitter_random_user_controller.py index c26c802..58f1071 100644 --- a/app/controllers/twitter_random_user_controller.py +++ b/app/controllers/twitter_random_user_controller.py @@ -114,14 +114,14 @@ def generate_random_id_users(self, daily_limit=None, target_additions=None): # Get the number guessed today. num_noticed_today = self.num_notice_users_found_so_far_today() num_generated_today = self.num_random_id_generated_so_far_today() - self.log.info('Number of users noticed last day: {num_noticed_today}.' - 'Number of users generated last day: {num_generated_today}.' + self.log.info('Number of users noticed last day: {num_noticed_today}. ' + 'Number of users generated last day: {num_generated_today}. ' 'Daily limit set to: {dl}'.format(num_noticed_today=num_noticed_today, num_generated_today=num_generated_today, dl=daily_limit)) # think about what the daily limit ought to be - if daily_limit < 0: + if daily_limit is None or daily_limit < 0: # if the flag is set to match use this. random_to_notice_ratio = 133 # because about 0.0075% of random ids end up being active in english last 2 days if 'random_to_notice_ratio' in self.json_config: @@ -169,4 +169,5 @@ def _generate_single_round_of_random_users(self): self.log.info("Persisted {num_generated} random ID users. {num_exist} actually existed.".format( num_generated=num_generated_round, num_exist=num_exist_round)) + return num_exist_round, num_generated_round From 3212e2c527823ee217c973f6072830f26b11cc8f Mon Sep 17 00:00:00 2001 From: Max Klein Date: Tue, 11 Aug 2020 18:48:45 +0000 Subject: [PATCH 214/221] update cmd --- dmca-cmd.sh | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/dmca-cmd.sh b/dmca-cmd.sh index e0caad5..3e59039 100755 --- a/dmca-cmd.sh +++ b/dmca-cmd.sh @@ -5,18 +5,23 @@ echo "starting with $1 threads" echo "launch workers" #put the rq scheduler in the background -rqscheduler & +# without suprevsiord +# rqscheduler & +# with supervisord +supervisord -c /cs/CivilServant/config/supervisord.conf # the unadorned-queuename queue has just one worker -rqworker $CS_ENV & +# without supervisord +# rqworker $CS_ENV & +# with supervisord this is already taken care of by call to supervisord # the tweet filling needs mutliprocessing -for i in $(seq $1 $END) - do - echo "Launching concurrent worker $i " +# for i in $(seq $1 $END) +# do +# echo "Launching concurrent worker $i " # important to use `rqworker` and not `rq worker` because the stop command kills `rqworker`. - rqworker $CS_ENV"_concurrent" & - done +# rqworker $CS_ENV"_concurrent" & +# done logfile="logs/CivilServant_"$CS_ENV".log" echo "logfile is "$logfile @@ -57,10 +62,12 @@ stop_all(){ python manage_scheduled_jobs.py purge all rq empty $CS_ENV rq empty $CS_ENV"_concurrent" -killall rqworker -killall rqscheduler +#killall rqworker +#killall rqscheduler +supervisorctl -c /cs/CivilServant/config/supervisord.conf shutdown } + if [ -z ${1} ]; then echo "no verb specified, exiting..." @@ -84,10 +91,10 @@ fi echo "Running with CS_ENV=$CS_ENV" -# the second argument represents the number of threads to use, if unset, default to 4. +# the second argument represents the number of threads to use, if unset, default to 3. if [ -z $2 ] then - n_tasks=4 + n_tasks=3 else n_tasks=$2 fi From 99d626f231ff6a9bafb6bf005e9e43a1694b415c Mon Sep 17 00:00:00 2001 From: Max Klein Date: Tue, 11 Aug 2020 16:40:28 -0700 Subject: [PATCH 215/221] fix header being written on retry --- ...twitter_longitudinal_dataset_controller.py | 86 ++++++++++++------- 1 file changed, 53 insertions(+), 33 deletions(-) diff --git a/app/controllers/twitter_longitudinal_dataset_controller.py b/app/controllers/twitter_longitudinal_dataset_controller.py index cc6c53c..57d2730 100644 --- a/app/controllers/twitter_longitudinal_dataset_controller.py +++ b/app/controllers/twitter_longitudinal_dataset_controller.py @@ -5,6 +5,7 @@ import datetime import csv import time +import json import redis from sqlalchemy import and_, func @@ -16,6 +17,8 @@ import utils.common from utils.common import TwitterUserState, NOT_FOUND_TWITTER_USER_STR, CS_JobState, neq, EXPERIMENT_LANGUAGES, \ TwitterUrlKey +from collections import defaultdict + class TwitterLongitudinalController(TwitterController): @@ -32,13 +35,14 @@ def __init__(self, db_session, twitter_conn, log, experiment_config, json_config self.out_fields = ['twitter_user_id', 'twitter_user_created_at', 'notice_date', 'language', 'lumen_notice', 'date', 'day_num', 'num_lumen_notices', 'prev_lumen_notices', 'num_tweets', 'num_links', 'num_civic_links'] + self.parse_statuses_for_links = json_config['parse_statuses_for_links'] if 'parse_statuses_for_links' in json_config.keys() else False def get_done_users(self): # TODO switch this to redis or make an output table, but going quickly for now csvs = [f for f in os.listdir(self.data_dir) if f.endswith('.csv')] done_users = set() - for csv in csvs: - with open(os.path.join(self.data_dir, csv), 'r') as duf: + for csv_f in csvs: + with open(os.path.join(self.data_dir, csv_f), 'r') as duf: lg_reader = csv.reader(duf) for row in lg_reader: # assuming the twitter_user_id is in column 0 @@ -49,12 +53,15 @@ def to_day(self, date): return datetime.date(date.year, date.month, date.day) def start_user_records_batch(self, batch_id): - batch_csv_f = os.path.join(self.data_dir, 'min_{}_max_{}_part_{}'.format(self.rand_min, self.rand_max, batch_id)) - self.batch_csv = open(batch_csv_f, 'a') + batch_csv_f = os.path.join(self.data_dir, 'min_{}_max_{}_part_{}.csv'.format(self.rand_min, self.rand_max, batch_id)) + csv_already_started = os.path.exists(batch_csv_f) + write_mode = 'a' if csv_already_started else 'w' + self.batch_csv = open(batch_csv_f, write_mode) self.batch_csv_writer = csv.DictWriter(self.batch_csv, fieldnames=self.out_fields) - self.batch_csv_writer.writeheader() + if not csv_already_started: + self.batch_csv_writer.writeheader() - def close_user_records_batch(self, batch_id): + def close_user_records_batch(self): self.batch_csv.close() def write_user_records(self, user_records): @@ -79,6 +86,15 @@ def process_users_batch(self, users, batch_id): self.write_user_records(user_records) self.close_user_records_batch() + def parse_status_data_for_urls(self, tweet_json_text): + status_data = json.loads(tweet_json_text) + expanded_urls = [] + if 'entities' in status_data and 'urls' in status_data['entities']: + tweet_urls = status_data['entities']['urls'] + for url_d in tweet_urls: + expanded_urls.append(url_d['expanded_url']) + return expanded_urls + def process_user(self, user): (user_id, user_created_at, language) = (user[0], user[1], user[2]) # (notice id, notice date received) @@ -99,30 +115,33 @@ def process_user(self, user): # (status id, status created at, status expanded url, status unshortened url, domain, status tld, status tld is civic) # essentially: 1st filter by tld matching, 2nd filter by checking that expanded/unshortened_url is a subdomain of normalized domain # TODO: if you want to identify media only vs text only tweets, you'd query for the tweet json here - tweet_urls = self.db_session \ - .query(TwitterStatus.id.label("status_id"), TwitterStatus.created_at, - TwitterStatusUrls.id.label("status_url_id"), TwitterStatusUrls.expanded_url, - TwitterStatusUrls.unshortened_url,) \ + tweet_cols_to_include = [TwitterStatus.id.label("status_id"), TwitterStatus.created_at] + if self.parse_statuses_for_links: + tweet_cols_to_include.append(TwitterStatus.status_data) + + tweets = self.db_session \ + .query(*tweet_cols_to_include) \ .filter(TwitterStatus.user_id == user_id) \ .all() - tweet_just_urls_by_day = {} # counting unique (tweet id, url)s where url is not null - tweet_urls_by_day = {} # (tweet id, url, whitelist info)s for determining is_civic, where url is not null - tweets_by_day = {} # counting unique tweet ids - for t in tweet_urls: + tweet_just_urls_by_day = defaultdict(set) # counting unique (tweet id, url)s where url is not null + tweet_urls_by_day = defaultdict(set) # (tweet id, url, whitelist info)s for determining is_civic, where url is not null + tweets_by_day = defaultdict(set) # counting unique tweet ids + for t in tweets: this_day = self.to_day(t.created_at) - if t.expanded_url or t.unshortened_url: - # if has url - if this_day not in tweet_urls_by_day: - tweet_urls_by_day[this_day] = set([]) + # if we are useing the classic strategy + if (hasattr(t, 'expanded_url') and hasattr(t, 'unshortened_url')) and (t.expanded_url or t.unshortened_url): tweet_urls_by_day[this_day].add(t) - if this_day not in tweet_just_urls_by_day: - tweet_just_urls_by_day[this_day] = set([]) tweet_just_urls_by_day[this_day].add((t.status_id, t.status_url_id)) + # else see if we are using the parse strategy + elif self.parse_statuses_for_links and hasattr(t, 'status_data'): + urls = self.parse_status_data_for_urls(t.status_data) + for url in urls: + tweet_urls_by_day[this_day].add(t) + tweet_just_urls_by_day[this_day].add((t.status_id, url)) - if this_day not in tweets_by_day: - tweets_by_day[this_day] = set([]) tweets_by_day[this_day].add(t.status_id) + sorted_notices = sorted(lumen_notice_dates, key=lambda e: e[1]) (earliest_notice, earliest_date) = sorted_notices[0] @@ -140,26 +159,27 @@ def process_user(self, user): num_links = len(tweet_just_urls_by_day[today]) if today in tweet_just_urls_by_day else 0 num_civic_links = self.get_num_civic_links(tweet_urls_by_day[today]) if today in tweet_urls_by_day else 0 record = dict( - user_id=user_id, - user_created_at=user_created_at, - earliest_date=earliest_date, + twitter_user_id=user_id, + twitter_user_created_at=user_created_at, + notice_date=earliest_date, language=language, - earliest_notice=earliest_notice, - today=today, - day_offset=day_offset, - num_notices=num_notices, - prev_notices=prev_notices, + lumen_notice=earliest_notice, + date=today, + day_num=day_offset, + num_lumen_notices=num_notices, + prev_lumen_notices=prev_notices, num_tweets=num_tweets, num_links=num_links, num_civic_links=num_civic_links,) + records.append(record) return records - def get_num_civil_links(self, tweet_urls): + def get_num_civic_links(self, tweet_urls): # TODO implement - return None + return -1 + def run(self): - # TODO: if you want to include info from user json, you can include that in this query # e.g. other user info: created_at, default_profile_image, default_name_field, # default_account_description, default_account_website user_incl_cond = and_(TwitterUser.user_rand < self.rand_max, From a2dc5ae90f86b542cab0381b545f5e7a6ca17eac Mon Sep 17 00:00:00 2001 From: Max Klein Date: Wed, 12 Aug 2020 15:32:25 -0700 Subject: [PATCH 216/221] rand min and max from commandline --- app/controller.py | 5 +++-- .../twitter_longitudinal_dataset_controller.py | 9 +++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/app/controller.py b/app/controller.py index 1b8a304..aaf33f3 100644 --- a/app/controller.py +++ b/app/controller.py @@ -275,14 +275,15 @@ def twitter_match_comparison_groups(): log.info("Finished matching comparison group, PID={0}".format(str(os.getpid()))) -def generate_twitter_longitudinal_dataset(): +def generate_twitter_longitudinal_dataset(rand_min=None, rand_max=None): """ Create JP's longitudinal dataset """ log.info("Starting to generate longitudinal dataset, PID={0}".format(str(os.getpid()))) t = app.controllers.twitter_longitudinal_dataset_controller.TwitterLongitudinalController(db_session, twitter_conn, log, experiment_config, - json_config) + json_config, rand_min, + rand_max) t.run() twitter_conn.checkin_endpoint() log.info("Finished generating longitudinal dataset, PID={0}".format(str(os.getpid()))) diff --git a/app/controllers/twitter_longitudinal_dataset_controller.py b/app/controllers/twitter_longitudinal_dataset_controller.py index 57d2730..e41ed46 100644 --- a/app/controllers/twitter_longitudinal_dataset_controller.py +++ b/app/controllers/twitter_longitudinal_dataset_controller.py @@ -22,15 +22,15 @@ class TwitterLongitudinalController(TwitterController): - def __init__(self, db_session, twitter_conn, log, experiment_config, json_config): + def __init__(self, db_session, twitter_conn, log, experiment_config, json_config, rand_min, rand_max): super().__init__(db_session, twitter_conn, log, experiment_config, json_config) self.now = datetime.datetime.utcnow() self.yesterday = self.now - datetime.timedelta(days=1) self.data_dir = self.json_config['data_dir'] self.done_users = redis.Redis() - self.rand_min = json_config['user_rand_frac_min'] - self.rand_max = json_config['user_rand_frac_max'] - print('computing users with rand between ({rand_min},{rand_max})') + self.rand_min = json_config['user_rand_frac_min'] if rand_min is None else rand_min + self.rand_max = json_config['user_rand_frac_max'] if rand_max is None else rand_max + print('computing users with rand between ({rand_min},{rand_max})'.format(rand_min=rand_min, rand_max=rand_max)) self.users_per_csv = json_config['users_per_output_csv'] if 'user_per_output_csv' in json_config.keys() else 100 self.out_fields = ['twitter_user_id', 'twitter_user_created_at', 'notice_date', 'language', 'lumen_notice', 'date', 'day_num', 'num_lumen_notices', 'prev_lumen_notices', 'num_tweets', 'num_links', @@ -204,3 +204,4 @@ def run(self): self.process_users_batch(users=batch_users, batch_id=i) print("writing complete") + From 7df5f71951ec072592da7cc78c4dc539a0297bca Mon Sep 17 00:00:00 2001 From: Max Klein Date: Wed, 12 Aug 2020 15:39:18 -0700 Subject: [PATCH 217/221] check done users just within range --- ...twitter_longitudinal_dataset_controller.py | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/app/controllers/twitter_longitudinal_dataset_controller.py b/app/controllers/twitter_longitudinal_dataset_controller.py index e41ed46..486a366 100644 --- a/app/controllers/twitter_longitudinal_dataset_controller.py +++ b/app/controllers/twitter_longitudinal_dataset_controller.py @@ -20,7 +20,6 @@ from collections import defaultdict - class TwitterLongitudinalController(TwitterController): def __init__(self, db_session, twitter_conn, log, experiment_config, json_config, rand_min, rand_max): super().__init__(db_session, twitter_conn, log, experiment_config, json_config) @@ -35,13 +34,17 @@ def __init__(self, db_session, twitter_conn, log, experiment_config, json_config self.out_fields = ['twitter_user_id', 'twitter_user_created_at', 'notice_date', 'language', 'lumen_notice', 'date', 'day_num', 'num_lumen_notices', 'prev_lumen_notices', 'num_tweets', 'num_links', 'num_civic_links'] - self.parse_statuses_for_links = json_config['parse_statuses_for_links'] if 'parse_statuses_for_links' in json_config.keys() else False + self.parse_statuses_for_links = json_config[ + 'parse_statuses_for_links'] if 'parse_statuses_for_links' in json_config.keys() else False def get_done_users(self): # TODO switch this to redis or make an output table, but going quickly for now csvs = [f for f in os.listdir(self.data_dir) if f.endswith('.csv')] + within_range_csvs = [f for f in csvs if + f.split('_')[1] == self.rand_min and f.split('_')[3] == self.rand_max] + print('within range csvs', within_range_csvs) done_users = set() - for csv_f in csvs: + for csv_f in within_range_csvs: with open(os.path.join(self.data_dir, csv_f), 'r') as duf: lg_reader = csv.reader(duf) for row in lg_reader: @@ -53,7 +56,8 @@ def to_day(self, date): return datetime.date(date.year, date.month, date.day) def start_user_records_batch(self, batch_id): - batch_csv_f = os.path.join(self.data_dir, 'min_{}_max_{}_part_{}.csv'.format(self.rand_min, self.rand_max, batch_id)) + batch_csv_f = os.path.join(self.data_dir, + 'min_{}_max_{}_part_{}.csv'.format(self.rand_min, self.rand_max, batch_id)) csv_already_started = os.path.exists(batch_csv_f) write_mode = 'a' if csv_already_started else 'w' self.batch_csv = open(batch_csv_f, write_mode) @@ -68,8 +72,6 @@ def write_user_records(self, user_records): for user_record in user_records: self.batch_csv_writer.writerow(user_record) - - def process_users_batch(self, users, batch_id): done_users = self.get_done_users() now_time = time.time() @@ -124,8 +126,9 @@ def process_user(self, user): .filter(TwitterStatus.user_id == user_id) \ .all() - tweet_just_urls_by_day = defaultdict(set) # counting unique (tweet id, url)s where url is not null - tweet_urls_by_day = defaultdict(set) # (tweet id, url, whitelist info)s for determining is_civic, where url is not null + tweet_just_urls_by_day = defaultdict(set) # counting unique (tweet id, url)s where url is not null + tweet_urls_by_day = defaultdict( + set) # (tweet id, url, whitelist info)s for determining is_civic, where url is not null tweets_by_day = defaultdict(set) # counting unique tweet ids for t in tweets: this_day = self.to_day(t.created_at) @@ -170,7 +173,7 @@ def process_user(self, user): prev_lumen_notices=prev_notices, num_tweets=num_tweets, num_links=num_links, - num_civic_links=num_civic_links,) + num_civic_links=num_civic_links, ) records.append(record) return records @@ -204,4 +207,3 @@ def run(self): self.process_users_batch(users=batch_users, batch_id=i) print("writing complete") - From 29594f21225ecfffb410dbceed776bac37b553db Mon Sep 17 00:00:00 2001 From: Max Klein Date: Thu, 20 Aug 2020 11:57:10 -0700 Subject: [PATCH 218/221] add back in mysteriously missing snapshots --- dmca-cmd.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/dmca-cmd.sh b/dmca-cmd.sh index 3e59039..d7f3585 100755 --- a/dmca-cmd.sh +++ b/dmca-cmd.sh @@ -46,6 +46,7 @@ python schedule_twitter_jobs.py --function fetch_twitter_tweets --interval 1800 ## Fetch Twitter Account Snapshots & Tweet Counts: every 24 hours, get new snapshots for users who haven't had a snapshot in the last 23.3 hours echo "Fetch Twitter Account Snapshots & Tweet Counts: every 24 hours, get new snapshots for users who haven't had a snapshot in the last 23.3 hours" +python schedule_twitter_jobs.py --function fetch_twitter_snapshot_and_tweets --snapshot_delta_min 1400 --interval 86400 2> logfile echo "Generate random ID users every half and ten minutes" From 6ae55a9abe44e520665ec2d330c3f5731a31da32 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Thu, 20 Aug 2020 19:05:11 +0000 Subject: [PATCH 219/221] fetch tweets more often --- dmca-cmd.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dmca-cmd.sh b/dmca-cmd.sh index 3e59039..a8c79d1 100755 --- a/dmca-cmd.sh +++ b/dmca-cmd.sh @@ -39,10 +39,10 @@ python schedule_twitter_jobs.py --function fetch_twitter_users --interval 10800 # Backfill Twitter tweets: Every 12 hours echo "Backfill Twitter tweets: Every 30 mins" -python schedule_twitter_jobs.py --function fetch_twitter_tweets --statuses_backfill --interval 1800 --n_tasks $1 2> $logfile +python schedule_twitter_jobs.py --function fetch_twitter_tweets --statuses_backfill --interval 900 --n_tasks $1 2> $logfile echo "Fetch Twitter Tweets: Every 30 mins" -python schedule_twitter_jobs.py --function fetch_twitter_tweets --interval 1800 --n_tasks $1 2> $logfile +python schedule_twitter_jobs.py --function fetch_twitter_tweets --interval 900 --n_tasks $1 2> $logfile ## Fetch Twitter Account Snapshots & Tweet Counts: every 24 hours, get new snapshots for users who haven't had a snapshot in the last 23.3 hours echo "Fetch Twitter Account Snapshots & Tweet Counts: every 24 hours, get new snapshots for users who haven't had a snapshot in the last 23.3 hours" From 823672927e6ad558aa81d25dcaa36f2f0761d7d0 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Thu, 20 Aug 2020 13:01:00 -0700 Subject: [PATCH 220/221] just archive some processed users, not everyone ever. --- app/controllers/twitter_controller.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 1874d33..9853a35 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -390,7 +390,9 @@ def query_and_archive_user_snapshots_and_tweets(self, min_time, is_test=False): """ need_snapshot_users = self.db_session.query(TwitterUser).filter( - or_(TwitterUser.lang.in_(EXPERIMENT_LANGUAGES), TwitterUser.lang is None)).all() + or_(TwitterUser.lang.in_(EXPERIMENT_LANGUAGES), TwitterUser.lang is None)). \ + filter(TwitterUser.CS_oldest_tweets_archived == utils.common.CS_JobState.PROCESSED.value). \ + all() # querying TwitterUserSnapshot is very expensive # need_snapshot_user_snapshots = self.db_session.query( From 409fd6a0332575e6c1a7ec05d63322be6efafa43 Mon Sep 17 00:00:00 2001 From: Max Klein Date: Thu, 29 Oct 2020 12:45:27 -0700 Subject: [PATCH 221/221] more retryability --- app/controllers/twitter_controller.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/app/controllers/twitter_controller.py b/app/controllers/twitter_controller.py index 9853a35..ca12ef5 100644 --- a/app/controllers/twitter_controller.py +++ b/app/controllers/twitter_controller.py @@ -389,6 +389,8 @@ def query_and_archive_user_snapshots_and_tweets(self, min_time, is_test=False): doesn't need to update any CS_JobState fields. """ + self.db_session.rollback() + need_snapshot_users = self.db_session.query(TwitterUser).filter( or_(TwitterUser.lang.in_(EXPERIMENT_LANGUAGES), TwitterUser.lang is None)). \ filter(TwitterUser.CS_oldest_tweets_archived == utils.common.CS_JobState.PROCESSED.value). \ @@ -513,7 +515,6 @@ def archive_old_users(self, key_to_users, has_ids=True): user.lang = user_json["status"]["lang"] if 'status' in user_json.keys() and 'lang' in \ user_json['status'].keys() else None user.user_state = user_state.value - # create TwitterUserSnapshot record user_snapshot_record = TwitterUserSnapshot( twitter_user_id=uid, @@ -522,9 +523,9 @@ def archive_old_users(self, key_to_users, has_ids=True): record_created_at=now, user_state=user_state.value, user_json=json.dumps(user_json)) # already encoded - self.db_session.add(user_snapshot_record) + self.db_session.add_retryable(user_snapshot_record) - except: + except sqlalchemy.exc.InvalidRequestError: self.log.error( "Error while updating TwitterUser, creating TwitterUserSnapshot object for user {0}".format( user_json["id"]), exc_info=True) @@ -566,7 +567,7 @@ def archive_old_users(self, key_to_users, has_ids=True): twitter_not_found_id=user.not_found_id, record_created_at=now, user_state=user_state.value) - self.db_session.add(user_snapshot_record) + self.db_session.add_retryable(user_snapshot_record) except: self.log.error(